Allow admin to rename user #18

Merged
Teajey merged 1 commits from 16-allow-admin-to-rename-users into main 2025-09-13 04:07:47 +12:00
3 changed files with 21 additions and 3 deletions

View File

@ -29,6 +29,8 @@ func (*Admin) ListUsers() ([]User, error)
func (a *Admin) RemoveUserFromGroup(userId, groupId string) error
func (u *Admin) RenameUser(userReference string, displayName string) error
func (u *Admin) UserSetLive(userReference string, setting bool) error
type ErrorInvalidCredentials error

View File

@ -160,6 +160,15 @@ func (u *Admin) UserSetLive(userReference string, setting bool) error {
if err != nil {
return err
}
// u.IsLive = setting
return err
}
func (u *Admin) RenameUser(userReference string, displayName string) error {
name := normalize.Name(displayName)
query := "UPDATE user SET name = ?, display_name = ? WHERE reference = ?"
_, err := db.Connection.Exec(query, name, displayName, userReference)
if err != nil {
return err
}
return err
}

View File

@ -67,11 +67,18 @@ func UserPost(app *lishwist.Session, h http.Header, r *http.Request) rsvp.Respon
intent := r.Form.Get("intent")
if intent != "" {
err = admin.UserSetLive(reference, intent != "delete")
switch intent {
case "delete":
err = admin.UserSetLive(reference, false)
if err != nil {
return response.Error(http.StatusInternalServerError, "Failed to delete user: %s", err)
}
case "rename":
name := r.Form.Get("display_name")
err = admin.RenameUser(reference, name)
if err != nil {
return response.Error(http.StatusInternalServerError, "Failed to rename user: %s", err)
}
}
return response.Data("", user)