enums.py 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  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 VisibilityType(StrEnum):
  34. ALL_AUTHENTICATED = "ALL_AUTHENTICATED"
  35. ORGANIZATION = "ORGANIZATION"
  36. CUSTOM = "CUSTOM"
  37. class AttachmentType(StrEnum):
  38. SUPPORT_ACHIEVEMENT = "SUPPORT_ACHIEVEMENT"
  39. TRAINING_MATERIAL = "TRAINING_MATERIAL"
  40. TYPICAL_CASE = "TYPICAL_CASE"
  41. # 配套方案(原SUB_PLAN并轨,0020迁移):入库/挂载/解绑与其余三类附件一致
  42. ACCOMPANYING_PLAN = "ACCOMPANYING_PLAN"
  43. class SubjectType(StrEnum):
  44. ORG = "ORG"
  45. USER = "USER"
  46. class DeptScope(StrEnum):
  47. OWN = "OWN"
  48. # 其他部门:所属部门子树之外的全部部门(含无归属文档)
  49. OTHER = "OTHER"
  50. class AllowedAction(StrEnum):
  51. VIEW = "VIEW"
  52. DOWNLOAD = "DOWNLOAD"
  53. EDIT = "EDIT"
  54. CONFIG_PERMISSION = "CONFIG_PERMISSION"
  55. DELETE = "DELETE"
  56. BIND_ATTACHMENT = "BIND_ATTACHMENT"
  57. UNBIND_ATTACHMENT = "UNBIND_ATTACHMENT"
  58. class CategoryType(StrEnum):
  59. SCENE = "SCENE"
  60. STYLE = "STYLE"
  61. SITUATION = "SITUATION"
  62. VERSION = "VERSION"
  63. OTHER = "OTHER"
  64. class EnabledStatus(StrEnum):
  65. ENABLED = "ENABLED"
  66. DISABLED = "DISABLED"
  67. class AuditResult(StrEnum):
  68. SUCCESS = "SUCCESS"
  69. FAILURE = "FAILURE"
  70. class AuditAction(StrEnum):
  71. LOGIN = "LOGIN"
  72. LOGOUT = "LOGOUT"
  73. VIEW_DOCUMENT = "VIEW_DOCUMENT"
  74. DOWNLOAD_DOCUMENT = "DOWNLOAD_DOCUMENT"
  75. UPLOAD_DOCUMENT = "UPLOAD_DOCUMENT"
  76. BATCH_IMPORT = "BATCH_IMPORT"
  77. EDIT_DOCUMENT = "EDIT_DOCUMENT"
  78. DELETE_DOCUMENT = "DELETE_DOCUMENT"
  79. CREATE_CATEGORY = "CREATE_CATEGORY"
  80. EDIT_CATEGORY = "EDIT_CATEGORY"
  81. DELETE_CATEGORY = "DELETE_CATEGORY"
  82. CHANGE_PERMISSION = "CHANGE_PERMISSION"
  83. BIND_ATTACHMENT = "BIND_ATTACHMENT"
  84. UNBIND_ATTACHMENT = "UNBIND_ATTACHMENT"
  85. REORDER_DOCUMENT = "REORDER_DOCUMENT"
  86. REORDER_ATTACHMENT = "REORDER_ATTACHMENT"
  87. REORDER_CATEGORY = "REORDER_CATEGORY"
  88. RESTORE_DOCUMENT = "RESTORE_DOCUMENT"
  89. CREATE_ORGANIZATION = "CREATE_ORGANIZATION"
  90. EDIT_ORGANIZATION = "EDIT_ORGANIZATION"
  91. DELETE_ORGANIZATION = "DELETE_ORGANIZATION"
  92. CREATE_USER = "CREATE_USER"
  93. EDIT_USER = "EDIT_USER"
  94. DELETE_USER = "DELETE_USER"
  95. RESET_USER_PASSWORD = "RESET_USER_PASSWORD"
  96. CREATE_ROLE = "CREATE_ROLE"
  97. EDIT_ROLE = "EDIT_ROLE"
  98. DELETE_ROLE = "DELETE_ROLE"
  99. CHANGE_ROLE_PERMISSION = "CHANGE_ROLE_PERMISSION"
  100. CHANGE_ROLE_USER = "CHANGE_ROLE_USER"
  101. DOCUMENT_PASSWORD_SET = "DOCUMENT_PASSWORD_SET"
  102. DOCUMENT_PASSWORD_REMOVE = "DOCUMENT_PASSWORD_REMOVE"
  103. CREATE_IP_ENTRY = "CREATE_IP_ENTRY"
  104. EDIT_IP_ENTRY = "EDIT_IP_ENTRY"
  105. DELETE_IP_ENTRY = "DELETE_IP_ENTRY"
  106. ASSIGN_ORG_IP = "ASSIGN_ORG_IP"
  107. class AuditTarget(StrEnum):
  108. AUTH = "AUTH"
  109. CATEGORY = "CATEGORY"
  110. DOCUMENT = "DOCUMENT"
  111. ATTACHMENT = "ATTACHMENT"
  112. PERMISSION = "PERMISSION"
  113. ATTACHMENT_BINDING = "ATTACHMENT_BINDING"
  114. ORGANIZATION = "ORGANIZATION"
  115. USER = "USER"
  116. ROLE = "ROLE"
  117. IP_ENTRY = "IP_ENTRY"
  118. class ContentExtractStatus(StrEnum):
  119. SUCCESS = "SUCCESS"
  120. EMPTY = "EMPTY"
  121. UNSUPPORTED = "UNSUPPORTED"
  122. FAILED = "FAILED"
  123. class DocumentPasswordAction(StrEnum):
  124. """方案密码锁可保护的操作(与权限矩阵7操作对齐)。"""
  125. VIEW = "VIEW"
  126. DOWNLOAD = "DOWNLOAD"
  127. EDIT = "EDIT"
  128. DELETE = "DELETE"
  129. CONFIG_PERMISSION = "CONFIG_PERMISSION"
  130. BIND_ATTACHMENT = "BIND_ATTACHMENT"
  131. UNBIND_ATTACHMENT = "UNBIND_ATTACHMENT"