@rytass/bpm-core-nestjs-module 0.1.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 (460) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/LICENSE +21 -0
  3. package/README.md +837 -0
  4. package/package.json +168 -0
  5. package/src/index.d.ts +14 -0
  6. package/src/index.js +18 -0
  7. package/src/index.js.map +1 -0
  8. package/src/lib/attachment/attachment-options.d.ts +44 -0
  9. package/src/lib/attachment/attachment-options.js +62 -0
  10. package/src/lib/attachment/attachment-options.js.map +1 -0
  11. package/src/lib/attachment/attachment-storage.provider.d.ts +4 -0
  12. package/src/lib/attachment/attachment-storage.provider.js +35 -0
  13. package/src/lib/attachment/attachment-storage.provider.js.map +1 -0
  14. package/src/lib/attachment/attachment-storage.token.d.ts +3 -0
  15. package/src/lib/attachment/attachment-storage.token.js +5 -0
  16. package/src/lib/attachment/attachment-storage.token.js.map +1 -0
  17. package/src/lib/attachment/attachment.controller.d.ts +8 -0
  18. package/src/lib/attachment/attachment.controller.js +38 -0
  19. package/src/lib/attachment/attachment.controller.js.map +1 -0
  20. package/src/lib/attachment/attachment.entity.d.ts +14 -0
  21. package/src/lib/attachment/attachment.entity.js +74 -0
  22. package/src/lib/attachment/attachment.entity.js.map +1 -0
  23. package/src/lib/attachment/attachment.module.d.ts +27 -0
  24. package/src/lib/attachment/attachment.module.js +103 -0
  25. package/src/lib/attachment/attachment.module.js.map +1 -0
  26. package/src/lib/attachment/attachment.mutations.d.ts +8 -0
  27. package/src/lib/attachment/attachment.mutations.js +35 -0
  28. package/src/lib/attachment/attachment.mutations.js.map +1 -0
  29. package/src/lib/attachment/attachment.queries.d.ts +9 -0
  30. package/src/lib/attachment/attachment.queries.js +78 -0
  31. package/src/lib/attachment/attachment.queries.js.map +1 -0
  32. package/src/lib/attachment/attachment.service.d.ts +49 -0
  33. package/src/lib/attachment/attachment.service.js +276 -0
  34. package/src/lib/attachment/attachment.service.js.map +1 -0
  35. package/src/lib/attachment/dto/upload-attachment.input.d.ts +11 -0
  36. package/src/lib/attachment/dto/upload-attachment.input.js +68 -0
  37. package/src/lib/attachment/dto/upload-attachment.input.js.map +1 -0
  38. package/src/lib/attachment/index.d.ts +5 -0
  39. package/src/lib/attachment/index.js +9 -0
  40. package/src/lib/attachment/index.js.map +1 -0
  41. package/src/lib/bpm/bpm-root.module.d.ts +155 -0
  42. package/src/lib/bpm/bpm-root.module.js +170 -0
  43. package/src/lib/bpm/bpm-root.module.js.map +1 -0
  44. package/src/lib/bpm/index.d.ts +1 -0
  45. package/src/lib/bpm/index.js +5 -0
  46. package/src/lib/bpm/index.js.map +1 -0
  47. package/src/lib/bpm-auth/bpm-auth-context.d.ts +24 -0
  48. package/src/lib/bpm-auth/bpm-auth-context.extractor.d.ts +4 -0
  49. package/src/lib/bpm-auth/bpm-auth-context.extractor.js +69 -0
  50. package/src/lib/bpm-auth/bpm-auth-context.extractor.js.map +1 -0
  51. package/src/lib/bpm-auth/bpm-auth-context.js +15 -0
  52. package/src/lib/bpm-auth/bpm-auth-context.js.map +1 -0
  53. package/src/lib/bpm-auth/bpm-auth.authorization.d.ts +12 -0
  54. package/src/lib/bpm-auth/bpm-auth.authorization.js +67 -0
  55. package/src/lib/bpm-auth/bpm-auth.authorization.js.map +1 -0
  56. package/src/lib/bpm-auth/bpm-auth.decorators.d.ts +3 -0
  57. package/src/lib/bpm-auth/bpm-auth.decorators.js +11 -0
  58. package/src/lib/bpm-auth/bpm-auth.decorators.js.map +1 -0
  59. package/src/lib/bpm-auth/bpm-auth.guard.d.ts +7 -0
  60. package/src/lib/bpm-auth/bpm-auth.guard.js +24 -0
  61. package/src/lib/bpm-auth/bpm-auth.guard.js.map +1 -0
  62. package/src/lib/bpm-auth/bpm-auth.module.d.ts +6 -0
  63. package/src/lib/bpm-auth/bpm-auth.module.js +69 -0
  64. package/src/lib/bpm-auth/bpm-auth.module.js.map +1 -0
  65. package/src/lib/bpm-auth/bpm-auth.options.d.ts +11 -0
  66. package/src/lib/bpm-auth/bpm-auth.options.js +3 -0
  67. package/src/lib/bpm-auth/bpm-auth.options.js.map +1 -0
  68. package/src/lib/bpm-auth/configurable-bpm-auth-context.accessor.d.ts +10 -0
  69. package/src/lib/bpm-auth/configurable-bpm-auth-context.accessor.js +40 -0
  70. package/src/lib/bpm-auth/configurable-bpm-auth-context.accessor.js.map +1 -0
  71. package/src/lib/bpm-auth/index.d.ts +6 -0
  72. package/src/lib/bpm-auth/index.js +10 -0
  73. package/src/lib/bpm-auth/index.js.map +1 -0
  74. package/src/lib/common/filters/all-exceptions.filter.d.ts +25 -0
  75. package/src/lib/common/filters/all-exceptions.filter.js +93 -0
  76. package/src/lib/common/filters/all-exceptions.filter.js.map +1 -0
  77. package/src/lib/common/index.d.ts +1 -0
  78. package/src/lib/common/index.js +5 -0
  79. package/src/lib/common/index.js.map +1 -0
  80. package/src/lib/common/iso-duration.d.ts +1 -0
  81. package/src/lib/common/iso-duration.js +27 -0
  82. package/src/lib/common/iso-duration.js.map +1 -0
  83. package/src/lib/condition/condition.module.d.ts +2 -0
  84. package/src/lib/condition/condition.module.js +16 -0
  85. package/src/lib/condition/condition.module.js.map +1 -0
  86. package/src/lib/condition/condition.service.d.ts +16 -0
  87. package/src/lib/condition/condition.service.js +82 -0
  88. package/src/lib/condition/condition.service.js.map +1 -0
  89. package/src/lib/condition/index.d.ts +2 -0
  90. package/src/lib/condition/index.js +6 -0
  91. package/src/lib/condition/index.js.map +1 -0
  92. package/src/lib/database/data-source.d.ts +4 -0
  93. package/src/lib/database/data-source.js +7 -0
  94. package/src/lib/database/data-source.js.map +1 -0
  95. package/src/lib/database/index.d.ts +2 -0
  96. package/src/lib/database/index.js +6 -0
  97. package/src/lib/database/index.js.map +1 -0
  98. package/src/lib/database/migration-runner.d.ts +1 -0
  99. package/src/lib/database/migration-runner.js +23 -0
  100. package/src/lib/database/migration-runner.js.map +1 -0
  101. package/src/lib/database/typeorm.config.d.ts +14 -0
  102. package/src/lib/database/typeorm.config.js +135 -0
  103. package/src/lib/database/typeorm.config.js.map +1 -0
  104. package/src/lib/delegation/delegation-rule.entity.d.ts +19 -0
  105. package/src/lib/delegation/delegation-rule.entity.js +99 -0
  106. package/src/lib/delegation/delegation-rule.entity.js.map +1 -0
  107. package/src/lib/delegation/delegation.enums.d.ts +10 -0
  108. package/src/lib/delegation/delegation.enums.js +23 -0
  109. package/src/lib/delegation/delegation.enums.js.map +1 -0
  110. package/src/lib/delegation/delegation.module.d.ts +2 -0
  111. package/src/lib/delegation/delegation.module.js +22 -0
  112. package/src/lib/delegation/delegation.module.js.map +1 -0
  113. package/src/lib/delegation/delegation.mutations.d.ts +11 -0
  114. package/src/lib/delegation/delegation.mutations.js +87 -0
  115. package/src/lib/delegation/delegation.mutations.js.map +1 -0
  116. package/src/lib/delegation/delegation.queries.d.ts +10 -0
  117. package/src/lib/delegation/delegation.queries.js +91 -0
  118. package/src/lib/delegation/delegation.queries.js.map +1 -0
  119. package/src/lib/delegation/delegation.service.d.ts +56 -0
  120. package/src/lib/delegation/delegation.service.js +268 -0
  121. package/src/lib/delegation/delegation.service.js.map +1 -0
  122. package/src/lib/delegation/dto/delegation-rule.input.d.ts +24 -0
  123. package/src/lib/delegation/dto/delegation-rule.input.js +143 -0
  124. package/src/lib/delegation/dto/delegation-rule.input.js.map +1 -0
  125. package/src/lib/delegation/index.d.ts +5 -0
  126. package/src/lib/delegation/index.js +9 -0
  127. package/src/lib/delegation/index.js.map +1 -0
  128. package/src/lib/form/dto/form-definition.input.d.ts +21 -0
  129. package/src/lib/form/dto/form-definition.input.js +103 -0
  130. package/src/lib/form/dto/form-definition.input.js.map +1 -0
  131. package/src/lib/form/form-definition-version.entity.d.ts +17 -0
  132. package/src/lib/form/form-definition-version.entity.js +84 -0
  133. package/src/lib/form/form-definition-version.entity.js.map +1 -0
  134. package/src/lib/form/form-definition.entity.d.ts +13 -0
  135. package/src/lib/form/form-definition.entity.js +66 -0
  136. package/src/lib/form/form-definition.entity.js.map +1 -0
  137. package/src/lib/form/form-schema-lint.object.d.ts +4 -0
  138. package/src/lib/form/form-schema-lint.object.js +20 -0
  139. package/src/lib/form/form-schema-lint.object.js.map +1 -0
  140. package/src/lib/form/form-schema.validator.d.ts +13 -0
  141. package/src/lib/form/form-schema.validator.js +354 -0
  142. package/src/lib/form/form-schema.validator.js.map +1 -0
  143. package/src/lib/form/form.enums.d.ts +9 -0
  144. package/src/lib/form/form.enums.js +22 -0
  145. package/src/lib/form/form.enums.js.map +1 -0
  146. package/src/lib/form/form.module.d.ts +2 -0
  147. package/src/lib/form/form.module.js +27 -0
  148. package/src/lib/form/form.module.js.map +1 -0
  149. package/src/lib/form/form.mutations.d.ts +14 -0
  150. package/src/lib/form/form.mutations.js +88 -0
  151. package/src/lib/form/form.mutations.js.map +1 -0
  152. package/src/lib/form/form.queries.d.ts +16 -0
  153. package/src/lib/form/form.queries.js +96 -0
  154. package/src/lib/form/form.queries.js.map +1 -0
  155. package/src/lib/form/form.service.d.ts +35 -0
  156. package/src/lib/form/form.service.js +297 -0
  157. package/src/lib/form/form.service.js.map +1 -0
  158. package/src/lib/form/index.d.ts +8 -0
  159. package/src/lib/form/index.js +12 -0
  160. package/src/lib/form/index.js.map +1 -0
  161. package/src/lib/identity/identity-options.d.ts +13 -0
  162. package/src/lib/identity/identity-options.js +20 -0
  163. package/src/lib/identity/identity-options.js.map +1 -0
  164. package/src/lib/identity/identity.module.d.ts +17 -0
  165. package/src/lib/identity/identity.module.js +65 -0
  166. package/src/lib/identity/identity.module.js.map +1 -0
  167. package/src/lib/identity/identity.queries.d.ts +12 -0
  168. package/src/lib/identity/identity.queries.js +79 -0
  169. package/src/lib/identity/identity.queries.js.map +1 -0
  170. package/src/lib/identity/identity.service.d.ts +22 -0
  171. package/src/lib/identity/identity.service.js +141 -0
  172. package/src/lib/identity/identity.service.js.map +1 -0
  173. package/src/lib/identity/index.d.ts +3 -0
  174. package/src/lib/identity/index.js +7 -0
  175. package/src/lib/identity/index.js.map +1 -0
  176. package/src/lib/identity/member-base.adapter.d.ts +95 -0
  177. package/src/lib/identity/member-base.adapter.js +137 -0
  178. package/src/lib/identity/member-base.adapter.js.map +1 -0
  179. package/src/lib/identity/member-metadata-cache.entity.d.ts +8 -0
  180. package/src/lib/identity/member-metadata-cache.entity.js +39 -0
  181. package/src/lib/identity/member-metadata-cache.entity.js.map +1 -0
  182. package/src/lib/identity/member-profile.object.d.ts +8 -0
  183. package/src/lib/identity/member-profile.object.js +37 -0
  184. package/src/lib/identity/member-profile.object.js.map +1 -0
  185. package/src/lib/identity/member-resolver.interface.d.ts +41 -0
  186. package/src/lib/identity/member-resolver.interface.js +19 -0
  187. package/src/lib/identity/member-resolver.interface.js.map +1 -0
  188. package/src/lib/migrations/0000000000000-enable-postgres-extensions.d.ts +6 -0
  189. package/src/lib/migrations/0000000000000-enable-postgres-extensions.js +17 -0
  190. package/src/lib/migrations/0000000000000-enable-postgres-extensions.js.map +1 -0
  191. package/src/lib/migrations/0000000001000-identity-organization-foundation.d.ts +6 -0
  192. package/src/lib/migrations/0000000001000-identity-organization-foundation.js +97 -0
  193. package/src/lib/migrations/0000000001000-identity-organization-foundation.js.map +1 -0
  194. package/src/lib/migrations/0000000002000-form-builder-foundation.d.ts +6 -0
  195. package/src/lib/migrations/0000000002000-form-builder-foundation.js +66 -0
  196. package/src/lib/migrations/0000000002000-form-builder-foundation.js.map +1 -0
  197. package/src/lib/migrations/0000000003000-approval-template-foundation.d.ts +6 -0
  198. package/src/lib/migrations/0000000003000-approval-template-foundation.js +70 -0
  199. package/src/lib/migrations/0000000003000-approval-template-foundation.js.map +1 -0
  200. package/src/lib/migrations/0000000004000-workflow-engine-foundation.d.ts +6 -0
  201. package/src/lib/migrations/0000000004000-workflow-engine-foundation.js +134 -0
  202. package/src/lib/migrations/0000000004000-workflow-engine-foundation.js.map +1 -0
  203. package/src/lib/migrations/0000000005000-delegation-rules.d.ts +6 -0
  204. package/src/lib/migrations/0000000005000-delegation-rules.js +46 -0
  205. package/src/lib/migrations/0000000005000-delegation-rules.js.map +1 -0
  206. package/src/lib/migrations/0000000006000-notifications-sla.d.ts +6 -0
  207. package/src/lib/migrations/0000000006000-notifications-sla.js +70 -0
  208. package/src/lib/migrations/0000000006000-notifications-sla.js.map +1 -0
  209. package/src/lib/migrations/0000000007000-signatures-attachments.d.ts +6 -0
  210. package/src/lib/migrations/0000000007000-signatures-attachments.js +93 -0
  211. package/src/lib/migrations/0000000007000-signatures-attachments.js.map +1 -0
  212. package/src/lib/migrations/0000000008000-approval-template-categories.d.ts +6 -0
  213. package/src/lib/migrations/0000000008000-approval-template-categories.js +92 -0
  214. package/src/lib/migrations/0000000008000-approval-template-categories.js.map +1 -0
  215. package/src/lib/migrations/0000000009000-task-candidates.d.ts +6 -0
  216. package/src/lib/migrations/0000000009000-task-candidates.js +97 -0
  217. package/src/lib/migrations/0000000009000-task-candidates.js.map +1 -0
  218. package/src/lib/migrations/0000000010000-notification-delivery-state.d.ts +6 -0
  219. package/src/lib/migrations/0000000010000-notification-delivery-state.js +38 -0
  220. package/src/lib/migrations/0000000010000-notification-delivery-state.js.map +1 -0
  221. package/src/lib/migrations/0000000011000-remove-attachment-encryption-key.d.ts +6 -0
  222. package/src/lib/migrations/0000000011000-remove-attachment-encryption-key.js +22 -0
  223. package/src/lib/migrations/0000000011000-remove-attachment-encryption-key.js.map +1 -0
  224. package/src/lib/migrations/0000000012000-notification-sla-idempotency.d.ts +6 -0
  225. package/src/lib/migrations/0000000012000-notification-sla-idempotency.js +21 -0
  226. package/src/lib/migrations/0000000012000-notification-sla-idempotency.js.map +1 -0
  227. package/src/lib/migrations/0000000013000-workflow-query-indexes.d.ts +6 -0
  228. package/src/lib/migrations/0000000013000-workflow-query-indexes.js +80 -0
  229. package/src/lib/migrations/0000000013000-workflow-query-indexes.js.map +1 -0
  230. package/src/lib/migrations/index.d.ts +16 -0
  231. package/src/lib/migrations/index.js +49 -0
  232. package/src/lib/migrations/index.js.map +1 -0
  233. package/src/lib/notification/dto/notification-preference.input.d.ts +9 -0
  234. package/src/lib/notification/dto/notification-preference.input.js +53 -0
  235. package/src/lib/notification/dto/notification-preference.input.js.map +1 -0
  236. package/src/lib/notification/index.d.ts +7 -0
  237. package/src/lib/notification/index.js +11 -0
  238. package/src/lib/notification/index.js.map +1 -0
  239. package/src/lib/notification/notification-delivery-scheduler.service.d.ts +13 -0
  240. package/src/lib/notification/notification-delivery-scheduler.service.js +53 -0
  241. package/src/lib/notification/notification-delivery-scheduler.service.js.map +1 -0
  242. package/src/lib/notification/notification-delivery.service.d.ts +23 -0
  243. package/src/lib/notification/notification-delivery.service.js +245 -0
  244. package/src/lib/notification/notification-delivery.service.js.map +1 -0
  245. package/src/lib/notification/notification-dispatcher.token.d.ts +7 -0
  246. package/src/lib/notification/notification-dispatcher.token.js +5 -0
  247. package/src/lib/notification/notification-dispatcher.token.js.map +1 -0
  248. package/src/lib/notification/notification-options.d.ts +215 -0
  249. package/src/lib/notification/notification-options.js +128 -0
  250. package/src/lib/notification/notification-options.js.map +1 -0
  251. package/src/lib/notification/notification-options.module.d.ts +23 -0
  252. package/src/lib/notification/notification-options.module.js +41 -0
  253. package/src/lib/notification/notification-options.module.js.map +1 -0
  254. package/src/lib/notification/notification-preference.entity.d.ts +10 -0
  255. package/src/lib/notification/notification-preference.entity.js +50 -0
  256. package/src/lib/notification/notification-preference.entity.js.map +1 -0
  257. package/src/lib/notification/notification-sla-scheduler.service.d.ts +13 -0
  258. package/src/lib/notification/notification-sla-scheduler.service.js +51 -0
  259. package/src/lib/notification/notification-sla-scheduler.service.js.map +1 -0
  260. package/src/lib/notification/notification-template.d.ts +13 -0
  261. package/src/lib/notification/notification-template.js +61 -0
  262. package/src/lib/notification/notification-template.js.map +1 -0
  263. package/src/lib/notification/notification.entity.d.ts +23 -0
  264. package/src/lib/notification/notification.entity.js +122 -0
  265. package/src/lib/notification/notification.entity.js.map +1 -0
  266. package/src/lib/notification/notification.enums.d.ts +24 -0
  267. package/src/lib/notification/notification.enums.js +45 -0
  268. package/src/lib/notification/notification.enums.js.map +1 -0
  269. package/src/lib/notification/notification.module.d.ts +2 -0
  270. package/src/lib/notification/notification.module.js +45 -0
  271. package/src/lib/notification/notification.module.js.map +1 -0
  272. package/src/lib/notification/notification.mutations.d.ts +11 -0
  273. package/src/lib/notification/notification.mutations.js +64 -0
  274. package/src/lib/notification/notification.mutations.js.map +1 -0
  275. package/src/lib/notification/notification.queries.d.ts +11 -0
  276. package/src/lib/notification/notification.queries.js +77 -0
  277. package/src/lib/notification/notification.queries.js.map +1 -0
  278. package/src/lib/notification/notification.service.d.ts +81 -0
  279. package/src/lib/notification/notification.service.js +621 -0
  280. package/src/lib/notification/notification.service.js.map +1 -0
  281. package/src/lib/organization/dto/manager-resolution.input.d.ts +18 -0
  282. package/src/lib/organization/dto/manager-resolution.input.js +107 -0
  283. package/src/lib/organization/dto/manager-resolution.input.js.map +1 -0
  284. package/src/lib/organization/dto/membership.input.d.ts +16 -0
  285. package/src/lib/organization/dto/membership.input.js +99 -0
  286. package/src/lib/organization/dto/membership.input.js.map +1 -0
  287. package/src/lib/organization/dto/org-unit.input.d.ts +24 -0
  288. package/src/lib/organization/dto/org-unit.input.js +119 -0
  289. package/src/lib/organization/dto/org-unit.input.js.map +1 -0
  290. package/src/lib/organization/dto/position.input.d.ts +13 -0
  291. package/src/lib/organization/dto/position.input.js +70 -0
  292. package/src/lib/organization/dto/position.input.js.map +1 -0
  293. package/src/lib/organization/index.d.ts +12 -0
  294. package/src/lib/organization/index.js +16 -0
  295. package/src/lib/organization/index.js.map +1 -0
  296. package/src/lib/organization/json-metadata.d.ts +1 -0
  297. package/src/lib/organization/json-metadata.js +14 -0
  298. package/src/lib/organization/json-metadata.js.map +1 -0
  299. package/src/lib/organization/manager-resolution.entity.d.ts +11 -0
  300. package/src/lib/organization/manager-resolution.entity.js +55 -0
  301. package/src/lib/organization/manager-resolution.entity.js.map +1 -0
  302. package/src/lib/organization/membership.entity.d.ts +11 -0
  303. package/src/lib/organization/membership.entity.js +60 -0
  304. package/src/lib/organization/membership.entity.js.map +1 -0
  305. package/src/lib/organization/org-unit-tree-commit-result.object.d.ts +4 -0
  306. package/src/lib/organization/org-unit-tree-commit-result.object.js +17 -0
  307. package/src/lib/organization/org-unit-tree-commit-result.object.js.map +1 -0
  308. package/src/lib/organization/org-unit.entity.d.ts +13 -0
  309. package/src/lib/organization/org-unit.entity.js +64 -0
  310. package/src/lib/organization/org-unit.entity.js.map +1 -0
  311. package/src/lib/organization/organization-summary.object.d.ts +6 -0
  312. package/src/lib/organization/organization-summary.object.js +28 -0
  313. package/src/lib/organization/organization-summary.object.js.map +1 -0
  314. package/src/lib/organization/organization.enums.d.ts +11 -0
  315. package/src/lib/organization/organization.enums.js +22 -0
  316. package/src/lib/organization/organization.enums.js.map +1 -0
  317. package/src/lib/organization/organization.module.d.ts +2 -0
  318. package/src/lib/organization/organization.module.js +35 -0
  319. package/src/lib/organization/organization.module.js.map +1 -0
  320. package/src/lib/organization/organization.mutations.d.ts +26 -0
  321. package/src/lib/organization/organization.mutations.js +148 -0
  322. package/src/lib/organization/organization.mutations.js.map +1 -0
  323. package/src/lib/organization/organization.queries.d.ts +23 -0
  324. package/src/lib/organization/organization.queries.js +202 -0
  325. package/src/lib/organization/organization.queries.js.map +1 -0
  326. package/src/lib/organization/organization.service.d.ts +102 -0
  327. package/src/lib/organization/organization.service.js +751 -0
  328. package/src/lib/organization/organization.service.js.map +1 -0
  329. package/src/lib/organization/position.entity.d.ts +9 -0
  330. package/src/lib/organization/position.entity.js +48 -0
  331. package/src/lib/organization/position.entity.js.map +1 -0
  332. package/src/lib/organization/resolved-manager.object.d.ts +4 -0
  333. package/src/lib/organization/resolved-manager.object.js +20 -0
  334. package/src/lib/organization/resolved-manager.object.js.map +1 -0
  335. package/src/lib/signature/index.d.ts +4 -0
  336. package/src/lib/signature/index.js +8 -0
  337. package/src/lib/signature/index.js.map +1 -0
  338. package/src/lib/signature/signature-options.d.ts +33 -0
  339. package/src/lib/signature/signature-options.js +51 -0
  340. package/src/lib/signature/signature-options.js.map +1 -0
  341. package/src/lib/signature/signature-verification.object.d.ts +6 -0
  342. package/src/lib/signature/signature-verification.object.js +28 -0
  343. package/src/lib/signature/signature-verification.object.js.map +1 -0
  344. package/src/lib/signature/signature.entity.d.ts +16 -0
  345. package/src/lib/signature/signature.entity.js +88 -0
  346. package/src/lib/signature/signature.entity.js.map +1 -0
  347. package/src/lib/signature/signature.module.d.ts +11 -0
  348. package/src/lib/signature/signature.module.js +60 -0
  349. package/src/lib/signature/signature.module.js.map +1 -0
  350. package/src/lib/signature/signature.queries.d.ts +11 -0
  351. package/src/lib/signature/signature.queries.js +46 -0
  352. package/src/lib/signature/signature.queries.js.map +1 -0
  353. package/src/lib/signature/signature.service.d.ts +25 -0
  354. package/src/lib/signature/signature.service.js +124 -0
  355. package/src/lib/signature/signature.service.js.map +1 -0
  356. package/src/lib/template/approval-template-category.entity.d.ts +9 -0
  357. package/src/lib/template/approval-template-category.entity.js +49 -0
  358. package/src/lib/template/approval-template-category.entity.js.map +1 -0
  359. package/src/lib/template/approval-template-version.entity.d.ts +21 -0
  360. package/src/lib/template/approval-template-version.entity.js +106 -0
  361. package/src/lib/template/approval-template-version.entity.js.map +1 -0
  362. package/src/lib/template/approval-template.entity.d.ts +14 -0
  363. package/src/lib/template/approval-template.entity.js +74 -0
  364. package/src/lib/template/approval-template.entity.js.map +1 -0
  365. package/src/lib/template/dto/approval-template.input.d.ts +36 -0
  366. package/src/lib/template/dto/approval-template.input.js +187 -0
  367. package/src/lib/template/dto/approval-template.input.js.map +1 -0
  368. package/src/lib/template/index.d.ts +8 -0
  369. package/src/lib/template/index.js +12 -0
  370. package/src/lib/template/index.js.map +1 -0
  371. package/src/lib/template/template.enums.d.ts +14 -0
  372. package/src/lib/template/template.enums.js +31 -0
  373. package/src/lib/template/template.enums.js.map +1 -0
  374. package/src/lib/template/template.module.d.ts +2 -0
  375. package/src/lib/template/template.module.js +33 -0
  376. package/src/lib/template/template.module.js.map +1 -0
  377. package/src/lib/template/template.mutations.d.ts +20 -0
  378. package/src/lib/template/template.mutations.js +139 -0
  379. package/src/lib/template/template.mutations.js.map +1 -0
  380. package/src/lib/template/template.queries.d.ts +16 -0
  381. package/src/lib/template/template.queries.js +133 -0
  382. package/src/lib/template/template.queries.js.map +1 -0
  383. package/src/lib/template/template.service.d.ts +64 -0
  384. package/src/lib/template/template.service.js +521 -0
  385. package/src/lib/template/template.service.js.map +1 -0
  386. package/src/lib/template/workflow-definition.validator.d.ts +9 -0
  387. package/src/lib/template/workflow-definition.validator.js +362 -0
  388. package/src/lib/template/workflow-definition.validator.js.map +1 -0
  389. package/src/lib/testing/cel-js.jest.d.ts +15 -0
  390. package/src/lib/testing/cel-js.jest.js +27 -0
  391. package/src/lib/testing/cel-js.jest.js.map +1 -0
  392. package/src/lib/workflow-engine/activity-log.entity.d.ts +12 -0
  393. package/src/lib/workflow-engine/activity-log.entity.js +62 -0
  394. package/src/lib/workflow-engine/activity-log.entity.js.map +1 -0
  395. package/src/lib/workflow-engine/approval-instance-page-info.object.d.ts +8 -0
  396. package/src/lib/workflow-engine/approval-instance-page-info.object.js +36 -0
  397. package/src/lib/workflow-engine/approval-instance-page-info.object.js.map +1 -0
  398. package/src/lib/workflow-engine/approval-instance.entity.d.ts +22 -0
  399. package/src/lib/workflow-engine/approval-instance.entity.js +113 -0
  400. package/src/lib/workflow-engine/approval-instance.entity.js.map +1 -0
  401. package/src/lib/workflow-engine/dto/cancel-approval-instance.input.d.ts +5 -0
  402. package/src/lib/workflow-engine/dto/cancel-approval-instance.input.js +29 -0
  403. package/src/lib/workflow-engine/dto/cancel-approval-instance.input.js.map +1 -0
  404. package/src/lib/workflow-engine/dto/decide-task.input.d.ts +9 -0
  405. package/src/lib/workflow-engine/dto/decide-task.input.js +47 -0
  406. package/src/lib/workflow-engine/dto/decide-task.input.js.map +1 -0
  407. package/src/lib/workflow-engine/dto/dry-run-approval-workflow.input.d.ts +6 -0
  408. package/src/lib/workflow-engine/dto/dry-run-approval-workflow.input.js +34 -0
  409. package/src/lib/workflow-engine/dto/dry-run-approval-workflow.input.js.map +1 -0
  410. package/src/lib/workflow-engine/dto/resubmit-approval-instance.input.d.ts +6 -0
  411. package/src/lib/workflow-engine/dto/resubmit-approval-instance.input.js +34 -0
  412. package/src/lib/workflow-engine/dto/resubmit-approval-instance.input.js.map +1 -0
  413. package/src/lib/workflow-engine/dto/submit-approval-instance.input.d.ts +7 -0
  414. package/src/lib/workflow-engine/dto/submit-approval-instance.input.js +40 -0
  415. package/src/lib/workflow-engine/dto/submit-approval-instance.input.js.map +1 -0
  416. package/src/lib/workflow-engine/index.d.ts +20 -0
  417. package/src/lib/workflow-engine/index.js +24 -0
  418. package/src/lib/workflow-engine/index.js.map +1 -0
  419. package/src/lib/workflow-engine/task-candidate.entity.d.ts +14 -0
  420. package/src/lib/workflow-engine/task-candidate.entity.js +72 -0
  421. package/src/lib/workflow-engine/task-candidate.entity.js.map +1 -0
  422. package/src/lib/workflow-engine/task-decision.entity.d.ts +12 -0
  423. package/src/lib/workflow-engine/task-decision.entity.js +60 -0
  424. package/src/lib/workflow-engine/task-decision.entity.js.map +1 -0
  425. package/src/lib/workflow-engine/task.entity.d.ts +20 -0
  426. package/src/lib/workflow-engine/task.entity.js +109 -0
  427. package/src/lib/workflow-engine/task.entity.js.map +1 -0
  428. package/src/lib/workflow-engine/workflow-condition-evaluator.d.ts +5 -0
  429. package/src/lib/workflow-engine/workflow-condition-evaluator.js +107 -0
  430. package/src/lib/workflow-engine/workflow-condition-evaluator.js.map +1 -0
  431. package/src/lib/workflow-engine/workflow-dashboard-summary.object.d.ts +8 -0
  432. package/src/lib/workflow-engine/workflow-dashboard-summary.object.js +36 -0
  433. package/src/lib/workflow-engine/workflow-dashboard-summary.object.js.map +1 -0
  434. package/src/lib/workflow-engine/workflow-dry-run.object.d.ts +21 -0
  435. package/src/lib/workflow-engine/workflow-dry-run.object.js +86 -0
  436. package/src/lib/workflow-engine/workflow-dry-run.object.js.map +1 -0
  437. package/src/lib/workflow-engine/workflow-engine.enums.d.ts +58 -0
  438. package/src/lib/workflow-engine/workflow-engine.enums.js +95 -0
  439. package/src/lib/workflow-engine/workflow-engine.enums.js.map +1 -0
  440. package/src/lib/workflow-engine/workflow-engine.module.d.ts +9 -0
  441. package/src/lib/workflow-engine/workflow-engine.module.js +76 -0
  442. package/src/lib/workflow-engine/workflow-engine.module.js.map +1 -0
  443. package/src/lib/workflow-engine/workflow-engine.mutations.d.ts +19 -0
  444. package/src/lib/workflow-engine/workflow-engine.mutations.js +106 -0
  445. package/src/lib/workflow-engine/workflow-engine.mutations.js.map +1 -0
  446. package/src/lib/workflow-engine/workflow-engine.queries.d.ts +29 -0
  447. package/src/lib/workflow-engine/workflow-engine.queries.js +225 -0
  448. package/src/lib/workflow-engine/workflow-engine.queries.js.map +1 -0
  449. package/src/lib/workflow-engine/workflow-engine.service.d.ts +145 -0
  450. package/src/lib/workflow-engine/workflow-engine.service.js +2785 -0
  451. package/src/lib/workflow-engine/workflow-engine.service.js.map +1 -0
  452. package/src/lib/workflow-engine/workflow-engine.tokens.d.ts +9 -0
  453. package/src/lib/workflow-engine/workflow-engine.tokens.js +5 -0
  454. package/src/lib/workflow-engine/workflow-engine.tokens.js.map +1 -0
  455. package/src/lib/workflow-engine/workflow-service-task-dispatcher.token.d.ts +18 -0
  456. package/src/lib/workflow-engine/workflow-service-task-dispatcher.token.js +39 -0
  457. package/src/lib/workflow-engine/workflow-service-task-dispatcher.token.js.map +1 -0
  458. package/src/lib/workflow-engine/workflow-token.entity.d.ts +10 -0
  459. package/src/lib/workflow-engine/workflow-token.entity.js +50 -0
  460. package/src/lib/workflow-engine/workflow-token.entity.js.map +1 -0
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WorkflowEngineFoundation2026050404000 = void 0;
4
+ class WorkflowEngineFoundation2026050404000 {
5
+ constructor() {
6
+ this.name = 'WorkflowEngineFoundation2026050404000';
7
+ }
8
+ async up(queryRunner) {
9
+ await queryRunner.query(`
10
+ CREATE TABLE IF NOT EXISTS approval_instances (
11
+ id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
12
+ template_id uuid NOT NULL REFERENCES approval_templates(id),
13
+ template_version_id uuid NOT NULL REFERENCES approval_template_versions(id),
14
+ initiator_member_id text NOT NULL,
15
+ initiator_metadata_snapshot jsonb NOT NULL,
16
+ workflow_snapshot jsonb NOT NULL,
17
+ form_definition_snapshot jsonb NOT NULL,
18
+ form_data jsonb NOT NULL,
19
+ state text NOT NULL,
20
+ title text NOT NULL,
21
+ started_at timestamptz NOT NULL,
22
+ completed_at timestamptz NULL,
23
+ created_at timestamptz NOT NULL DEFAULT now(),
24
+ updated_at timestamptz NOT NULL DEFAULT now()
25
+ )
26
+ `);
27
+ await queryRunner.query(`
28
+ CREATE TABLE IF NOT EXISTS workflow_tokens (
29
+ id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
30
+ instance_id uuid NOT NULL REFERENCES approval_instances(id),
31
+ current_node_id text NOT NULL,
32
+ status text NOT NULL,
33
+ parent_token_id uuid NULL REFERENCES workflow_tokens(id),
34
+ created_at timestamptz NOT NULL DEFAULT now(),
35
+ consumed_at timestamptz NULL
36
+ )
37
+ `);
38
+ await queryRunner.query(`
39
+ CREATE TABLE IF NOT EXISTS tasks (
40
+ id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
41
+ instance_id uuid NOT NULL REFERENCES approval_instances(id),
42
+ token_id uuid NOT NULL REFERENCES workflow_tokens(id),
43
+ node_id text NOT NULL,
44
+ original_assignee_member_id text NOT NULL,
45
+ assignee_member_id text NOT NULL,
46
+ delegation_chain jsonb NOT NULL DEFAULT '[]'::jsonb,
47
+ status text NOT NULL,
48
+ sla_due_at timestamptz NULL,
49
+ created_at timestamptz NOT NULL DEFAULT now(),
50
+ opened_at timestamptz NULL,
51
+ completed_at timestamptz NULL
52
+ )
53
+ `);
54
+ await queryRunner.query(`
55
+ CREATE TABLE IF NOT EXISTS task_decisions (
56
+ id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
57
+ task_id uuid NOT NULL REFERENCES tasks(id),
58
+ decided_by_member_id text NOT NULL,
59
+ action text NOT NULL,
60
+ comment text NULL,
61
+ return_to_node_id text NULL,
62
+ transfer_to_member_id text NULL,
63
+ signature_id uuid NULL,
64
+ decided_at timestamptz NOT NULL
65
+ )
66
+ `);
67
+ await queryRunner.query(`
68
+ CREATE TABLE IF NOT EXISTS activity_logs (
69
+ id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
70
+ instance_id uuid NOT NULL REFERENCES approval_instances(id),
71
+ event_type text NOT NULL,
72
+ actor_member_id text NULL,
73
+ node_id text NULL,
74
+ task_id uuid NULL REFERENCES tasks(id),
75
+ payload jsonb NOT NULL DEFAULT '{}'::jsonb,
76
+ created_at timestamptz NOT NULL DEFAULT now()
77
+ )
78
+ `);
79
+ await queryRunner.query(`
80
+ CREATE INDEX IF NOT EXISTS idx_approval_instances_initiator_state
81
+ ON approval_instances(initiator_member_id, state)
82
+ `);
83
+ await queryRunner.query(`
84
+ CREATE INDEX IF NOT EXISTS idx_approval_instances_template_state
85
+ ON approval_instances(template_id, state)
86
+ `);
87
+ await queryRunner.query(`
88
+ CREATE INDEX IF NOT EXISTS idx_approval_instances_state_started
89
+ ON approval_instances(state, started_at)
90
+ `);
91
+ await queryRunner.query(`
92
+ CREATE INDEX IF NOT EXISTS idx_workflow_tokens_instance_status
93
+ ON workflow_tokens(instance_id, status)
94
+ `);
95
+ await queryRunner.query(`
96
+ CREATE INDEX IF NOT EXISTS idx_tasks_assignee_status
97
+ ON tasks(assignee_member_id, status)
98
+ `);
99
+ await queryRunner.query(`
100
+ CREATE INDEX IF NOT EXISTS idx_tasks_instance_node
101
+ ON tasks(instance_id, node_id)
102
+ `);
103
+ await queryRunner.query(`
104
+ CREATE INDEX IF NOT EXISTS idx_tasks_sla_due
105
+ ON tasks(sla_due_at)
106
+ WHERE sla_due_at IS NOT NULL AND status IN ('PENDING', 'IN_PROGRESS')
107
+ `);
108
+ await queryRunner.query(`
109
+ CREATE INDEX IF NOT EXISTS idx_task_decisions_task
110
+ ON task_decisions(task_id)
111
+ `);
112
+ await queryRunner.query(`
113
+ CREATE INDEX IF NOT EXISTS idx_task_decisions_decider
114
+ ON task_decisions(decided_by_member_id, decided_at)
115
+ `);
116
+ await queryRunner.query(`
117
+ CREATE INDEX IF NOT EXISTS idx_activity_logs_instance_created
118
+ ON activity_logs(instance_id, created_at)
119
+ `);
120
+ await queryRunner.query(`
121
+ CREATE INDEX IF NOT EXISTS idx_activity_logs_actor_created
122
+ ON activity_logs(actor_member_id, created_at)
123
+ `);
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
+ }
132
+ }
133
+ exports.WorkflowEngineFoundation2026050404000 = WorkflowEngineFoundation2026050404000;
134
+ //# sourceMappingURL=0000000004000-workflow-engine-foundation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"0000000004000-workflow-engine-foundation.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/migrations/0000000004000-workflow-engine-foundation.ts"],"names":[],"mappings":";;;AAEA,MAAa,qCAAqC;IAAlD;QACW,SAAI,GAAG,uCAAuC,CAAC;IA8I1D,CAAC;IA5IC,KAAK,CAAC,EAAE,CAAC,WAAwB;QAC/B,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;KAiBvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;;;KAUvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;KAevB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;;;;;KAYvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;;;;KAWvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;KAIvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,WAAwB;QACjC,MAAM,WAAW,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAC9D,MAAM,WAAW,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC/D,MAAM,WAAW,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QACtD,MAAM,WAAW,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAChE,MAAM,WAAW,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;IACrE,CAAC;CACF;AA/ID,sFA+IC"}
@@ -0,0 +1,6 @@
1
+ import { MigrationInterface, QueryRunner } from 'typeorm';
2
+ export declare class DelegationRules0000000005000 implements MigrationInterface {
3
+ name: string;
4
+ up(queryRunner: QueryRunner): Promise<void>;
5
+ down(queryRunner: QueryRunner): Promise<void>;
6
+ }
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DelegationRules0000000005000 = void 0;
4
+ class DelegationRules0000000005000 {
5
+ constructor() {
6
+ this.name = 'DelegationRules0000000005000';
7
+ }
8
+ async up(queryRunner) {
9
+ await queryRunner.query(`
10
+ CREATE TABLE IF NOT EXISTS "delegation_rules" (
11
+ "id" uuid NOT NULL DEFAULT uuid_generate_v4(),
12
+ "principal_member_id" text NOT NULL,
13
+ "agent_member_id" text NOT NULL,
14
+ "scope_type" text NOT NULL,
15
+ "scope_template_ids" uuid[] NOT NULL DEFAULT '{}'::uuid[],
16
+ "scope_condition_cel" text,
17
+ "priority" integer NOT NULL DEFAULT 100,
18
+ "start_at" timestamptz NOT NULL,
19
+ "end_at" timestamptz,
20
+ "requires_confirmation" boolean NOT NULL DEFAULT false,
21
+ "status" text NOT NULL,
22
+ "created_by_member_id" text,
23
+ "created_at" timestamptz NOT NULL DEFAULT now(),
24
+ "updated_at" timestamptz NOT NULL DEFAULT now(),
25
+ "revoked_at" timestamptz,
26
+ "revoked_by_member_id" text,
27
+ CONSTRAINT "PK_delegation_rules_id" PRIMARY KEY ("id")
28
+ )
29
+ `);
30
+ await queryRunner.query(`
31
+ CREATE INDEX IF NOT EXISTS "IDX_delegation_rules_principal_status"
32
+ ON "delegation_rules" ("principal_member_id", "status", "start_at", "end_at")
33
+ `);
34
+ await queryRunner.query(`
35
+ CREATE INDEX IF NOT EXISTS "IDX_delegation_rules_agent"
36
+ ON "delegation_rules" ("agent_member_id")
37
+ `);
38
+ }
39
+ async down(queryRunner) {
40
+ await queryRunner.query('DROP INDEX IF EXISTS "IDX_delegation_rules_agent"');
41
+ await queryRunner.query('DROP INDEX IF EXISTS "IDX_delegation_rules_principal_status"');
42
+ await queryRunner.query('DROP TABLE IF EXISTS "delegation_rules"');
43
+ }
44
+ }
45
+ exports.DelegationRules0000000005000 = DelegationRules0000000005000;
46
+ //# sourceMappingURL=0000000005000-delegation-rules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"0000000005000-delegation-rules.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/migrations/0000000005000-delegation-rules.ts"],"names":[],"mappings":";;;AAEA,MAAa,4BAA4B;IAAzC;QACE,SAAI,GAAG,8BAA8B,CAAC;IA2CxC,CAAC;IAzCC,KAAK,CAAC,EAAE,CAAC,WAAwB;QAC/B,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;KAoBvB,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,WAAwB;QACjC,MAAM,WAAW,CAAC,KAAK,CACrB,mDAAmD,CACpD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,8DAA8D,CAC/D,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;IACrE,CAAC;CACF;AA5CD,oEA4CC"}
@@ -0,0 +1,6 @@
1
+ import { MigrationInterface, QueryRunner } from 'typeorm';
2
+ export declare class NotificationsSla0000000006000 implements MigrationInterface {
3
+ name: string;
4
+ up(queryRunner: QueryRunner): Promise<void>;
5
+ down(queryRunner: QueryRunner): Promise<void>;
6
+ }
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NotificationsSla0000000006000 = void 0;
4
+ class NotificationsSla0000000006000 {
5
+ constructor() {
6
+ this.name = 'NotificationsSla0000000006000';
7
+ }
8
+ async up(queryRunner) {
9
+ await queryRunner.query(`
10
+ CREATE TABLE IF NOT EXISTS "notifications" (
11
+ "id" uuid NOT NULL DEFAULT uuid_generate_v4(),
12
+ "recipient_member_id" text NOT NULL,
13
+ "channel" text NOT NULL,
14
+ "type" text NOT NULL,
15
+ "instance_id" uuid NULL,
16
+ "task_id" uuid NULL,
17
+ "title" text NOT NULL,
18
+ "body" text NOT NULL,
19
+ "payload" jsonb NOT NULL DEFAULT '{}'::jsonb,
20
+ "status" text NOT NULL,
21
+ "sent_at" timestamptz NULL,
22
+ "read_at" timestamptz NULL,
23
+ "created_at" timestamptz NOT NULL DEFAULT now(),
24
+ CONSTRAINT "PK_notifications_id" PRIMARY KEY ("id"),
25
+ CONSTRAINT "FK_notifications_instance"
26
+ FOREIGN KEY ("instance_id") REFERENCES "approval_instances"("id")
27
+ ON DELETE SET NULL,
28
+ CONSTRAINT "FK_notifications_task"
29
+ FOREIGN KEY ("task_id") REFERENCES "tasks"("id")
30
+ ON DELETE SET NULL
31
+ )
32
+ `);
33
+ await queryRunner.query(`
34
+ CREATE INDEX IF NOT EXISTS "IDX_notifications_recipient_status_created"
35
+ ON "notifications" ("recipient_member_id", "status", "created_at")
36
+ `);
37
+ await queryRunner.query(`
38
+ CREATE INDEX IF NOT EXISTS "IDX_notifications_pending"
39
+ ON "notifications" ("status")
40
+ WHERE "status" = 'PENDING'
41
+ `);
42
+ await queryRunner.query(`
43
+ CREATE INDEX IF NOT EXISTS "IDX_notifications_task_type_channel"
44
+ ON "notifications" ("task_id", "type", "channel")
45
+ WHERE "task_id" IS NOT NULL
46
+ `);
47
+ await queryRunner.query(`
48
+ CREATE TABLE IF NOT EXISTS "notification_preferences" (
49
+ "member_id" text NOT NULL,
50
+ "in_app_enabled" boolean NOT NULL DEFAULT true,
51
+ "email_enabled" boolean NOT NULL DEFAULT true,
52
+ "email_digest_mode" text NOT NULL DEFAULT 'INSTANT',
53
+ "quiet_hours_start" time NULL,
54
+ "quiet_hours_end" time NULL,
55
+ "updated_at" timestamptz NOT NULL DEFAULT now(),
56
+ CONSTRAINT "PK_notification_preferences_member_id"
57
+ PRIMARY KEY ("member_id")
58
+ )
59
+ `);
60
+ }
61
+ async down(queryRunner) {
62
+ await queryRunner.query('DROP TABLE IF EXISTS "notification_preferences"');
63
+ await queryRunner.query('DROP INDEX IF EXISTS "IDX_notifications_task_type_channel"');
64
+ await queryRunner.query('DROP INDEX IF EXISTS "IDX_notifications_pending"');
65
+ await queryRunner.query('DROP INDEX IF EXISTS "IDX_notifications_recipient_status_created"');
66
+ await queryRunner.query('DROP TABLE IF EXISTS "notifications"');
67
+ }
68
+ }
69
+ exports.NotificationsSla0000000006000 = NotificationsSla0000000006000;
70
+ //# sourceMappingURL=0000000006000-notifications-sla.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"0000000006000-notifications-sla.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/migrations/0000000006000-notifications-sla.ts"],"names":[],"mappings":";;;AAEA,MAAa,6BAA6B;IAA1C;QACE,SAAI,GAAG,+BAA+B,CAAC;IAqEzC,CAAC;IAnEC,KAAK,CAAC,EAAE,CAAC,WAAwB;QAC/B,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;KAuBvB,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;KAIvB,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;KAIvB,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;;;;;KAYvB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,WAAwB;QACjC,MAAM,WAAW,CAAC,KAAK,CACrB,iDAAiD,CAClD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,4DAA4D,CAC7D,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;QAC5E,MAAM,WAAW,CAAC,KAAK,CACrB,mEAAmE,CACpE,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAClE,CAAC;CACF;AAtED,sEAsEC"}
@@ -0,0 +1,6 @@
1
+ import { MigrationInterface, QueryRunner } from 'typeorm';
2
+ export declare class SignaturesAttachments0000000007000 implements MigrationInterface {
3
+ name: string;
4
+ up(queryRunner: QueryRunner): Promise<void>;
5
+ down(queryRunner: QueryRunner): Promise<void>;
6
+ }
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SignaturesAttachments0000000007000 = void 0;
4
+ class SignaturesAttachments0000000007000 {
5
+ constructor() {
6
+ this.name = 'SignaturesAttachments0000000007000';
7
+ }
8
+ async up(queryRunner) {
9
+ await queryRunner.query(`
10
+ CREATE TABLE IF NOT EXISTS "signatures" (
11
+ "id" uuid NOT NULL DEFAULT uuid_generate_v4(),
12
+ "instance_id" uuid NOT NULL,
13
+ "task_id" uuid NULL,
14
+ "signer_member_id" text NOT NULL,
15
+ "algorithm" text NOT NULL,
16
+ "signed_payload" jsonb NOT NULL,
17
+ "signed_payload_hash" text NOT NULL,
18
+ "signature" text NOT NULL,
19
+ "key_version" integer NOT NULL,
20
+ "previous_signature_hash" text NULL,
21
+ "timestamp_token" bytea NULL,
22
+ "signed_at" timestamptz NOT NULL,
23
+ CONSTRAINT "PK_signatures_id" PRIMARY KEY ("id"),
24
+ CONSTRAINT "FK_signatures_instance"
25
+ FOREIGN KEY ("instance_id") REFERENCES "approval_instances"("id")
26
+ ON DELETE CASCADE,
27
+ CONSTRAINT "FK_signatures_task"
28
+ FOREIGN KEY ("task_id") REFERENCES "tasks"("id")
29
+ ON DELETE SET NULL
30
+ )
31
+ `);
32
+ await queryRunner.query(`
33
+ CREATE INDEX IF NOT EXISTS "IDX_signatures_instance_signed_at"
34
+ ON "signatures" ("instance_id", "signed_at")
35
+ `);
36
+ await queryRunner.query(`
37
+ CREATE INDEX IF NOT EXISTS "IDX_signatures_signer_signed_at"
38
+ ON "signatures" ("signer_member_id", "signed_at")
39
+ `);
40
+ await queryRunner.query(`
41
+ ALTER TABLE "task_decisions"
42
+ ADD CONSTRAINT "FK_task_decisions_signature"
43
+ FOREIGN KEY ("signature_id") REFERENCES "signatures"("id")
44
+ ON DELETE SET NULL
45
+ `);
46
+ await queryRunner.query(`
47
+ CREATE TABLE IF NOT EXISTS "attachments" (
48
+ "id" uuid NOT NULL DEFAULT uuid_generate_v4(),
49
+ "instance_id" uuid NULL,
50
+ "task_id" uuid NULL,
51
+ "form_field_path" text NULL,
52
+ "uploader_member_id" text NOT NULL,
53
+ "filename" text NOT NULL,
54
+ "mime_type" text NOT NULL,
55
+ "size_bytes" bigint NOT NULL,
56
+ "storage_provider" text NOT NULL,
57
+ "storage_key" text NOT NULL,
58
+ "encryption_key_id" text NULL,
59
+ "checksum_sha256" text NOT NULL,
60
+ "created_at" timestamptz NOT NULL DEFAULT now(),
61
+ CONSTRAINT "PK_attachments_id" PRIMARY KEY ("id"),
62
+ CONSTRAINT "FK_attachments_instance"
63
+ FOREIGN KEY ("instance_id") REFERENCES "approval_instances"("id")
64
+ ON DELETE CASCADE,
65
+ CONSTRAINT "FK_attachments_task"
66
+ FOREIGN KEY ("task_id") REFERENCES "tasks"("id")
67
+ ON DELETE SET NULL
68
+ )
69
+ `);
70
+ await queryRunner.query(`
71
+ CREATE INDEX IF NOT EXISTS "IDX_attachments_instance"
72
+ ON "attachments" ("instance_id")
73
+ `);
74
+ await queryRunner.query(`
75
+ CREATE INDEX IF NOT EXISTS "IDX_attachments_task"
76
+ ON "attachments" ("task_id")
77
+ `);
78
+ }
79
+ async down(queryRunner) {
80
+ await queryRunner.query('DROP INDEX IF EXISTS "IDX_attachments_task"');
81
+ await queryRunner.query('DROP INDEX IF EXISTS "IDX_attachments_instance"');
82
+ await queryRunner.query('DROP TABLE IF EXISTS "attachments"');
83
+ await queryRunner.query(`
84
+ ALTER TABLE "task_decisions"
85
+ DROP CONSTRAINT IF EXISTS "FK_task_decisions_signature"
86
+ `);
87
+ await queryRunner.query('DROP INDEX IF EXISTS "IDX_signatures_signer_signed_at"');
88
+ await queryRunner.query('DROP INDEX IF EXISTS "IDX_signatures_instance_signed_at"');
89
+ await queryRunner.query('DROP TABLE IF EXISTS "signatures"');
90
+ }
91
+ }
92
+ exports.SignaturesAttachments0000000007000 = SignaturesAttachments0000000007000;
93
+ //# sourceMappingURL=0000000007000-signatures-attachments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"0000000007000-signatures-attachments.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/migrations/0000000007000-signatures-attachments.ts"],"names":[],"mappings":";;;AAEA,MAAa,kCAAkC;IAA/C;QACE,SAAI,GAAG,oCAAoC,CAAC;IA0F9C,CAAC;IAxFC,KAAK,CAAC,EAAE,CAAC,WAAwB;QAC/B,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;KAsBvB,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;KAKvB,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;KAuBvB,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,WAAwB;QACjC,MAAM,WAAW,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACvE,MAAM,WAAW,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;QAC3E,MAAM,WAAW,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAC9D,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,KAAK,CACrB,wDAAwD,CACzD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,0DAA0D,CAC3D,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAC/D,CAAC;CACF;AA3FD,gFA2FC"}
@@ -0,0 +1,6 @@
1
+ import { MigrationInterface, QueryRunner } from 'typeorm';
2
+ export declare class ApprovalTemplateCategories2026051208000 implements MigrationInterface {
3
+ readonly name = "ApprovalTemplateCategories2026051208000";
4
+ up(queryRunner: QueryRunner): Promise<void>;
5
+ down(queryRunner: QueryRunner): Promise<void>;
6
+ }
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ApprovalTemplateCategories2026051208000 = void 0;
4
+ class ApprovalTemplateCategories2026051208000 {
5
+ constructor() {
6
+ this.name = 'ApprovalTemplateCategories2026051208000';
7
+ }
8
+ async up(queryRunner) {
9
+ await queryRunner.query(`
10
+ CREATE TABLE IF NOT EXISTS approval_template_categories (
11
+ id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
12
+ name text NOT NULL,
13
+ description text NULL,
14
+ is_active boolean NOT NULL DEFAULT true,
15
+ sort_order int NOT NULL DEFAULT 0,
16
+ created_at timestamptz NOT NULL DEFAULT now(),
17
+ updated_at timestamptz NOT NULL DEFAULT now()
18
+ )
19
+ `);
20
+ await queryRunner.query(`
21
+ ALTER TABLE approval_templates
22
+ ADD COLUMN IF NOT EXISTS category_id uuid NULL
23
+ `);
24
+ await queryRunner.query(`
25
+ WITH distinct_categories AS (
26
+ SELECT
27
+ btrim(category) AS name,
28
+ min(created_at) AS created_at,
29
+ min(updated_at) AS updated_at
30
+ FROM approval_templates
31
+ WHERE category IS NOT NULL
32
+ AND btrim(category) <> ''
33
+ GROUP BY btrim(category)
34
+ )
35
+ INSERT INTO approval_template_categories (
36
+ name,
37
+ created_at,
38
+ updated_at
39
+ )
40
+ SELECT
41
+ distinct_categories.name,
42
+ distinct_categories.created_at,
43
+ distinct_categories.updated_at
44
+ FROM distinct_categories
45
+ `);
46
+ await queryRunner.query(`
47
+ UPDATE approval_templates AS template
48
+ SET category_id = category.id
49
+ FROM approval_template_categories AS category
50
+ WHERE template.category_id IS NULL
51
+ AND template.category IS NOT NULL
52
+ AND btrim(template.category) <> ''
53
+ AND category.name = btrim(template.category)
54
+ `);
55
+ await queryRunner.query(`
56
+ ALTER TABLE approval_templates
57
+ ADD CONSTRAINT fk_approval_templates_category
58
+ FOREIGN KEY (category_id)
59
+ REFERENCES approval_template_categories(id)
60
+ ON DELETE SET NULL
61
+ `);
62
+ await queryRunner.query(`
63
+ CREATE INDEX IF NOT EXISTS idx_approval_template_categories_active_sort
64
+ ON approval_template_categories(is_active, sort_order, name)
65
+ `);
66
+ await queryRunner.query(`
67
+ CREATE INDEX IF NOT EXISTS idx_approval_templates_category_id
68
+ ON approval_templates(category_id)
69
+ `);
70
+ }
71
+ async down(queryRunner) {
72
+ await queryRunner.query(`
73
+ DROP INDEX IF EXISTS idx_approval_templates_category_id
74
+ `);
75
+ await queryRunner.query(`
76
+ DROP INDEX IF EXISTS idx_approval_template_categories_active_sort
77
+ `);
78
+ await queryRunner.query(`
79
+ ALTER TABLE approval_templates
80
+ DROP CONSTRAINT IF EXISTS fk_approval_templates_category
81
+ `);
82
+ await queryRunner.query(`
83
+ ALTER TABLE approval_templates
84
+ DROP COLUMN IF EXISTS category_id
85
+ `);
86
+ await queryRunner.query(`
87
+ DROP TABLE IF EXISTS approval_template_categories
88
+ `);
89
+ }
90
+ }
91
+ exports.ApprovalTemplateCategories2026051208000 = ApprovalTemplateCategories2026051208000;
92
+ //# sourceMappingURL=0000000008000-approval-template-categories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"0000000008000-approval-template-categories.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/migrations/0000000008000-approval-template-categories.ts"],"names":[],"mappings":";;;AAEA,MAAa,uCAAuC;IAApD;QACW,SAAI,GAAG,yCAAyC,CAAC;IA2F5D,CAAC;IAzFC,KAAK,CAAC,EAAE,CAAC,WAAwB;QAC/B,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;;;KAUvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;KAqBvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;KAQvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;KAMvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,WAAwB;QACjC,MAAM,WAAW,CAAC,KAAK,CAAC;;KAEvB,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,KAAK,CAAC;;KAEvB,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,KAAK,CAAC;;KAEvB,CAAC,CAAC;IACL,CAAC;CACF;AA5FD,0FA4FC"}
@@ -0,0 +1,6 @@
1
+ import { MigrationInterface, QueryRunner } from 'typeorm';
2
+ export declare class TaskCandidates2026051309000 implements MigrationInterface {
3
+ readonly name = "TaskCandidates2026051309000";
4
+ up(queryRunner: QueryRunner): Promise<void>;
5
+ down(queryRunner: QueryRunner): Promise<void>;
6
+ }
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TaskCandidates2026051309000 = void 0;
4
+ class TaskCandidates2026051309000 {
5
+ constructor() {
6
+ this.name = 'TaskCandidates2026051309000';
7
+ }
8
+ async up(queryRunner) {
9
+ await queryRunner.query(`
10
+ ALTER TABLE tasks
11
+ ALTER COLUMN original_assignee_member_id DROP NOT NULL,
12
+ ALTER COLUMN assignee_member_id DROP NOT NULL
13
+ `);
14
+ await queryRunner.query(`
15
+ ALTER TABLE tasks
16
+ ADD COLUMN IF NOT EXISTS assignment_type text NOT NULL DEFAULT 'DIRECT_MEMBER',
17
+ ADD COLUMN IF NOT EXISTS decision_policy_snapshot jsonb NOT NULL DEFAULT '{"type":"SINGLE"}'::jsonb
18
+ `);
19
+ await queryRunner.query(`
20
+ CREATE TABLE IF NOT EXISTS task_candidates (
21
+ id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
22
+ task_id uuid NOT NULL REFERENCES tasks(id) ON DELETE CASCADE,
23
+ member_id text NOT NULL,
24
+ original_member_id text NOT NULL,
25
+ source_type text NOT NULL,
26
+ delegation_chain jsonb NOT NULL DEFAULT '[]'::jsonb,
27
+ status text NOT NULL,
28
+ claimed_at timestamptz NULL,
29
+ decided_at timestamptz NULL,
30
+ created_at timestamptz NOT NULL DEFAULT now()
31
+ )
32
+ `);
33
+ await queryRunner.query(`
34
+ INSERT INTO task_candidates (
35
+ task_id,
36
+ member_id,
37
+ original_member_id,
38
+ source_type,
39
+ delegation_chain,
40
+ status,
41
+ claimed_at,
42
+ decided_at,
43
+ created_at
44
+ )
45
+ SELECT
46
+ id,
47
+ assignee_member_id,
48
+ COALESCE(original_assignee_member_id, assignee_member_id),
49
+ 'DIRECT',
50
+ delegation_chain,
51
+ CASE
52
+ WHEN status = 'COMPLETED' THEN 'COMPLETED'
53
+ WHEN status = 'TRANSFERRED' THEN 'TRANSFERRED'
54
+ WHEN status = 'CANCELLED' THEN 'CANCELLED'
55
+ ELSE 'PENDING'
56
+ END,
57
+ opened_at,
58
+ completed_at,
59
+ created_at
60
+ FROM tasks
61
+ WHERE assignee_member_id IS NOT NULL
62
+ AND NOT EXISTS (
63
+ SELECT 1
64
+ FROM task_candidates
65
+ WHERE task_candidates.task_id = tasks.id
66
+ AND task_candidates.member_id = tasks.assignee_member_id
67
+ )
68
+ `);
69
+ await queryRunner.query(`
70
+ CREATE UNIQUE INDEX IF NOT EXISTS idx_task_candidates_task_member
71
+ ON task_candidates(task_id, member_id)
72
+ `);
73
+ await queryRunner.query(`
74
+ CREATE INDEX IF NOT EXISTS idx_task_candidates_member_status
75
+ ON task_candidates(member_id, status)
76
+ `);
77
+ await queryRunner.query(`
78
+ CREATE INDEX IF NOT EXISTS idx_task_candidates_task
79
+ ON task_candidates(task_id)
80
+ `);
81
+ }
82
+ async down(queryRunner) {
83
+ await queryRunner.query('DROP TABLE IF EXISTS task_candidates');
84
+ await queryRunner.query(`
85
+ ALTER TABLE tasks
86
+ DROP COLUMN IF EXISTS decision_policy_snapshot,
87
+ DROP COLUMN IF EXISTS assignment_type
88
+ `);
89
+ await queryRunner.query(`
90
+ ALTER TABLE tasks
91
+ ALTER COLUMN original_assignee_member_id SET NOT NULL,
92
+ ALTER COLUMN assignee_member_id SET NOT NULL
93
+ `);
94
+ }
95
+ }
96
+ exports.TaskCandidates2026051309000 = TaskCandidates2026051309000;
97
+ //# sourceMappingURL=0000000009000-task-candidates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"0000000009000-task-candidates.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/migrations/0000000009000-task-candidates.ts"],"names":[],"mappings":";;;AAEA,MAAa,2BAA2B;IAAxC;QACW,SAAI,GAAG,6BAA6B,CAAC;IAgGhD,CAAC;IA9FC,KAAK,CAAC,EAAE,CAAC,WAAwB;QAC/B,MAAM,WAAW,CAAC,KAAK,CAAC;;;;KAIvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;KAIvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;;;;;;KAavB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAmCvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,WAAwB;QACjC,MAAM,WAAW,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAChE,MAAM,WAAW,CAAC,KAAK,CAAC;;;;KAIvB,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;KAIvB,CAAC,CAAC;IACL,CAAC;CACF;AAjGD,kEAiGC"}
@@ -0,0 +1,6 @@
1
+ import { MigrationInterface, QueryRunner } from 'typeorm';
2
+ export declare class NotificationDeliveryState0000000010000 implements MigrationInterface {
3
+ name: string;
4
+ up(queryRunner: QueryRunner): Promise<void>;
5
+ down(queryRunner: QueryRunner): Promise<void>;
6
+ }
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NotificationDeliveryState0000000010000 = void 0;
4
+ class NotificationDeliveryState0000000010000 {
5
+ constructor() {
6
+ this.name = 'NotificationDeliveryState0000000010000';
7
+ }
8
+ async up(queryRunner) {
9
+ await queryRunner.query(`
10
+ ALTER TABLE "notifications"
11
+ ADD COLUMN IF NOT EXISTS "attempt_count" integer NOT NULL DEFAULT 0,
12
+ ADD COLUMN IF NOT EXISTS "last_attempt_at" timestamptz NULL,
13
+ ADD COLUMN IF NOT EXISTS "next_retry_at" timestamptz NULL,
14
+ ADD COLUMN IF NOT EXISTS "delivery_error" text NULL,
15
+ ADD COLUMN IF NOT EXISTS "delivered_at" timestamptz NULL,
16
+ ADD COLUMN IF NOT EXISTS "delivery_target" text NULL
17
+ `);
18
+ await queryRunner.query(`
19
+ CREATE INDEX IF NOT EXISTS "IDX_notifications_pending_delivery"
20
+ ON "notifications" ("status", "next_retry_at", "created_at")
21
+ WHERE "status" = 'PENDING'
22
+ `);
23
+ }
24
+ async down(queryRunner) {
25
+ await queryRunner.query('DROP INDEX IF EXISTS "IDX_notifications_pending_delivery"');
26
+ await queryRunner.query(`
27
+ ALTER TABLE "notifications"
28
+ DROP COLUMN IF EXISTS "delivery_target",
29
+ DROP COLUMN IF EXISTS "delivered_at",
30
+ DROP COLUMN IF EXISTS "delivery_error",
31
+ DROP COLUMN IF EXISTS "next_retry_at",
32
+ DROP COLUMN IF EXISTS "last_attempt_at",
33
+ DROP COLUMN IF EXISTS "attempt_count"
34
+ `);
35
+ }
36
+ }
37
+ exports.NotificationDeliveryState0000000010000 = NotificationDeliveryState0000000010000;
38
+ //# sourceMappingURL=0000000010000-notification-delivery-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"0000000010000-notification-delivery-state.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/migrations/0000000010000-notification-delivery-state.ts"],"names":[],"mappings":";;;AAEA,MAAa,sCAAsC;IAAnD;QACE,SAAI,GAAG,wCAAwC,CAAC;IAiClD,CAAC;IA/BC,KAAK,CAAC,EAAE,CAAC,WAAwB;QAC/B,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;KAQvB,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;KAIvB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,WAAwB;QACjC,MAAM,WAAW,CAAC,KAAK,CACrB,2DAA2D,CAC5D,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;KAQvB,CAAC,CAAC;IACL,CAAC;CACF;AAlCD,wFAkCC"}
@@ -0,0 +1,6 @@
1
+ import { MigrationInterface, QueryRunner } from 'typeorm';
2
+ export declare class RemoveAttachmentEncryptionKey0000000011000 implements MigrationInterface {
3
+ name: string;
4
+ up(queryRunner: QueryRunner): Promise<void>;
5
+ down(queryRunner: QueryRunner): Promise<void>;
6
+ }