permission.go 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package permission
  2. import (
  3. "github.com/gin-gonic/gin"
  4. "go-micro.dev/v4/client"
  5. "sghgogs.com/micro/auth-client/api/admin/permission"
  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 AdminPermission struct {
  11. *baseservice.BaseService
  12. }
  13. func NewAdminPermissionRouter(namespace string, client client.Client) *AdminPermission {
  14. return &AdminPermission{
  15. BaseService: &baseservice.BaseService{
  16. Namespace: namespace,
  17. Client: client,
  18. },
  19. }
  20. }
  21. func (svc *AdminPermission) RegisterRoutes(r *gin.Engine) {
  22. api := permission.AdminPermission{}
  23. commonService := pb.NewAdminPermissionService(svc.Namespace, svc.Client)
  24. api.Service = commonService
  25. svc.registerAdminPermissionRoutes(r, "/v1/api", &api)
  26. }
  27. func (svc *AdminPermission) registerAdminPermissionRoutes(r *gin.Engine, path string, api *permission.AdminPermission) {
  28. v1 := r.Group(path)
  29. {
  30. v1.GET("/admin/permissions", utils.TokenAuthMiddleware(), api.GetAdminPermissionList)
  31. v1.GET("/admin/permission/:permissionID", utils.TokenAuthMiddleware(), api.GetAdminPermission)
  32. v1.POST("/admin/permission", utils.TokenAuthMiddleware(), api.CreateAdminPermission)
  33. v1.PUT("/admin/permission/:permissionID", utils.TokenAuthMiddleware(), api.UpdateAdminPermission)
  34. v1.DELETE("/admin/permission/:permissionID", utils.TokenAuthMiddleware(), api.DeleteAdminPermission)
  35. v1.PUT("/admin/permission/:permissionID/toggle", utils.TokenAuthMiddleware(), api.ToggleAdminPermission)
  36. }
  37. }