@rytass/bpm-core-nestjs-module 0.9.0 → 0.10.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 (68) hide show
  1. package/CHANGELOG.md +57 -0
  2. package/README.md +17 -5
  3. package/package.json +11 -11
  4. package/src/lib/attachment/attachment-options.js +7 -1
  5. package/src/lib/attachment/attachment-options.js.map +1 -1
  6. package/src/lib/attachment/attachment.service.js +7 -0
  7. package/src/lib/attachment/attachment.service.js.map +1 -1
  8. package/src/lib/bpm/bpm-root.module.d.ts +11 -0
  9. package/src/lib/bpm/bpm-root.module.js.map +1 -1
  10. package/src/lib/calendar/calendar.module.d.ts +12 -0
  11. package/src/lib/calendar/calendar.module.js.map +1 -1
  12. package/src/lib/common/filters/all-exceptions.filter.d.ts +11 -0
  13. package/src/lib/common/filters/all-exceptions.filter.js +35 -1
  14. package/src/lib/common/filters/all-exceptions.filter.js.map +1 -1
  15. package/src/lib/form-data-source/form-data-source-value-resolver.service.d.ts +6 -7
  16. package/src/lib/form-data-source/form-data-source-value-resolver.service.js +91 -291
  17. package/src/lib/form-data-source/form-data-source-value-resolver.service.js.map +1 -1
  18. package/src/lib/form-data-source/form-data-source.queries.d.ts +24 -0
  19. package/src/lib/form-data-source/form-data-source.queries.js +179 -7
  20. package/src/lib/form-data-source/form-data-source.queries.js.map +1 -1
  21. package/src/lib/form-data-source/form-data-source.service.d.ts +36 -21
  22. package/src/lib/form-data-source/form-data-source.service.js +143 -359
  23. package/src/lib/form-data-source/form-data-source.service.js.map +1 -1
  24. package/src/lib/form-data-source/form-data-source.types.d.ts +17 -0
  25. package/src/lib/form-data-source/form-data-source.types.js.map +1 -1
  26. package/src/lib/form-data-source/form-data-source.validation.d.ts +78 -0
  27. package/src/lib/form-data-source/form-data-source.validation.js +409 -0
  28. package/src/lib/form-data-source/form-data-source.validation.js.map +1 -0
  29. package/src/lib/migrations/0000000021000-notification-silenced.d.ts +15 -0
  30. package/src/lib/migrations/0000000021000-notification-silenced.js +31 -0
  31. package/src/lib/migrations/0000000021000-notification-silenced.js.map +1 -0
  32. package/src/lib/migrations/index.d.ts +1 -0
  33. package/src/lib/migrations/index.js +3 -0
  34. package/src/lib/migrations/index.js.map +1 -1
  35. package/src/lib/notification/index.d.ts +1 -0
  36. package/src/lib/notification/index.js +1 -0
  37. package/src/lib/notification/index.js.map +1 -1
  38. package/src/lib/notification/notification-delivery.service.d.ts +26 -1
  39. package/src/lib/notification/notification-delivery.service.js +136 -13
  40. package/src/lib/notification/notification-delivery.service.js.map +1 -1
  41. package/src/lib/notification/notification-dispatcher.token.d.ts +13 -0
  42. package/src/lib/notification/notification-dispatcher.token.js.map +1 -1
  43. package/src/lib/notification/notification-observer.token.d.ts +6 -0
  44. package/src/lib/notification/notification-observer.token.js.map +1 -1
  45. package/src/lib/notification/notification-options.d.ts +30 -0
  46. package/src/lib/notification/notification-options.js +32 -4
  47. package/src/lib/notification/notification-options.js.map +1 -1
  48. package/src/lib/notification/notification-schedule.d.ts +41 -0
  49. package/src/lib/notification/notification-schedule.js +158 -0
  50. package/src/lib/notification/notification-schedule.js.map +1 -0
  51. package/src/lib/notification/notification.entity.d.ts +12 -0
  52. package/src/lib/notification/notification.entity.js +5 -0
  53. package/src/lib/notification/notification.entity.js.map +1 -1
  54. package/src/lib/notification/notification.service.d.ts +10 -0
  55. package/src/lib/notification/notification.service.js +100 -21
  56. package/src/lib/notification/notification.service.js.map +1 -1
  57. package/src/lib/template/index.d.ts +1 -0
  58. package/src/lib/template/index.js +1 -0
  59. package/src/lib/template/index.js.map +1 -1
  60. package/src/lib/template/template-observer.token.d.ts +67 -0
  61. package/src/lib/template/template-observer.token.js +16 -0
  62. package/src/lib/template/template-observer.token.js.map +1 -0
  63. package/src/lib/template/template.mutations.d.ts +1 -1
  64. package/src/lib/template/template.mutations.js +4 -3
  65. package/src/lib/template/template.mutations.js.map +1 -1
  66. package/src/lib/template/template.service.d.ts +18 -2
  67. package/src/lib/template/template.service.js +117 -17
  68. package/src/lib/template/template.service.js.map +1 -1
@@ -0,0 +1,67 @@
1
+ import { InjectionToken } from '@nestjs/common';
2
+ import { EntityManager } from 'typeorm';
3
+ import { ApprovalTemplateEntity } from './approval-template.entity';
4
+ import { ApprovalTemplateVersionEntity } from './approval-template-version.entity';
5
+ /**
6
+ * Which host-facing template mutation produced the change. One event is emitted
7
+ * per mutation, so a compose that also publishes reports `COMPOSED` with
8
+ * `published: true` rather than two separate events.
9
+ */
10
+ export declare enum BPMTemplateChangeActionEnum {
11
+ COMPOSED = "COMPOSED",
12
+ VERSION_PUBLISHED = "VERSION_PUBLISHED",
13
+ VERSION_ROLLED_BACK = "VERSION_ROLLED_BACK"
14
+ }
15
+ export interface BPMTemplateChangedEvent {
16
+ /** Which mutation ran. */
17
+ readonly action: BPMTemplateChangeActionEnum;
18
+ /** The template as it stands after the change. */
19
+ readonly template: ApprovalTemplateEntity;
20
+ /** The version the mutation acted on, after the change. */
21
+ readonly version: ApprovalTemplateVersionEntity;
22
+ /**
23
+ * The template's `currentVersionId` before the change, so a host can record
24
+ * "v6 → v4" for a rollback. `null` when the template had no published
25
+ * version yet; equal to `version.id` when the change did not move the
26
+ * pointer (a `COMPOSED` that only saved a draft).
27
+ */
28
+ readonly previousVersionId: string | null;
29
+ /**
30
+ * Whether `version` is the template's published version as of this event.
31
+ * Always `true` for `VERSION_PUBLISHED` and `VERSION_ROLLED_BACK`; follows
32
+ * the `publish` flag for `COMPOSED`.
33
+ */
34
+ readonly published: boolean;
35
+ /**
36
+ * The member BPM was told performed the change, or `null` when the caller
37
+ * supplied none. BPM does not authenticate this value — it is whatever the
38
+ * host's resolver passed in.
39
+ */
40
+ readonly actorMemberId: string | null;
41
+ /**
42
+ * Present when the change was written inside a caller-supplied transaction,
43
+ * in which case it is **not committed yet** — a host writing an audit row
44
+ * should join this manager or defer until it commits. Absent when BPM owned
45
+ * the transaction, which means the change is already committed.
46
+ */
47
+ readonly manager?: EntityManager;
48
+ }
49
+ /**
50
+ * Observes approval-template changes, so a host can keep an audit trail of
51
+ * "who changed the approval flow, and when".
52
+ *
53
+ * BPM registers `publishApprovalTemplateVersion`,
54
+ * `rollbackApprovalTemplateVersion` and `composeApprovalTemplateWithForm` on
55
+ * the same GraphQL schema as the host's own resolvers, and the embedded
56
+ * `<WorkflowDesigner>` calls them directly. Without this hook the only way for
57
+ * a host to learn that a template moved is to match those field names in an
58
+ * interceptor, which couples the host to BPM's schema rather than to an
59
+ * interface.
60
+ *
61
+ * Failures are swallowed by BPM: an observer must never fail the mutation that
62
+ * produced the change.
63
+ */
64
+ export interface BPMTemplateObserver {
65
+ onTemplateChanged(event: BPMTemplateChangedEvent): Promise<void> | void;
66
+ }
67
+ export declare const BPM_TEMPLATE_OBSERVER: InjectionToken<BPMTemplateObserver>;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BPM_TEMPLATE_OBSERVER = exports.BPMTemplateChangeActionEnum = void 0;
4
+ /**
5
+ * Which host-facing template mutation produced the change. One event is emitted
6
+ * per mutation, so a compose that also publishes reports `COMPOSED` with
7
+ * `published: true` rather than two separate events.
8
+ */
9
+ var BPMTemplateChangeActionEnum;
10
+ (function (BPMTemplateChangeActionEnum) {
11
+ BPMTemplateChangeActionEnum["COMPOSED"] = "COMPOSED";
12
+ BPMTemplateChangeActionEnum["VERSION_PUBLISHED"] = "VERSION_PUBLISHED";
13
+ BPMTemplateChangeActionEnum["VERSION_ROLLED_BACK"] = "VERSION_ROLLED_BACK";
14
+ })(BPMTemplateChangeActionEnum || (exports.BPMTemplateChangeActionEnum = BPMTemplateChangeActionEnum = {}));
15
+ exports.BPM_TEMPLATE_OBSERVER = Symbol('BPM_TEMPLATE_OBSERVER');
16
+ //# sourceMappingURL=template-observer.token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template-observer.token.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/template/template-observer.token.ts"],"names":[],"mappings":";;;AAKA;;;;GAIG;AACH,IAAY,2BAIX;AAJD,WAAY,2BAA2B;IACrC,oDAAqB,CAAA;IACrB,sEAAuC,CAAA;IACvC,0EAA2C,CAAA;AAC7C,CAAC,EAJW,2BAA2B,2CAA3B,2BAA2B,QAItC;AAwDY,QAAA,qBAAqB,GAChC,MAAM,CAAC,uBAAuB,CAAC,CAAC"}
@@ -18,5 +18,5 @@ export declare class TemplateMutations {
18
18
  updateApprovalTemplateDraft(input: UpdateApprovalTemplateDraftInput): Promise<ApprovalTemplateVersionEntity>;
19
19
  forkApprovalTemplate(templateId: string): Promise<ApprovalTemplateVersionEntity>;
20
20
  publishApprovalTemplateVersion(versionId: string, publishedByMemberId?: string, currentMemberId?: string): Promise<ApprovalTemplateVersionEntity>;
21
- rollbackApprovalTemplateVersion(versionId: string): Promise<ApprovalTemplateVersionEntity>;
21
+ rollbackApprovalTemplateVersion(versionId: string, currentMemberId?: string): Promise<ApprovalTemplateVersionEntity>;
22
22
  }
@@ -52,8 +52,8 @@ let TemplateMutations = class TemplateMutations {
52
52
  async publishApprovalTemplateVersion(versionId, publishedByMemberId, currentMemberId) {
53
53
  return this.templateService.publishApprovalTemplateVersion(versionId, currentMemberId ?? publishedByMemberId);
54
54
  }
55
- async rollbackApprovalTemplateVersion(versionId) {
56
- return this.templateService.rollbackApprovalTemplateVersion(versionId);
55
+ async rollbackApprovalTemplateVersion(versionId, currentMemberId) {
56
+ return this.templateService.rollbackApprovalTemplateVersion(versionId, currentMemberId);
57
57
  }
58
58
  };
59
59
  exports.TemplateMutations = TemplateMutations;
@@ -147,8 +147,9 @@ tslib_1.__decorate([
147
147
  tslib_1.__decorate([
148
148
  (0, graphql_1.Mutation)(() => approval_template_version_entity_1.ApprovalTemplateVersionEntity),
149
149
  tslib_1.__param(0, (0, graphql_1.Args)('versionId', { type: () => String })),
150
+ tslib_1.__param(1, (0, bpm_auth_1.BPMCurrentMemberId)()),
150
151
  tslib_1.__metadata("design:type", Function),
151
- tslib_1.__metadata("design:paramtypes", [String]),
152
+ tslib_1.__metadata("design:paramtypes", [String, String]),
152
153
  tslib_1.__metadata("design:returntype", Promise)
153
154
  ], TemplateMutations.prototype, "rollbackApprovalTemplateVersion", null);
154
155
  exports.TemplateMutations = TemplateMutations = tslib_1.__decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"template.mutations.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/template/template.mutations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template.mutations.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/template/template.mutations.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { ModuleRef } from '@nestjs/core';
1
2
  import { EntityManager, Repository } from 'typeorm';
2
3
  import { ConditionService } from '../condition/condition.service';
3
4
  import { FormDefinitionVersionEntity } from '../form/form-definition-version.entity';
@@ -30,7 +31,9 @@ export declare class TemplateService {
30
31
  private readonly formDefinitionVersionRepository;
31
32
  private readonly conditionService;
32
33
  private readonly formService;
33
- constructor(templateRepository: Repository<ApprovalTemplateEntity>, templateCategoryRepository: Repository<ApprovalTemplateCategoryEntity>, templateVersionRepository: Repository<ApprovalTemplateVersionEntity>, formDefinitionVersionRepository: Repository<FormDefinitionVersionEntity>, conditionService: ConditionService, formService: FormService);
34
+ private readonly moduleRef;
35
+ private readonly logger;
36
+ constructor(templateRepository: Repository<ApprovalTemplateEntity>, templateCategoryRepository: Repository<ApprovalTemplateCategoryEntity>, templateVersionRepository: Repository<ApprovalTemplateVersionEntity>, formDefinitionVersionRepository: Repository<FormDefinitionVersionEntity>, conditionService: ConditionService, formService: FormService, moduleRef: ModuleRef);
34
37
  createApprovalTemplate(input: CreateApprovalTemplateInput, manager?: EntityManager): Promise<ApprovalTemplateEntity>;
35
38
  private createApprovalTemplateWithManager;
36
39
  /**
@@ -68,8 +71,21 @@ export declare class TemplateService {
68
71
  updateApprovalTemplateDraft(input: UpdateApprovalTemplateDraftInput, manager?: EntityManager): Promise<ApprovalTemplateVersionEntity>;
69
72
  forkApprovalTemplate(templateId: string, manager?: EntityManager): Promise<ApprovalTemplateVersionEntity>;
70
73
  publishApprovalTemplateVersion(versionId: string, publishedByMemberId?: string, manager?: EntityManager): Promise<ApprovalTemplateVersionEntity>;
74
+ /**
75
+ * The publish itself, without the observer notification. Split out so
76
+ * `composeApprovalTemplateWithForm` can publish inside its own transaction
77
+ * and still report a single `COMPOSED` event rather than two.
78
+ */
79
+ private publishVersion;
71
80
  private publishApprovalTemplateVersionWithManager;
72
- rollbackApprovalTemplateVersion(versionId: string): Promise<ApprovalTemplateVersionEntity>;
81
+ rollbackApprovalTemplateVersion(versionId: string, rolledBackByMemberId?: string): Promise<ApprovalTemplateVersionEntity>;
82
+ /**
83
+ * Tells a host-provided observer that a template changed. Errors are logged
84
+ * and dropped: an audit-trail hook must not be able to fail the mutation it
85
+ * is observing.
86
+ */
87
+ private notifyTemplateObserver;
88
+ private readHostObserver;
73
89
  private validatePublishableVersion;
74
90
  private validateOptionalFormDefinitionVersion;
75
91
  private validateOptionalTemplateCategory;
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
+ var TemplateService_1;
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.TemplateService = void 0;
4
5
  const tslib_1 = require("tslib");
5
6
  const common_1 = require("@nestjs/common");
7
+ const core_1 = require("@nestjs/core");
6
8
  const typeorm_1 = require("@nestjs/typeorm");
7
9
  const typeorm_2 = require("typeorm");
8
10
  const condition_service_1 = require("../condition/condition.service");
@@ -13,16 +15,19 @@ const form_service_1 = require("../form/form.service");
13
15
  const approval_template_category_entity_1 = require("./approval-template-category.entity");
14
16
  const approval_template_entity_1 = require("./approval-template.entity");
15
17
  const approval_template_version_entity_1 = require("./approval-template-version.entity");
18
+ const template_observer_token_1 = require("./template-observer.token");
16
19
  const template_enums_1 = require("./template.enums");
17
20
  const workflow_definition_validator_1 = require("./workflow-definition.validator");
18
- let TemplateService = class TemplateService {
19
- constructor(templateRepository, templateCategoryRepository, templateVersionRepository, formDefinitionVersionRepository, conditionService, formService) {
21
+ let TemplateService = TemplateService_1 = class TemplateService {
22
+ constructor(templateRepository, templateCategoryRepository, templateVersionRepository, formDefinitionVersionRepository, conditionService, formService, moduleRef) {
20
23
  this.templateRepository = templateRepository;
21
24
  this.templateCategoryRepository = templateCategoryRepository;
22
25
  this.templateVersionRepository = templateVersionRepository;
23
26
  this.formDefinitionVersionRepository = formDefinitionVersionRepository;
24
27
  this.conditionService = conditionService;
25
28
  this.formService = formService;
29
+ this.moduleRef = moduleRef;
30
+ this.logger = new common_1.Logger(TemplateService_1.name);
26
31
  }
27
32
  async createApprovalTemplate(input, manager) {
28
33
  const run = (txManager) => this.createApprovalTemplateWithManager(txManager, input);
@@ -43,6 +48,10 @@ let TemplateService = class TemplateService {
43
48
  createdByMemberId: input.createdByMemberId,
44
49
  currentVersionId: null,
45
50
  description: input.description,
51
+ // Stated rather than left to the column default, because publishing
52
+ // reads `isActive` back and a template that never carried the value
53
+ // in memory would read as deactivated.
54
+ isActive: true,
46
55
  name: input.name,
47
56
  }));
48
57
  await versionRepository.save(versionRepository.create({
@@ -69,7 +78,7 @@ let TemplateService = class TemplateService {
69
78
  * transaction so a partial failure rolls back both sides.
70
79
  */
71
80
  async composeApprovalTemplateWithForm(input, currentMemberId) {
72
- return this.templateRepository.manager.transaction(async (manager) => {
81
+ const { event, result } = await this.templateRepository.manager.transaction(async (manager) => {
73
82
  const formDefinitionVersion = await this.resolveComposedFormVersion(manager, input, currentMemberId);
74
83
  const templateDraftVersion = await this.resolveComposedTemplateDraftVersion(manager, input, currentMemberId);
75
84
  let templateVersion = await this.updateApprovalTemplateDraft({
@@ -80,8 +89,11 @@ let TemplateService = class TemplateService {
80
89
  versionId: templateDraftVersion.id,
81
90
  workflowDefinitionJson: input.workflowDefinitionJson,
82
91
  }, manager);
92
+ let previousVersionId = null;
83
93
  if (input.publish) {
84
- templateVersion = await this.publishApprovalTemplateVersion(templateDraftVersion.id, currentMemberId ?? undefined, manager);
94
+ const published = await this.publishVersion(templateDraftVersion.id, currentMemberId ?? undefined, manager);
95
+ previousVersionId = published.previousVersionId;
96
+ templateVersion = published.version;
85
97
  }
86
98
  const formDefinition = await manager
87
99
  .getRepository(form_definition_entity_1.FormDefinitionEntity)
@@ -90,13 +102,27 @@ let TemplateService = class TemplateService {
90
102
  .getRepository(approval_template_entity_1.ApprovalTemplateEntity)
91
103
  .findOneByOrFail({ id: templateVersion.templateId });
92
104
  return {
93
- formDefinition,
94
- formDefinitionVersion,
95
- published: input.publish,
96
- template,
97
- templateVersion,
105
+ event: {
106
+ action: template_observer_token_1.BPMTemplateChangeActionEnum.COMPOSED,
107
+ actorMemberId: currentMemberId,
108
+ previousVersionId: input.publish
109
+ ? previousVersionId
110
+ : template.currentVersionId,
111
+ published: input.publish,
112
+ template,
113
+ version: templateVersion,
114
+ },
115
+ result: {
116
+ formDefinition,
117
+ formDefinitionVersion,
118
+ published: input.publish,
119
+ template,
120
+ templateVersion,
121
+ },
98
122
  };
99
123
  });
124
+ await this.notifyTemplateObserver(event);
125
+ return result;
100
126
  }
101
127
  async resolveComposedFormVersion(manager, input, currentMemberId) {
102
128
  if (!input.formDefinitionId) {
@@ -353,6 +379,24 @@ let TemplateService = class TemplateService {
353
379
  }));
354
380
  }
355
381
  async publishApprovalTemplateVersion(versionId, publishedByMemberId, manager) {
382
+ const published = await this.publishVersion(versionId, publishedByMemberId, manager);
383
+ await this.notifyTemplateObserver({
384
+ action: template_observer_token_1.BPMTemplateChangeActionEnum.VERSION_PUBLISHED,
385
+ actorMemberId: publishedByMemberId ?? null,
386
+ previousVersionId: published.previousVersionId,
387
+ published: true,
388
+ template: published.template,
389
+ version: published.version,
390
+ ...(manager ? { manager } : {}),
391
+ });
392
+ return published.version;
393
+ }
394
+ /**
395
+ * The publish itself, without the observer notification. Split out so
396
+ * `composeApprovalTemplateWithForm` can publish inside its own transaction
397
+ * and still report a single `COMPOSED` event rather than two.
398
+ */
399
+ async publishVersion(versionId, publishedByMemberId, manager) {
356
400
  const version = await this.getTemplateVersionOrThrow(versionId, manager);
357
401
  if (version.status !== template_enums_1.ApprovalTemplateVersionStatusEnum.DRAFT) {
358
402
  throw new common_1.ConflictException('Only draft approval template versions can be published');
@@ -372,6 +416,13 @@ let TemplateService = class TemplateService {
372
416
  if (!template) {
373
417
  throw new common_1.NotFoundException(`Approval template ${version.templateId} was not found`);
374
418
  }
419
+ // Same refusal the workflow engine applies when starting or advancing an
420
+ // instance: a deactivated template must not gain a new published version
421
+ // behind the host's back.
422
+ if (!template.isActive) {
423
+ throw new common_1.ConflictException('Approval template is deactivated');
424
+ }
425
+ const previousVersionId = template.currentVersionId;
375
426
  if (template.currentVersionId) {
376
427
  await versionRepository.update({ id: template.currentVersionId }, {
377
428
  archivedAt: new Date(),
@@ -385,17 +436,21 @@ let TemplateService = class TemplateService {
385
436
  status: template_enums_1.ApprovalTemplateVersionStatusEnum.PUBLISHED,
386
437
  });
387
438
  const saved = await versionRepository.save(published);
388
- await templateRepository.save(templateRepository.merge(template, {
439
+ const savedTemplate = await templateRepository.save(templateRepository.merge(template, {
389
440
  currentVersionId: saved.id,
390
441
  }));
391
- return saved;
442
+ return {
443
+ previousVersionId,
444
+ template: savedTemplate,
445
+ version: saved,
446
+ };
392
447
  }
393
- async rollbackApprovalTemplateVersion(versionId) {
448
+ async rollbackApprovalTemplateVersion(versionId, rolledBackByMemberId) {
394
449
  const target = await this.getTemplateVersionOrThrow(versionId);
395
450
  if (target.status === template_enums_1.ApprovalTemplateVersionStatusEnum.DRAFT) {
396
451
  throw new common_1.ConflictException('Draft approval template versions cannot be rollback targets');
397
452
  }
398
- return this.templateRepository.manager.transaction(async (manager) => {
453
+ const rolledBack = await this.templateRepository.manager.transaction(async (manager) => {
399
454
  const templateRepository = manager.getRepository(approval_template_entity_1.ApprovalTemplateEntity);
400
455
  const versionRepository = manager.getRepository(approval_template_version_entity_1.ApprovalTemplateVersionEntity);
401
456
  const template = await templateRepository.findOne({
@@ -404,6 +459,12 @@ let TemplateService = class TemplateService {
404
459
  if (!template) {
405
460
  throw new common_1.NotFoundException(`Approval template ${target.templateId} was not found`);
406
461
  }
462
+ // See `publishApprovalTemplateVersionWithManager`: rolling back moves
463
+ // the published pointer, which a deactivated template must not do.
464
+ if (!template.isActive) {
465
+ throw new common_1.ConflictException('Approval template is deactivated');
466
+ }
467
+ const previousVersionId = template.currentVersionId;
407
468
  if (template.currentVersionId &&
408
469
  template.currentVersionId !== target.id) {
409
470
  await versionRepository.update({ id: template.currentVersionId }, {
@@ -416,11 +477,49 @@ let TemplateService = class TemplateService {
416
477
  status: template_enums_1.ApprovalTemplateVersionStatusEnum.PUBLISHED,
417
478
  });
418
479
  const saved = await versionRepository.save(restored);
419
- await templateRepository.save(templateRepository.merge(template, {
480
+ const savedTemplate = await templateRepository.save(templateRepository.merge(template, {
420
481
  currentVersionId: saved.id,
421
482
  }));
422
- return saved;
483
+ return {
484
+ previousVersionId,
485
+ template: savedTemplate,
486
+ version: saved,
487
+ };
488
+ });
489
+ await this.notifyTemplateObserver({
490
+ action: template_observer_token_1.BPMTemplateChangeActionEnum.VERSION_ROLLED_BACK,
491
+ actorMemberId: rolledBackByMemberId ?? null,
492
+ previousVersionId: rolledBack.previousVersionId,
493
+ published: true,
494
+ template: rolledBack.template,
495
+ version: rolledBack.version,
423
496
  });
497
+ return rolledBack.version;
498
+ }
499
+ /**
500
+ * Tells a host-provided observer that a template changed. Errors are logged
501
+ * and dropped: an audit-trail hook must not be able to fail the mutation it
502
+ * is observing.
503
+ */
504
+ async notifyTemplateObserver(event) {
505
+ const observer = this.readHostObserver();
506
+ if (!observer) {
507
+ return;
508
+ }
509
+ try {
510
+ await observer.onTemplateChanged(event);
511
+ }
512
+ catch (error) {
513
+ this.logger.error(`BPM_TEMPLATE_OBSERVER failed for ${event.action} on template ${event.template.id}`, error instanceof Error ? error.stack : String(error));
514
+ }
515
+ }
516
+ readHostObserver() {
517
+ try {
518
+ return this.moduleRef.get(template_observer_token_1.BPM_TEMPLATE_OBSERVER, { strict: false });
519
+ }
520
+ catch {
521
+ return null;
522
+ }
424
523
  }
425
524
  async validatePublishableVersion(version, manager) {
426
525
  if (!version.formDefinitionVersionId) {
@@ -549,7 +648,7 @@ let TemplateService = class TemplateService {
549
648
  }
550
649
  };
551
650
  exports.TemplateService = TemplateService;
552
- exports.TemplateService = TemplateService = tslib_1.__decorate([
651
+ exports.TemplateService = TemplateService = TemplateService_1 = tslib_1.__decorate([
553
652
  (0, common_1.Injectable)(),
554
653
  tslib_1.__param(0, (0, typeorm_1.InjectRepository)(approval_template_entity_1.ApprovalTemplateEntity)),
555
654
  tslib_1.__param(1, (0, typeorm_1.InjectRepository)(approval_template_category_entity_1.ApprovalTemplateCategoryEntity)),
@@ -560,7 +659,8 @@ exports.TemplateService = TemplateService = tslib_1.__decorate([
560
659
  typeorm_2.Repository,
561
660
  typeorm_2.Repository,
562
661
  condition_service_1.ConditionService,
563
- form_service_1.FormService])
662
+ form_service_1.FormService,
663
+ core_1.ModuleRef])
564
664
  ], TemplateService);
565
665
  function parseOptionalJsonObject(value) {
566
666
  if (!value) {
@@ -1 +1 @@
1
- {"version":3,"file":"template.service.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/template/template.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template.service.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/template/template.service.ts"],"names":[],"mappings":"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"}