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

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