"""DMS契约固定枚举。""" from __future__ import annotations from enum import StrEnum class RoleCode(StrEnum): USER = "USER" ADMIN = "ADMIN" class AllowedModule(StrEnum): DOCUMENT_BROWSER = "DOCUMENT_BROWSER" BACKEND_MANAGEMENT = "BACKEND_MANAGEMENT" AUDIT_LOG = "AUDIT_LOG" ORGANIZATION_USER_MANAGEMENT = "ORGANIZATION_USER_MANAGEMENT" # 系统管理(契约1.23):manage_system 管理位推导,admin 恒有 SYSTEM_MANAGEMENT = "SYSTEM_MANAGEMENT" class DocumentType(StrEnum): MAIN = "MAIN" SUB_PLAN = "SUB_PLAN" ATTACHMENT = "ATTACHMENT" class DocumentStatus(StrEnum): DRAFT = "DRAFT" PUBLISHED = "PUBLISHED" ARCHIVED = "ARCHIVED" class SecurityLevel(StrEnum): PUBLIC = "PUBLIC" INTERNAL = "INTERNAL" SECRET = "SECRET" CONFIDENTIAL = "CONFIDENTIAL" TOP_SECRET = "TOP_SECRET" SECURITY_LEVEL_VALUES = { SecurityLevel.PUBLIC: 10, SecurityLevel.INTERNAL: 20, SecurityLevel.SECRET: 30, SecurityLevel.CONFIDENTIAL: 40, SecurityLevel.TOP_SECRET: 50, } class AttachmentType(StrEnum): SUPPORT_ACHIEVEMENT = "SUPPORT_ACHIEVEMENT" TRAINING_MATERIAL = "TRAINING_MATERIAL" TYPICAL_CASE = "TYPICAL_CASE" # 配套方案(原SUB_PLAN并轨,0020迁移):入库/挂载/解绑与其余三类附件一致 ACCOMPANYING_PLAN = "ACCOMPANYING_PLAN" class DeptScope(StrEnum): OWN = "OWN" # 其他部门:所属部门子树之外的全部部门(含无归属文档) OTHER = "OTHER" class AllowedAction(StrEnum): VIEW = "VIEW" DOWNLOAD = "DOWNLOAD" EDIT = "EDIT" CONFIG_PERMISSION = "CONFIG_PERMISSION" DELETE = "DELETE" BIND_ATTACHMENT = "BIND_ATTACHMENT" UNBIND_ATTACHMENT = "UNBIND_ATTACHMENT" class CategoryType(StrEnum): SCENE = "SCENE" STYLE = "STYLE" SITUATION = "SITUATION" VERSION = "VERSION" OTHER = "OTHER" class EnabledStatus(StrEnum): ENABLED = "ENABLED" DISABLED = "DISABLED" class AuditResult(StrEnum): SUCCESS = "SUCCESS" FAILURE = "FAILURE" class AuditAction(StrEnum): LOGIN = "LOGIN" LOGOUT = "LOGOUT" VIEW_DOCUMENT = "VIEW_DOCUMENT" DOWNLOAD_DOCUMENT = "DOWNLOAD_DOCUMENT" UPLOAD_DOCUMENT = "UPLOAD_DOCUMENT" BATCH_IMPORT = "BATCH_IMPORT" EDIT_DOCUMENT = "EDIT_DOCUMENT" DELETE_DOCUMENT = "DELETE_DOCUMENT" CREATE_CATEGORY = "CREATE_CATEGORY" EDIT_CATEGORY = "EDIT_CATEGORY" DELETE_CATEGORY = "DELETE_CATEGORY" CHANGE_PERMISSION = "CHANGE_PERMISSION" BIND_ATTACHMENT = "BIND_ATTACHMENT" UNBIND_ATTACHMENT = "UNBIND_ATTACHMENT" REORDER_DOCUMENT = "REORDER_DOCUMENT" REORDER_ATTACHMENT = "REORDER_ATTACHMENT" REORDER_CATEGORY = "REORDER_CATEGORY" MOVE_DOCUMENT = "MOVE_DOCUMENT" MOVE_ATTACHMENT = "MOVE_ATTACHMENT" RESTORE_DOCUMENT = "RESTORE_DOCUMENT" CREATE_ORGANIZATION = "CREATE_ORGANIZATION" EDIT_ORGANIZATION = "EDIT_ORGANIZATION" DELETE_ORGANIZATION = "DELETE_ORGANIZATION" CREATE_USER = "CREATE_USER" EDIT_USER = "EDIT_USER" DELETE_USER = "DELETE_USER" RESET_USER_PASSWORD = "RESET_USER_PASSWORD" CREATE_ROLE = "CREATE_ROLE" EDIT_ROLE = "EDIT_ROLE" DELETE_ROLE = "DELETE_ROLE" CHANGE_ROLE_PERMISSION = "CHANGE_ROLE_PERMISSION" CHANGE_ROLE_USER = "CHANGE_ROLE_USER" DOCUMENT_PASSWORD_SET = "DOCUMENT_PASSWORD_SET" DOCUMENT_PASSWORD_REMOVE = "DOCUMENT_PASSWORD_REMOVE" CREATE_IP_ENTRY = "CREATE_IP_ENTRY" EDIT_IP_ENTRY = "EDIT_IP_ENTRY" DELETE_IP_ENTRY = "DELETE_IP_ENTRY" ASSIGN_ORG_IP = "ASSIGN_ORG_IP" # 借阅授权(0026迁移):审批单凭证生命周期 UPLOAD_PERMISSION_VOUCHER = "UPLOAD_PERMISSION_VOUCHER" DELETE_PERMISSION_VOUCHER = "DELETE_PERMISSION_VOUCHER" # 备份功能(0028迁移):手动/定时触发备份 BACKUP_CREATE = "BACKUP_CREATE" # 系统管理(0029迁移契约1.23):维护操作与备份目标连通测试 PREVIEW_CACHE_CLEAR = "PREVIEW_CACHE_CLEAR" FORCE_OFFLINE = "FORCE_OFFLINE" BACKUP_TEST_TARGET = "BACKUP_TEST_TARGET" # 机构/用户/角色拖动排序(契约1.27) REORDER_ORGANIZATION = "REORDER_ORGANIZATION" REORDER_USER = "REORDER_USER" REORDER_ROLE = "REORDER_ROLE" class AuditTarget(StrEnum): AUTH = "AUTH" CATEGORY = "CATEGORY" DOCUMENT = "DOCUMENT" ATTACHMENT = "ATTACHMENT" PERMISSION = "PERMISSION" ATTACHMENT_BINDING = "ATTACHMENT_BINDING" ORGANIZATION = "ORGANIZATION" USER = "USER" ROLE = "ROLE" IP_ENTRY = "IP_ENTRY" BACKUP = "BACKUP" # 系统管理(契约1.23):预览缓存清理/强制下线/系统信息等 SYSTEM = "SYSTEM" class ContentExtractStatus(StrEnum): SUCCESS = "SUCCESS" EMPTY = "EMPTY" UNSUPPORTED = "UNSUPPORTED" FAILED = "FAILED" class DocumentPasswordAction(StrEnum): """方案密码锁可保护的操作(与权限矩阵7操作对齐)。""" VIEW = "VIEW" DOWNLOAD = "DOWNLOAD" EDIT = "EDIT" DELETE = "DELETE" CONFIG_PERMISSION = "CONFIG_PERMISSION" BIND_ATTACHMENT = "BIND_ATTACHMENT" UNBIND_ATTACHMENT = "UNBIND_ATTACHMENT"