Files
whm 76cdcd760e feat: ship loose-offline dbsync (validate, agent push, LWW audit)
Add UUID/FK channel checks, agent whitelist/push APIs, bindings, super-admin LWW audit with rollback, reconcile rate limits, and sync docs. Default customers stay opt-in; company conflict UI is removed.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-31 17:54:14 +08:00

88 lines
2.7 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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数据同步,
"sync.push": 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
}