@rytass/bpm-core-nestjs-module 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (460) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/LICENSE +21 -0
  3. package/README.md +837 -0
  4. package/package.json +168 -0
  5. package/src/index.d.ts +14 -0
  6. package/src/index.js +18 -0
  7. package/src/index.js.map +1 -0
  8. package/src/lib/attachment/attachment-options.d.ts +44 -0
  9. package/src/lib/attachment/attachment-options.js +62 -0
  10. package/src/lib/attachment/attachment-options.js.map +1 -0
  11. package/src/lib/attachment/attachment-storage.provider.d.ts +4 -0
  12. package/src/lib/attachment/attachment-storage.provider.js +35 -0
  13. package/src/lib/attachment/attachment-storage.provider.js.map +1 -0
  14. package/src/lib/attachment/attachment-storage.token.d.ts +3 -0
  15. package/src/lib/attachment/attachment-storage.token.js +5 -0
  16. package/src/lib/attachment/attachment-storage.token.js.map +1 -0
  17. package/src/lib/attachment/attachment.controller.d.ts +8 -0
  18. package/src/lib/attachment/attachment.controller.js +38 -0
  19. package/src/lib/attachment/attachment.controller.js.map +1 -0
  20. package/src/lib/attachment/attachment.entity.d.ts +14 -0
  21. package/src/lib/attachment/attachment.entity.js +74 -0
  22. package/src/lib/attachment/attachment.entity.js.map +1 -0
  23. package/src/lib/attachment/attachment.module.d.ts +27 -0
  24. package/src/lib/attachment/attachment.module.js +103 -0
  25. package/src/lib/attachment/attachment.module.js.map +1 -0
  26. package/src/lib/attachment/attachment.mutations.d.ts +8 -0
  27. package/src/lib/attachment/attachment.mutations.js +35 -0
  28. package/src/lib/attachment/attachment.mutations.js.map +1 -0
  29. package/src/lib/attachment/attachment.queries.d.ts +9 -0
  30. package/src/lib/attachment/attachment.queries.js +78 -0
  31. package/src/lib/attachment/attachment.queries.js.map +1 -0
  32. package/src/lib/attachment/attachment.service.d.ts +49 -0
  33. package/src/lib/attachment/attachment.service.js +276 -0
  34. package/src/lib/attachment/attachment.service.js.map +1 -0
  35. package/src/lib/attachment/dto/upload-attachment.input.d.ts +11 -0
  36. package/src/lib/attachment/dto/upload-attachment.input.js +68 -0
  37. package/src/lib/attachment/dto/upload-attachment.input.js.map +1 -0
  38. package/src/lib/attachment/index.d.ts +5 -0
  39. package/src/lib/attachment/index.js +9 -0
  40. package/src/lib/attachment/index.js.map +1 -0
  41. package/src/lib/bpm/bpm-root.module.d.ts +155 -0
  42. package/src/lib/bpm/bpm-root.module.js +170 -0
  43. package/src/lib/bpm/bpm-root.module.js.map +1 -0
  44. package/src/lib/bpm/index.d.ts +1 -0
  45. package/src/lib/bpm/index.js +5 -0
  46. package/src/lib/bpm/index.js.map +1 -0
  47. package/src/lib/bpm-auth/bpm-auth-context.d.ts +24 -0
  48. package/src/lib/bpm-auth/bpm-auth-context.extractor.d.ts +4 -0
  49. package/src/lib/bpm-auth/bpm-auth-context.extractor.js +69 -0
  50. package/src/lib/bpm-auth/bpm-auth-context.extractor.js.map +1 -0
  51. package/src/lib/bpm-auth/bpm-auth-context.js +15 -0
  52. package/src/lib/bpm-auth/bpm-auth-context.js.map +1 -0
  53. package/src/lib/bpm-auth/bpm-auth.authorization.d.ts +12 -0
  54. package/src/lib/bpm-auth/bpm-auth.authorization.js +67 -0
  55. package/src/lib/bpm-auth/bpm-auth.authorization.js.map +1 -0
  56. package/src/lib/bpm-auth/bpm-auth.decorators.d.ts +3 -0
  57. package/src/lib/bpm-auth/bpm-auth.decorators.js +11 -0
  58. package/src/lib/bpm-auth/bpm-auth.decorators.js.map +1 -0
  59. package/src/lib/bpm-auth/bpm-auth.guard.d.ts +7 -0
  60. package/src/lib/bpm-auth/bpm-auth.guard.js +24 -0
  61. package/src/lib/bpm-auth/bpm-auth.guard.js.map +1 -0
  62. package/src/lib/bpm-auth/bpm-auth.module.d.ts +6 -0
  63. package/src/lib/bpm-auth/bpm-auth.module.js +69 -0
  64. package/src/lib/bpm-auth/bpm-auth.module.js.map +1 -0
  65. package/src/lib/bpm-auth/bpm-auth.options.d.ts +11 -0
  66. package/src/lib/bpm-auth/bpm-auth.options.js +3 -0
  67. package/src/lib/bpm-auth/bpm-auth.options.js.map +1 -0
  68. package/src/lib/bpm-auth/configurable-bpm-auth-context.accessor.d.ts +10 -0
  69. package/src/lib/bpm-auth/configurable-bpm-auth-context.accessor.js +40 -0
  70. package/src/lib/bpm-auth/configurable-bpm-auth-context.accessor.js.map +1 -0
  71. package/src/lib/bpm-auth/index.d.ts +6 -0
  72. package/src/lib/bpm-auth/index.js +10 -0
  73. package/src/lib/bpm-auth/index.js.map +1 -0
  74. package/src/lib/common/filters/all-exceptions.filter.d.ts +25 -0
  75. package/src/lib/common/filters/all-exceptions.filter.js +93 -0
  76. package/src/lib/common/filters/all-exceptions.filter.js.map +1 -0
  77. package/src/lib/common/index.d.ts +1 -0
  78. package/src/lib/common/index.js +5 -0
  79. package/src/lib/common/index.js.map +1 -0
  80. package/src/lib/common/iso-duration.d.ts +1 -0
  81. package/src/lib/common/iso-duration.js +27 -0
  82. package/src/lib/common/iso-duration.js.map +1 -0
  83. package/src/lib/condition/condition.module.d.ts +2 -0
  84. package/src/lib/condition/condition.module.js +16 -0
  85. package/src/lib/condition/condition.module.js.map +1 -0
  86. package/src/lib/condition/condition.service.d.ts +16 -0
  87. package/src/lib/condition/condition.service.js +82 -0
  88. package/src/lib/condition/condition.service.js.map +1 -0
  89. package/src/lib/condition/index.d.ts +2 -0
  90. package/src/lib/condition/index.js +6 -0
  91. package/src/lib/condition/index.js.map +1 -0
  92. package/src/lib/database/data-source.d.ts +4 -0
  93. package/src/lib/database/data-source.js +7 -0
  94. package/src/lib/database/data-source.js.map +1 -0
  95. package/src/lib/database/index.d.ts +2 -0
  96. package/src/lib/database/index.js +6 -0
  97. package/src/lib/database/index.js.map +1 -0
  98. package/src/lib/database/migration-runner.d.ts +1 -0
  99. package/src/lib/database/migration-runner.js +23 -0
  100. package/src/lib/database/migration-runner.js.map +1 -0
  101. package/src/lib/database/typeorm.config.d.ts +14 -0
  102. package/src/lib/database/typeorm.config.js +135 -0
  103. package/src/lib/database/typeorm.config.js.map +1 -0
  104. package/src/lib/delegation/delegation-rule.entity.d.ts +19 -0
  105. package/src/lib/delegation/delegation-rule.entity.js +99 -0
  106. package/src/lib/delegation/delegation-rule.entity.js.map +1 -0
  107. package/src/lib/delegation/delegation.enums.d.ts +10 -0
  108. package/src/lib/delegation/delegation.enums.js +23 -0
  109. package/src/lib/delegation/delegation.enums.js.map +1 -0
  110. package/src/lib/delegation/delegation.module.d.ts +2 -0
  111. package/src/lib/delegation/delegation.module.js +22 -0
  112. package/src/lib/delegation/delegation.module.js.map +1 -0
  113. package/src/lib/delegation/delegation.mutations.d.ts +11 -0
  114. package/src/lib/delegation/delegation.mutations.js +87 -0
  115. package/src/lib/delegation/delegation.mutations.js.map +1 -0
  116. package/src/lib/delegation/delegation.queries.d.ts +10 -0
  117. package/src/lib/delegation/delegation.queries.js +91 -0
  118. package/src/lib/delegation/delegation.queries.js.map +1 -0
  119. package/src/lib/delegation/delegation.service.d.ts +56 -0
  120. package/src/lib/delegation/delegation.service.js +268 -0
  121. package/src/lib/delegation/delegation.service.js.map +1 -0
  122. package/src/lib/delegation/dto/delegation-rule.input.d.ts +24 -0
  123. package/src/lib/delegation/dto/delegation-rule.input.js +143 -0
  124. package/src/lib/delegation/dto/delegation-rule.input.js.map +1 -0
  125. package/src/lib/delegation/index.d.ts +5 -0
  126. package/src/lib/delegation/index.js +9 -0
  127. package/src/lib/delegation/index.js.map +1 -0
  128. package/src/lib/form/dto/form-definition.input.d.ts +21 -0
  129. package/src/lib/form/dto/form-definition.input.js +103 -0
  130. package/src/lib/form/dto/form-definition.input.js.map +1 -0
  131. package/src/lib/form/form-definition-version.entity.d.ts +17 -0
  132. package/src/lib/form/form-definition-version.entity.js +84 -0
  133. package/src/lib/form/form-definition-version.entity.js.map +1 -0
  134. package/src/lib/form/form-definition.entity.d.ts +13 -0
  135. package/src/lib/form/form-definition.entity.js +66 -0
  136. package/src/lib/form/form-definition.entity.js.map +1 -0
  137. package/src/lib/form/form-schema-lint.object.d.ts +4 -0
  138. package/src/lib/form/form-schema-lint.object.js +20 -0
  139. package/src/lib/form/form-schema-lint.object.js.map +1 -0
  140. package/src/lib/form/form-schema.validator.d.ts +13 -0
  141. package/src/lib/form/form-schema.validator.js +354 -0
  142. package/src/lib/form/form-schema.validator.js.map +1 -0
  143. package/src/lib/form/form.enums.d.ts +9 -0
  144. package/src/lib/form/form.enums.js +22 -0
  145. package/src/lib/form/form.enums.js.map +1 -0
  146. package/src/lib/form/form.module.d.ts +2 -0
  147. package/src/lib/form/form.module.js +27 -0
  148. package/src/lib/form/form.module.js.map +1 -0
  149. package/src/lib/form/form.mutations.d.ts +14 -0
  150. package/src/lib/form/form.mutations.js +88 -0
  151. package/src/lib/form/form.mutations.js.map +1 -0
  152. package/src/lib/form/form.queries.d.ts +16 -0
  153. package/src/lib/form/form.queries.js +96 -0
  154. package/src/lib/form/form.queries.js.map +1 -0
  155. package/src/lib/form/form.service.d.ts +35 -0
  156. package/src/lib/form/form.service.js +297 -0
  157. package/src/lib/form/form.service.js.map +1 -0
  158. package/src/lib/form/index.d.ts +8 -0
  159. package/src/lib/form/index.js +12 -0
  160. package/src/lib/form/index.js.map +1 -0
  161. package/src/lib/identity/identity-options.d.ts +13 -0
  162. package/src/lib/identity/identity-options.js +20 -0
  163. package/src/lib/identity/identity-options.js.map +1 -0
  164. package/src/lib/identity/identity.module.d.ts +17 -0
  165. package/src/lib/identity/identity.module.js +65 -0
  166. package/src/lib/identity/identity.module.js.map +1 -0
  167. package/src/lib/identity/identity.queries.d.ts +12 -0
  168. package/src/lib/identity/identity.queries.js +79 -0
  169. package/src/lib/identity/identity.queries.js.map +1 -0
  170. package/src/lib/identity/identity.service.d.ts +22 -0
  171. package/src/lib/identity/identity.service.js +141 -0
  172. package/src/lib/identity/identity.service.js.map +1 -0
  173. package/src/lib/identity/index.d.ts +3 -0
  174. package/src/lib/identity/index.js +7 -0
  175. package/src/lib/identity/index.js.map +1 -0
  176. package/src/lib/identity/member-base.adapter.d.ts +95 -0
  177. package/src/lib/identity/member-base.adapter.js +137 -0
  178. package/src/lib/identity/member-base.adapter.js.map +1 -0
  179. package/src/lib/identity/member-metadata-cache.entity.d.ts +8 -0
  180. package/src/lib/identity/member-metadata-cache.entity.js +39 -0
  181. package/src/lib/identity/member-metadata-cache.entity.js.map +1 -0
  182. package/src/lib/identity/member-profile.object.d.ts +8 -0
  183. package/src/lib/identity/member-profile.object.js +37 -0
  184. package/src/lib/identity/member-profile.object.js.map +1 -0
  185. package/src/lib/identity/member-resolver.interface.d.ts +41 -0
  186. package/src/lib/identity/member-resolver.interface.js +19 -0
  187. package/src/lib/identity/member-resolver.interface.js.map +1 -0
  188. package/src/lib/migrations/0000000000000-enable-postgres-extensions.d.ts +6 -0
  189. package/src/lib/migrations/0000000000000-enable-postgres-extensions.js +17 -0
  190. package/src/lib/migrations/0000000000000-enable-postgres-extensions.js.map +1 -0
  191. package/src/lib/migrations/0000000001000-identity-organization-foundation.d.ts +6 -0
  192. package/src/lib/migrations/0000000001000-identity-organization-foundation.js +97 -0
  193. package/src/lib/migrations/0000000001000-identity-organization-foundation.js.map +1 -0
  194. package/src/lib/migrations/0000000002000-form-builder-foundation.d.ts +6 -0
  195. package/src/lib/migrations/0000000002000-form-builder-foundation.js +66 -0
  196. package/src/lib/migrations/0000000002000-form-builder-foundation.js.map +1 -0
  197. package/src/lib/migrations/0000000003000-approval-template-foundation.d.ts +6 -0
  198. package/src/lib/migrations/0000000003000-approval-template-foundation.js +70 -0
  199. package/src/lib/migrations/0000000003000-approval-template-foundation.js.map +1 -0
  200. package/src/lib/migrations/0000000004000-workflow-engine-foundation.d.ts +6 -0
  201. package/src/lib/migrations/0000000004000-workflow-engine-foundation.js +134 -0
  202. package/src/lib/migrations/0000000004000-workflow-engine-foundation.js.map +1 -0
  203. package/src/lib/migrations/0000000005000-delegation-rules.d.ts +6 -0
  204. package/src/lib/migrations/0000000005000-delegation-rules.js +46 -0
  205. package/src/lib/migrations/0000000005000-delegation-rules.js.map +1 -0
  206. package/src/lib/migrations/0000000006000-notifications-sla.d.ts +6 -0
  207. package/src/lib/migrations/0000000006000-notifications-sla.js +70 -0
  208. package/src/lib/migrations/0000000006000-notifications-sla.js.map +1 -0
  209. package/src/lib/migrations/0000000007000-signatures-attachments.d.ts +6 -0
  210. package/src/lib/migrations/0000000007000-signatures-attachments.js +93 -0
  211. package/src/lib/migrations/0000000007000-signatures-attachments.js.map +1 -0
  212. package/src/lib/migrations/0000000008000-approval-template-categories.d.ts +6 -0
  213. package/src/lib/migrations/0000000008000-approval-template-categories.js +92 -0
  214. package/src/lib/migrations/0000000008000-approval-template-categories.js.map +1 -0
  215. package/src/lib/migrations/0000000009000-task-candidates.d.ts +6 -0
  216. package/src/lib/migrations/0000000009000-task-candidates.js +97 -0
  217. package/src/lib/migrations/0000000009000-task-candidates.js.map +1 -0
  218. package/src/lib/migrations/0000000010000-notification-delivery-state.d.ts +6 -0
  219. package/src/lib/migrations/0000000010000-notification-delivery-state.js +38 -0
  220. package/src/lib/migrations/0000000010000-notification-delivery-state.js.map +1 -0
  221. package/src/lib/migrations/0000000011000-remove-attachment-encryption-key.d.ts +6 -0
  222. package/src/lib/migrations/0000000011000-remove-attachment-encryption-key.js +22 -0
  223. package/src/lib/migrations/0000000011000-remove-attachment-encryption-key.js.map +1 -0
  224. package/src/lib/migrations/0000000012000-notification-sla-idempotency.d.ts +6 -0
  225. package/src/lib/migrations/0000000012000-notification-sla-idempotency.js +21 -0
  226. package/src/lib/migrations/0000000012000-notification-sla-idempotency.js.map +1 -0
  227. package/src/lib/migrations/0000000013000-workflow-query-indexes.d.ts +6 -0
  228. package/src/lib/migrations/0000000013000-workflow-query-indexes.js +80 -0
  229. package/src/lib/migrations/0000000013000-workflow-query-indexes.js.map +1 -0
  230. package/src/lib/migrations/index.d.ts +16 -0
  231. package/src/lib/migrations/index.js +49 -0
  232. package/src/lib/migrations/index.js.map +1 -0
  233. package/src/lib/notification/dto/notification-preference.input.d.ts +9 -0
  234. package/src/lib/notification/dto/notification-preference.input.js +53 -0
  235. package/src/lib/notification/dto/notification-preference.input.js.map +1 -0
  236. package/src/lib/notification/index.d.ts +7 -0
  237. package/src/lib/notification/index.js +11 -0
  238. package/src/lib/notification/index.js.map +1 -0
  239. package/src/lib/notification/notification-delivery-scheduler.service.d.ts +13 -0
  240. package/src/lib/notification/notification-delivery-scheduler.service.js +53 -0
  241. package/src/lib/notification/notification-delivery-scheduler.service.js.map +1 -0
  242. package/src/lib/notification/notification-delivery.service.d.ts +23 -0
  243. package/src/lib/notification/notification-delivery.service.js +245 -0
  244. package/src/lib/notification/notification-delivery.service.js.map +1 -0
  245. package/src/lib/notification/notification-dispatcher.token.d.ts +7 -0
  246. package/src/lib/notification/notification-dispatcher.token.js +5 -0
  247. package/src/lib/notification/notification-dispatcher.token.js.map +1 -0
  248. package/src/lib/notification/notification-options.d.ts +215 -0
  249. package/src/lib/notification/notification-options.js +128 -0
  250. package/src/lib/notification/notification-options.js.map +1 -0
  251. package/src/lib/notification/notification-options.module.d.ts +23 -0
  252. package/src/lib/notification/notification-options.module.js +41 -0
  253. package/src/lib/notification/notification-options.module.js.map +1 -0
  254. package/src/lib/notification/notification-preference.entity.d.ts +10 -0
  255. package/src/lib/notification/notification-preference.entity.js +50 -0
  256. package/src/lib/notification/notification-preference.entity.js.map +1 -0
  257. package/src/lib/notification/notification-sla-scheduler.service.d.ts +13 -0
  258. package/src/lib/notification/notification-sla-scheduler.service.js +51 -0
  259. package/src/lib/notification/notification-sla-scheduler.service.js.map +1 -0
  260. package/src/lib/notification/notification-template.d.ts +13 -0
  261. package/src/lib/notification/notification-template.js +61 -0
  262. package/src/lib/notification/notification-template.js.map +1 -0
  263. package/src/lib/notification/notification.entity.d.ts +23 -0
  264. package/src/lib/notification/notification.entity.js +122 -0
  265. package/src/lib/notification/notification.entity.js.map +1 -0
  266. package/src/lib/notification/notification.enums.d.ts +24 -0
  267. package/src/lib/notification/notification.enums.js +45 -0
  268. package/src/lib/notification/notification.enums.js.map +1 -0
  269. package/src/lib/notification/notification.module.d.ts +2 -0
  270. package/src/lib/notification/notification.module.js +45 -0
  271. package/src/lib/notification/notification.module.js.map +1 -0
  272. package/src/lib/notification/notification.mutations.d.ts +11 -0
  273. package/src/lib/notification/notification.mutations.js +64 -0
  274. package/src/lib/notification/notification.mutations.js.map +1 -0
  275. package/src/lib/notification/notification.queries.d.ts +11 -0
  276. package/src/lib/notification/notification.queries.js +77 -0
  277. package/src/lib/notification/notification.queries.js.map +1 -0
  278. package/src/lib/notification/notification.service.d.ts +81 -0
  279. package/src/lib/notification/notification.service.js +621 -0
  280. package/src/lib/notification/notification.service.js.map +1 -0
  281. package/src/lib/organization/dto/manager-resolution.input.d.ts +18 -0
  282. package/src/lib/organization/dto/manager-resolution.input.js +107 -0
  283. package/src/lib/organization/dto/manager-resolution.input.js.map +1 -0
  284. package/src/lib/organization/dto/membership.input.d.ts +16 -0
  285. package/src/lib/organization/dto/membership.input.js +99 -0
  286. package/src/lib/organization/dto/membership.input.js.map +1 -0
  287. package/src/lib/organization/dto/org-unit.input.d.ts +24 -0
  288. package/src/lib/organization/dto/org-unit.input.js +119 -0
  289. package/src/lib/organization/dto/org-unit.input.js.map +1 -0
  290. package/src/lib/organization/dto/position.input.d.ts +13 -0
  291. package/src/lib/organization/dto/position.input.js +70 -0
  292. package/src/lib/organization/dto/position.input.js.map +1 -0
  293. package/src/lib/organization/index.d.ts +12 -0
  294. package/src/lib/organization/index.js +16 -0
  295. package/src/lib/organization/index.js.map +1 -0
  296. package/src/lib/organization/json-metadata.d.ts +1 -0
  297. package/src/lib/organization/json-metadata.js +14 -0
  298. package/src/lib/organization/json-metadata.js.map +1 -0
  299. package/src/lib/organization/manager-resolution.entity.d.ts +11 -0
  300. package/src/lib/organization/manager-resolution.entity.js +55 -0
  301. package/src/lib/organization/manager-resolution.entity.js.map +1 -0
  302. package/src/lib/organization/membership.entity.d.ts +11 -0
  303. package/src/lib/organization/membership.entity.js +60 -0
  304. package/src/lib/organization/membership.entity.js.map +1 -0
  305. package/src/lib/organization/org-unit-tree-commit-result.object.d.ts +4 -0
  306. package/src/lib/organization/org-unit-tree-commit-result.object.js +17 -0
  307. package/src/lib/organization/org-unit-tree-commit-result.object.js.map +1 -0
  308. package/src/lib/organization/org-unit.entity.d.ts +13 -0
  309. package/src/lib/organization/org-unit.entity.js +64 -0
  310. package/src/lib/organization/org-unit.entity.js.map +1 -0
  311. package/src/lib/organization/organization-summary.object.d.ts +6 -0
  312. package/src/lib/organization/organization-summary.object.js +28 -0
  313. package/src/lib/organization/organization-summary.object.js.map +1 -0
  314. package/src/lib/organization/organization.enums.d.ts +11 -0
  315. package/src/lib/organization/organization.enums.js +22 -0
  316. package/src/lib/organization/organization.enums.js.map +1 -0
  317. package/src/lib/organization/organization.module.d.ts +2 -0
  318. package/src/lib/organization/organization.module.js +35 -0
  319. package/src/lib/organization/organization.module.js.map +1 -0
  320. package/src/lib/organization/organization.mutations.d.ts +26 -0
  321. package/src/lib/organization/organization.mutations.js +148 -0
  322. package/src/lib/organization/organization.mutations.js.map +1 -0
  323. package/src/lib/organization/organization.queries.d.ts +23 -0
  324. package/src/lib/organization/organization.queries.js +202 -0
  325. package/src/lib/organization/organization.queries.js.map +1 -0
  326. package/src/lib/organization/organization.service.d.ts +102 -0
  327. package/src/lib/organization/organization.service.js +751 -0
  328. package/src/lib/organization/organization.service.js.map +1 -0
  329. package/src/lib/organization/position.entity.d.ts +9 -0
  330. package/src/lib/organization/position.entity.js +48 -0
  331. package/src/lib/organization/position.entity.js.map +1 -0
  332. package/src/lib/organization/resolved-manager.object.d.ts +4 -0
  333. package/src/lib/organization/resolved-manager.object.js +20 -0
  334. package/src/lib/organization/resolved-manager.object.js.map +1 -0
  335. package/src/lib/signature/index.d.ts +4 -0
  336. package/src/lib/signature/index.js +8 -0
  337. package/src/lib/signature/index.js.map +1 -0
  338. package/src/lib/signature/signature-options.d.ts +33 -0
  339. package/src/lib/signature/signature-options.js +51 -0
  340. package/src/lib/signature/signature-options.js.map +1 -0
  341. package/src/lib/signature/signature-verification.object.d.ts +6 -0
  342. package/src/lib/signature/signature-verification.object.js +28 -0
  343. package/src/lib/signature/signature-verification.object.js.map +1 -0
  344. package/src/lib/signature/signature.entity.d.ts +16 -0
  345. package/src/lib/signature/signature.entity.js +88 -0
  346. package/src/lib/signature/signature.entity.js.map +1 -0
  347. package/src/lib/signature/signature.module.d.ts +11 -0
  348. package/src/lib/signature/signature.module.js +60 -0
  349. package/src/lib/signature/signature.module.js.map +1 -0
  350. package/src/lib/signature/signature.queries.d.ts +11 -0
  351. package/src/lib/signature/signature.queries.js +46 -0
  352. package/src/lib/signature/signature.queries.js.map +1 -0
  353. package/src/lib/signature/signature.service.d.ts +25 -0
  354. package/src/lib/signature/signature.service.js +124 -0
  355. package/src/lib/signature/signature.service.js.map +1 -0
  356. package/src/lib/template/approval-template-category.entity.d.ts +9 -0
  357. package/src/lib/template/approval-template-category.entity.js +49 -0
  358. package/src/lib/template/approval-template-category.entity.js.map +1 -0
  359. package/src/lib/template/approval-template-version.entity.d.ts +21 -0
  360. package/src/lib/template/approval-template-version.entity.js +106 -0
  361. package/src/lib/template/approval-template-version.entity.js.map +1 -0
  362. package/src/lib/template/approval-template.entity.d.ts +14 -0
  363. package/src/lib/template/approval-template.entity.js +74 -0
  364. package/src/lib/template/approval-template.entity.js.map +1 -0
  365. package/src/lib/template/dto/approval-template.input.d.ts +36 -0
  366. package/src/lib/template/dto/approval-template.input.js +187 -0
  367. package/src/lib/template/dto/approval-template.input.js.map +1 -0
  368. package/src/lib/template/index.d.ts +8 -0
  369. package/src/lib/template/index.js +12 -0
  370. package/src/lib/template/index.js.map +1 -0
  371. package/src/lib/template/template.enums.d.ts +14 -0
  372. package/src/lib/template/template.enums.js +31 -0
  373. package/src/lib/template/template.enums.js.map +1 -0
  374. package/src/lib/template/template.module.d.ts +2 -0
  375. package/src/lib/template/template.module.js +33 -0
  376. package/src/lib/template/template.module.js.map +1 -0
  377. package/src/lib/template/template.mutations.d.ts +20 -0
  378. package/src/lib/template/template.mutations.js +139 -0
  379. package/src/lib/template/template.mutations.js.map +1 -0
  380. package/src/lib/template/template.queries.d.ts +16 -0
  381. package/src/lib/template/template.queries.js +133 -0
  382. package/src/lib/template/template.queries.js.map +1 -0
  383. package/src/lib/template/template.service.d.ts +64 -0
  384. package/src/lib/template/template.service.js +521 -0
  385. package/src/lib/template/template.service.js.map +1 -0
  386. package/src/lib/template/workflow-definition.validator.d.ts +9 -0
  387. package/src/lib/template/workflow-definition.validator.js +362 -0
  388. package/src/lib/template/workflow-definition.validator.js.map +1 -0
  389. package/src/lib/testing/cel-js.jest.d.ts +15 -0
  390. package/src/lib/testing/cel-js.jest.js +27 -0
  391. package/src/lib/testing/cel-js.jest.js.map +1 -0
  392. package/src/lib/workflow-engine/activity-log.entity.d.ts +12 -0
  393. package/src/lib/workflow-engine/activity-log.entity.js +62 -0
  394. package/src/lib/workflow-engine/activity-log.entity.js.map +1 -0
  395. package/src/lib/workflow-engine/approval-instance-page-info.object.d.ts +8 -0
  396. package/src/lib/workflow-engine/approval-instance-page-info.object.js +36 -0
  397. package/src/lib/workflow-engine/approval-instance-page-info.object.js.map +1 -0
  398. package/src/lib/workflow-engine/approval-instance.entity.d.ts +22 -0
  399. package/src/lib/workflow-engine/approval-instance.entity.js +113 -0
  400. package/src/lib/workflow-engine/approval-instance.entity.js.map +1 -0
  401. package/src/lib/workflow-engine/dto/cancel-approval-instance.input.d.ts +5 -0
  402. package/src/lib/workflow-engine/dto/cancel-approval-instance.input.js +29 -0
  403. package/src/lib/workflow-engine/dto/cancel-approval-instance.input.js.map +1 -0
  404. package/src/lib/workflow-engine/dto/decide-task.input.d.ts +9 -0
  405. package/src/lib/workflow-engine/dto/decide-task.input.js +47 -0
  406. package/src/lib/workflow-engine/dto/decide-task.input.js.map +1 -0
  407. package/src/lib/workflow-engine/dto/dry-run-approval-workflow.input.d.ts +6 -0
  408. package/src/lib/workflow-engine/dto/dry-run-approval-workflow.input.js +34 -0
  409. package/src/lib/workflow-engine/dto/dry-run-approval-workflow.input.js.map +1 -0
  410. package/src/lib/workflow-engine/dto/resubmit-approval-instance.input.d.ts +6 -0
  411. package/src/lib/workflow-engine/dto/resubmit-approval-instance.input.js +34 -0
  412. package/src/lib/workflow-engine/dto/resubmit-approval-instance.input.js.map +1 -0
  413. package/src/lib/workflow-engine/dto/submit-approval-instance.input.d.ts +7 -0
  414. package/src/lib/workflow-engine/dto/submit-approval-instance.input.js +40 -0
  415. package/src/lib/workflow-engine/dto/submit-approval-instance.input.js.map +1 -0
  416. package/src/lib/workflow-engine/index.d.ts +20 -0
  417. package/src/lib/workflow-engine/index.js +24 -0
  418. package/src/lib/workflow-engine/index.js.map +1 -0
  419. package/src/lib/workflow-engine/task-candidate.entity.d.ts +14 -0
  420. package/src/lib/workflow-engine/task-candidate.entity.js +72 -0
  421. package/src/lib/workflow-engine/task-candidate.entity.js.map +1 -0
  422. package/src/lib/workflow-engine/task-decision.entity.d.ts +12 -0
  423. package/src/lib/workflow-engine/task-decision.entity.js +60 -0
  424. package/src/lib/workflow-engine/task-decision.entity.js.map +1 -0
  425. package/src/lib/workflow-engine/task.entity.d.ts +20 -0
  426. package/src/lib/workflow-engine/task.entity.js +109 -0
  427. package/src/lib/workflow-engine/task.entity.js.map +1 -0
  428. package/src/lib/workflow-engine/workflow-condition-evaluator.d.ts +5 -0
  429. package/src/lib/workflow-engine/workflow-condition-evaluator.js +107 -0
  430. package/src/lib/workflow-engine/workflow-condition-evaluator.js.map +1 -0
  431. package/src/lib/workflow-engine/workflow-dashboard-summary.object.d.ts +8 -0
  432. package/src/lib/workflow-engine/workflow-dashboard-summary.object.js +36 -0
  433. package/src/lib/workflow-engine/workflow-dashboard-summary.object.js.map +1 -0
  434. package/src/lib/workflow-engine/workflow-dry-run.object.d.ts +21 -0
  435. package/src/lib/workflow-engine/workflow-dry-run.object.js +86 -0
  436. package/src/lib/workflow-engine/workflow-dry-run.object.js.map +1 -0
  437. package/src/lib/workflow-engine/workflow-engine.enums.d.ts +58 -0
  438. package/src/lib/workflow-engine/workflow-engine.enums.js +95 -0
  439. package/src/lib/workflow-engine/workflow-engine.enums.js.map +1 -0
  440. package/src/lib/workflow-engine/workflow-engine.module.d.ts +9 -0
  441. package/src/lib/workflow-engine/workflow-engine.module.js +76 -0
  442. package/src/lib/workflow-engine/workflow-engine.module.js.map +1 -0
  443. package/src/lib/workflow-engine/workflow-engine.mutations.d.ts +19 -0
  444. package/src/lib/workflow-engine/workflow-engine.mutations.js +106 -0
  445. package/src/lib/workflow-engine/workflow-engine.mutations.js.map +1 -0
  446. package/src/lib/workflow-engine/workflow-engine.queries.d.ts +29 -0
  447. package/src/lib/workflow-engine/workflow-engine.queries.js +225 -0
  448. package/src/lib/workflow-engine/workflow-engine.queries.js.map +1 -0
  449. package/src/lib/workflow-engine/workflow-engine.service.d.ts +145 -0
  450. package/src/lib/workflow-engine/workflow-engine.service.js +2785 -0
  451. package/src/lib/workflow-engine/workflow-engine.service.js.map +1 -0
  452. package/src/lib/workflow-engine/workflow-engine.tokens.d.ts +9 -0
  453. package/src/lib/workflow-engine/workflow-engine.tokens.js +5 -0
  454. package/src/lib/workflow-engine/workflow-engine.tokens.js.map +1 -0
  455. package/src/lib/workflow-engine/workflow-service-task-dispatcher.token.d.ts +18 -0
  456. package/src/lib/workflow-engine/workflow-service-task-dispatcher.token.js +39 -0
  457. package/src/lib/workflow-engine/workflow-service-task-dispatcher.token.js.map +1 -0
  458. package/src/lib/workflow-engine/workflow-token.entity.d.ts +10 -0
  459. package/src/lib/workflow-engine/workflow-token.entity.js +50 -0
  460. package/src/lib/workflow-engine/workflow-token.entity.js.map +1 -0
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BPMMemberBaseResolverAdapter = void 0;
4
+ exports.createBPMAuthContextFromMemberBaseMember = createBPMAuthContextFromMemberBaseMember;
5
+ exports.createBPMMemberBaseResolverProvider = createBPMMemberBaseResolverProvider;
6
+ exports.readMemberMetadataFromMemberBaseMember = readMemberMetadataFromMemberBaseMember;
7
+ class BPMMemberBaseResolverAdapter {
8
+ constructor(directory, options = {}) {
9
+ this.directory = directory;
10
+ this.options = options;
11
+ }
12
+ async resolve(memberId) {
13
+ const member = await this.directory.resolveMember(memberId);
14
+ if (!member) {
15
+ throw new Error(`member-base member ${memberId} was not found`);
16
+ }
17
+ return readMemberMetadataFromMemberBaseMember(member, this.options);
18
+ }
19
+ async resolveMany(memberIds) {
20
+ const members = this.directory.resolveMembers
21
+ ? await this.directory.resolveMembers(memberIds)
22
+ : await Promise.all(memberIds.map((memberId) => this.directory.resolveMember(memberId)));
23
+ return members
24
+ .filter((member) => Boolean(member))
25
+ .map((member) => readMemberMetadataFromMemberBaseMember(member, this.options))
26
+ .reduce((metadataByMemberId, metadata) => new Map(metadataByMemberId).set(metadata.memberId, metadata), new Map());
27
+ }
28
+ async search(searchText) {
29
+ if (!this.directory.searchMembers) {
30
+ return [];
31
+ }
32
+ return (await this.directory.searchMembers(searchText)).map((member) => readMemberMetadataFromMemberBaseMember(member, this.options));
33
+ }
34
+ }
35
+ exports.BPMMemberBaseResolverAdapter = BPMMemberBaseResolverAdapter;
36
+ /**
37
+ * Helper for hosts that already hold an authenticated `TMember` (for
38
+ * example from `@rytass/member-base-nestjs-module`) and want to project it
39
+ * into a {@link BPMAuthContext} without writing the boilerplate by hand.
40
+ *
41
+ * Returns `null` when the input is nullish or when the member is missing
42
+ * an id — never throws. Pair this with `BPMRootModuleOptions.authContextFactory`
43
+ * so BPM resolvers receive the projected context on every request.
44
+ *
45
+ * @example
46
+ * ```ts
47
+ * const bpmAuth = createBPMAuthContextFromMemberBaseMember(memberBaseUser, {
48
+ * readRoles: (m) => m.roles,
49
+ * readPermissions: (m) => m.permissions,
50
+ * readCustomFields: (m) => ({ tenantId: m.tenantId }),
51
+ * });
52
+ * ```
53
+ */
54
+ function createBPMAuthContextFromMemberBaseMember(member, options = {}) {
55
+ if (!member) {
56
+ return null;
57
+ }
58
+ const memberId = readMemberId(member, options);
59
+ return memberId
60
+ ? {
61
+ memberId,
62
+ metadata: options.readCustomFields?.(member) ?? {},
63
+ permissions: options.readPermissions?.(member) ?? [],
64
+ roles: options.readRoles?.(member) ?? [],
65
+ }
66
+ : null;
67
+ }
68
+ /**
69
+ * Builds a Nest `Provider` that adapts a host-provided
70
+ * {@link BPMMemberBaseDirectory} into a {@link BPMMemberResolver}, then
71
+ * registers it under the host-chosen injection token (typically
72
+ * {@link BPM_MEMBER_RESOLVER}).
73
+ *
74
+ * Pass the result inside `BPMRootModuleOptions.memberResolverProvider`.
75
+ *
76
+ * @example
77
+ * ```ts
78
+ * BPMRootModule.forRoot({
79
+ * memberResolverProvider: createBPMMemberBaseResolverProvider({
80
+ * provide: BPM_MEMBER_RESOLVER,
81
+ * directoryToken: HOST_MEMBER_DIRECTORY,
82
+ * adapterOptions: {
83
+ * readEmail: (m) => m.email,
84
+ * readName: (m) => m.name,
85
+ * },
86
+ * }),
87
+ * // ...
88
+ * });
89
+ * ```
90
+ */
91
+ function createBPMMemberBaseResolverProvider({ adapterOptions, directoryToken, provide, }) {
92
+ return {
93
+ inject: [directoryToken],
94
+ provide,
95
+ useFactory: (directory) => new BPMMemberBaseResolverAdapter(directory, adapterOptions),
96
+ };
97
+ }
98
+ function readMemberMetadataFromMemberBaseMember(member, options = {}) {
99
+ const memberId = readMemberId(member, options);
100
+ if (!memberId) {
101
+ throw new Error('member-base member id is required for BPM integration');
102
+ }
103
+ return {
104
+ customFields: options.readCustomFields?.(member) ?? {},
105
+ email: readMemberEmail(member, options) ?? '',
106
+ memberId,
107
+ name: readMemberName(member, options) ?? memberId,
108
+ };
109
+ }
110
+ function readMemberId(member, options) {
111
+ return (normalizeText(options.readMemberId?.(member)) ??
112
+ readStringProperty(member, 'memberId') ??
113
+ readStringProperty(member, 'id') ??
114
+ readStringProperty(member, 'sub'));
115
+ }
116
+ function readMemberEmail(member, options) {
117
+ return normalizeText(options.readEmail?.(member)) ?? readStringProperty(member, 'email');
118
+ }
119
+ function readMemberName(member, options) {
120
+ return (normalizeText(options.readName?.(member)) ??
121
+ readStringProperty(member, 'name') ??
122
+ readStringProperty(member, 'displayName') ??
123
+ readMemberEmail(member, options));
124
+ }
125
+ function readStringProperty(value, key) {
126
+ if (!isRecord(value)) {
127
+ return null;
128
+ }
129
+ return normalizeText(value[key]);
130
+ }
131
+ function normalizeText(value) {
132
+ return typeof value === 'string' && value.trim() ? value.trim() : null;
133
+ }
134
+ function isRecord(value) {
135
+ return typeof value === 'object' && value !== null;
136
+ }
137
+ //# sourceMappingURL=member-base.adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"member-base.adapter.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/identity/member-base.adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { MemberMetadata } from '@rytass/bpm-core-shared';
2
+ export declare class MemberMetadataCacheEntity {
3
+ id: string;
4
+ memberId: string;
5
+ metadata: MemberMetadata;
6
+ fetchedAt: Date;
7
+ expiresAt: Date;
8
+ }
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MemberMetadataCacheEntity = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const graphql_1 = require("@nestjs/graphql");
6
+ const typeorm_1 = require("typeorm");
7
+ let MemberMetadataCacheEntity = class MemberMetadataCacheEntity {
8
+ };
9
+ exports.MemberMetadataCacheEntity = MemberMetadataCacheEntity;
10
+ tslib_1.__decorate([
11
+ (0, typeorm_1.PrimaryGeneratedColumn)('uuid'),
12
+ (0, graphql_1.Field)(() => graphql_1.ID),
13
+ tslib_1.__metadata("design:type", String)
14
+ ], MemberMetadataCacheEntity.prototype, "id", void 0);
15
+ tslib_1.__decorate([
16
+ (0, typeorm_1.Column)('text', { name: 'member_id' }),
17
+ (0, graphql_1.Field)(),
18
+ tslib_1.__metadata("design:type", String)
19
+ ], MemberMetadataCacheEntity.prototype, "memberId", void 0);
20
+ tslib_1.__decorate([
21
+ (0, typeorm_1.Column)('jsonb'),
22
+ tslib_1.__metadata("design:type", Object)
23
+ ], MemberMetadataCacheEntity.prototype, "metadata", void 0);
24
+ tslib_1.__decorate([
25
+ (0, typeorm_1.Column)('timestamptz', { name: 'fetched_at' }),
26
+ (0, graphql_1.Field)(),
27
+ tslib_1.__metadata("design:type", Date)
28
+ ], MemberMetadataCacheEntity.prototype, "fetchedAt", void 0);
29
+ tslib_1.__decorate([
30
+ (0, typeorm_1.Column)('timestamptz', { name: 'expires_at' }),
31
+ (0, graphql_1.Field)(),
32
+ tslib_1.__metadata("design:type", Date)
33
+ ], MemberMetadataCacheEntity.prototype, "expiresAt", void 0);
34
+ exports.MemberMetadataCacheEntity = MemberMetadataCacheEntity = tslib_1.__decorate([
35
+ (0, typeorm_1.Entity)('member_metadata_cache'),
36
+ (0, typeorm_1.Unique)(['memberId']),
37
+ (0, graphql_1.ObjectType)('MemberMetadataCache')
38
+ ], MemberMetadataCacheEntity);
39
+ //# sourceMappingURL=member-metadata-cache.entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"member-metadata-cache.entity.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/identity/member-metadata-cache.entity.ts"],"names":[],"mappings":";;;;AAAA,6CAAwD;AACxD,qCAAyE;AAMlE,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;CAmBrC,CAAA;AAnBY,8DAAyB;AAGpC;IAFC,IAAA,gCAAsB,EAAC,MAAM,CAAC;IAC9B,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,YAAE,CAAC;;qDACJ;AAIZ;IAFC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IACrC,IAAA,eAAK,GAAE;;2DACU;AAGlB;IADC,IAAA,gBAAM,EAAC,OAAO,CAAC;;2DACU;AAI1B;IAFC,IAAA,gBAAM,EAAC,aAAa,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;IAC7C,IAAA,eAAK,GAAE;sCACI,IAAI;4DAAC;AAIjB;IAFC,IAAA,gBAAM,EAAC,aAAa,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;IAC7C,IAAA,eAAK,GAAE;sCACI,IAAI;4DAAC;oCAlBN,yBAAyB;IAHrC,IAAA,gBAAM,EAAC,uBAAuB,CAAC;IAC/B,IAAA,gBAAM,EAAC,CAAC,UAAU,CAAC,CAAC;IACpB,IAAA,oBAAU,EAAC,qBAAqB,CAAC;GACrB,yBAAyB,CAmBrC"}
@@ -0,0 +1,8 @@
1
+ import { MemberMetadata } from '@rytass/bpm-core-shared';
2
+ export declare class MemberProfileObject {
3
+ memberId: string;
4
+ name: string;
5
+ email: string;
6
+ customFieldsJson: string;
7
+ }
8
+ export declare function toMemberProfileObject(metadata: MemberMetadata): MemberProfileObject;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MemberProfileObject = void 0;
4
+ exports.toMemberProfileObject = toMemberProfileObject;
5
+ const tslib_1 = require("tslib");
6
+ const graphql_1 = require("@nestjs/graphql");
7
+ let MemberProfileObject = class MemberProfileObject {
8
+ };
9
+ exports.MemberProfileObject = MemberProfileObject;
10
+ tslib_1.__decorate([
11
+ (0, graphql_1.Field)(() => graphql_1.ID),
12
+ tslib_1.__metadata("design:type", String)
13
+ ], MemberProfileObject.prototype, "memberId", void 0);
14
+ tslib_1.__decorate([
15
+ (0, graphql_1.Field)(),
16
+ tslib_1.__metadata("design:type", String)
17
+ ], MemberProfileObject.prototype, "name", void 0);
18
+ tslib_1.__decorate([
19
+ (0, graphql_1.Field)(),
20
+ tslib_1.__metadata("design:type", String)
21
+ ], MemberProfileObject.prototype, "email", void 0);
22
+ tslib_1.__decorate([
23
+ (0, graphql_1.Field)(),
24
+ tslib_1.__metadata("design:type", String)
25
+ ], MemberProfileObject.prototype, "customFieldsJson", void 0);
26
+ exports.MemberProfileObject = MemberProfileObject = tslib_1.__decorate([
27
+ (0, graphql_1.ObjectType)('MemberProfile')
28
+ ], MemberProfileObject);
29
+ function toMemberProfileObject(metadata) {
30
+ return {
31
+ customFieldsJson: JSON.stringify(metadata.customFields),
32
+ email: metadata.email,
33
+ memberId: metadata.memberId,
34
+ name: metadata.name,
35
+ };
36
+ }
37
+ //# sourceMappingURL=member-profile.object.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"member-profile.object.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/identity/member-profile.object.ts"],"names":[],"mappings":";;;AAkBA,sDASC;;AA3BD,6CAAwD;AAIjD,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;CAY/B,CAAA;AAZY,kDAAmB;AAE9B;IADC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,YAAE,CAAC;;qDACE;AAGlB;IADC,IAAA,eAAK,GAAE;;iDACM;AAGd;IADC,IAAA,eAAK,GAAE;;kDACO;AAGf;IADC,IAAA,eAAK,GAAE;;6DACkB;8BAXf,mBAAmB;IAD/B,IAAA,oBAAU,EAAC,eAAe,CAAC;GACf,mBAAmB,CAY/B;AAED,SAAgB,qBAAqB,CACnC,QAAwB;IAExB,OAAO;QACL,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC;QACvD,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,IAAI,EAAE,QAAQ,CAAC,IAAI;KACpB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { MemberMetadata } from '@rytass/bpm-core-shared';
2
+ /**
3
+ * Injection token for the host-provided `BPMMemberResolver`.
4
+ *
5
+ * Hosts must register a provider under this token through
6
+ * `BPMRootModuleOptions.memberResolverProvider`. BPM resolvers and
7
+ * services look up display names, emails, and approver candidates via
8
+ * this token without coupling to any specific identity backend.
9
+ */
10
+ export declare const BPM_MEMBER_RESOLVER: unique symbol;
11
+ /**
12
+ * @deprecated Use {@link BPM_MEMBER_RESOLVER}. Kept as a backwards-compatible
13
+ * alias for hosts that adopted the original name. To be removed in a future
14
+ * major release.
15
+ */
16
+ export declare const MEMBER_RESOLVER: symbol;
17
+ /**
18
+ * Contract host applications must implement so BPM can resolve member
19
+ * profiles, approver candidates, and search results.
20
+ *
21
+ * BPM never reads the host's user table directly — it only knows
22
+ * `memberId` strings and asks this resolver for any additional information.
23
+ *
24
+ * - `resolve` is called per missing id; throwing here surfaces as a BPM
25
+ * GraphQL error.
26
+ * - `resolveMany` is the batched form BPM prefers when many ids are needed.
27
+ * Implementations may de-duplicate / cache as they see fit; missing ids
28
+ * should be omitted from the result `Map`.
29
+ * - `search` is optional. When omitted, BPM's `searchMembers` GraphQL
30
+ * query simply returns an empty array.
31
+ */
32
+ export interface BPMMemberResolver {
33
+ resolve(memberId: string): Promise<MemberMetadata>;
34
+ resolveMany(memberIds: readonly string[]): Promise<ReadonlyMap<string, MemberMetadata>>;
35
+ search?(searchText: string): Promise<readonly MemberMetadata[]>;
36
+ }
37
+ /**
38
+ * @deprecated Use {@link BPMMemberResolver}. Kept as a backwards-compatible
39
+ * alias.
40
+ */
41
+ export type MemberResolver = BPMMemberResolver;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MEMBER_RESOLVER = exports.BPM_MEMBER_RESOLVER = void 0;
4
+ /**
5
+ * Injection token for the host-provided `BPMMemberResolver`.
6
+ *
7
+ * Hosts must register a provider under this token through
8
+ * `BPMRootModuleOptions.memberResolverProvider`. BPM resolvers and
9
+ * services look up display names, emails, and approver candidates via
10
+ * this token without coupling to any specific identity backend.
11
+ */
12
+ exports.BPM_MEMBER_RESOLVER = Symbol('BPM_MEMBER_RESOLVER');
13
+ /**
14
+ * @deprecated Use {@link BPM_MEMBER_RESOLVER}. Kept as a backwards-compatible
15
+ * alias for hosts that adopted the original name. To be removed in a future
16
+ * major release.
17
+ */
18
+ exports.MEMBER_RESOLVER = exports.BPM_MEMBER_RESOLVER;
19
+ //# sourceMappingURL=member-resolver.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"member-resolver.interface.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/identity/member-resolver.interface.ts"],"names":[],"mappings":";;;AAEA;;;;;;;GAOG;AACU,QAAA,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAEjE;;;;GAIG;AACU,QAAA,eAAe,GAAG,2BAAmB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { MigrationInterface, QueryRunner } from 'typeorm';
2
+ export declare class EnablePostgresExtensions2026043000000 implements MigrationInterface {
3
+ readonly name = "EnablePostgresExtensions2026043000000";
4
+ up(queryRunner: QueryRunner): Promise<void>;
5
+ down(queryRunner: QueryRunner): Promise<void>;
6
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EnablePostgresExtensions2026043000000 = void 0;
4
+ class EnablePostgresExtensions2026043000000 {
5
+ constructor() {
6
+ this.name = 'EnablePostgresExtensions2026043000000';
7
+ }
8
+ async up(queryRunner) {
9
+ await queryRunner.query('CREATE EXTENSION IF NOT EXISTS "uuid-ossp"');
10
+ await queryRunner.query('CREATE EXTENSION IF NOT EXISTS "ltree"');
11
+ }
12
+ async down(queryRunner) {
13
+ await queryRunner.query('DROP EXTENSION IF EXISTS "ltree"');
14
+ }
15
+ }
16
+ exports.EnablePostgresExtensions2026043000000 = EnablePostgresExtensions2026043000000;
17
+ //# sourceMappingURL=0000000000000-enable-postgres-extensions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"0000000000000-enable-postgres-extensions.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/migrations/0000000000000-enable-postgres-extensions.ts"],"names":[],"mappings":";;;AAEA,MAAa,qCAAqC;IAAlD;QACW,SAAI,GAAG,uCAAuC,CAAC;IAU1D,CAAC;IARC,KAAK,CAAC,EAAE,CAAC,WAAwB;QAC/B,MAAM,WAAW,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;QACtE,MAAM,WAAW,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,WAAwB;QACjC,MAAM,WAAW,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAC9D,CAAC;CACF;AAXD,sFAWC"}
@@ -0,0 +1,6 @@
1
+ import { MigrationInterface, QueryRunner } from 'typeorm';
2
+ export declare class IdentityOrganizationFoundation2026043001000 implements MigrationInterface {
3
+ readonly name = "IdentityOrganizationFoundation2026043001000";
4
+ up(queryRunner: QueryRunner): Promise<void>;
5
+ down(queryRunner: QueryRunner): Promise<void>;
6
+ }
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IdentityOrganizationFoundation2026043001000 = void 0;
4
+ class IdentityOrganizationFoundation2026043001000 {
5
+ constructor() {
6
+ this.name = 'IdentityOrganizationFoundation2026043001000';
7
+ }
8
+ async up(queryRunner) {
9
+ await queryRunner.query(`
10
+ CREATE TABLE IF NOT EXISTS member_metadata_cache (
11
+ id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
12
+ member_id text NOT NULL UNIQUE,
13
+ metadata jsonb NOT NULL,
14
+ fetched_at timestamptz NOT NULL,
15
+ expires_at timestamptz NOT NULL
16
+ )
17
+ `);
18
+ await queryRunner.query(`
19
+ CREATE TABLE IF NOT EXISTS org_units (
20
+ id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
21
+ parent_id uuid NULL REFERENCES org_units(id),
22
+ code text NOT NULL UNIQUE,
23
+ name text NOT NULL,
24
+ type text NOT NULL,
25
+ path ltree NOT NULL,
26
+ metadata jsonb NOT NULL DEFAULT '{}'::jsonb,
27
+ deleted_at timestamptz NULL,
28
+ created_at timestamptz NOT NULL DEFAULT now(),
29
+ updated_at timestamptz NOT NULL DEFAULT now()
30
+ )
31
+ `);
32
+ await queryRunner.query('CREATE INDEX IF NOT EXISTS idx_org_units_parent_id ON org_units(parent_id)');
33
+ await queryRunner.query('CREATE INDEX IF NOT EXISTS idx_org_units_path_gist ON org_units USING gist(path)');
34
+ await queryRunner.query(`
35
+ CREATE INDEX IF NOT EXISTS idx_org_units_not_deleted
36
+ ON org_units(deleted_at)
37
+ WHERE deleted_at IS NULL
38
+ `);
39
+ await queryRunner.query(`
40
+ CREATE TABLE IF NOT EXISTS positions (
41
+ id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
42
+ code text NOT NULL UNIQUE,
43
+ name text NOT NULL,
44
+ level int NOT NULL,
45
+ metadata jsonb NOT NULL DEFAULT '{}'::jsonb,
46
+ created_at timestamptz NOT NULL DEFAULT now(),
47
+ updated_at timestamptz NOT NULL DEFAULT now()
48
+ )
49
+ `);
50
+ await queryRunner.query(`
51
+ CREATE TABLE IF NOT EXISTS memberships (
52
+ id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
53
+ member_id text NOT NULL,
54
+ org_unit_id uuid NOT NULL REFERENCES org_units(id),
55
+ position_id uuid NULL REFERENCES positions(id),
56
+ is_primary boolean NOT NULL DEFAULT false,
57
+ effective_from date NOT NULL,
58
+ effective_to date NULL,
59
+ created_at timestamptz NOT NULL DEFAULT now(),
60
+ updated_at timestamptz NOT NULL DEFAULT now(),
61
+ CONSTRAINT uq_memberships_effective UNIQUE (
62
+ member_id,
63
+ org_unit_id,
64
+ position_id,
65
+ effective_from
66
+ )
67
+ )
68
+ `);
69
+ await queryRunner.query('CREATE INDEX IF NOT EXISTS idx_memberships_member_id ON memberships(member_id)');
70
+ await queryRunner.query('CREATE INDEX IF NOT EXISTS idx_memberships_org_unit_id ON memberships(org_unit_id)');
71
+ await queryRunner.query(`
72
+ CREATE TABLE IF NOT EXISTS manager_resolutions (
73
+ id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
74
+ scope_type text NOT NULL,
75
+ scope_id text NOT NULL,
76
+ manager_member_id text NOT NULL,
77
+ priority int NOT NULL DEFAULT 0,
78
+ effective_from date NOT NULL,
79
+ effective_to date NULL,
80
+ created_at timestamptz NOT NULL DEFAULT now()
81
+ )
82
+ `);
83
+ await queryRunner.query(`
84
+ CREATE INDEX IF NOT EXISTS idx_manager_resolutions_scope
85
+ ON manager_resolutions(scope_type, scope_id)
86
+ `);
87
+ }
88
+ async down(queryRunner) {
89
+ await queryRunner.query('DROP TABLE IF EXISTS manager_resolutions');
90
+ await queryRunner.query('DROP TABLE IF EXISTS memberships');
91
+ await queryRunner.query('DROP TABLE IF EXISTS positions');
92
+ await queryRunner.query('DROP TABLE IF EXISTS org_units');
93
+ await queryRunner.query('DROP TABLE IF EXISTS member_metadata_cache');
94
+ }
95
+ }
96
+ exports.IdentityOrganizationFoundation2026043001000 = IdentityOrganizationFoundation2026043001000;
97
+ //# sourceMappingURL=0000000001000-identity-organization-foundation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"0000000001000-identity-organization-foundation.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/migrations/0000000001000-identity-organization-foundation.ts"],"names":[],"mappings":";;;AAEA,MAAa,2CAA2C;IAAxD;QACW,SAAI,GAAG,6CAA6C,CAAC;IAsGhE,CAAC;IApGC,KAAK,CAAC,EAAE,CAAC,WAAwB;QAC/B,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;KAQvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;;;;;;KAavB,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,KAAK,CACrB,4EAA4E,CAC7E,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,kFAAkF,CACnF,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CAAC;;;;KAIvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;;;KAUvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;KAkBvB,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,KAAK,CACrB,gFAAgF,CACjF,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,oFAAoF,CACrF,CAAC;QAEF,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;;;;KAWvB,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,WAAwB;QACjC,MAAM,WAAW,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;QACpE,MAAM,WAAW,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAC5D,MAAM,WAAW,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAC1D,MAAM,WAAW,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAC1D,MAAM,WAAW,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;IACxE,CAAC;CACF;AAvGD,kGAuGC"}
@@ -0,0 +1,6 @@
1
+ import { MigrationInterface, QueryRunner } from 'typeorm';
2
+ export declare class FormBuilderFoundation2026050202000 implements MigrationInterface {
3
+ readonly name = "FormBuilderFoundation2026050202000";
4
+ up(queryRunner: QueryRunner): Promise<void>;
5
+ down(queryRunner: QueryRunner): Promise<void>;
6
+ }
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FormBuilderFoundation2026050202000 = void 0;
4
+ class FormBuilderFoundation2026050202000 {
5
+ constructor() {
6
+ this.name = 'FormBuilderFoundation2026050202000';
7
+ }
8
+ async up(queryRunner) {
9
+ await queryRunner.query(`
10
+ CREATE TABLE IF NOT EXISTS form_definitions (
11
+ id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
12
+ name text NOT NULL,
13
+ description text NULL,
14
+ current_version_id uuid NULL,
15
+ deleted_at timestamptz NULL,
16
+ created_at timestamptz NOT NULL DEFAULT now(),
17
+ updated_at timestamptz NOT NULL DEFAULT now(),
18
+ created_by_member_id text NULL
19
+ )
20
+ `);
21
+ await queryRunner.query(`
22
+ CREATE TABLE IF NOT EXISTS form_definition_versions (
23
+ id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
24
+ form_definition_id uuid NOT NULL REFERENCES form_definitions(id),
25
+ version int NOT NULL,
26
+ status text NOT NULL,
27
+ schema jsonb NOT NULL,
28
+ ui_schema jsonb NOT NULL,
29
+ published_at timestamptz NULL,
30
+ published_by_member_id text NULL,
31
+ archived_at timestamptz NULL,
32
+ created_at timestamptz NOT NULL DEFAULT now(),
33
+ updated_at timestamptz NOT NULL DEFAULT now(),
34
+ CONSTRAINT uq_form_definition_versions_version UNIQUE (
35
+ form_definition_id,
36
+ version
37
+ )
38
+ )
39
+ `);
40
+ await queryRunner.query(`
41
+ ALTER TABLE form_definitions
42
+ ADD CONSTRAINT fk_form_definitions_current_version
43
+ FOREIGN KEY (current_version_id)
44
+ REFERENCES form_definition_versions(id)
45
+ `);
46
+ await queryRunner.query(`
47
+ CREATE INDEX IF NOT EXISTS idx_form_definition_versions_definition_status
48
+ ON form_definition_versions(form_definition_id, status)
49
+ `);
50
+ await queryRunner.query(`
51
+ CREATE INDEX IF NOT EXISTS idx_form_definitions_not_deleted
52
+ ON form_definitions(deleted_at)
53
+ WHERE deleted_at IS NULL
54
+ `);
55
+ }
56
+ async down(queryRunner) {
57
+ await queryRunner.query(`
58
+ ALTER TABLE form_definitions
59
+ DROP CONSTRAINT IF EXISTS fk_form_definitions_current_version
60
+ `);
61
+ await queryRunner.query('DROP TABLE IF EXISTS form_definition_versions');
62
+ await queryRunner.query('DROP TABLE IF EXISTS form_definitions');
63
+ }
64
+ }
65
+ exports.FormBuilderFoundation2026050202000 = FormBuilderFoundation2026050202000;
66
+ //# sourceMappingURL=0000000002000-form-builder-foundation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"0000000002000-form-builder-foundation.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/migrations/0000000002000-form-builder-foundation.ts"],"names":[],"mappings":";;;AAEA,MAAa,kCAAkC;IAA/C;QACW,SAAI,GAAG,oCAAoC,CAAC;IA+DvD,CAAC;IA7DC,KAAK,CAAC,EAAE,CAAC,WAAwB;QAC/B,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;;;;KAWvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;KAkBvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;KAKvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;KAIvB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,WAAwB;QACjC,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACzE,MAAM,WAAW,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;IACnE,CAAC;CACF;AAhED,gFAgEC"}
@@ -0,0 +1,6 @@
1
+ import { MigrationInterface, QueryRunner } from 'typeorm';
2
+ export declare class ApprovalTemplateFoundation2026050403000 implements MigrationInterface {
3
+ readonly name = "ApprovalTemplateFoundation2026050403000";
4
+ up(queryRunner: QueryRunner): Promise<void>;
5
+ down(queryRunner: QueryRunner): Promise<void>;
6
+ }
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ApprovalTemplateFoundation2026050403000 = void 0;
4
+ class ApprovalTemplateFoundation2026050403000 {
5
+ constructor() {
6
+ this.name = 'ApprovalTemplateFoundation2026050403000';
7
+ }
8
+ async up(queryRunner) {
9
+ await queryRunner.query(`
10
+ CREATE TABLE IF NOT EXISTS approval_templates (
11
+ id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
12
+ name text NOT NULL,
13
+ description text NULL,
14
+ category text NULL,
15
+ current_version_id uuid NULL,
16
+ deleted_at timestamptz NULL,
17
+ created_at timestamptz NOT NULL DEFAULT now(),
18
+ updated_at timestamptz NOT NULL DEFAULT now(),
19
+ created_by_member_id text NULL
20
+ )
21
+ `);
22
+ await queryRunner.query(`
23
+ CREATE TABLE IF NOT EXISTS approval_template_versions (
24
+ id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
25
+ template_id uuid NOT NULL REFERENCES approval_templates(id),
26
+ version int NOT NULL,
27
+ status text NOT NULL,
28
+ workflow_definition jsonb NOT NULL,
29
+ form_definition_version_id uuid NULL REFERENCES form_definition_versions(id),
30
+ initiator_policy_cel text NULL,
31
+ notification_config jsonb NULL,
32
+ sla_defaults jsonb NULL,
33
+ published_at timestamptz NULL,
34
+ published_by_member_id text NULL,
35
+ archived_at timestamptz NULL,
36
+ created_at timestamptz NOT NULL DEFAULT now(),
37
+ updated_at timestamptz NOT NULL DEFAULT now(),
38
+ CONSTRAINT uq_approval_template_versions_version UNIQUE (
39
+ template_id,
40
+ version
41
+ )
42
+ )
43
+ `);
44
+ await queryRunner.query(`
45
+ ALTER TABLE approval_templates
46
+ ADD CONSTRAINT fk_approval_templates_current_version
47
+ FOREIGN KEY (current_version_id)
48
+ REFERENCES approval_template_versions(id)
49
+ `);
50
+ await queryRunner.query(`
51
+ CREATE INDEX IF NOT EXISTS idx_approval_template_versions_template_status
52
+ ON approval_template_versions(template_id, status)
53
+ `);
54
+ await queryRunner.query(`
55
+ CREATE INDEX IF NOT EXISTS idx_approval_templates_not_deleted
56
+ ON approval_templates(deleted_at)
57
+ WHERE deleted_at IS NULL
58
+ `);
59
+ }
60
+ async down(queryRunner) {
61
+ await queryRunner.query(`
62
+ ALTER TABLE approval_templates
63
+ DROP CONSTRAINT IF EXISTS fk_approval_templates_current_version
64
+ `);
65
+ await queryRunner.query('DROP TABLE IF EXISTS approval_template_versions');
66
+ await queryRunner.query('DROP TABLE IF EXISTS approval_templates');
67
+ }
68
+ }
69
+ exports.ApprovalTemplateFoundation2026050403000 = ApprovalTemplateFoundation2026050403000;
70
+ //# sourceMappingURL=0000000003000-approval-template-foundation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"0000000003000-approval-template-foundation.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/migrations/0000000003000-approval-template-foundation.ts"],"names":[],"mappings":";;;AAEA,MAAa,uCAAuC;IAApD;QAGW,SAAI,GAAG,yCAAyC,CAAC;IAmE5D,CAAC;IAjEC,KAAK,CAAC,EAAE,CAAC,WAAwB;QAC/B,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;;;;;KAYvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;KAqBvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;KAKvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;KAIvB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,WAAwB;QACjC,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;QAC3E,MAAM,WAAW,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;IACrE,CAAC;CACF;AAtED,0FAsEC"}
@@ -0,0 +1,6 @@
1
+ import { MigrationInterface, QueryRunner } from 'typeorm';
2
+ export declare class WorkflowEngineFoundation2026050404000 implements MigrationInterface {
3
+ readonly name = "WorkflowEngineFoundation2026050404000";
4
+ up(queryRunner: QueryRunner): Promise<void>;
5
+ down(queryRunner: QueryRunner): Promise<void>;
6
+ }