Add an user management page for admins

This commit is contained in:
2026-04-30 23:51:11 +02:00
parent d8d7bc9570
commit e29743d5fa
14 changed files with 262 additions and 4 deletions

View File

@@ -48,5 +48,5 @@ func PostLoginHandler(ac appcontext.AppContext) {
gin.H{"error": fmt.Errorf("Error when generating JWT token: %w", err)})
return
}
ac.C.JSON(http.StatusOK, gin.H{"message": i18nresource.GetTranslatedMessage(&ac, "AuthenticationSuccess"), "token": jwtToken})
ac.C.JSON(http.StatusOK, gin.H{"message": i18nresource.GetTranslatedMessage(&ac, "AuthenticationSuccess"), "admin": admin, "token": jwtToken})
}

View File

@@ -0,0 +1,34 @@
package routes
import (
"net/http"
"git.artlef.fr/bibliomane/internal/appcontext"
"git.artlef.fr/bibliomane/internal/dto"
"git.artlef.fr/bibliomane/internal/myvalidator"
"git.artlef.fr/bibliomane/internal/query"
)
func GetUsersHandler(ac appcontext.AppContext) {
limit, err := ac.GetQueryLimit()
if err != nil {
myvalidator.ReturnErrorsAsJsonResponse(&ac, err)
return
}
offset, err := ac.GetQueryOffset()
if err != nil {
myvalidator.ReturnErrorsAsJsonResponse(&ac, err)
return
}
users, err := query.FetchAllUsers(ac.Db, limit, offset)
if err != nil {
myvalidator.ReturnErrorsAsJsonResponse(&ac, err)
return
}
count, err := query.FetchAllUsersCount(ac.Db)
if err != nil {
myvalidator.ReturnErrorsAsJsonResponse(&ac, err)
return
}
ac.C.JSON(http.StatusOK, dto.UsersGet{Count: count, Users: users})
}