@rytass/bpm-core-nestjs-module 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (658) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/eslint.config.mjs +20 -0
  3. package/jest.config.cts +15 -0
  4. package/package.json +2 -2
  5. package/project.json +58 -0
  6. package/src/lib/attachment/attachment-options.spec.ts +45 -0
  7. package/src/lib/attachment/attachment-options.ts +130 -0
  8. package/src/lib/attachment/attachment-storage.provider.spec.ts +79 -0
  9. package/src/lib/attachment/attachment-storage.provider.ts +60 -0
  10. package/src/lib/attachment/{attachment-storage.token.d.ts → attachment-storage.token.ts} +3 -1
  11. package/src/lib/attachment/attachment.controller.ts +39 -0
  12. package/src/lib/attachment/attachment.entity.ts +59 -0
  13. package/src/lib/attachment/attachment.module.ts +149 -0
  14. package/src/lib/attachment/attachment.mutations.ts +22 -0
  15. package/src/lib/attachment/attachment.queries.ts +65 -0
  16. package/src/lib/attachment/attachment.service.spec.ts +319 -0
  17. package/src/lib/attachment/attachment.service.ts +477 -0
  18. package/src/lib/attachment/dto/upload-attachment.input.ts +60 -0
  19. package/src/lib/bpm/bpm-root.module.spec.ts +138 -0
  20. package/src/lib/bpm/bpm-root.module.ts +320 -0
  21. package/src/lib/bpm-auth/bpm-auth-context.extractor.ts +106 -0
  22. package/src/lib/bpm-auth/bpm-auth-context.ts +40 -0
  23. package/src/lib/bpm-auth/bpm-auth.authorization.ts +80 -0
  24. package/src/lib/bpm-auth/bpm-auth.decorators.ts +19 -0
  25. package/src/lib/bpm-auth/bpm-auth.guard.ts +31 -0
  26. package/src/lib/bpm-auth/bpm-auth.module.spec.ts +106 -0
  27. package/src/lib/bpm-auth/bpm-auth.module.ts +69 -0
  28. package/src/lib/bpm-auth/bpm-auth.options.ts +21 -0
  29. package/src/lib/bpm-auth/configurable-bpm-auth-context.accessor.ts +55 -0
  30. package/src/lib/common/filters/all-exceptions.filter.ts +138 -0
  31. package/src/lib/common/iso-duration.ts +31 -0
  32. package/src/lib/condition/condition.module.ts +8 -0
  33. package/src/lib/condition/condition.service.spec.ts +50 -0
  34. package/src/lib/condition/condition.service.ts +141 -0
  35. package/src/lib/database/data-source.ts +7 -0
  36. package/src/lib/database/migration-runner.ts +26 -0
  37. package/src/lib/database/reconcile-legacy-migrations.ts +87 -0
  38. package/src/lib/database/typeorm.config.ts +217 -0
  39. package/src/lib/delegation/delegation-rule.entity.ts +84 -0
  40. package/src/lib/delegation/delegation.enums.ts +21 -0
  41. package/src/lib/delegation/delegation.module.ts +14 -0
  42. package/src/lib/delegation/delegation.mutations.ts +92 -0
  43. package/src/lib/delegation/delegation.queries.ts +111 -0
  44. package/src/lib/delegation/delegation.service.spec.ts +295 -0
  45. package/src/lib/delegation/delegation.service.ts +482 -0
  46. package/src/lib/delegation/dto/delegation-rule.input.ts +125 -0
  47. package/src/lib/form/dto/form-definition.input.ts +90 -0
  48. package/src/lib/form/form-definition-version.entity.ts +66 -0
  49. package/src/lib/form/form-definition.entity.ts +54 -0
  50. package/src/lib/form/form-schema-lint.object.ts +10 -0
  51. package/src/lib/form/form-schema.validator.spec.ts +180 -0
  52. package/src/lib/form/form-schema.validator.ts +538 -0
  53. package/src/lib/form/form.enums.ts +20 -0
  54. package/src/lib/form/form.module.ts +19 -0
  55. package/src/lib/form/form.mutations.ts +73 -0
  56. package/src/lib/form/form.queries.ts +72 -0
  57. package/src/lib/form/form.service.spec.ts +371 -0
  58. package/src/lib/form/form.service.ts +607 -0
  59. package/src/lib/identity/identity-options.ts +41 -0
  60. package/src/lib/identity/identity.module.ts +96 -0
  61. package/src/lib/identity/identity.queries.ts +61 -0
  62. package/src/lib/identity/identity.service.spec.ts +328 -0
  63. package/src/lib/identity/identity.service.ts +277 -0
  64. package/src/lib/identity/member-base.adapter.spec.ts +122 -0
  65. package/src/lib/identity/member-base.adapter.ts +302 -0
  66. package/src/lib/identity/member-metadata-cache.entity.ts +27 -0
  67. package/src/lib/identity/{member-not-found.exception.d.ts → member-not-found.exception.ts} +8 -3
  68. package/src/lib/identity/member-profile.object.ts +28 -0
  69. package/src/lib/identity/member-resolver.interface.ts +140 -0
  70. package/src/lib/migrations/0000000000001-enable-postgres-extensions.ts +14 -0
  71. package/src/lib/migrations/{0000000001000-identity-organization-foundation.js → 0000000001000-identity-organization-foundation.ts} +38 -29
  72. package/src/lib/migrations/{0000000002000-form-builder-foundation.js → 0000000002000-form-builder-foundation.ts} +22 -21
  73. package/src/lib/migrations/{0000000003000-approval-template-foundation.js → 0000000003000-approval-template-foundation.ts} +24 -21
  74. package/src/lib/migrations/{0000000004000-workflow-engine-foundation.js → 0000000004000-workflow-engine-foundation.ts} +46 -34
  75. package/src/lib/migrations/{0000000005000-delegation-rules.js → 0000000005000-delegation-rules.ts} +20 -19
  76. package/src/lib/migrations/{0000000006000-notifications-sla.js → 0000000006000-notifications-sla.ts} +26 -23
  77. package/src/lib/migrations/{0000000007000-signatures-attachments.js → 0000000007000-signatures-attachments.ts} +28 -27
  78. package/src/lib/migrations/{0000000008000-approval-template-categories.js → 0000000008000-approval-template-categories.ts} +28 -25
  79. package/src/lib/migrations/{0000000009000-task-candidates.js → 0000000009000-task-candidates.ts} +26 -23
  80. package/src/lib/migrations/{0000000010000-notification-delivery-state.js → 0000000010000-notification-delivery-state.ts} +16 -17
  81. package/src/lib/migrations/0000000011000-remove-attachment-encryption-key.ts +19 -0
  82. package/src/lib/migrations/0000000012000-notification-sla-idempotency.ts +22 -0
  83. package/src/lib/migrations/0000000013000-workflow-query-indexes.ts +113 -0
  84. package/src/lib/migrations/0000000014000-notification-resolution.ts +29 -0
  85. package/src/lib/migrations/{0000000015000-backfill-stale-notification-resolution.js → 0000000015000-backfill-stale-notification-resolution.ts} +15 -16
  86. package/src/lib/migrations/{0000000016000-archive-parallel-form-drafts.js → 0000000016000-archive-parallel-form-drafts.ts} +15 -16
  87. package/src/lib/migrations/{0000000017000-adhoc-directives.js → 0000000017000-adhoc-directives.ts} +18 -19
  88. package/src/lib/migrations/index.ts +59 -0
  89. package/src/lib/notification/dto/notification-preference.input.ts +46 -0
  90. package/src/lib/notification/notification-delivery-scheduler.service.ts +69 -0
  91. package/src/lib/notification/notification-delivery.service.spec.ts +315 -0
  92. package/src/lib/notification/notification-delivery.service.ts +339 -0
  93. package/src/lib/notification/notification-dispatcher.token.ts +13 -0
  94. package/src/lib/notification/notification-options.module.ts +67 -0
  95. package/src/lib/notification/notification-options.spec.ts +93 -0
  96. package/src/lib/notification/notification-options.ts +452 -0
  97. package/src/lib/notification/notification-preference.entity.ts +35 -0
  98. package/src/lib/notification/notification-sla-scheduler.service.ts +66 -0
  99. package/src/lib/notification/notification-template.spec.ts +33 -0
  100. package/src/lib/notification/notification-template.ts +97 -0
  101. package/src/lib/notification/notification.entity.ts +129 -0
  102. package/src/lib/notification/notification.enums.ts +64 -0
  103. package/src/lib/notification/notification.module.ts +37 -0
  104. package/src/lib/notification/notification.mutations.ts +47 -0
  105. package/src/lib/notification/notification.queries.ts +64 -0
  106. package/src/lib/notification/notification.service.spec.ts +412 -0
  107. package/src/lib/notification/notification.service.ts +1129 -0
  108. package/src/lib/organization/dto/manager-resolution.input.ts +91 -0
  109. package/src/lib/organization/dto/membership.input.ts +77 -0
  110. package/src/lib/organization/dto/org-unit.input.ts +96 -0
  111. package/src/lib/organization/dto/position.input.ts +50 -0
  112. package/src/lib/organization/json-metadata.ts +15 -0
  113. package/src/lib/organization/manager-resolution.entity.ts +44 -0
  114. package/src/lib/organization/membership.entity.ts +50 -0
  115. package/src/lib/organization/org-unit-tree-commit-result.object.ts +8 -0
  116. package/src/lib/organization/org-unit.entity.ts +53 -0
  117. package/src/lib/organization/organization-summary.object.ts +16 -0
  118. package/src/lib/organization/organization.enums.ts +19 -0
  119. package/src/lib/organization/organization.module.ts +27 -0
  120. package/src/lib/organization/organization.mutations.ts +115 -0
  121. package/src/lib/organization/organization.queries.ts +191 -0
  122. package/src/lib/organization/organization.service.spec.ts +835 -0
  123. package/src/lib/organization/organization.service.ts +1245 -0
  124. package/src/lib/organization/position.entity.ts +39 -0
  125. package/src/lib/organization/resolved-manager.object.ts +10 -0
  126. package/src/lib/signature/signature-options.spec.ts +60 -0
  127. package/src/lib/signature/signature-options.ts +120 -0
  128. package/src/lib/signature/signature-verification.object.ts +16 -0
  129. package/src/lib/signature/signature.entity.ts +62 -0
  130. package/src/lib/signature/signature.module.ts +80 -0
  131. package/src/lib/signature/signature.queries.ts +37 -0
  132. package/src/lib/signature/signature.service.spec.ts +134 -0
  133. package/src/lib/signature/signature.service.ts +205 -0
  134. package/src/lib/template/approval-template-category.entity.ts +40 -0
  135. package/src/lib/template/approval-template-version.entity.ts +82 -0
  136. package/src/lib/template/approval-template.entity.ts +64 -0
  137. package/src/lib/template/compose-approval-template.object.ts +23 -0
  138. package/src/lib/template/compose-template.mutations.ts +22 -0
  139. package/src/lib/template/dto/approval-template.input.ts +147 -0
  140. package/src/lib/template/dto/compose-approval-template.input.ts +80 -0
  141. package/src/lib/template/template.enums.ts +30 -0
  142. package/src/lib/template/template.module.ts +33 -0
  143. package/src/lib/template/template.mutations.ts +106 -0
  144. package/src/lib/template/template.queries.ts +119 -0
  145. package/src/lib/template/template.service.spec.ts +822 -0
  146. package/src/lib/template/template.service.ts +1082 -0
  147. package/src/lib/template/workflow-definition.validator.spec.ts +595 -0
  148. package/src/lib/template/workflow-definition.validator.ts +539 -0
  149. package/src/lib/testing/cel-js.jest.ts +46 -0
  150. package/src/lib/workflow-engine/activity-log.entity.ts +48 -0
  151. package/src/lib/workflow-engine/adhoc-directive.entity.ts +90 -0
  152. package/src/lib/workflow-engine/adhoc.enums.ts +42 -0
  153. package/src/lib/workflow-engine/approval-instance-page-info.object.ts +22 -0
  154. package/src/lib/workflow-engine/approval-instance.entity.ts +86 -0
  155. package/src/lib/workflow-engine/dto/adhoc-notification.input.ts +18 -0
  156. package/src/lib/workflow-engine/dto/adhoc-target.input.ts +52 -0
  157. package/src/lib/workflow-engine/dto/cancel-approval-instance.input.ts +18 -0
  158. package/src/lib/workflow-engine/dto/decide-task.input.ts +33 -0
  159. package/src/lib/workflow-engine/dto/dry-run-approval-workflow.input.ts +22 -0
  160. package/src/lib/workflow-engine/dto/resubmit-approval-instance.input.ts +22 -0
  161. package/src/lib/workflow-engine/dto/submit-approval-instance.input.ts +27 -0
  162. package/src/lib/workflow-engine/task-candidate.entity.ts +56 -0
  163. package/src/lib/workflow-engine/task-decision.entity.ts +43 -0
  164. package/src/lib/workflow-engine/task.entity.ts +102 -0
  165. package/src/lib/workflow-engine/workflow-condition-evaluator.ts +168 -0
  166. package/src/lib/workflow-engine/workflow-dashboard-summary.object.ts +22 -0
  167. package/src/lib/workflow-engine/workflow-dry-run.object.ts +58 -0
  168. package/src/lib/workflow-engine/workflow-engine.enums.ts +102 -0
  169. package/src/lib/workflow-engine/workflow-engine.module.ts +77 -0
  170. package/src/lib/workflow-engine/workflow-engine.mutations.ts +193 -0
  171. package/src/lib/workflow-engine/workflow-engine.queries.ts +241 -0
  172. package/src/lib/workflow-engine/workflow-engine.service.spec.ts +3345 -0
  173. package/src/lib/workflow-engine/workflow-engine.service.ts +6022 -0
  174. package/src/lib/workflow-engine/{workflow-engine.tokens.d.ts → workflow-engine.tokens.ts} +9 -3
  175. package/src/lib/workflow-engine/workflow-service-task-dispatcher.token.ts +69 -0
  176. package/src/lib/workflow-engine/workflow-token.entity.ts +40 -0
  177. package/tsconfig.json +24 -0
  178. package/tsconfig.lib.json +16 -0
  179. package/tsconfig.spec.json +16 -0
  180. package/src/index.js +0 -18
  181. package/src/index.js.map +0 -1
  182. package/src/lib/attachment/attachment-options.d.ts +0 -44
  183. package/src/lib/attachment/attachment-options.js +0 -62
  184. package/src/lib/attachment/attachment-options.js.map +0 -1
  185. package/src/lib/attachment/attachment-storage.provider.d.ts +0 -4
  186. package/src/lib/attachment/attachment-storage.provider.js +0 -35
  187. package/src/lib/attachment/attachment-storage.provider.js.map +0 -1
  188. package/src/lib/attachment/attachment-storage.token.js +0 -5
  189. package/src/lib/attachment/attachment-storage.token.js.map +0 -1
  190. package/src/lib/attachment/attachment.controller.d.ts +0 -8
  191. package/src/lib/attachment/attachment.controller.js +0 -38
  192. package/src/lib/attachment/attachment.controller.js.map +0 -1
  193. package/src/lib/attachment/attachment.entity.d.ts +0 -14
  194. package/src/lib/attachment/attachment.entity.js +0 -74
  195. package/src/lib/attachment/attachment.entity.js.map +0 -1
  196. package/src/lib/attachment/attachment.module.d.ts +0 -27
  197. package/src/lib/attachment/attachment.module.js +0 -103
  198. package/src/lib/attachment/attachment.module.js.map +0 -1
  199. package/src/lib/attachment/attachment.mutations.d.ts +0 -8
  200. package/src/lib/attachment/attachment.mutations.js +0 -35
  201. package/src/lib/attachment/attachment.mutations.js.map +0 -1
  202. package/src/lib/attachment/attachment.queries.d.ts +0 -9
  203. package/src/lib/attachment/attachment.queries.js +0 -78
  204. package/src/lib/attachment/attachment.queries.js.map +0 -1
  205. package/src/lib/attachment/attachment.service.d.ts +0 -49
  206. package/src/lib/attachment/attachment.service.js +0 -276
  207. package/src/lib/attachment/attachment.service.js.map +0 -1
  208. package/src/lib/attachment/dto/upload-attachment.input.d.ts +0 -11
  209. package/src/lib/attachment/dto/upload-attachment.input.js +0 -68
  210. package/src/lib/attachment/dto/upload-attachment.input.js.map +0 -1
  211. package/src/lib/attachment/index.js +0 -9
  212. package/src/lib/attachment/index.js.map +0 -1
  213. package/src/lib/bpm/bpm-root.module.d.ts +0 -155
  214. package/src/lib/bpm/bpm-root.module.js +0 -170
  215. package/src/lib/bpm/bpm-root.module.js.map +0 -1
  216. package/src/lib/bpm/index.js +0 -5
  217. package/src/lib/bpm/index.js.map +0 -1
  218. package/src/lib/bpm-auth/bpm-auth-context.d.ts +0 -24
  219. package/src/lib/bpm-auth/bpm-auth-context.extractor.d.ts +0 -4
  220. package/src/lib/bpm-auth/bpm-auth-context.extractor.js +0 -69
  221. package/src/lib/bpm-auth/bpm-auth-context.extractor.js.map +0 -1
  222. package/src/lib/bpm-auth/bpm-auth-context.js +0 -15
  223. package/src/lib/bpm-auth/bpm-auth-context.js.map +0 -1
  224. package/src/lib/bpm-auth/bpm-auth.authorization.d.ts +0 -12
  225. package/src/lib/bpm-auth/bpm-auth.authorization.js +0 -67
  226. package/src/lib/bpm-auth/bpm-auth.authorization.js.map +0 -1
  227. package/src/lib/bpm-auth/bpm-auth.decorators.d.ts +0 -3
  228. package/src/lib/bpm-auth/bpm-auth.decorators.js +0 -11
  229. package/src/lib/bpm-auth/bpm-auth.decorators.js.map +0 -1
  230. package/src/lib/bpm-auth/bpm-auth.guard.d.ts +0 -7
  231. package/src/lib/bpm-auth/bpm-auth.guard.js +0 -24
  232. package/src/lib/bpm-auth/bpm-auth.guard.js.map +0 -1
  233. package/src/lib/bpm-auth/bpm-auth.module.d.ts +0 -6
  234. package/src/lib/bpm-auth/bpm-auth.module.js +0 -69
  235. package/src/lib/bpm-auth/bpm-auth.module.js.map +0 -1
  236. package/src/lib/bpm-auth/bpm-auth.options.d.ts +0 -11
  237. package/src/lib/bpm-auth/bpm-auth.options.js +0 -3
  238. package/src/lib/bpm-auth/bpm-auth.options.js.map +0 -1
  239. package/src/lib/bpm-auth/configurable-bpm-auth-context.accessor.d.ts +0 -10
  240. package/src/lib/bpm-auth/configurable-bpm-auth-context.accessor.js +0 -40
  241. package/src/lib/bpm-auth/configurable-bpm-auth-context.accessor.js.map +0 -1
  242. package/src/lib/bpm-auth/index.js +0 -10
  243. package/src/lib/bpm-auth/index.js.map +0 -1
  244. package/src/lib/common/filters/all-exceptions.filter.d.ts +0 -25
  245. package/src/lib/common/filters/all-exceptions.filter.js +0 -93
  246. package/src/lib/common/filters/all-exceptions.filter.js.map +0 -1
  247. package/src/lib/common/index.js +0 -5
  248. package/src/lib/common/index.js.map +0 -1
  249. package/src/lib/common/iso-duration.d.ts +0 -1
  250. package/src/lib/common/iso-duration.js +0 -27
  251. package/src/lib/common/iso-duration.js.map +0 -1
  252. package/src/lib/condition/condition.module.d.ts +0 -2
  253. package/src/lib/condition/condition.module.js +0 -16
  254. package/src/lib/condition/condition.module.js.map +0 -1
  255. package/src/lib/condition/condition.service.d.ts +0 -16
  256. package/src/lib/condition/condition.service.js +0 -82
  257. package/src/lib/condition/condition.service.js.map +0 -1
  258. package/src/lib/condition/index.js +0 -6
  259. package/src/lib/condition/index.js.map +0 -1
  260. package/src/lib/database/data-source.d.ts +0 -4
  261. package/src/lib/database/data-source.js +0 -7
  262. package/src/lib/database/data-source.js.map +0 -1
  263. package/src/lib/database/index.js +0 -6
  264. package/src/lib/database/index.js.map +0 -1
  265. package/src/lib/database/migration-runner.d.ts +0 -1
  266. package/src/lib/database/migration-runner.js +0 -25
  267. package/src/lib/database/migration-runner.js.map +0 -1
  268. package/src/lib/database/reconcile-legacy-migrations.d.ts +0 -13
  269. package/src/lib/database/reconcile-legacy-migrations.js +0 -70
  270. package/src/lib/database/reconcile-legacy-migrations.js.map +0 -1
  271. package/src/lib/database/typeorm.config.d.ts +0 -14
  272. package/src/lib/database/typeorm.config.js +0 -135
  273. package/src/lib/database/typeorm.config.js.map +0 -1
  274. package/src/lib/delegation/delegation-rule.entity.d.ts +0 -19
  275. package/src/lib/delegation/delegation-rule.entity.js +0 -99
  276. package/src/lib/delegation/delegation-rule.entity.js.map +0 -1
  277. package/src/lib/delegation/delegation.enums.d.ts +0 -10
  278. package/src/lib/delegation/delegation.enums.js +0 -23
  279. package/src/lib/delegation/delegation.enums.js.map +0 -1
  280. package/src/lib/delegation/delegation.module.d.ts +0 -2
  281. package/src/lib/delegation/delegation.module.js +0 -22
  282. package/src/lib/delegation/delegation.module.js.map +0 -1
  283. package/src/lib/delegation/delegation.mutations.d.ts +0 -11
  284. package/src/lib/delegation/delegation.mutations.js +0 -87
  285. package/src/lib/delegation/delegation.mutations.js.map +0 -1
  286. package/src/lib/delegation/delegation.queries.d.ts +0 -10
  287. package/src/lib/delegation/delegation.queries.js +0 -91
  288. package/src/lib/delegation/delegation.queries.js.map +0 -1
  289. package/src/lib/delegation/delegation.service.d.ts +0 -56
  290. package/src/lib/delegation/delegation.service.js +0 -268
  291. package/src/lib/delegation/delegation.service.js.map +0 -1
  292. package/src/lib/delegation/dto/delegation-rule.input.d.ts +0 -24
  293. package/src/lib/delegation/dto/delegation-rule.input.js +0 -143
  294. package/src/lib/delegation/dto/delegation-rule.input.js.map +0 -1
  295. package/src/lib/delegation/index.js +0 -9
  296. package/src/lib/delegation/index.js.map +0 -1
  297. package/src/lib/form/dto/form-definition.input.d.ts +0 -26
  298. package/src/lib/form/dto/form-definition.input.js +0 -126
  299. package/src/lib/form/dto/form-definition.input.js.map +0 -1
  300. package/src/lib/form/form-definition-version.entity.d.ts +0 -17
  301. package/src/lib/form/form-definition-version.entity.js +0 -84
  302. package/src/lib/form/form-definition-version.entity.js.map +0 -1
  303. package/src/lib/form/form-definition.entity.d.ts +0 -13
  304. package/src/lib/form/form-definition.entity.js +0 -66
  305. package/src/lib/form/form-definition.entity.js.map +0 -1
  306. package/src/lib/form/form-schema-lint.object.d.ts +0 -4
  307. package/src/lib/form/form-schema-lint.object.js +0 -20
  308. package/src/lib/form/form-schema-lint.object.js.map +0 -1
  309. package/src/lib/form/form-schema.validator.d.ts +0 -13
  310. package/src/lib/form/form-schema.validator.js +0 -354
  311. package/src/lib/form/form-schema.validator.js.map +0 -1
  312. package/src/lib/form/form.enums.d.ts +0 -9
  313. package/src/lib/form/form.enums.js +0 -22
  314. package/src/lib/form/form.enums.js.map +0 -1
  315. package/src/lib/form/form.module.d.ts +0 -2
  316. package/src/lib/form/form.module.js +0 -27
  317. package/src/lib/form/form.module.js.map +0 -1
  318. package/src/lib/form/form.mutations.d.ts +0 -14
  319. package/src/lib/form/form.mutations.js +0 -89
  320. package/src/lib/form/form.mutations.js.map +0 -1
  321. package/src/lib/form/form.queries.d.ts +0 -16
  322. package/src/lib/form/form.queries.js +0 -96
  323. package/src/lib/form/form.queries.js.map +0 -1
  324. package/src/lib/form/form.service.d.ts +0 -49
  325. package/src/lib/form/form.service.js +0 -346
  326. package/src/lib/form/form.service.js.map +0 -1
  327. package/src/lib/form/index.js +0 -12
  328. package/src/lib/form/index.js.map +0 -1
  329. package/src/lib/identity/identity-options.d.ts +0 -13
  330. package/src/lib/identity/identity-options.js +0 -20
  331. package/src/lib/identity/identity-options.js.map +0 -1
  332. package/src/lib/identity/identity.module.d.ts +0 -17
  333. package/src/lib/identity/identity.module.js +0 -65
  334. package/src/lib/identity/identity.module.js.map +0 -1
  335. package/src/lib/identity/identity.queries.d.ts +0 -12
  336. package/src/lib/identity/identity.queries.js +0 -79
  337. package/src/lib/identity/identity.queries.js.map +0 -1
  338. package/src/lib/identity/identity.service.d.ts +0 -22
  339. package/src/lib/identity/identity.service.js +0 -141
  340. package/src/lib/identity/identity.service.js.map +0 -1
  341. package/src/lib/identity/index.js +0 -8
  342. package/src/lib/identity/index.js.map +0 -1
  343. package/src/lib/identity/member-base.adapter.d.ts +0 -95
  344. package/src/lib/identity/member-base.adapter.js +0 -137
  345. package/src/lib/identity/member-base.adapter.js.map +0 -1
  346. package/src/lib/identity/member-metadata-cache.entity.d.ts +0 -8
  347. package/src/lib/identity/member-metadata-cache.entity.js +0 -39
  348. package/src/lib/identity/member-metadata-cache.entity.js.map +0 -1
  349. package/src/lib/identity/member-not-found.exception.js +0 -26
  350. package/src/lib/identity/member-not-found.exception.js.map +0 -1
  351. package/src/lib/identity/member-profile.object.d.ts +0 -8
  352. package/src/lib/identity/member-profile.object.js +0 -37
  353. package/src/lib/identity/member-profile.object.js.map +0 -1
  354. package/src/lib/identity/member-resolver.interface.d.ts +0 -79
  355. package/src/lib/identity/member-resolver.interface.js +0 -19
  356. package/src/lib/identity/member-resolver.interface.js.map +0 -1
  357. package/src/lib/migrations/0000000000001-enable-postgres-extensions.d.ts +0 -6
  358. package/src/lib/migrations/0000000000001-enable-postgres-extensions.js +0 -17
  359. package/src/lib/migrations/0000000000001-enable-postgres-extensions.js.map +0 -1
  360. package/src/lib/migrations/0000000001000-identity-organization-foundation.d.ts +0 -6
  361. package/src/lib/migrations/0000000001000-identity-organization-foundation.js.map +0 -1
  362. package/src/lib/migrations/0000000002000-form-builder-foundation.d.ts +0 -6
  363. package/src/lib/migrations/0000000002000-form-builder-foundation.js.map +0 -1
  364. package/src/lib/migrations/0000000003000-approval-template-foundation.d.ts +0 -6
  365. package/src/lib/migrations/0000000003000-approval-template-foundation.js.map +0 -1
  366. package/src/lib/migrations/0000000004000-workflow-engine-foundation.d.ts +0 -6
  367. package/src/lib/migrations/0000000004000-workflow-engine-foundation.js.map +0 -1
  368. package/src/lib/migrations/0000000005000-delegation-rules.d.ts +0 -6
  369. package/src/lib/migrations/0000000005000-delegation-rules.js.map +0 -1
  370. package/src/lib/migrations/0000000006000-notifications-sla.d.ts +0 -6
  371. package/src/lib/migrations/0000000006000-notifications-sla.js.map +0 -1
  372. package/src/lib/migrations/0000000007000-signatures-attachments.d.ts +0 -6
  373. package/src/lib/migrations/0000000007000-signatures-attachments.js.map +0 -1
  374. package/src/lib/migrations/0000000008000-approval-template-categories.d.ts +0 -6
  375. package/src/lib/migrations/0000000008000-approval-template-categories.js.map +0 -1
  376. package/src/lib/migrations/0000000009000-task-candidates.d.ts +0 -6
  377. package/src/lib/migrations/0000000009000-task-candidates.js.map +0 -1
  378. package/src/lib/migrations/0000000010000-notification-delivery-state.d.ts +0 -6
  379. package/src/lib/migrations/0000000010000-notification-delivery-state.js.map +0 -1
  380. package/src/lib/migrations/0000000011000-remove-attachment-encryption-key.d.ts +0 -6
  381. package/src/lib/migrations/0000000011000-remove-attachment-encryption-key.js +0 -22
  382. package/src/lib/migrations/0000000011000-remove-attachment-encryption-key.js.map +0 -1
  383. package/src/lib/migrations/0000000012000-notification-sla-idempotency.d.ts +0 -6
  384. package/src/lib/migrations/0000000012000-notification-sla-idempotency.js +0 -21
  385. package/src/lib/migrations/0000000012000-notification-sla-idempotency.js.map +0 -1
  386. package/src/lib/migrations/0000000013000-workflow-query-indexes.d.ts +0 -6
  387. package/src/lib/migrations/0000000013000-workflow-query-indexes.js +0 -80
  388. package/src/lib/migrations/0000000013000-workflow-query-indexes.js.map +0 -1
  389. package/src/lib/migrations/0000000014000-notification-resolution.d.ts +0 -6
  390. package/src/lib/migrations/0000000014000-notification-resolution.js +0 -30
  391. package/src/lib/migrations/0000000014000-notification-resolution.js.map +0 -1
  392. package/src/lib/migrations/0000000015000-backfill-stale-notification-resolution.d.ts +0 -15
  393. package/src/lib/migrations/0000000015000-backfill-stale-notification-resolution.js.map +0 -1
  394. package/src/lib/migrations/0000000016000-archive-parallel-form-drafts.d.ts +0 -15
  395. package/src/lib/migrations/0000000016000-archive-parallel-form-drafts.js.map +0 -1
  396. package/src/lib/migrations/0000000017000-adhoc-directives.d.ts +0 -6
  397. package/src/lib/migrations/0000000017000-adhoc-directives.js.map +0 -1
  398. package/src/lib/migrations/index.d.ts +0 -20
  399. package/src/lib/migrations/index.js +0 -61
  400. package/src/lib/migrations/index.js.map +0 -1
  401. package/src/lib/notification/dto/notification-preference.input.d.ts +0 -9
  402. package/src/lib/notification/dto/notification-preference.input.js +0 -53
  403. package/src/lib/notification/dto/notification-preference.input.js.map +0 -1
  404. package/src/lib/notification/index.js +0 -11
  405. package/src/lib/notification/index.js.map +0 -1
  406. package/src/lib/notification/notification-delivery-scheduler.service.d.ts +0 -13
  407. package/src/lib/notification/notification-delivery-scheduler.service.js +0 -53
  408. package/src/lib/notification/notification-delivery-scheduler.service.js.map +0 -1
  409. package/src/lib/notification/notification-delivery.service.d.ts +0 -23
  410. package/src/lib/notification/notification-delivery.service.js +0 -245
  411. package/src/lib/notification/notification-delivery.service.js.map +0 -1
  412. package/src/lib/notification/notification-dispatcher.token.d.ts +0 -7
  413. package/src/lib/notification/notification-dispatcher.token.js +0 -5
  414. package/src/lib/notification/notification-dispatcher.token.js.map +0 -1
  415. package/src/lib/notification/notification-options.d.ts +0 -215
  416. package/src/lib/notification/notification-options.js +0 -128
  417. package/src/lib/notification/notification-options.js.map +0 -1
  418. package/src/lib/notification/notification-options.module.d.ts +0 -23
  419. package/src/lib/notification/notification-options.module.js +0 -41
  420. package/src/lib/notification/notification-options.module.js.map +0 -1
  421. package/src/lib/notification/notification-preference.entity.d.ts +0 -10
  422. package/src/lib/notification/notification-preference.entity.js +0 -50
  423. package/src/lib/notification/notification-preference.entity.js.map +0 -1
  424. package/src/lib/notification/notification-sla-scheduler.service.d.ts +0 -13
  425. package/src/lib/notification/notification-sla-scheduler.service.js +0 -51
  426. package/src/lib/notification/notification-sla-scheduler.service.js.map +0 -1
  427. package/src/lib/notification/notification-template.d.ts +0 -13
  428. package/src/lib/notification/notification-template.js +0 -61
  429. package/src/lib/notification/notification-template.js.map +0 -1
  430. package/src/lib/notification/notification.entity.d.ts +0 -31
  431. package/src/lib/notification/notification.entity.js +0 -149
  432. package/src/lib/notification/notification.entity.js.map +0 -1
  433. package/src/lib/notification/notification.enums.d.ts +0 -38
  434. package/src/lib/notification/notification.enums.js +0 -63
  435. package/src/lib/notification/notification.enums.js.map +0 -1
  436. package/src/lib/notification/notification.module.d.ts +0 -2
  437. package/src/lib/notification/notification.module.js +0 -45
  438. package/src/lib/notification/notification.module.js.map +0 -1
  439. package/src/lib/notification/notification.mutations.d.ts +0 -11
  440. package/src/lib/notification/notification.mutations.js +0 -64
  441. package/src/lib/notification/notification.mutations.js.map +0 -1
  442. package/src/lib/notification/notification.queries.d.ts +0 -11
  443. package/src/lib/notification/notification.queries.js +0 -77
  444. package/src/lib/notification/notification.queries.js.map +0 -1
  445. package/src/lib/notification/notification.service.d.ts +0 -121
  446. package/src/lib/notification/notification.service.js +0 -713
  447. package/src/lib/notification/notification.service.js.map +0 -1
  448. package/src/lib/organization/dto/manager-resolution.input.d.ts +0 -18
  449. package/src/lib/organization/dto/manager-resolution.input.js +0 -107
  450. package/src/lib/organization/dto/manager-resolution.input.js.map +0 -1
  451. package/src/lib/organization/dto/membership.input.d.ts +0 -16
  452. package/src/lib/organization/dto/membership.input.js +0 -99
  453. package/src/lib/organization/dto/membership.input.js.map +0 -1
  454. package/src/lib/organization/dto/org-unit.input.d.ts +0 -24
  455. package/src/lib/organization/dto/org-unit.input.js +0 -119
  456. package/src/lib/organization/dto/org-unit.input.js.map +0 -1
  457. package/src/lib/organization/dto/position.input.d.ts +0 -13
  458. package/src/lib/organization/dto/position.input.js +0 -70
  459. package/src/lib/organization/dto/position.input.js.map +0 -1
  460. package/src/lib/organization/index.js +0 -16
  461. package/src/lib/organization/index.js.map +0 -1
  462. package/src/lib/organization/json-metadata.d.ts +0 -1
  463. package/src/lib/organization/json-metadata.js +0 -14
  464. package/src/lib/organization/json-metadata.js.map +0 -1
  465. package/src/lib/organization/manager-resolution.entity.d.ts +0 -11
  466. package/src/lib/organization/manager-resolution.entity.js +0 -55
  467. package/src/lib/organization/manager-resolution.entity.js.map +0 -1
  468. package/src/lib/organization/membership.entity.d.ts +0 -11
  469. package/src/lib/organization/membership.entity.js +0 -60
  470. package/src/lib/organization/membership.entity.js.map +0 -1
  471. package/src/lib/organization/org-unit-tree-commit-result.object.d.ts +0 -4
  472. package/src/lib/organization/org-unit-tree-commit-result.object.js +0 -17
  473. package/src/lib/organization/org-unit-tree-commit-result.object.js.map +0 -1
  474. package/src/lib/organization/org-unit.entity.d.ts +0 -13
  475. package/src/lib/organization/org-unit.entity.js +0 -64
  476. package/src/lib/organization/org-unit.entity.js.map +0 -1
  477. package/src/lib/organization/organization-summary.object.d.ts +0 -6
  478. package/src/lib/organization/organization-summary.object.js +0 -28
  479. package/src/lib/organization/organization-summary.object.js.map +0 -1
  480. package/src/lib/organization/organization.enums.d.ts +0 -11
  481. package/src/lib/organization/organization.enums.js +0 -22
  482. package/src/lib/organization/organization.enums.js.map +0 -1
  483. package/src/lib/organization/organization.module.d.ts +0 -2
  484. package/src/lib/organization/organization.module.js +0 -35
  485. package/src/lib/organization/organization.module.js.map +0 -1
  486. package/src/lib/organization/organization.mutations.d.ts +0 -26
  487. package/src/lib/organization/organization.mutations.js +0 -148
  488. package/src/lib/organization/organization.mutations.js.map +0 -1
  489. package/src/lib/organization/organization.queries.d.ts +0 -23
  490. package/src/lib/organization/organization.queries.js +0 -204
  491. package/src/lib/organization/organization.queries.js.map +0 -1
  492. package/src/lib/organization/organization.service.d.ts +0 -103
  493. package/src/lib/organization/organization.service.js +0 -768
  494. package/src/lib/organization/organization.service.js.map +0 -1
  495. package/src/lib/organization/position.entity.d.ts +0 -9
  496. package/src/lib/organization/position.entity.js +0 -48
  497. package/src/lib/organization/position.entity.js.map +0 -1
  498. package/src/lib/organization/resolved-manager.object.d.ts +0 -4
  499. package/src/lib/organization/resolved-manager.object.js +0 -20
  500. package/src/lib/organization/resolved-manager.object.js.map +0 -1
  501. package/src/lib/signature/index.js +0 -8
  502. package/src/lib/signature/index.js.map +0 -1
  503. package/src/lib/signature/signature-options.d.ts +0 -33
  504. package/src/lib/signature/signature-options.js +0 -51
  505. package/src/lib/signature/signature-options.js.map +0 -1
  506. package/src/lib/signature/signature-verification.object.d.ts +0 -6
  507. package/src/lib/signature/signature-verification.object.js +0 -28
  508. package/src/lib/signature/signature-verification.object.js.map +0 -1
  509. package/src/lib/signature/signature.entity.d.ts +0 -16
  510. package/src/lib/signature/signature.entity.js +0 -88
  511. package/src/lib/signature/signature.entity.js.map +0 -1
  512. package/src/lib/signature/signature.module.d.ts +0 -11
  513. package/src/lib/signature/signature.module.js +0 -60
  514. package/src/lib/signature/signature.module.js.map +0 -1
  515. package/src/lib/signature/signature.queries.d.ts +0 -11
  516. package/src/lib/signature/signature.queries.js +0 -46
  517. package/src/lib/signature/signature.queries.js.map +0 -1
  518. package/src/lib/signature/signature.service.d.ts +0 -25
  519. package/src/lib/signature/signature.service.js +0 -124
  520. package/src/lib/signature/signature.service.js.map +0 -1
  521. package/src/lib/template/approval-template-category.entity.d.ts +0 -9
  522. package/src/lib/template/approval-template-category.entity.js +0 -49
  523. package/src/lib/template/approval-template-category.entity.js.map +0 -1
  524. package/src/lib/template/approval-template-version.entity.d.ts +0 -21
  525. package/src/lib/template/approval-template-version.entity.js +0 -106
  526. package/src/lib/template/approval-template-version.entity.js.map +0 -1
  527. package/src/lib/template/approval-template.entity.d.ts +0 -14
  528. package/src/lib/template/approval-template.entity.js +0 -74
  529. package/src/lib/template/approval-template.entity.js.map +0 -1
  530. package/src/lib/template/compose-approval-template.object.d.ts +0 -11
  531. package/src/lib/template/compose-approval-template.object.js +0 -36
  532. package/src/lib/template/compose-approval-template.object.js.map +0 -1
  533. package/src/lib/template/compose-template.mutations.d.ts +0 -8
  534. package/src/lib/template/compose-template.mutations.js +0 -32
  535. package/src/lib/template/compose-template.mutations.js.map +0 -1
  536. package/src/lib/template/dto/approval-template.input.d.ts +0 -36
  537. package/src/lib/template/dto/approval-template.input.js +0 -187
  538. package/src/lib/template/dto/approval-template.input.js.map +0 -1
  539. package/src/lib/template/dto/compose-approval-template.input.d.ts +0 -17
  540. package/src/lib/template/dto/compose-approval-template.input.js +0 -99
  541. package/src/lib/template/dto/compose-approval-template.input.js.map +0 -1
  542. package/src/lib/template/index.js +0 -14
  543. package/src/lib/template/index.js.map +0 -1
  544. package/src/lib/template/template.enums.d.ts +0 -14
  545. package/src/lib/template/template.enums.js +0 -31
  546. package/src/lib/template/template.enums.js.map +0 -1
  547. package/src/lib/template/template.module.d.ts +0 -2
  548. package/src/lib/template/template.module.js +0 -41
  549. package/src/lib/template/template.module.js.map +0 -1
  550. package/src/lib/template/template.mutations.d.ts +0 -20
  551. package/src/lib/template/template.mutations.js +0 -139
  552. package/src/lib/template/template.mutations.js.map +0 -1
  553. package/src/lib/template/template.queries.d.ts +0 -16
  554. package/src/lib/template/template.queries.js +0 -133
  555. package/src/lib/template/template.queries.js.map +0 -1
  556. package/src/lib/template/template.service.d.ts +0 -83
  557. package/src/lib/template/template.service.js +0 -654
  558. package/src/lib/template/template.service.js.map +0 -1
  559. package/src/lib/template/workflow-definition.validator.d.ts +0 -9
  560. package/src/lib/template/workflow-definition.validator.js +0 -362
  561. package/src/lib/template/workflow-definition.validator.js.map +0 -1
  562. package/src/lib/testing/cel-js.jest.d.ts +0 -15
  563. package/src/lib/testing/cel-js.jest.js +0 -27
  564. package/src/lib/testing/cel-js.jest.js.map +0 -1
  565. package/src/lib/workflow-engine/activity-log.entity.d.ts +0 -12
  566. package/src/lib/workflow-engine/activity-log.entity.js +0 -62
  567. package/src/lib/workflow-engine/activity-log.entity.js.map +0 -1
  568. package/src/lib/workflow-engine/adhoc-directive.entity.d.ts +0 -31
  569. package/src/lib/workflow-engine/adhoc-directive.entity.js +0 -105
  570. package/src/lib/workflow-engine/adhoc-directive.entity.js.map +0 -1
  571. package/src/lib/workflow-engine/adhoc.enums.d.ts +0 -21
  572. package/src/lib/workflow-engine/adhoc.enums.js +0 -42
  573. package/src/lib/workflow-engine/adhoc.enums.js.map +0 -1
  574. package/src/lib/workflow-engine/approval-instance-page-info.object.d.ts +0 -8
  575. package/src/lib/workflow-engine/approval-instance-page-info.object.js +0 -36
  576. package/src/lib/workflow-engine/approval-instance-page-info.object.js.map +0 -1
  577. package/src/lib/workflow-engine/approval-instance.entity.d.ts +0 -22
  578. package/src/lib/workflow-engine/approval-instance.entity.js +0 -113
  579. package/src/lib/workflow-engine/approval-instance.entity.js.map +0 -1
  580. package/src/lib/workflow-engine/dto/adhoc-notification.input.d.ts +0 -6
  581. package/src/lib/workflow-engine/dto/adhoc-notification.input.js +0 -28
  582. package/src/lib/workflow-engine/dto/adhoc-notification.input.js.map +0 -1
  583. package/src/lib/workflow-engine/dto/adhoc-target.input.d.ts +0 -16
  584. package/src/lib/workflow-engine/dto/adhoc-target.input.js +0 -61
  585. package/src/lib/workflow-engine/dto/adhoc-target.input.js.map +0 -1
  586. package/src/lib/workflow-engine/dto/cancel-approval-instance.input.d.ts +0 -5
  587. package/src/lib/workflow-engine/dto/cancel-approval-instance.input.js +0 -29
  588. package/src/lib/workflow-engine/dto/cancel-approval-instance.input.js.map +0 -1
  589. package/src/lib/workflow-engine/dto/decide-task.input.d.ts +0 -9
  590. package/src/lib/workflow-engine/dto/decide-task.input.js +0 -47
  591. package/src/lib/workflow-engine/dto/decide-task.input.js.map +0 -1
  592. package/src/lib/workflow-engine/dto/dry-run-approval-workflow.input.d.ts +0 -6
  593. package/src/lib/workflow-engine/dto/dry-run-approval-workflow.input.js +0 -34
  594. package/src/lib/workflow-engine/dto/dry-run-approval-workflow.input.js.map +0 -1
  595. package/src/lib/workflow-engine/dto/resubmit-approval-instance.input.d.ts +0 -6
  596. package/src/lib/workflow-engine/dto/resubmit-approval-instance.input.js +0 -34
  597. package/src/lib/workflow-engine/dto/resubmit-approval-instance.input.js.map +0 -1
  598. package/src/lib/workflow-engine/dto/submit-approval-instance.input.d.ts +0 -7
  599. package/src/lib/workflow-engine/dto/submit-approval-instance.input.js +0 -40
  600. package/src/lib/workflow-engine/dto/submit-approval-instance.input.js.map +0 -1
  601. package/src/lib/workflow-engine/index.js +0 -28
  602. package/src/lib/workflow-engine/index.js.map +0 -1
  603. package/src/lib/workflow-engine/task-candidate.entity.d.ts +0 -14
  604. package/src/lib/workflow-engine/task-candidate.entity.js +0 -72
  605. package/src/lib/workflow-engine/task-candidate.entity.js.map +0 -1
  606. package/src/lib/workflow-engine/task-decision.entity.d.ts +0 -12
  607. package/src/lib/workflow-engine/task-decision.entity.js +0 -60
  608. package/src/lib/workflow-engine/task-decision.entity.js.map +0 -1
  609. package/src/lib/workflow-engine/task.entity.d.ts +0 -25
  610. package/src/lib/workflow-engine/task.entity.js +0 -130
  611. package/src/lib/workflow-engine/task.entity.js.map +0 -1
  612. package/src/lib/workflow-engine/workflow-condition-evaluator.d.ts +0 -5
  613. package/src/lib/workflow-engine/workflow-condition-evaluator.js +0 -107
  614. package/src/lib/workflow-engine/workflow-condition-evaluator.js.map +0 -1
  615. package/src/lib/workflow-engine/workflow-dashboard-summary.object.d.ts +0 -8
  616. package/src/lib/workflow-engine/workflow-dashboard-summary.object.js +0 -36
  617. package/src/lib/workflow-engine/workflow-dashboard-summary.object.js.map +0 -1
  618. package/src/lib/workflow-engine/workflow-dry-run.object.d.ts +0 -21
  619. package/src/lib/workflow-engine/workflow-dry-run.object.js +0 -86
  620. package/src/lib/workflow-engine/workflow-dry-run.object.js.map +0 -1
  621. package/src/lib/workflow-engine/workflow-engine.enums.d.ts +0 -61
  622. package/src/lib/workflow-engine/workflow-engine.enums.js +0 -98
  623. package/src/lib/workflow-engine/workflow-engine.enums.js.map +0 -1
  624. package/src/lib/workflow-engine/workflow-engine.module.d.ts +0 -9
  625. package/src/lib/workflow-engine/workflow-engine.module.js +0 -78
  626. package/src/lib/workflow-engine/workflow-engine.module.js.map +0 -1
  627. package/src/lib/workflow-engine/workflow-engine.mutations.d.ts +0 -29
  628. package/src/lib/workflow-engine/workflow-engine.mutations.js +0 -218
  629. package/src/lib/workflow-engine/workflow-engine.mutations.js.map +0 -1
  630. package/src/lib/workflow-engine/workflow-engine.queries.d.ts +0 -31
  631. package/src/lib/workflow-engine/workflow-engine.queries.js +0 -237
  632. package/src/lib/workflow-engine/workflow-engine.queries.js.map +0 -1
  633. package/src/lib/workflow-engine/workflow-engine.service.d.ts +0 -188
  634. package/src/lib/workflow-engine/workflow-engine.service.js +0 -3561
  635. package/src/lib/workflow-engine/workflow-engine.service.js.map +0 -1
  636. package/src/lib/workflow-engine/workflow-engine.tokens.js +0 -5
  637. package/src/lib/workflow-engine/workflow-engine.tokens.js.map +0 -1
  638. package/src/lib/workflow-engine/workflow-service-task-dispatcher.token.d.ts +0 -18
  639. package/src/lib/workflow-engine/workflow-service-task-dispatcher.token.js +0 -39
  640. package/src/lib/workflow-engine/workflow-service-task-dispatcher.token.js.map +0 -1
  641. package/src/lib/workflow-engine/workflow-token.entity.d.ts +0 -10
  642. package/src/lib/workflow-engine/workflow-token.entity.js +0 -50
  643. package/src/lib/workflow-engine/workflow-token.entity.js.map +0 -1
  644. /package/src/{index.d.ts → index.ts} +0 -0
  645. /package/src/lib/attachment/{index.d.ts → index.ts} +0 -0
  646. /package/src/lib/bpm/{index.d.ts → index.ts} +0 -0
  647. /package/src/lib/bpm-auth/{index.d.ts → index.ts} +0 -0
  648. /package/src/lib/common/{index.d.ts → index.ts} +0 -0
  649. /package/src/lib/condition/{index.d.ts → index.ts} +0 -0
  650. /package/src/lib/database/{index.d.ts → index.ts} +0 -0
  651. /package/src/lib/delegation/{index.d.ts → index.ts} +0 -0
  652. /package/src/lib/form/{index.d.ts → index.ts} +0 -0
  653. /package/src/lib/identity/{index.d.ts → index.ts} +0 -0
  654. /package/src/lib/notification/{index.d.ts → index.ts} +0 -0
  655. /package/src/lib/organization/{index.d.ts → index.ts} +0 -0
  656. /package/src/lib/signature/{index.d.ts → index.ts} +0 -0
  657. /package/src/lib/template/{index.d.ts → index.ts} +0 -0
  658. /package/src/lib/workflow-engine/{index.d.ts → index.ts} +0 -0
@@ -0,0 +1,27 @@
1
+ import { Field, ID, ObjectType } from '@nestjs/graphql';
2
+ import { Column, Entity, PrimaryGeneratedColumn, Unique } from 'typeorm';
3
+ import { MemberMetadata } from '@rytass/bpm-core-shared';
4
+
5
+ @Entity('member_metadata_cache')
6
+ @Unique(['memberId'])
7
+ @ObjectType('MemberMetadataCache')
8
+ export class MemberMetadataCacheEntity {
9
+ @PrimaryGeneratedColumn('uuid')
10
+ @Field(() => ID)
11
+ id!: string;
12
+
13
+ @Column('text', { name: 'member_id' })
14
+ @Field()
15
+ memberId!: string;
16
+
17
+ @Column('jsonb')
18
+ metadata!: MemberMetadata;
19
+
20
+ @Column('timestamptz', { name: 'fetched_at' })
21
+ @Field()
22
+ fetchedAt!: Date;
23
+
24
+ @Column('timestamptz', { name: 'expires_at' })
25
+ @Field()
26
+ expiresAt!: Date;
27
+ }
@@ -12,7 +12,12 @@
12
12
  * Hosts may throw any `Error` subclass; this class is provided as a
13
13
  * recommended default so error messages stay consistent in BPM's logs.
14
14
  */
15
- export declare class MemberNotFoundException extends Error {
16
- readonly memberId: string;
17
- constructor(memberId: string, message?: string);
15
+ export class MemberNotFoundException extends Error {
16
+ readonly memberId: string;
17
+
18
+ constructor(memberId: string, message?: string) {
19
+ super(message ?? `BPM member not found: ${memberId}`);
20
+ this.name = 'MemberNotFoundException';
21
+ this.memberId = memberId;
22
+ }
18
23
  }
@@ -0,0 +1,28 @@
1
+ import { Field, ID, ObjectType } from '@nestjs/graphql';
2
+ import { MemberMetadata } from '@rytass/bpm-core-shared';
3
+
4
+ @ObjectType('MemberProfile')
5
+ export class MemberProfileObject {
6
+ @Field(() => ID)
7
+ memberId!: string;
8
+
9
+ @Field()
10
+ name!: string;
11
+
12
+ @Field()
13
+ email!: string;
14
+
15
+ @Field()
16
+ customFieldsJson!: string;
17
+ }
18
+
19
+ export function toMemberProfileObject(
20
+ metadata: MemberMetadata,
21
+ ): MemberProfileObject {
22
+ return {
23
+ customFieldsJson: JSON.stringify(metadata.customFields),
24
+ email: metadata.email,
25
+ memberId: metadata.memberId,
26
+ name: metadata.name,
27
+ };
28
+ }
@@ -0,0 +1,140 @@
1
+ import { MemberMetadata } from '@rytass/bpm-core-shared';
2
+
3
+ /**
4
+ * Injection token for the host-provided `BPMMemberResolver`.
5
+ *
6
+ * Hosts must register a provider under this token through
7
+ * `BPMRootModuleOptions.memberResolverProvider`. BPM resolvers and
8
+ * services look up display names, emails, and approver candidates via
9
+ * this token without coupling to any specific identity backend.
10
+ */
11
+ export const BPM_MEMBER_RESOLVER = Symbol('BPM_MEMBER_RESOLVER');
12
+
13
+ /**
14
+ * @deprecated Use {@link BPM_MEMBER_RESOLVER}. Kept as a backwards-compatible
15
+ * alias for hosts that adopted the original name. To be removed in a future
16
+ * major release.
17
+ */
18
+ export const MEMBER_RESOLVER = BPM_MEMBER_RESOLVER;
19
+
20
+ /**
21
+ * Contract host applications must implement so BPM can resolve member
22
+ * profiles, approver candidates, and search results.
23
+ *
24
+ * BPM never reads the host's user table directly — it only knows
25
+ * `memberId` strings and asks this resolver for any additional information.
26
+ *
27
+ * ## Caching
28
+ *
29
+ * BPM caches resolver responses in the `member_metadata_cache` table
30
+ * with a configurable TTL (`identityOptions.memberMetadataCacheTtlMs`,
31
+ * default 5 minutes — `IDENTITY_MEMBER_METADATA_CACHE_TTL_MS_DEFAULT`).
32
+ * Hosts do **not** need to add their own cache layer for the common
33
+ * case; implementations may layer additional caching if they have a
34
+ * faster source of truth (e.g. an in-process LRU over a remote auth
35
+ * service). The two layers do not coordinate — BPM's row-level cache
36
+ * is invalidated only by TTL expiry, never by host signals.
37
+ *
38
+ * ## Unknown-id contract (the two methods diverge intentionally)
39
+ *
40
+ * - `resolve(id)` is the **single-id, must-succeed** form. Throw
41
+ * `MemberNotFoundException` (or any error) when `memberId` is unknown
42
+ * — the caller is asking about one specific member and a partial
43
+ * answer is meaningless. BPM surfaces the error as a GraphQL
44
+ * `errors[]` entry on the originating query.
45
+ * - `resolveMany(ids)` is the **batched, partial-success** form BPM
46
+ * prefers when many ids are needed (e.g. resolving the assignee list
47
+ * on a task page). Implementations should **omit** unknown ids from
48
+ * the returned `Map` rather than throwing; BPM treats missing entries
49
+ * as deleted/anonymized members and renders a placeholder. Throwing
50
+ * here aborts the entire batch and fails the GraphQL query — almost
51
+ * never the right choice.
52
+ * - `search(text)` is the **member-picker** contract: an optional,
53
+ * non-paginated fuzzy search that returns up to ~50 best matches. When
54
+ * omitted, BPM's `searchMembers` GraphQL query returns an empty array
55
+ * (the picker UI degrades to id-only entry). It is **not** meant to
56
+ * back a full member-directory listing page — see `searchPaged`.
57
+ * - `searchPaged(text, { page, pageSize })` is the optional **directory
58
+ * listing** contract. When implemented, BPM delegates pagination and
59
+ * total counting to the host (typically DB-level `LIMIT/OFFSET` + `COUNT`)
60
+ * instead of fetching everything through `search` and paginating in
61
+ * memory. This is what the admin members list (`admin/users`) needs to
62
+ * page through a directory larger than `search`'s ~50-row cap and to
63
+ * report an accurate total. When omitted, BPM falls back to
64
+ * `search`-and-slice, so the listing page is capped by whatever `search`
65
+ * returns (backwards-compatible with pre-0.5.0 hosts).
66
+ *
67
+ * Implementations may de-duplicate within a single call freely.
68
+ */
69
+ export interface BPMMemberResolver {
70
+ /**
71
+ * Single-id lookup. **Throw** (e.g. `MemberNotFoundException`) when
72
+ * the id is unknown — BPM surfaces the error to the caller. Result is
73
+ * row-cached by BPM with TTL `identityOptions.memberMetadataCacheTtlMs`.
74
+ */
75
+ resolve(memberId: string): Promise<MemberMetadata>;
76
+
77
+ /**
78
+ * Batched lookup. **Omit** unknown ids from the returned `Map`
79
+ * (do not throw) — BPM renders missing entries as deleted/anonymized
80
+ * members. Cached per-id under the same TTL as `resolve`.
81
+ */
82
+ resolveMany(
83
+ memberIds: readonly string[],
84
+ ): Promise<ReadonlyMap<string, MemberMetadata>>;
85
+
86
+ /**
87
+ * Optional **member-picker** free-text search. Return up to ~50 best
88
+ * matches; BPM does not paginate the result. Omit the method entirely
89
+ * to disable member-picker search. This contract is intentionally
90
+ * non-paginated — to back a full directory listing page implement
91
+ * {@link BPMMemberResolver.searchPaged} instead.
92
+ */
93
+ search?(searchText: string): Promise<readonly MemberMetadata[]>;
94
+
95
+ /**
96
+ * Optional **directory-listing** paged search. When present, BPM
97
+ * delegates both pagination and total counting to the host — the
98
+ * host is expected to page at the source (e.g. DB `LIMIT/OFFSET`) and
99
+ * return an accurate `total` — bypassing the `search`-and-slice-in-
100
+ * memory path that caps the listing at `search`'s ~50 rows.
101
+ *
102
+ * `page` is 1-based and `pageSize` is the number of rows per page;
103
+ * BPM normalizes and clamps both before calling (see the identity
104
+ * service pagination defaults). BPM row-caches the returned `items`
105
+ * under the same TTL as `resolve`/`resolveMany`, but never caches the
106
+ * page query itself. Omit the method to keep the pre-0.5.0
107
+ * `search`-backed behavior.
108
+ */
109
+ searchPaged?(
110
+ searchText: string,
111
+ options: BPMMemberSearchPageOptions,
112
+ ): Promise<BPMMemberSearchPage>;
113
+ }
114
+
115
+ /**
116
+ * Pagination request passed to {@link BPMMemberResolver.searchPaged}.
117
+ * `page` is 1-based; `pageSize` is the page length. BPM normalizes both
118
+ * to sane, clamped values before delegating, so hosts can trust them.
119
+ */
120
+ export interface BPMMemberSearchPageOptions {
121
+ readonly page: number;
122
+ readonly pageSize: number;
123
+ }
124
+
125
+ /**
126
+ * A single page of member search results returned by
127
+ * {@link BPMMemberResolver.searchPaged}. `items` is the requested slice
128
+ * (already limited to `pageSize`); `total` is the full unpaginated match
129
+ * count used by the `memberCount` GraphQL query.
130
+ */
131
+ export interface BPMMemberSearchPage {
132
+ readonly items: readonly MemberMetadata[];
133
+ readonly total: number;
134
+ }
135
+
136
+ /**
137
+ * @deprecated Use {@link BPMMemberResolver}. Kept as a backwards-compatible
138
+ * alias.
139
+ */
140
+ export type MemberResolver = BPMMemberResolver;
@@ -0,0 +1,14 @@
1
+ import { MigrationInterface, QueryRunner } from 'typeorm';
2
+
3
+ export class EnablePostgresExtensions0000000000001 implements MigrationInterface {
4
+ readonly name = 'EnablePostgresExtensions0000000000001';
5
+
6
+ async up(queryRunner: QueryRunner): Promise<void> {
7
+ await queryRunner.query('CREATE EXTENSION IF NOT EXISTS "uuid-ossp"');
8
+ await queryRunner.query('CREATE EXTENSION IF NOT EXISTS "ltree"');
9
+ }
10
+
11
+ async down(queryRunner: QueryRunner): Promise<void> {
12
+ await queryRunner.query('DROP EXTENSION IF EXISTS "ltree"');
13
+ }
14
+ }
@@ -1,12 +1,10 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.IdentityOrganizationFoundation0000000001000 = void 0;
4
- class IdentityOrganizationFoundation0000000001000 {
5
- constructor() {
6
- this.name = 'IdentityOrganizationFoundation0000000001000';
7
- }
8
- async up(queryRunner) {
9
- await queryRunner.query(`
1
+ import { MigrationInterface, QueryRunner } from 'typeorm';
2
+
3
+ export class IdentityOrganizationFoundation0000000001000 implements MigrationInterface {
4
+ readonly name = 'IdentityOrganizationFoundation0000000001000';
5
+
6
+ async up(queryRunner: QueryRunner): Promise<void> {
7
+ await queryRunner.query(`
10
8
  CREATE TABLE IF NOT EXISTS member_metadata_cache (
11
9
  id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
12
10
  member_id text NOT NULL UNIQUE,
@@ -15,7 +13,8 @@ class IdentityOrganizationFoundation0000000001000 {
15
13
  expires_at timestamptz NOT NULL
16
14
  )
17
15
  `);
18
- await queryRunner.query(`
16
+
17
+ await queryRunner.query(`
19
18
  CREATE TABLE IF NOT EXISTS org_units (
20
19
  id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
21
20
  parent_id uuid NULL REFERENCES org_units(id),
@@ -29,14 +28,19 @@ class IdentityOrganizationFoundation0000000001000 {
29
28
  updated_at timestamptz NOT NULL DEFAULT now()
30
29
  )
31
30
  `);
32
- await queryRunner.query('CREATE INDEX IF NOT EXISTS idx_org_units_parent_id ON org_units(parent_id)');
33
- await queryRunner.query('CREATE INDEX IF NOT EXISTS idx_org_units_path_gist ON org_units USING gist(path)');
34
- await queryRunner.query(`
31
+ await queryRunner.query(
32
+ 'CREATE INDEX IF NOT EXISTS idx_org_units_parent_id ON org_units(parent_id)',
33
+ );
34
+ await queryRunner.query(
35
+ 'CREATE INDEX IF NOT EXISTS idx_org_units_path_gist ON org_units USING gist(path)',
36
+ );
37
+ await queryRunner.query(`
35
38
  CREATE INDEX IF NOT EXISTS idx_org_units_not_deleted
36
39
  ON org_units(deleted_at)
37
40
  WHERE deleted_at IS NULL
38
41
  `);
39
- await queryRunner.query(`
42
+
43
+ await queryRunner.query(`
40
44
  CREATE TABLE IF NOT EXISTS positions (
41
45
  id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
42
46
  code text NOT NULL UNIQUE,
@@ -47,7 +51,8 @@ class IdentityOrganizationFoundation0000000001000 {
47
51
  updated_at timestamptz NOT NULL DEFAULT now()
48
52
  )
49
53
  `);
50
- await queryRunner.query(`
54
+
55
+ await queryRunner.query(`
51
56
  CREATE TABLE IF NOT EXISTS memberships (
52
57
  id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
53
58
  member_id text NOT NULL,
@@ -66,9 +71,14 @@ class IdentityOrganizationFoundation0000000001000 {
66
71
  )
67
72
  )
68
73
  `);
69
- await queryRunner.query('CREATE INDEX IF NOT EXISTS idx_memberships_member_id ON memberships(member_id)');
70
- await queryRunner.query('CREATE INDEX IF NOT EXISTS idx_memberships_org_unit_id ON memberships(org_unit_id)');
71
- await queryRunner.query(`
74
+ await queryRunner.query(
75
+ 'CREATE INDEX IF NOT EXISTS idx_memberships_member_id ON memberships(member_id)',
76
+ );
77
+ await queryRunner.query(
78
+ 'CREATE INDEX IF NOT EXISTS idx_memberships_org_unit_id ON memberships(org_unit_id)',
79
+ );
80
+
81
+ await queryRunner.query(`
72
82
  CREATE TABLE IF NOT EXISTS manager_resolutions (
73
83
  id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
74
84
  scope_type text NOT NULL,
@@ -80,18 +90,17 @@ class IdentityOrganizationFoundation0000000001000 {
80
90
  created_at timestamptz NOT NULL DEFAULT now()
81
91
  )
82
92
  `);
83
- await queryRunner.query(`
93
+ await queryRunner.query(`
84
94
  CREATE INDEX IF NOT EXISTS idx_manager_resolutions_scope
85
95
  ON manager_resolutions(scope_type, scope_id)
86
96
  `);
87
- }
88
- async down(queryRunner) {
89
- await queryRunner.query('DROP TABLE IF EXISTS manager_resolutions');
90
- await queryRunner.query('DROP TABLE IF EXISTS memberships');
91
- await queryRunner.query('DROP TABLE IF EXISTS positions');
92
- await queryRunner.query('DROP TABLE IF EXISTS org_units');
93
- await queryRunner.query('DROP TABLE IF EXISTS member_metadata_cache');
94
- }
97
+ }
98
+
99
+ async down(queryRunner: QueryRunner): Promise<void> {
100
+ await queryRunner.query('DROP TABLE IF EXISTS manager_resolutions');
101
+ await queryRunner.query('DROP TABLE IF EXISTS memberships');
102
+ await queryRunner.query('DROP TABLE IF EXISTS positions');
103
+ await queryRunner.query('DROP TABLE IF EXISTS org_units');
104
+ await queryRunner.query('DROP TABLE IF EXISTS member_metadata_cache');
105
+ }
95
106
  }
96
- exports.IdentityOrganizationFoundation0000000001000 = IdentityOrganizationFoundation0000000001000;
97
- //# sourceMappingURL=0000000001000-identity-organization-foundation.js.map
@@ -1,12 +1,10 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FormBuilderFoundation0000000002000 = void 0;
4
- class FormBuilderFoundation0000000002000 {
5
- constructor() {
6
- this.name = 'FormBuilderFoundation0000000002000';
7
- }
8
- async up(queryRunner) {
9
- await queryRunner.query(`
1
+ import { MigrationInterface, QueryRunner } from 'typeorm';
2
+
3
+ export class FormBuilderFoundation0000000002000 implements MigrationInterface {
4
+ readonly name = 'FormBuilderFoundation0000000002000';
5
+
6
+ async up(queryRunner: QueryRunner): Promise<void> {
7
+ await queryRunner.query(`
10
8
  CREATE TABLE IF NOT EXISTS form_definitions (
11
9
  id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
12
10
  name text NOT NULL,
@@ -18,7 +16,8 @@ class FormBuilderFoundation0000000002000 {
18
16
  created_by_member_id text NULL
19
17
  )
20
18
  `);
21
- await queryRunner.query(`
19
+
20
+ await queryRunner.query(`
22
21
  CREATE TABLE IF NOT EXISTS form_definition_versions (
23
22
  id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
24
23
  form_definition_id uuid NOT NULL REFERENCES form_definitions(id),
@@ -37,30 +36,32 @@ class FormBuilderFoundation0000000002000 {
37
36
  )
38
37
  )
39
38
  `);
40
- await queryRunner.query(`
39
+
40
+ await queryRunner.query(`
41
41
  ALTER TABLE form_definitions
42
42
  ADD CONSTRAINT fk_form_definitions_current_version
43
43
  FOREIGN KEY (current_version_id)
44
44
  REFERENCES form_definition_versions(id)
45
45
  `);
46
- await queryRunner.query(`
46
+
47
+ await queryRunner.query(`
47
48
  CREATE INDEX IF NOT EXISTS idx_form_definition_versions_definition_status
48
49
  ON form_definition_versions(form_definition_id, status)
49
50
  `);
50
- await queryRunner.query(`
51
+
52
+ await queryRunner.query(`
51
53
  CREATE INDEX IF NOT EXISTS idx_form_definitions_not_deleted
52
54
  ON form_definitions(deleted_at)
53
55
  WHERE deleted_at IS NULL
54
56
  `);
55
- }
56
- async down(queryRunner) {
57
- await queryRunner.query(`
57
+ }
58
+
59
+ async down(queryRunner: QueryRunner): Promise<void> {
60
+ await queryRunner.query(`
58
61
  ALTER TABLE form_definitions
59
62
  DROP CONSTRAINT IF EXISTS fk_form_definitions_current_version
60
63
  `);
61
- await queryRunner.query('DROP TABLE IF EXISTS form_definition_versions');
62
- await queryRunner.query('DROP TABLE IF EXISTS form_definitions');
63
- }
64
+ await queryRunner.query('DROP TABLE IF EXISTS form_definition_versions');
65
+ await queryRunner.query('DROP TABLE IF EXISTS form_definitions');
66
+ }
64
67
  }
65
- exports.FormBuilderFoundation0000000002000 = FormBuilderFoundation0000000002000;
66
- //# sourceMappingURL=0000000002000-form-builder-foundation.js.map
@@ -1,12 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ApprovalTemplateFoundation0000000003000 = void 0;
4
- class ApprovalTemplateFoundation0000000003000 {
5
- constructor() {
6
- this.name = 'ApprovalTemplateFoundation0000000003000';
7
- }
8
- async up(queryRunner) {
9
- await queryRunner.query(`
1
+ import { MigrationInterface, QueryRunner } from 'typeorm';
2
+
3
+ export class ApprovalTemplateFoundation0000000003000
4
+ implements MigrationInterface
5
+ {
6
+ readonly name = 'ApprovalTemplateFoundation0000000003000';
7
+
8
+ async up(queryRunner: QueryRunner): Promise<void> {
9
+ await queryRunner.query(`
10
10
  CREATE TABLE IF NOT EXISTS approval_templates (
11
11
  id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
12
12
  name text NOT NULL,
@@ -19,7 +19,8 @@ class ApprovalTemplateFoundation0000000003000 {
19
19
  created_by_member_id text NULL
20
20
  )
21
21
  `);
22
- await queryRunner.query(`
22
+
23
+ await queryRunner.query(`
23
24
  CREATE TABLE IF NOT EXISTS approval_template_versions (
24
25
  id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
25
26
  template_id uuid NOT NULL REFERENCES approval_templates(id),
@@ -41,30 +42,32 @@ class ApprovalTemplateFoundation0000000003000 {
41
42
  )
42
43
  )
43
44
  `);
44
- await queryRunner.query(`
45
+
46
+ await queryRunner.query(`
45
47
  ALTER TABLE approval_templates
46
48
  ADD CONSTRAINT fk_approval_templates_current_version
47
49
  FOREIGN KEY (current_version_id)
48
50
  REFERENCES approval_template_versions(id)
49
51
  `);
50
- await queryRunner.query(`
52
+
53
+ await queryRunner.query(`
51
54
  CREATE INDEX IF NOT EXISTS idx_approval_template_versions_template_status
52
55
  ON approval_template_versions(template_id, status)
53
56
  `);
54
- await queryRunner.query(`
57
+
58
+ await queryRunner.query(`
55
59
  CREATE INDEX IF NOT EXISTS idx_approval_templates_not_deleted
56
60
  ON approval_templates(deleted_at)
57
61
  WHERE deleted_at IS NULL
58
62
  `);
59
- }
60
- async down(queryRunner) {
61
- await queryRunner.query(`
63
+ }
64
+
65
+ async down(queryRunner: QueryRunner): Promise<void> {
66
+ await queryRunner.query(`
62
67
  ALTER TABLE approval_templates
63
68
  DROP CONSTRAINT IF EXISTS fk_approval_templates_current_version
64
69
  `);
65
- await queryRunner.query('DROP TABLE IF EXISTS approval_template_versions');
66
- await queryRunner.query('DROP TABLE IF EXISTS approval_templates');
67
- }
70
+ await queryRunner.query('DROP TABLE IF EXISTS approval_template_versions');
71
+ await queryRunner.query('DROP TABLE IF EXISTS approval_templates');
72
+ }
68
73
  }
69
- exports.ApprovalTemplateFoundation0000000003000 = ApprovalTemplateFoundation0000000003000;
70
- //# sourceMappingURL=0000000003000-approval-template-foundation.js.map
@@ -1,12 +1,10 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WorkflowEngineFoundation0000000004000 = void 0;
4
- class WorkflowEngineFoundation0000000004000 {
5
- constructor() {
6
- this.name = 'WorkflowEngineFoundation0000000004000';
7
- }
8
- async up(queryRunner) {
9
- await queryRunner.query(`
1
+ import { MigrationInterface, QueryRunner } from 'typeorm';
2
+
3
+ export class WorkflowEngineFoundation0000000004000 implements MigrationInterface {
4
+ readonly name = 'WorkflowEngineFoundation0000000004000';
5
+
6
+ async up(queryRunner: QueryRunner): Promise<void> {
7
+ await queryRunner.query(`
10
8
  CREATE TABLE IF NOT EXISTS approval_instances (
11
9
  id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
12
10
  template_id uuid NOT NULL REFERENCES approval_templates(id),
@@ -24,7 +22,8 @@ class WorkflowEngineFoundation0000000004000 {
24
22
  updated_at timestamptz NOT NULL DEFAULT now()
25
23
  )
26
24
  `);
27
- await queryRunner.query(`
25
+
26
+ await queryRunner.query(`
28
27
  CREATE TABLE IF NOT EXISTS workflow_tokens (
29
28
  id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
30
29
  instance_id uuid NOT NULL REFERENCES approval_instances(id),
@@ -35,7 +34,8 @@ class WorkflowEngineFoundation0000000004000 {
35
34
  consumed_at timestamptz NULL
36
35
  )
37
36
  `);
38
- await queryRunner.query(`
37
+
38
+ await queryRunner.query(`
39
39
  CREATE TABLE IF NOT EXISTS tasks (
40
40
  id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
41
41
  instance_id uuid NOT NULL REFERENCES approval_instances(id),
@@ -51,7 +51,8 @@ class WorkflowEngineFoundation0000000004000 {
51
51
  completed_at timestamptz NULL
52
52
  )
53
53
  `);
54
- await queryRunner.query(`
54
+
55
+ await queryRunner.query(`
55
56
  CREATE TABLE IF NOT EXISTS task_decisions (
56
57
  id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
57
58
  task_id uuid NOT NULL REFERENCES tasks(id),
@@ -64,7 +65,8 @@ class WorkflowEngineFoundation0000000004000 {
64
65
  decided_at timestamptz NOT NULL
65
66
  )
66
67
  `);
67
- await queryRunner.query(`
68
+
69
+ await queryRunner.query(`
68
70
  CREATE TABLE IF NOT EXISTS activity_logs (
69
71
  id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
70
72
  instance_id uuid NOT NULL REFERENCES approval_instances(id),
@@ -76,59 +78,69 @@ class WorkflowEngineFoundation0000000004000 {
76
78
  created_at timestamptz NOT NULL DEFAULT now()
77
79
  )
78
80
  `);
79
- await queryRunner.query(`
81
+
82
+ await queryRunner.query(`
80
83
  CREATE INDEX IF NOT EXISTS idx_approval_instances_initiator_state
81
84
  ON approval_instances(initiator_member_id, state)
82
85
  `);
83
- await queryRunner.query(`
86
+
87
+ await queryRunner.query(`
84
88
  CREATE INDEX IF NOT EXISTS idx_approval_instances_template_state
85
89
  ON approval_instances(template_id, state)
86
90
  `);
87
- await queryRunner.query(`
91
+
92
+ await queryRunner.query(`
88
93
  CREATE INDEX IF NOT EXISTS idx_approval_instances_state_started
89
94
  ON approval_instances(state, started_at)
90
95
  `);
91
- await queryRunner.query(`
96
+
97
+ await queryRunner.query(`
92
98
  CREATE INDEX IF NOT EXISTS idx_workflow_tokens_instance_status
93
99
  ON workflow_tokens(instance_id, status)
94
100
  `);
95
- await queryRunner.query(`
101
+
102
+ await queryRunner.query(`
96
103
  CREATE INDEX IF NOT EXISTS idx_tasks_assignee_status
97
104
  ON tasks(assignee_member_id, status)
98
105
  `);
99
- await queryRunner.query(`
106
+
107
+ await queryRunner.query(`
100
108
  CREATE INDEX IF NOT EXISTS idx_tasks_instance_node
101
109
  ON tasks(instance_id, node_id)
102
110
  `);
103
- await queryRunner.query(`
111
+
112
+ await queryRunner.query(`
104
113
  CREATE INDEX IF NOT EXISTS idx_tasks_sla_due
105
114
  ON tasks(sla_due_at)
106
115
  WHERE sla_due_at IS NOT NULL AND status IN ('PENDING', 'IN_PROGRESS')
107
116
  `);
108
- await queryRunner.query(`
117
+
118
+ await queryRunner.query(`
109
119
  CREATE INDEX IF NOT EXISTS idx_task_decisions_task
110
120
  ON task_decisions(task_id)
111
121
  `);
112
- await queryRunner.query(`
122
+
123
+ await queryRunner.query(`
113
124
  CREATE INDEX IF NOT EXISTS idx_task_decisions_decider
114
125
  ON task_decisions(decided_by_member_id, decided_at)
115
126
  `);
116
- await queryRunner.query(`
127
+
128
+ await queryRunner.query(`
117
129
  CREATE INDEX IF NOT EXISTS idx_activity_logs_instance_created
118
130
  ON activity_logs(instance_id, created_at)
119
131
  `);
120
- await queryRunner.query(`
132
+
133
+ await queryRunner.query(`
121
134
  CREATE INDEX IF NOT EXISTS idx_activity_logs_actor_created
122
135
  ON activity_logs(actor_member_id, created_at)
123
136
  `);
124
- }
125
- async down(queryRunner) {
126
- await queryRunner.query('DROP TABLE IF EXISTS activity_logs');
127
- await queryRunner.query('DROP TABLE IF EXISTS task_decisions');
128
- await queryRunner.query('DROP TABLE IF EXISTS tasks');
129
- await queryRunner.query('DROP TABLE IF EXISTS workflow_tokens');
130
- await queryRunner.query('DROP TABLE IF EXISTS approval_instances');
131
- }
137
+ }
138
+
139
+ async down(queryRunner: QueryRunner): Promise<void> {
140
+ await queryRunner.query('DROP TABLE IF EXISTS activity_logs');
141
+ await queryRunner.query('DROP TABLE IF EXISTS task_decisions');
142
+ await queryRunner.query('DROP TABLE IF EXISTS tasks');
143
+ await queryRunner.query('DROP TABLE IF EXISTS workflow_tokens');
144
+ await queryRunner.query('DROP TABLE IF EXISTS approval_instances');
145
+ }
132
146
  }
133
- exports.WorkflowEngineFoundation0000000004000 = WorkflowEngineFoundation0000000004000;
134
- //# sourceMappingURL=0000000004000-workflow-engine-foundation.js.map