github.com/infraboard/keyauth@v0.8.1/apps/role/http/http.go (about)

     1  package http
     2  
     3  import (
     4  	"github.com/infraboard/mcube/app"
     5  	"github.com/infraboard/mcube/http/router"
     6  
     7  	"github.com/infraboard/keyauth/apps/role"
     8  	"github.com/infraboard/keyauth/apps/user/types"
     9  )
    10  
    11  var (
    12  	api = &handler{}
    13  )
    14  
    15  type handler struct {
    16  	service role.ServiceServer
    17  }
    18  
    19  // Registry 注册HTTP服务路由
    20  func (h *handler) Registry(router router.SubRouter) {
    21  	r := router.ResourceRouter("role")
    22  
    23  	r.BasePath("roles")
    24  	r.Handle("POST", "/", h.CreateRole).SetAllow(types.UserType_PERM_ADMIN)
    25  	r.Handle("GET", "/", h.QueryRole)
    26  	r.Handle("GET", "/:id", h.DescribeRole)
    27  	r.Handle("DELETE", "/:id", h.DeleteRole).SetAllow(types.UserType_PERM_ADMIN)
    28  	r.Handle("GET", "/:id/permissions", h.ListRolePermission)
    29  	r.Handle("POST", "/:id/permissions", h.AddPermissionToRole).SetAllow(types.UserType_PERM_ADMIN)
    30  	r.Handle("DELETE", "/:id/permissions", h.RemovePermissionFromRole).SetAllow(types.UserType_PERM_ADMIN)
    31  	r.BasePath("permissions")
    32  	r.Handle("PUT", "/:id", h.UpdatePermission).SetAllow(types.UserType_PERM_ADMIN)
    33  }
    34  
    35  func (h *handler) Config() error {
    36  	h.service = app.GetGrpcApp(role.AppName).(role.ServiceServer)
    37  	return nil
    38  }
    39  
    40  func (h *handler) Name() string {
    41  	return role.AppName
    42  }
    43  
    44  func init() {
    45  	app.RegistryHttpApp(api)
    46  }