enums.py 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. """DMS契约固定枚举。"""
  2. from __future__ import annotations
  3. from enum import StrEnum
  4. class RoleCode(StrEnum):
  5. USER = "USER"
  6. ADMIN = "ADMIN"
  7. class AllowedModule(StrEnum):
  8. DOCUMENT_BROWSER = "DOCUMENT_BROWSER"
  9. BACKEND_MANAGEMENT = "BACKEND_MANAGEMENT"
  10. AUDIT_LOG = "AUDIT_LOG"
  11. ORGANIZATION_USER_MANAGEMENT = "ORGANIZATION_USER_MANAGEMENT"
  12. # 系统管理(契约1.23):manage_system 管理位推导,admin 恒有
  13. SYSTEM_MANAGEMENT = "SYSTEM_MANAGEMENT"
  14. class DocumentType(StrEnum):
  15. MAIN = "MAIN"
  16. SUB_PLAN = "SUB_PLAN"
  17. ATTACHMENT = "ATTACHMENT"
  18. class DocumentStatus(StrEnum):
  19. DRAFT = "DRAFT"
  20. PUBLISHED = "PUBLISHED"
  21. ARCHIVED = "ARCHIVED"
  22. class SecurityLevel(StrEnum):
  23. PUBLIC = "PUBLIC"
  24. INTERNAL = "INTERNAL"
  25. SECRET = "SECRET"
  26. CONFIDENTIAL = "CONFIDENTIAL"
  27. TOP_SECRET = "TOP_SECRET"
  28. SECURITY_LEVEL_VALUES = {
  29. SecurityLevel.PUBLIC: 10,
  30. SecurityLevel.INTERNAL: 20,
  31. SecurityLevel.SECRET: 30,
  32. SecurityLevel.CONFIDENTIAL: 40,
  33. SecurityLevel.TOP_SECRET: 50,
  34. }
  35. class AttachmentType(StrEnum):
  36. SUPPORT_ACHIEVEMENT = "SUPPORT_ACHIEVEMENT"
  37. TRAINING_MATERIAL = "TRAINING_MATERIAL"
  38. TYPICAL_CASE = "TYPICAL_CASE"
  39. # 配套方案(原SUB_PLAN并轨,0020迁移):入库/挂载/解绑与其余三类附件一致
  40. ACCOMPANYING_PLAN = "ACCOMPANYING_PLAN"
  41. class DeptScope(StrEnum):
  42. OWN = "OWN"
  43. # 其他部门:所属部门子树之外的全部部门(含无归属文档)
  44. OTHER = "OTHER"
  45. class AllowedAction(StrEnum):
  46. VIEW = "VIEW"
  47. DOWNLOAD = "DOWNLOAD"
  48. EDIT = "EDIT"
  49. CONFIG_PERMISSION = "CONFIG_PERMISSION"
  50. DELETE = "DELETE"
  51. BIND_ATTACHMENT = "BIND_ATTACHMENT"
  52. UNBIND_ATTACHMENT = "UNBIND_ATTACHMENT"
  53. class CategoryType(StrEnum):
  54. SCENE = "SCENE"
  55. STYLE = "STYLE"
  56. SITUATION = "SITUATION"
  57. VERSION = "VERSION"
  58. OTHER = "OTHER"
  59. class EnabledStatus(StrEnum):
  60. ENABLED = "ENABLED"
  61. DISABLED = "DISABLED"
  62. class AuditResult(StrEnum):
  63. SUCCESS = "SUCCESS"
  64. FAILURE = "FAILURE"
  65. class AuditAction(StrEnum):
  66. LOGIN = "LOGIN"
  67. LOGOUT = "LOGOUT"
  68. VIEW_DOCUMENT = "VIEW_DOCUMENT"
  69. DOWNLOAD_DOCUMENT = "DOWNLOAD_DOCUMENT"
  70. UPLOAD_DOCUMENT = "UPLOAD_DOCUMENT"
  71. BATCH_IMPORT = "BATCH_IMPORT"
  72. EDIT_DOCUMENT = "EDIT_DOCUMENT"
  73. DELETE_DOCUMENT = "DELETE_DOCUMENT"
  74. CREATE_CATEGORY = "CREATE_CATEGORY"
  75. EDIT_CATEGORY = "EDIT_CATEGORY"
  76. DELETE_CATEGORY = "DELETE_CATEGORY"
  77. CHANGE_PERMISSION = "CHANGE_PERMISSION"
  78. BIND_ATTACHMENT = "BIND_ATTACHMENT"
  79. UNBIND_ATTACHMENT = "UNBIND_ATTACHMENT"
  80. REORDER_DOCUMENT = "REORDER_DOCUMENT"
  81. REORDER_ATTACHMENT = "REORDER_ATTACHMENT"
  82. REORDER_CATEGORY = "REORDER_CATEGORY"
  83. MOVE_DOCUMENT = "MOVE_DOCUMENT"
  84. MOVE_ATTACHMENT = "MOVE_ATTACHMENT"
  85. RESTORE_DOCUMENT = "RESTORE_DOCUMENT"
  86. CREATE_ORGANIZATION = "CREATE_ORGANIZATION"
  87. EDIT_ORGANIZATION = "EDIT_ORGANIZATION"
  88. DELETE_ORGANIZATION = "DELETE_ORGANIZATION"
  89. CREATE_USER = "CREATE_USER"
  90. EDIT_USER = "EDIT_USER"
  91. DELETE_USER = "DELETE_USER"
  92. RESET_USER_PASSWORD = "RESET_USER_PASSWORD"
  93. CREATE_ROLE = "CREATE_ROLE"
  94. EDIT_ROLE = "EDIT_ROLE"
  95. DELETE_ROLE = "DELETE_ROLE"
  96. CHANGE_ROLE_PERMISSION = "CHANGE_ROLE_PERMISSION"
  97. CHANGE_ROLE_USER = "CHANGE_ROLE_USER"
  98. DOCUMENT_PASSWORD_SET = "DOCUMENT_PASSWORD_SET"
  99. DOCUMENT_PASSWORD_REMOVE = "DOCUMENT_PASSWORD_REMOVE"
  100. CREATE_IP_ENTRY = "CREATE_IP_ENTRY"
  101. EDIT_IP_ENTRY = "EDIT_IP_ENTRY"
  102. DELETE_IP_ENTRY = "DELETE_IP_ENTRY"
  103. ASSIGN_ORG_IP = "ASSIGN_ORG_IP"
  104. # 借阅授权(0026迁移):审批单凭证生命周期
  105. UPLOAD_PERMISSION_VOUCHER = "UPLOAD_PERMISSION_VOUCHER"
  106. DELETE_PERMISSION_VOUCHER = "DELETE_PERMISSION_VOUCHER"
  107. # 备份功能(0028迁移):手动/定时触发备份
  108. BACKUP_CREATE = "BACKUP_CREATE"
  109. # 系统管理(0029迁移契约1.23):维护操作与备份目标连通测试
  110. PREVIEW_CACHE_CLEAR = "PREVIEW_CACHE_CLEAR"
  111. FORCE_OFFLINE = "FORCE_OFFLINE"
  112. BACKUP_TEST_TARGET = "BACKUP_TEST_TARGET"
  113. # 机构/用户/角色拖动排序(契约1.27)
  114. REORDER_ORGANIZATION = "REORDER_ORGANIZATION"
  115. REORDER_USER = "REORDER_USER"
  116. REORDER_ROLE = "REORDER_ROLE"
  117. # 借阅申请审批流(契约1.37,仅Java版实现,字典同步)
  118. BORROW_REQUEST_CREATE = "BORROW_REQUEST_CREATE"
  119. BORROW_REQUEST_APPROVE = "BORROW_REQUEST_APPROVE"
  120. BORROW_REQUEST_REJECT = "BORROW_REQUEST_REJECT"
  121. class AuditTarget(StrEnum):
  122. AUTH = "AUTH"
  123. CATEGORY = "CATEGORY"
  124. DOCUMENT = "DOCUMENT"
  125. ATTACHMENT = "ATTACHMENT"
  126. PERMISSION = "PERMISSION"
  127. ATTACHMENT_BINDING = "ATTACHMENT_BINDING"
  128. ORGANIZATION = "ORGANIZATION"
  129. USER = "USER"
  130. ROLE = "ROLE"
  131. IP_ENTRY = "IP_ENTRY"
  132. BACKUP = "BACKUP"
  133. # 系统管理(契约1.23):预览缓存清理/强制下线/系统信息等
  134. SYSTEM = "SYSTEM"
  135. # 借阅申请审批流(契约1.37,仅Java版实现,字典同步)
  136. BORROW_REQUEST = "BORROW_REQUEST"
  137. class ContentExtractStatus(StrEnum):
  138. SUCCESS = "SUCCESS"
  139. EMPTY = "EMPTY"
  140. UNSUPPORTED = "UNSUPPORTED"
  141. FAILED = "FAILED"
  142. class DocumentPasswordAction(StrEnum):
  143. """方案密码锁可保护的操作(与权限矩阵7操作对齐)。"""
  144. VIEW = "VIEW"
  145. DOWNLOAD = "DOWNLOAD"
  146. EDIT = "EDIT"
  147. DELETE = "DELETE"
  148. CONFIG_PERMISSION = "CONFIG_PERMISSION"
  149. BIND_ATTACHMENT = "BIND_ATTACHMENT"
  150. UNBIND_ATTACHMENT = "UNBIND_ATTACHMENT"