@rytass/bpm-core-nestjs-module 0.13.2 → 0.13.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/package.json +13 -6
  3. package/src/index.d.ts +1 -0
  4. package/src/index.js +1 -0
  5. package/src/index.js.map +1 -1
  6. package/src/lib/attachment/attachment-storage.provider.d.ts +11 -0
  7. package/src/lib/attachment/attachment-storage.provider.js +15 -1
  8. package/src/lib/attachment/attachment-storage.provider.js.map +1 -1
  9. package/src/lib/attachment/attachment.module.js +16 -1
  10. package/src/lib/attachment/attachment.module.js.map +1 -1
  11. package/src/lib/bpm/bpm-root-options.d.ts +134 -0
  12. package/src/lib/bpm/bpm-root-options.js +61 -0
  13. package/src/lib/bpm/bpm-root-options.js.map +1 -0
  14. package/src/lib/bpm/bpm-root.module.d.ts +101 -137
  15. package/src/lib/bpm/bpm-root.module.js +83 -118
  16. package/src/lib/bpm/bpm-root.module.js.map +1 -1
  17. package/src/lib/bpm/index.d.ts +1 -0
  18. package/src/lib/bpm/index.js +1 -0
  19. package/src/lib/bpm/index.js.map +1 -1
  20. package/src/lib/calendar/business-calendar.provider.d.ts +8 -4
  21. package/src/lib/calendar/business-calendar.provider.js +15 -6
  22. package/src/lib/calendar/business-calendar.provider.js.map +1 -1
  23. package/src/lib/common/outbox.d.ts +26 -0
  24. package/src/lib/common/outbox.js +64 -0
  25. package/src/lib/common/outbox.js.map +1 -0
  26. package/src/lib/delegation/delegation.service.js +7 -7
  27. package/src/lib/delegation/delegation.service.js.map +1 -1
  28. package/src/lib/form-data-source/form-data-source.module.js +2 -4
  29. package/src/lib/form-data-source/form-data-source.module.js.map +1 -1
  30. package/src/lib/form-data-source/form-data-source.provider.d.ts +14 -0
  31. package/src/lib/form-data-source/form-data-source.provider.js +23 -0
  32. package/src/lib/form-data-source/form-data-source.provider.js.map +1 -0
  33. package/src/lib/form-data-source/index.d.ts +1 -0
  34. package/src/lib/form-data-source/index.js +1 -0
  35. package/src/lib/form-data-source/index.js.map +1 -1
  36. package/src/lib/identity/default-member-resolver.d.ts +39 -0
  37. package/src/lib/identity/default-member-resolver.js +81 -0
  38. package/src/lib/identity/default-member-resolver.js.map +1 -0
  39. package/src/lib/identity/identity.module.d.ts +12 -2
  40. package/src/lib/identity/identity.module.js +2 -1
  41. package/src/lib/identity/identity.module.js.map +1 -1
  42. package/src/lib/identity/index.d.ts +1 -0
  43. package/src/lib/identity/index.js +1 -0
  44. package/src/lib/identity/index.js.map +1 -1
  45. package/src/lib/migrations/0000000023000-workflow-webhook-deliveries.d.ts +17 -0
  46. package/src/lib/migrations/0000000023000-workflow-webhook-deliveries.js +61 -0
  47. package/src/lib/migrations/0000000023000-workflow-webhook-deliveries.js.map +1 -0
  48. package/src/lib/migrations/0000000024000-workflow-webhook-endpoints.d.ts +16 -0
  49. package/src/lib/migrations/0000000024000-workflow-webhook-endpoints.js +71 -0
  50. package/src/lib/migrations/0000000024000-workflow-webhook-endpoints.js.map +1 -0
  51. package/src/lib/migrations/index.d.ts +2 -0
  52. package/src/lib/migrations/index.js +6 -0
  53. package/src/lib/migrations/index.js.map +1 -1
  54. package/src/lib/notification/notification-delivery.service.js +4 -57
  55. package/src/lib/notification/notification-delivery.service.js.map +1 -1
  56. package/src/lib/notification/notification.service.js +4 -3
  57. package/src/lib/notification/notification.service.js.map +1 -1
  58. package/src/lib/template/template.service.d.ts +9 -0
  59. package/src/lib/template/template.service.js +31 -0
  60. package/src/lib/template/template.service.js.map +1 -1
  61. package/src/lib/template/workflow-definition.validator.js +54 -1
  62. package/src/lib/template/workflow-definition.validator.js.map +1 -1
  63. package/src/lib/workflow-engine/workflow-engine.enums.d.ts +3 -1
  64. package/src/lib/workflow-engine/workflow-engine.enums.js +2 -0
  65. package/src/lib/workflow-engine/workflow-engine.enums.js.map +1 -1
  66. package/src/lib/workflow-engine/workflow-engine.module.js +3 -0
  67. package/src/lib/workflow-engine/workflow-engine.module.js.map +1 -1
  68. package/src/lib/workflow-engine/workflow-engine.service.d.ts +5 -2
  69. package/src/lib/workflow-engine/workflow-engine.service.js +142 -26
  70. package/src/lib/workflow-engine/workflow-engine.service.js.map +1 -1
  71. package/src/lib/workflow-webhook/index.d.ts +24 -0
  72. package/src/lib/workflow-webhook/index.js +28 -0
  73. package/src/lib/workflow-webhook/index.js.map +1 -0
  74. package/src/lib/workflow-webhook/workflow-webhook-allowlist.d.ts +38 -0
  75. package/src/lib/workflow-webhook/workflow-webhook-allowlist.js +296 -0
  76. package/src/lib/workflow-webhook/workflow-webhook-allowlist.js.map +1 -0
  77. package/src/lib/workflow-webhook/workflow-webhook-database-source.d.ts +33 -0
  78. package/src/lib/workflow-webhook/workflow-webhook-database-source.js +129 -0
  79. package/src/lib/workflow-webhook/workflow-webhook-database-source.js.map +1 -0
  80. package/src/lib/workflow-webhook/workflow-webhook-delivery-scheduler.service.d.ts +25 -0
  81. package/src/lib/workflow-webhook/workflow-webhook-delivery-scheduler.service.js +92 -0
  82. package/src/lib/workflow-webhook/workflow-webhook-delivery-scheduler.service.js.map +1 -0
  83. package/src/lib/workflow-webhook/workflow-webhook-delivery.entity.d.ts +53 -0
  84. package/src/lib/workflow-webhook/workflow-webhook-delivery.entity.js +97 -0
  85. package/src/lib/workflow-webhook/workflow-webhook-delivery.entity.js.map +1 -0
  86. package/src/lib/workflow-webhook/workflow-webhook-delivery.enums.d.ts +28 -0
  87. package/src/lib/workflow-webhook/workflow-webhook-delivery.enums.js +36 -0
  88. package/src/lib/workflow-webhook/workflow-webhook-delivery.enums.js.map +1 -0
  89. package/src/lib/workflow-webhook/workflow-webhook-delivery.object.d.ts +28 -0
  90. package/src/lib/workflow-webhook/workflow-webhook-delivery.object.js +88 -0
  91. package/src/lib/workflow-webhook/workflow-webhook-delivery.object.js.map +1 -0
  92. package/src/lib/workflow-webhook/workflow-webhook-delivery.resolver.d.ts +9 -0
  93. package/src/lib/workflow-webhook/workflow-webhook-delivery.resolver.js +66 -0
  94. package/src/lib/workflow-webhook/workflow-webhook-delivery.resolver.js.map +1 -0
  95. package/src/lib/workflow-webhook/workflow-webhook-delivery.service.d.ts +116 -0
  96. package/src/lib/workflow-webhook/workflow-webhook-delivery.service.js +705 -0
  97. package/src/lib/workflow-webhook/workflow-webhook-delivery.service.js.map +1 -0
  98. package/src/lib/workflow-webhook/workflow-webhook-delivery.subscriber.d.ts +23 -0
  99. package/src/lib/workflow-webhook/workflow-webhook-delivery.subscriber.js +85 -0
  100. package/src/lib/workflow-webhook/workflow-webhook-delivery.subscriber.js.map +1 -0
  101. package/src/lib/workflow-webhook/workflow-webhook-endpoint-admin.dto.d.ts +85 -0
  102. package/src/lib/workflow-webhook/workflow-webhook-endpoint-admin.dto.js +345 -0
  103. package/src/lib/workflow-webhook/workflow-webhook-endpoint-admin.dto.js.map +1 -0
  104. package/src/lib/workflow-webhook/workflow-webhook-endpoint-admin.resolver.d.ts +23 -0
  105. package/src/lib/workflow-webhook/workflow-webhook-endpoint-admin.resolver.js +159 -0
  106. package/src/lib/workflow-webhook/workflow-webhook-endpoint-admin.resolver.js.map +1 -0
  107. package/src/lib/workflow-webhook/workflow-webhook-endpoint-admin.service.d.ts +93 -0
  108. package/src/lib/workflow-webhook/workflow-webhook-endpoint-admin.service.js +464 -0
  109. package/src/lib/workflow-webhook/workflow-webhook-endpoint-admin.service.js.map +1 -0
  110. package/src/lib/workflow-webhook/workflow-webhook-endpoint.entity.d.ts +52 -0
  111. package/src/lib/workflow-webhook/workflow-webhook-endpoint.entity.js +135 -0
  112. package/src/lib/workflow-webhook/workflow-webhook-endpoint.entity.js.map +1 -0
  113. package/src/lib/workflow-webhook/workflow-webhook-enqueue.d.ts +46 -0
  114. package/src/lib/workflow-webhook/workflow-webhook-enqueue.js +134 -0
  115. package/src/lib/workflow-webhook/workflow-webhook-enqueue.js.map +1 -0
  116. package/src/lib/workflow-webhook/workflow-webhook-options.d.ts +86 -0
  117. package/src/lib/workflow-webhook/workflow-webhook-options.js +88 -0
  118. package/src/lib/workflow-webhook/workflow-webhook-options.js.map +1 -0
  119. package/src/lib/workflow-webhook/workflow-webhook-options.module.d.ts +18 -0
  120. package/src/lib/workflow-webhook/workflow-webhook-options.module.js +57 -0
  121. package/src/lib/workflow-webhook/workflow-webhook-options.module.js.map +1 -0
  122. package/src/lib/workflow-webhook/workflow-webhook-secret-cipher.d.ts +20 -0
  123. package/src/lib/workflow-webhook/workflow-webhook-secret-cipher.js +66 -0
  124. package/src/lib/workflow-webhook/workflow-webhook-secret-cipher.js.map +1 -0
  125. package/src/lib/workflow-webhook/workflow-webhook.errors.d.ts +35 -0
  126. package/src/lib/workflow-webhook/workflow-webhook.errors.js +41 -0
  127. package/src/lib/workflow-webhook/workflow-webhook.errors.js.map +1 -0
  128. package/src/lib/workflow-webhook/workflow-webhook.module.d.ts +9 -0
  129. package/src/lib/workflow-webhook/workflow-webhook.module.js +62 -0
  130. package/src/lib/workflow-webhook/workflow-webhook.module.js.map +1 -0
  131. package/src/lib/workflow-webhook/workflow-webhook.provider.d.ts +12 -0
  132. package/src/lib/workflow-webhook/workflow-webhook.provider.js +21 -0
  133. package/src/lib/workflow-webhook/workflow-webhook.provider.js.map +1 -0
  134. package/src/lib/workflow-webhook/workflow-webhook.queries.d.ts +38 -0
  135. package/src/lib/workflow-webhook/workflow-webhook.queries.js +142 -0
  136. package/src/lib/workflow-webhook/workflow-webhook.queries.js.map +1 -0
  137. package/src/lib/workflow-webhook/workflow-webhook.service.d.ts +50 -0
  138. package/src/lib/workflow-webhook/workflow-webhook.service.js +221 -0
  139. package/src/lib/workflow-webhook/workflow-webhook.service.js.map +1 -0
  140. package/src/lib/workflow-webhook/workflow-webhook.types.d.ts +127 -0
  141. package/src/lib/workflow-webhook/workflow-webhook.types.js +33 -0
  142. package/src/lib/workflow-webhook/workflow-webhook.types.js.map +1 -0
  143. package/src/lib/workflow-webhook/workflow-webhook.validator.d.ts +20 -0
  144. package/src/lib/workflow-webhook/workflow-webhook.validator.js +97 -0
  145. package/src/lib/workflow-webhook/workflow-webhook.validator.js.map +1 -0
@@ -1,67 +1,70 @@
1
1
  import { DynamicModule, InjectionToken, Provider } from '@nestjs/common';
2
2
  import { ModuleMetadata } from '@nestjs/common/interfaces';
3
- import { BPMRootAttachmentOptions } from '../attachment/attachment-options';
4
3
  import { AttachmentStorage } from '../attachment/attachment-storage.token';
5
4
  import { BPMResolverMetadataFactory } from '../bpm-auth/bpm-resolver-metadata';
6
- import { BPMAuthModuleOptions } from '../bpm-auth/bpm-auth.options';
7
5
  import { BPMBusinessCalendar } from '../calendar/business-calendar.token';
8
6
  import { BPMFormDataSourceRegistry } from '../form-data-source';
9
- import { BPMRootIdentityOptions } from '../identity/identity-options';
10
7
  import { BPMMemberResolver } from '../identity/member-resolver.interface';
11
- import { BPMRootNotificationOptions } from '../notification/notification-options';
12
- import { BPMRootSignatureOptions } from '../signature/signature-options';
8
+ import { BPMWorkflowWebhookRegistry } from '../workflow-webhook/workflow-webhook.types';
13
9
  import { BPMWorkflowServiceTaskDispatcher } from '../workflow-engine/workflow-service-task-dispatcher.token';
14
- export interface BPMRootModuleOptions extends Pick<ModuleMetadata, 'imports'>, BPMRootAttachmentOptions, BPMRootIdentityOptions, BPMRootNotificationOptions, BPMRootSignatureOptions {
10
+ import { BPMRootRuntimeOptions } from './bpm-root-options';
11
+ /**
12
+ * Wiring-time options common to `forRoot` and `forRootAsync`.
13
+ *
14
+ * Everything here is a Nest `Provider` or a routing/schema decision, i.e. a
15
+ * value Nest must have while it builds the module graph, before any async
16
+ * factory runs. Every one of them is optional, and each has a runtime twin on
17
+ * {@link BPMRootRuntimeOptions} that a `forRootAsync` factory can supply
18
+ * instead — prefer the runtime twin whenever the value needs a secret.
19
+ */
20
+ interface BPMRootModuleWiringOptions extends Pick<ModuleMetadata, 'imports'> {
15
21
  /**
16
- * Host-provided storage adapter for BPM attachments.
22
+ * Host-provided storage adapter for BPM attachments, as a Nest provider.
17
23
  *
18
- * When omitted, BPM stores attachments through the local
19
- * `@rytass/storages-adapter-local` adapter under `.storage/attachments`.
20
- * Hosts can replace this provider with any `@rytass/storages` compatible
21
- * adapter such as MinIO, S3, or GCS.
24
+ * Runtime twin: {@link BPMRootRuntimeOptions.attachmentStorage}. When
25
+ * neither is given, BPM stores attachments through
26
+ * `@rytass/storages-adapter-local` under `.storage/attachments`.
22
27
  */
23
28
  readonly attachmentStorageProvider?: Provider<AttachmentStorage>;
24
- /**
25
- * Factory that resolves the current BPM auth context from NestJS execution
26
- * context.
27
- *
28
- * BPM guards, GraphQL decorators, and domain services use this callback to
29
- * identify the current member and organization context. When omitted, BPM
30
- * operations that require authentication will not receive a host session.
31
- */
32
- readonly authContextFactory?: BPMAuthModuleOptions['contextFactory'];
33
29
  /**
34
30
  * Host-provided business calendar used by workflow nodes whose SLA opts into
35
- * `BUSINESS_DAY`.
31
+ * `BUSINESS_DAY`, as a Nest provider.
36
32
  *
37
- * BPMCore ships no national holiday data. When omitted, BPM falls back to a
38
- * Monday–Friday calendar (see `notificationSlaBusinessCalendarTimeZone`);
39
- * hosts that need national holidays or make-up working days register their
40
- * own `BPM_BUSINESS_CALENDAR` provider here.
33
+ * Runtime twin: {@link BPMRootRuntimeOptions.businessCalendar}, which is the
34
+ * safer of the two — the modules listed in `imports` are also given to BPM's
35
+ * `CalendarModule`, so a provider whose dependency chain reaches **back into
36
+ * BPM** produces a DI cycle that Nest never reports. See
37
+ * `CalendarModuleOptions.businessCalendarProvider` for what that failure
38
+ * looks like.
41
39
  *
42
- * The modules listed in `imports` are also given to BPM's `CalendarModule`
43
- * so this provider can reach host services. A provider whose dependency
44
- * chain reaches **back into BPM** therefore produces a DI cycle that Nest
45
- * never reports — see `CalendarModuleOptions.businessCalendarProvider` for
46
- * what that failure looks like.
40
+ * When neither is given, BPM falls back to a Monday–Friday calendar (see
41
+ * `notificationSlaBusinessCalendarTimeZone`).
47
42
  */
48
43
  readonly businessCalendarProvider?: Provider<BPMBusinessCalendar>;
49
44
  /**
50
- * Host-provided registry containing versioned form option DataSources.
45
+ * Host-provided registry containing versioned form option DataSources, as a
46
+ * Nest provider.
51
47
  *
52
- * The registry is a single provider so a published form reference always
53
- * resolves against one coherent catalog. When omitted, BPM exposes an
54
- * empty catalog and keeps existing hosts bootstrap-compatible.
48
+ * Runtime twin: {@link BPMRootRuntimeOptions.formDataSourceRegistry}. When
49
+ * neither is given, BPM exposes an empty catalog.
55
50
  */
56
51
  readonly formDataSourceRegistryProvider?: Provider<BPMFormDataSourceRegistry>;
57
52
  /**
58
- * Host-provided member resolver provider.
53
+ * Host-registered NOTIFY webhook endpoint catalog, as a Nest provider.
59
54
  *
60
- * BPM uses this provider to resolve member metadata, organization identity,
61
- * display names, and approver candidates without coupling
62
- * `@rytass/bpm-core-nestjs-module` to a specific external identity system.
55
+ * Runtime twin: {@link BPMRootRuntimeOptions.workflowWebhookRegistry}. When
56
+ * both are given this provider wins, as `formDataSourceRegistryProvider`
57
+ * does; when neither is given, the catalog is empty.
63
58
  */
64
- readonly memberResolverProvider: Provider<BPMMemberResolver>;
59
+ readonly workflowWebhookRegistryProvider?: Provider<BPMWorkflowWebhookRegistry>;
60
+ /**
61
+ * Host-provided member resolver, as a Nest provider.
62
+ *
63
+ * Runtime twin: {@link BPMRootRuntimeOptions.memberResolver}. When neither
64
+ * is given, BPM resolves every member to its own id
65
+ * (`DefaultBPMMemberResolver`) so the application still boots.
66
+ */
67
+ readonly memberResolverProvider?: Provider<BPMMemberResolver>;
65
68
  /**
66
69
  * Host-supplied factory that stamps the host's own route metadata onto every
67
70
  * BPM GraphQL handler.
@@ -74,31 +77,42 @@ export interface BPMRootModuleOptions extends Pick<ModuleMetadata, 'imports'>, B
74
77
  *
75
78
  * The factory is called once per handler at module wiring time, receives the
76
79
  * authority BPM itself requires (`admin`, `designer`, `authenticated`) plus
77
- * the resolver and method names, and returns the metadata to write. See
78
- * `BPMResolverMetadataFactory`.
80
+ * the resolver and method names, and returns the metadata to write. It has
81
+ * no runtime twin: Nest writes handler metadata before any factory runs.
79
82
  */
80
83
  readonly resolverMetadataFactory?: BPMResolverMetadataFactory;
81
84
  /**
82
- * Host-provided dispatcher for executable workflow service tasks.
85
+ * Host-provided dispatcher for executable workflow service tasks, as a Nest
86
+ * provider.
83
87
  *
84
- * When omitted, BPM sends WEBHOOK service tasks with the built-in `fetch`
85
- * dispatcher. Wrapper apps can replace this provider to add auth headers,
86
- * request signing, retry queues, or an outbound integration bus.
88
+ * Runtime twin: {@link BPMRootRuntimeOptions.workflowServiceTaskDispatcher}.
89
+ * When neither is given, BPM sends WEBHOOK service tasks with the built-in
90
+ * `fetch` dispatcher.
87
91
  */
88
92
  readonly workflowServiceTaskDispatcherProvider?: Provider<BPMWorkflowServiceTaskDispatcher>;
89
93
  }
90
- export interface BPMRootModuleAsyncFactoryOptions extends BPMRootAttachmentOptions, BPMRootIdentityOptions, BPMRootNotificationOptions, BPMRootSignatureOptions {
91
- /**
92
- * Factory that resolves the current BPM auth context from NestJS execution
93
- * context.
94
- *
95
- * BPM guards, GraphQL decorators, and domain services use this callback to
96
- * identify the current member and organization context. When omitted, BPM
97
- * operations that require authentication will not receive a host session.
98
- */
99
- readonly authContextFactory?: BPMAuthModuleOptions['contextFactory'];
94
+ /**
95
+ * Synchronous configuration for {@link BPMRootModule.forRoot}.
96
+ *
97
+ * Every field is optional: `BPMRootModule.forRoot()` boots a working BPM with
98
+ * local attachment storage, an id-passthrough member resolver, a Monday–Friday
99
+ * calendar, an empty form DataSource catalog, in-app notifications on, and
100
+ * email, webhooks and both schedulers off. Features are opted in from there.
101
+ */
102
+ export interface BPMRootModuleOptions extends BPMRootModuleWiringOptions, BPMRootRuntimeOptions {
100
103
  }
101
- export interface BPMRootModuleAsyncOptions extends Pick<ModuleMetadata, 'imports'> {
104
+ /**
105
+ * Asynchronous configuration for {@link BPMRootModule.forRootAsync}.
106
+ *
107
+ * `useFactory` supplies every runtime setting — secrets included — and is
108
+ * resolved **exactly once** per application, then shared with all BPM modules
109
+ * through {@link BPM_ROOT_OPTIONS}. The wiring-time fields inherited from
110
+ * {@link BPMRootModuleWiringOptions}, plus `attachmentRoutePrefix` and
111
+ * `identityRegisterResolvers` below, are the only ones that cannot come from
112
+ * the factory; each of them either registers a Nest provider or decides a
113
+ * route/schema shape that Nest reads before the factory runs.
114
+ */
115
+ export interface BPMRootModuleAsyncOptions extends BPMRootModuleWiringOptions {
102
116
  /**
103
117
  * Controller mount path used by the BPM attachment endpoints.
104
118
  *
@@ -108,38 +122,13 @@ export interface BPMRootModuleAsyncOptions extends Pick<ModuleMetadata, 'imports
108
122
  * `/attachments`.
109
123
  */
110
124
  readonly attachmentRoutePrefix?: string | null;
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
- * Host-provided business calendar for `BUSINESS_DAY` SLAs.
120
- *
121
- * This provider is static at module wiring time. If secrets or a repository
122
- * are required, use a Nest provider with `useFactory` / `inject` here.
123
- *
124
- * Its dependency chain must not reach back into BPM: the modules listed in
125
- * `imports` are forwarded to BPM's `CalendarModule`, and a cycle there stops
126
- * the application booting with no exception and exit code `0`. See
127
- * `CalendarModuleOptions.businessCalendarProvider`.
128
- */
129
- readonly businessCalendarProvider?: Provider<BPMBusinessCalendar>;
130
- /**
131
- * Host-provided versioned form option DataSource registry. This provider is
132
- * static at module wiring time; secrets and repositories can be injected
133
- * through its Nest `useFactory`, `useClass`, or `useExisting` definition.
134
- */
135
- readonly formDataSourceRegistryProvider?: Provider<BPMFormDataSourceRegistry>;
136
125
  /**
137
126
  * Whether BPM registers its identity GraphQL queries. See
138
127
  * `BPMRootIdentityOptions.identityRegisterResolvers`.
139
128
  *
140
129
  * Set at module wiring time, like `attachmentRoutePrefix`, because Nest
141
- * collects resolver providers while building the schema — before the
142
- * `useFactory` below has run.
130
+ * collects resolver providers while building the schema — before
131
+ * `useFactory` has run. Defaults to registering them.
143
132
  */
144
133
  readonly identityRegisterResolvers?: boolean;
145
134
  /**
@@ -150,37 +139,17 @@ export interface BPMRootModuleAsyncOptions extends Pick<ModuleMetadata, 'imports
150
139
  */
151
140
  readonly inject?: readonly InjectionToken[];
152
141
  /**
153
- * Host-provided member resolver provider.
154
- *
155
- * BPM uses this provider to resolve member metadata, organization identity,
156
- * display names, and approver candidates without coupling
157
- * `@rytass/bpm-core-nestjs-module` to a specific external identity system.
158
- */
159
- readonly memberResolverProvider: Provider<BPMMemberResolver>;
160
- /**
161
- * Host-supplied factory that stamps the host's own route metadata onto every
162
- * BPM GraphQL handler. See
163
- * `BPMRootModuleOptions.resolverMetadataFactory`.
164
- *
165
- * Read at module wiring time rather than from `useFactory`, because Nest
166
- * builds the resolver metadata before any async factory has run.
167
- */
168
- readonly resolverMetadataFactory?: BPMResolverMetadataFactory;
169
- /**
170
- * Host-provided dispatcher for executable workflow service tasks.
171
- *
172
- * This provider is static at module wiring time. If secrets are required,
173
- * use a Nest provider with `useFactory` / `inject` here.
174
- */
175
- readonly workflowServiceTaskDispatcherProvider?: Provider<BPMWorkflowServiceTaskDispatcher>;
176
- /**
177
- * Async factory returning BPM root options.
142
+ * Async factory returning BPM runtime options.
178
143
  *
179
144
  * The returned object intentionally keeps all BPM settings flat at the root
180
145
  * level, for example `authContextFactory`, `notificationEmailSmtpHost`, and
181
- * `notificationSlaSchedulerEnabled`.
146
+ * `notificationSlaSchedulerEnabled`, alongside ready instances such as
147
+ * `memberResolver` and `attachmentStorage`.
148
+ *
149
+ * Optional: a host that wants BPM's defaults and configures nothing can call
150
+ * `BPMRootModule.forRootAsync()` with no arguments at all.
182
151
  */
183
- readonly useFactory: (...args: readonly unknown[]) => BPMRootModuleAsyncFactoryOptions | Promise<BPMRootModuleAsyncFactoryOptions>;
152
+ readonly useFactory?: (...args: readonly unknown[]) => BPMRootRuntimeOptions | Promise<BPMRootRuntimeOptions>;
184
153
  }
185
154
  /**
186
155
  * Aggregate entry point that wires every BPM domain module
@@ -191,44 +160,39 @@ export interface BPMRootModuleAsyncOptions extends Pick<ModuleMetadata, 'imports
191
160
  *
192
161
  * Hosts call `forRoot` or `forRootAsync` once from their root `AppModule`.
193
162
  * BPMCore does **not** own login, GraphQL setup, TypeORM bootstrap, or
194
- * Vault loading — those remain the host's responsibility. See the
195
- * package README sections "Embedding & auth", "Organization data
196
- * ownership", and "Consumer quickstart" for the full contract.
197
- *
198
- * The host must avoid Nest's `app.setGlobalPrefix(...)`; BPM controllers
199
- * mount at relative paths driven by their respective options (notably
200
- * `attachmentRoutePrefix`).
163
+ * a user table; the host supplies those. Every BPM option has a default, so
164
+ * the smallest working wiring is `BPMRootModule.forRoot()`.
201
165
  *
202
- * @example
203
166
  * ```ts
204
- * BPMRootModule.forRoot({
205
- * authContextFactory: readBPMAuthContextFromGqlContext,
206
- * memberResolverProvider: {
207
- * provide: BPM_MEMBER_RESOLVER,
208
- * useClass: HostMemberResolver,
209
- * },
210
- * attachmentPublicBaseUrl: process.env.BPM_PUBLIC_BASE_URL,
211
- * attachmentSignedUrlSecret: process.env.BPM_ATTACHMENT_SIGNING_SECRET,
212
- * });
167
+ * BPMRootModule.forRootAsync({
168
+ * imports: [VaultModule],
169
+ * inject: [VaultService],
170
+ * useFactory: async (vault: VaultService) => ({
171
+ * attachmentSignedUrlSecret: await vault.get('BPM_ATTACHMENT_SIGNING_SECRET'),
172
+ * authContextFactory: buildAuthContext,
173
+ * memberResolver: new HostMemberResolver(await vault.get('DIRECTORY_URL')),
174
+ * }),
175
+ * })
213
176
  * ```
214
177
  */
215
178
  export declare class BPMRootModule {
216
179
  /**
217
- * Static configuration. Use this when all BPM options are known at module
180
+ * Synchronous configuration. Use this when every BPM option is known at
218
181
  * wiring time (no async secret loading needed).
219
182
  */
220
- static forRoot(options: BPMRootModuleOptions): DynamicModule;
183
+ static forRoot(options?: BPMRootModuleOptions): DynamicModule;
221
184
  /**
222
185
  * Async configuration. Use this when BPM options must be resolved at
223
- * runtime — typically when SMTP, webhook, or signature secrets are
186
+ * runtime — typically when SMTP, webhook, signature, or identity secrets are
224
187
  * loaded from Vault / KMS / a host `ConfigService`.
225
188
  *
226
- * Routing-time decisions such as `attachmentRoutePrefix`,
227
- * `memberResolverProvider`, `attachmentStorageProvider`, and
228
- * `workflowServiceTaskDispatcherProvider` are read from the top-level
229
- * options object (not from the `useFactory` return value), because
230
- * Nest reads controller path metadata and provider tokens synchronously
231
- * during application bootstrap.
189
+ * Routing- and schema-time decisions such as `attachmentRoutePrefix`,
190
+ * `identityRegisterResolvers`, `resolverMetadataFactory` and the `*Provider`
191
+ * fields are read from the top-level options object (not from the
192
+ * `useFactory` return value), because Nest reads controller path metadata,
193
+ * resolver metadata and provider tokens synchronously during application
194
+ * bootstrap. Everything else belongs in `useFactory`.
232
195
  */
233
- static forRootAsync(options: BPMRootModuleAsyncOptions): DynamicModule;
196
+ static forRootAsync(options?: BPMRootModuleAsyncOptions): DynamicModule;
234
197
  }
198
+ export {};
@@ -14,10 +14,13 @@ const form_data_source_1 = require("../form-data-source");
14
14
  const identity_module_1 = require("../identity/identity.module");
15
15
  const notification_module_1 = require("../notification/notification.module");
16
16
  const notification_options_module_1 = require("../notification/notification-options.module");
17
+ const workflow_webhook_options_module_1 = require("../workflow-webhook/workflow-webhook-options.module");
18
+ const workflow_webhook_module_1 = require("../workflow-webhook/workflow-webhook.module");
17
19
  const organization_module_1 = require("../organization/organization.module");
18
20
  const signature_module_1 = require("../signature/signature.module");
19
21
  const template_module_1 = require("../template/template.module");
20
22
  const workflow_engine_module_1 = require("../workflow-engine/workflow-engine.module");
23
+ const bpm_root_options_1 = require("./bpm-root-options");
21
24
  /**
22
25
  * Aggregate entry point that wires every BPM domain module
23
26
  * (`BPMAuthModule`, `IdentityModule`, `OrganizationModule`, `FormModule`,
@@ -27,37 +30,34 @@ const workflow_engine_module_1 = require("../workflow-engine/workflow-engine.mod
27
30
  *
28
31
  * Hosts call `forRoot` or `forRootAsync` once from their root `AppModule`.
29
32
  * BPMCore does **not** own login, GraphQL setup, TypeORM bootstrap, or
30
- * Vault loading — those remain the host's responsibility. See the
31
- * package README sections "Embedding & auth", "Organization data
32
- * ownership", and "Consumer quickstart" for the full contract.
33
+ * a user table; the host supplies those. Every BPM option has a default, so
34
+ * the smallest working wiring is `BPMRootModule.forRoot()`.
33
35
  *
34
- * The host must avoid Nest's `app.setGlobalPrefix(...)`; BPM controllers
35
- * mount at relative paths driven by their respective options (notably
36
- * `attachmentRoutePrefix`).
37
- *
38
- * @example
39
36
  * ```ts
40
- * BPMRootModule.forRoot({
41
- * authContextFactory: readBPMAuthContextFromGqlContext,
42
- * memberResolverProvider: {
43
- * provide: BPM_MEMBER_RESOLVER,
44
- * useClass: HostMemberResolver,
45
- * },
46
- * attachmentPublicBaseUrl: process.env.BPM_PUBLIC_BASE_URL,
47
- * attachmentSignedUrlSecret: process.env.BPM_ATTACHMENT_SIGNING_SECRET,
48
- * });
37
+ * BPMRootModule.forRootAsync({
38
+ * imports: [VaultModule],
39
+ * inject: [VaultService],
40
+ * useFactory: async (vault: VaultService) => ({
41
+ * attachmentSignedUrlSecret: await vault.get('BPM_ATTACHMENT_SIGNING_SECRET'),
42
+ * authContextFactory: buildAuthContext,
43
+ * memberResolver: new HostMemberResolver(await vault.get('DIRECTORY_URL')),
44
+ * }),
45
+ * })
49
46
  * ```
50
47
  */
51
48
  let BPMRootModule = BPMRootModule_1 = class BPMRootModule {
52
49
  /**
53
- * Static configuration. Use this when all BPM options are known at module
50
+ * Synchronous configuration. Use this when every BPM option is known at
54
51
  * wiring time (no async secret loading needed).
55
52
  */
56
- static forRoot(options) {
53
+ static forRoot(options = {}) {
57
54
  if (options.resolverMetadataFactory) {
58
55
  (0, bpm_resolver_metadata_1.applyBPMResolverMetadata)(options.resolverMetadataFactory);
59
56
  }
60
- const featureModules = createBPMFeatureModules(options);
57
+ const featureModules = createBPMFeatureModules({
58
+ ...options,
59
+ optionsModule: bpm_root_options_1.BPMRootOptionsModule.forRoot(options),
60
+ });
61
61
  return {
62
62
  exports: [...featureModules],
63
63
  imports: [...(options.imports ?? []), ...featureModules],
@@ -66,88 +66,31 @@ let BPMRootModule = BPMRootModule_1 = class BPMRootModule {
66
66
  }
67
67
  /**
68
68
  * Async configuration. Use this when BPM options must be resolved at
69
- * runtime — typically when SMTP, webhook, or signature secrets are
69
+ * runtime — typically when SMTP, webhook, signature, or identity secrets are
70
70
  * loaded from Vault / KMS / a host `ConfigService`.
71
71
  *
72
- * Routing-time decisions such as `attachmentRoutePrefix`,
73
- * `memberResolverProvider`, `attachmentStorageProvider`, and
74
- * `workflowServiceTaskDispatcherProvider` are read from the top-level
75
- * options object (not from the `useFactory` return value), because
76
- * Nest reads controller path metadata and provider tokens synchronously
77
- * during application bootstrap.
72
+ * Routing- and schema-time decisions such as `attachmentRoutePrefix`,
73
+ * `identityRegisterResolvers`, `resolverMetadataFactory` and the `*Provider`
74
+ * fields are read from the top-level options object (not from the
75
+ * `useFactory` return value), because Nest reads controller path metadata,
76
+ * resolver metadata and provider tokens synchronously during application
77
+ * bootstrap. Everything else belongs in `useFactory`.
78
78
  */
79
- static forRootAsync(options) {
79
+ static forRootAsync(options = {}) {
80
80
  if (options.resolverMetadataFactory) {
81
81
  (0, bpm_resolver_metadata_1.applyBPMResolverMetadata)(options.resolverMetadataFactory);
82
82
  }
83
- const authOptions = {
84
- imports: options.imports,
85
- inject: options.inject,
86
- useFactory: async (...args) => {
87
- const rootOptions = await options.useFactory(...args);
88
- return createBPMAuthModuleOptions(rootOptions);
89
- },
90
- };
83
+ const featureModules = createBPMFeatureModules({
84
+ ...options,
85
+ optionsModule: bpm_root_options_1.BPMRootOptionsModule.forRootAsync({
86
+ imports: options.imports,
87
+ inject: options.inject,
88
+ useFactory: options.useFactory,
89
+ }),
90
+ });
91
91
  return {
92
- exports: [
93
- notification_options_module_1.NotificationOptionsModule,
94
- calendar_module_1.CalendarModule,
95
- bpm_auth_module_1.BPMAuthModule,
96
- identity_module_1.IdentityModule,
97
- organization_module_1.OrganizationModule,
98
- attachment_module_1.AttachmentModule,
99
- form_module_1.FormModule,
100
- form_data_source_1.FormDataSourceModule,
101
- template_module_1.TemplateModule,
102
- delegation_module_1.DelegationModule,
103
- notification_module_1.NotificationModule,
104
- signature_module_1.SignatureModule,
105
- workflow_engine_module_1.WorkflowEngineModule,
106
- ],
107
- imports: [
108
- notification_options_module_1.NotificationOptionsModule.forRootAsync({
109
- imports: options.imports,
110
- inject: options.inject,
111
- useFactory: options.useFactory,
112
- }),
113
- calendar_module_1.CalendarModule.forRoot({
114
- businessCalendarProvider: options.businessCalendarProvider,
115
- imports: options.imports,
116
- }),
117
- bpm_auth_module_1.BPMAuthModule.forRootAsync(authOptions),
118
- identity_module_1.IdentityModule.forRootAsync({
119
- identityRegisterResolvers: options.identityRegisterResolvers,
120
- imports: options.imports,
121
- inject: options.inject,
122
- memberResolverProvider: options.memberResolverProvider,
123
- useFactory: options.useFactory,
124
- }),
125
- organization_module_1.OrganizationModule,
126
- attachment_module_1.AttachmentModule.forRootAsync({
127
- attachmentRoutePrefix: options.attachmentRoutePrefix,
128
- imports: options.imports,
129
- inject: options.inject,
130
- storageProvider: options.attachmentStorageProvider,
131
- useFactory: options.useFactory,
132
- }),
133
- form_module_1.FormModule,
134
- form_data_source_1.FormDataSourceModule.forRoot({
135
- imports: options.imports,
136
- registryProvider: options.formDataSourceRegistryProvider,
137
- }),
138
- template_module_1.TemplateModule,
139
- delegation_module_1.DelegationModule,
140
- notification_module_1.NotificationModule,
141
- signature_module_1.SignatureModule.forRootAsync({
142
- imports: options.imports,
143
- inject: options.inject,
144
- useFactory: options.useFactory,
145
- }),
146
- workflow_engine_module_1.WorkflowEngineModule.forRoot({
147
- imports: options.imports,
148
- serviceTaskDispatcherProvider: options.workflowServiceTaskDispatcherProvider,
149
- }),
150
- ],
92
+ exports: [...featureModules],
93
+ imports: [...(options.imports ?? []), ...featureModules],
151
94
  module: BPMRootModule_1,
152
95
  };
153
96
  }
@@ -156,43 +99,65 @@ exports.BPMRootModule = BPMRootModule;
156
99
  exports.BPMRootModule = BPMRootModule = BPMRootModule_1 = tslib_1.__decorate([
157
100
  (0, common_1.Module)({})
158
101
  ], BPMRootModule);
159
- function createBPMFeatureModules(options) {
102
+ /**
103
+ * Builds the BPM feature module graph.
104
+ *
105
+ * `forRoot` and `forRootAsync` share this single path: both publish
106
+ * {@link BPM_ROOT_OPTIONS} first (eagerly or from the host factory) and every
107
+ * option-consuming sub-module then injects that one token. Before this, each
108
+ * sub-module took the host's `useFactory` and called it itself — five times
109
+ * per boot — so a factory that *constructed* something handed a different
110
+ * instance to each consumer.
111
+ */
112
+ function createBPMFeatureModules(wiring) {
113
+ const inject = [bpm_root_options_1.BPM_ROOT_OPTIONS];
114
+ const useFactory = (options) => options;
160
115
  return [
161
- notification_options_module_1.NotificationOptionsModule.forRoot(options),
116
+ wiring.optionsModule,
117
+ notification_options_module_1.NotificationOptionsModule.forRootAsync({ inject, useFactory }),
118
+ workflow_webhook_options_module_1.WorkflowWebhookOptionsModule.forRootAsync({ inject, useFactory }),
162
119
  calendar_module_1.CalendarModule.forRoot({
163
- businessCalendarProvider: options.businessCalendarProvider,
164
- imports: options.imports,
120
+ businessCalendarProvider: wiring.businessCalendarProvider,
121
+ imports: wiring.imports,
165
122
  }),
166
- bpm_auth_module_1.BPMAuthModule.forRoot(createBPMAuthModuleOptions(options)),
167
- identity_module_1.IdentityModule.forRoot({
168
- ...options,
169
- imports: options.imports,
170
- memberResolverProvider: options.memberResolverProvider,
123
+ bpm_auth_module_1.BPMAuthModule.forRootAsync({
124
+ inject,
125
+ useFactory: (options) => ({
126
+ contextFactory: options.authContextFactory,
127
+ }),
128
+ }),
129
+ identity_module_1.IdentityModule.forRootAsync({
130
+ identityRegisterResolvers: wiring.identityRegisterResolvers,
131
+ imports: wiring.imports,
132
+ inject,
133
+ memberResolverProvider: wiring.memberResolverProvider,
134
+ useFactory,
171
135
  }),
172
136
  organization_module_1.OrganizationModule,
173
- attachment_module_1.AttachmentModule.forRoot({
174
- ...options,
175
- imports: options.imports,
176
- storageProvider: options.attachmentStorageProvider,
137
+ attachment_module_1.AttachmentModule.forRootAsync({
138
+ attachmentRoutePrefix: wiring.attachmentRoutePrefix,
139
+ imports: wiring.imports,
140
+ inject,
141
+ storageProvider: wiring.attachmentStorageProvider,
142
+ useFactory,
177
143
  }),
178
144
  form_module_1.FormModule,
179
145
  form_data_source_1.FormDataSourceModule.forRoot({
180
- imports: options.imports,
181
- registryProvider: options.formDataSourceRegistryProvider,
146
+ imports: wiring.imports,
147
+ registryProvider: wiring.formDataSourceRegistryProvider,
182
148
  }),
183
149
  template_module_1.TemplateModule,
184
150
  delegation_module_1.DelegationModule,
185
151
  notification_module_1.NotificationModule,
186
- signature_module_1.SignatureModule.forRoot(options),
152
+ signature_module_1.SignatureModule.forRootAsync({ inject, useFactory }),
187
153
  workflow_engine_module_1.WorkflowEngineModule.forRoot({
188
- imports: options.imports,
189
- serviceTaskDispatcherProvider: options.workflowServiceTaskDispatcherProvider,
154
+ imports: wiring.imports,
155
+ serviceTaskDispatcherProvider: wiring.workflowServiceTaskDispatcherProvider,
156
+ }),
157
+ workflow_webhook_module_1.WorkflowWebhookModule.forRoot({
158
+ imports: wiring.imports,
159
+ registryProvider: wiring.workflowWebhookRegistryProvider,
190
160
  }),
191
161
  ];
192
162
  }
193
- function createBPMAuthModuleOptions(options) {
194
- return {
195
- contextFactory: options.authContextFactory,
196
- };
197
- }
198
163
  //# sourceMappingURL=bpm-root.module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bpm-root.module.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/bpm/bpm-root.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bpm-root.module.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/bpm/bpm-root.module.ts"],"names":[],"mappings":"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"}
@@ -1 +1,2 @@
1
+ export * from './bpm-root-options';
1
2
  export * from './bpm-root.module';
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./bpm-root-options"), exports);
4
5
  tslib_1.__exportStar(require("./bpm-root.module"), exports);
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/bpm/index.ts"],"names":[],"mappings":";;;AAAA,4DAAkC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/bpm/index.ts"],"names":[],"mappings":";;;AAAA,6DAAmC;AACnC,4DAAkC"}