123 lines
4.7 KiB
Python
123 lines
4.7 KiB
Python
from dataclasses import dataclass
|
|
|
|
|
|
@dataclass(frozen=True)
|
|
class PermissionSpec:
|
|
codename: str
|
|
name: str
|
|
module: str
|
|
|
|
|
|
PERMISSIONS: tuple[PermissionSpec, ...] = (
|
|
PermissionSpec("ticket.view", "查看工单", "工单"),
|
|
PermissionSpec("ticket.create", "创建工单", "工单"),
|
|
PermissionSpec("ticket.ai_draft", "使用 AI 建单草稿", "工单"),
|
|
PermissionSpec("ticket.edit", "编辑工单", "工单"),
|
|
PermissionSpec("ticket.export", "导出工单", "工单"),
|
|
PermissionSpec("ticket.assign", "分派工单", "工单"),
|
|
PermissionSpec("ticket.resolve", "解决工单", "工单"),
|
|
PermissionSpec("ticket.reply", "确认客户回复", "工单"),
|
|
PermissionSpec("ticket.close", "关闭工单", "工单"),
|
|
PermissionSpec("ticket.archive", "归档工单", "工单"),
|
|
PermissionSpec("solution.view", "查看解决方案", "解决方案"),
|
|
PermissionSpec("solution.manage", "管理解决方案", "解决方案"),
|
|
PermissionSpec("solution.submit", "提交解决方案审核", "解决方案"),
|
|
PermissionSpec("solution.review", "审核与发布解决方案", "解决方案"),
|
|
PermissionSpec("knowledge.view", "查看知识库", "知识库"),
|
|
PermissionSpec("knowledge.manage", "管理知识库", "知识库"),
|
|
PermissionSpec("knowledge.submit", "提交知识审核", "知识库"),
|
|
PermissionSpec("knowledge.review", "审核与发布知识", "知识库"),
|
|
PermissionSpec("agent.use", "使用 Agent", "AI 平台"),
|
|
PermissionSpec("agent.manage", "管理 Agent", "AI 平台"),
|
|
PermissionSpec("agent.run.view", "查看 Agent 运行", "AI 平台"),
|
|
PermissionSpec("model.manage", "管理模型配置", "AI 平台"),
|
|
PermissionSpec("skill.manage", "管理 Skill", "AI 平台"),
|
|
PermissionSpec("tool.view", "查看工具目录", "AI 平台"),
|
|
PermissionSpec("tool.invoke", "调用已授权工具", "AI 平台"),
|
|
PermissionSpec("tool.confirm", "确认高风险工具调用", "AI 平台"),
|
|
PermissionSpec("tool.manage", "管理 MCP 工具", "AI 平台"),
|
|
PermissionSpec("channel.view", "查看渠道消息", "渠道"),
|
|
PermissionSpec("channel.send", "发送渠道消息", "渠道"),
|
|
PermissionSpec("channel.manage", "管理渠道适配器", "渠道"),
|
|
PermissionSpec("system.user.view", "查看用户", "系统治理"),
|
|
PermissionSpec("system.user.manage", "管理用户", "系统治理"),
|
|
PermissionSpec("system.user_group.view", "查看用户组", "系统治理"),
|
|
PermissionSpec("system.user_group.manage", "管理用户组", "系统治理"),
|
|
PermissionSpec("system.role.view", "查看角色权限", "系统治理"),
|
|
PermissionSpec("system.role.manage", "管理角色权限", "系统治理"),
|
|
PermissionSpec("system.menu.view", "查看菜单权限", "系统治理"),
|
|
PermissionSpec("system.menu.manage", "管理菜单权限", "系统治理"),
|
|
PermissionSpec("system.audit.view", "查看操作审计", "系统治理"),
|
|
PermissionSpec("system.setting.manage", "管理系统设置", "系统治理"),
|
|
)
|
|
|
|
DEFAULT_GROUPS: dict[str, tuple[str, ...]] = {
|
|
"系统管理员": tuple(permission.codename for permission in PERMISSIONS),
|
|
"知识库管理员": (
|
|
"ticket.view",
|
|
"knowledge.view",
|
|
"knowledge.manage",
|
|
"knowledge.submit",
|
|
"knowledge.review",
|
|
"solution.view",
|
|
"solution.manage",
|
|
"solution.submit",
|
|
"solution.review",
|
|
"agent.use",
|
|
"tool.view",
|
|
"channel.view",
|
|
),
|
|
"技术支持": (
|
|
"ticket.view",
|
|
"ticket.create",
|
|
"ticket.ai_draft",
|
|
"ticket.edit",
|
|
"ticket.assign",
|
|
"ticket.resolve",
|
|
"ticket.reply",
|
|
"ticket.close",
|
|
"knowledge.view",
|
|
"knowledge.manage",
|
|
"knowledge.submit",
|
|
"solution.view",
|
|
"solution.manage",
|
|
"solution.submit",
|
|
"agent.use",
|
|
"tool.view",
|
|
"tool.invoke",
|
|
"channel.view",
|
|
"channel.send",
|
|
),
|
|
"技术支持负责人": (
|
|
"ticket.view",
|
|
"ticket.create",
|
|
"ticket.ai_draft",
|
|
"ticket.edit",
|
|
"ticket.export",
|
|
"ticket.assign",
|
|
"ticket.resolve",
|
|
"ticket.reply",
|
|
"ticket.close",
|
|
"ticket.archive",
|
|
"knowledge.view",
|
|
"knowledge.manage",
|
|
"knowledge.submit",
|
|
"solution.view",
|
|
"solution.manage",
|
|
"solution.submit",
|
|
"agent.use",
|
|
"agent.run.view",
|
|
"tool.view",
|
|
"tool.invoke",
|
|
"tool.confirm",
|
|
"channel.view",
|
|
"channel.send",
|
|
),
|
|
"只读审计员": (
|
|
"ticket.view",
|
|
"knowledge.view",
|
|
"solution.view",
|
|
"system.audit.view",
|
|
),
|
|
}
|