71 lines
2.6 KiB
Python
71 lines
2.6 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.edit", "编辑工单", "工单"),
|
|
PermissionSpec("ticket.export", "导出工单", "工单"),
|
|
PermissionSpec("ticket.assign", "分派工单", "工单"),
|
|
PermissionSpec("ticket.close", "关闭工单", "工单"),
|
|
PermissionSpec("solution.view", "查看解决方案", "解决方案"),
|
|
PermissionSpec("solution.manage", "管理解决方案", "解决方案"),
|
|
PermissionSpec("knowledge.view", "查看知识库", "知识库"),
|
|
PermissionSpec("knowledge.manage", "管理知识库", "知识库"),
|
|
PermissionSpec("agent.use", "使用 Agent", "AI 平台"),
|
|
PermissionSpec("agent.manage", "管理 Agent", "AI 平台"),
|
|
PermissionSpec("model.manage", "管理模型配置", "AI 平台"),
|
|
PermissionSpec("tool.manage", "管理 MCP 工具", "AI 平台"),
|
|
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",
|
|
"solution.view",
|
|
"solution.manage",
|
|
"agent.use",
|
|
),
|
|
"技术支持": (
|
|
"ticket.view",
|
|
"ticket.create",
|
|
"ticket.edit",
|
|
"ticket.assign",
|
|
"ticket.close",
|
|
"knowledge.view",
|
|
"solution.view",
|
|
"agent.use",
|
|
),
|
|
"普通建单人": (
|
|
"ticket.view",
|
|
"ticket.create",
|
|
"knowledge.view",
|
|
"solution.view",
|
|
),
|
|
"只读审计员": (
|
|
"ticket.view",
|
|
"knowledge.view",
|
|
"solution.view",
|
|
"system.audit.view",
|
|
),
|
|
}
|