1 Star 2 Fork 0

阿债 / xorm-refactor

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
permit.go 921 Bytes
一键复制 编辑 原始数据 按行查看 历史
阿债 提交于 2020-07-02 17:18 . 生成enum,调整目录结构
//go:generate enumer -type=Permit -text
package enums
type Permit int
// 操作列表
const (
View Permit = 2 << iota // 查看详情
Draft // 草稿状态
Delete // 删除丢弃
Add // 新增添加
Edit // 编辑修改
Export // 导出下载
Noop Permit = 0 // 无操作
Batch Permit = 1 // 批量处理
)
func IsNoop(permit int) bool {
return Permit(permit) == Noop
}
func ContainPermit(admission, permit int, strict bool) bool {
if strict && IsNoop(permit) {
return false
}
return admission&permit == permit
}
// 分解出具体权限
func DividePermit(permit int) (codes []Permit, names []string) {
if IsNoop(permit) {
return
}
for _, c := range PermitValues() {
if ContainPermit(permit, int(c), true) {
codes = append(codes, c)
names = append(names, c.String())
}
}
return
}
1
https://gitee.com/azhai/xorm-refactor.git
git@gitee.com:azhai/xorm-refactor.git
azhai
xorm-refactor
xorm-refactor
v1.1.0

搜索帮助