@rytass/bpm-core-nestjs-module 0.13.3 → 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 (143) hide show
  1. package/CHANGELOG.md +42 -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/bpm/bpm-root-options.d.ts +134 -0
  10. package/src/lib/bpm/bpm-root-options.js +61 -0
  11. package/src/lib/bpm/bpm-root-options.js.map +1 -0
  12. package/src/lib/bpm/bpm-root.module.d.ts +101 -137
  13. package/src/lib/bpm/bpm-root.module.js +83 -118
  14. package/src/lib/bpm/bpm-root.module.js.map +1 -1
  15. package/src/lib/bpm/index.d.ts +1 -0
  16. package/src/lib/bpm/index.js +1 -0
  17. package/src/lib/bpm/index.js.map +1 -1
  18. package/src/lib/calendar/business-calendar.provider.d.ts +8 -4
  19. package/src/lib/calendar/business-calendar.provider.js +15 -6
  20. package/src/lib/calendar/business-calendar.provider.js.map +1 -1
  21. package/src/lib/common/outbox.d.ts +26 -0
  22. package/src/lib/common/outbox.js +64 -0
  23. package/src/lib/common/outbox.js.map +1 -0
  24. package/src/lib/delegation/delegation.service.js +7 -7
  25. package/src/lib/delegation/delegation.service.js.map +1 -1
  26. package/src/lib/form-data-source/form-data-source.module.js +2 -4
  27. package/src/lib/form-data-source/form-data-source.module.js.map +1 -1
  28. package/src/lib/form-data-source/form-data-source.provider.d.ts +14 -0
  29. package/src/lib/form-data-source/form-data-source.provider.js +23 -0
  30. package/src/lib/form-data-source/form-data-source.provider.js.map +1 -0
  31. package/src/lib/form-data-source/index.d.ts +1 -0
  32. package/src/lib/form-data-source/index.js +1 -0
  33. package/src/lib/form-data-source/index.js.map +1 -1
  34. package/src/lib/identity/default-member-resolver.d.ts +39 -0
  35. package/src/lib/identity/default-member-resolver.js +81 -0
  36. package/src/lib/identity/default-member-resolver.js.map +1 -0
  37. package/src/lib/identity/identity.module.d.ts +12 -2
  38. package/src/lib/identity/identity.module.js +2 -1
  39. package/src/lib/identity/identity.module.js.map +1 -1
  40. package/src/lib/identity/index.d.ts +1 -0
  41. package/src/lib/identity/index.js +1 -0
  42. package/src/lib/identity/index.js.map +1 -1
  43. package/src/lib/migrations/0000000023000-workflow-webhook-deliveries.d.ts +17 -0
  44. package/src/lib/migrations/0000000023000-workflow-webhook-deliveries.js +61 -0
  45. package/src/lib/migrations/0000000023000-workflow-webhook-deliveries.js.map +1 -0
  46. package/src/lib/migrations/0000000024000-workflow-webhook-endpoints.d.ts +16 -0
  47. package/src/lib/migrations/0000000024000-workflow-webhook-endpoints.js +71 -0
  48. package/src/lib/migrations/0000000024000-workflow-webhook-endpoints.js.map +1 -0
  49. package/src/lib/migrations/index.d.ts +2 -0
  50. package/src/lib/migrations/index.js +6 -0
  51. package/src/lib/migrations/index.js.map +1 -1
  52. package/src/lib/notification/notification-delivery.service.js +4 -57
  53. package/src/lib/notification/notification-delivery.service.js.map +1 -1
  54. package/src/lib/notification/notification.service.js +4 -3
  55. package/src/lib/notification/notification.service.js.map +1 -1
  56. package/src/lib/template/template.service.d.ts +9 -0
  57. package/src/lib/template/template.service.js +31 -0
  58. package/src/lib/template/template.service.js.map +1 -1
  59. package/src/lib/template/workflow-definition.validator.js +54 -1
  60. package/src/lib/template/workflow-definition.validator.js.map +1 -1
  61. package/src/lib/workflow-engine/workflow-engine.enums.d.ts +3 -1
  62. package/src/lib/workflow-engine/workflow-engine.enums.js +2 -0
  63. package/src/lib/workflow-engine/workflow-engine.enums.js.map +1 -1
  64. package/src/lib/workflow-engine/workflow-engine.module.js +3 -0
  65. package/src/lib/workflow-engine/workflow-engine.module.js.map +1 -1
  66. package/src/lib/workflow-engine/workflow-engine.service.d.ts +5 -2
  67. package/src/lib/workflow-engine/workflow-engine.service.js +142 -26
  68. package/src/lib/workflow-engine/workflow-engine.service.js.map +1 -1
  69. package/src/lib/workflow-webhook/index.d.ts +24 -0
  70. package/src/lib/workflow-webhook/index.js +28 -0
  71. package/src/lib/workflow-webhook/index.js.map +1 -0
  72. package/src/lib/workflow-webhook/workflow-webhook-allowlist.d.ts +38 -0
  73. package/src/lib/workflow-webhook/workflow-webhook-allowlist.js +296 -0
  74. package/src/lib/workflow-webhook/workflow-webhook-allowlist.js.map +1 -0
  75. package/src/lib/workflow-webhook/workflow-webhook-database-source.d.ts +33 -0
  76. package/src/lib/workflow-webhook/workflow-webhook-database-source.js +129 -0
  77. package/src/lib/workflow-webhook/workflow-webhook-database-source.js.map +1 -0
  78. package/src/lib/workflow-webhook/workflow-webhook-delivery-scheduler.service.d.ts +25 -0
  79. package/src/lib/workflow-webhook/workflow-webhook-delivery-scheduler.service.js +92 -0
  80. package/src/lib/workflow-webhook/workflow-webhook-delivery-scheduler.service.js.map +1 -0
  81. package/src/lib/workflow-webhook/workflow-webhook-delivery.entity.d.ts +53 -0
  82. package/src/lib/workflow-webhook/workflow-webhook-delivery.entity.js +97 -0
  83. package/src/lib/workflow-webhook/workflow-webhook-delivery.entity.js.map +1 -0
  84. package/src/lib/workflow-webhook/workflow-webhook-delivery.enums.d.ts +28 -0
  85. package/src/lib/workflow-webhook/workflow-webhook-delivery.enums.js +36 -0
  86. package/src/lib/workflow-webhook/workflow-webhook-delivery.enums.js.map +1 -0
  87. package/src/lib/workflow-webhook/workflow-webhook-delivery.object.d.ts +28 -0
  88. package/src/lib/workflow-webhook/workflow-webhook-delivery.object.js +88 -0
  89. package/src/lib/workflow-webhook/workflow-webhook-delivery.object.js.map +1 -0
  90. package/src/lib/workflow-webhook/workflow-webhook-delivery.resolver.d.ts +9 -0
  91. package/src/lib/workflow-webhook/workflow-webhook-delivery.resolver.js +66 -0
  92. package/src/lib/workflow-webhook/workflow-webhook-delivery.resolver.js.map +1 -0
  93. package/src/lib/workflow-webhook/workflow-webhook-delivery.service.d.ts +116 -0
  94. package/src/lib/workflow-webhook/workflow-webhook-delivery.service.js +705 -0
  95. package/src/lib/workflow-webhook/workflow-webhook-delivery.service.js.map +1 -0
  96. package/src/lib/workflow-webhook/workflow-webhook-delivery.subscriber.d.ts +23 -0
  97. package/src/lib/workflow-webhook/workflow-webhook-delivery.subscriber.js +85 -0
  98. package/src/lib/workflow-webhook/workflow-webhook-delivery.subscriber.js.map +1 -0
  99. package/src/lib/workflow-webhook/workflow-webhook-endpoint-admin.dto.d.ts +85 -0
  100. package/src/lib/workflow-webhook/workflow-webhook-endpoint-admin.dto.js +345 -0
  101. package/src/lib/workflow-webhook/workflow-webhook-endpoint-admin.dto.js.map +1 -0
  102. package/src/lib/workflow-webhook/workflow-webhook-endpoint-admin.resolver.d.ts +23 -0
  103. package/src/lib/workflow-webhook/workflow-webhook-endpoint-admin.resolver.js +159 -0
  104. package/src/lib/workflow-webhook/workflow-webhook-endpoint-admin.resolver.js.map +1 -0
  105. package/src/lib/workflow-webhook/workflow-webhook-endpoint-admin.service.d.ts +93 -0
  106. package/src/lib/workflow-webhook/workflow-webhook-endpoint-admin.service.js +464 -0
  107. package/src/lib/workflow-webhook/workflow-webhook-endpoint-admin.service.js.map +1 -0
  108. package/src/lib/workflow-webhook/workflow-webhook-endpoint.entity.d.ts +52 -0
  109. package/src/lib/workflow-webhook/workflow-webhook-endpoint.entity.js +135 -0
  110. package/src/lib/workflow-webhook/workflow-webhook-endpoint.entity.js.map +1 -0
  111. package/src/lib/workflow-webhook/workflow-webhook-enqueue.d.ts +46 -0
  112. package/src/lib/workflow-webhook/workflow-webhook-enqueue.js +134 -0
  113. package/src/lib/workflow-webhook/workflow-webhook-enqueue.js.map +1 -0
  114. package/src/lib/workflow-webhook/workflow-webhook-options.d.ts +86 -0
  115. package/src/lib/workflow-webhook/workflow-webhook-options.js +88 -0
  116. package/src/lib/workflow-webhook/workflow-webhook-options.js.map +1 -0
  117. package/src/lib/workflow-webhook/workflow-webhook-options.module.d.ts +18 -0
  118. package/src/lib/workflow-webhook/workflow-webhook-options.module.js +57 -0
  119. package/src/lib/workflow-webhook/workflow-webhook-options.module.js.map +1 -0
  120. package/src/lib/workflow-webhook/workflow-webhook-secret-cipher.d.ts +20 -0
  121. package/src/lib/workflow-webhook/workflow-webhook-secret-cipher.js +66 -0
  122. package/src/lib/workflow-webhook/workflow-webhook-secret-cipher.js.map +1 -0
  123. package/src/lib/workflow-webhook/workflow-webhook.errors.d.ts +35 -0
  124. package/src/lib/workflow-webhook/workflow-webhook.errors.js +41 -0
  125. package/src/lib/workflow-webhook/workflow-webhook.errors.js.map +1 -0
  126. package/src/lib/workflow-webhook/workflow-webhook.module.d.ts +9 -0
  127. package/src/lib/workflow-webhook/workflow-webhook.module.js +62 -0
  128. package/src/lib/workflow-webhook/workflow-webhook.module.js.map +1 -0
  129. package/src/lib/workflow-webhook/workflow-webhook.provider.d.ts +12 -0
  130. package/src/lib/workflow-webhook/workflow-webhook.provider.js +21 -0
  131. package/src/lib/workflow-webhook/workflow-webhook.provider.js.map +1 -0
  132. package/src/lib/workflow-webhook/workflow-webhook.queries.d.ts +38 -0
  133. package/src/lib/workflow-webhook/workflow-webhook.queries.js +142 -0
  134. package/src/lib/workflow-webhook/workflow-webhook.queries.js.map +1 -0
  135. package/src/lib/workflow-webhook/workflow-webhook.service.d.ts +50 -0
  136. package/src/lib/workflow-webhook/workflow-webhook.service.js +221 -0
  137. package/src/lib/workflow-webhook/workflow-webhook.service.js.map +1 -0
  138. package/src/lib/workflow-webhook/workflow-webhook.types.d.ts +127 -0
  139. package/src/lib/workflow-webhook/workflow-webhook.types.js +33 -0
  140. package/src/lib/workflow-webhook/workflow-webhook.types.js.map +1 -0
  141. package/src/lib/workflow-webhook/workflow-webhook.validator.d.ts +20 -0
  142. package/src/lib/workflow-webhook/workflow-webhook.validator.js +97 -0
  143. package/src/lib/workflow-webhook/workflow-webhook.validator.js.map +1 -0
@@ -3,9 +3,13 @@ import { BPMBusinessCalendar } from './business-calendar.token';
3
3
  /**
4
4
  * Default {@link BPMBusinessCalendar} used when the host registers none.
5
5
  *
6
- * Treats Monday–Friday as working days in the time zone configured through
7
- * `notificationSlaBusinessCalendarTimeZone`, and knows about no holidays. Hosts
8
- * that need national holidays or make-up working days replace this provider via
9
- * `BPMRootModule`'s `businessCalendarProvider`.
6
+ * Prefers a calendar handed to `BPMRootModule` as a runtime value
7
+ * (`businessCalendar`, which a `forRootAsync` factory can build once its
8
+ * secrets are in hand) and otherwise treats Monday–Friday as working days in
9
+ * the time zone configured through `notificationSlaBusinessCalendarTimeZone`,
10
+ * knowing about no holidays.
11
+ *
12
+ * `BPM_ROOT_OPTIONS` is injected optionally so `CalendarModule` still resolves
13
+ * when it is used on its own, outside `BPMRootModule`.
10
14
  */
11
15
  export declare const defaultBusinessCalendarProvider: Provider<BPMBusinessCalendar>;
@@ -1,20 +1,29 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.defaultBusinessCalendarProvider = void 0;
4
+ const bpm_root_options_1 = require("../bpm/bpm-root-options");
4
5
  const notification_options_1 = require("../notification/notification-options");
5
6
  const business_calendar_token_1 = require("./business-calendar.token");
6
7
  const weekday_business_calendar_1 = require("./weekday-business-calendar");
7
8
  /**
8
9
  * Default {@link BPMBusinessCalendar} used when the host registers none.
9
10
  *
10
- * Treats Monday–Friday as working days in the time zone configured through
11
- * `notificationSlaBusinessCalendarTimeZone`, and knows about no holidays. Hosts
12
- * that need national holidays or make-up working days replace this provider via
13
- * `BPMRootModule`'s `businessCalendarProvider`.
11
+ * Prefers a calendar handed to `BPMRootModule` as a runtime value
12
+ * (`businessCalendar`, which a `forRootAsync` factory can build once its
13
+ * secrets are in hand) and otherwise treats Monday–Friday as working days in
14
+ * the time zone configured through `notificationSlaBusinessCalendarTimeZone`,
15
+ * knowing about no holidays.
16
+ *
17
+ * `BPM_ROOT_OPTIONS` is injected optionally so `CalendarModule` still resolves
18
+ * when it is used on its own, outside `BPMRootModule`.
14
19
  */
15
20
  exports.defaultBusinessCalendarProvider = {
16
- inject: [notification_options_1.BPM_NOTIFICATION_OPTIONS],
21
+ inject: [
22
+ { optional: true, token: bpm_root_options_1.BPM_ROOT_OPTIONS },
23
+ notification_options_1.BPM_NOTIFICATION_OPTIONS,
24
+ ],
17
25
  provide: business_calendar_token_1.BPM_BUSINESS_CALENDAR,
18
- useFactory: (options) => new weekday_business_calendar_1.BPMWeekdayBusinessCalendar(options.slaBusinessCalendarTimeZone),
26
+ useFactory: (rootOptions, options) => rootOptions?.businessCalendar ??
27
+ new weekday_business_calendar_1.BPMWeekdayBusinessCalendar(options.slaBusinessCalendarTimeZone),
19
28
  };
20
29
  //# sourceMappingURL=business-calendar.provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"business-calendar.provider.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/calendar/business-calendar.provider.ts"],"names":[],"mappings":";;;AACA,+EAG8C;AAC9C,uEAGmC;AACnC,2EAAyE;AAEzE;;;;;;;GAOG;AACU,QAAA,+BAA+B,GAAkC;IAC5E,MAAM,EAAE,CAAC,+CAAwB,CAAC;IAClC,OAAO,EAAE,+CAAqB;IAC9B,UAAU,EAAE,CACV,OAAuC,EAClB,EAAE,CACvB,IAAI,sDAA0B,CAAC,OAAO,CAAC,2BAA2B,CAAC;CACtE,CAAC"}
1
+ {"version":3,"file":"business-calendar.provider.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/calendar/business-calendar.provider.ts"],"names":[],"mappings":";;;AACA,8DAGiC;AACjC,+EAG8C;AAC9C,uEAGmC;AACnC,2EAAyE;AAEzE;;;;;;;;;;;GAWG;AACU,QAAA,+BAA+B,GAAkC;IAC5E,MAAM,EAAE;QACN,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,mCAAgB,EAAE;QAC3C,+CAAwB;KACzB;IACD,OAAO,EAAE,+CAAqB;IAC9B,UAAU,EAAE,CACV,WAA8C,EAC9C,OAAuC,EAClB,EAAE,CACvB,WAAW,EAAE,gBAAgB;QAC7B,IAAI,sDAA0B,CAAC,OAAO,CAAC,2BAA2B,CAAC;CACtE,CAAC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Helpers shared by the two outboxes BPM runs — notification delivery and
3
+ * NOTIFY webhook delivery — so a claim quirk fixed in one cannot linger in the
4
+ * other.
5
+ */
6
+ /**
7
+ * Reads the ids returned by the claiming `UPDATE ... RETURNING id`.
8
+ *
9
+ * TypeORM's Postgres driver returns `[rows, affectedCount]` for `UPDATE` and
10
+ * `DELETE`, and a bare row array for everything else. Reading the two-element
11
+ * form as a row array yields `[undefined, undefined]`, which matches no row —
12
+ * the claim commits, the delivery pass finds nothing, and the row is re-claimed
13
+ * on every stale window forever with `attempt_count` still at 0. Both shapes
14
+ * are accepted here so the claim does not depend on driver-specific packaging.
15
+ */
16
+ export declare function readClaimedIds(rawResult: unknown): readonly string[];
17
+ /**
18
+ * Fails a dispatch that never settles.
19
+ *
20
+ * Delivery marks a row `DELIVERY_IN_PROGRESS` before dispatching, and only the
21
+ * resolve and reject paths write back. A host dispatcher, member resolver or
22
+ * SMTP call that hangs would therefore leave a permanently claimed row with an
23
+ * empty `delivery_error` — nothing for the host to diagnose. A timeout turns
24
+ * that into an ordinary recorded failure that retries.
25
+ */
26
+ export declare function withDispatchTimeout<T>(operation: Promise<T>, timeoutMs: number): Promise<T>;
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ /**
3
+ * Helpers shared by the two outboxes BPM runs — notification delivery and
4
+ * NOTIFY webhook delivery — so a claim quirk fixed in one cannot linger in the
5
+ * other.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.readClaimedIds = readClaimedIds;
9
+ exports.withDispatchTimeout = withDispatchTimeout;
10
+ /**
11
+ * Reads the ids returned by the claiming `UPDATE ... RETURNING id`.
12
+ *
13
+ * TypeORM's Postgres driver returns `[rows, affectedCount]` for `UPDATE` and
14
+ * `DELETE`, and a bare row array for everything else. Reading the two-element
15
+ * form as a row array yields `[undefined, undefined]`, which matches no row —
16
+ * the claim commits, the delivery pass finds nothing, and the row is re-claimed
17
+ * on every stale window forever with `attempt_count` still at 0. Both shapes
18
+ * are accepted here so the claim does not depend on driver-specific packaging.
19
+ */
20
+ function readClaimedIds(rawResult) {
21
+ const rows = Array.isArray(rawResult) && Array.isArray(rawResult[0])
22
+ ? rawResult[0]
23
+ : rawResult;
24
+ if (!Array.isArray(rows)) {
25
+ return [];
26
+ }
27
+ return rows
28
+ .map((row) => row && typeof row === 'object' && 'id' in row
29
+ ? row.id
30
+ : undefined)
31
+ .filter((id) => typeof id === 'string' && id.length > 0);
32
+ }
33
+ /**
34
+ * Fails a dispatch that never settles.
35
+ *
36
+ * Delivery marks a row `DELIVERY_IN_PROGRESS` before dispatching, and only the
37
+ * resolve and reject paths write back. A host dispatcher, member resolver or
38
+ * SMTP call that hangs would therefore leave a permanently claimed row with an
39
+ * empty `delivery_error` — nothing for the host to diagnose. A timeout turns
40
+ * that into an ordinary recorded failure that retries.
41
+ */
42
+ async function withDispatchTimeout(operation, timeoutMs) {
43
+ if (!Number.isFinite(timeoutMs) || timeoutMs <= 0) {
44
+ return operation;
45
+ }
46
+ let timer;
47
+ try {
48
+ return await Promise.race([
49
+ operation,
50
+ new Promise((_resolve, reject) => {
51
+ timer = setTimeout(() => {
52
+ reject(new Error(`DELIVERY_TIMEOUT_${timeoutMs}MS`));
53
+ }, timeoutMs);
54
+ timer.unref();
55
+ }),
56
+ ]);
57
+ }
58
+ finally {
59
+ if (timer) {
60
+ clearTimeout(timer);
61
+ }
62
+ }
63
+ }
64
+ //# sourceMappingURL=outbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outbox.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/common/outbox.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAYH,wCAiBC;AAWD,kDAyBC;AA/DD;;;;;;;;;GASG;AACH,SAAgB,cAAc,CAAC,SAAkB;IAC/C,MAAM,IAAI,GACR,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACrD,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QACd,CAAC,CAAC,SAAS,CAAC;IAEhB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,IAAI;SACR,GAAG,CAAC,CAAC,GAAY,EAAW,EAAE,CAC7B,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,IAAI,IAAI,GAAG;QAC3C,CAAC,CAAE,GAAgC,CAAC,EAAE;QACtC,CAAC,CAAC,SAAS,CACd;SACA,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,mBAAmB,CACvC,SAAqB,EACrB,SAAiB;IAEjB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QAClD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,KAAiC,CAAC;IAEtC,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC;YACxB,SAAS;YACT,IAAI,OAAO,CAAQ,CAAC,QAAQ,EAAE,MAAM,EAAQ,EAAE;gBAC5C,KAAK,GAAG,UAAU,CAAC,GAAS,EAAE;oBAC5B,MAAM,CAAC,IAAI,KAAK,CAAC,oBAAoB,SAAS,IAAI,CAAC,CAAC,CAAC;gBACvD,CAAC,EAAE,SAAS,CAAC,CAAC;gBACd,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,CAAC,CAAC;SACH,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,IAAI,KAAK,EAAE,CAAC;YACV,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -55,10 +55,11 @@ let DelegationService = class DelegationService {
55
55
  createdByMemberId: currentRule.createdByMemberId,
56
56
  });
57
57
  await this.assertNoActiveCycle(normalizedRule.principalMemberId, normalizedRule.agentMemberId, currentRule.id);
58
- return this.delegationRuleRepository.save({
59
- ...currentRule,
60
- ...normalizedRule,
61
- });
58
+ // Assigning onto a fresh entity keeps the prototype. `DelegationRuleEntity`
59
+ // has no getter-backed `@Field` today, but this row is the return value of
60
+ // the `updateDelegationRule` mutation, so adding one to a plain object
61
+ // would fail the mutation after the write had already been committed.
62
+ return this.delegationRuleRepository.save(Object.assign(new delegation_rule_entity_1.DelegationRuleEntity(), currentRule, normalizedRule));
62
63
  }
63
64
  async getDelegationRule(id) {
64
65
  return this.readRuleOrThrow(id);
@@ -68,12 +69,11 @@ let DelegationService = class DelegationService {
68
69
  if (rule.status === delegation_enums_1.DelegationRuleStatusEnum.REVOKED) {
69
70
  return rule;
70
71
  }
71
- return this.delegationRuleRepository.save({
72
- ...rule,
72
+ return this.delegationRuleRepository.save(Object.assign(new delegation_rule_entity_1.DelegationRuleEntity(), rule, {
73
73
  revokedAt: new Date(),
74
74
  revokedByMemberId: revokedByMemberId?.trim() || null,
75
75
  status: delegation_enums_1.DelegationRuleStatusEnum.REVOKED,
76
- });
76
+ }));
77
77
  }
78
78
  async resolveAssignee(originalAssigneeMemberId, context, at = new Date()) {
79
79
  return this.walkDelegationChain(originalAssigneeMemberId, context, at, new Set([originalAssigneeMemberId]), []);
@@ -1 +1 @@
1
- {"version":3,"file":"delegation.service.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/delegation/delegation.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delegation.service.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/delegation/delegation.service.ts"],"names":[],"mappings":"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"}
@@ -8,16 +8,14 @@ const typeorm_1 = require("@nestjs/typeorm");
8
8
  const workflow_engine_module_1 = require("../workflow-engine/workflow-engine.module");
9
9
  const approval_template_version_entity_1 = require("../template/approval-template-version.entity");
10
10
  const form_definition_version_entity_1 = require("../form/form-definition-version.entity");
11
+ const form_data_source_provider_1 = require("./form-data-source.provider");
11
12
  const form_data_source_queries_1 = require("./form-data-source.queries");
12
13
  const form_data_source_service_1 = require("./form-data-source.service");
13
14
  const form_data_source_value_resolver_service_1 = require("./form-data-source-value-resolver.service");
14
15
  const form_data_source_types_1 = require("./form-data-source.types");
15
16
  let FormDataSourceModule = FormDataSourceModule_1 = class FormDataSourceModule {
16
17
  static forRoot(options = {}) {
17
- const registryProvider = options.registryProvider ?? {
18
- provide: form_data_source_types_1.BPM_FORM_DATA_SOURCE_REGISTRY,
19
- useClass: form_data_source_types_1.EmptyBPMFormDataSourceRegistry,
20
- };
18
+ const registryProvider = options.registryProvider ?? form_data_source_provider_1.defaultFormDataSourceRegistryProvider;
21
19
  return {
22
20
  exports: [
23
21
  form_data_source_types_1.BPM_FORM_DATA_SOURCE_REGISTRY,
@@ -1 +1 @@
1
- {"version":3,"file":"form-data-source.module.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/form-data-source/form-data-source.module.ts"],"names":[],"mappings":";;;;;AAAA,2CAAyE;AAEzE,6CAAgD;AAChD,sFAAiF;AACjF,mGAA6F;AAC7F,2FAAqF;AACrF,yEAAmE;AACnE,yEAAmE;AACnE,uGAA+F;AAC/F,qEAKkC;AAQ3B,IAAM,oBAAoB,4BAA1B,MAAM,oBAAoB;IAC/B,MAAM,CAAC,OAAO,CAAC,UAAuC,EAAE;QACtD,MAAM,gBAAgB,GACpB,OAAO,CAAC,gBAAgB,IAAI;YAC1B,OAAO,EAAE,sDAA6B;YACtC,QAAQ,EAAE,uDAA8B;SACzC,CAAC;QAEJ,OAAO;YACL,OAAO,EAAE;gBACP,sDAA6B;gBAC7B,4DAAmC;gBACnC,gDAAqB;aACtB;YACD,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE;gBACP,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;gBAC1B,6CAAoB;gBACpB,uBAAa,CAAC,UAAU,CAAC;oBACvB,gEAA6B;oBAC7B,4DAA2B;iBAC5B,CAAC;aACH;YACD,MAAM,EAAE,sBAAoB;YAC5B,SAAS,EAAE;gBACT,gBAAgB;gBAChB,gDAAqB;gBACrB,gDAAqB;gBACrB,4EAAkC;gBAClC;oBACE,OAAO,EAAE,4DAAmC;oBAC5C,WAAW,EAAE,4EAAkC;iBAChD;aACF;SACF,CAAC;IACJ,CAAC;CACF,CAAA;AApCY,oDAAoB;+BAApB,oBAAoB;IAFhC,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,oBAAoB,CAoChC"}
1
+ {"version":3,"file":"form-data-source.module.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/form-data-source/form-data-source.module.ts"],"names":[],"mappings":";;;;;AAAA,2CAAyE;AAEzE,6CAAgD;AAChD,sFAAiF;AACjF,mGAA6F;AAC7F,2FAAqF;AACrF,2EAAoF;AACpF,yEAAmE;AACnE,yEAAmE;AACnE,uGAA+F;AAC/F,qEAIkC;AAQ3B,IAAM,oBAAoB,4BAA1B,MAAM,oBAAoB;IAC/B,MAAM,CAAC,OAAO,CAAC,UAAuC,EAAE;QACtD,MAAM,gBAAgB,GACpB,OAAO,CAAC,gBAAgB,IAAI,iEAAqC,CAAC;QAEpE,OAAO;YACL,OAAO,EAAE;gBACP,sDAA6B;gBAC7B,4DAAmC;gBACnC,gDAAqB;aACtB;YACD,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE;gBACP,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;gBAC1B,6CAAoB;gBACpB,uBAAa,CAAC,UAAU,CAAC;oBACvB,gEAA6B;oBAC7B,4DAA2B;iBAC5B,CAAC;aACH;YACD,MAAM,EAAE,sBAAoB;YAC5B,SAAS,EAAE;gBACT,gBAAgB;gBAChB,gDAAqB;gBACrB,gDAAqB;gBACrB,4EAAkC;gBAClC;oBACE,OAAO,EAAE,4DAAmC;oBAC5C,WAAW,EAAE,4EAAkC;iBAChD;aACF;SACF,CAAC;IACJ,CAAC;CACF,CAAA;AAjCY,oDAAoB;+BAApB,oBAAoB;IAFhC,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,oBAAoB,CAiChC"}
@@ -0,0 +1,14 @@
1
+ import { Provider } from '@nestjs/common';
2
+ import { BPMFormDataSourceRegistry } from './form-data-source.types';
3
+ /**
4
+ * Default form option DataSource catalog used when the host registers none.
5
+ *
6
+ * Prefers a registry handed to `BPMRootModule` as a runtime value
7
+ * (`formDataSourceRegistry`, which a `forRootAsync` factory can build once its
8
+ * upstream clients are configured) and otherwise exposes an empty catalog, so
9
+ * a published form reference simply resolves to no options.
10
+ *
11
+ * `BPM_ROOT_OPTIONS` is injected optionally so `FormDataSourceModule` still
12
+ * resolves when it is used on its own, outside `BPMRootModule`.
13
+ */
14
+ export declare const defaultFormDataSourceRegistryProvider: Provider<BPMFormDataSourceRegistry>;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defaultFormDataSourceRegistryProvider = void 0;
4
+ const bpm_root_options_1 = require("../bpm/bpm-root-options");
5
+ const form_data_source_types_1 = require("./form-data-source.types");
6
+ /**
7
+ * Default form option DataSource catalog used when the host registers none.
8
+ *
9
+ * Prefers a registry handed to `BPMRootModule` as a runtime value
10
+ * (`formDataSourceRegistry`, which a `forRootAsync` factory can build once its
11
+ * upstream clients are configured) and otherwise exposes an empty catalog, so
12
+ * a published form reference simply resolves to no options.
13
+ *
14
+ * `BPM_ROOT_OPTIONS` is injected optionally so `FormDataSourceModule` still
15
+ * resolves when it is used on its own, outside `BPMRootModule`.
16
+ */
17
+ exports.defaultFormDataSourceRegistryProvider = {
18
+ inject: [{ optional: true, token: bpm_root_options_1.BPM_ROOT_OPTIONS }],
19
+ provide: form_data_source_types_1.BPM_FORM_DATA_SOURCE_REGISTRY,
20
+ useFactory: (rootOptions) => rootOptions?.formDataSourceRegistry ??
21
+ new form_data_source_types_1.EmptyBPMFormDataSourceRegistry(),
22
+ };
23
+ //# sourceMappingURL=form-data-source.provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-data-source.provider.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/form-data-source/form-data-source.provider.ts"],"names":[],"mappings":";;;AACA,8DAGiC;AACjC,qEAIkC;AAElC;;;;;;;;;;GAUG;AACU,QAAA,qCAAqC,GAChD;IACE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,mCAAgB,EAAE,CAAC;IACrD,OAAO,EAAE,sDAA6B;IACtC,UAAU,EAAE,CACV,WAA8C,EACnB,EAAE,CAC7B,WAAW,EAAE,sBAAsB;QACnC,IAAI,uDAA8B,EAAE;CACvC,CAAC"}
@@ -1,5 +1,6 @@
1
1
  export * from './form-data-source.errors';
2
2
  export * from './form-data-source.module';
3
+ export * from './form-data-source.provider';
3
4
  export * from './form-data-source.queries';
4
5
  export * from './form-data-source.service';
5
6
  export * from './form-data-source.types';
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./form-data-source.errors"), exports);
5
5
  tslib_1.__exportStar(require("./form-data-source.module"), exports);
6
+ tslib_1.__exportStar(require("./form-data-source.provider"), exports);
6
7
  tslib_1.__exportStar(require("./form-data-source.queries"), exports);
7
8
  tslib_1.__exportStar(require("./form-data-source.service"), exports);
8
9
  tslib_1.__exportStar(require("./form-data-source.types"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/form-data-source/index.ts"],"names":[],"mappings":";;;AAAA,oEAA0C;AAC1C,oEAA0C;AAC1C,qEAA2C;AAC3C,qEAA2C;AAC3C,mEAAyC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/form-data-source/index.ts"],"names":[],"mappings":";;;AAAA,oEAA0C;AAC1C,oEAA0C;AAC1C,sEAA4C;AAC5C,qEAA2C;AAC3C,qEAA2C;AAC3C,mEAAyC"}
@@ -0,0 +1,39 @@
1
+ import { Provider } from '@nestjs/common';
2
+ import { MemberMetadata } from '@rytass/bpm-core-shared';
3
+ import { BPMMemberResolver } from './member-resolver.interface';
4
+ /**
5
+ * Built-in {@link BPMMemberResolver} used when the host registers none.
6
+ *
7
+ * BPM only ever knows `memberId` strings, so a host that has not wired its own
8
+ * identity system still needs *something* to answer "what is this member
9
+ * called?". This resolver answers with the id itself: every BPM screen keeps
10
+ * working, member pickers fall back to id-only entry, and nothing throws.
11
+ *
12
+ * It is a placeholder, not an identity system — names are raw ids and emails
13
+ * are empty, so email notifications addressed through it go nowhere. Hosts
14
+ * replace it through `BPMRootModuleOptions.memberResolver` (an instance, also
15
+ * available from the `forRootAsync` factory) or `memberResolverProvider` (a
16
+ * Nest provider) as soon as they have a real member directory.
17
+ *
18
+ * Using it outside `development` / `test` logs one warning at construction —
19
+ * the same tier as the built-in attachment signing key — because a staging or
20
+ * production host showing raw UUIDs in every approval history is a wiring
21
+ * mistake, not a deliberate configuration.
22
+ */
23
+ export declare class DefaultBPMMemberResolver implements BPMMemberResolver {
24
+ constructor();
25
+ resolve(memberId: string): Promise<MemberMetadata>;
26
+ resolveMany(memberIds: readonly string[]): Promise<ReadonlyMap<string, MemberMetadata>>;
27
+ }
28
+ /**
29
+ * Default member resolver used when the host registers none.
30
+ *
31
+ * Prefers a resolver handed to `BPMRootModule` as a runtime value
32
+ * (`memberResolver`, which a `forRootAsync` factory can build once its
33
+ * directory client is configured) and otherwise falls back to
34
+ * {@link DefaultBPMMemberResolver}.
35
+ *
36
+ * `BPM_ROOT_OPTIONS` is injected optionally so `IdentityModule` still resolves
37
+ * when it is used on its own, outside `BPMRootModule`.
38
+ */
39
+ export declare const defaultMemberResolverProvider: Provider<BPMMemberResolver>;
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defaultMemberResolverProvider = exports.DefaultBPMMemberResolver = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const common_1 = require("@nestjs/common");
6
+ const bpm_root_options_1 = require("../bpm/bpm-root-options");
7
+ const member_resolver_interface_1 = require("./member-resolver.interface");
8
+ /**
9
+ * Built-in {@link BPMMemberResolver} used when the host registers none.
10
+ *
11
+ * BPM only ever knows `memberId` strings, so a host that has not wired its own
12
+ * identity system still needs *something* to answer "what is this member
13
+ * called?". This resolver answers with the id itself: every BPM screen keeps
14
+ * working, member pickers fall back to id-only entry, and nothing throws.
15
+ *
16
+ * It is a placeholder, not an identity system — names are raw ids and emails
17
+ * are empty, so email notifications addressed through it go nowhere. Hosts
18
+ * replace it through `BPMRootModuleOptions.memberResolver` (an instance, also
19
+ * available from the `forRootAsync` factory) or `memberResolverProvider` (a
20
+ * Nest provider) as soon as they have a real member directory.
21
+ *
22
+ * Using it outside `development` / `test` logs one warning at construction —
23
+ * the same tier as the built-in attachment signing key — because a staging or
24
+ * production host showing raw UUIDs in every approval history is a wiring
25
+ * mistake, not a deliberate configuration.
26
+ */
27
+ let DefaultBPMMemberResolver = class DefaultBPMMemberResolver {
28
+ constructor() {
29
+ if (process.env.NODE_ENV !== 'development' &&
30
+ process.env.NODE_ENV !== 'test') {
31
+ console.warn('[@rytass/bpm-core-nestjs-module] no member resolver is registered, so BPM is resolving every member to its own id — display names show raw ids and member emails are empty. Set BPMRootModuleOptions.memberResolver (or memberResolverProvider) to the host identity source.');
32
+ }
33
+ }
34
+ async resolve(memberId) {
35
+ return createPlaceholderMemberMetadata(memberId);
36
+ }
37
+ async resolveMany(memberIds) {
38
+ return new Map(memberIds.map((memberId) => [
39
+ memberId,
40
+ createPlaceholderMemberMetadata(memberId),
41
+ ]));
42
+ }
43
+ };
44
+ exports.DefaultBPMMemberResolver = DefaultBPMMemberResolver;
45
+ exports.DefaultBPMMemberResolver = DefaultBPMMemberResolver = tslib_1.__decorate([
46
+ (0, common_1.Injectable)(),
47
+ tslib_1.__metadata("design:paramtypes", [])
48
+ ], DefaultBPMMemberResolver);
49
+ /**
50
+ * The placeholder profile BPM shows for a member it cannot name.
51
+ *
52
+ * `resolveMany` deliberately answers for **every** requested id rather than
53
+ * omitting unknown ones: this resolver has no directory to check against, so
54
+ * omitting would render every member as deleted/anonymized instead of showing
55
+ * the id the caller already has.
56
+ */
57
+ function createPlaceholderMemberMetadata(memberId) {
58
+ return {
59
+ customFields: {},
60
+ email: '',
61
+ memberId,
62
+ name: memberId,
63
+ };
64
+ }
65
+ /**
66
+ * Default member resolver used when the host registers none.
67
+ *
68
+ * Prefers a resolver handed to `BPMRootModule` as a runtime value
69
+ * (`memberResolver`, which a `forRootAsync` factory can build once its
70
+ * directory client is configured) and otherwise falls back to
71
+ * {@link DefaultBPMMemberResolver}.
72
+ *
73
+ * `BPM_ROOT_OPTIONS` is injected optionally so `IdentityModule` still resolves
74
+ * when it is used on its own, outside `BPMRootModule`.
75
+ */
76
+ exports.defaultMemberResolverProvider = {
77
+ inject: [{ optional: true, token: bpm_root_options_1.BPM_ROOT_OPTIONS }],
78
+ provide: member_resolver_interface_1.BPM_MEMBER_RESOLVER,
79
+ useFactory: (rootOptions) => rootOptions?.memberResolver ?? new DefaultBPMMemberResolver(),
80
+ };
81
+ //# sourceMappingURL=default-member-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-member-resolver.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/identity/default-member-resolver.ts"],"names":[],"mappings":";;;;AAAA,2CAAsD;AAEtD,8DAGiC;AACjC,2EAGqC;AAErC;;;;;;;;;;;;;;;;;;GAkBG;AAEI,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IACnC;QACE,IACE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa;YACtC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,EAC/B,CAAC;YACD,OAAO,CAAC,IAAI,CACV,8QAA8Q,CAC/Q,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,QAAgB;QAC5B,OAAO,+BAA+B,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,WAAW,CACf,SAA4B;QAE5B,OAAO,IAAI,GAAG,CACZ,SAAS,CAAC,GAAG,CAAC,CAAC,QAAgB,EAAqC,EAAE,CAAC;YACrE,QAAQ;YACR,+BAA+B,CAAC,QAAQ,CAAC;SAC1C,CAAC,CACH,CAAC;IACJ,CAAC;CACF,CAAA;AA1BY,4DAAwB;mCAAxB,wBAAwB;IADpC,IAAA,mBAAU,GAAE;;GACA,wBAAwB,CA0BpC;AAED;;;;;;;GAOG;AACH,SAAS,+BAA+B,CAAC,QAAgB;IACvD,OAAO;QACL,YAAY,EAAE,EAAE;QAChB,KAAK,EAAE,EAAE;QACT,QAAQ;QACR,IAAI,EAAE,QAAQ;KACf,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACU,QAAA,6BAA6B,GAAgC;IACxE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,mCAAgB,EAAE,CAAC;IACrD,OAAO,EAAE,+CAAmB;IAC5B,UAAU,EAAE,CACV,WAA8C,EAC3B,EAAE,CACrB,WAAW,EAAE,cAAc,IAAI,IAAI,wBAAwB,EAAE;CAChE,CAAC"}
@@ -4,7 +4,13 @@ import { BPMMemberResolver } from './member-resolver.interface';
4
4
  import { BPMRootIdentityOptions } from './identity-options';
5
5
  export interface IdentityModuleOptions extends BPMRootIdentityOptions {
6
6
  readonly imports?: ModuleMetadata['imports'];
7
- readonly memberResolverProvider: Provider<BPMMemberResolver>;
7
+ /**
8
+ * Host identity source. Optional — when omitted BPM registers
9
+ * {@link defaultMemberResolverProvider}, which prefers a `memberResolver`
10
+ * instance published under `BPM_ROOT_OPTIONS` and otherwise resolves every
11
+ * member to its own id.
12
+ */
13
+ readonly memberResolverProvider?: Provider<BPMMemberResolver>;
8
14
  }
9
15
  export interface IdentityModuleAsyncOptions extends Pick<ModuleMetadata, 'imports'> {
10
16
  /**
@@ -14,7 +20,11 @@ export interface IdentityModuleAsyncOptions extends Pick<ModuleMetadata, 'import
14
20
  */
15
21
  readonly identityRegisterResolvers?: boolean;
16
22
  readonly inject?: readonly InjectionToken[];
17
- readonly memberResolverProvider: Provider<BPMMemberResolver>;
23
+ /**
24
+ * Host identity source. Optional — see
25
+ * {@link IdentityModuleOptions.memberResolverProvider}.
26
+ */
27
+ readonly memberResolverProvider?: Provider<BPMMemberResolver>;
18
28
  readonly useFactory: (...args: readonly unknown[]) => BPMRootIdentityOptions | Promise<BPMRootIdentityOptions>;
19
29
  }
20
30
  export declare class IdentityModule {
@@ -8,6 +8,7 @@ const typeorm_1 = require("@nestjs/typeorm");
8
8
  const identity_queries_1 = require("./identity.queries");
9
9
  const identity_service_1 = require("./identity.service");
10
10
  const member_metadata_cache_entity_1 = require("./member-metadata-cache.entity");
11
+ const default_member_resolver_1 = require("./default-member-resolver");
11
12
  const identity_options_1 = require("./identity-options");
12
13
  let IdentityModule = IdentityModule_1 = class IdentityModule {
13
14
  static forRoot(options) {
@@ -61,7 +62,7 @@ function createIdentityGraphQLProviders(registerResolvers) {
61
62
  return registerResolvers === false ? [] : [identity_queries_1.IdentityQueries];
62
63
  }
63
64
  function createMemberResolverProviders(options) {
64
- return [options.memberResolverProvider];
65
+ return [options.memberResolverProvider ?? default_member_resolver_1.defaultMemberResolverProvider];
65
66
  }
66
67
  function createIdentityOptionsProvider(options = {}) {
67
68
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"identity.module.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/identity/identity.module.ts"],"names":[],"mappings":";;;;;AAAA,2CAKwB;AAExB,6CAAgD;AAChD,yDAAqD;AACrD,yDAAqD;AACrD,iFAA2E;AAE3E,yDAI4B;AAyBrB,IAAM,cAAc,sBAApB,MAAM,cAAc;IACzB,MAAM,CAAC,OAAO,CAAC,OAA8B;QAC3C,MAAM,iBAAiB,GAAG,6BAA6B,CAAC,OAAO,CAAC,CAAC;QAEjE,OAAO;YACL,OAAO,EAAE,CAAC,kCAAe,CAAC;YAC1B,OAAO,EAAE;gBACP,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;gBAC1B,uBAAa,CAAC,UAAU,CAAC,CAAC,wDAAyB,CAAC,CAAC;aACtD;YACD,MAAM,EAAE,gBAAc;YACtB,SAAS,EAAE;gBACT,GAAG,8BAA8B,CAAC,OAAO,CAAC,yBAAyB,CAAC;gBACpE,kCAAe;gBACf,GAAG,iBAAiB;gBACpB,6BAA6B,CAAC,OAAO,CAAC;aACvC;SACF,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,OAAmC;QACrD,MAAM,iBAAiB,GAAG,6BAA6B,CAAC,OAAO,CAAC,CAAC;QAEjE,OAAO;YACL,OAAO,EAAE,CAAC,kCAAe,CAAC;YAC1B,OAAO,EAAE;gBACP,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;gBAC1B,uBAAa,CAAC,UAAU,CAAC,CAAC,wDAAyB,CAAC,CAAC;aACtD;YACD,MAAM,EAAE,gBAAc;YACtB,SAAS,EAAE;gBACT,GAAG,8BAA8B,CAAC,OAAO,CAAC,yBAAyB,CAAC;gBACpE,kCAAe;gBACf,GAAG,iBAAiB;gBACpB;oBACE,MAAM,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;oBACnC,OAAO,EAAE,uCAAoB;oBAC7B,UAAU,EAAE,KAAK,EACf,GAAG,IAAwB,EAC4B,EAAE,CACzD,IAAA,4CAAyB,EAAC,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC;iBAC/D;aACF;SACF,CAAC;IACJ,CAAC;CACF,CAAA;AA7CY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,cAAc,CA6C1B;AAED;;;GAGG;AACH,SAAS,8BAA8B,CACrC,iBAAsC;IAEtC,OAAO,iBAAiB,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,kCAAe,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,6BAA6B,CACpC,OAA8B;IAE9B,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,6BAA6B,CACpC,UAAkC,EAAE;IAEpC,OAAO;QACL,OAAO,EAAE,uCAAoB;QAC7B,QAAQ,EAAE,IAAA,4CAAyB,EAAC,OAAO,CAAC;KAC7C,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"identity.module.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/identity/identity.module.ts"],"names":[],"mappings":";;;;;AAAA,2CAKwB;AAExB,6CAAgD;AAChD,yDAAqD;AACrD,yDAAqD;AACrD,iFAA2E;AAC3E,uEAA0E;AAE1E,yDAI4B;AAmCrB,IAAM,cAAc,sBAApB,MAAM,cAAc;IACzB,MAAM,CAAC,OAAO,CAAC,OAA8B;QAC3C,MAAM,iBAAiB,GAAG,6BAA6B,CAAC,OAAO,CAAC,CAAC;QAEjE,OAAO;YACL,OAAO,EAAE,CAAC,kCAAe,CAAC;YAC1B,OAAO,EAAE;gBACP,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;gBAC1B,uBAAa,CAAC,UAAU,CAAC,CAAC,wDAAyB,CAAC,CAAC;aACtD;YACD,MAAM,EAAE,gBAAc;YACtB,SAAS,EAAE;gBACT,GAAG,8BAA8B,CAAC,OAAO,CAAC,yBAAyB,CAAC;gBACpE,kCAAe;gBACf,GAAG,iBAAiB;gBACpB,6BAA6B,CAAC,OAAO,CAAC;aACvC;SACF,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,OAAmC;QACrD,MAAM,iBAAiB,GAAG,6BAA6B,CAAC,OAAO,CAAC,CAAC;QAEjE,OAAO;YACL,OAAO,EAAE,CAAC,kCAAe,CAAC;YAC1B,OAAO,EAAE;gBACP,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;gBAC1B,uBAAa,CAAC,UAAU,CAAC,CAAC,wDAAyB,CAAC,CAAC;aACtD;YACD,MAAM,EAAE,gBAAc;YACtB,SAAS,EAAE;gBACT,GAAG,8BAA8B,CAAC,OAAO,CAAC,yBAAyB,CAAC;gBACpE,kCAAe;gBACf,GAAG,iBAAiB;gBACpB;oBACE,MAAM,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;oBACnC,OAAO,EAAE,uCAAoB;oBAC7B,UAAU,EAAE,KAAK,EACf,GAAG,IAAwB,EAC4B,EAAE,CACzD,IAAA,4CAAyB,EAAC,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC;iBAC/D;aACF;SACF,CAAC;IACJ,CAAC;CACF,CAAA;AA7CY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,cAAc,CA6C1B;AAED;;;GAGG;AACH,SAAS,8BAA8B,CACrC,iBAAsC;IAEtC,OAAO,iBAAiB,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,kCAAe,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,6BAA6B,CACpC,OAA8D;IAE9D,OAAO,CAAC,OAAO,CAAC,sBAAsB,IAAI,uDAA6B,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,6BAA6B,CACpC,UAAkC,EAAE;IAEpC,OAAO;QACL,OAAO,EAAE,uCAAoB;QAC7B,QAAQ,EAAE,IAAA,4CAAyB,EAAC,OAAO,CAAC;KAC7C,CAAC;AACJ,CAAC"}
@@ -1,3 +1,4 @@
1
+ export * from './default-member-resolver';
1
2
  export * from './identity-options';
2
3
  export * from './member-base.adapter';
3
4
  export * from './member-not-found.exception';
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./default-member-resolver"), exports);
4
5
  tslib_1.__exportStar(require("./identity-options"), exports);
5
6
  tslib_1.__exportStar(require("./member-base.adapter"), exports);
6
7
  tslib_1.__exportStar(require("./member-not-found.exception"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/identity/index.ts"],"names":[],"mappings":";;;AAAA,6DAAmC;AACnC,gEAAsC;AACtC,uEAA6C;AAC7C,sEAA4C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/identity/index.ts"],"names":[],"mappings":";;;AAAA,oEAA0C;AAC1C,6DAAmC;AACnC,gEAAsC;AACtC,uEAA6C;AAC7C,sEAA4C"}
@@ -0,0 +1,17 @@
1
+ import { MigrationInterface, QueryRunner } from 'typeorm';
2
+ /**
3
+ * Outbox for NOTIFY webhook deliveries (ADR 18 §3.5).
4
+ *
5
+ * A row is written inside the engine transaction that runs the NOTIFY node and
6
+ * delivered only after that transaction commits, so a rollback leaves nothing
7
+ * behind and nothing is ever sent for a step that did not happen.
8
+ *
9
+ * `(token_id, target_id)` is unique so the same token running the same node
10
+ * twice cannot queue a second delivery; a RESTART resubmit produces a new
11
+ * token and, correctly, a new delivery.
12
+ */
13
+ export declare class WorkflowWebhookDeliveries0000000023000 implements MigrationInterface {
14
+ name: string;
15
+ up(queryRunner: QueryRunner): Promise<void>;
16
+ down(queryRunner: QueryRunner): Promise<void>;
17
+ }
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WorkflowWebhookDeliveries0000000023000 = void 0;
4
+ /**
5
+ * Outbox for NOTIFY webhook deliveries (ADR 18 §3.5).
6
+ *
7
+ * A row is written inside the engine transaction that runs the NOTIFY node and
8
+ * delivered only after that transaction commits, so a rollback leaves nothing
9
+ * behind and nothing is ever sent for a step that did not happen.
10
+ *
11
+ * `(token_id, target_id)` is unique so the same token running the same node
12
+ * twice cannot queue a second delivery; a RESTART resubmit produces a new
13
+ * token and, correctly, a new delivery.
14
+ */
15
+ class WorkflowWebhookDeliveries0000000023000 {
16
+ constructor() {
17
+ this.name = 'WorkflowWebhookDeliveries0000000023000';
18
+ }
19
+ async up(queryRunner) {
20
+ await queryRunner.query(`
21
+ CREATE TABLE IF NOT EXISTS "workflow_webhook_deliveries" (
22
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid(),
23
+ "instance_id" uuid NOT NULL,
24
+ "node_id" text NOT NULL,
25
+ "token_id" uuid NOT NULL,
26
+ "target_id" text NOT NULL,
27
+ "endpoint_key" text NOT NULL,
28
+ "endpoint_version" integer NOT NULL,
29
+ "event" jsonb NOT NULL,
30
+ "status" text NOT NULL,
31
+ "attempt_count" integer NOT NULL DEFAULT 0,
32
+ "next_retry_at" timestamptz NULL,
33
+ "last_attempt_at" timestamptz NULL,
34
+ "last_response_status" integer NULL,
35
+ "last_error_code" text NULL,
36
+ "last_error_detail" text NULL,
37
+ "sent_at" timestamptz NULL,
38
+ "created_at" timestamptz NOT NULL DEFAULT now(),
39
+ "updated_at" timestamptz NOT NULL DEFAULT now(),
40
+ CONSTRAINT "FK_workflow_webhook_deliveries_instance"
41
+ FOREIGN KEY ("instance_id") REFERENCES "approval_instances"("id")
42
+ ON DELETE CASCADE,
43
+ CONSTRAINT "UQ_workflow_webhook_deliveries_token_target"
44
+ UNIQUE ("token_id", "target_id")
45
+ )
46
+ `);
47
+ await queryRunner.query(`
48
+ CREATE INDEX IF NOT EXISTS "IDX_workflow_webhook_deliveries_pending"
49
+ ON "workflow_webhook_deliveries" ("status", "next_retry_at", "created_at")
50
+ `);
51
+ await queryRunner.query(`
52
+ CREATE INDEX IF NOT EXISTS "IDX_workflow_webhook_deliveries_instance"
53
+ ON "workflow_webhook_deliveries" ("instance_id", "created_at")
54
+ `);
55
+ }
56
+ async down(queryRunner) {
57
+ await queryRunner.query(`DROP TABLE IF EXISTS "workflow_webhook_deliveries"`);
58
+ }
59
+ }
60
+ exports.WorkflowWebhookDeliveries0000000023000 = WorkflowWebhookDeliveries0000000023000;
61
+ //# sourceMappingURL=0000000023000-workflow-webhook-deliveries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"0000000023000-workflow-webhook-deliveries.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/migrations/0000000023000-workflow-webhook-deliveries.ts"],"names":[],"mappings":";;;AAEA;;;;;;;;;;GAUG;AACH,MAAa,sCAAsC;IAAnD;QACE,SAAI,GAAG,wCAAwC,CAAC;IA6ClD,CAAC;IA3CC,KAAK,CAAC,EAAE,CAAC,WAAwB;QAC/B,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;KA0BvB,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,WAAwB;QACjC,MAAM,WAAW,CAAC,KAAK,CACrB,oDAAoD,CACrD,CAAC;IACJ,CAAC;CACF;AA9CD,wFA8CC"}