enums.py 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  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. class DocumentType(StrEnum):
  13. MAIN = "MAIN"
  14. SUB_PLAN = "SUB_PLAN"
  15. ATTACHMENT = "ATTACHMENT"
  16. class DocumentStatus(StrEnum):
  17. DRAFT = "DRAFT"
  18. PUBLISHED = "PUBLISHED"
  19. ARCHIVED = "ARCHIVED"
  20. class SecurityLevel(StrEnum):
  21. PUBLIC = "PUBLIC"
  22. INTERNAL = "INTERNAL"
  23. SECRET = "SECRET"
  24. CONFIDENTIAL = "CONFIDENTIAL"
  25. TOP_SECRET = "TOP_SECRET"
  26. SECURITY_LEVEL_VALUES = {
  27. SecurityLevel.PUBLIC: 10,
  28. SecurityLevel.INTERNAL: 20,
  29. SecurityLevel.SECRET: 30,
  30. SecurityLevel.CONFIDENTIAL: 40,
  31. SecurityLevel.TOP_SECRET: 50,
  32. }
  33. class AttachmentType(StrEnum):
  34. SUPPORT_ACHIEVEMENT = "SUPPORT_ACHIEVEMENT"
  35. TRAINING_MATERIAL = "TRAINING_MATERIAL"
  36. TYPICAL_CASE = "TYPICAL_CASE"
  37. # 配套方案(原SUB_PLAN并轨,0020迁移):入库/挂载/解绑与其余三类附件一致
  38. ACCOMPANYING_PLAN = "ACCOMPANYING_PLAN"
  39. class DeptScope(StrEnum):
  40. OWN = "OWN"
  41. # 其他部门:所属部门子树之外的全部部门(含无归属文档)
  42. OTHER = "OTHER"
  43. class AllowedAction(StrEnum):
  44. VIEW = "VIEW"
  45. DOWNLOAD = "DOWNLOAD"
  46. EDIT = "EDIT"
  47. CONFIG_PERMISSION = "CONFIG_PERMISSION"
  48. DELETE = "DELETE"
  49. BIND_ATTACHMENT = "BIND_ATTACHMENT"
  50. UNBIND_ATTACHMENT = "UNBIND_ATTACHMENT"
  51. class CategoryType(StrEnum):
  52. SCENE = "SCENE"
  53. STYLE = "STYLE"
  54. SITUATION = "SITUATION"
  55. VERSION = "VERSION"
  56. OTHER = "OTHER"
  57. class EnabledStatus(StrEnum):
  58. ENABLED = "ENABLED"
  59. DISABLED = "DISABLED"
  60. class AuditResult(StrEnum):
  61. SUCCESS = "SUCCESS"
  62. FAILURE = "FAILURE"
  63. class AuditAction(StrEnum):
  64. LOGIN = "LOGIN"
  65. LOGOUT = "LOGOUT"
  66. VIEW_DOCUMENT = "VIEW_DOCUMENT"
  67. DOWNLOAD_DOCUMENT = "DOWNLOAD_DOCUMENT"
  68. UPLOAD_DOCUMENT = "UPLOAD_DOCUMENT"
  69. BATCH_IMPORT = "BATCH_IMPORT"
  70. EDIT_DOCUMENT = "EDIT_DOCUMENT"
  71. DELETE_DOCUMENT = "DELETE_DOCUMENT"
  72. CREATE_CATEGORY = "CREATE_CATEGORY"
  73. EDIT_CATEGORY = "EDIT_CATEGORY"
  74. DELETE_CATEGORY = "DELETE_CATEGORY"
  75. CHANGE_PERMISSION = "CHANGE_PERMISSION"
  76. BIND_ATTACHMENT = "BIND_ATTACHMENT"
  77. UNBIND_ATTACHMENT = "UNBIND_ATTACHMENT"
  78. REORDER_DOCUMENT = "REORDER_DOCUMENT"
  79. REORDER_ATTACHMENT = "REORDER_ATTACHMENT"
  80. REORDER_CATEGORY = "REORDER_CATEGORY"
  81. MOVE_DOCUMENT = "MOVE_DOCUMENT"
  82. MOVE_ATTACHMENT = "MOVE_ATTACHMENT"
  83. RESTORE_DOCUMENT = "RESTORE_DOCUMENT"
  84. CREATE_ORGANIZATION = "CREATE_ORGANIZATION"
  85. EDIT_ORGANIZATION = "EDIT_ORGANIZATION"
  86. DELETE_ORGANIZATION = "DELETE_ORGANIZATION"
  87. CREATE_USER = "CREATE_USER"
  88. EDIT_USER = "EDIT_USER"
  89. DELETE_USER = "DELETE_USER"
  90. RESET_USER_PASSWORD = "RESET_USER_PASSWORD"
  91. CREATE_ROLE = "CREATE_ROLE"
  92. EDIT_ROLE = "EDIT_ROLE"
  93. DELETE_ROLE = "DELETE_ROLE"
  94. CHANGE_ROLE_PERMISSION = "CHANGE_ROLE_PERMISSION"
  95. CHANGE_ROLE_USER = "CHANGE_ROLE_USER"
  96. DOCUMENT_PASSWORD_SET = "DOCUMENT_PASSWORD_SET"
  97. DOCUMENT_PASSWORD_REMOVE = "DOCUMENT_PASSWORD_REMOVE"
  98. CREATE_IP_ENTRY = "CREATE_IP_ENTRY"
  99. EDIT_IP_ENTRY = "EDIT_IP_ENTRY"
  100. DELETE_IP_ENTRY = "DELETE_IP_ENTRY"
  101. ASSIGN_ORG_IP = "ASSIGN_ORG_IP"
  102. # 借阅授权(0026迁移):审批单凭证生命周期
  103. UPLOAD_PERMISSION_VOUCHER = "UPLOAD_PERMISSION_VOUCHER"
  104. DELETE_PERMISSION_VOUCHER = "DELETE_PERMISSION_VOUCHER"
  105. class AuditTarget(StrEnum):
  106. AUTH = "AUTH"
  107. CATEGORY = "CATEGORY"
  108. DOCUMENT = "DOCUMENT"
  109. ATTACHMENT = "ATTACHMENT"
  110. PERMISSION = "PERMISSION"
  111. ATTACHMENT_BINDING = "ATTACHMENT_BINDING"
  112. ORGANIZATION = "ORGANIZATION"
  113. USER = "USER"
  114. ROLE = "ROLE"
  115. IP_ENTRY = "IP_ENTRY"
  116. class ContentExtractStatus(StrEnum):
  117. SUCCESS = "SUCCESS"
  118. EMPTY = "EMPTY"
  119. UNSUPPORTED = "UNSUPPORTED"
  120. FAILED = "FAILED"
  121. class DocumentPasswordAction(StrEnum):
  122. """方案密码锁可保护的操作(与权限矩阵7操作对齐)。"""
  123. VIEW = "VIEW"
  124. DOWNLOAD = "DOWNLOAD"
  125. EDIT = "EDIT"
  126. DELETE = "DELETE"
  127. CONFIG_PERMISSION = "CONFIG_PERMISSION"
  128. BIND_ATTACHMENT = "BIND_ATTACHMENT"
  129. UNBIND_ATTACHMENT = "UNBIND_ATTACHMENT"