role.go 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package admin_role
  2. import (
  3. "github.com/gin-gonic/gin"
  4. "go-micro.dev/v4/client"
  5. "sghgogs.com/micro/auth-client/api/admin_role"
  6. "sghgogs.com/micro/auth-client/utils"
  7. "sghgogs.com/micro/auth-client/utils/baseservice"
  8. pb "sghgogs.com/micro/auth-service/proto"
  9. )
  10. type AdminRole struct {
  11. *baseservice.BaseService
  12. }
  13. func NewAdminRoleRouter(namespace string, client client.Client) *AdminRole {
  14. return &AdminRole{
  15. BaseService: &baseservice.BaseService{
  16. Namespace: namespace,
  17. Client: client,
  18. },
  19. }
  20. }
  21. func (svc *AdminRole) RegisterRoutes(r *gin.Engine) {
  22. api := admin_role.ApiAdminRole{}
  23. service := pb.NewAdminRoleService(svc.Namespace, svc.Client)
  24. api.Service = service
  25. svc.registerAdminRoleRoutes(r, "/v1/api", &api)
  26. }
  27. func (svc *AdminRole) registerAdminRoleRoutes(r *gin.Engine, path string, api *admin_role.ApiAdminRole) {
  28. v1 := r.Group(path)
  29. {
  30. v1.GET("/admin/role/:roleID", utils.TokenAuthMiddleware(), api.GetAdminRole)
  31. v1.GET("/admin/roles", utils.TokenAuthMiddleware(), api.ListAdminRoles)
  32. v1.GET("/admin/role/labels", utils.TokenAuthMiddleware(), api.RetrieveEnabledRoles)
  33. v1.POST("/admin/role", utils.TokenAuthMiddleware(), api.CreateAdminRole)
  34. v1.DELETE("/admin/role/:roleID", utils.TokenAuthMiddleware(), api.DeleteAdminRole)
  35. v1.PUT("/admin/role/:roleID", utils.TokenAuthMiddleware(), api.UpdateAdminRole)
  36. v1.PUT("/admin/role/:roleID/toggle", utils.TokenAuthMiddleware(), api.ToggleAdminRole)
  37. }
  38. }