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) }