Add user management features.

This commit is contained in:
2025-05-14 18:49:49 +08:00
parent 3b7d52a7a8
commit 703812d3df
10 changed files with 447 additions and 40 deletions

View File

@@ -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
}