mirror of
https://github.com/wgh136/nysoure.git
synced 2025-09-27 12:17:24 +00:00
Add user management features.
This commit is contained in:
@@ -264,3 +264,18 @@ func GetUserByUsername(username string) (model.UserView, error) {
|
||||
}
|
||||
return user.ToView(), nil
|
||||
}
|
||||
|
||||
func ChangeUsername(uid uint, newUsername string) (model.UserView, error) {
|
||||
if len(newUsername) < 3 || len(newUsername) > 20 {
|
||||
return model.UserView{}, model.NewRequestError("Username must be between 3 and 20 characters")
|
||||
}
|
||||
user, err := dao.GetUserByID(uid)
|
||||
if err != nil {
|
||||
return model.UserView{}, err
|
||||
}
|
||||
user.Username = newUsername
|
||||
if err := dao.UpdateUser(user); err != nil {
|
||||
return model.UserView{}, err
|
||||
}
|
||||
return user.ToView(), nil
|
||||
}
|
||||
|
Reference in New Issue
Block a user