github.com/infraboard/keyauth@v0.8.1/apps/permission/http/perm.go (about) 1 package http 2 3 import ( 4 "net/http" 5 6 "github.com/infraboard/mcube/http/context" 7 "github.com/infraboard/mcube/http/request" 8 "github.com/infraboard/mcube/http/response" 9 10 "github.com/infraboard/keyauth/apps/permission" 11 "github.com/infraboard/keyauth/apps/token" 12 ) 13 14 func (h *handler) ListRole(w http.ResponseWriter, r *http.Request) { 15 rctx := context.GetContext(r) 16 req := permission.NewQueryRoleRequest(rctx.PS.ByName("id")) 17 18 set, err := h.service.QueryRole( 19 r.Context(), 20 req, 21 ) 22 if err != nil { 23 response.Failed(w, err) 24 return 25 } 26 27 response.Success(w, set) 28 } 29 30 func (h *handler) ListPermission(w http.ResponseWriter, r *http.Request) { 31 rctx := context.GetContext(r) 32 tk := rctx.AuthInfo.(*token.Token) 33 34 req := permission.NewQueryPermissionRequest(request.NewPageRequestFromHTTP(r)) 35 req.NamespaceId = rctx.PS.ByName("id") 36 req.Account = tk.Account 37 38 set, err := h.service.QueryPermission( 39 r.Context(), 40 req, 41 ) 42 if err != nil { 43 response.Failed(w, err) 44 return 45 } 46 47 response.Success(w, set) 48 } 49 50 func (h *handler) CheckPermission(w http.ResponseWriter, r *http.Request) { 51 rctx := context.GetContext(r) 52 tk := rctx.AuthInfo.(*token.Token) 53 54 req := permission.NewCheckPermissionRequest() 55 req.Account = tk.Account 56 if err := request.GetDataFromRequest(r, req); err != nil { 57 response.Failed(w, err) 58 return 59 } 60 req.NamespaceId = rctx.PS.ByName("id") 61 62 d, err := h.service.CheckPermission( 63 r.Context(), 64 req, 65 ) 66 if err != nil { 67 response.Failed(w, err) 68 return 69 } 70 71 response.Success(w, d) 72 }