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

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 (612) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/LICENSE +21 -0
  3. package/README.md +143 -0
  4. package/package.json +3 -3
  5. package/src/index.js +18 -0
  6. package/src/index.js.map +1 -0
  7. package/src/lib/attachment/attachment-options.d.ts +44 -0
  8. package/src/lib/attachment/attachment-options.js +62 -0
  9. package/src/lib/attachment/attachment-options.js.map +1 -0
  10. package/src/lib/attachment/attachment-storage.provider.d.ts +4 -0
  11. package/src/lib/attachment/attachment-storage.provider.js +35 -0
  12. package/src/lib/attachment/attachment-storage.provider.js.map +1 -0
  13. package/src/lib/attachment/{attachment-storage.token.ts → attachment-storage.token.d.ts} +1 -3
  14. package/src/lib/attachment/attachment-storage.token.js +5 -0
  15. package/src/lib/attachment/attachment-storage.token.js.map +1 -0
  16. package/src/lib/attachment/attachment.controller.d.ts +8 -0
  17. package/src/lib/attachment/attachment.controller.js +38 -0
  18. package/src/lib/attachment/attachment.controller.js.map +1 -0
  19. package/src/lib/attachment/attachment.entity.d.ts +14 -0
  20. package/src/lib/attachment/attachment.entity.js +74 -0
  21. package/src/lib/attachment/attachment.entity.js.map +1 -0
  22. package/src/lib/attachment/attachment.module.d.ts +27 -0
  23. package/src/lib/attachment/attachment.module.js +103 -0
  24. package/src/lib/attachment/attachment.module.js.map +1 -0
  25. package/src/lib/attachment/attachment.mutations.d.ts +8 -0
  26. package/src/lib/attachment/attachment.mutations.js +35 -0
  27. package/src/lib/attachment/attachment.mutations.js.map +1 -0
  28. package/src/lib/attachment/attachment.queries.d.ts +9 -0
  29. package/src/lib/attachment/attachment.queries.js +78 -0
  30. package/src/lib/attachment/attachment.queries.js.map +1 -0
  31. package/src/lib/attachment/attachment.service.d.ts +49 -0
  32. package/src/lib/attachment/attachment.service.js +276 -0
  33. package/src/lib/attachment/attachment.service.js.map +1 -0
  34. package/src/lib/attachment/dto/upload-attachment.input.d.ts +11 -0
  35. package/src/lib/attachment/dto/upload-attachment.input.js +68 -0
  36. package/src/lib/attachment/dto/upload-attachment.input.js.map +1 -0
  37. package/src/lib/attachment/index.js +9 -0
  38. package/src/lib/attachment/index.js.map +1 -0
  39. package/src/lib/bpm/bpm-root.module.d.ts +155 -0
  40. package/src/lib/bpm/bpm-root.module.js +170 -0
  41. package/src/lib/bpm/bpm-root.module.js.map +1 -0
  42. package/src/lib/bpm/index.js +5 -0
  43. package/src/lib/bpm/index.js.map +1 -0
  44. package/src/lib/bpm-auth/bpm-auth-context.d.ts +24 -0
  45. package/src/lib/bpm-auth/bpm-auth-context.extractor.d.ts +4 -0
  46. package/src/lib/bpm-auth/bpm-auth-context.extractor.js +69 -0
  47. package/src/lib/bpm-auth/bpm-auth-context.extractor.js.map +1 -0
  48. package/src/lib/bpm-auth/bpm-auth-context.js +15 -0
  49. package/src/lib/bpm-auth/bpm-auth-context.js.map +1 -0
  50. package/src/lib/bpm-auth/bpm-auth.authorization.d.ts +12 -0
  51. package/src/lib/bpm-auth/bpm-auth.authorization.js +67 -0
  52. package/src/lib/bpm-auth/bpm-auth.authorization.js.map +1 -0
  53. package/src/lib/bpm-auth/bpm-auth.decorators.d.ts +3 -0
  54. package/src/lib/bpm-auth/bpm-auth.decorators.js +11 -0
  55. package/src/lib/bpm-auth/bpm-auth.decorators.js.map +1 -0
  56. package/src/lib/bpm-auth/bpm-auth.guard.d.ts +7 -0
  57. package/src/lib/bpm-auth/bpm-auth.guard.js +24 -0
  58. package/src/lib/bpm-auth/bpm-auth.guard.js.map +1 -0
  59. package/src/lib/bpm-auth/bpm-auth.module.d.ts +6 -0
  60. package/src/lib/bpm-auth/bpm-auth.module.js +69 -0
  61. package/src/lib/bpm-auth/bpm-auth.module.js.map +1 -0
  62. package/src/lib/bpm-auth/bpm-auth.options.d.ts +11 -0
  63. package/src/lib/bpm-auth/bpm-auth.options.js +3 -0
  64. package/src/lib/bpm-auth/bpm-auth.options.js.map +1 -0
  65. package/src/lib/bpm-auth/configurable-bpm-auth-context.accessor.d.ts +10 -0
  66. package/src/lib/bpm-auth/configurable-bpm-auth-context.accessor.js +40 -0
  67. package/src/lib/bpm-auth/configurable-bpm-auth-context.accessor.js.map +1 -0
  68. package/src/lib/bpm-auth/index.js +10 -0
  69. package/src/lib/bpm-auth/index.js.map +1 -0
  70. package/src/lib/common/filters/all-exceptions.filter.d.ts +25 -0
  71. package/src/lib/common/filters/all-exceptions.filter.js +93 -0
  72. package/src/lib/common/filters/all-exceptions.filter.js.map +1 -0
  73. package/src/lib/common/index.js +5 -0
  74. package/src/lib/common/index.js.map +1 -0
  75. package/src/lib/common/iso-duration.d.ts +1 -0
  76. package/src/lib/common/iso-duration.js +27 -0
  77. package/src/lib/common/iso-duration.js.map +1 -0
  78. package/src/lib/condition/condition.module.d.ts +2 -0
  79. package/src/lib/condition/condition.module.js +16 -0
  80. package/src/lib/condition/condition.module.js.map +1 -0
  81. package/src/lib/condition/condition.service.d.ts +16 -0
  82. package/src/lib/condition/condition.service.js +82 -0
  83. package/src/lib/condition/condition.service.js.map +1 -0
  84. package/src/lib/condition/index.js +6 -0
  85. package/src/lib/condition/index.js.map +1 -0
  86. package/src/lib/database/data-source.d.ts +4 -0
  87. package/src/lib/database/data-source.js +7 -0
  88. package/src/lib/database/data-source.js.map +1 -0
  89. package/src/lib/database/index.js +6 -0
  90. package/src/lib/database/index.js.map +1 -0
  91. package/src/lib/database/migration-runner.d.ts +1 -0
  92. package/src/lib/database/migration-runner.js +23 -0
  93. package/src/lib/database/migration-runner.js.map +1 -0
  94. package/src/lib/database/typeorm.config.d.ts +14 -0
  95. package/src/lib/database/typeorm.config.js +135 -0
  96. package/src/lib/database/typeorm.config.js.map +1 -0
  97. package/src/lib/delegation/delegation-rule.entity.d.ts +19 -0
  98. package/src/lib/delegation/delegation-rule.entity.js +99 -0
  99. package/src/lib/delegation/delegation-rule.entity.js.map +1 -0
  100. package/src/lib/delegation/delegation.enums.d.ts +10 -0
  101. package/src/lib/delegation/delegation.enums.js +23 -0
  102. package/src/lib/delegation/delegation.enums.js.map +1 -0
  103. package/src/lib/delegation/delegation.module.d.ts +2 -0
  104. package/src/lib/delegation/delegation.module.js +22 -0
  105. package/src/lib/delegation/delegation.module.js.map +1 -0
  106. package/src/lib/delegation/delegation.mutations.d.ts +11 -0
  107. package/src/lib/delegation/delegation.mutations.js +87 -0
  108. package/src/lib/delegation/delegation.mutations.js.map +1 -0
  109. package/src/lib/delegation/delegation.queries.d.ts +10 -0
  110. package/src/lib/delegation/delegation.queries.js +91 -0
  111. package/src/lib/delegation/delegation.queries.js.map +1 -0
  112. package/src/lib/delegation/delegation.service.d.ts +56 -0
  113. package/src/lib/delegation/delegation.service.js +268 -0
  114. package/src/lib/delegation/delegation.service.js.map +1 -0
  115. package/src/lib/delegation/dto/delegation-rule.input.d.ts +24 -0
  116. package/src/lib/delegation/dto/delegation-rule.input.js +143 -0
  117. package/src/lib/delegation/dto/delegation-rule.input.js.map +1 -0
  118. package/src/lib/delegation/index.js +9 -0
  119. package/src/lib/delegation/index.js.map +1 -0
  120. package/src/lib/form/dto/form-definition.input.d.ts +21 -0
  121. package/src/lib/form/dto/form-definition.input.js +103 -0
  122. package/src/lib/form/dto/form-definition.input.js.map +1 -0
  123. package/src/lib/form/form-definition-version.entity.d.ts +17 -0
  124. package/src/lib/form/form-definition-version.entity.js +84 -0
  125. package/src/lib/form/form-definition-version.entity.js.map +1 -0
  126. package/src/lib/form/form-definition.entity.d.ts +13 -0
  127. package/src/lib/form/form-definition.entity.js +66 -0
  128. package/src/lib/form/form-definition.entity.js.map +1 -0
  129. package/src/lib/form/form-schema-lint.object.d.ts +4 -0
  130. package/src/lib/form/form-schema-lint.object.js +20 -0
  131. package/src/lib/form/form-schema-lint.object.js.map +1 -0
  132. package/src/lib/form/form-schema.validator.d.ts +13 -0
  133. package/src/lib/form/form-schema.validator.js +354 -0
  134. package/src/lib/form/form-schema.validator.js.map +1 -0
  135. package/src/lib/form/form.enums.d.ts +9 -0
  136. package/src/lib/form/form.enums.js +22 -0
  137. package/src/lib/form/form.enums.js.map +1 -0
  138. package/src/lib/form/form.module.d.ts +2 -0
  139. package/src/lib/form/form.module.js +27 -0
  140. package/src/lib/form/form.module.js.map +1 -0
  141. package/src/lib/form/form.mutations.d.ts +14 -0
  142. package/src/lib/form/form.mutations.js +88 -0
  143. package/src/lib/form/form.mutations.js.map +1 -0
  144. package/src/lib/form/form.queries.d.ts +16 -0
  145. package/src/lib/form/form.queries.js +96 -0
  146. package/src/lib/form/form.queries.js.map +1 -0
  147. package/src/lib/form/form.service.d.ts +35 -0
  148. package/src/lib/form/form.service.js +297 -0
  149. package/src/lib/form/form.service.js.map +1 -0
  150. package/src/lib/form/index.js +12 -0
  151. package/src/lib/form/index.js.map +1 -0
  152. package/src/lib/identity/identity-options.d.ts +13 -0
  153. package/src/lib/identity/identity-options.js +20 -0
  154. package/src/lib/identity/identity-options.js.map +1 -0
  155. package/src/lib/identity/identity.module.d.ts +17 -0
  156. package/src/lib/identity/identity.module.js +65 -0
  157. package/src/lib/identity/identity.module.js.map +1 -0
  158. package/src/lib/identity/identity.queries.d.ts +12 -0
  159. package/src/lib/identity/identity.queries.js +79 -0
  160. package/src/lib/identity/identity.queries.js.map +1 -0
  161. package/src/lib/identity/identity.service.d.ts +22 -0
  162. package/src/lib/identity/identity.service.js +141 -0
  163. package/src/lib/identity/identity.service.js.map +1 -0
  164. package/src/lib/identity/index.js +7 -0
  165. package/src/lib/identity/index.js.map +1 -0
  166. package/src/lib/identity/member-base.adapter.d.ts +95 -0
  167. package/src/lib/identity/member-base.adapter.js +137 -0
  168. package/src/lib/identity/member-base.adapter.js.map +1 -0
  169. package/src/lib/identity/member-metadata-cache.entity.d.ts +8 -0
  170. package/src/lib/identity/member-metadata-cache.entity.js +39 -0
  171. package/src/lib/identity/member-metadata-cache.entity.js.map +1 -0
  172. package/src/lib/identity/member-profile.object.d.ts +8 -0
  173. package/src/lib/identity/member-profile.object.js +37 -0
  174. package/src/lib/identity/member-profile.object.js.map +1 -0
  175. package/src/lib/identity/member-resolver.interface.d.ts +79 -0
  176. package/src/lib/identity/member-resolver.interface.js +19 -0
  177. package/src/lib/identity/member-resolver.interface.js.map +1 -0
  178. package/src/lib/migrations/0000000000001-enable-postgres-extensions.d.ts +6 -0
  179. package/src/lib/migrations/0000000000001-enable-postgres-extensions.js +17 -0
  180. package/src/lib/migrations/0000000000001-enable-postgres-extensions.js.map +1 -0
  181. package/src/lib/migrations/0000000001000-identity-organization-foundation.d.ts +6 -0
  182. package/src/lib/migrations/{0000000001000-identity-organization-foundation.ts → 0000000001000-identity-organization-foundation.js} +29 -38
  183. package/src/lib/migrations/0000000001000-identity-organization-foundation.js.map +1 -0
  184. package/src/lib/migrations/0000000002000-form-builder-foundation.d.ts +6 -0
  185. package/src/lib/migrations/{0000000002000-form-builder-foundation.ts → 0000000002000-form-builder-foundation.js} +21 -22
  186. package/src/lib/migrations/0000000002000-form-builder-foundation.js.map +1 -0
  187. package/src/lib/migrations/0000000003000-approval-template-foundation.d.ts +6 -0
  188. package/src/lib/migrations/{0000000003000-approval-template-foundation.ts → 0000000003000-approval-template-foundation.js} +21 -24
  189. package/src/lib/migrations/0000000003000-approval-template-foundation.js.map +1 -0
  190. package/src/lib/migrations/0000000004000-workflow-engine-foundation.d.ts +6 -0
  191. package/src/lib/migrations/{0000000004000-workflow-engine-foundation.ts → 0000000004000-workflow-engine-foundation.js} +34 -46
  192. package/src/lib/migrations/0000000004000-workflow-engine-foundation.js.map +1 -0
  193. package/src/lib/migrations/0000000005000-delegation-rules.d.ts +6 -0
  194. package/src/lib/migrations/{0000000005000-delegation-rules.ts → 0000000005000-delegation-rules.js} +19 -20
  195. package/src/lib/migrations/0000000005000-delegation-rules.js.map +1 -0
  196. package/src/lib/migrations/0000000006000-notifications-sla.d.ts +6 -0
  197. package/src/lib/migrations/{0000000006000-notifications-sla.ts → 0000000006000-notifications-sla.js} +23 -26
  198. package/src/lib/migrations/0000000006000-notifications-sla.js.map +1 -0
  199. package/src/lib/migrations/0000000007000-signatures-attachments.d.ts +6 -0
  200. package/src/lib/migrations/{0000000007000-signatures-attachments.ts → 0000000007000-signatures-attachments.js} +27 -28
  201. package/src/lib/migrations/0000000007000-signatures-attachments.js.map +1 -0
  202. package/src/lib/migrations/0000000008000-approval-template-categories.d.ts +6 -0
  203. package/src/lib/migrations/{0000000008000-approval-template-categories.ts → 0000000008000-approval-template-categories.js} +25 -28
  204. package/src/lib/migrations/0000000008000-approval-template-categories.js.map +1 -0
  205. package/src/lib/migrations/0000000009000-task-candidates.d.ts +6 -0
  206. package/src/lib/migrations/{0000000009000-task-candidates.ts → 0000000009000-task-candidates.js} +23 -26
  207. package/src/lib/migrations/0000000009000-task-candidates.js.map +1 -0
  208. package/src/lib/migrations/0000000010000-notification-delivery-state.d.ts +6 -0
  209. package/src/lib/migrations/{0000000010000-notification-delivery-state.ts → 0000000010000-notification-delivery-state.js} +17 -16
  210. package/src/lib/migrations/0000000010000-notification-delivery-state.js.map +1 -0
  211. package/src/lib/migrations/0000000011000-remove-attachment-encryption-key.d.ts +6 -0
  212. package/src/lib/migrations/0000000011000-remove-attachment-encryption-key.js +22 -0
  213. package/src/lib/migrations/0000000011000-remove-attachment-encryption-key.js.map +1 -0
  214. package/src/lib/migrations/0000000012000-notification-sla-idempotency.d.ts +6 -0
  215. package/src/lib/migrations/0000000012000-notification-sla-idempotency.js +21 -0
  216. package/src/lib/migrations/0000000012000-notification-sla-idempotency.js.map +1 -0
  217. package/src/lib/migrations/0000000013000-workflow-query-indexes.d.ts +6 -0
  218. package/src/lib/migrations/0000000013000-workflow-query-indexes.js +80 -0
  219. package/src/lib/migrations/0000000013000-workflow-query-indexes.js.map +1 -0
  220. package/src/lib/migrations/index.d.ts +16 -0
  221. package/src/lib/migrations/index.js +49 -0
  222. package/src/lib/migrations/index.js.map +1 -0
  223. package/src/lib/notification/dto/notification-preference.input.d.ts +9 -0
  224. package/src/lib/notification/dto/notification-preference.input.js +53 -0
  225. package/src/lib/notification/dto/notification-preference.input.js.map +1 -0
  226. package/src/lib/notification/index.js +11 -0
  227. package/src/lib/notification/index.js.map +1 -0
  228. package/src/lib/notification/notification-delivery-scheduler.service.d.ts +13 -0
  229. package/src/lib/notification/notification-delivery-scheduler.service.js +53 -0
  230. package/src/lib/notification/notification-delivery-scheduler.service.js.map +1 -0
  231. package/src/lib/notification/notification-delivery.service.d.ts +23 -0
  232. package/src/lib/notification/notification-delivery.service.js +245 -0
  233. package/src/lib/notification/notification-delivery.service.js.map +1 -0
  234. package/src/lib/notification/notification-dispatcher.token.d.ts +7 -0
  235. package/src/lib/notification/notification-dispatcher.token.js +5 -0
  236. package/src/lib/notification/notification-dispatcher.token.js.map +1 -0
  237. package/src/lib/notification/notification-options.d.ts +215 -0
  238. package/src/lib/notification/notification-options.js +128 -0
  239. package/src/lib/notification/notification-options.js.map +1 -0
  240. package/src/lib/notification/notification-options.module.d.ts +23 -0
  241. package/src/lib/notification/notification-options.module.js +41 -0
  242. package/src/lib/notification/notification-options.module.js.map +1 -0
  243. package/src/lib/notification/notification-preference.entity.d.ts +10 -0
  244. package/src/lib/notification/notification-preference.entity.js +50 -0
  245. package/src/lib/notification/notification-preference.entity.js.map +1 -0
  246. package/src/lib/notification/notification-sla-scheduler.service.d.ts +13 -0
  247. package/src/lib/notification/notification-sla-scheduler.service.js +51 -0
  248. package/src/lib/notification/notification-sla-scheduler.service.js.map +1 -0
  249. package/src/lib/notification/notification-template.d.ts +13 -0
  250. package/src/lib/notification/notification-template.js +61 -0
  251. package/src/lib/notification/notification-template.js.map +1 -0
  252. package/src/lib/notification/notification.entity.d.ts +23 -0
  253. package/src/lib/notification/notification.entity.js +122 -0
  254. package/src/lib/notification/notification.entity.js.map +1 -0
  255. package/src/lib/notification/notification.enums.d.ts +24 -0
  256. package/src/lib/notification/notification.enums.js +45 -0
  257. package/src/lib/notification/notification.enums.js.map +1 -0
  258. package/src/lib/notification/notification.module.d.ts +2 -0
  259. package/src/lib/notification/notification.module.js +45 -0
  260. package/src/lib/notification/notification.module.js.map +1 -0
  261. package/src/lib/notification/notification.mutations.d.ts +11 -0
  262. package/src/lib/notification/notification.mutations.js +64 -0
  263. package/src/lib/notification/notification.mutations.js.map +1 -0
  264. package/src/lib/notification/notification.queries.d.ts +11 -0
  265. package/src/lib/notification/notification.queries.js +77 -0
  266. package/src/lib/notification/notification.queries.js.map +1 -0
  267. package/src/lib/notification/notification.service.d.ts +81 -0
  268. package/src/lib/notification/notification.service.js +621 -0
  269. package/src/lib/notification/notification.service.js.map +1 -0
  270. package/src/lib/organization/dto/manager-resolution.input.d.ts +18 -0
  271. package/src/lib/organization/dto/manager-resolution.input.js +107 -0
  272. package/src/lib/organization/dto/manager-resolution.input.js.map +1 -0
  273. package/src/lib/organization/dto/membership.input.d.ts +16 -0
  274. package/src/lib/organization/dto/membership.input.js +99 -0
  275. package/src/lib/organization/dto/membership.input.js.map +1 -0
  276. package/src/lib/organization/dto/org-unit.input.d.ts +24 -0
  277. package/src/lib/organization/dto/org-unit.input.js +119 -0
  278. package/src/lib/organization/dto/org-unit.input.js.map +1 -0
  279. package/src/lib/organization/dto/position.input.d.ts +13 -0
  280. package/src/lib/organization/dto/position.input.js +70 -0
  281. package/src/lib/organization/dto/position.input.js.map +1 -0
  282. package/src/lib/organization/index.js +16 -0
  283. package/src/lib/organization/index.js.map +1 -0
  284. package/src/lib/organization/json-metadata.d.ts +1 -0
  285. package/src/lib/organization/json-metadata.js +14 -0
  286. package/src/lib/organization/json-metadata.js.map +1 -0
  287. package/src/lib/organization/manager-resolution.entity.d.ts +11 -0
  288. package/src/lib/organization/manager-resolution.entity.js +55 -0
  289. package/src/lib/organization/manager-resolution.entity.js.map +1 -0
  290. package/src/lib/organization/membership.entity.d.ts +11 -0
  291. package/src/lib/organization/membership.entity.js +60 -0
  292. package/src/lib/organization/membership.entity.js.map +1 -0
  293. package/src/lib/organization/org-unit-tree-commit-result.object.d.ts +4 -0
  294. package/src/lib/organization/org-unit-tree-commit-result.object.js +17 -0
  295. package/src/lib/organization/org-unit-tree-commit-result.object.js.map +1 -0
  296. package/src/lib/organization/org-unit.entity.d.ts +13 -0
  297. package/src/lib/organization/org-unit.entity.js +64 -0
  298. package/src/lib/organization/org-unit.entity.js.map +1 -0
  299. package/src/lib/organization/organization-summary.object.d.ts +6 -0
  300. package/src/lib/organization/organization-summary.object.js +28 -0
  301. package/src/lib/organization/organization-summary.object.js.map +1 -0
  302. package/src/lib/organization/organization.enums.d.ts +11 -0
  303. package/src/lib/organization/organization.enums.js +22 -0
  304. package/src/lib/organization/organization.enums.js.map +1 -0
  305. package/src/lib/organization/organization.module.d.ts +2 -0
  306. package/src/lib/organization/organization.module.js +35 -0
  307. package/src/lib/organization/organization.module.js.map +1 -0
  308. package/src/lib/organization/organization.mutations.d.ts +26 -0
  309. package/src/lib/organization/organization.mutations.js +148 -0
  310. package/src/lib/organization/organization.mutations.js.map +1 -0
  311. package/src/lib/organization/organization.queries.d.ts +23 -0
  312. package/src/lib/organization/organization.queries.js +202 -0
  313. package/src/lib/organization/organization.queries.js.map +1 -0
  314. package/src/lib/organization/organization.service.d.ts +102 -0
  315. package/src/lib/organization/organization.service.js +751 -0
  316. package/src/lib/organization/organization.service.js.map +1 -0
  317. package/src/lib/organization/position.entity.d.ts +9 -0
  318. package/src/lib/organization/position.entity.js +48 -0
  319. package/src/lib/organization/position.entity.js.map +1 -0
  320. package/src/lib/organization/resolved-manager.object.d.ts +4 -0
  321. package/src/lib/organization/resolved-manager.object.js +20 -0
  322. package/src/lib/organization/resolved-manager.object.js.map +1 -0
  323. package/src/lib/signature/index.js +8 -0
  324. package/src/lib/signature/index.js.map +1 -0
  325. package/src/lib/signature/signature-options.d.ts +33 -0
  326. package/src/lib/signature/signature-options.js +51 -0
  327. package/src/lib/signature/signature-options.js.map +1 -0
  328. package/src/lib/signature/signature-verification.object.d.ts +6 -0
  329. package/src/lib/signature/signature-verification.object.js +28 -0
  330. package/src/lib/signature/signature-verification.object.js.map +1 -0
  331. package/src/lib/signature/signature.entity.d.ts +16 -0
  332. package/src/lib/signature/signature.entity.js +88 -0
  333. package/src/lib/signature/signature.entity.js.map +1 -0
  334. package/src/lib/signature/signature.module.d.ts +11 -0
  335. package/src/lib/signature/signature.module.js +60 -0
  336. package/src/lib/signature/signature.module.js.map +1 -0
  337. package/src/lib/signature/signature.queries.d.ts +11 -0
  338. package/src/lib/signature/signature.queries.js +46 -0
  339. package/src/lib/signature/signature.queries.js.map +1 -0
  340. package/src/lib/signature/signature.service.d.ts +25 -0
  341. package/src/lib/signature/signature.service.js +124 -0
  342. package/src/lib/signature/signature.service.js.map +1 -0
  343. package/src/lib/template/approval-template-category.entity.d.ts +9 -0
  344. package/src/lib/template/approval-template-category.entity.js +49 -0
  345. package/src/lib/template/approval-template-category.entity.js.map +1 -0
  346. package/src/lib/template/approval-template-version.entity.d.ts +21 -0
  347. package/src/lib/template/approval-template-version.entity.js +106 -0
  348. package/src/lib/template/approval-template-version.entity.js.map +1 -0
  349. package/src/lib/template/approval-template.entity.d.ts +14 -0
  350. package/src/lib/template/approval-template.entity.js +74 -0
  351. package/src/lib/template/approval-template.entity.js.map +1 -0
  352. package/src/lib/template/dto/approval-template.input.d.ts +36 -0
  353. package/src/lib/template/dto/approval-template.input.js +187 -0
  354. package/src/lib/template/dto/approval-template.input.js.map +1 -0
  355. package/src/lib/template/index.js +12 -0
  356. package/src/lib/template/index.js.map +1 -0
  357. package/src/lib/template/template.enums.d.ts +14 -0
  358. package/src/lib/template/template.enums.js +31 -0
  359. package/src/lib/template/template.enums.js.map +1 -0
  360. package/src/lib/template/template.module.d.ts +2 -0
  361. package/src/lib/template/template.module.js +33 -0
  362. package/src/lib/template/template.module.js.map +1 -0
  363. package/src/lib/template/template.mutations.d.ts +20 -0
  364. package/src/lib/template/template.mutations.js +139 -0
  365. package/src/lib/template/template.mutations.js.map +1 -0
  366. package/src/lib/template/template.queries.d.ts +16 -0
  367. package/src/lib/template/template.queries.js +133 -0
  368. package/src/lib/template/template.queries.js.map +1 -0
  369. package/src/lib/template/template.service.d.ts +64 -0
  370. package/src/lib/template/template.service.js +521 -0
  371. package/src/lib/template/template.service.js.map +1 -0
  372. package/src/lib/template/workflow-definition.validator.d.ts +9 -0
  373. package/src/lib/template/workflow-definition.validator.js +362 -0
  374. package/src/lib/template/workflow-definition.validator.js.map +1 -0
  375. package/src/lib/testing/cel-js.jest.d.ts +15 -0
  376. package/src/lib/testing/cel-js.jest.js +27 -0
  377. package/src/lib/testing/cel-js.jest.js.map +1 -0
  378. package/src/lib/workflow-engine/activity-log.entity.d.ts +12 -0
  379. package/src/lib/workflow-engine/activity-log.entity.js +62 -0
  380. package/src/lib/workflow-engine/activity-log.entity.js.map +1 -0
  381. package/src/lib/workflow-engine/approval-instance-page-info.object.d.ts +8 -0
  382. package/src/lib/workflow-engine/approval-instance-page-info.object.js +36 -0
  383. package/src/lib/workflow-engine/approval-instance-page-info.object.js.map +1 -0
  384. package/src/lib/workflow-engine/approval-instance.entity.d.ts +22 -0
  385. package/src/lib/workflow-engine/approval-instance.entity.js +113 -0
  386. package/src/lib/workflow-engine/approval-instance.entity.js.map +1 -0
  387. package/src/lib/workflow-engine/dto/cancel-approval-instance.input.d.ts +5 -0
  388. package/src/lib/workflow-engine/dto/cancel-approval-instance.input.js +29 -0
  389. package/src/lib/workflow-engine/dto/cancel-approval-instance.input.js.map +1 -0
  390. package/src/lib/workflow-engine/dto/decide-task.input.d.ts +9 -0
  391. package/src/lib/workflow-engine/dto/decide-task.input.js +47 -0
  392. package/src/lib/workflow-engine/dto/decide-task.input.js.map +1 -0
  393. package/src/lib/workflow-engine/dto/dry-run-approval-workflow.input.d.ts +6 -0
  394. package/src/lib/workflow-engine/dto/dry-run-approval-workflow.input.js +34 -0
  395. package/src/lib/workflow-engine/dto/dry-run-approval-workflow.input.js.map +1 -0
  396. package/src/lib/workflow-engine/dto/resubmit-approval-instance.input.d.ts +6 -0
  397. package/src/lib/workflow-engine/dto/resubmit-approval-instance.input.js +34 -0
  398. package/src/lib/workflow-engine/dto/resubmit-approval-instance.input.js.map +1 -0
  399. package/src/lib/workflow-engine/dto/submit-approval-instance.input.d.ts +7 -0
  400. package/src/lib/workflow-engine/dto/submit-approval-instance.input.js +40 -0
  401. package/src/lib/workflow-engine/dto/submit-approval-instance.input.js.map +1 -0
  402. package/src/lib/workflow-engine/index.js +24 -0
  403. package/src/lib/workflow-engine/index.js.map +1 -0
  404. package/src/lib/workflow-engine/task-candidate.entity.d.ts +14 -0
  405. package/src/lib/workflow-engine/task-candidate.entity.js +72 -0
  406. package/src/lib/workflow-engine/task-candidate.entity.js.map +1 -0
  407. package/src/lib/workflow-engine/task-decision.entity.d.ts +12 -0
  408. package/src/lib/workflow-engine/task-decision.entity.js +60 -0
  409. package/src/lib/workflow-engine/task-decision.entity.js.map +1 -0
  410. package/src/lib/workflow-engine/task.entity.d.ts +20 -0
  411. package/src/lib/workflow-engine/task.entity.js +109 -0
  412. package/src/lib/workflow-engine/task.entity.js.map +1 -0
  413. package/src/lib/workflow-engine/workflow-condition-evaluator.d.ts +5 -0
  414. package/src/lib/workflow-engine/workflow-condition-evaluator.js +107 -0
  415. package/src/lib/workflow-engine/workflow-condition-evaluator.js.map +1 -0
  416. package/src/lib/workflow-engine/workflow-dashboard-summary.object.d.ts +8 -0
  417. package/src/lib/workflow-engine/workflow-dashboard-summary.object.js +36 -0
  418. package/src/lib/workflow-engine/workflow-dashboard-summary.object.js.map +1 -0
  419. package/src/lib/workflow-engine/workflow-dry-run.object.d.ts +21 -0
  420. package/src/lib/workflow-engine/workflow-dry-run.object.js +86 -0
  421. package/src/lib/workflow-engine/workflow-dry-run.object.js.map +1 -0
  422. package/src/lib/workflow-engine/workflow-engine.enums.d.ts +58 -0
  423. package/src/lib/workflow-engine/workflow-engine.enums.js +95 -0
  424. package/src/lib/workflow-engine/workflow-engine.enums.js.map +1 -0
  425. package/src/lib/workflow-engine/workflow-engine.module.d.ts +9 -0
  426. package/src/lib/workflow-engine/workflow-engine.module.js +76 -0
  427. package/src/lib/workflow-engine/workflow-engine.module.js.map +1 -0
  428. package/src/lib/workflow-engine/workflow-engine.mutations.d.ts +19 -0
  429. package/src/lib/workflow-engine/workflow-engine.mutations.js +106 -0
  430. package/src/lib/workflow-engine/workflow-engine.mutations.js.map +1 -0
  431. package/src/lib/workflow-engine/workflow-engine.queries.d.ts +29 -0
  432. package/src/lib/workflow-engine/workflow-engine.queries.js +225 -0
  433. package/src/lib/workflow-engine/workflow-engine.queries.js.map +1 -0
  434. package/src/lib/workflow-engine/workflow-engine.service.d.ts +145 -0
  435. package/src/lib/workflow-engine/workflow-engine.service.js +2785 -0
  436. package/src/lib/workflow-engine/workflow-engine.service.js.map +1 -0
  437. package/src/lib/workflow-engine/{workflow-engine.tokens.ts → workflow-engine.tokens.d.ts} +3 -9
  438. package/src/lib/workflow-engine/workflow-engine.tokens.js +5 -0
  439. package/src/lib/workflow-engine/workflow-engine.tokens.js.map +1 -0
  440. package/src/lib/workflow-engine/workflow-service-task-dispatcher.token.d.ts +18 -0
  441. package/src/lib/workflow-engine/workflow-service-task-dispatcher.token.js +39 -0
  442. package/src/lib/workflow-engine/workflow-service-task-dispatcher.token.js.map +1 -0
  443. package/src/lib/workflow-engine/workflow-token.entity.d.ts +10 -0
  444. package/src/lib/workflow-engine/workflow-token.entity.js +50 -0
  445. package/src/lib/workflow-engine/workflow-token.entity.js.map +1 -0
  446. package/eslint.config.mjs +0 -20
  447. package/jest.config.cts +0 -15
  448. package/project.json +0 -58
  449. package/src/lib/attachment/attachment-options.spec.ts +0 -45
  450. package/src/lib/attachment/attachment-options.ts +0 -130
  451. package/src/lib/attachment/attachment-storage.provider.spec.ts +0 -79
  452. package/src/lib/attachment/attachment-storage.provider.ts +0 -60
  453. package/src/lib/attachment/attachment.controller.ts +0 -39
  454. package/src/lib/attachment/attachment.entity.ts +0 -59
  455. package/src/lib/attachment/attachment.module.ts +0 -149
  456. package/src/lib/attachment/attachment.mutations.ts +0 -22
  457. package/src/lib/attachment/attachment.queries.ts +0 -65
  458. package/src/lib/attachment/attachment.service.spec.ts +0 -319
  459. package/src/lib/attachment/attachment.service.ts +0 -477
  460. package/src/lib/attachment/dto/upload-attachment.input.ts +0 -60
  461. package/src/lib/bpm/bpm-root.module.spec.ts +0 -138
  462. package/src/lib/bpm/bpm-root.module.ts +0 -320
  463. package/src/lib/bpm-auth/bpm-auth-context.extractor.ts +0 -106
  464. package/src/lib/bpm-auth/bpm-auth-context.ts +0 -40
  465. package/src/lib/bpm-auth/bpm-auth.authorization.ts +0 -80
  466. package/src/lib/bpm-auth/bpm-auth.decorators.ts +0 -19
  467. package/src/lib/bpm-auth/bpm-auth.guard.ts +0 -31
  468. package/src/lib/bpm-auth/bpm-auth.module.spec.ts +0 -106
  469. package/src/lib/bpm-auth/bpm-auth.module.ts +0 -69
  470. package/src/lib/bpm-auth/bpm-auth.options.ts +0 -21
  471. package/src/lib/bpm-auth/configurable-bpm-auth-context.accessor.ts +0 -55
  472. package/src/lib/common/filters/all-exceptions.filter.ts +0 -138
  473. package/src/lib/common/iso-duration.ts +0 -31
  474. package/src/lib/condition/condition.module.ts +0 -8
  475. package/src/lib/condition/condition.service.spec.ts +0 -50
  476. package/src/lib/condition/condition.service.ts +0 -141
  477. package/src/lib/database/data-source.ts +0 -7
  478. package/src/lib/database/migration-runner.ts +0 -24
  479. package/src/lib/database/typeorm.config.ts +0 -217
  480. package/src/lib/delegation/delegation-rule.entity.ts +0 -84
  481. package/src/lib/delegation/delegation.enums.ts +0 -21
  482. package/src/lib/delegation/delegation.module.ts +0 -14
  483. package/src/lib/delegation/delegation.mutations.ts +0 -92
  484. package/src/lib/delegation/delegation.queries.ts +0 -111
  485. package/src/lib/delegation/delegation.service.spec.ts +0 -295
  486. package/src/lib/delegation/delegation.service.ts +0 -482
  487. package/src/lib/delegation/dto/delegation-rule.input.ts +0 -125
  488. package/src/lib/form/dto/form-definition.input.ts +0 -73
  489. package/src/lib/form/form-definition-version.entity.ts +0 -66
  490. package/src/lib/form/form-definition.entity.ts +0 -54
  491. package/src/lib/form/form-schema-lint.object.ts +0 -10
  492. package/src/lib/form/form-schema.validator.spec.ts +0 -180
  493. package/src/lib/form/form-schema.validator.ts +0 -538
  494. package/src/lib/form/form.enums.ts +0 -20
  495. package/src/lib/form/form.module.ts +0 -19
  496. package/src/lib/form/form.mutations.ts +0 -68
  497. package/src/lib/form/form.queries.ts +0 -72
  498. package/src/lib/form/form.service.spec.ts +0 -144
  499. package/src/lib/form/form.service.ts +0 -490
  500. package/src/lib/identity/identity-options.ts +0 -41
  501. package/src/lib/identity/identity.module.ts +0 -96
  502. package/src/lib/identity/identity.queries.ts +0 -61
  503. package/src/lib/identity/identity.service.spec.ts +0 -105
  504. package/src/lib/identity/identity.service.ts +0 -200
  505. package/src/lib/identity/member-base.adapter.spec.ts +0 -77
  506. package/src/lib/identity/member-base.adapter.ts +0 -244
  507. package/src/lib/identity/member-metadata-cache.entity.ts +0 -27
  508. package/src/lib/identity/member-profile.object.ts +0 -28
  509. package/src/lib/identity/member-resolver.interface.ts +0 -47
  510. package/src/lib/migrations/0000000000001-enable-postgres-extensions.ts +0 -14
  511. package/src/lib/migrations/0000000011000-remove-attachment-encryption-key.ts +0 -19
  512. package/src/lib/migrations/0000000012000-notification-sla-idempotency.ts +0 -22
  513. package/src/lib/migrations/0000000013000-workflow-query-indexes.ts +0 -113
  514. package/src/lib/migrations/index.ts +0 -47
  515. package/src/lib/notification/dto/notification-preference.input.ts +0 -46
  516. package/src/lib/notification/notification-delivery-scheduler.service.ts +0 -69
  517. package/src/lib/notification/notification-delivery.service.spec.ts +0 -315
  518. package/src/lib/notification/notification-delivery.service.ts +0 -339
  519. package/src/lib/notification/notification-dispatcher.token.ts +0 -13
  520. package/src/lib/notification/notification-options.module.ts +0 -67
  521. package/src/lib/notification/notification-options.spec.ts +0 -93
  522. package/src/lib/notification/notification-options.ts +0 -452
  523. package/src/lib/notification/notification-preference.entity.ts +0 -35
  524. package/src/lib/notification/notification-sla-scheduler.service.ts +0 -66
  525. package/src/lib/notification/notification-template.spec.ts +0 -33
  526. package/src/lib/notification/notification-template.ts +0 -97
  527. package/src/lib/notification/notification.entity.ts +0 -102
  528. package/src/lib/notification/notification.enums.ts +0 -45
  529. package/src/lib/notification/notification.module.ts +0 -37
  530. package/src/lib/notification/notification.mutations.ts +0 -47
  531. package/src/lib/notification/notification.queries.ts +0 -64
  532. package/src/lib/notification/notification.service.spec.ts +0 -412
  533. package/src/lib/notification/notification.service.ts +0 -974
  534. package/src/lib/organization/dto/manager-resolution.input.ts +0 -91
  535. package/src/lib/organization/dto/membership.input.ts +0 -77
  536. package/src/lib/organization/dto/org-unit.input.ts +0 -96
  537. package/src/lib/organization/dto/position.input.ts +0 -50
  538. package/src/lib/organization/json-metadata.ts +0 -15
  539. package/src/lib/organization/manager-resolution.entity.ts +0 -44
  540. package/src/lib/organization/membership.entity.ts +0 -50
  541. package/src/lib/organization/org-unit-tree-commit-result.object.ts +0 -8
  542. package/src/lib/organization/org-unit.entity.ts +0 -53
  543. package/src/lib/organization/organization-summary.object.ts +0 -16
  544. package/src/lib/organization/organization.enums.ts +0 -19
  545. package/src/lib/organization/organization.module.ts +0 -27
  546. package/src/lib/organization/organization.mutations.ts +0 -115
  547. package/src/lib/organization/organization.queries.ts +0 -188
  548. package/src/lib/organization/organization.service.spec.ts +0 -760
  549. package/src/lib/organization/organization.service.ts +0 -1216
  550. package/src/lib/organization/position.entity.ts +0 -39
  551. package/src/lib/organization/resolved-manager.object.ts +0 -10
  552. package/src/lib/signature/signature-options.spec.ts +0 -60
  553. package/src/lib/signature/signature-options.ts +0 -120
  554. package/src/lib/signature/signature-verification.object.ts +0 -16
  555. package/src/lib/signature/signature.entity.ts +0 -62
  556. package/src/lib/signature/signature.module.ts +0 -80
  557. package/src/lib/signature/signature.queries.ts +0 -37
  558. package/src/lib/signature/signature.service.spec.ts +0 -134
  559. package/src/lib/signature/signature.service.ts +0 -205
  560. package/src/lib/template/approval-template-category.entity.ts +0 -40
  561. package/src/lib/template/approval-template-version.entity.ts +0 -82
  562. package/src/lib/template/approval-template.entity.ts +0 -64
  563. package/src/lib/template/dto/approval-template.input.ts +0 -147
  564. package/src/lib/template/template.enums.ts +0 -30
  565. package/src/lib/template/template.module.ts +0 -25
  566. package/src/lib/template/template.mutations.ts +0 -106
  567. package/src/lib/template/template.queries.ts +0 -119
  568. package/src/lib/template/template.service.spec.ts +0 -476
  569. package/src/lib/template/template.service.ts +0 -820
  570. package/src/lib/template/workflow-definition.validator.spec.ts +0 -595
  571. package/src/lib/template/workflow-definition.validator.ts +0 -539
  572. package/src/lib/testing/cel-js.jest.ts +0 -46
  573. package/src/lib/workflow-engine/activity-log.entity.ts +0 -48
  574. package/src/lib/workflow-engine/approval-instance-page-info.object.ts +0 -22
  575. package/src/lib/workflow-engine/approval-instance.entity.ts +0 -86
  576. package/src/lib/workflow-engine/dto/cancel-approval-instance.input.ts +0 -18
  577. package/src/lib/workflow-engine/dto/decide-task.input.ts +0 -33
  578. package/src/lib/workflow-engine/dto/dry-run-approval-workflow.input.ts +0 -22
  579. package/src/lib/workflow-engine/dto/resubmit-approval-instance.input.ts +0 -22
  580. package/src/lib/workflow-engine/dto/submit-approval-instance.input.ts +0 -27
  581. package/src/lib/workflow-engine/task-candidate.entity.ts +0 -56
  582. package/src/lib/workflow-engine/task-decision.entity.ts +0 -43
  583. package/src/lib/workflow-engine/task.entity.ts +0 -85
  584. package/src/lib/workflow-engine/workflow-condition-evaluator.ts +0 -168
  585. package/src/lib/workflow-engine/workflow-dashboard-summary.object.ts +0 -22
  586. package/src/lib/workflow-engine/workflow-dry-run.object.ts +0 -58
  587. package/src/lib/workflow-engine/workflow-engine.enums.ts +0 -99
  588. package/src/lib/workflow-engine/workflow-engine.module.ts +0 -75
  589. package/src/lib/workflow-engine/workflow-engine.mutations.ts +0 -85
  590. package/src/lib/workflow-engine/workflow-engine.queries.ts +0 -229
  591. package/src/lib/workflow-engine/workflow-engine.service.spec.ts +0 -2689
  592. package/src/lib/workflow-engine/workflow-engine.service.ts +0 -4707
  593. package/src/lib/workflow-engine/workflow-service-task-dispatcher.token.ts +0 -69
  594. package/src/lib/workflow-engine/workflow-token.entity.ts +0 -40
  595. package/tsconfig.json +0 -24
  596. package/tsconfig.lib.json +0 -16
  597. package/tsconfig.spec.json +0 -16
  598. /package/src/{index.ts → index.d.ts} +0 -0
  599. /package/src/lib/attachment/{index.ts → index.d.ts} +0 -0
  600. /package/src/lib/bpm/{index.ts → index.d.ts} +0 -0
  601. /package/src/lib/bpm-auth/{index.ts → index.d.ts} +0 -0
  602. /package/src/lib/common/{index.ts → index.d.ts} +0 -0
  603. /package/src/lib/condition/{index.ts → index.d.ts} +0 -0
  604. /package/src/lib/database/{index.ts → index.d.ts} +0 -0
  605. /package/src/lib/delegation/{index.ts → index.d.ts} +0 -0
  606. /package/src/lib/form/{index.ts → index.d.ts} +0 -0
  607. /package/src/lib/identity/{index.ts → index.d.ts} +0 -0
  608. /package/src/lib/notification/{index.ts → index.d.ts} +0 -0
  609. /package/src/lib/organization/{index.ts → index.d.ts} +0 -0
  610. /package/src/lib/signature/{index.ts → index.d.ts} +0 -0
  611. /package/src/lib/template/{index.ts → index.d.ts} +0 -0
  612. /package/src/lib/workflow-engine/{index.ts → index.d.ts} +0 -0
@@ -0,0 +1,521 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TemplateService = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const common_1 = require("@nestjs/common");
6
+ const typeorm_1 = require("@nestjs/typeorm");
7
+ const typeorm_2 = require("typeorm");
8
+ const condition_service_1 = require("../condition/condition.service");
9
+ const form_definition_version_entity_1 = require("../form/form-definition-version.entity");
10
+ const form_enums_1 = require("../form/form.enums");
11
+ const approval_template_category_entity_1 = require("./approval-template-category.entity");
12
+ const approval_template_entity_1 = require("./approval-template.entity");
13
+ const approval_template_version_entity_1 = require("./approval-template-version.entity");
14
+ const template_enums_1 = require("./template.enums");
15
+ const workflow_definition_validator_1 = require("./workflow-definition.validator");
16
+ let TemplateService = class TemplateService {
17
+ constructor(templateRepository, templateCategoryRepository, templateVersionRepository, formDefinitionVersionRepository, conditionService) {
18
+ this.templateRepository = templateRepository;
19
+ this.templateCategoryRepository = templateCategoryRepository;
20
+ this.templateVersionRepository = templateVersionRepository;
21
+ this.formDefinitionVersionRepository = formDefinitionVersionRepository;
22
+ this.conditionService = conditionService;
23
+ }
24
+ async createApprovalTemplate(input) {
25
+ await this.validateOptionalFormDefinitionVersion(input.formDefinitionVersionId);
26
+ const category = await this.validateOptionalTemplateCategory(input.categoryId);
27
+ return this.templateRepository.manager.transaction(async (manager) => {
28
+ const templateRepository = manager.getRepository(approval_template_entity_1.ApprovalTemplateEntity);
29
+ const versionRepository = manager.getRepository(approval_template_version_entity_1.ApprovalTemplateVersionEntity);
30
+ const template = await templateRepository.save(templateRepository.create({
31
+ category: input.category ?? category?.name ?? null,
32
+ categoryId: category?.id ?? null,
33
+ createdByMemberId: input.createdByMemberId,
34
+ currentVersionId: null,
35
+ description: input.description,
36
+ name: input.name,
37
+ }));
38
+ await versionRepository.save(versionRepository.create({
39
+ archivedAt: null,
40
+ formDefinitionVersionId: input.formDefinitionVersionId,
41
+ initiatorPolicyCel: null,
42
+ notificationConfig: null,
43
+ publishedAt: null,
44
+ publishedByMemberId: null,
45
+ slaDefaults: null,
46
+ status: template_enums_1.ApprovalTemplateVersionStatusEnum.DRAFT,
47
+ templateId: template.id,
48
+ version: 1,
49
+ workflowDefinition: workflow_definition_validator_1.EMPTY_WORKFLOW_DEFINITION,
50
+ }));
51
+ return template;
52
+ });
53
+ }
54
+ async updateApprovalTemplate(input) {
55
+ const existing = await this.getTemplateOrThrow(input.id);
56
+ const category = input.categoryId === undefined
57
+ ? undefined
58
+ : await this.validateOptionalTemplateCategory(input.categoryId);
59
+ const next = this.templateRepository.merge(existing, {
60
+ category: input.category !== undefined
61
+ ? input.category
62
+ : category !== undefined
63
+ ? (category?.name ?? null)
64
+ : existing.category,
65
+ categoryId: input.categoryId === undefined
66
+ ? existing.categoryId
67
+ : (category?.id ?? null),
68
+ description: input.description ?? existing.description,
69
+ name: input.name ?? existing.name,
70
+ });
71
+ return this.templateRepository.save(next);
72
+ }
73
+ async listApprovalTemplates(options = {}) {
74
+ const isPaginated = typeof options.page === 'number' || typeof options.pageSize === 'number';
75
+ const normalizedPageSize = isPaginated
76
+ ? normalizePageSize(options.pageSize ?? 10)
77
+ : undefined;
78
+ return this.templateRepository.find({
79
+ order: { updatedAt: 'DESC', createdAt: 'DESC' },
80
+ relations: { categoryDetail: true },
81
+ ...(normalizedPageSize
82
+ ? {
83
+ skip: (normalizePage(options.page ?? 1) - 1) * normalizedPageSize,
84
+ take: normalizedPageSize,
85
+ }
86
+ : {}),
87
+ where: createApprovalTemplateWhere({
88
+ categoryId: options.categoryId,
89
+ searchText: options.searchText,
90
+ status: options.status,
91
+ }),
92
+ });
93
+ }
94
+ async countApprovalTemplates({ categoryId, searchText, status, } = {}) {
95
+ return this.templateRepository.count({
96
+ where: createApprovalTemplateWhere({ categoryId, searchText, status }),
97
+ });
98
+ }
99
+ async getApprovalTemplate(id) {
100
+ return this.getTemplateOrThrow(id);
101
+ }
102
+ async listApprovalTemplateCategories(options = {}) {
103
+ const isPaginated = typeof options.page === 'number' || typeof options.pageSize === 'number';
104
+ const normalizedPageSize = isPaginated
105
+ ? normalizePageSize(options.pageSize ?? 10)
106
+ : undefined;
107
+ return this.templateCategoryRepository.find({
108
+ order: { sortOrder: 'ASC', name: 'ASC', createdAt: 'ASC' },
109
+ ...(normalizedPageSize
110
+ ? {
111
+ skip: (normalizePage(options.page ?? 1) - 1) * normalizedPageSize,
112
+ take: normalizedPageSize,
113
+ }
114
+ : {}),
115
+ where: createApprovalTemplateCategoryWhere({
116
+ searchText: options.searchText,
117
+ status: options.status,
118
+ }),
119
+ });
120
+ }
121
+ async countApprovalTemplateCategories({ searchText, status, } = {}) {
122
+ return this.templateCategoryRepository.count({
123
+ where: createApprovalTemplateCategoryWhere({ searchText, status }),
124
+ });
125
+ }
126
+ async createApprovalTemplateCategory(input) {
127
+ return this.templateCategoryRepository.save(this.templateCategoryRepository.create({
128
+ description: input.description,
129
+ isActive: input.isActive ?? true,
130
+ name: input.name,
131
+ sortOrder: input.sortOrder ?? 0,
132
+ }));
133
+ }
134
+ async updateApprovalTemplateCategory(input) {
135
+ const existing = await this.getTemplateCategoryOrThrow(input.id);
136
+ return this.templateCategoryRepository.save(this.templateCategoryRepository.merge(existing, {
137
+ description: input.description ?? existing.description,
138
+ isActive: input.isActive ?? existing.isActive,
139
+ name: input.name ?? existing.name,
140
+ sortOrder: input.sortOrder ?? existing.sortOrder,
141
+ }));
142
+ }
143
+ async activateApprovalTemplateCategory(id) {
144
+ return this.setApprovalTemplateCategoryActive(id, true);
145
+ }
146
+ async deactivateApprovalTemplateCategory(id) {
147
+ return this.setApprovalTemplateCategoryActive(id, false);
148
+ }
149
+ async deleteApprovalTemplateCategory(id) {
150
+ const category = await this.getTemplateCategoryOrThrow(id);
151
+ const templateCount = await this.templateRepository.count({
152
+ where: { categoryId: id, deletedAt: (0, typeorm_2.IsNull)() },
153
+ });
154
+ if (templateCount > 0) {
155
+ return this.templateCategoryRepository.save(this.templateCategoryRepository.merge(category, {
156
+ isActive: false,
157
+ }));
158
+ }
159
+ await this.templateCategoryRepository.remove(category);
160
+ return category;
161
+ }
162
+ async listApprovalTemplateVersions(templateId) {
163
+ await this.getTemplateOrThrow(templateId);
164
+ return this.templateVersionRepository.find({
165
+ order: { version: 'DESC' },
166
+ where: { templateId },
167
+ });
168
+ }
169
+ async getApprovalTemplateVersion(id) {
170
+ return this.getTemplateVersionOrThrow(id);
171
+ }
172
+ async updateApprovalTemplateDraft(input) {
173
+ const existing = await this.getTemplateVersionOrThrow(input.versionId);
174
+ if (existing.status !== template_enums_1.ApprovalTemplateVersionStatusEnum.DRAFT) {
175
+ throw new common_1.ConflictException('Only draft approval template versions can be updated');
176
+ }
177
+ await this.validateOptionalFormDefinitionVersion(input.formDefinitionVersionId);
178
+ const workflowDefinition = this.parseWorkflowDefinitionOrThrow(input.workflowDefinitionJson);
179
+ const next = this.templateVersionRepository.merge(existing, {
180
+ formDefinitionVersionId: input.formDefinitionVersionId,
181
+ initiatorPolicyCel: input.initiatorPolicyCel,
182
+ notificationConfig: parseOptionalJsonObject(input.notificationConfigJson),
183
+ slaDefaults: parseOptionalJsonObject(input.slaDefaultsJson),
184
+ workflowDefinition,
185
+ });
186
+ return this.templateVersionRepository.save(next);
187
+ }
188
+ async forkApprovalTemplate(templateId) {
189
+ const template = await this.getTemplateOrThrow(templateId);
190
+ const existingDraft = await this.templateVersionRepository.findOne({
191
+ where: {
192
+ status: template_enums_1.ApprovalTemplateVersionStatusEnum.DRAFT,
193
+ templateId: template.id,
194
+ },
195
+ });
196
+ if (existingDraft) {
197
+ throw new common_1.ConflictException('A draft approval template version already exists');
198
+ }
199
+ const source = template.currentVersionId
200
+ ? await this.getTemplateVersionOrThrow(template.currentVersionId)
201
+ : null;
202
+ const nextVersion = await this.readNextVersionNumber(template.id);
203
+ return this.templateVersionRepository.save(this.templateVersionRepository.create({
204
+ archivedAt: null,
205
+ formDefinitionVersionId: source?.formDefinitionVersionId ?? null,
206
+ initiatorPolicyCel: source?.initiatorPolicyCel ?? null,
207
+ notificationConfig: source?.notificationConfig ?? null,
208
+ publishedAt: null,
209
+ publishedByMemberId: null,
210
+ slaDefaults: source?.slaDefaults ?? null,
211
+ status: template_enums_1.ApprovalTemplateVersionStatusEnum.DRAFT,
212
+ templateId: template.id,
213
+ version: nextVersion,
214
+ workflowDefinition: source?.workflowDefinition ?? workflow_definition_validator_1.EMPTY_WORKFLOW_DEFINITION,
215
+ }));
216
+ }
217
+ async publishApprovalTemplateVersion(versionId, publishedByMemberId) {
218
+ const version = await this.getTemplateVersionOrThrow(versionId);
219
+ if (version.status !== template_enums_1.ApprovalTemplateVersionStatusEnum.DRAFT) {
220
+ throw new common_1.ConflictException('Only draft approval template versions can be published');
221
+ }
222
+ await this.validatePublishableVersion(version);
223
+ return this.templateRepository.manager.transaction(async (manager) => {
224
+ const templateRepository = manager.getRepository(approval_template_entity_1.ApprovalTemplateEntity);
225
+ const versionRepository = manager.getRepository(approval_template_version_entity_1.ApprovalTemplateVersionEntity);
226
+ const template = await templateRepository.findOne({
227
+ where: { deletedAt: (0, typeorm_2.IsNull)(), id: version.templateId },
228
+ });
229
+ if (!template) {
230
+ throw new common_1.NotFoundException(`Approval template ${version.templateId} was not found`);
231
+ }
232
+ if (template.currentVersionId) {
233
+ await versionRepository.update({ id: template.currentVersionId }, {
234
+ archivedAt: new Date(),
235
+ status: template_enums_1.ApprovalTemplateVersionStatusEnum.ARCHIVED,
236
+ });
237
+ }
238
+ const published = versionRepository.merge(version, {
239
+ archivedAt: null,
240
+ publishedAt: new Date(),
241
+ publishedByMemberId: publishedByMemberId ?? null,
242
+ status: template_enums_1.ApprovalTemplateVersionStatusEnum.PUBLISHED,
243
+ });
244
+ const saved = await versionRepository.save(published);
245
+ await templateRepository.save(templateRepository.merge(template, {
246
+ currentVersionId: saved.id,
247
+ }));
248
+ return saved;
249
+ });
250
+ }
251
+ async rollbackApprovalTemplateVersion(versionId) {
252
+ const target = await this.getTemplateVersionOrThrow(versionId);
253
+ if (target.status === template_enums_1.ApprovalTemplateVersionStatusEnum.DRAFT) {
254
+ throw new common_1.ConflictException('Draft approval template versions cannot be rollback targets');
255
+ }
256
+ return this.templateRepository.manager.transaction(async (manager) => {
257
+ const templateRepository = manager.getRepository(approval_template_entity_1.ApprovalTemplateEntity);
258
+ const versionRepository = manager.getRepository(approval_template_version_entity_1.ApprovalTemplateVersionEntity);
259
+ const template = await templateRepository.findOne({
260
+ where: { deletedAt: (0, typeorm_2.IsNull)(), id: target.templateId },
261
+ });
262
+ if (!template) {
263
+ throw new common_1.NotFoundException(`Approval template ${target.templateId} was not found`);
264
+ }
265
+ if (template.currentVersionId &&
266
+ template.currentVersionId !== target.id) {
267
+ await versionRepository.update({ id: template.currentVersionId }, {
268
+ archivedAt: new Date(),
269
+ status: template_enums_1.ApprovalTemplateVersionStatusEnum.ARCHIVED,
270
+ });
271
+ }
272
+ const restored = versionRepository.merge(target, {
273
+ archivedAt: null,
274
+ status: template_enums_1.ApprovalTemplateVersionStatusEnum.PUBLISHED,
275
+ });
276
+ const saved = await versionRepository.save(restored);
277
+ await templateRepository.save(templateRepository.merge(template, {
278
+ currentVersionId: saved.id,
279
+ }));
280
+ return saved;
281
+ });
282
+ }
283
+ async validatePublishableVersion(version) {
284
+ if (!version.formDefinitionVersionId) {
285
+ throw new common_1.BadRequestException('Approval template version must bind a form definition version before publishing');
286
+ }
287
+ const formVersion = await this.formDefinitionVersionRepository.findOne({
288
+ where: { id: version.formDefinitionVersionId },
289
+ });
290
+ if (!formVersion) {
291
+ throw new common_1.NotFoundException(`Form definition version ${version.formDefinitionVersionId} was not found`);
292
+ }
293
+ if (formVersion.status !== form_enums_1.FormDefinitionVersionStatusEnum.PUBLISHED) {
294
+ throw new common_1.BadRequestException('Approval template can only bind a published form definition version');
295
+ }
296
+ const workflowResult = (0, workflow_definition_validator_1.lintWorkflowDefinition)(version.workflowDefinition);
297
+ const conditionErrors = this.conditionService.lintExpressions(readConditionExpressions(version.workflowDefinition, version.initiatorPolicyCel), {
298
+ allowedRootIdentifiers: [
299
+ 'env',
300
+ 'form',
301
+ 'formData',
302
+ 'initiator',
303
+ 'instance',
304
+ 'subject',
305
+ ],
306
+ });
307
+ const errors = [...workflowResult.errors, ...conditionErrors];
308
+ if (errors.length) {
309
+ throw new common_1.BadRequestException(errors.join('; '));
310
+ }
311
+ }
312
+ async validateOptionalFormDefinitionVersion(formDefinitionVersionId) {
313
+ if (!formDefinitionVersionId) {
314
+ return;
315
+ }
316
+ const formVersion = await this.formDefinitionVersionRepository.findOne({
317
+ where: { id: formDefinitionVersionId },
318
+ });
319
+ if (!formVersion) {
320
+ throw new common_1.NotFoundException(`Form definition version ${formDefinitionVersionId} was not found`);
321
+ }
322
+ }
323
+ async validateOptionalTemplateCategory(categoryId) {
324
+ if (!categoryId) {
325
+ return null;
326
+ }
327
+ return this.getTemplateCategoryOrThrow(categoryId);
328
+ }
329
+ async getTemplateOrThrow(id) {
330
+ const entity = await this.templateRepository.findOne({
331
+ relations: { categoryDetail: true },
332
+ where: { deletedAt: (0, typeorm_2.IsNull)(), id },
333
+ });
334
+ if (!entity) {
335
+ throw new common_1.NotFoundException(`Approval template ${id} was not found`);
336
+ }
337
+ return entity;
338
+ }
339
+ async getTemplateCategoryOrThrow(id) {
340
+ const entity = await this.templateCategoryRepository.findOne({
341
+ where: { id },
342
+ });
343
+ if (!entity) {
344
+ throw new common_1.NotFoundException(`Approval template category ${id} was not found`);
345
+ }
346
+ return entity;
347
+ }
348
+ async setApprovalTemplateCategoryActive(id, isActive) {
349
+ const category = await this.getTemplateCategoryOrThrow(id);
350
+ return this.templateCategoryRepository.save(this.templateCategoryRepository.merge(category, {
351
+ isActive,
352
+ }));
353
+ }
354
+ async getTemplateVersionOrThrow(id) {
355
+ const entity = await this.templateVersionRepository.findOne({
356
+ where: { id },
357
+ });
358
+ if (!entity) {
359
+ throw new common_1.NotFoundException(`Approval template version ${id} was not found`);
360
+ }
361
+ return entity;
362
+ }
363
+ async readNextVersionNumber(templateId) {
364
+ const row = await this.templateVersionRepository
365
+ .createQueryBuilder('version')
366
+ .select('MAX(version.version)', 'maxVersion')
367
+ .where('version.template_id = :templateId', { templateId })
368
+ .getRawOne();
369
+ const maxVersion = typeof row?.maxVersion === 'number'
370
+ ? row.maxVersion
371
+ : Number(row?.maxVersion ?? 0);
372
+ return maxVersion + 1;
373
+ }
374
+ parseWorkflowDefinitionOrThrow(value) {
375
+ try {
376
+ return (0, workflow_definition_validator_1.parseWorkflowDefinitionJson)(value);
377
+ }
378
+ catch (error) {
379
+ throw new common_1.BadRequestException(error instanceof Error ? error.message : 'Invalid workflow definition');
380
+ }
381
+ }
382
+ };
383
+ exports.TemplateService = TemplateService;
384
+ exports.TemplateService = TemplateService = tslib_1.__decorate([
385
+ (0, common_1.Injectable)(),
386
+ tslib_1.__param(0, (0, typeorm_1.InjectRepository)(approval_template_entity_1.ApprovalTemplateEntity)),
387
+ tslib_1.__param(1, (0, typeorm_1.InjectRepository)(approval_template_category_entity_1.ApprovalTemplateCategoryEntity)),
388
+ tslib_1.__param(2, (0, typeorm_1.InjectRepository)(approval_template_version_entity_1.ApprovalTemplateVersionEntity)),
389
+ tslib_1.__param(3, (0, typeorm_1.InjectRepository)(form_definition_version_entity_1.FormDefinitionVersionEntity)),
390
+ tslib_1.__metadata("design:paramtypes", [typeorm_2.Repository,
391
+ typeorm_2.Repository,
392
+ typeorm_2.Repository,
393
+ typeorm_2.Repository,
394
+ condition_service_1.ConditionService])
395
+ ], TemplateService);
396
+ function parseOptionalJsonObject(value) {
397
+ if (!value) {
398
+ return null;
399
+ }
400
+ const parsedValue = parseJson(value);
401
+ if (!isRecord(parsedValue)) {
402
+ throw new common_1.BadRequestException('JSON value must be an object');
403
+ }
404
+ return parsedValue;
405
+ }
406
+ function parseJson(value) {
407
+ try {
408
+ return JSON.parse(value);
409
+ }
410
+ catch (error) {
411
+ throw new common_1.BadRequestException(error instanceof Error ? error.message : 'Invalid JSON value');
412
+ }
413
+ }
414
+ function normalizePage(page) {
415
+ return Number.isInteger(page) && page > 0 ? page : 1;
416
+ }
417
+ function normalizePageSize(pageSize) {
418
+ if (!Number.isInteger(pageSize) || pageSize <= 0) {
419
+ return 10;
420
+ }
421
+ return Math.min(pageSize, 100);
422
+ }
423
+ function createApprovalTemplateWhere(options) {
424
+ const activeTemplateWhere = {
425
+ deletedAt: (0, typeorm_2.IsNull)(),
426
+ };
427
+ const statusWhere = options.status === template_enums_1.ApprovalTemplateListStatusEnum.DRAFT
428
+ ? { currentVersionId: (0, typeorm_2.IsNull)() }
429
+ : {};
430
+ const publicationWhere = options.status === template_enums_1.ApprovalTemplateListStatusEnum.PUBLISHED
431
+ ? { currentVersionId: (0, typeorm_2.Not)((0, typeorm_2.IsNull)()) }
432
+ : {};
433
+ const baseWhere = {
434
+ ...activeTemplateWhere,
435
+ ...(options.categoryId ? { categoryId: options.categoryId } : {}),
436
+ ...statusWhere,
437
+ ...publicationWhere,
438
+ };
439
+ const trimmedSearchText = options.searchText?.trim();
440
+ if (!trimmedSearchText) {
441
+ return baseWhere;
442
+ }
443
+ const searchPattern = `%${trimmedSearchText}%`;
444
+ return [
445
+ { ...baseWhere, name: (0, typeorm_2.ILike)(searchPattern) },
446
+ { ...baseWhere, category: (0, typeorm_2.ILike)(searchPattern) },
447
+ { ...baseWhere, description: (0, typeorm_2.ILike)(searchPattern) },
448
+ ];
449
+ }
450
+ function createApprovalTemplateCategoryWhere(options) {
451
+ const statusWhere = options.status === template_enums_1.ApprovalTemplateCategoryStatusEnum.ALL
452
+ ? {}
453
+ : options.status === template_enums_1.ApprovalTemplateCategoryStatusEnum.INACTIVE
454
+ ? { isActive: false }
455
+ : { isActive: true };
456
+ const trimmedSearchText = options.searchText?.trim();
457
+ if (!trimmedSearchText) {
458
+ return statusWhere;
459
+ }
460
+ const searchPattern = `%${trimmedSearchText}%`;
461
+ return [
462
+ { ...statusWhere, name: (0, typeorm_2.ILike)(searchPattern) },
463
+ { ...statusWhere, description: (0, typeorm_2.ILike)(searchPattern) },
464
+ ];
465
+ }
466
+ function readConditionExpressions(definition, initiatorPolicyCel) {
467
+ return [
468
+ { expression: initiatorPolicyCel, label: 'initiatorPolicyCel' },
469
+ ...definition.edges.map((edge) => ({
470
+ expression: edge.data.condition,
471
+ label: `workflow.edges.${edge.id}.data.condition`,
472
+ })),
473
+ ...definition.nodes.flatMap((node) => {
474
+ if (node.type === 'userTask') {
475
+ return [
476
+ {
477
+ expression: node.data.entryCondition,
478
+ label: `workflow.nodes.${node.id}.data.entryCondition`,
479
+ },
480
+ ...(node.data.approverResolver.type === 'EXPRESSION'
481
+ ? [
482
+ {
483
+ expression: node.data.approverResolver.expression,
484
+ label: `workflow.nodes.${node.id}.data.approverResolver.expression`,
485
+ },
486
+ ]
487
+ : []),
488
+ ];
489
+ }
490
+ if (node.type === 'serviceTask') {
491
+ return [
492
+ {
493
+ expression: node.data.entryCondition,
494
+ label: `workflow.nodes.${node.id}.data.entryCondition`,
495
+ },
496
+ ...(node.data.action.type === 'WEBHOOK'
497
+ ? [
498
+ {
499
+ expression: node.data.action.payload,
500
+ label: `workflow.nodes.${node.id}.data.action.payload`,
501
+ },
502
+ ]
503
+ : []),
504
+ ...(node.data.action.type === 'SET_FORM_FIELD'
505
+ ? [
506
+ {
507
+ expression: node.data.action.value,
508
+ label: `workflow.nodes.${node.id}.data.action.value`,
509
+ },
510
+ ]
511
+ : []),
512
+ ];
513
+ }
514
+ return [];
515
+ }),
516
+ ];
517
+ }
518
+ function isRecord(value) {
519
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
520
+ }
521
+ //# sourceMappingURL=template.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template.service.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/template/template.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { WorkflowDefinition } from '@rytass/bpm-core-shared/workflow';
2
+ export interface WorkflowDefinitionLintResult {
3
+ readonly errors: readonly string[];
4
+ readonly valid: boolean;
5
+ readonly warnings: readonly string[];
6
+ }
7
+ export declare const EMPTY_WORKFLOW_DEFINITION: WorkflowDefinition;
8
+ export declare function parseWorkflowDefinitionJson(value: string | null | undefined): WorkflowDefinition;
9
+ export declare function lintWorkflowDefinition(definition: WorkflowDefinition): WorkflowDefinitionLintResult;