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

@@ -277,6 +277,26 @@ func handleGetUserInfo(c fiber.Ctx) error {
})
}
func handleChangeUsername(c fiber.Ctx) error {
uid, ok := c.Locals("uid").(uint)
if !ok {
return model.NewUnAuthorizedError("Unauthorized")
}
newUsername := c.FormValue("username")
if newUsername == "" {
return model.NewRequestError("Username is required")
}
user, err := service.ChangeUsername(uid, newUsername)
if err != nil {
return err
}
return c.Status(fiber.StatusOK).JSON(model.Response[model.UserView]{
Success: true,
Data: user,
Message: "Username changed successfully",
})
}
func AddUserRoutes(r fiber.Router) {
u := r.Group("user")
u.Post("/register", handleUserRegister)
@@ -290,4 +310,5 @@ func AddUserRoutes(r fiber.Router) {
u.Get("/search", handleSearchUsers)
u.Post("/delete", handleDeleteUser)
u.Get("/info", handleGetUserInfo)
u.Post("/username", handleChangeUsername)
}