MCPcopy Create free account
hub / github.com/actiontech/dtle / RoleListV2

Function RoleListV2

api/handler/v2/role.go:22–54  ·  view source on GitHub ↗

@Id RoleListV2 @Description get role list. @Tags Role @Success 200 {object} models.RoleListResp @Security ApiKeyAuth @Param filter_tenant query string false "filter tenant" @Router /v2/role/list [get]

(c echo.Context)

Source from the content-addressed store, hash-verified

20// @Param filter_tenant query string false "filter tenant"
21// @Router /v2/role/list [get]
22func RoleListV2(c echo.Context) error {
23 logger := handler.NewLogger().Named("RoleListV2")
24 reqParam := new(models.RoleListReq)
25 if err := handler.BindAndValidate(logger, c, reqParam); err != nil {
26 return c.JSON(http.StatusInternalServerError, models.BuildBaseResp(err))
27 }
28
29 storeManager, err := common.NewStoreManager([]string{handler.ConsulAddr}, logger)
30 if err != nil {
31 return c.JSON(http.StatusInternalServerError, models.BuildBaseResp(fmt.Errorf("consul_addr=%v; connect to consul failed: %v", handler.ConsulAddr, err)))
32 }
33 roleList, err := storeManager.FindRoleList(reqParam.FilterTenant)
34 if nil != err {
35 return c.JSON(http.StatusInternalServerError, models.BuildBaseResp(fmt.Errorf("consul_addr=%v ; get job status list failed: %v", handler.ConsulAddr, err)))
36 }
37
38 currentUser, err := getCurrentUser(c)
39 if err != nil {
40 return c.JSON(http.StatusInternalServerError, models.BuildBaseResp(err))
41 }
42 roles := make([]*common.Role, 0)
43 for _, role := range roleList {
44 if currentUser.Tenant == common.DefaultAdminTenant ||
45 currentUser.Tenant == role.Tenant {
46 roles = append(roles, role)
47 }
48 }
49
50 return c.JSON(http.StatusOK, &models.RoleListResp{
51 RoleList: roles,
52 BaseResp: models.BuildBaseResp(nil),
53 })
54}
55
56// @Id CreateRoleV2
57// @Description create Role.

Callers

nothing calls this directly

Calls 6

FindRoleListMethod · 0.95
NewLoggerFunction · 0.92
BindAndValidateFunction · 0.92
BuildBaseRespFunction · 0.92
NewStoreManagerFunction · 0.92
getCurrentUserFunction · 0.85

Tested by

no test coverage detected