@rytass/bpm-core-nestjs-module 0.1.3 → 0.1.4

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 (609) hide show
  1. package/LICENSE +21 -0
  2. package/package.json +3 -3
  3. package/src/index.js +18 -0
  4. package/src/index.js.map +1 -0
  5. package/src/lib/attachment/attachment-options.d.ts +44 -0
  6. package/src/lib/attachment/attachment-options.js +62 -0
  7. package/src/lib/attachment/attachment-options.js.map +1 -0
  8. package/src/lib/attachment/attachment-storage.provider.d.ts +4 -0
  9. package/src/lib/attachment/attachment-storage.provider.js +35 -0
  10. package/src/lib/attachment/attachment-storage.provider.js.map +1 -0
  11. package/src/lib/attachment/{attachment-storage.token.ts → attachment-storage.token.d.ts} +1 -3
  12. package/src/lib/attachment/attachment-storage.token.js +5 -0
  13. package/src/lib/attachment/attachment-storage.token.js.map +1 -0
  14. package/src/lib/attachment/attachment.controller.d.ts +8 -0
  15. package/src/lib/attachment/attachment.controller.js +38 -0
  16. package/src/lib/attachment/attachment.controller.js.map +1 -0
  17. package/src/lib/attachment/attachment.entity.d.ts +14 -0
  18. package/src/lib/attachment/attachment.entity.js +74 -0
  19. package/src/lib/attachment/attachment.entity.js.map +1 -0
  20. package/src/lib/attachment/attachment.module.d.ts +27 -0
  21. package/src/lib/attachment/attachment.module.js +103 -0
  22. package/src/lib/attachment/attachment.module.js.map +1 -0
  23. package/src/lib/attachment/attachment.mutations.d.ts +8 -0
  24. package/src/lib/attachment/attachment.mutations.js +35 -0
  25. package/src/lib/attachment/attachment.mutations.js.map +1 -0
  26. package/src/lib/attachment/attachment.queries.d.ts +9 -0
  27. package/src/lib/attachment/attachment.queries.js +78 -0
  28. package/src/lib/attachment/attachment.queries.js.map +1 -0
  29. package/src/lib/attachment/attachment.service.d.ts +49 -0
  30. package/src/lib/attachment/attachment.service.js +276 -0
  31. package/src/lib/attachment/attachment.service.js.map +1 -0
  32. package/src/lib/attachment/dto/upload-attachment.input.d.ts +11 -0
  33. package/src/lib/attachment/dto/upload-attachment.input.js +68 -0
  34. package/src/lib/attachment/dto/upload-attachment.input.js.map +1 -0
  35. package/src/lib/attachment/index.js +9 -0
  36. package/src/lib/attachment/index.js.map +1 -0
  37. package/src/lib/bpm/bpm-root.module.d.ts +155 -0
  38. package/src/lib/bpm/bpm-root.module.js +170 -0
  39. package/src/lib/bpm/bpm-root.module.js.map +1 -0
  40. package/src/lib/bpm/index.js +5 -0
  41. package/src/lib/bpm/index.js.map +1 -0
  42. package/src/lib/bpm-auth/bpm-auth-context.d.ts +24 -0
  43. package/src/lib/bpm-auth/bpm-auth-context.extractor.d.ts +4 -0
  44. package/src/lib/bpm-auth/bpm-auth-context.extractor.js +69 -0
  45. package/src/lib/bpm-auth/bpm-auth-context.extractor.js.map +1 -0
  46. package/src/lib/bpm-auth/bpm-auth-context.js +15 -0
  47. package/src/lib/bpm-auth/bpm-auth-context.js.map +1 -0
  48. package/src/lib/bpm-auth/bpm-auth.authorization.d.ts +12 -0
  49. package/src/lib/bpm-auth/bpm-auth.authorization.js +67 -0
  50. package/src/lib/bpm-auth/bpm-auth.authorization.js.map +1 -0
  51. package/src/lib/bpm-auth/bpm-auth.decorators.d.ts +3 -0
  52. package/src/lib/bpm-auth/bpm-auth.decorators.js +11 -0
  53. package/src/lib/bpm-auth/bpm-auth.decorators.js.map +1 -0
  54. package/src/lib/bpm-auth/bpm-auth.guard.d.ts +7 -0
  55. package/src/lib/bpm-auth/bpm-auth.guard.js +24 -0
  56. package/src/lib/bpm-auth/bpm-auth.guard.js.map +1 -0
  57. package/src/lib/bpm-auth/bpm-auth.module.d.ts +6 -0
  58. package/src/lib/bpm-auth/bpm-auth.module.js +69 -0
  59. package/src/lib/bpm-auth/bpm-auth.module.js.map +1 -0
  60. package/src/lib/bpm-auth/bpm-auth.options.d.ts +11 -0
  61. package/src/lib/bpm-auth/bpm-auth.options.js +3 -0
  62. package/src/lib/bpm-auth/bpm-auth.options.js.map +1 -0
  63. package/src/lib/bpm-auth/configurable-bpm-auth-context.accessor.d.ts +10 -0
  64. package/src/lib/bpm-auth/configurable-bpm-auth-context.accessor.js +40 -0
  65. package/src/lib/bpm-auth/configurable-bpm-auth-context.accessor.js.map +1 -0
  66. package/src/lib/bpm-auth/index.js +10 -0
  67. package/src/lib/bpm-auth/index.js.map +1 -0
  68. package/src/lib/common/filters/all-exceptions.filter.d.ts +25 -0
  69. package/src/lib/common/filters/all-exceptions.filter.js +93 -0
  70. package/src/lib/common/filters/all-exceptions.filter.js.map +1 -0
  71. package/src/lib/common/index.js +5 -0
  72. package/src/lib/common/index.js.map +1 -0
  73. package/src/lib/common/iso-duration.d.ts +1 -0
  74. package/src/lib/common/iso-duration.js +27 -0
  75. package/src/lib/common/iso-duration.js.map +1 -0
  76. package/src/lib/condition/condition.module.d.ts +2 -0
  77. package/src/lib/condition/condition.module.js +16 -0
  78. package/src/lib/condition/condition.module.js.map +1 -0
  79. package/src/lib/condition/condition.service.d.ts +16 -0
  80. package/src/lib/condition/condition.service.js +82 -0
  81. package/src/lib/condition/condition.service.js.map +1 -0
  82. package/src/lib/condition/index.js +6 -0
  83. package/src/lib/condition/index.js.map +1 -0
  84. package/src/lib/database/data-source.d.ts +4 -0
  85. package/src/lib/database/data-source.js +7 -0
  86. package/src/lib/database/data-source.js.map +1 -0
  87. package/src/lib/database/index.js +6 -0
  88. package/src/lib/database/index.js.map +1 -0
  89. package/src/lib/database/migration-runner.d.ts +1 -0
  90. package/src/lib/database/migration-runner.js +23 -0
  91. package/src/lib/database/migration-runner.js.map +1 -0
  92. package/src/lib/database/typeorm.config.d.ts +14 -0
  93. package/src/lib/database/typeorm.config.js +135 -0
  94. package/src/lib/database/typeorm.config.js.map +1 -0
  95. package/src/lib/delegation/delegation-rule.entity.d.ts +19 -0
  96. package/src/lib/delegation/delegation-rule.entity.js +99 -0
  97. package/src/lib/delegation/delegation-rule.entity.js.map +1 -0
  98. package/src/lib/delegation/delegation.enums.d.ts +10 -0
  99. package/src/lib/delegation/delegation.enums.js +23 -0
  100. package/src/lib/delegation/delegation.enums.js.map +1 -0
  101. package/src/lib/delegation/delegation.module.d.ts +2 -0
  102. package/src/lib/delegation/delegation.module.js +22 -0
  103. package/src/lib/delegation/delegation.module.js.map +1 -0
  104. package/src/lib/delegation/delegation.mutations.d.ts +11 -0
  105. package/src/lib/delegation/delegation.mutations.js +87 -0
  106. package/src/lib/delegation/delegation.mutations.js.map +1 -0
  107. package/src/lib/delegation/delegation.queries.d.ts +10 -0
  108. package/src/lib/delegation/delegation.queries.js +91 -0
  109. package/src/lib/delegation/delegation.queries.js.map +1 -0
  110. package/src/lib/delegation/delegation.service.d.ts +56 -0
  111. package/src/lib/delegation/delegation.service.js +268 -0
  112. package/src/lib/delegation/delegation.service.js.map +1 -0
  113. package/src/lib/delegation/dto/delegation-rule.input.d.ts +24 -0
  114. package/src/lib/delegation/dto/delegation-rule.input.js +143 -0
  115. package/src/lib/delegation/dto/delegation-rule.input.js.map +1 -0
  116. package/src/lib/delegation/index.js +9 -0
  117. package/src/lib/delegation/index.js.map +1 -0
  118. package/src/lib/form/dto/form-definition.input.d.ts +21 -0
  119. package/src/lib/form/dto/form-definition.input.js +103 -0
  120. package/src/lib/form/dto/form-definition.input.js.map +1 -0
  121. package/src/lib/form/form-definition-version.entity.d.ts +17 -0
  122. package/src/lib/form/form-definition-version.entity.js +84 -0
  123. package/src/lib/form/form-definition-version.entity.js.map +1 -0
  124. package/src/lib/form/form-definition.entity.d.ts +13 -0
  125. package/src/lib/form/form-definition.entity.js +66 -0
  126. package/src/lib/form/form-definition.entity.js.map +1 -0
  127. package/src/lib/form/form-schema-lint.object.d.ts +4 -0
  128. package/src/lib/form/form-schema-lint.object.js +20 -0
  129. package/src/lib/form/form-schema-lint.object.js.map +1 -0
  130. package/src/lib/form/form-schema.validator.d.ts +13 -0
  131. package/src/lib/form/form-schema.validator.js +354 -0
  132. package/src/lib/form/form-schema.validator.js.map +1 -0
  133. package/src/lib/form/form.enums.d.ts +9 -0
  134. package/src/lib/form/form.enums.js +22 -0
  135. package/src/lib/form/form.enums.js.map +1 -0
  136. package/src/lib/form/form.module.d.ts +2 -0
  137. package/src/lib/form/form.module.js +27 -0
  138. package/src/lib/form/form.module.js.map +1 -0
  139. package/src/lib/form/form.mutations.d.ts +14 -0
  140. package/src/lib/form/form.mutations.js +88 -0
  141. package/src/lib/form/form.mutations.js.map +1 -0
  142. package/src/lib/form/form.queries.d.ts +16 -0
  143. package/src/lib/form/form.queries.js +96 -0
  144. package/src/lib/form/form.queries.js.map +1 -0
  145. package/src/lib/form/form.service.d.ts +35 -0
  146. package/src/lib/form/form.service.js +297 -0
  147. package/src/lib/form/form.service.js.map +1 -0
  148. package/src/lib/form/index.js +12 -0
  149. package/src/lib/form/index.js.map +1 -0
  150. package/src/lib/identity/identity-options.d.ts +13 -0
  151. package/src/lib/identity/identity-options.js +20 -0
  152. package/src/lib/identity/identity-options.js.map +1 -0
  153. package/src/lib/identity/identity.module.d.ts +17 -0
  154. package/src/lib/identity/identity.module.js +65 -0
  155. package/src/lib/identity/identity.module.js.map +1 -0
  156. package/src/lib/identity/identity.queries.d.ts +12 -0
  157. package/src/lib/identity/identity.queries.js +79 -0
  158. package/src/lib/identity/identity.queries.js.map +1 -0
  159. package/src/lib/identity/identity.service.d.ts +22 -0
  160. package/src/lib/identity/identity.service.js +141 -0
  161. package/src/lib/identity/identity.service.js.map +1 -0
  162. package/src/lib/identity/index.js +7 -0
  163. package/src/lib/identity/index.js.map +1 -0
  164. package/src/lib/identity/member-base.adapter.d.ts +95 -0
  165. package/src/lib/identity/member-base.adapter.js +137 -0
  166. package/src/lib/identity/member-base.adapter.js.map +1 -0
  167. package/src/lib/identity/member-metadata-cache.entity.d.ts +8 -0
  168. package/src/lib/identity/member-metadata-cache.entity.js +39 -0
  169. package/src/lib/identity/member-metadata-cache.entity.js.map +1 -0
  170. package/src/lib/identity/member-profile.object.d.ts +8 -0
  171. package/src/lib/identity/member-profile.object.js +37 -0
  172. package/src/lib/identity/member-profile.object.js.map +1 -0
  173. package/src/lib/identity/{member-resolver.interface.ts → member-resolver.interface.d.ts} +5 -11
  174. package/src/lib/identity/member-resolver.interface.js +19 -0
  175. package/src/lib/identity/member-resolver.interface.js.map +1 -0
  176. package/src/lib/migrations/0000000000001-enable-postgres-extensions.d.ts +6 -0
  177. package/src/lib/migrations/0000000000001-enable-postgres-extensions.js +17 -0
  178. package/src/lib/migrations/0000000000001-enable-postgres-extensions.js.map +1 -0
  179. package/src/lib/migrations/0000000001000-identity-organization-foundation.d.ts +6 -0
  180. package/src/lib/migrations/{0000000001000-identity-organization-foundation.ts → 0000000001000-identity-organization-foundation.js} +29 -38
  181. package/src/lib/migrations/0000000001000-identity-organization-foundation.js.map +1 -0
  182. package/src/lib/migrations/0000000002000-form-builder-foundation.d.ts +6 -0
  183. package/src/lib/migrations/{0000000002000-form-builder-foundation.ts → 0000000002000-form-builder-foundation.js} +21 -22
  184. package/src/lib/migrations/0000000002000-form-builder-foundation.js.map +1 -0
  185. package/src/lib/migrations/0000000003000-approval-template-foundation.d.ts +6 -0
  186. package/src/lib/migrations/{0000000003000-approval-template-foundation.ts → 0000000003000-approval-template-foundation.js} +21 -24
  187. package/src/lib/migrations/0000000003000-approval-template-foundation.js.map +1 -0
  188. package/src/lib/migrations/0000000004000-workflow-engine-foundation.d.ts +6 -0
  189. package/src/lib/migrations/{0000000004000-workflow-engine-foundation.ts → 0000000004000-workflow-engine-foundation.js} +34 -46
  190. package/src/lib/migrations/0000000004000-workflow-engine-foundation.js.map +1 -0
  191. package/src/lib/migrations/0000000005000-delegation-rules.d.ts +6 -0
  192. package/src/lib/migrations/{0000000005000-delegation-rules.ts → 0000000005000-delegation-rules.js} +19 -20
  193. package/src/lib/migrations/0000000005000-delegation-rules.js.map +1 -0
  194. package/src/lib/migrations/0000000006000-notifications-sla.d.ts +6 -0
  195. package/src/lib/migrations/{0000000006000-notifications-sla.ts → 0000000006000-notifications-sla.js} +23 -26
  196. package/src/lib/migrations/0000000006000-notifications-sla.js.map +1 -0
  197. package/src/lib/migrations/0000000007000-signatures-attachments.d.ts +6 -0
  198. package/src/lib/migrations/{0000000007000-signatures-attachments.ts → 0000000007000-signatures-attachments.js} +27 -28
  199. package/src/lib/migrations/0000000007000-signatures-attachments.js.map +1 -0
  200. package/src/lib/migrations/0000000008000-approval-template-categories.d.ts +6 -0
  201. package/src/lib/migrations/{0000000008000-approval-template-categories.ts → 0000000008000-approval-template-categories.js} +25 -28
  202. package/src/lib/migrations/0000000008000-approval-template-categories.js.map +1 -0
  203. package/src/lib/migrations/0000000009000-task-candidates.d.ts +6 -0
  204. package/src/lib/migrations/{0000000009000-task-candidates.ts → 0000000009000-task-candidates.js} +23 -26
  205. package/src/lib/migrations/0000000009000-task-candidates.js.map +1 -0
  206. package/src/lib/migrations/0000000010000-notification-delivery-state.d.ts +6 -0
  207. package/src/lib/migrations/{0000000010000-notification-delivery-state.ts → 0000000010000-notification-delivery-state.js} +17 -16
  208. package/src/lib/migrations/0000000010000-notification-delivery-state.js.map +1 -0
  209. package/src/lib/migrations/0000000011000-remove-attachment-encryption-key.d.ts +6 -0
  210. package/src/lib/migrations/0000000011000-remove-attachment-encryption-key.js +22 -0
  211. package/src/lib/migrations/0000000011000-remove-attachment-encryption-key.js.map +1 -0
  212. package/src/lib/migrations/0000000012000-notification-sla-idempotency.d.ts +6 -0
  213. package/src/lib/migrations/0000000012000-notification-sla-idempotency.js +21 -0
  214. package/src/lib/migrations/0000000012000-notification-sla-idempotency.js.map +1 -0
  215. package/src/lib/migrations/0000000013000-workflow-query-indexes.d.ts +6 -0
  216. package/src/lib/migrations/0000000013000-workflow-query-indexes.js +80 -0
  217. package/src/lib/migrations/0000000013000-workflow-query-indexes.js.map +1 -0
  218. package/src/lib/migrations/index.d.ts +16 -0
  219. package/src/lib/migrations/index.js +49 -0
  220. package/src/lib/migrations/index.js.map +1 -0
  221. package/src/lib/notification/dto/notification-preference.input.d.ts +9 -0
  222. package/src/lib/notification/dto/notification-preference.input.js +53 -0
  223. package/src/lib/notification/dto/notification-preference.input.js.map +1 -0
  224. package/src/lib/notification/index.js +11 -0
  225. package/src/lib/notification/index.js.map +1 -0
  226. package/src/lib/notification/notification-delivery-scheduler.service.d.ts +13 -0
  227. package/src/lib/notification/notification-delivery-scheduler.service.js +53 -0
  228. package/src/lib/notification/notification-delivery-scheduler.service.js.map +1 -0
  229. package/src/lib/notification/notification-delivery.service.d.ts +23 -0
  230. package/src/lib/notification/notification-delivery.service.js +245 -0
  231. package/src/lib/notification/notification-delivery.service.js.map +1 -0
  232. package/src/lib/notification/notification-dispatcher.token.d.ts +7 -0
  233. package/src/lib/notification/notification-dispatcher.token.js +5 -0
  234. package/src/lib/notification/notification-dispatcher.token.js.map +1 -0
  235. package/src/lib/notification/notification-options.d.ts +215 -0
  236. package/src/lib/notification/notification-options.js +128 -0
  237. package/src/lib/notification/notification-options.js.map +1 -0
  238. package/src/lib/notification/notification-options.module.d.ts +23 -0
  239. package/src/lib/notification/notification-options.module.js +41 -0
  240. package/src/lib/notification/notification-options.module.js.map +1 -0
  241. package/src/lib/notification/notification-preference.entity.d.ts +10 -0
  242. package/src/lib/notification/notification-preference.entity.js +50 -0
  243. package/src/lib/notification/notification-preference.entity.js.map +1 -0
  244. package/src/lib/notification/notification-sla-scheduler.service.d.ts +13 -0
  245. package/src/lib/notification/notification-sla-scheduler.service.js +51 -0
  246. package/src/lib/notification/notification-sla-scheduler.service.js.map +1 -0
  247. package/src/lib/notification/notification-template.d.ts +13 -0
  248. package/src/lib/notification/notification-template.js +61 -0
  249. package/src/lib/notification/notification-template.js.map +1 -0
  250. package/src/lib/notification/notification.entity.d.ts +23 -0
  251. package/src/lib/notification/notification.entity.js +122 -0
  252. package/src/lib/notification/notification.entity.js.map +1 -0
  253. package/src/lib/notification/notification.enums.d.ts +24 -0
  254. package/src/lib/notification/notification.enums.js +45 -0
  255. package/src/lib/notification/notification.enums.js.map +1 -0
  256. package/src/lib/notification/notification.module.d.ts +2 -0
  257. package/src/lib/notification/notification.module.js +45 -0
  258. package/src/lib/notification/notification.module.js.map +1 -0
  259. package/src/lib/notification/notification.mutations.d.ts +11 -0
  260. package/src/lib/notification/notification.mutations.js +64 -0
  261. package/src/lib/notification/notification.mutations.js.map +1 -0
  262. package/src/lib/notification/notification.queries.d.ts +11 -0
  263. package/src/lib/notification/notification.queries.js +77 -0
  264. package/src/lib/notification/notification.queries.js.map +1 -0
  265. package/src/lib/notification/notification.service.d.ts +81 -0
  266. package/src/lib/notification/notification.service.js +621 -0
  267. package/src/lib/notification/notification.service.js.map +1 -0
  268. package/src/lib/organization/dto/manager-resolution.input.d.ts +18 -0
  269. package/src/lib/organization/dto/manager-resolution.input.js +107 -0
  270. package/src/lib/organization/dto/manager-resolution.input.js.map +1 -0
  271. package/src/lib/organization/dto/membership.input.d.ts +16 -0
  272. package/src/lib/organization/dto/membership.input.js +99 -0
  273. package/src/lib/organization/dto/membership.input.js.map +1 -0
  274. package/src/lib/organization/dto/org-unit.input.d.ts +24 -0
  275. package/src/lib/organization/dto/org-unit.input.js +119 -0
  276. package/src/lib/organization/dto/org-unit.input.js.map +1 -0
  277. package/src/lib/organization/dto/position.input.d.ts +13 -0
  278. package/src/lib/organization/dto/position.input.js +70 -0
  279. package/src/lib/organization/dto/position.input.js.map +1 -0
  280. package/src/lib/organization/index.js +16 -0
  281. package/src/lib/organization/index.js.map +1 -0
  282. package/src/lib/organization/json-metadata.d.ts +1 -0
  283. package/src/lib/organization/json-metadata.js +14 -0
  284. package/src/lib/organization/json-metadata.js.map +1 -0
  285. package/src/lib/organization/manager-resolution.entity.d.ts +11 -0
  286. package/src/lib/organization/manager-resolution.entity.js +55 -0
  287. package/src/lib/organization/manager-resolution.entity.js.map +1 -0
  288. package/src/lib/organization/membership.entity.d.ts +11 -0
  289. package/src/lib/organization/membership.entity.js +60 -0
  290. package/src/lib/organization/membership.entity.js.map +1 -0
  291. package/src/lib/organization/org-unit-tree-commit-result.object.d.ts +4 -0
  292. package/src/lib/organization/org-unit-tree-commit-result.object.js +17 -0
  293. package/src/lib/organization/org-unit-tree-commit-result.object.js.map +1 -0
  294. package/src/lib/organization/org-unit.entity.d.ts +13 -0
  295. package/src/lib/organization/org-unit.entity.js +64 -0
  296. package/src/lib/organization/org-unit.entity.js.map +1 -0
  297. package/src/lib/organization/organization-summary.object.d.ts +6 -0
  298. package/src/lib/organization/organization-summary.object.js +28 -0
  299. package/src/lib/organization/organization-summary.object.js.map +1 -0
  300. package/src/lib/organization/organization.enums.d.ts +11 -0
  301. package/src/lib/organization/organization.enums.js +22 -0
  302. package/src/lib/organization/organization.enums.js.map +1 -0
  303. package/src/lib/organization/organization.module.d.ts +2 -0
  304. package/src/lib/organization/organization.module.js +35 -0
  305. package/src/lib/organization/organization.module.js.map +1 -0
  306. package/src/lib/organization/organization.mutations.d.ts +26 -0
  307. package/src/lib/organization/organization.mutations.js +148 -0
  308. package/src/lib/organization/organization.mutations.js.map +1 -0
  309. package/src/lib/organization/organization.queries.d.ts +23 -0
  310. package/src/lib/organization/organization.queries.js +202 -0
  311. package/src/lib/organization/organization.queries.js.map +1 -0
  312. package/src/lib/organization/organization.service.d.ts +102 -0
  313. package/src/lib/organization/organization.service.js +751 -0
  314. package/src/lib/organization/organization.service.js.map +1 -0
  315. package/src/lib/organization/position.entity.d.ts +9 -0
  316. package/src/lib/organization/position.entity.js +48 -0
  317. package/src/lib/organization/position.entity.js.map +1 -0
  318. package/src/lib/organization/resolved-manager.object.d.ts +4 -0
  319. package/src/lib/organization/resolved-manager.object.js +20 -0
  320. package/src/lib/organization/resolved-manager.object.js.map +1 -0
  321. package/src/lib/signature/index.js +8 -0
  322. package/src/lib/signature/index.js.map +1 -0
  323. package/src/lib/signature/signature-options.d.ts +33 -0
  324. package/src/lib/signature/signature-options.js +51 -0
  325. package/src/lib/signature/signature-options.js.map +1 -0
  326. package/src/lib/signature/signature-verification.object.d.ts +6 -0
  327. package/src/lib/signature/signature-verification.object.js +28 -0
  328. package/src/lib/signature/signature-verification.object.js.map +1 -0
  329. package/src/lib/signature/signature.entity.d.ts +16 -0
  330. package/src/lib/signature/signature.entity.js +88 -0
  331. package/src/lib/signature/signature.entity.js.map +1 -0
  332. package/src/lib/signature/signature.module.d.ts +11 -0
  333. package/src/lib/signature/signature.module.js +60 -0
  334. package/src/lib/signature/signature.module.js.map +1 -0
  335. package/src/lib/signature/signature.queries.d.ts +11 -0
  336. package/src/lib/signature/signature.queries.js +46 -0
  337. package/src/lib/signature/signature.queries.js.map +1 -0
  338. package/src/lib/signature/signature.service.d.ts +25 -0
  339. package/src/lib/signature/signature.service.js +124 -0
  340. package/src/lib/signature/signature.service.js.map +1 -0
  341. package/src/lib/template/approval-template-category.entity.d.ts +9 -0
  342. package/src/lib/template/approval-template-category.entity.js +49 -0
  343. package/src/lib/template/approval-template-category.entity.js.map +1 -0
  344. package/src/lib/template/approval-template-version.entity.d.ts +21 -0
  345. package/src/lib/template/approval-template-version.entity.js +106 -0
  346. package/src/lib/template/approval-template-version.entity.js.map +1 -0
  347. package/src/lib/template/approval-template.entity.d.ts +14 -0
  348. package/src/lib/template/approval-template.entity.js +74 -0
  349. package/src/lib/template/approval-template.entity.js.map +1 -0
  350. package/src/lib/template/dto/approval-template.input.d.ts +36 -0
  351. package/src/lib/template/dto/approval-template.input.js +187 -0
  352. package/src/lib/template/dto/approval-template.input.js.map +1 -0
  353. package/src/lib/template/index.js +12 -0
  354. package/src/lib/template/index.js.map +1 -0
  355. package/src/lib/template/template.enums.d.ts +14 -0
  356. package/src/lib/template/template.enums.js +31 -0
  357. package/src/lib/template/template.enums.js.map +1 -0
  358. package/src/lib/template/template.module.d.ts +2 -0
  359. package/src/lib/template/template.module.js +33 -0
  360. package/src/lib/template/template.module.js.map +1 -0
  361. package/src/lib/template/template.mutations.d.ts +20 -0
  362. package/src/lib/template/template.mutations.js +139 -0
  363. package/src/lib/template/template.mutations.js.map +1 -0
  364. package/src/lib/template/template.queries.d.ts +16 -0
  365. package/src/lib/template/template.queries.js +133 -0
  366. package/src/lib/template/template.queries.js.map +1 -0
  367. package/src/lib/template/template.service.d.ts +64 -0
  368. package/src/lib/template/template.service.js +521 -0
  369. package/src/lib/template/template.service.js.map +1 -0
  370. package/src/lib/template/workflow-definition.validator.d.ts +9 -0
  371. package/src/lib/template/workflow-definition.validator.js +362 -0
  372. package/src/lib/template/workflow-definition.validator.js.map +1 -0
  373. package/src/lib/testing/cel-js.jest.d.ts +15 -0
  374. package/src/lib/testing/cel-js.jest.js +27 -0
  375. package/src/lib/testing/cel-js.jest.js.map +1 -0
  376. package/src/lib/workflow-engine/activity-log.entity.d.ts +12 -0
  377. package/src/lib/workflow-engine/activity-log.entity.js +62 -0
  378. package/src/lib/workflow-engine/activity-log.entity.js.map +1 -0
  379. package/src/lib/workflow-engine/approval-instance-page-info.object.d.ts +8 -0
  380. package/src/lib/workflow-engine/approval-instance-page-info.object.js +36 -0
  381. package/src/lib/workflow-engine/approval-instance-page-info.object.js.map +1 -0
  382. package/src/lib/workflow-engine/approval-instance.entity.d.ts +22 -0
  383. package/src/lib/workflow-engine/approval-instance.entity.js +113 -0
  384. package/src/lib/workflow-engine/approval-instance.entity.js.map +1 -0
  385. package/src/lib/workflow-engine/dto/cancel-approval-instance.input.d.ts +5 -0
  386. package/src/lib/workflow-engine/dto/cancel-approval-instance.input.js +29 -0
  387. package/src/lib/workflow-engine/dto/cancel-approval-instance.input.js.map +1 -0
  388. package/src/lib/workflow-engine/dto/decide-task.input.d.ts +9 -0
  389. package/src/lib/workflow-engine/dto/decide-task.input.js +47 -0
  390. package/src/lib/workflow-engine/dto/decide-task.input.js.map +1 -0
  391. package/src/lib/workflow-engine/dto/dry-run-approval-workflow.input.d.ts +6 -0
  392. package/src/lib/workflow-engine/dto/dry-run-approval-workflow.input.js +34 -0
  393. package/src/lib/workflow-engine/dto/dry-run-approval-workflow.input.js.map +1 -0
  394. package/src/lib/workflow-engine/dto/resubmit-approval-instance.input.d.ts +6 -0
  395. package/src/lib/workflow-engine/dto/resubmit-approval-instance.input.js +34 -0
  396. package/src/lib/workflow-engine/dto/resubmit-approval-instance.input.js.map +1 -0
  397. package/src/lib/workflow-engine/dto/submit-approval-instance.input.d.ts +7 -0
  398. package/src/lib/workflow-engine/dto/submit-approval-instance.input.js +40 -0
  399. package/src/lib/workflow-engine/dto/submit-approval-instance.input.js.map +1 -0
  400. package/src/lib/workflow-engine/index.js +24 -0
  401. package/src/lib/workflow-engine/index.js.map +1 -0
  402. package/src/lib/workflow-engine/task-candidate.entity.d.ts +14 -0
  403. package/src/lib/workflow-engine/task-candidate.entity.js +72 -0
  404. package/src/lib/workflow-engine/task-candidate.entity.js.map +1 -0
  405. package/src/lib/workflow-engine/task-decision.entity.d.ts +12 -0
  406. package/src/lib/workflow-engine/task-decision.entity.js +60 -0
  407. package/src/lib/workflow-engine/task-decision.entity.js.map +1 -0
  408. package/src/lib/workflow-engine/task.entity.d.ts +20 -0
  409. package/src/lib/workflow-engine/task.entity.js +109 -0
  410. package/src/lib/workflow-engine/task.entity.js.map +1 -0
  411. package/src/lib/workflow-engine/workflow-condition-evaluator.d.ts +5 -0
  412. package/src/lib/workflow-engine/workflow-condition-evaluator.js +107 -0
  413. package/src/lib/workflow-engine/workflow-condition-evaluator.js.map +1 -0
  414. package/src/lib/workflow-engine/workflow-dashboard-summary.object.d.ts +8 -0
  415. package/src/lib/workflow-engine/workflow-dashboard-summary.object.js +36 -0
  416. package/src/lib/workflow-engine/workflow-dashboard-summary.object.js.map +1 -0
  417. package/src/lib/workflow-engine/workflow-dry-run.object.d.ts +21 -0
  418. package/src/lib/workflow-engine/workflow-dry-run.object.js +86 -0
  419. package/src/lib/workflow-engine/workflow-dry-run.object.js.map +1 -0
  420. package/src/lib/workflow-engine/workflow-engine.enums.d.ts +58 -0
  421. package/src/lib/workflow-engine/workflow-engine.enums.js +95 -0
  422. package/src/lib/workflow-engine/workflow-engine.enums.js.map +1 -0
  423. package/src/lib/workflow-engine/workflow-engine.module.d.ts +9 -0
  424. package/src/lib/workflow-engine/workflow-engine.module.js +76 -0
  425. package/src/lib/workflow-engine/workflow-engine.module.js.map +1 -0
  426. package/src/lib/workflow-engine/workflow-engine.mutations.d.ts +19 -0
  427. package/src/lib/workflow-engine/workflow-engine.mutations.js +106 -0
  428. package/src/lib/workflow-engine/workflow-engine.mutations.js.map +1 -0
  429. package/src/lib/workflow-engine/workflow-engine.queries.d.ts +29 -0
  430. package/src/lib/workflow-engine/workflow-engine.queries.js +225 -0
  431. package/src/lib/workflow-engine/workflow-engine.queries.js.map +1 -0
  432. package/src/lib/workflow-engine/workflow-engine.service.d.ts +145 -0
  433. package/src/lib/workflow-engine/workflow-engine.service.js +2785 -0
  434. package/src/lib/workflow-engine/workflow-engine.service.js.map +1 -0
  435. package/src/lib/workflow-engine/{workflow-engine.tokens.ts → workflow-engine.tokens.d.ts} +3 -9
  436. package/src/lib/workflow-engine/workflow-engine.tokens.js +5 -0
  437. package/src/lib/workflow-engine/workflow-engine.tokens.js.map +1 -0
  438. package/src/lib/workflow-engine/workflow-service-task-dispatcher.token.d.ts +18 -0
  439. package/src/lib/workflow-engine/workflow-service-task-dispatcher.token.js +39 -0
  440. package/src/lib/workflow-engine/workflow-service-task-dispatcher.token.js.map +1 -0
  441. package/src/lib/workflow-engine/workflow-token.entity.d.ts +10 -0
  442. package/src/lib/workflow-engine/workflow-token.entity.js +50 -0
  443. package/src/lib/workflow-engine/workflow-token.entity.js.map +1 -0
  444. package/eslint.config.mjs +0 -20
  445. package/jest.config.cts +0 -15
  446. package/project.json +0 -58
  447. package/src/lib/attachment/attachment-options.spec.ts +0 -45
  448. package/src/lib/attachment/attachment-options.ts +0 -130
  449. package/src/lib/attachment/attachment-storage.provider.spec.ts +0 -79
  450. package/src/lib/attachment/attachment-storage.provider.ts +0 -60
  451. package/src/lib/attachment/attachment.controller.ts +0 -39
  452. package/src/lib/attachment/attachment.entity.ts +0 -59
  453. package/src/lib/attachment/attachment.module.ts +0 -149
  454. package/src/lib/attachment/attachment.mutations.ts +0 -22
  455. package/src/lib/attachment/attachment.queries.ts +0 -65
  456. package/src/lib/attachment/attachment.service.spec.ts +0 -319
  457. package/src/lib/attachment/attachment.service.ts +0 -477
  458. package/src/lib/attachment/dto/upload-attachment.input.ts +0 -60
  459. package/src/lib/bpm/bpm-root.module.spec.ts +0 -138
  460. package/src/lib/bpm/bpm-root.module.ts +0 -320
  461. package/src/lib/bpm-auth/bpm-auth-context.extractor.ts +0 -106
  462. package/src/lib/bpm-auth/bpm-auth-context.ts +0 -40
  463. package/src/lib/bpm-auth/bpm-auth.authorization.ts +0 -80
  464. package/src/lib/bpm-auth/bpm-auth.decorators.ts +0 -19
  465. package/src/lib/bpm-auth/bpm-auth.guard.ts +0 -31
  466. package/src/lib/bpm-auth/bpm-auth.module.spec.ts +0 -106
  467. package/src/lib/bpm-auth/bpm-auth.module.ts +0 -69
  468. package/src/lib/bpm-auth/bpm-auth.options.ts +0 -21
  469. package/src/lib/bpm-auth/configurable-bpm-auth-context.accessor.ts +0 -55
  470. package/src/lib/common/filters/all-exceptions.filter.ts +0 -138
  471. package/src/lib/common/iso-duration.ts +0 -31
  472. package/src/lib/condition/condition.module.ts +0 -8
  473. package/src/lib/condition/condition.service.spec.ts +0 -50
  474. package/src/lib/condition/condition.service.ts +0 -141
  475. package/src/lib/database/data-source.ts +0 -7
  476. package/src/lib/database/migration-runner.ts +0 -24
  477. package/src/lib/database/typeorm.config.ts +0 -217
  478. package/src/lib/delegation/delegation-rule.entity.ts +0 -84
  479. package/src/lib/delegation/delegation.enums.ts +0 -21
  480. package/src/lib/delegation/delegation.module.ts +0 -14
  481. package/src/lib/delegation/delegation.mutations.ts +0 -92
  482. package/src/lib/delegation/delegation.queries.ts +0 -111
  483. package/src/lib/delegation/delegation.service.spec.ts +0 -295
  484. package/src/lib/delegation/delegation.service.ts +0 -482
  485. package/src/lib/delegation/dto/delegation-rule.input.ts +0 -125
  486. package/src/lib/form/dto/form-definition.input.ts +0 -73
  487. package/src/lib/form/form-definition-version.entity.ts +0 -66
  488. package/src/lib/form/form-definition.entity.ts +0 -54
  489. package/src/lib/form/form-schema-lint.object.ts +0 -10
  490. package/src/lib/form/form-schema.validator.spec.ts +0 -180
  491. package/src/lib/form/form-schema.validator.ts +0 -538
  492. package/src/lib/form/form.enums.ts +0 -20
  493. package/src/lib/form/form.module.ts +0 -19
  494. package/src/lib/form/form.mutations.ts +0 -68
  495. package/src/lib/form/form.queries.ts +0 -72
  496. package/src/lib/form/form.service.spec.ts +0 -144
  497. package/src/lib/form/form.service.ts +0 -490
  498. package/src/lib/identity/identity-options.ts +0 -41
  499. package/src/lib/identity/identity.module.ts +0 -96
  500. package/src/lib/identity/identity.queries.ts +0 -61
  501. package/src/lib/identity/identity.service.spec.ts +0 -105
  502. package/src/lib/identity/identity.service.ts +0 -200
  503. package/src/lib/identity/member-base.adapter.spec.ts +0 -77
  504. package/src/lib/identity/member-base.adapter.ts +0 -244
  505. package/src/lib/identity/member-metadata-cache.entity.ts +0 -27
  506. package/src/lib/identity/member-profile.object.ts +0 -28
  507. package/src/lib/migrations/0000000000001-enable-postgres-extensions.ts +0 -14
  508. package/src/lib/migrations/0000000011000-remove-attachment-encryption-key.ts +0 -19
  509. package/src/lib/migrations/0000000012000-notification-sla-idempotency.ts +0 -22
  510. package/src/lib/migrations/0000000013000-workflow-query-indexes.ts +0 -113
  511. package/src/lib/migrations/index.ts +0 -47
  512. package/src/lib/notification/dto/notification-preference.input.ts +0 -46
  513. package/src/lib/notification/notification-delivery-scheduler.service.ts +0 -69
  514. package/src/lib/notification/notification-delivery.service.spec.ts +0 -315
  515. package/src/lib/notification/notification-delivery.service.ts +0 -339
  516. package/src/lib/notification/notification-dispatcher.token.ts +0 -13
  517. package/src/lib/notification/notification-options.module.ts +0 -67
  518. package/src/lib/notification/notification-options.spec.ts +0 -93
  519. package/src/lib/notification/notification-options.ts +0 -452
  520. package/src/lib/notification/notification-preference.entity.ts +0 -35
  521. package/src/lib/notification/notification-sla-scheduler.service.ts +0 -66
  522. package/src/lib/notification/notification-template.spec.ts +0 -33
  523. package/src/lib/notification/notification-template.ts +0 -97
  524. package/src/lib/notification/notification.entity.ts +0 -102
  525. package/src/lib/notification/notification.enums.ts +0 -45
  526. package/src/lib/notification/notification.module.ts +0 -37
  527. package/src/lib/notification/notification.mutations.ts +0 -47
  528. package/src/lib/notification/notification.queries.ts +0 -64
  529. package/src/lib/notification/notification.service.spec.ts +0 -412
  530. package/src/lib/notification/notification.service.ts +0 -974
  531. package/src/lib/organization/dto/manager-resolution.input.ts +0 -91
  532. package/src/lib/organization/dto/membership.input.ts +0 -77
  533. package/src/lib/organization/dto/org-unit.input.ts +0 -96
  534. package/src/lib/organization/dto/position.input.ts +0 -50
  535. package/src/lib/organization/json-metadata.ts +0 -15
  536. package/src/lib/organization/manager-resolution.entity.ts +0 -44
  537. package/src/lib/organization/membership.entity.ts +0 -50
  538. package/src/lib/organization/org-unit-tree-commit-result.object.ts +0 -8
  539. package/src/lib/organization/org-unit.entity.ts +0 -53
  540. package/src/lib/organization/organization-summary.object.ts +0 -16
  541. package/src/lib/organization/organization.enums.ts +0 -19
  542. package/src/lib/organization/organization.module.ts +0 -27
  543. package/src/lib/organization/organization.mutations.ts +0 -115
  544. package/src/lib/organization/organization.queries.ts +0 -188
  545. package/src/lib/organization/organization.service.spec.ts +0 -760
  546. package/src/lib/organization/organization.service.ts +0 -1216
  547. package/src/lib/organization/position.entity.ts +0 -39
  548. package/src/lib/organization/resolved-manager.object.ts +0 -10
  549. package/src/lib/signature/signature-options.spec.ts +0 -60
  550. package/src/lib/signature/signature-options.ts +0 -120
  551. package/src/lib/signature/signature-verification.object.ts +0 -16
  552. package/src/lib/signature/signature.entity.ts +0 -62
  553. package/src/lib/signature/signature.module.ts +0 -80
  554. package/src/lib/signature/signature.queries.ts +0 -37
  555. package/src/lib/signature/signature.service.spec.ts +0 -134
  556. package/src/lib/signature/signature.service.ts +0 -205
  557. package/src/lib/template/approval-template-category.entity.ts +0 -40
  558. package/src/lib/template/approval-template-version.entity.ts +0 -82
  559. package/src/lib/template/approval-template.entity.ts +0 -64
  560. package/src/lib/template/dto/approval-template.input.ts +0 -147
  561. package/src/lib/template/template.enums.ts +0 -30
  562. package/src/lib/template/template.module.ts +0 -25
  563. package/src/lib/template/template.mutations.ts +0 -106
  564. package/src/lib/template/template.queries.ts +0 -119
  565. package/src/lib/template/template.service.spec.ts +0 -476
  566. package/src/lib/template/template.service.ts +0 -820
  567. package/src/lib/template/workflow-definition.validator.spec.ts +0 -595
  568. package/src/lib/template/workflow-definition.validator.ts +0 -539
  569. package/src/lib/testing/cel-js.jest.ts +0 -46
  570. package/src/lib/workflow-engine/activity-log.entity.ts +0 -48
  571. package/src/lib/workflow-engine/approval-instance-page-info.object.ts +0 -22
  572. package/src/lib/workflow-engine/approval-instance.entity.ts +0 -86
  573. package/src/lib/workflow-engine/dto/cancel-approval-instance.input.ts +0 -18
  574. package/src/lib/workflow-engine/dto/decide-task.input.ts +0 -33
  575. package/src/lib/workflow-engine/dto/dry-run-approval-workflow.input.ts +0 -22
  576. package/src/lib/workflow-engine/dto/resubmit-approval-instance.input.ts +0 -22
  577. package/src/lib/workflow-engine/dto/submit-approval-instance.input.ts +0 -27
  578. package/src/lib/workflow-engine/task-candidate.entity.ts +0 -56
  579. package/src/lib/workflow-engine/task-decision.entity.ts +0 -43
  580. package/src/lib/workflow-engine/task.entity.ts +0 -85
  581. package/src/lib/workflow-engine/workflow-condition-evaluator.ts +0 -168
  582. package/src/lib/workflow-engine/workflow-dashboard-summary.object.ts +0 -22
  583. package/src/lib/workflow-engine/workflow-dry-run.object.ts +0 -58
  584. package/src/lib/workflow-engine/workflow-engine.enums.ts +0 -99
  585. package/src/lib/workflow-engine/workflow-engine.module.ts +0 -75
  586. package/src/lib/workflow-engine/workflow-engine.mutations.ts +0 -85
  587. package/src/lib/workflow-engine/workflow-engine.queries.ts +0 -229
  588. package/src/lib/workflow-engine/workflow-engine.service.spec.ts +0 -2689
  589. package/src/lib/workflow-engine/workflow-engine.service.ts +0 -4707
  590. package/src/lib/workflow-engine/workflow-service-task-dispatcher.token.ts +0 -69
  591. package/src/lib/workflow-engine/workflow-token.entity.ts +0 -40
  592. package/tsconfig.json +0 -24
  593. package/tsconfig.lib.json +0 -16
  594. package/tsconfig.spec.json +0 -16
  595. /package/src/{index.ts → index.d.ts} +0 -0
  596. /package/src/lib/attachment/{index.ts → index.d.ts} +0 -0
  597. /package/src/lib/bpm/{index.ts → index.d.ts} +0 -0
  598. /package/src/lib/bpm-auth/{index.ts → index.d.ts} +0 -0
  599. /package/src/lib/common/{index.ts → index.d.ts} +0 -0
  600. /package/src/lib/condition/{index.ts → index.d.ts} +0 -0
  601. /package/src/lib/database/{index.ts → index.d.ts} +0 -0
  602. /package/src/lib/delegation/{index.ts → index.d.ts} +0 -0
  603. /package/src/lib/form/{index.ts → index.d.ts} +0 -0
  604. /package/src/lib/identity/{index.ts → index.d.ts} +0 -0
  605. /package/src/lib/notification/{index.ts → index.d.ts} +0 -0
  606. /package/src/lib/organization/{index.ts → index.d.ts} +0 -0
  607. /package/src/lib/signature/{index.ts → index.d.ts} +0 -0
  608. /package/src/lib/template/{index.ts → index.d.ts} +0 -0
  609. /package/src/lib/workflow-engine/{index.ts → index.d.ts} +0 -0
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WorkflowQueryIndexes0000000013000 = void 0;
4
+ class WorkflowQueryIndexes0000000013000 {
5
+ constructor() {
6
+ this.name = 'WorkflowQueryIndexes0000000013000';
7
+ }
8
+ async up(queryRunner) {
9
+ await queryRunner.query('CREATE EXTENSION IF NOT EXISTS "pg_trgm"');
10
+ await queryRunner.query(`
11
+ CREATE INDEX IF NOT EXISTS "IDX_approval_instances_created_desc"
12
+ ON "approval_instances" ("created_at" DESC)
13
+ `);
14
+ await queryRunner.query(`
15
+ CREATE INDEX IF NOT EXISTS "IDX_approval_instances_state_created_desc"
16
+ ON "approval_instances" ("state", "created_at" DESC)
17
+ `);
18
+ await queryRunner.query(`
19
+ CREATE INDEX IF NOT EXISTS "IDX_approval_instances_template_created_desc"
20
+ ON "approval_instances" ("template_id", "created_at" DESC)
21
+ `);
22
+ await queryRunner.query(`
23
+ CREATE INDEX IF NOT EXISTS "IDX_approval_instances_initiator_created_desc"
24
+ ON "approval_instances" ("initiator_member_id", "created_at" DESC)
25
+ `);
26
+ await queryRunner.query(`
27
+ CREATE INDEX IF NOT EXISTS "IDX_approval_instances_title_trgm"
28
+ ON "approval_instances"
29
+ USING gin (lower("title") gin_trgm_ops)
30
+ `);
31
+ await queryRunner.query(`
32
+ CREATE INDEX IF NOT EXISTS "IDX_approval_instances_initiator_trgm"
33
+ ON "approval_instances"
34
+ USING gin (lower("initiator_member_id") gin_trgm_ops)
35
+ `);
36
+ await queryRunner.query(`
37
+ CREATE INDEX IF NOT EXISTS "IDX_tasks_instance_assignee_read"
38
+ ON "tasks" ("instance_id", "assignee_member_id")
39
+ WHERE "assignee_member_id" IS NOT NULL
40
+ `);
41
+ await queryRunner.query(`
42
+ CREATE INDEX IF NOT EXISTS "IDX_tasks_instance_original_assignee_read"
43
+ ON "tasks" ("instance_id", "original_assignee_member_id")
44
+ WHERE "original_assignee_member_id" IS NOT NULL
45
+ `);
46
+ await queryRunner.query(`
47
+ CREATE INDEX IF NOT EXISTS "IDX_task_candidates_member_task"
48
+ ON "task_candidates" ("member_id", "task_id")
49
+ `);
50
+ await queryRunner.query(`
51
+ CREATE INDEX IF NOT EXISTS "IDX_task_candidates_original_member_task"
52
+ ON "task_candidates" ("original_member_id", "task_id")
53
+ `);
54
+ await queryRunner.query(`
55
+ CREATE INDEX IF NOT EXISTS "IDX_task_decisions_decider_task"
56
+ ON "task_decisions" ("decided_by_member_id", "task_id")
57
+ `);
58
+ await queryRunner.query(`
59
+ CREATE INDEX IF NOT EXISTS "IDX_notifications_recipient_instance"
60
+ ON "notifications" ("recipient_member_id", "instance_id")
61
+ WHERE "instance_id" IS NOT NULL
62
+ `);
63
+ }
64
+ async down(queryRunner) {
65
+ await queryRunner.query('DROP INDEX IF EXISTS "IDX_notifications_recipient_instance"');
66
+ await queryRunner.query('DROP INDEX IF EXISTS "IDX_task_decisions_decider_task"');
67
+ await queryRunner.query('DROP INDEX IF EXISTS "IDX_task_candidates_original_member_task"');
68
+ await queryRunner.query('DROP INDEX IF EXISTS "IDX_task_candidates_member_task"');
69
+ await queryRunner.query('DROP INDEX IF EXISTS "IDX_tasks_instance_original_assignee_read"');
70
+ await queryRunner.query('DROP INDEX IF EXISTS "IDX_tasks_instance_assignee_read"');
71
+ await queryRunner.query('DROP INDEX IF EXISTS "IDX_approval_instances_initiator_trgm"');
72
+ await queryRunner.query('DROP INDEX IF EXISTS "IDX_approval_instances_title_trgm"');
73
+ await queryRunner.query('DROP INDEX IF EXISTS "IDX_approval_instances_initiator_created_desc"');
74
+ await queryRunner.query('DROP INDEX IF EXISTS "IDX_approval_instances_template_created_desc"');
75
+ await queryRunner.query('DROP INDEX IF EXISTS "IDX_approval_instances_state_created_desc"');
76
+ await queryRunner.query('DROP INDEX IF EXISTS "IDX_approval_instances_created_desc"');
77
+ }
78
+ }
79
+ exports.WorkflowQueryIndexes0000000013000 = WorkflowQueryIndexes0000000013000;
80
+ //# sourceMappingURL=0000000013000-workflow-query-indexes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"0000000013000-workflow-query-indexes.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/migrations/0000000013000-workflow-query-indexes.ts"],"names":[],"mappings":";;;AAEA,MAAa,iCAAiC;IAA9C;QACW,SAAI,GAAG,mCAAmC,CAAC;IA6GtD,CAAC;IA3GC,KAAK,CAAC,EAAE,CAAC,WAAwB;QAC/B,MAAM,WAAW,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAEpE,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;;;;KAIvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;KAIvB,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;;;;KAIvB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,WAAwB;QACjC,MAAM,WAAW,CAAC,KAAK,CACrB,6DAA6D,CAC9D,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,wDAAwD,CACzD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,iEAAiE,CAClE,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,wDAAwD,CACzD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,kEAAkE,CACnE,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,yDAAyD,CAC1D,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,8DAA8D,CAC/D,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,0DAA0D,CAC3D,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sEAAsE,CACvE,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,qEAAqE,CACtE,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,kEAAkE,CACnE,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,4DAA4D,CAC7D,CAAC;IACJ,CAAC;CACF;AA9GD,8EA8GC"}
@@ -0,0 +1,16 @@
1
+ import { MigrationInterface } from 'typeorm';
2
+ export declare const BPM_CORE_MIGRATIONS: readonly (new () => MigrationInterface)[];
3
+ export * from './0000000000001-enable-postgres-extensions';
4
+ export * from './0000000001000-identity-organization-foundation';
5
+ export * from './0000000002000-form-builder-foundation';
6
+ export * from './0000000003000-approval-template-foundation';
7
+ export * from './0000000004000-workflow-engine-foundation';
8
+ export * from './0000000005000-delegation-rules';
9
+ export * from './0000000006000-notifications-sla';
10
+ export * from './0000000007000-signatures-attachments';
11
+ export * from './0000000008000-approval-template-categories';
12
+ export * from './0000000009000-task-candidates';
13
+ export * from './0000000010000-notification-delivery-state';
14
+ export * from './0000000011000-remove-attachment-encryption-key';
15
+ export * from './0000000012000-notification-sla-idempotency';
16
+ export * from './0000000013000-workflow-query-indexes';
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BPM_CORE_MIGRATIONS = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const _0000000000001_enable_postgres_extensions_1 = require("./0000000000001-enable-postgres-extensions");
6
+ const _0000000001000_identity_organization_foundation_1 = require("./0000000001000-identity-organization-foundation");
7
+ const _0000000002000_form_builder_foundation_1 = require("./0000000002000-form-builder-foundation");
8
+ const _0000000003000_approval_template_foundation_1 = require("./0000000003000-approval-template-foundation");
9
+ const _0000000004000_workflow_engine_foundation_1 = require("./0000000004000-workflow-engine-foundation");
10
+ const _0000000005000_delegation_rules_1 = require("./0000000005000-delegation-rules");
11
+ const _0000000006000_notifications_sla_1 = require("./0000000006000-notifications-sla");
12
+ const _0000000007000_signatures_attachments_1 = require("./0000000007000-signatures-attachments");
13
+ const _0000000008000_approval_template_categories_1 = require("./0000000008000-approval-template-categories");
14
+ const _0000000009000_task_candidates_1 = require("./0000000009000-task-candidates");
15
+ const _0000000010000_notification_delivery_state_1 = require("./0000000010000-notification-delivery-state");
16
+ const _0000000011000_remove_attachment_encryption_key_1 = require("./0000000011000-remove-attachment-encryption-key");
17
+ const _0000000012000_notification_sla_idempotency_1 = require("./0000000012000-notification-sla-idempotency");
18
+ const _0000000013000_workflow_query_indexes_1 = require("./0000000013000-workflow-query-indexes");
19
+ exports.BPM_CORE_MIGRATIONS = [
20
+ _0000000000001_enable_postgres_extensions_1.EnablePostgresExtensions0000000000001,
21
+ _0000000001000_identity_organization_foundation_1.IdentityOrganizationFoundation0000000001000,
22
+ _0000000002000_form_builder_foundation_1.FormBuilderFoundation0000000002000,
23
+ _0000000003000_approval_template_foundation_1.ApprovalTemplateFoundation0000000003000,
24
+ _0000000004000_workflow_engine_foundation_1.WorkflowEngineFoundation0000000004000,
25
+ _0000000005000_delegation_rules_1.DelegationRules0000000005000,
26
+ _0000000006000_notifications_sla_1.NotificationsSla0000000006000,
27
+ _0000000007000_signatures_attachments_1.SignaturesAttachments0000000007000,
28
+ _0000000008000_approval_template_categories_1.ApprovalTemplateCategories0000000008000,
29
+ _0000000009000_task_candidates_1.TaskCandidates0000000009000,
30
+ _0000000010000_notification_delivery_state_1.NotificationDeliveryState0000000010000,
31
+ _0000000011000_remove_attachment_encryption_key_1.RemoveAttachmentEncryptionKey0000000011000,
32
+ _0000000012000_notification_sla_idempotency_1.NotificationSlaIdempotency0000000012000,
33
+ _0000000013000_workflow_query_indexes_1.WorkflowQueryIndexes0000000013000,
34
+ ];
35
+ tslib_1.__exportStar(require("./0000000000001-enable-postgres-extensions"), exports);
36
+ tslib_1.__exportStar(require("./0000000001000-identity-organization-foundation"), exports);
37
+ tslib_1.__exportStar(require("./0000000002000-form-builder-foundation"), exports);
38
+ tslib_1.__exportStar(require("./0000000003000-approval-template-foundation"), exports);
39
+ tslib_1.__exportStar(require("./0000000004000-workflow-engine-foundation"), exports);
40
+ tslib_1.__exportStar(require("./0000000005000-delegation-rules"), exports);
41
+ tslib_1.__exportStar(require("./0000000006000-notifications-sla"), exports);
42
+ tslib_1.__exportStar(require("./0000000007000-signatures-attachments"), exports);
43
+ tslib_1.__exportStar(require("./0000000008000-approval-template-categories"), exports);
44
+ tslib_1.__exportStar(require("./0000000009000-task-candidates"), exports);
45
+ tslib_1.__exportStar(require("./0000000010000-notification-delivery-state"), exports);
46
+ tslib_1.__exportStar(require("./0000000011000-remove-attachment-encryption-key"), exports);
47
+ tslib_1.__exportStar(require("./0000000012000-notification-sla-idempotency"), exports);
48
+ tslib_1.__exportStar(require("./0000000013000-workflow-query-indexes"), exports);
49
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/migrations/index.ts"],"names":[],"mappings":";;;;AACA,0GAAmG;AACnG,sHAA+G;AAC/G,oGAA6F;AAC7F,8GAAuG;AACvG,0GAAmG;AACnG,sFAAgF;AAChF,wFAAkF;AAClF,kGAA4F;AAC5F,8GAAuG;AACvG,oFAA8E;AAC9E,4GAAqG;AACrG,sHAA8G;AAC9G,8GAAuG;AACvG,kGAA2F;AAE9E,QAAA,mBAAmB,GAA8C;IAC5E,iFAAqC;IACrC,6FAA2C;IAC3C,2EAAkC;IAClC,qFAAuC;IACvC,iFAAqC;IACrC,8DAA4B;IAC5B,gEAA6B;IAC7B,0EAAkC;IAClC,qFAAuC;IACvC,4DAA2B;IAC3B,mFAAsC;IACtC,4FAA0C;IAC1C,qFAAuC;IACvC,yEAAiC;CAClC,CAAC;AAEF,qFAA2D;AAC3D,2FAAiE;AACjE,kFAAwD;AACxD,uFAA6D;AAC7D,qFAA2D;AAC3D,2EAAiD;AACjD,4EAAkD;AAClD,iFAAuD;AACvD,uFAA6D;AAC7D,0EAAgD;AAChD,sFAA4D;AAC5D,2FAAiE;AACjE,uFAA6D;AAC7D,iFAAuD"}
@@ -0,0 +1,9 @@
1
+ import { NotificationDigestModeEnum } from '../notification.enums';
2
+ export declare class UpdateNotificationPreferenceInput {
3
+ memberId: string;
4
+ inAppEnabled: boolean;
5
+ emailEnabled: boolean;
6
+ emailDigestMode: NotificationDigestModeEnum;
7
+ quietHoursStart: string | null;
8
+ quietHoursEnd: string | null;
9
+ }
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UpdateNotificationPreferenceInput = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const graphql_1 = require("@nestjs/graphql");
6
+ const class_validator_1 = require("class-validator");
7
+ const notification_enums_1 = require("../notification.enums");
8
+ const TIME_ONLY_PATTERN = /^([01]\d|2[0-3]):[0-5]\d(?::[0-5]\d)?$/;
9
+ let UpdateNotificationPreferenceInput = class UpdateNotificationPreferenceInput {
10
+ };
11
+ exports.UpdateNotificationPreferenceInput = UpdateNotificationPreferenceInput;
12
+ tslib_1.__decorate([
13
+ (0, graphql_1.Field)(),
14
+ (0, class_validator_1.IsString)(),
15
+ tslib_1.__metadata("design:type", String)
16
+ ], UpdateNotificationPreferenceInput.prototype, "memberId", void 0);
17
+ tslib_1.__decorate([
18
+ (0, graphql_1.Field)(),
19
+ (0, class_validator_1.IsBoolean)(),
20
+ tslib_1.__metadata("design:type", Boolean)
21
+ ], UpdateNotificationPreferenceInput.prototype, "inAppEnabled", void 0);
22
+ tslib_1.__decorate([
23
+ (0, graphql_1.Field)(),
24
+ (0, class_validator_1.IsBoolean)(),
25
+ tslib_1.__metadata("design:type", Boolean)
26
+ ], UpdateNotificationPreferenceInput.prototype, "emailEnabled", void 0);
27
+ tslib_1.__decorate([
28
+ (0, graphql_1.Field)(() => notification_enums_1.NotificationDigestModeEnum),
29
+ (0, class_validator_1.IsIn)(Object.values(notification_enums_1.NotificationDigestModeEnum)),
30
+ tslib_1.__metadata("design:type", String)
31
+ ], UpdateNotificationPreferenceInput.prototype, "emailDigestMode", void 0);
32
+ tslib_1.__decorate([
33
+ (0, graphql_1.Field)(() => String, { nullable: true }),
34
+ (0, class_validator_1.IsOptional)(),
35
+ (0, class_validator_1.IsString)(),
36
+ (0, class_validator_1.Matches)(TIME_ONLY_PATTERN, {
37
+ message: 'quietHoursStart must use HH:mm or HH:mm:ss format',
38
+ }),
39
+ tslib_1.__metadata("design:type", Object)
40
+ ], UpdateNotificationPreferenceInput.prototype, "quietHoursStart", void 0);
41
+ tslib_1.__decorate([
42
+ (0, graphql_1.Field)(() => String, { nullable: true }),
43
+ (0, class_validator_1.IsOptional)(),
44
+ (0, class_validator_1.IsString)(),
45
+ (0, class_validator_1.Matches)(TIME_ONLY_PATTERN, {
46
+ message: 'quietHoursEnd must use HH:mm or HH:mm:ss format',
47
+ }),
48
+ tslib_1.__metadata("design:type", Object)
49
+ ], UpdateNotificationPreferenceInput.prototype, "quietHoursEnd", void 0);
50
+ exports.UpdateNotificationPreferenceInput = UpdateNotificationPreferenceInput = tslib_1.__decorate([
51
+ (0, graphql_1.InputType)()
52
+ ], UpdateNotificationPreferenceInput);
53
+ //# sourceMappingURL=notification-preference.input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notification-preference.input.js","sourceRoot":"","sources":["../../../../../../../libs/bpm-core/src/lib/notification/dto/notification-preference.input.ts"],"names":[],"mappings":";;;;AAAA,6CAAmD;AACnD,qDAMyB;AACzB,8DAAmE;AAEnE,MAAM,iBAAiB,GAAG,wCAAwC,CAAC;AAG5D,IAAM,iCAAiC,GAAvC,MAAM,iCAAiC;CAgC7C,CAAA;AAhCY,8EAAiC;AAG5C;IAFC,IAAA,eAAK,GAAE;IACP,IAAA,0BAAQ,GAAE;;mEACO;AAIlB;IAFC,IAAA,eAAK,GAAE;IACP,IAAA,2BAAS,GAAE;;uEACW;AAIvB;IAFC,IAAA,eAAK,GAAE;IACP,IAAA,2BAAS,GAAE;;uEACW;AAIvB;IAFC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,+CAA0B,CAAC;IACvC,IAAA,sBAAI,EAAC,MAAM,CAAC,MAAM,CAAC,+CAA0B,CAAC,CAAC;;0EACH;AAQ7C;IANC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACvC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,yBAAO,EAAC,iBAAiB,EAAE;QAC1B,OAAO,EAAE,mDAAmD;KAC7D,CAAC;;0EAC8B;AAQhC;IANC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACvC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,yBAAO,EAAC,iBAAiB,EAAE;QAC1B,OAAO,EAAE,iDAAiD;KAC3D,CAAC;;wEAC4B;4CA/BnB,iCAAiC;IAD7C,IAAA,mBAAS,GAAE;GACC,iCAAiC,CAgC7C"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./notification-delivery.service"), exports);
5
+ tslib_1.__exportStar(require("./notification-dispatcher.token"), exports);
6
+ tslib_1.__exportStar(require("./notification.enums"), exports);
7
+ tslib_1.__exportStar(require("./notification-options"), exports);
8
+ tslib_1.__exportStar(require("./notification-options.module"), exports);
9
+ tslib_1.__exportStar(require("./notification.module"), exports);
10
+ tslib_1.__exportStar(require("./notification.service"), exports);
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/notification/index.ts"],"names":[],"mappings":";;;AAAA,0EAAgD;AAChD,0EAAgD;AAChD,+DAAqC;AACrC,iEAAuC;AACvC,wEAA8C;AAC9C,gEAAsC;AACtC,iEAAuC"}
@@ -0,0 +1,13 @@
1
+ import { OnApplicationBootstrap, OnApplicationShutdown } from '@nestjs/common';
2
+ import { NotificationDeliveryService } from './notification-delivery.service';
3
+ import { BPMResolvedNotificationOptions } from './notification-options';
4
+ export declare class NotificationDeliverySchedulerService implements OnApplicationBootstrap, OnApplicationShutdown {
5
+ private readonly deliveryService;
6
+ private readonly notificationOptions;
7
+ private readonly logger;
8
+ private timer;
9
+ constructor(deliveryService: NotificationDeliveryService, notificationOptions?: BPMResolvedNotificationOptions);
10
+ onApplicationBootstrap(): void;
11
+ onApplicationShutdown(): void;
12
+ private scanPendingDeliveries;
13
+ }
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var NotificationDeliverySchedulerService_1;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.NotificationDeliverySchedulerService = void 0;
5
+ const tslib_1 = require("tslib");
6
+ const common_1 = require("@nestjs/common");
7
+ const notification_delivery_service_1 = require("./notification-delivery.service");
8
+ const notification_options_1 = require("./notification-options");
9
+ let NotificationDeliverySchedulerService = NotificationDeliverySchedulerService_1 = class NotificationDeliverySchedulerService {
10
+ constructor(deliveryService, notificationOptions = notification_options_1.DEFAULT_BPM_NOTIFICATION_OPTIONS) {
11
+ this.deliveryService = deliveryService;
12
+ this.notificationOptions = notificationOptions;
13
+ this.logger = new common_1.Logger(NotificationDeliverySchedulerService_1.name);
14
+ this.timer = null;
15
+ }
16
+ onApplicationBootstrap() {
17
+ if (process.env.NODE_ENV === 'test' ||
18
+ !this.notificationOptions.deliverySchedulerEnabled) {
19
+ return;
20
+ }
21
+ this.timer = setInterval(() => {
22
+ void this.scanPendingDeliveries();
23
+ }, this.notificationOptions.deliveryScanIntervalMs);
24
+ this.timer.unref();
25
+ }
26
+ onApplicationShutdown() {
27
+ if (this.timer) {
28
+ clearInterval(this.timer);
29
+ this.timer = null;
30
+ }
31
+ }
32
+ async scanPendingDeliveries() {
33
+ try {
34
+ const deliveredCount = await this.deliveryService.deliverPendingNotifications({
35
+ options: this.notificationOptions,
36
+ });
37
+ if (deliveredCount) {
38
+ this.logger.log(`Delivered ${deliveredCount} pending notifications`);
39
+ }
40
+ }
41
+ catch (error) {
42
+ this.logger.error(error instanceof Error ? error.message : 'Delivery scan failed');
43
+ }
44
+ }
45
+ };
46
+ exports.NotificationDeliverySchedulerService = NotificationDeliverySchedulerService;
47
+ exports.NotificationDeliverySchedulerService = NotificationDeliverySchedulerService = NotificationDeliverySchedulerService_1 = tslib_1.__decorate([
48
+ (0, common_1.Injectable)(),
49
+ tslib_1.__param(1, (0, common_1.Optional)()),
50
+ tslib_1.__param(1, (0, common_1.Inject)(notification_options_1.BPM_NOTIFICATION_OPTIONS)),
51
+ tslib_1.__metadata("design:paramtypes", [notification_delivery_service_1.NotificationDeliveryService, Object])
52
+ ], NotificationDeliverySchedulerService);
53
+ //# sourceMappingURL=notification-delivery-scheduler.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notification-delivery-scheduler.service.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/notification/notification-delivery-scheduler.service.ts"],"names":[],"mappings":";;;;;AAAA,2CAOwB;AACxB,mFAA8E;AAC9E,iEAIgC;AAGzB,IAAM,oCAAoC,4CAA1C,MAAM,oCAAoC;IAQ/C,YACmB,eAA4C,EAG7D,sBAAuE,uDAAgC;QAHtF,oBAAe,GAAf,eAAe,CAA6B;QAG5C,wBAAmB,GAAnB,mBAAmB,CAAmE;QATxF,WAAM,GAAG,IAAI,eAAM,CAClC,sCAAoC,CAAC,IAAI,CAC1C,CAAC;QACM,UAAK,GAA0B,IAAI,CAAC;IAOzC,CAAC;IAEJ,sBAAsB;QACpB,IACE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM;YAC/B,CAAC,IAAI,CAAC,mBAAmB,CAAC,wBAAwB,EAClD,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,GAAS,EAAE;YAClC,KAAK,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACpC,CAAC,EAAE,IAAI,CAAC,mBAAmB,CAAC,sBAAsB,CAAC,CAAC;QACpD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,qBAAqB;QACnB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACpB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,qBAAqB;QACjC,IAAI,CAAC;YACH,MAAM,cAAc,GAClB,MAAM,IAAI,CAAC,eAAe,CAAC,2BAA2B,CAAC;gBACrD,OAAO,EAAE,IAAI,CAAC,mBAAmB;aAClC,CAAC,CAAC;YAEL,IAAI,cAAc,EAAE,CAAC;gBACnB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,cAAc,wBAAwB,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAChE,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAA;AApDY,oFAAoC;+CAApC,oCAAoC;IADhD,IAAA,mBAAU,GAAE;IAWR,mBAAA,IAAA,iBAAQ,GAAE,CAAA;IACV,mBAAA,IAAA,eAAM,EAAC,+CAAwB,CAAC,CAAA;6CAFC,2DAA2B;GATpD,oCAAoC,CAoDhD"}
@@ -0,0 +1,23 @@
1
+ import { ModuleRef } from '@nestjs/core';
2
+ import { Repository } from 'typeorm';
3
+ import { NotificationEntity } from './notification.entity';
4
+ import { BPMResolvedNotificationOptions } from './notification-options';
5
+ export declare class NotificationDeliveryService {
6
+ private readonly notificationRepository;
7
+ private readonly moduleRef;
8
+ private readonly logger;
9
+ constructor(notificationRepository: Repository<NotificationEntity>, moduleRef: ModuleRef);
10
+ deliverPendingNotifications({ limit, now, options, }: {
11
+ readonly limit?: number;
12
+ readonly now?: Date;
13
+ readonly options: BPMResolvedNotificationOptions;
14
+ }): Promise<number>;
15
+ deliverNotification(notification: NotificationEntity, options: BPMResolvedNotificationOptions): Promise<boolean>;
16
+ private claimPendingNotifications;
17
+ private dispatch;
18
+ private dispatchBuiltIn;
19
+ private readHostDispatcher;
20
+ private dispatchEmail;
21
+ private dispatchWebhook;
22
+ private recordDeliveryFailure;
23
+ }
@@ -0,0 +1,245 @@
1
+ "use strict";
2
+ var NotificationDeliveryService_1;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.NotificationDeliveryService = void 0;
5
+ const tslib_1 = require("tslib");
6
+ const node_crypto_1 = require("node:crypto");
7
+ const common_1 = require("@nestjs/common");
8
+ const core_1 = require("@nestjs/core");
9
+ const typeorm_1 = require("@nestjs/typeorm");
10
+ const nodemailer = require("nodemailer");
11
+ const typeorm_2 = require("typeorm");
12
+ const identity_service_1 = require("../identity/identity.service");
13
+ const notification_dispatcher_token_1 = require("./notification-dispatcher.token");
14
+ const notification_entity_1 = require("./notification.entity");
15
+ const notification_enums_1 = require("./notification.enums");
16
+ let NotificationDeliveryService = NotificationDeliveryService_1 = class NotificationDeliveryService {
17
+ constructor(notificationRepository, moduleRef) {
18
+ this.notificationRepository = notificationRepository;
19
+ this.moduleRef = moduleRef;
20
+ this.logger = new common_1.Logger(NotificationDeliveryService_1.name);
21
+ }
22
+ async deliverPendingNotifications({ limit, now = new Date(), options, }) {
23
+ const deliveryLimit = normalizePositiveInteger(limit, options.deliveryBatchSize);
24
+ const pendingNotifications = await this.claimPendingNotifications({
25
+ claimStaleBefore: new Date(now.getTime() - options.deliveryRetryBaseDelayMs),
26
+ limit: deliveryLimit,
27
+ now,
28
+ });
29
+ const results = await Promise.all(pendingNotifications.map((notification) => this.deliverNotification(notification, options)));
30
+ return results.filter(Boolean).length;
31
+ }
32
+ async deliverNotification(notification, options) {
33
+ if (notification.channel === notification_enums_1.NotificationChannelEnum.IN_APP) {
34
+ return false;
35
+ }
36
+ if (notification.status !== notification_enums_1.NotificationStatusEnum.PENDING &&
37
+ notification.status !== notification_enums_1.NotificationStatusEnum.DELIVERY_IN_PROGRESS) {
38
+ return false;
39
+ }
40
+ try {
41
+ const deliveryTarget = await this.dispatch(notification, options);
42
+ await this.notificationRepository.save({
43
+ ...notification,
44
+ attemptCount: notification.attemptCount + 1,
45
+ deliveredAt: new Date(),
46
+ deliveryError: null,
47
+ deliveryTarget,
48
+ lastAttemptAt: new Date(),
49
+ nextRetryAt: null,
50
+ sentAt: new Date(),
51
+ status: notification_enums_1.NotificationStatusEnum.SENT,
52
+ });
53
+ return true;
54
+ }
55
+ catch (error) {
56
+ await this.recordDeliveryFailure(notification, readErrorMessage(error), options);
57
+ return false;
58
+ }
59
+ }
60
+ async claimPendingNotifications({ claimStaleBefore, limit, now, }) {
61
+ if (!this.notificationRepository.manager?.transaction) {
62
+ return this.notificationRepository.find({
63
+ order: { createdAt: 'ASC' },
64
+ take: limit,
65
+ where: [
66
+ {
67
+ nextRetryAt: (0, typeorm_2.LessThanOrEqual)(now),
68
+ status: notification_enums_1.NotificationStatusEnum.PENDING,
69
+ },
70
+ {
71
+ nextRetryAt: (0, typeorm_2.IsNull)(),
72
+ status: notification_enums_1.NotificationStatusEnum.PENDING,
73
+ },
74
+ {
75
+ lastAttemptAt: (0, typeorm_2.LessThanOrEqual)(claimStaleBefore),
76
+ status: notification_enums_1.NotificationStatusEnum.DELIVERY_IN_PROGRESS,
77
+ },
78
+ ],
79
+ });
80
+ }
81
+ return this.notificationRepository.manager.transaction(async (manager) => {
82
+ const claimedRows = (await manager.query(`
83
+ UPDATE notifications
84
+ SET status = $1,
85
+ last_attempt_at = $2
86
+ WHERE id IN (
87
+ SELECT id
88
+ FROM notifications
89
+ WHERE (
90
+ (
91
+ status = $3
92
+ AND (next_retry_at IS NULL OR next_retry_at <= $2)
93
+ )
94
+ OR (
95
+ status = $5
96
+ AND last_attempt_at <= $6
97
+ )
98
+ )
99
+ ORDER BY created_at ASC
100
+ FOR UPDATE SKIP LOCKED
101
+ LIMIT $4
102
+ )
103
+ RETURNING id
104
+ `, [
105
+ notification_enums_1.NotificationStatusEnum.DELIVERY_IN_PROGRESS,
106
+ now,
107
+ notification_enums_1.NotificationStatusEnum.PENDING,
108
+ limit,
109
+ notification_enums_1.NotificationStatusEnum.DELIVERY_IN_PROGRESS,
110
+ claimStaleBefore,
111
+ ]));
112
+ const claimedIds = claimedRows.map((row) => row.id);
113
+ return claimedIds.length
114
+ ? manager
115
+ .getRepository(notification_entity_1.NotificationEntity)
116
+ .find({ where: { id: (0, typeorm_2.In)(claimedIds) } })
117
+ : [];
118
+ });
119
+ }
120
+ async dispatch(notification, options) {
121
+ const hostDispatcher = this.readHostDispatcher();
122
+ if (hostDispatcher) {
123
+ return hostDispatcher.dispatch(notification, options);
124
+ }
125
+ return this.dispatchBuiltIn(notification, options);
126
+ }
127
+ async dispatchBuiltIn(notification, options) {
128
+ if (notification.channel === notification_enums_1.NotificationChannelEnum.EMAIL) {
129
+ return this.dispatchEmail(notification, options);
130
+ }
131
+ if (notification.channel === notification_enums_1.NotificationChannelEnum.WEBHOOK) {
132
+ return this.dispatchWebhook(notification, options);
133
+ }
134
+ throw new Error(`Unsupported notification channel ${notification.channel}`);
135
+ }
136
+ readHostDispatcher() {
137
+ try {
138
+ return this.moduleRef.get(notification_dispatcher_token_1.BPM_NOTIFICATION_DISPATCHER, {
139
+ strict: false,
140
+ });
141
+ }
142
+ catch {
143
+ return null;
144
+ }
145
+ }
146
+ async dispatchEmail(notification, options) {
147
+ if (!options.emailEnabled ||
148
+ !options.emailSmtpHost ||
149
+ !options.emailSmtpPort ||
150
+ !options.emailSmtpUsername ||
151
+ !options.emailSmtpPassword ||
152
+ !options.emailFrom) {
153
+ throw new Error('EMAIL_DISABLED');
154
+ }
155
+ const identityService = this.moduleRef.get(identity_service_1.IdentityService, {
156
+ strict: false,
157
+ });
158
+ const recipient = await identityService.resolveMember(notification.recipientMemberId);
159
+ const transporter = nodemailer.createTransport({
160
+ auth: {
161
+ pass: options.emailSmtpPassword,
162
+ user: options.emailSmtpUsername,
163
+ },
164
+ host: options.emailSmtpHost,
165
+ port: options.emailSmtpPort,
166
+ secure: options.emailSmtpSecure,
167
+ });
168
+ await transporter.sendMail({
169
+ from: options.emailFrom,
170
+ subject: notification.title,
171
+ text: notification.body,
172
+ to: recipient.email,
173
+ });
174
+ return recipient.email;
175
+ }
176
+ async dispatchWebhook(notification, options) {
177
+ if (!options.webhookEnabled ||
178
+ !options.webhookEndpointUrl ||
179
+ !options.webhookSigningSecret) {
180
+ throw new Error('WEBHOOK_DISABLED');
181
+ }
182
+ const payload = JSON.stringify({
183
+ body: notification.body,
184
+ channel: notification.channel,
185
+ createdAt: notification.createdAt.toISOString(),
186
+ id: notification.id,
187
+ instanceId: notification.instanceId,
188
+ payload: notification.payload,
189
+ recipientMemberId: notification.recipientMemberId,
190
+ taskId: notification.taskId,
191
+ title: notification.title,
192
+ type: notification.type,
193
+ });
194
+ const signature = (0, node_crypto_1.createHmac)('sha256', options.webhookSigningSecret)
195
+ .update(payload)
196
+ .digest('hex');
197
+ const response = await fetch(options.webhookEndpointUrl, {
198
+ body: payload,
199
+ headers: {
200
+ 'content-type': 'application/json',
201
+ 'x-bpm-signature-sha256': signature,
202
+ },
203
+ method: 'POST',
204
+ });
205
+ if (!response.ok) {
206
+ throw new Error(`WEBHOOK_HTTP_${response.status}`);
207
+ }
208
+ return options.webhookEndpointUrl;
209
+ }
210
+ async recordDeliveryFailure(notification, errorMessage, options) {
211
+ const attemptCount = notification.attemptCount + 1;
212
+ const failedPermanently = attemptCount >= options.deliveryMaxAttempts;
213
+ const now = new Date();
214
+ await this.notificationRepository.save({
215
+ ...notification,
216
+ attemptCount,
217
+ deliveryError: errorMessage,
218
+ lastAttemptAt: now,
219
+ nextRetryAt: failedPermanently
220
+ ? null
221
+ : new Date(now.getTime() + options.deliveryRetryBaseDelayMs * attemptCount),
222
+ status: failedPermanently
223
+ ? notification_enums_1.NotificationStatusEnum.FAILED
224
+ : notification_enums_1.NotificationStatusEnum.PENDING,
225
+ });
226
+ this.logger.warn(`Notification ${notification.id} delivery failed: ${errorMessage}`);
227
+ }
228
+ };
229
+ exports.NotificationDeliveryService = NotificationDeliveryService;
230
+ exports.NotificationDeliveryService = NotificationDeliveryService = NotificationDeliveryService_1 = tslib_1.__decorate([
231
+ (0, common_1.Injectable)(),
232
+ tslib_1.__param(0, (0, typeorm_1.InjectRepository)(notification_entity_1.NotificationEntity)),
233
+ tslib_1.__metadata("design:paramtypes", [typeorm_2.Repository,
234
+ core_1.ModuleRef])
235
+ ], NotificationDeliveryService);
236
+ function readErrorMessage(error) {
237
+ return error instanceof Error ? error.message : 'Unknown delivery error';
238
+ }
239
+ function normalizePositiveInteger(value, fallback) {
240
+ if (typeof value !== 'number' || !Number.isInteger(value) || value <= 0) {
241
+ return fallback;
242
+ }
243
+ return value;
244
+ }
245
+ //# sourceMappingURL=notification-delivery.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notification-delivery.service.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/notification/notification-delivery.service.ts"],"names":[],"mappings":";;;;;AAAA,6CAAyC;AACzC,2CAAoD;AACpD,uCAAyC;AACzC,6CAAmD;AACnD,yCAAyC;AACzC,qCAAkE;AAClE,mEAA+D;AAC/D,mFAGyC;AACzC,+DAA2D;AAC3D,6DAG8B;AAIvB,IAAM,2BAA2B,mCAAjC,MAAM,2BAA2B;IAGtC,YAEE,sBAAuE,EACtD,SAAoB;QADpB,2BAAsB,GAAtB,sBAAsB,CAAgC;QACtD,cAAS,GAAT,SAAS,CAAW;QALtB,WAAM,GAAG,IAAI,eAAM,CAAC,6BAA2B,CAAC,IAAI,CAAC,CAAC;IAMpE,CAAC;IAEJ,KAAK,CAAC,2BAA2B,CAAC,EAChC,KAAK,EACL,GAAG,GAAG,IAAI,IAAI,EAAE,EAChB,OAAO,GAKR;QACC,MAAM,aAAa,GAAG,wBAAwB,CAC5C,KAAK,EACL,OAAO,CAAC,iBAAiB,CAC1B,CAAC;QACF,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC;YAChE,gBAAgB,EAAE,IAAI,IAAI,CACxB,GAAG,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,wBAAwB,CACjD;YACD,KAAK,EAAE,aAAa;YACpB,GAAG;SACJ,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,oBAAoB,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CACxC,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,OAAO,CAAC,CAChD,CACF,CAAC;QAEF,OAAO,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,YAAgC,EAChC,OAAuC;QAEvC,IAAI,YAAY,CAAC,OAAO,KAAK,4CAAuB,CAAC,MAAM,EAAE,CAAC;YAC5D,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IACE,YAAY,CAAC,MAAM,KAAK,2CAAsB,CAAC,OAAO;YACtD,YAAY,CAAC,MAAM,KAAK,2CAAsB,CAAC,oBAAoB,EACnE,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAClE,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC;gBACrC,GAAG,YAAY;gBACf,YAAY,EAAE,YAAY,CAAC,YAAY,GAAG,CAAC;gBAC3C,WAAW,EAAE,IAAI,IAAI,EAAE;gBACvB,aAAa,EAAE,IAAI;gBACnB,cAAc;gBACd,aAAa,EAAE,IAAI,IAAI,EAAE;gBACzB,WAAW,EAAE,IAAI;gBACjB,MAAM,EAAE,IAAI,IAAI,EAAE;gBAClB,MAAM,EAAE,2CAAsB,CAAC,IAAI;aACpC,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,qBAAqB,CAC9B,YAAY,EACZ,gBAAgB,CAAC,KAAK,CAAC,EACvB,OAAO,CACR,CAAC;YAEF,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,yBAAyB,CAAC,EACtC,gBAAgB,EAChB,KAAK,EACL,GAAG,GAKJ;QACC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC;YACtD,OAAO,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC;gBACtC,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;gBAC3B,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE;oBACL;wBACE,WAAW,EAAE,IAAA,yBAAe,EAAC,GAAG,CAAC;wBACjC,MAAM,EAAE,2CAAsB,CAAC,OAAO;qBACvC;oBACD;wBACE,WAAW,EAAE,IAAA,gBAAM,GAAE;wBACrB,MAAM,EAAE,2CAAsB,CAAC,OAAO;qBACvC;oBACD;wBACE,aAAa,EAAE,IAAA,yBAAe,EAAC,gBAAgB,CAAC;wBAChD,MAAM,EAAE,2CAAsB,CAAC,oBAAoB;qBACpD;iBACF;aACF,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,WAAW,CACpD,KAAK,EAAE,OAAO,EAA0C,EAAE;YACxD,MAAM,WAAW,GAAG,CAAC,MAAM,OAAO,CAAC,KAAK,CACtC;;;;;;;;;;;;;;;;;;;;;;WAsBC,EACD;gBACE,2CAAsB,CAAC,oBAAoB;gBAC3C,GAAG;gBACH,2CAAsB,CAAC,OAAO;gBAC9B,KAAK;gBACL,2CAAsB,CAAC,oBAAoB;gBAC3C,gBAAgB;aACjB,CACF,CAAuC,CAAC;YACzC,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAEpD,OAAO,UAAU,CAAC,MAAM;gBACtB,CAAC,CAAC,OAAO;qBACJ,aAAa,CAAC,wCAAkB,CAAC;qBACjC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,IAAA,YAAE,EAAC,UAAU,CAAC,EAAE,EAAE,CAAC;gBAC5C,CAAC,CAAC,EAAE,CAAC;QACT,CAAC,CACF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,QAAQ,CACpB,YAAgC,EAChC,OAAuC;QAEvC,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAEjD,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,cAAc,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACxD,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAEO,KAAK,CAAC,eAAe,CAC3B,YAAgC,EAChC,OAAuC;QAEvC,IAAI,YAAY,CAAC,OAAO,KAAK,4CAAuB,CAAC,KAAK,EAAE,CAAC;YAC3D,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,YAAY,CAAC,OAAO,KAAK,4CAAuB,CAAC,OAAO,EAAE,CAAC;YAC7D,OAAO,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,oCAAoC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9E,CAAC;IAEO,kBAAkB;QACxB,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,2DAA2B,EAAE;gBACrD,MAAM,EAAE,KAAK;aACd,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,aAAa,CACzB,YAAgC,EAChC,OAAuC;QAEvC,IACE,CAAC,OAAO,CAAC,YAAY;YACrB,CAAC,OAAO,CAAC,aAAa;YACtB,CAAC,OAAO,CAAC,aAAa;YACtB,CAAC,OAAO,CAAC,iBAAiB;YAC1B,CAAC,OAAO,CAAC,iBAAiB;YAC1B,CAAC,OAAO,CAAC,SAAS,EAClB,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACpC,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,kCAAe,EAAE;YAC1D,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,aAAa,CACnD,YAAY,CAAC,iBAAiB,CAC/B,CAAC;QACF,MAAM,WAAW,GAAG,UAAU,CAAC,eAAe,CAAC;YAC7C,IAAI,EAAE;gBACJ,IAAI,EAAE,OAAO,CAAC,iBAAiB;gBAC/B,IAAI,EAAE,OAAO,CAAC,iBAAiB;aAChC;YACD,IAAI,EAAE,OAAO,CAAC,aAAa;YAC3B,IAAI,EAAE,OAAO,CAAC,aAAa;YAC3B,MAAM,EAAE,OAAO,CAAC,eAAe;SAChC,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,QAAQ,CAAC;YACzB,IAAI,EAAE,OAAO,CAAC,SAAS;YACvB,OAAO,EAAE,YAAY,CAAC,KAAK;YAC3B,IAAI,EAAE,YAAY,CAAC,IAAI;YACvB,EAAE,EAAE,SAAS,CAAC,KAAK;SACpB,CAAC,CAAC;QAEH,OAAO,SAAS,CAAC,KAAK,CAAC;IACzB,CAAC;IAEO,KAAK,CAAC,eAAe,CAC3B,YAAgC,EAChC,OAAuC;QAEvC,IACE,CAAC,OAAO,CAAC,cAAc;YACvB,CAAC,OAAO,CAAC,kBAAkB;YAC3B,CAAC,OAAO,CAAC,oBAAoB,EAC7B,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACtC,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;YAC7B,IAAI,EAAE,YAAY,CAAC,IAAI;YACvB,OAAO,EAAE,YAAY,CAAC,OAAO;YAC7B,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC,WAAW,EAAE;YAC/C,EAAE,EAAE,YAAY,CAAC,EAAE;YACnB,UAAU,EAAE,YAAY,CAAC,UAAU;YACnC,OAAO,EAAE,YAAY,CAAC,OAAO;YAC7B,iBAAiB,EAAE,YAAY,CAAC,iBAAiB;YACjD,MAAM,EAAE,YAAY,CAAC,MAAM;YAC3B,KAAK,EAAE,YAAY,CAAC,KAAK;YACzB,IAAI,EAAE,YAAY,CAAC,IAAI;SACxB,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,IAAA,wBAAU,EAAC,QAAQ,EAAE,OAAO,CAAC,oBAAoB,CAAC;aACjE,MAAM,CAAC,OAAO,CAAC;aACf,MAAM,CAAC,KAAK,CAAC,CAAC;QACjB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,kBAAkB,EAAE;YACvD,IAAI,EAAE,OAAO;YACb,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,wBAAwB,EAAE,SAAS;aACpC;YACD,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,gBAAgB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,OAAO,CAAC,kBAAkB,CAAC;IACpC,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,YAAgC,EAChC,YAAoB,EACpB,OAAuC;QAEvC,MAAM,YAAY,GAAG,YAAY,CAAC,YAAY,GAAG,CAAC,CAAC;QACnD,MAAM,iBAAiB,GAAG,YAAY,IAAI,OAAO,CAAC,mBAAmB,CAAC;QACtE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QAEvB,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC;YACrC,GAAG,YAAY;YACf,YAAY;YACZ,aAAa,EAAE,YAAY;YAC3B,aAAa,EAAE,GAAG;YAClB,WAAW,EAAE,iBAAiB;gBAC5B,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,IAAI,IAAI,CACN,GAAG,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,wBAAwB,GAAG,YAAY,CAChE;YACL,MAAM,EAAE,iBAAiB;gBACvB,CAAC,CAAC,2CAAsB,CAAC,MAAM;gBAC/B,CAAC,CAAC,2CAAsB,CAAC,OAAO;SACnC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,gBAAgB,YAAY,CAAC,EAAE,qBAAqB,YAAY,EAAE,CACnE,CAAC;IACJ,CAAC;CACF,CAAA;AAhTY,kEAA2B;sCAA3B,2BAA2B;IADvC,IAAA,mBAAU,GAAE;IAKR,mBAAA,IAAA,0BAAgB,EAAC,wCAAkB,CAAC,CAAA;6CACI,oBAAU;QACvB,gBAAS;GAN5B,2BAA2B,CAgTvC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;AAC3E,CAAC;AAED,SAAS,wBAAwB,CAC/B,KAAyB,EACzB,QAAgB;IAEhB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACxE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { InjectionToken } from '@nestjs/common';
2
+ import { NotificationEntity } from './notification.entity';
3
+ import { BPMResolvedNotificationOptions } from './notification-options';
4
+ export interface BPMNotificationDispatcher {
5
+ dispatch(notification: NotificationEntity, options: BPMResolvedNotificationOptions): Promise<string>;
6
+ }
7
+ export declare const BPM_NOTIFICATION_DISPATCHER: InjectionToken<BPMNotificationDispatcher>;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BPM_NOTIFICATION_DISPATCHER = void 0;
4
+ exports.BPM_NOTIFICATION_DISPATCHER = Symbol('BPM_NOTIFICATION_DISPATCHER');
5
+ //# sourceMappingURL=notification-dispatcher.token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notification-dispatcher.token.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/notification/notification-dispatcher.token.ts"],"names":[],"mappings":";;;AAWa,QAAA,2BAA2B,GACtC,MAAM,CAAC,6BAA6B,CAAC,CAAC"}