@rytass/bpm-core-nestjs-module 0.20.0 → 0.21.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.
- package/CHANGELOG.md +60 -0
- package/README.md +4 -4
- package/package.json +2 -2
- package/src/lib/condition/expression-errors.js +17 -1
- package/src/lib/condition/expression-errors.js.map +1 -1
- package/src/lib/form/form-data-issue.d.ts +34 -0
- package/src/lib/form/form-data-issue.js +59 -0
- package/src/lib/form/form-data-issue.js.map +1 -0
- package/src/lib/form/form-member-value.validator.d.ts +2 -2
- package/src/lib/form/form-member-value.validator.js +2 -3
- package/src/lib/form/form-member-value.validator.js.map +1 -1
- package/src/lib/form/form-org-unit-value.validator.d.ts +2 -2
- package/src/lib/form/form-org-unit-value.validator.js +4 -1
- package/src/lib/form/form-org-unit-value.validator.js.map +1 -1
- package/src/lib/form/form-schema.validator.js +40 -0
- package/src/lib/form/form-schema.validator.js.map +1 -1
- package/src/lib/migrations/0000000031000-approval-instance-form-data-gin.d.ts +29 -0
- package/src/lib/migrations/0000000031000-approval-instance-form-data-gin.js +44 -0
- package/src/lib/migrations/0000000031000-approval-instance-form-data-gin.js.map +1 -0
- package/src/lib/migrations/index.d.ts +1 -0
- package/src/lib/migrations/index.js +3 -0
- package/src/lib/migrations/index.js.map +1 -1
- package/src/lib/template/filterable-field-guard.d.ts +49 -0
- package/src/lib/template/filterable-field-guard.js +141 -0
- package/src/lib/template/filterable-field-guard.js.map +1 -0
- package/src/lib/template/filterable-field-issue.object.d.ts +21 -0
- package/src/lib/template/filterable-field-issue.object.js +65 -0
- package/src/lib/template/filterable-field-issue.object.js.map +1 -0
- package/src/lib/template/filterable-field.queries.d.ts +20 -0
- package/src/lib/template/filterable-field.queries.js +80 -0
- package/src/lib/template/filterable-field.queries.js.map +1 -0
- package/src/lib/template/index.d.ts +1 -0
- package/src/lib/template/index.js +1 -0
- package/src/lib/template/index.js.map +1 -1
- package/src/lib/template/template.module.js +2 -0
- package/src/lib/template/template.module.js.map +1 -1
- package/src/lib/template/template.service.d.ts +39 -0
- package/src/lib/template/template.service.js +167 -44
- package/src/lib/template/template.service.js.map +1 -1
- package/src/lib/workflow-engine/approval-instance-field-filter.compiler.d.ts +49 -0
- package/src/lib/workflow-engine/approval-instance-field-filter.compiler.js +501 -0
- package/src/lib/workflow-engine/approval-instance-field-filter.compiler.js.map +1 -0
- package/src/lib/workflow-engine/approval-instance-filterable-field.policy.d.ts +15 -0
- package/src/lib/workflow-engine/approval-instance-filterable-field.policy.js +20 -0
- package/src/lib/workflow-engine/approval-instance-filterable-field.policy.js.map +1 -0
- package/src/lib/workflow-engine/dto/approval-instance-field-filter.input.d.ts +15 -0
- package/src/lib/workflow-engine/dto/approval-instance-field-filter.input.js +55 -0
- package/src/lib/workflow-engine/dto/approval-instance-field-filter.input.js.map +1 -0
- package/src/lib/workflow-engine/dto/approval-instance-list-args.d.ts +9 -0
- package/src/lib/workflow-engine/dto/approval-instance-list-args.js +24 -0
- package/src/lib/workflow-engine/dto/approval-instance-list-args.js.map +1 -0
- package/src/lib/workflow-engine/dto/approval-instance-sort.input.d.ts +10 -0
- package/src/lib/workflow-engine/dto/approval-instance-sort.input.js +32 -0
- package/src/lib/workflow-engine/dto/approval-instance-sort.input.js.map +1 -0
- package/src/lib/workflow-engine/workflow-condition-evaluator.js +12 -12
- package/src/lib/workflow-engine/workflow-condition-evaluator.js.map +1 -1
- package/src/lib/workflow-engine/workflow-engine.enums.d.ts +12 -0
- package/src/lib/workflow-engine/workflow-engine.enums.js +21 -1
- package/src/lib/workflow-engine/workflow-engine.enums.js.map +1 -1
- package/src/lib/workflow-engine/workflow-engine.queries.d.ts +5 -3
- package/src/lib/workflow-engine/workflow-engine.queries.js +31 -9
- package/src/lib/workflow-engine/workflow-engine.queries.js.map +1 -1
- package/src/lib/workflow-engine/workflow-engine.service.d.ts +35 -4
- package/src/lib/workflow-engine/workflow-engine.service.js +342 -81
- package/src/lib/workflow-engine/workflow-engine.service.js.map +1 -1
- package/src/lib/workflow-engine/workflow-form-value.d.ts +11 -0
- package/src/lib/workflow-engine/workflow-form-value.js +33 -0
- package/src/lib/workflow-engine/workflow-form-value.js.map +1 -0
|
@@ -22,6 +22,7 @@ const form_enums_1 = require("../form/form.enums");
|
|
|
22
22
|
const form_service_1 = require("../form/form.service");
|
|
23
23
|
const workflow_webhook_validator_1 = require("../workflow-webhook/workflow-webhook.validator");
|
|
24
24
|
const workflow_webhook_service_1 = require("../workflow-webhook/workflow-webhook.service");
|
|
25
|
+
const filterable_field_guard_1 = require("./filterable-field-guard");
|
|
25
26
|
const approval_template_category_entity_1 = require("./approval-template-category.entity");
|
|
26
27
|
const approval_template_entity_1 = require("./approval-template.entity");
|
|
27
28
|
const approval_template_version_entity_1 = require("./approval-template-version.entity");
|
|
@@ -108,6 +109,14 @@ let TemplateService = TemplateService_1 = class TemplateService {
|
|
|
108
109
|
*/
|
|
109
110
|
async composeApprovalTemplateWithForm(input, currentMemberId) {
|
|
110
111
|
const { event, result } = await this.templateRepository.manager.transaction(async (manager) => {
|
|
112
|
+
// ADR 25 §15: an existing template's row is locked before anything
|
|
113
|
+
// else, so this compose takes the template lock before it forks or
|
|
114
|
+
// writes the draft row, the same order a standalone publish uses.
|
|
115
|
+
// Taking it later (after the draft write, inside publishVersion) let a
|
|
116
|
+
// concurrent publish of the same draft deadlock against this one.
|
|
117
|
+
if (input.templateId) {
|
|
118
|
+
await this.readLockedTemplateOrThrow(manager, input.templateId);
|
|
119
|
+
}
|
|
111
120
|
const formDefinitionVersion = await this.resolveComposedFormVersion(manager, input, currentMemberId);
|
|
112
121
|
const templateDraftVersion = await this.resolveComposedTemplateDraftVersion(manager, input, currentMemberId);
|
|
113
122
|
let templateVersion = await this.updateApprovalTemplateDraft({
|
|
@@ -218,27 +227,30 @@ let TemplateService = TemplateService_1 = class TemplateService {
|
|
|
218
227
|
});
|
|
219
228
|
}
|
|
220
229
|
async updateApprovalTemplate(input) {
|
|
221
|
-
const existing = await this.getTemplateOrThrow(input.id);
|
|
222
230
|
const category = input.categoryId === undefined
|
|
223
231
|
? undefined
|
|
224
232
|
: await this.validateOptionalTemplateCategory(input.categoryId);
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
+
await this.templateRepository.manager.transaction(async (manager) => {
|
|
234
|
+
const existing = await this.readLockedTemplateOrThrow(manager, input.id);
|
|
235
|
+
const templates = manager.getRepository(approval_template_entity_1.ApprovalTemplateEntity);
|
|
236
|
+
const next = templates.merge(existing, {
|
|
237
|
+
category: input.category !== undefined
|
|
238
|
+
? input.category
|
|
239
|
+
: category !== undefined
|
|
240
|
+
? (category?.name ?? null)
|
|
241
|
+
: existing.category,
|
|
242
|
+
description: input.description ?? existing.description,
|
|
243
|
+
name: input.name ?? existing.name,
|
|
244
|
+
});
|
|
245
|
+
// Assigned outside `merge` because the relation, not the `categoryId`
|
|
246
|
+
// scalar, owns `category_id`. Leaving `categoryDetail` untouched when the
|
|
247
|
+
// caller omitted `categoryId` keeps the loaded relation, which persists
|
|
248
|
+
// the current category unchanged.
|
|
249
|
+
if (category !== undefined) {
|
|
250
|
+
next.categoryDetail = category;
|
|
251
|
+
}
|
|
252
|
+
await templates.save(next);
|
|
233
253
|
});
|
|
234
|
-
// Assigned outside `merge` because the relation, not the `categoryId`
|
|
235
|
-
// scalar, owns `category_id`. Leaving `categoryDetail` untouched when the
|
|
236
|
-
// caller omitted `categoryId` keeps the loaded relation, which persists
|
|
237
|
-
// the current category unchanged.
|
|
238
|
-
if (category !== undefined) {
|
|
239
|
-
next.categoryDetail = category;
|
|
240
|
-
}
|
|
241
|
-
await this.templateRepository.save(next);
|
|
242
254
|
// Re-read rather than returning the saved entity: `categoryId` is not
|
|
243
255
|
// written by `save()` any more, so the in-memory copy would still carry
|
|
244
256
|
// the previous category alongside the new `categoryDetail` — the same
|
|
@@ -364,25 +376,51 @@ let TemplateService = TemplateService_1 = class TemplateService {
|
|
|
364
376
|
return this.getTemplateVersionOrThrow(id);
|
|
365
377
|
}
|
|
366
378
|
async updateApprovalTemplateDraft(input, manager) {
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
379
|
+
return this.runInTemplateTransaction(manager, async (txManager) => {
|
|
380
|
+
const versionRepository = this.templateVersions(txManager);
|
|
381
|
+
// Read once to learn the template, lock its row (ADR 25 §15), then read
|
|
382
|
+
// the draft again: a publish that committed before the lock has turned
|
|
383
|
+
// it PUBLISHED, and saving the copy read before would write the old
|
|
384
|
+
// DRAFT status and empty publish fields back over it.
|
|
385
|
+
const unlocked = await this.getTemplateVersionOrThrow(input.versionId, txManager);
|
|
386
|
+
await this.readLockedTemplateOrThrow(txManager, unlocked.templateId);
|
|
387
|
+
const existing = await this.getTemplateVersionOrThrow(input.versionId, txManager);
|
|
388
|
+
if (existing.status !== template_enums_1.ApprovalTemplateVersionStatusEnum.DRAFT) {
|
|
389
|
+
throw new common_1.ConflictException('Only draft approval template versions can be updated');
|
|
390
|
+
}
|
|
391
|
+
await this.validateOptionalFormDefinitionVersion(input.formDefinitionVersionId, txManager);
|
|
392
|
+
const workflowDefinition = this.parseWorkflowDefinitionOrThrow(input.workflowDefinitionJson);
|
|
393
|
+
const next = versionRepository.merge(existing, {
|
|
394
|
+
formDefinitionVersionId: input.formDefinitionVersionId,
|
|
395
|
+
initiatorPolicyCel: input.initiatorPolicyCel,
|
|
396
|
+
notificationConfig: parseOptionalJsonObject(input.notificationConfigJson),
|
|
397
|
+
slaDefaults: parseOptionalJsonObject(input.slaDefaultsJson),
|
|
398
|
+
workflowDefinition,
|
|
399
|
+
});
|
|
400
|
+
return versionRepository.save(next);
|
|
380
401
|
});
|
|
381
|
-
|
|
402
|
+
}
|
|
403
|
+
/**
|
|
404
|
+
* Runs `run` in the caller's transaction when one is passed, otherwise in a
|
|
405
|
+
* new one, so a template lock taken inside it is held until the write
|
|
406
|
+
* commits.
|
|
407
|
+
*/
|
|
408
|
+
runInTemplateTransaction(manager, run) {
|
|
409
|
+
return manager
|
|
410
|
+
? run(manager)
|
|
411
|
+
: this.templateRepository.manager.transaction(run);
|
|
382
412
|
}
|
|
383
413
|
async forkApprovalTemplate(templateId, manager) {
|
|
414
|
+
return this.runInTemplateTransaction(manager, (txManager) => this.forkApprovalTemplateLocked(templateId, txManager));
|
|
415
|
+
}
|
|
416
|
+
/**
|
|
417
|
+
* Forks under the template row lock (ADR 25 §15): the draft check, the
|
|
418
|
+
* source read and the insert see the template as no concurrent publish or
|
|
419
|
+
* fork can change it until this commits.
|
|
420
|
+
*/
|
|
421
|
+
async forkApprovalTemplateLocked(templateId, manager) {
|
|
384
422
|
const versionRepository = this.templateVersions(manager);
|
|
385
|
-
const template = await this.
|
|
423
|
+
const template = await this.readLockedTemplateOrThrow(manager, templateId);
|
|
386
424
|
const existingDraft = await versionRepository.findOne({
|
|
387
425
|
where: {
|
|
388
426
|
status: template_enums_1.ApprovalTemplateVersionStatusEnum.DRAFT,
|
|
@@ -433,18 +471,45 @@ let TemplateService = TemplateService_1 = class TemplateService {
|
|
|
433
471
|
if (version.status !== template_enums_1.ApprovalTemplateVersionStatusEnum.DRAFT) {
|
|
434
472
|
throw new common_1.ConflictException('Only draft approval template versions can be published');
|
|
435
473
|
}
|
|
474
|
+
// Early refusals only: they run outside the lock and are repeated below.
|
|
436
475
|
await this.validatePublishableVersion(version, manager);
|
|
437
|
-
|
|
476
|
+
// ADR 25 §5.4 and §15: the template row is locked before the enable check
|
|
477
|
+
// and before the draft is read again, so a concurrent form-data write
|
|
478
|
+
// (which takes FOR SHARE on the same row) cannot slip between the check
|
|
479
|
+
// and the commit, and the draft is judged as it is under the lock.
|
|
480
|
+
const run = async (txManager) => {
|
|
481
|
+
const lockedTemplate = await this.lockTemplateRow(txManager, version.templateId, 'pessimistic_write');
|
|
482
|
+
if (!lockedTemplate) {
|
|
483
|
+
throw new common_1.NotFoundException(`Approval template ${version.templateId} was not found`);
|
|
484
|
+
}
|
|
485
|
+
const lockedVersion = await this.getTemplateVersionOrThrow(versionId, txManager);
|
|
486
|
+
if (lockedVersion.status !== template_enums_1.ApprovalTemplateVersionStatusEnum.DRAFT) {
|
|
487
|
+
throw new common_1.ConflictException('Only draft approval template versions can be published');
|
|
488
|
+
}
|
|
489
|
+
const formSchema = await this.validatePublishableVersion(lockedVersion, txManager);
|
|
490
|
+
return this.publishApprovalTemplateVersionWithManager(txManager, lockedVersion, publishedByMemberId, formSchema);
|
|
491
|
+
};
|
|
438
492
|
return manager
|
|
439
493
|
? run(manager)
|
|
440
494
|
: this.templateRepository.manager.transaction(run);
|
|
441
495
|
}
|
|
442
|
-
|
|
496
|
+
/**
|
|
497
|
+
* Reads one template row, optionally locked. Locks are only taken inside a
|
|
498
|
+
* transaction; the caller passes the transaction's manager.
|
|
499
|
+
*/
|
|
500
|
+
async lockTemplateRow(manager, templateId, mode) {
|
|
501
|
+
return manager.getRepository(approval_template_entity_1.ApprovalTemplateEntity).findOne({
|
|
502
|
+
lock: { mode },
|
|
503
|
+
where: { deletedAt: (0, typeorm_2.IsNull)(), id: templateId },
|
|
504
|
+
});
|
|
505
|
+
}
|
|
506
|
+
async publishApprovalTemplateVersionWithManager(manager, version, publishedByMemberId, formSchema) {
|
|
443
507
|
const templateRepository = manager.getRepository(approval_template_entity_1.ApprovalTemplateEntity);
|
|
444
508
|
const versionRepository = manager.getRepository(approval_template_version_entity_1.ApprovalTemplateVersionEntity);
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
509
|
+
// Already locked by the caller (`publishVersion`); the lock is taken again
|
|
510
|
+
// here so this method is safe on its own, and the lock is re-entrant
|
|
511
|
+
// within one transaction.
|
|
512
|
+
const template = await this.lockTemplateRow(manager, version.templateId, 'pessimistic_write');
|
|
448
513
|
if (!template) {
|
|
449
514
|
throw new common_1.NotFoundException(`Approval template ${version.templateId} was not found`);
|
|
450
515
|
}
|
|
@@ -454,6 +519,11 @@ let TemplateService = TemplateService_1 = class TemplateService {
|
|
|
454
519
|
if (!template.isActive) {
|
|
455
520
|
throw new common_1.ConflictException('Approval template is deactivated');
|
|
456
521
|
}
|
|
522
|
+
// ADR 25 §5.4: a field that becomes filterable must not hold values the
|
|
523
|
+
// template's existing instances cannot satisfy. Checked here, inside the
|
|
524
|
+
// publish transaction, so the instances it reads are the ones it archives.
|
|
525
|
+
// Only what this publish makes filterable is scanned (ADR 25 §15).
|
|
526
|
+
await (0, filterable_field_guard_1.assertTemplateFilterableFieldsEnabled)(manager, template.id, formSchema, () => this.readInForceFormSchema(manager, template));
|
|
457
527
|
const previousVersionId = template.currentVersionId;
|
|
458
528
|
if (template.currentVersionId) {
|
|
459
529
|
await versionRepository.update({ id: template.currentVersionId }, {
|
|
@@ -486,6 +556,8 @@ let TemplateService = TemplateService_1 = class TemplateService {
|
|
|
486
556
|
// and is not linted again, since a rule tightened since could refuse it
|
|
487
557
|
// (ADR 22 §5, docs/24 §1). The one check is that every function it calls
|
|
488
558
|
// is still registered; without it every case would fail on evaluation.
|
|
559
|
+
// The filterable-field check (ADR 25 §5.4) is the exception: it reads the
|
|
560
|
+
// instances stored now, so it runs again inside the transaction below.
|
|
489
561
|
const unregisteredFunctionErrors = this.lintRegisteredFunctions(target.workflowDefinition, target.initiatorPolicyCel);
|
|
490
562
|
if (unregisteredFunctionErrors.length) {
|
|
491
563
|
throw new common_1.BadRequestException(unregisteredFunctionErrors.join('; '));
|
|
@@ -493,9 +565,9 @@ let TemplateService = TemplateService_1 = class TemplateService {
|
|
|
493
565
|
const rolledBack = await this.templateRepository.manager.transaction(async (manager) => {
|
|
494
566
|
const templateRepository = manager.getRepository(approval_template_entity_1.ApprovalTemplateEntity);
|
|
495
567
|
const versionRepository = manager.getRepository(approval_template_version_entity_1.ApprovalTemplateVersionEntity);
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
568
|
+
// ADR 25 §5.4 and §15: lock the template row before the enable check,
|
|
569
|
+
// the same lock a publish takes (see `publishVersion`).
|
|
570
|
+
const template = await this.lockTemplateRow(manager, target.templateId, 'pessimistic_write');
|
|
499
571
|
if (!template) {
|
|
500
572
|
throw new common_1.NotFoundException(`Approval template ${target.templateId} was not found`);
|
|
501
573
|
}
|
|
@@ -504,6 +576,9 @@ let TemplateService = TemplateService_1 = class TemplateService {
|
|
|
504
576
|
if (!template.isActive) {
|
|
505
577
|
throw new common_1.ConflictException('Approval template is deactivated');
|
|
506
578
|
}
|
|
579
|
+
// The target becomes the current version again, so its filterable
|
|
580
|
+
// fields are checked against the instances stored now (ADR 25 §5.4).
|
|
581
|
+
await (0, filterable_field_guard_1.assertTemplateFilterableFieldsEnabled)(manager, template.id, await this.readFormSchemaOfVersion(manager, target.formDefinitionVersionId), () => this.readInForceFormSchema(manager, template));
|
|
507
582
|
const previousVersionId = template.currentVersionId;
|
|
508
583
|
if (template.currentVersionId &&
|
|
509
584
|
template.currentVersionId !== target.id) {
|
|
@@ -561,6 +636,10 @@ let TemplateService = TemplateService_1 = class TemplateService {
|
|
|
561
636
|
return null;
|
|
562
637
|
}
|
|
563
638
|
}
|
|
639
|
+
/**
|
|
640
|
+
* Returns the bound form schema so the publish can run the filterable-field
|
|
641
|
+
* check against it without loading the form version a second time.
|
|
642
|
+
*/
|
|
564
643
|
async validatePublishableVersion(version, manager) {
|
|
565
644
|
if (!version.formDefinitionVersionId) {
|
|
566
645
|
throw new common_1.BadRequestException('Approval template version must bind a form definition version before publishing');
|
|
@@ -617,6 +696,7 @@ let TemplateService = TemplateService_1 = class TemplateService {
|
|
|
617
696
|
if (errors.length) {
|
|
618
697
|
throw new common_1.BadRequestException(errors.join('; '));
|
|
619
698
|
}
|
|
699
|
+
return formVersion.schema;
|
|
620
700
|
}
|
|
621
701
|
/** The cel-legacy publish lint, unchanged (docs/24 §1). */
|
|
622
702
|
lintCelLegacyExpressions(version) {
|
|
@@ -748,6 +828,31 @@ let TemplateService = TemplateService_1 = class TemplateService {
|
|
|
748
828
|
? manager.getRepository(form_definition_version_entity_1.FormDefinitionVersionEntity)
|
|
749
829
|
: this.formDefinitionVersionRepository;
|
|
750
830
|
}
|
|
831
|
+
/**
|
|
832
|
+
* The form schema of the template's current version: the one whose
|
|
833
|
+
* filterable fields the stored instances already satisfy. Null when the
|
|
834
|
+
* template has no published version yet. Read under the caller's template
|
|
835
|
+
* row lock, so no write can change what it guarantees before the publish
|
|
836
|
+
* commits.
|
|
837
|
+
*/
|
|
838
|
+
async readInForceFormSchema(manager, template) {
|
|
839
|
+
if (!template.currentVersionId) {
|
|
840
|
+
return null;
|
|
841
|
+
}
|
|
842
|
+
const current = await manager
|
|
843
|
+
.getRepository(approval_template_version_entity_1.ApprovalTemplateVersionEntity)
|
|
844
|
+
.findOne({ where: { id: template.currentVersionId } });
|
|
845
|
+
return this.readFormSchemaOfVersion(manager, current?.formDefinitionVersionId ?? null);
|
|
846
|
+
}
|
|
847
|
+
async readFormSchemaOfVersion(manager, formDefinitionVersionId) {
|
|
848
|
+
if (!formDefinitionVersionId) {
|
|
849
|
+
return null;
|
|
850
|
+
}
|
|
851
|
+
const formVersion = await manager
|
|
852
|
+
.getRepository(form_definition_version_entity_1.FormDefinitionVersionEntity)
|
|
853
|
+
.findOne({ where: { id: formDefinitionVersionId } });
|
|
854
|
+
return formVersion?.schema ?? null;
|
|
855
|
+
}
|
|
751
856
|
async getTemplateOrThrow(id, manager) {
|
|
752
857
|
const entity = await this.templates(manager).findOne({
|
|
753
858
|
relations: { categoryDetail: true },
|
|
@@ -768,10 +873,28 @@ let TemplateService = TemplateService_1 = class TemplateService {
|
|
|
768
873
|
return entity;
|
|
769
874
|
}
|
|
770
875
|
async setApprovalTemplateActive(id, isActive) {
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
876
|
+
return this.templateRepository.manager.transaction(async (manager) => {
|
|
877
|
+
const template = await this.readLockedTemplateOrThrow(manager, id);
|
|
878
|
+
const templates = manager.getRepository(approval_template_entity_1.ApprovalTemplateEntity);
|
|
879
|
+
return templates.save(templates.merge(template, { isActive }));
|
|
880
|
+
});
|
|
881
|
+
}
|
|
882
|
+
/**
|
|
883
|
+
* Locks the template row FOR UPDATE, the lock a publish, compose or rollback
|
|
884
|
+
* takes (ADR 25 §15), then reads the row with its category. A template edit
|
|
885
|
+
* saves the whole entity it read, so reading it unlocked would let a publish
|
|
886
|
+
* that commits in between be overwritten with the pre-publish
|
|
887
|
+
* `currentVersionId`; under the lock the read is the latest committed row
|
|
888
|
+
* and a publish waits for this edit instead.
|
|
889
|
+
*/
|
|
890
|
+
async readLockedTemplateOrThrow(manager, id) {
|
|
891
|
+
// The lock is taken without the category join: Postgres refuses FOR
|
|
892
|
+
// UPDATE on the nullable side of an outer join.
|
|
893
|
+
const locked = await this.lockTemplateRow(manager, id, 'pessimistic_write');
|
|
894
|
+
if (!locked) {
|
|
895
|
+
throw new common_1.NotFoundException(`Approval template ${id} was not found`);
|
|
896
|
+
}
|
|
897
|
+
return this.getTemplateOrThrow(id, manager);
|
|
775
898
|
}
|
|
776
899
|
async setApprovalTemplateCategoryActive(id, isActive) {
|
|
777
900
|
const category = await this.getTemplateCategoryOrThrow(id);
|
|
@@ -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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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { type ApprovalInstanceFieldFilter, type ApprovalInstanceSort, type ApprovalInstanceSortDirection, type FilterableFieldPath } from '@rytass/bpm-core-shared';
|
|
2
|
+
import { type FormDefinitionSchema, type FormFieldOption } from '@rytass/bpm-core-shared/form';
|
|
3
|
+
/**
|
|
4
|
+
* Compiles the list query's field filters and sort into SQL fragments for the
|
|
5
|
+
* approval-instance query builder (ADR 25 §7). Internal: not exported from the
|
|
6
|
+
* library's public index, and free of TypeORM so it can be tested as plain
|
|
7
|
+
* input and output.
|
|
8
|
+
*
|
|
9
|
+
* Every value reaches the database as a named parameter. The SQL text holds
|
|
10
|
+
* only the table alias, column names and parameter placeholders; a field key
|
|
11
|
+
* is a parameter too, so no key is ever spliced into the statement.
|
|
12
|
+
*/
|
|
13
|
+
type SqlParameters = Readonly<Record<string, unknown>>;
|
|
14
|
+
export interface CompiledSqlFragment {
|
|
15
|
+
readonly sql: string;
|
|
16
|
+
readonly parameters: SqlParameters;
|
|
17
|
+
}
|
|
18
|
+
export interface CompiledApprovalInstanceOrder extends CompiledSqlFragment {
|
|
19
|
+
readonly direction: ApprovalInstanceSortDirection;
|
|
20
|
+
}
|
|
21
|
+
export interface CompiledApprovalInstanceFieldFilters {
|
|
22
|
+
/** One WHERE clause each, to be combined with AND. */
|
|
23
|
+
readonly conditions: readonly CompiledSqlFragment[];
|
|
24
|
+
/** Always ends with the `id` tie-breaker (ADR 25 §7.6). */
|
|
25
|
+
readonly orderBy: readonly CompiledApprovalInstanceOrder[];
|
|
26
|
+
}
|
|
27
|
+
export interface CompileApprovalInstanceFieldFiltersInput {
|
|
28
|
+
/** The TypeORM alias of `approval_instances` in the query, e.g. `approvalInstance`. */
|
|
29
|
+
readonly alias: string;
|
|
30
|
+
/** The filterable fields of the template's current version. */
|
|
31
|
+
readonly paths: readonly FilterableFieldPath[];
|
|
32
|
+
readonly fieldFilters: readonly ApprovalInstanceFieldFilter[];
|
|
33
|
+
readonly sort: readonly ApprovalInstanceSort[];
|
|
34
|
+
/**
|
|
35
|
+
* Static option lists by field path, across the current version and every
|
|
36
|
+
* historical version that holds instances. A CONTAINS on a static option
|
|
37
|
+
* matches its names against these lists.
|
|
38
|
+
*/
|
|
39
|
+
readonly staticOptionsByPath: ReadonlyMap<string, readonly FormFieldOption[]>;
|
|
40
|
+
}
|
|
41
|
+
export declare class ApprovalInstanceFieldFilterCompiler {
|
|
42
|
+
compile(input: CompileApprovalInstanceFieldFiltersInput): CompiledApprovalInstanceFieldFilters;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* The static option lists of a set of form schemas, by field path. A table
|
|
46
|
+
* column is keyed `<tableKey>.<columnKey>`, the way the query names it.
|
|
47
|
+
*/
|
|
48
|
+
export declare function readStaticOptionsByPath(schemas: readonly (FormDefinitionSchema | null | undefined)[]): ReadonlyMap<string, readonly FormFieldOption[]>;
|
|
49
|
+
export {};
|