fix
wangpengfei
2023-09-05 20acdf9648c20c4b1e0b03af98bd0010bab66f7b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
package system
 
import (
    "github.com/gin-gonic/gin"
    "go.uber.org/zap"
    "srm/global"
    "srm/model/common/response"
    "srm/model/system/request"
    systemRes "srm/model/system/response"
    "srm/utils"
)
 
type CasbinApi struct{}
 
// UpdateCasbin
// @Tags      Casbin
// @Summary   更新角色api权限
// @Security  ApiKeyAuth
// @accept    application/json
// @Produce   application/json
// @Param     data  body      request.CasbinInReceive        true  "权限id, 权限模型列表"
// @Success   200   {object}  response.Response{msg=string}  "更新角色api权限"
// @Router    /casbin/UpdateCasbin [post]
func (cas *CasbinApi) UpdateCasbin(c *gin.Context) {
    var cmr request.CasbinInReceive
    err := c.ShouldBindJSON(&cmr)
    if err != nil {
        response.FailWithMessage(err.Error(), c)
        return
    }
    err = utils.Verify(cmr, utils.AuthorityIdVerify)
    if err != nil {
        response.FailWithMessage(err.Error(), c)
        return
    }
    err = casbinService.UpdateCasbin(cmr.AuthorityId, cmr.CasbinInfos)
    if err != nil {
        global.GVA_LOG.Error("更新失败!", zap.Error(err))
        response.FailWithMessage("更新失败", c)
        return
    }
    response.OkWithMessage("更新成功", c)
}
 
// GetPolicyPathByAuthorityId
// @Tags      Casbin
// @Summary   获取权限列表
// @Security  ApiKeyAuth
// @accept    application/json
// @Produce   application/json
// @Param     data  body      request.CasbinInReceive                                          true  "权限id, 权限模型列表"
// @Success   200   {object}  response.Response{data=systemRes.PolicyPathResponse,msg=string}  "获取权限列表,返回包括casbin详情列表"
// @Router    /casbin/getPolicyPathByAuthorityId [post]
func (cas *CasbinApi) GetPolicyPathByAuthorityId(c *gin.Context) {
    var casbin request.CasbinInReceive
    err := c.ShouldBindJSON(&casbin)
    if err != nil {
        response.FailWithMessage(err.Error(), c)
        return
    }
    err = utils.Verify(casbin, utils.AuthorityIdVerify)
    if err != nil {
        response.FailWithMessage(err.Error(), c)
        return
    }
    paths := casbinService.GetPolicyPathByAuthorityId(casbin.AuthorityId)
    response.OkWithDetailed(systemRes.PolicyPathResponse{Paths: paths}, "获取成功", c)
}