@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
@@ -1,320 +0,0 @@
1
- import {
2
- DynamicModule,
3
- InjectionToken,
4
- Module,
5
- Provider,
6
- Type,
7
- } from '@nestjs/common';
8
- import { ModuleMetadata } from '@nestjs/common/interfaces';
9
- import { BPMRootAttachmentOptions } from '../attachment/attachment-options';
10
- import { AttachmentModule } from '../attachment/attachment.module';
11
- import { AttachmentStorage } from '../attachment/attachment-storage.token';
12
- import { BPMAuthModule } from '../bpm-auth/bpm-auth.module';
13
- import {
14
- BPMAuthModuleAsyncOptions,
15
- BPMAuthModuleOptions,
16
- } from '../bpm-auth/bpm-auth.options';
17
- import { DelegationModule } from '../delegation/delegation.module';
18
- import { FormModule } from '../form/form.module';
19
- import { BPMRootIdentityOptions } from '../identity/identity-options';
20
- import { IdentityModule } from '../identity/identity.module';
21
- import { BPMMemberResolver } from '../identity/member-resolver.interface';
22
- import { NotificationModule } from '../notification/notification.module';
23
- import { NotificationOptionsModule } from '../notification/notification-options.module';
24
- import { BPMRootNotificationOptions } from '../notification/notification-options';
25
- import { OrganizationModule } from '../organization/organization.module';
26
- import { BPMRootSignatureOptions } from '../signature/signature-options';
27
- import { SignatureModule } from '../signature/signature.module';
28
- import { TemplateModule } from '../template/template.module';
29
- import { WorkflowEngineModule } from '../workflow-engine/workflow-engine.module';
30
- import { BPMWorkflowServiceTaskDispatcher } from '../workflow-engine/workflow-service-task-dispatcher.token';
31
-
32
- type BPMModuleImport = DynamicModule | Type<unknown>;
33
-
34
- export interface BPMRootModuleOptions
35
- extends
36
- Pick<ModuleMetadata, 'imports'>,
37
- BPMRootAttachmentOptions,
38
- BPMRootIdentityOptions,
39
- BPMRootNotificationOptions,
40
- BPMRootSignatureOptions {
41
- /**
42
- * Host-provided storage adapter for BPM attachments.
43
- *
44
- * When omitted, BPM stores attachments through the local
45
- * `@rytass/storages-adapter-local` adapter under `.storage/attachments`.
46
- * Hosts can replace this provider with any `@rytass/storages` compatible
47
- * adapter such as MinIO, S3, or GCS.
48
- */
49
- readonly attachmentStorageProvider?: Provider<AttachmentStorage>;
50
-
51
- /**
52
- * Factory that resolves the current BPM auth context from NestJS execution
53
- * context.
54
- *
55
- * BPM guards, GraphQL decorators, and domain services use this callback to
56
- * identify the current member and organization context. When omitted, BPM
57
- * operations that require authentication will not receive a host session.
58
- */
59
- readonly authContextFactory?: BPMAuthModuleOptions['contextFactory'];
60
-
61
- /**
62
- * Host-provided member resolver provider.
63
- *
64
- * BPM uses this provider to resolve member metadata, organization identity,
65
- * display names, and approver candidates without coupling
66
- * `@rytass/bpm-core-nestjs-module` to a specific external identity system.
67
- */
68
- readonly memberResolverProvider: Provider<BPMMemberResolver>;
69
-
70
- /**
71
- * Host-provided dispatcher for executable workflow service tasks.
72
- *
73
- * When omitted, BPM sends WEBHOOK service tasks with the built-in `fetch`
74
- * dispatcher. Wrapper apps can replace this provider to add auth headers,
75
- * request signing, retry queues, or an outbound integration bus.
76
- */
77
- readonly workflowServiceTaskDispatcherProvider?: Provider<BPMWorkflowServiceTaskDispatcher>;
78
- }
79
-
80
- export interface BPMRootModuleAsyncFactoryOptions
81
- extends
82
- BPMRootAttachmentOptions,
83
- BPMRootIdentityOptions,
84
- BPMRootNotificationOptions,
85
- BPMRootSignatureOptions {
86
- /**
87
- * Factory that resolves the current BPM auth context from NestJS execution
88
- * context.
89
- *
90
- * BPM guards, GraphQL decorators, and domain services use this callback to
91
- * identify the current member and organization context. When omitted, BPM
92
- * operations that require authentication will not receive a host session.
93
- */
94
- readonly authContextFactory?: BPMAuthModuleOptions['contextFactory'];
95
- }
96
-
97
- export interface BPMRootModuleAsyncOptions extends Pick<
98
- ModuleMetadata,
99
- 'imports'
100
- > {
101
- /**
102
- * Controller mount path used by the BPM attachment endpoints.
103
- *
104
- * Set at module wiring time because Nest reads controller path metadata
105
- * synchronously when the application starts. Async factories cannot drive
106
- * this value; only static URL routing decisions should set it. Defaults to
107
- * `/attachments`.
108
- */
109
- readonly attachmentRoutePrefix?: string | null;
110
-
111
- /**
112
- * Host-provided storage adapter for BPM attachments.
113
- *
114
- * This provider is static at module wiring time. If secrets are required,
115
- * use a Nest provider with `useFactory` / `inject` here.
116
- */
117
- readonly attachmentStorageProvider?: Provider<AttachmentStorage>;
118
-
119
- /**
120
- * Providers injected into `useFactory`.
121
- *
122
- * This is typically used to read Vault-backed SMTP, webhook, and auth
123
- * settings before constructing the flattened BPM root options.
124
- */
125
- readonly inject?: readonly InjectionToken[];
126
-
127
- /**
128
- * Host-provided member resolver provider.
129
- *
130
- * BPM uses this provider to resolve member metadata, organization identity,
131
- * display names, and approver candidates without coupling
132
- * `@rytass/bpm-core-nestjs-module` to a specific external identity system.
133
- */
134
- readonly memberResolverProvider: Provider<BPMMemberResolver>;
135
-
136
- /**
137
- * Host-provided dispatcher for executable workflow service tasks.
138
- *
139
- * This provider is static at module wiring time. If secrets are required,
140
- * use a Nest provider with `useFactory` / `inject` here.
141
- */
142
- readonly workflowServiceTaskDispatcherProvider?: Provider<BPMWorkflowServiceTaskDispatcher>;
143
-
144
- /**
145
- * Async factory returning BPM root options.
146
- *
147
- * The returned object intentionally keeps all BPM settings flat at the root
148
- * level, for example `authContextFactory`, `notificationEmailSmtpHost`, and
149
- * `notificationSlaSchedulerEnabled`.
150
- */
151
- readonly useFactory: (
152
- ...args: readonly unknown[]
153
- ) =>
154
- | BPMRootModuleAsyncFactoryOptions
155
- | Promise<BPMRootModuleAsyncFactoryOptions>;
156
- }
157
-
158
- /**
159
- * Aggregate entry point that wires every BPM domain module
160
- * (`BPMAuthModule`, `IdentityModule`, `OrganizationModule`, `FormModule`,
161
- * `TemplateModule`, `WorkflowEngineModule`, `DelegationModule`,
162
- * `NotificationModule`, `SignatureModule`, `AttachmentModule`) into a
163
- * NestJS host application.
164
- *
165
- * Hosts call `forRoot` or `forRootAsync` once from their root `AppModule`.
166
- * BPMCore does **not** own login, GraphQL setup, TypeORM bootstrap, or
167
- * Vault loading — those remain the host's responsibility. See the
168
- * package README sections "Embedding & auth", "Organization data
169
- * ownership", and "Consumer quickstart" for the full contract.
170
- *
171
- * The host must avoid Nest's `app.setGlobalPrefix(...)`; BPM controllers
172
- * mount at relative paths driven by their respective options (notably
173
- * `attachmentRoutePrefix`).
174
- *
175
- * @example
176
- * ```ts
177
- * BPMRootModule.forRoot({
178
- * authContextFactory: readBPMAuthContextFromGqlContext,
179
- * memberResolverProvider: {
180
- * provide: BPM_MEMBER_RESOLVER,
181
- * useClass: HostMemberResolver,
182
- * },
183
- * attachmentPublicBaseUrl: process.env.BPM_PUBLIC_BASE_URL,
184
- * attachmentSignedUrlSecret: process.env.BPM_ATTACHMENT_SIGNING_SECRET,
185
- * });
186
- * ```
187
- */
188
- @Module({})
189
- export class BPMRootModule {
190
- /**
191
- * Static configuration. Use this when all BPM options are known at module
192
- * wiring time (no async secret loading needed).
193
- */
194
- static forRoot(options: BPMRootModuleOptions): DynamicModule {
195
- const featureModules = createBPMFeatureModules(options);
196
-
197
- return {
198
- exports: [...featureModules],
199
- imports: [...(options.imports ?? []), ...featureModules],
200
- module: BPMRootModule,
201
- };
202
- }
203
-
204
- /**
205
- * Async configuration. Use this when BPM options must be resolved at
206
- * runtime — typically when SMTP, webhook, or signature secrets are
207
- * loaded from Vault / KMS / a host `ConfigService`.
208
- *
209
- * Routing-time decisions such as `attachmentRoutePrefix`,
210
- * `memberResolverProvider`, `attachmentStorageProvider`, and
211
- * `workflowServiceTaskDispatcherProvider` are read from the top-level
212
- * options object (not from the `useFactory` return value), because
213
- * Nest reads controller path metadata and provider tokens synchronously
214
- * during application bootstrap.
215
- */
216
- static forRootAsync(options: BPMRootModuleAsyncOptions): DynamicModule {
217
- const authOptions: BPMAuthModuleAsyncOptions = {
218
- imports: options.imports,
219
- inject: options.inject,
220
- useFactory: async (
221
- ...args: readonly unknown[]
222
- ): Promise<BPMAuthModuleOptions> => {
223
- const rootOptions = await options.useFactory(...args);
224
-
225
- return createBPMAuthModuleOptions(rootOptions);
226
- },
227
- };
228
-
229
- return {
230
- exports: [
231
- NotificationOptionsModule,
232
- BPMAuthModule,
233
- IdentityModule,
234
- OrganizationModule,
235
- AttachmentModule,
236
- FormModule,
237
- TemplateModule,
238
- DelegationModule,
239
- NotificationModule,
240
- SignatureModule,
241
- WorkflowEngineModule,
242
- ],
243
- imports: [
244
- NotificationOptionsModule.forRootAsync({
245
- imports: options.imports,
246
- inject: options.inject,
247
- useFactory: options.useFactory,
248
- }),
249
- BPMAuthModule.forRootAsync(authOptions),
250
- IdentityModule.forRootAsync({
251
- imports: options.imports,
252
- inject: options.inject,
253
- memberResolverProvider: options.memberResolverProvider,
254
- useFactory: options.useFactory,
255
- }),
256
- OrganizationModule,
257
- AttachmentModule.forRootAsync({
258
- attachmentRoutePrefix: options.attachmentRoutePrefix,
259
- imports: options.imports,
260
- inject: options.inject,
261
- storageProvider: options.attachmentStorageProvider,
262
- useFactory: options.useFactory,
263
- }),
264
- FormModule,
265
- TemplateModule,
266
- DelegationModule,
267
- NotificationModule,
268
- SignatureModule.forRootAsync({
269
- imports: options.imports,
270
- inject: options.inject,
271
- useFactory: options.useFactory,
272
- }),
273
- WorkflowEngineModule.forRoot({
274
- imports: options.imports,
275
- serviceTaskDispatcherProvider:
276
- options.workflowServiceTaskDispatcherProvider,
277
- }),
278
- ],
279
- module: BPMRootModule,
280
- };
281
- }
282
- }
283
-
284
- function createBPMFeatureModules(
285
- options: BPMRootModuleOptions,
286
- ): BPMModuleImport[] {
287
- return [
288
- NotificationOptionsModule.forRoot(options),
289
- BPMAuthModule.forRoot(createBPMAuthModuleOptions(options)),
290
- IdentityModule.forRoot({
291
- ...options,
292
- imports: options.imports,
293
- memberResolverProvider: options.memberResolverProvider,
294
- }),
295
- OrganizationModule,
296
- AttachmentModule.forRoot({
297
- ...options,
298
- imports: options.imports,
299
- storageProvider: options.attachmentStorageProvider,
300
- }),
301
- FormModule,
302
- TemplateModule,
303
- DelegationModule,
304
- NotificationModule,
305
- SignatureModule.forRoot(options),
306
- WorkflowEngineModule.forRoot({
307
- imports: options.imports,
308
- serviceTaskDispatcherProvider:
309
- options.workflowServiceTaskDispatcherProvider,
310
- }),
311
- ];
312
- }
313
-
314
- function createBPMAuthModuleOptions(
315
- options: BPMRootModuleOptions | BPMRootModuleAsyncFactoryOptions,
316
- ): BPMAuthModuleOptions {
317
- return {
318
- contextFactory: options.authContextFactory,
319
- };
320
- }
@@ -1,106 +0,0 @@
1
- import { ExecutionContext } from '@nestjs/common';
2
- import { GqlExecutionContext } from '@nestjs/graphql';
3
- import { BPMAuthContext } from './bpm-auth-context';
4
-
5
- interface BPMContextCarrier {
6
- bpmAuthContext?: unknown;
7
- }
8
-
9
- interface BPMRequestCarrier extends BPMContextCarrier {
10
- readonly req?: BPMContextCarrier;
11
- }
12
-
13
- export function attachBPMAuthContext(
14
- context: ExecutionContext | undefined,
15
- authContext: BPMAuthContext,
16
- ): void {
17
- if (!context) {
18
- return;
19
- }
20
-
21
- const graphqlContext = GqlExecutionContext.create(context).getContext<
22
- BPMRequestCarrier | undefined
23
- >();
24
-
25
- if (graphqlContext) {
26
- graphqlContext.bpmAuthContext = authContext;
27
-
28
- if (graphqlContext.req) {
29
- graphqlContext.req.bpmAuthContext = authContext;
30
- }
31
-
32
- return;
33
- }
34
-
35
- const httpRequest = context
36
- .switchToHttp()
37
- .getRequest<BPMContextCarrier | undefined>();
38
-
39
- if (httpRequest) {
40
- httpRequest.bpmAuthContext = authContext;
41
- }
42
- }
43
-
44
- export function extractBPMAuthContext(
45
- context?: ExecutionContext,
46
- ): BPMAuthContext | null {
47
- if (!context) {
48
- return null;
49
- }
50
-
51
- const graphqlContext = GqlExecutionContext.create(context).getContext<
52
- BPMRequestCarrier | undefined
53
- >();
54
- const graphqlAuthContext = readBPMAuthContext(graphqlContext?.bpmAuthContext);
55
-
56
- if (graphqlAuthContext) {
57
- return graphqlAuthContext;
58
- }
59
-
60
- const requestAuthContext = readBPMAuthContext(
61
- graphqlContext?.req?.bpmAuthContext,
62
- );
63
-
64
- if (requestAuthContext) {
65
- return requestAuthContext;
66
- }
67
-
68
- const httpRequest = context
69
- .switchToHttp()
70
- .getRequest<BPMContextCarrier | undefined>();
71
-
72
- return readBPMAuthContext(httpRequest?.bpmAuthContext);
73
- }
74
-
75
- function readBPMAuthContext(value: unknown): BPMAuthContext | null {
76
- if (!isRecord(value)) {
77
- return null;
78
- }
79
-
80
- const memberId = value.memberId;
81
-
82
- if (typeof memberId !== 'string') {
83
- return null;
84
- }
85
-
86
- return {
87
- memberId,
88
- metadata: readRecord(value.metadata),
89
- permissions: readStringArray(value.permissions),
90
- roles: readStringArray(value.roles),
91
- };
92
- }
93
-
94
- function isRecord(value: unknown): value is Readonly<Record<string, unknown>> {
95
- return typeof value === 'object' && value !== null;
96
- }
97
-
98
- function readRecord(value: unknown): Readonly<Record<string, unknown>> {
99
- return isRecord(value) ? value : {};
100
- }
101
-
102
- function readStringArray(value: unknown): readonly string[] {
103
- return Array.isArray(value)
104
- ? value.filter((item): item is string => typeof item === 'string')
105
- : [];
106
- }
@@ -1,40 +0,0 @@
1
- import { ExecutionContext, UnauthorizedException } from '@nestjs/common';
2
-
3
- /**
4
- * The minimum authentication context BPM needs to make authorization
5
- * decisions. Hosts construct this from their own session / JWT / RBAC
6
- * source and surface it through `BPMRootModuleOptions.authContextFactory`.
7
- *
8
- * `roles` and `permissions` are matched against the string sets defined in
9
- * `BPMAdminGuard` and `BPMDesignerGuard` — see the role / permission table
10
- * in `libs/bpm-core/README.md` for the exact strings.
11
- */
12
- export interface BPMAuthContext {
13
- readonly memberId: string;
14
- readonly metadata: Readonly<Record<string, unknown>>;
15
- readonly permissions: readonly string[];
16
- readonly roles: readonly string[];
17
- }
18
-
19
- export interface BPMAuthContextAccessor {
20
- assertAuthenticated(context?: ExecutionContext): Promise<BPMAuthContext>;
21
- getCurrentContext(context?: ExecutionContext): Promise<BPMAuthContext | null>;
22
- getCurrentMemberId(context?: ExecutionContext): Promise<string>;
23
- }
24
-
25
- export const BPM_AUTH_CONTEXT_ACCESSOR = Symbol('BPM_AUTH_CONTEXT_ACCESSOR');
26
-
27
- export const BPM_AUTH_MODULE_OPTIONS = Symbol('BPM_AUTH_MODULE_OPTIONS');
28
-
29
- export async function readAuthenticatedBPMContext(
30
- accessor: BPMAuthContextAccessor,
31
- context?: ExecutionContext,
32
- ): Promise<BPMAuthContext> {
33
- const authContext = await accessor.assertAuthenticated(context);
34
-
35
- if (!authContext.memberId.trim()) {
36
- throw new UnauthorizedException('BPM member id is required');
37
- }
38
-
39
- return authContext;
40
- }
@@ -1,80 +0,0 @@
1
- import {
2
- CanActivate,
3
- ExecutionContext,
4
- ForbiddenException,
5
- Injectable,
6
- UseGuards,
7
- } from '@nestjs/common';
8
- import { BPMAuthContext } from './bpm-auth-context';
9
- import { extractBPMAuthContext } from './bpm-auth-context.extractor';
10
- import { BPMAuthenticatedGuard } from './bpm-auth.guard';
11
-
12
- const ADMIN_PERMISSIONS = new Set([
13
- 'bpm:*',
14
- 'bpm:admin',
15
- 'bpm.admin',
16
- 'bpm:admin:*',
17
- ]);
18
- const DESIGNER_PERMISSIONS = new Set([
19
- 'bpm:*',
20
- 'bpm:admin',
21
- 'bpm.admin',
22
- 'bpm:admin:*',
23
- 'bpm:design',
24
- 'bpm.design',
25
- 'bpm.form.design',
26
- 'bpm.template.design',
27
- 'bpm:form:design',
28
- 'bpm:template:design',
29
- ]);
30
-
31
- @Injectable()
32
- export class BPMAdminGuard implements CanActivate {
33
- canActivate(context: ExecutionContext): boolean {
34
- const authContext = extractBPMAuthContext(context);
35
-
36
- if (authContext && isBPMAdmin(authContext)) {
37
- return true;
38
- }
39
-
40
- throw new ForbiddenException('BPM admin permission is required');
41
- }
42
- }
43
-
44
- @Injectable()
45
- export class BPMDesignerGuard implements CanActivate {
46
- canActivate(context: ExecutionContext): boolean {
47
- const authContext = extractBPMAuthContext(context);
48
-
49
- if (authContext && isBPMDesigner(authContext)) {
50
- return true;
51
- }
52
-
53
- throw new ForbiddenException('BPM designer permission is required');
54
- }
55
- }
56
-
57
- export const BPMAdminOnly = (): ClassDecorator & MethodDecorator =>
58
- UseGuards(BPMAuthenticatedGuard, BPMAdminGuard);
59
-
60
- export const BPMDesignerOnly = (): ClassDecorator & MethodDecorator =>
61
- UseGuards(BPMAuthenticatedGuard, BPMDesignerGuard);
62
-
63
- export function isBPMAdmin(authContext: BPMAuthContext): boolean {
64
- return (
65
- authContext.roles.includes('BPM_ADMIN') ||
66
- authContext.permissions.some((permission) =>
67
- ADMIN_PERMISSIONS.has(permission),
68
- )
69
- );
70
- }
71
-
72
- export function isBPMDesigner(authContext: BPMAuthContext): boolean {
73
- return (
74
- isBPMAdmin(authContext) ||
75
- authContext.roles.includes('BPM_DESIGNER') ||
76
- authContext.permissions.some((permission) =>
77
- DESIGNER_PERMISSIONS.has(permission),
78
- )
79
- );
80
- }
@@ -1,19 +0,0 @@
1
- import {
2
- createParamDecorator,
3
- ExecutionContext,
4
- UseGuards,
5
- } from '@nestjs/common';
6
- import { BPMAuthenticatedGuard } from './bpm-auth.guard';
7
- import { extractBPMAuthContext } from './bpm-auth-context.extractor';
8
-
9
- export const BPMAuthenticated = (): ClassDecorator & MethodDecorator =>
10
- UseGuards(BPMAuthenticatedGuard);
11
-
12
- export const BPMCurrentAuthContext = createParamDecorator(
13
- (_data: unknown, context: ExecutionContext) => extractBPMAuthContext(context),
14
- );
15
-
16
- export const BPMCurrentMemberId = createParamDecorator(
17
- (_data: unknown, context: ExecutionContext) =>
18
- extractBPMAuthContext(context)?.memberId ?? null,
19
- );
@@ -1,31 +0,0 @@
1
- import {
2
- CanActivate,
3
- ExecutionContext,
4
- Inject,
5
- Injectable,
6
- } from '@nestjs/common';
7
- import {
8
- BPM_AUTH_CONTEXT_ACCESSOR,
9
- BPMAuthContextAccessor,
10
- readAuthenticatedBPMContext,
11
- } from './bpm-auth-context';
12
- import { attachBPMAuthContext } from './bpm-auth-context.extractor';
13
-
14
- @Injectable()
15
- export class BPMAuthenticatedGuard implements CanActivate {
16
- constructor(
17
- @Inject(BPM_AUTH_CONTEXT_ACCESSOR)
18
- private readonly authContextAccessor: BPMAuthContextAccessor,
19
- ) {}
20
-
21
- async canActivate(context: ExecutionContext): Promise<boolean> {
22
- const authContext = await readAuthenticatedBPMContext(
23
- this.authContextAccessor,
24
- context,
25
- );
26
-
27
- attachBPMAuthContext(context, authContext);
28
-
29
- return true;
30
- }
31
- }
@@ -1,106 +0,0 @@
1
- import { Injectable, Module, Type } from '@nestjs/common';
2
- import type { ExecutionContext } from '@nestjs/common';
3
- import { Test } from '@nestjs/testing';
4
- import { BPM_AUTH_CONTEXT_ACCESSOR } from './bpm-auth-context';
5
- import { BPMAuthenticatedGuard } from './bpm-auth.guard';
6
- import { BPMAuthModule } from './bpm-auth.module';
7
- import { extractBPMAuthContext } from './bpm-auth-context.extractor';
8
-
9
- @Injectable()
10
- class FeatureConsumer {
11
- constructor(readonly guard: BPMAuthenticatedGuard) {}
12
- }
13
-
14
- @Module({
15
- providers: [FeatureConsumer],
16
- })
17
- class FeatureModule {}
18
-
19
- describe('BPMAuthModule', () => {
20
- it('makes BPMAuthenticatedGuard injectable from feature module contexts', async (): Promise<void> => {
21
- const moduleRef = await Test.createTestingModule({
22
- imports: [BPMAuthModule.forRoot(), FeatureModule],
23
- }).compile();
24
-
25
- try {
26
- const consumer = moduleRef.get(FeatureConsumer);
27
-
28
- expect(consumer.guard).toBeInstanceOf(BPMAuthenticatedGuard);
29
- } finally {
30
- await moduleRef.close();
31
- }
32
- });
33
-
34
- it('makes factory auth context visible to current member decorators after guard activation', async (): Promise<void> => {
35
- const moduleRef = await Test.createTestingModule({
36
- imports: [
37
- BPMAuthModule.forRoot({
38
- contextFactory: () => ({
39
- memberId: 'member-from-factory',
40
- metadata: {},
41
- permissions: [],
42
- roles: [],
43
- }),
44
- }),
45
- ],
46
- }).compile();
47
-
48
- try {
49
- const guard = moduleRef.get(BPMAuthenticatedGuard);
50
- const graphqlContext: Record<string, unknown> = {};
51
- const executionContext = createGraphQLExecutionContext(graphqlContext);
52
-
53
- await expect(guard.canActivate(executionContext)).resolves.toBe(true);
54
- expect(extractBPMAuthContext(executionContext)?.memberId).toBe(
55
- 'member-from-factory',
56
- );
57
- expect(graphqlContext.bpmAuthContext).toMatchObject({
58
- memberId: 'member-from-factory',
59
- });
60
- } finally {
61
- await moduleRef.close();
62
- }
63
- });
64
-
65
- it('keeps the auth context accessor injectable for direct host integrations', async (): Promise<void> => {
66
- const moduleRef = await Test.createTestingModule({
67
- imports: [BPMAuthModule.forRoot()],
68
- }).compile();
69
-
70
- try {
71
- expect(moduleRef.get(BPM_AUTH_CONTEXT_ACCESSOR)).toBeDefined();
72
- } finally {
73
- await moduleRef.close();
74
- }
75
- });
76
- });
77
-
78
- function createGraphQLExecutionContext(
79
- graphqlContext: Record<string, unknown>,
80
- ): ExecutionContext {
81
- const args = [undefined, {}, graphqlContext, undefined];
82
- const readUndefined = <T = unknown>(): T => undefined as T;
83
-
84
- return {
85
- getArgByIndex: <T = unknown>(index: number): T => args[index] as T,
86
- getArgs: <T extends readonly unknown[] = readonly unknown[]>(): T =>
87
- args as unknown as T,
88
- getClass: <T = unknown>(): Type<T> => FeatureConsumer as Type<T>,
89
- getHandler: () => FeatureConsumer.prototype.constructor,
90
- getType: () => 'graphql' as never,
91
- switchToHttp: () => ({
92
- getNext: readUndefined,
93
- getRequest: readUndefined,
94
- getResponse: readUndefined,
95
- }),
96
- switchToRpc: () => ({
97
- getContext: readUndefined,
98
- getData: readUndefined,
99
- }),
100
- switchToWs: () => ({
101
- getClient: readUndefined,
102
- getData: readUndefined,
103
- getPattern: () => '',
104
- }),
105
- };
106
- }