package admin_user import ( "github.com/gin-gonic/gin" "go-micro.dev/v4/client" "sghgogs.com/micro/auth-client/api/admin_user" "sghgogs.com/micro/auth-client/utils" "sghgogs.com/micro/auth-client/utils/baseservice" pb "sghgogs.com/micro/auth-service/proto" ) type AdminUser struct { *baseservice.BaseService } func NewAdminUserRouter(namespace string, client client.Client) *AdminUser { return &AdminUser{ BaseService: &baseservice.BaseService{ Namespace: namespace, Client: client, }, } } func (svc *AdminUser) RegisterRoutes(r *gin.Engine) { api := admin_user.ApiAdminUser{} service := pb.NewAdminUserService(svc.Namespace, svc.Client) api.Service = service svc.registerAdminUserRoutes(r, "/v1/api", &api) } func (svc *AdminUser) registerAdminUserRoutes(r *gin.Engine, path string, api *admin_user.ApiAdminUser) { v1 := r.Group(path) { v1.GET("/admin/users", utils.TokenAuthMiddleware(), api.ListAdminUsers) v1.GET("/admin/user/:id", utils.TokenAuthMiddleware(), api.GetAdminUser) v1.GET("/admin/user/labels", utils.TokenAuthMiddleware(), api.RetrieveEnabledUsers) v1.PUT("/admin/user/:userID/toggle", utils.TokenAuthMiddleware(), api.ToggleAdminUser) v1.DELETE("/admin/user/:userID", utils.TokenAuthMiddleware(), api.DeleteAdminUser) v1.POST("/admin/user", utils.TokenAuthMiddleware(), api.CreateAdminUser) v1.PUT("/admin/user/:userID", utils.TokenAuthMiddleware(), api.UpdateAdminUser) } }