💥 Pagination fetching realm member api

🐛 Fix remove realm member has no memberId path param
This commit is contained in:
2024-12-01 11:32:54 +08:00
parent e0c9646c98
commit 20ff541ab4
4 changed files with 29 additions and 8 deletions

View File

@ -124,13 +124,13 @@ func MapAPIs(app *fiber.App, baseURL string) {
realms.Get("/me", listOwnedRealm)
realms.Get("/me/available", listAvailableRealm)
realms.Get("/:realm", getRealm)
realms.Get("/:realm/members/:memberId", listRealmMembers)
realms.Get("/:realm/members", listRealmMembers)
realms.Get("/:realm/members/me", getMyRealmMember)
realms.Post("/", createRealm)
realms.Put("/:realmId", editRealm)
realms.Delete("/:realmId", deleteRealm)
realms.Post("/:realm/members", addRealmMember)
realms.Delete("/:realm/members", removeRealmMember)
realms.Delete("/:realm/members/:memberId", removeRealmMember)
realms.Delete("/:realm/members/me", leaveRealm)
}

View File

@ -11,13 +11,20 @@ import (
func listRealmMembers(c *fiber.Ctx) error {
alias := c.Params("realm")
take := c.QueryInt("take", 0)
offset := c.QueryInt("offset", 0)
if realm, err := services.GetRealmWithAlias(alias); err != nil {
return fiber.NewError(fiber.StatusNotFound, err.Error())
} else if members, err := services.ListRealmMember(realm.ID); err != nil {
} else if count, err := services.CountRealmMember(realm.ID); err != nil {
return fiber.NewError(fiber.StatusInternalServerError, err.Error())
} else if members, err := services.ListRealmMember(realm.ID, take, offset); err != nil {
return fiber.NewError(fiber.StatusInternalServerError, err.Error())
} else {
return c.JSON(members)
return c.JSON(fiber.Map{
"count": count,
"data": members,
})
}
}