7 Star 17 Fork 22

go-course / go9

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
policy.go 957 Bytes
一键复制 编辑 原始数据 按行查看 历史
Mr.Yu 提交于 2023-03-11 14:40 . 添加权限校验中间件
package policy
import (
"gitee.com/go-course/go9/projects/devcloud/mcenter/apps/role"
"gitee.com/go-course/go9/projects/devcloud/mcenter/common/meta"
)
func NewPolicySet() *PolicySet {
return &PolicySet{
Items: []*Policy{},
}
}
func (s *PolicySet) Add(item *Policy) {
s.Items = append(s.Items, item)
}
func (s *PolicySet) GetRoles() (roles []*role.Role) {
for i := range s.Items {
item := s.Items[i]
roles = append(roles, item.Role)
}
return
}
func (s *PolicySet) RoleIds() (roleIds []string) {
for i := range s.Items {
item := s.Items[i]
roleIds = append(roleIds, item.Spec.RoleId)
}
return
}
func (s *PolicySet) Len() uint64 {
return uint64(len(s.Items))
}
func (s *PolicySet) SetRole(r *role.Role) {
for i := range s.Items {
item := s.Items[i]
if item.Spec.RoleId == r.Meta.Id {
item.Role = r
}
}
}
func NewDefaultPolicy() *Policy {
return &Policy{
Meta: meta.NewMeta(),
Spec: NewCreatePolicyRequest(),
}
}
1
https://gitee.com/go-course/go9.git
git@gitee.com:go-course/go9.git
go-course
go9
go9
2c311f48cd84

搜索帮助