change credentials #39
This commit is contained in:
@@ -70,6 +70,19 @@ func (a *APIHandler) postHandler(c *gin.Context) {
|
||||
}
|
||||
|
||||
jsonMsg(c, "", nil)
|
||||
case "changePass":
|
||||
id := c.Request.FormValue("id")
|
||||
oldPass := c.Request.FormValue("oldPass")
|
||||
newUsername := c.Request.FormValue("newUsername")
|
||||
newPass := c.Request.FormValue("newPass")
|
||||
err = a.UserService.ChangePass(id, oldPass, newUsername, newPass)
|
||||
if err == nil {
|
||||
logger.Info("change user credentials success")
|
||||
jsonMsg(c, "save", nil)
|
||||
} else {
|
||||
logger.Warning("change user credentials failed:", err)
|
||||
jsonMsg(c, "", err)
|
||||
}
|
||||
case "save":
|
||||
loginUser := GetLoginUser(c)
|
||||
data := map[string]string{}
|
||||
@@ -104,6 +117,13 @@ func (a *APIHandler) getHandler(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
jsonObj(c, data, nil)
|
||||
case "users":
|
||||
users, err := a.UserService.GetUsers()
|
||||
if err != nil {
|
||||
jsonMsg(c, "", err)
|
||||
return
|
||||
}
|
||||
jsonObj(c, *users, nil)
|
||||
case "setting":
|
||||
data, err := a.SettingService.GetAllSetting()
|
||||
if err != nil {
|
||||
|
||||
+23
-1
@@ -36,7 +36,7 @@ func (s *UserService) CheckUser(username string, password string, remoteIP strin
|
||||
return nil
|
||||
}
|
||||
|
||||
lastLoginTxt := time.Now().Format("2006-01-02 15:04:05") + "-" + remoteIP
|
||||
lastLoginTxt := time.Now().Format("2006-01-02 15:04:05") + " " + remoteIP
|
||||
err = db.Model(model.User{}).
|
||||
Where("username = ?", username).
|
||||
Update("last_logins", &lastLoginTxt).Error
|
||||
@@ -45,3 +45,25 @@ func (s *UserService) CheckUser(username string, password string, remoteIP strin
|
||||
}
|
||||
return user
|
||||
}
|
||||
|
||||
func (s *UserService) GetUsers() (*[]model.User, error) {
|
||||
var users []model.User
|
||||
db := database.GetDB()
|
||||
err := db.Model(model.User{}).Select("id,username,last_logins").Scan(&users).Error
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &users, nil
|
||||
}
|
||||
|
||||
func (s *UserService) ChangePass(id string, oldPass string, newUser string, newPass string) error {
|
||||
db := database.GetDB()
|
||||
user := &model.User{}
|
||||
err := db.Model(model.User{}).Where("id = ? AND password = ?", id, oldPass).First(user).Error
|
||||
if err != nil || database.IsNotFound(err) {
|
||||
return err
|
||||
}
|
||||
user.Username = newUser
|
||||
user.Password = newPass
|
||||
return db.Save(user).Error
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user