/** 展示层文案(与 API 枚举值解耦;传参仍用英文枚举)。 */ import type { AuditObjectType, Role } from "./types.js"; /** 文件库权限级(契约 8.1 MANAGE>EDIT>VIEW)的中文展示名。 */ export const ROLE_LABEL: Record = { VIEW: "只读", EDIT: "可编辑", MANAGE: "可管理", }; /** * 审计操作类型的中文展示名。键是后端 AUDIT_ACTIONS 的值 —— * 缺键时 UI 回落显示原始动作串,不会因为后端加了新动作而崩。 */ export const AUDIT_ACTION_LABEL: Record = { "folder.create": "创建文件夹", "folder.rename": "重命名文件夹", "folder.move": "移动文件夹", "folder.delete": "删除文件夹", "folder.restore": "恢复文件夹", "project.create": "创建项目", "project.rename": "重命名项目", "project.move": "移动项目", "project.delete": "删除项目", "project.restore": "恢复项目", "node.purge": "彻底删除", "permission.grant": "授予权限", "permission.update": "修改权限", "permission.revoke": "收回权限", "project.independent_permission.enable": "开启独立权限", "project.independent_permission.disable": "关闭独立权限", "project.independent_permission.change": "变更独立权限", "file.upload": "上传文件", "file.rename": "重命名文件", "file.delete": "删除文件", "file.commit": "提交文件修改", "file.conflict_detected": "检测到版本冲突", "export.run": "导出", "admin.force_adjust": "管理员强制调整权限", "group.create": "创建 Group", "group.update": "修改 Group", "group.delete": "删除 Group", "group.restore": "恢复 Group", "group.member_add": "添加 Group 成员", "group.member_remove": "移除 Group 成员", "group.reparent": "变更 Group 嵌套关系", "audit.retention_archive": "审计日志归档", }; export function auditActionLabel(action: string): string { return AUDIT_ACTION_LABEL[action] ?? action; } export const AUDIT_OBJECT_TYPE_LABEL: Record = { FOLDER: "文件夹", PROJECT: "项目", FILE: "文件", GRANT: "权限", EXPORT_JOB: "导出任务", GROUP: "Group", SYSTEM: "系统", };