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  }