go-quasar-partial-ssr/backend/internal/admin/routes.go

37 lines
1.8 KiB
Go

package admin
import (
"server/internal/auth"
"github.com/gofiber/fiber/v3"
)
func RegisterAdminRoutes(app fiber.Router) {
adminController := NewAdminController()
// Typescript: TSEndpoint= path=/api/admin/users; name=listUsers; method=POST; request=admin.ListUsersRequest; response=admin.ListUsersResponse
app.Post("/admin/users", func(c fiber.Ctx) error {
return auth.IsPermitted(c, auth.AdminPermission|auth.SuperAdminPermission)
}, adminController.ListUsers)
// Typescript: TSEndpoint= path=/api/admin/users/block; name=blockUser; method=PUT; request=admin.BlockUserRequest; response=users.User
app.Put("/admin/users/block", func(c fiber.Ctx) error {
return auth.IsPermitted(c, auth.AdminPermission|auth.SuperAdminPermission)
}, adminController.BlockUser)
// Typescript: TSEndpoint= path=/api/admin/updateUser; name=updateUser; method=PUT; request=users.UpdateUserRequest; response=users.User
app.Put("/admin/updateUser", func(c fiber.Ctx) error {
return auth.IsPermitted(c, auth.AdminPermission|auth.SuperAdminPermission)
}, adminController.UpdateUser)
// Typescript: TSEndpoint= path=/api/admin/updateuserdetails; name=adminUpdateUserDetails; method=PUT; request=users.UpdateUserDetailsRequest; response=users.User
app.Put("/admin/updateuserdetails", func(c fiber.Ctx) error {
return auth.IsPermitted(c, auth.AdminPermission|auth.SuperAdminPermission)
}, adminController.UpdateUserDetails)
// Typescript: TSEndpoint= path=/api/admin/updateuserpreferences; name=adminUpdateUserPreferences; method=PUT; request=users.UpdateUserPreferencesRequest; response=users.User
app.Put("/admin/updateuserpreferences", func(c fiber.Ctx) error {
return auth.IsPermitted(c, auth.AdminPermission|auth.SuperAdminPermission)
}, adminController.UpdateUserPreferences)
}