Edit User fixed

This commit is contained in:
Владимир Шалимов 2024-06-06 20:36:14 +05:00
parent 33851321e4
commit 9aeb8eb060
1 changed files with 35 additions and 19 deletions

View File

@ -94,31 +94,47 @@ func GetUserByToken(c *gin.Context, token string) (database.User, error) {
return user, err
}
// asdasdasd
func EditUser(c *gin.Context, token string, user database.User) {
db := database.Connector()
validate := validators.Validate
u := GetUserByToken(c, token)
if err := validate.Struct(user); err != nil {
return
}
if user.Name != "" {
u.Name = user.Name
}
if user.Email != "" {
u.Email = user.Email
}
if user.Password != "" {
hash, err := bcrypt.GenerateFromPassword([]byte(user.Password), 12)
if err != nil {
return
response := message.Response{Status: 200}
u, err := GetUserByToken(c, token)
if err != nil {
response.Status = 401
response.Error = gin.H{
"error": "Token is invalid, please login",
}
u.Password = string(hash)
}
if err := db.Save(u).Error; err != nil {
message.SendResponse(c, response)
return
}
if err := validate.Struct(user); err != nil {
response.Error = libs.GetValidationErrors(err.(validator.ValidationErrors))
response.Status = 400
message.SendResponse(c, response)
return
}
hash, err := bcrypt.GenerateFromPassword([]byte(user.Password), 12)
if err != nil {
response.Status = 500
response.Error = gin.H{
"error": err,
}
message.SendResponse(c, response)
return
}
u.Password = string(hash)
if err := db.Save(u).Error; err != nil {
response.Status = 500
response.Error = gin.H{
"error": err,
}
message.SendResponse(c, response)
return
}
return
}
func DeleteUser(c *gin.Context, token string) {