chore: initial commit of ai site platform
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
86
platform/internal/authx/perms.go
Normal file
86
platform/internal/authx/perms.go
Normal file
@@ -0,0 +1,86 @@
|
||||
package authx
|
||||
|
||||
// 权限统一用中文命名。英文旧码仍可通过 NormalizePerm 兼容。
|
||||
const (
|
||||
Perm读取模块 = "读取模块"
|
||||
Perm写入模块 = "写入模块"
|
||||
Perm发布模块 = "发布模块"
|
||||
Perm新增数据 = "新增数据"
|
||||
Perm查询数据 = "查询数据"
|
||||
Perm更新数据 = "更新数据"
|
||||
Perm删除数据 = "删除数据"
|
||||
Perm导出数据 = "导出数据"
|
||||
Perm导入数据 = "导入数据"
|
||||
Perm查看审计 = "查看审计"
|
||||
Perm上传文件 = "上传文件"
|
||||
Perm下载文件 = "下载文件"
|
||||
Perm管理智能体 = "管理智能体"
|
||||
Perm邀请成员 = "邀请成员"
|
||||
Perm管理组织 = "管理组织"
|
||||
Perm数据同步 = "数据同步"
|
||||
Perm管理租户 = "管理租户" // 平台超级管理员:跨公司
|
||||
)
|
||||
|
||||
// permAlias:英文旧码 → 中文规范名;中文自身映射到自身。
|
||||
var permAlias = map[string]string{
|
||||
"app.read": Perm读取模块,
|
||||
"app.write": Perm写入模块,
|
||||
"app.admin": Perm发布模块,
|
||||
"row.create": Perm新增数据,
|
||||
"row.read": Perm查询数据,
|
||||
"row.update": Perm更新数据,
|
||||
"row.delete": Perm删除数据,
|
||||
"row.export": Perm导出数据,
|
||||
"row.import": Perm导入数据,
|
||||
"audit.read": Perm查看审计,
|
||||
"storage.write": Perm上传文件,
|
||||
"storage.read": Perm下载文件,
|
||||
"agent.admin": Perm管理智能体,
|
||||
"tenant.invite": Perm邀请成员,
|
||||
"org.admin": Perm管理组织,
|
||||
"sync.admin": Perm数据同步,
|
||||
"tenant.admin": Perm管理租户,
|
||||
Perm读取模块: Perm读取模块,
|
||||
Perm写入模块: Perm写入模块,
|
||||
Perm发布模块: Perm发布模块,
|
||||
Perm新增数据: Perm新增数据,
|
||||
Perm查询数据: Perm查询数据,
|
||||
Perm更新数据: Perm更新数据,
|
||||
Perm删除数据: Perm删除数据,
|
||||
Perm导出数据: Perm导出数据,
|
||||
Perm导入数据: Perm导入数据,
|
||||
Perm查看审计: Perm查看审计,
|
||||
Perm上传文件: Perm上传文件,
|
||||
Perm下载文件: Perm下载文件,
|
||||
Perm管理智能体: Perm管理智能体,
|
||||
Perm邀请成员: Perm邀请成员,
|
||||
Perm管理组织: Perm管理组织,
|
||||
Perm数据同步: Perm数据同步,
|
||||
Perm管理租户: Perm管理租户,
|
||||
}
|
||||
|
||||
// NormalizePerm 将权限统一为中文规范名(未知则原样返回)。
|
||||
func NormalizePerm(p string) string {
|
||||
if c, ok := permAlias[p]; ok {
|
||||
return c
|
||||
}
|
||||
return p
|
||||
}
|
||||
|
||||
// NormalizePerms 去重并转为中文规范名。
|
||||
func NormalizePerms(perms []string) []string {
|
||||
seen := map[string]struct{}{}
|
||||
out := make([]string, 0, len(perms))
|
||||
for _, p := range perms {
|
||||
c := NormalizePerm(p)
|
||||
if c == "" {
|
||||
continue
|
||||
}
|
||||
if _, ok := seen[c]; ok {
|
||||
continue
|
||||
}
|
||||
seen[c] = struct{}{}
|
||||
out = append(out, c)
|
||||
}
|
||||
return out
|
||||
}
|
||||
Reference in New Issue
Block a user