@rytass/bpm-core-nestjs-module 0.22.0 → 0.24.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 +95 -0
- package/README.md +68 -1
- package/package.json +2 -2
- package/src/index.d.ts +1 -0
- package/src/index.js +1 -0
- package/src/index.js.map +1 -1
- package/src/lib/bpm/bpm-root-options.d.ts +57 -0
- package/src/lib/bpm/bpm-root-options.js.map +1 -1
- package/src/lib/bpm/bpm-root.module.d.ts +21 -0
- package/src/lib/bpm/bpm-root.module.js +6 -0
- package/src/lib/bpm/bpm-root.module.js.map +1 -1
- package/src/lib/form/dto/form-definition.input.d.ts +5 -0
- package/src/lib/form/dto/form-definition.input.js.map +1 -1
- package/src/lib/form/form-definition.entity.d.ts +5 -0
- package/src/lib/form/form-definition.entity.js +7 -0
- package/src/lib/form/form-definition.entity.js.map +1 -1
- package/src/lib/form/form-schema.validator.js +17 -5
- package/src/lib/form/form-schema.validator.js.map +1 -1
- package/src/lib/form/form.queries.d.ts +2 -2
- package/src/lib/form/form.queries.js +17 -5
- package/src/lib/form/form.queries.js.map +1 -1
- package/src/lib/form/form.service.d.ts +2 -1
- package/src/lib/form/form.service.js +10 -5
- package/src/lib/form/form.service.js.map +1 -1
- package/src/lib/form-data-source/form-data-source-value-resolver.service.js +22 -2
- package/src/lib/form-data-source/form-data-source-value-resolver.service.js.map +1 -1
- package/src/lib/form-data-source/form-data-source.errors.d.ts +11 -0
- package/src/lib/form-data-source/form-data-source.errors.js +14 -1
- package/src/lib/form-data-source/form-data-source.errors.js.map +1 -1
- package/src/lib/form-data-source/form-data-source.service.d.ts +6 -0
- package/src/lib/form-data-source/form-data-source.service.js +37 -3
- package/src/lib/form-data-source/form-data-source.service.js.map +1 -1
- package/src/lib/instance-event/approval-instance-event.entity.d.ts +27 -0
- package/src/lib/instance-event/approval-instance-event.entity.js +93 -0
- package/src/lib/instance-event/approval-instance-event.entity.js.map +1 -0
- package/src/lib/instance-event/index.d.ts +13 -0
- package/src/lib/instance-event/index.js +17 -0
- package/src/lib/instance-event/index.js.map +1 -0
- package/src/lib/instance-event/instance-event.delivery-scheduler.service.d.ts +21 -0
- package/src/lib/instance-event/instance-event.delivery-scheduler.service.js +81 -0
- package/src/lib/instance-event/instance-event.delivery-scheduler.service.js.map +1 -0
- package/src/lib/instance-event/instance-event.delivery.service.d.ts +69 -0
- package/src/lib/instance-event/instance-event.delivery.service.js +259 -0
- package/src/lib/instance-event/instance-event.delivery.service.js.map +1 -0
- package/src/lib/instance-event/instance-event.delivery.subscriber.d.ts +24 -0
- package/src/lib/instance-event/instance-event.delivery.subscriber.js +85 -0
- package/src/lib/instance-event/instance-event.delivery.subscriber.js.map +1 -0
- package/src/lib/instance-event/instance-event.enums.d.ts +12 -0
- package/src/lib/instance-event/instance-event.enums.js +28 -0
- package/src/lib/instance-event/instance-event.enums.js.map +1 -0
- package/src/lib/instance-event/instance-event.module.d.ts +13 -0
- package/src/lib/instance-event/instance-event.module.js +52 -0
- package/src/lib/instance-event/instance-event.module.js.map +1 -0
- package/src/lib/instance-event/instance-event.object.d.ts +24 -0
- package/src/lib/instance-event/instance-event.object.js +73 -0
- package/src/lib/instance-event/instance-event.object.js.map +1 -0
- package/src/lib/instance-event/instance-event.options.d.ts +26 -0
- package/src/lib/instance-event/instance-event.options.js +35 -0
- package/src/lib/instance-event/instance-event.options.js.map +1 -0
- package/src/lib/instance-event/instance-event.resolver.d.ts +10 -0
- package/src/lib/instance-event/instance-event.resolver.js +75 -0
- package/src/lib/instance-event/instance-event.resolver.js.map +1 -0
- package/src/lib/instance-event/instance-event.service.d.ts +18 -0
- package/src/lib/instance-event/instance-event.service.js +37 -0
- package/src/lib/instance-event/instance-event.service.js.map +1 -0
- package/src/lib/instance-event/instance-event.token.d.ts +19 -0
- package/src/lib/instance-event/instance-event.token.js +9 -0
- package/src/lib/instance-event/instance-event.token.js.map +1 -0
- package/src/lib/instance-event/instance-event.types.d.ts +67 -0
- package/src/lib/instance-event/instance-event.types.js +9 -0
- package/src/lib/instance-event/instance-event.types.js.map +1 -0
- package/src/lib/instance-event/instance-event.writer.d.ts +21 -0
- package/src/lib/instance-event/instance-event.writer.js +45 -0
- package/src/lib/instance-event/instance-event.writer.js.map +1 -0
- package/src/lib/migrations/0000000032000-host-integration-round.d.ts +25 -0
- package/src/lib/migrations/0000000032000-host-integration-round.js +104 -0
- package/src/lib/migrations/0000000032000-host-integration-round.js.map +1 -0
- package/src/lib/migrations/0000000033000-activity-log-advance-failed-index.d.ts +35 -0
- package/src/lib/migrations/0000000033000-activity-log-advance-failed-index.js +51 -0
- package/src/lib/migrations/0000000033000-activity-log-advance-failed-index.js.map +1 -0
- package/src/lib/migrations/index.d.ts +2 -0
- package/src/lib/migrations/index.js +6 -0
- package/src/lib/migrations/index.js.map +1 -1
- package/src/lib/notification/notification.service.d.ts +3 -2
- package/src/lib/notification/notification.service.js +52 -10
- package/src/lib/notification/notification.service.js.map +1 -1
- package/src/lib/template/approval-template-version.entity.d.ts +9 -1
- package/src/lib/template/approval-template-version.entity.js +11 -1
- package/src/lib/template/approval-template-version.entity.js.map +1 -1
- package/src/lib/template/approval-template.entity.d.ts +18 -0
- package/src/lib/template/approval-template.entity.js +23 -0
- package/src/lib/template/approval-template.entity.js.map +1 -1
- package/src/lib/template/dto/approval-template.input.d.ts +21 -0
- package/src/lib/template/dto/approval-template.input.js +38 -0
- package/src/lib/template/dto/approval-template.input.js.map +1 -1
- package/src/lib/template/dto/compose-approval-template.input.d.ts +23 -0
- package/src/lib/template/dto/compose-approval-template.input.js +37 -0
- package/src/lib/template/dto/compose-approval-template.input.js.map +1 -1
- package/src/lib/template/template-key.d.ts +26 -0
- package/src/lib/template/template-key.js +67 -0
- package/src/lib/template/template-key.js.map +1 -0
- package/src/lib/template/template.enums.d.ts +11 -0
- package/src/lib/template/template.enums.js +17 -1
- package/src/lib/template/template.enums.js.map +1 -1
- package/src/lib/template/template.queries.d.ts +3 -2
- package/src/lib/template/template.queries.js +29 -4
- package/src/lib/template/template.queries.js.map +1 -1
- package/src/lib/template/template.service.d.ts +8 -1
- package/src/lib/template/template.service.js +111 -17
- package/src/lib/template/template.service.js.map +1 -1
- package/src/lib/template/workflow-definition.validator.js +12 -6
- package/src/lib/template/workflow-definition.validator.js.map +1 -1
- package/src/lib/workflow-engine/approver-filled-table-columns.d.ts +91 -0
- package/src/lib/workflow-engine/approver-filled-table-columns.js +301 -0
- package/src/lib/workflow-engine/approver-filled-table-columns.js.map +1 -0
- package/src/lib/workflow-engine/dto/admin-cancel-approval-instance.input.d.ts +9 -0
- package/src/lib/workflow-engine/dto/admin-cancel-approval-instance.input.js +24 -0
- package/src/lib/workflow-engine/dto/admin-cancel-approval-instance.input.js.map +1 -0
- package/src/lib/workflow-engine/dto/dry-run-approval-workflow.input.d.ts +7 -0
- package/src/lib/workflow-engine/dto/dry-run-approval-workflow.input.js +9 -0
- package/src/lib/workflow-engine/dto/dry-run-approval-workflow.input.js.map +1 -1
- package/src/lib/workflow-engine/dto/reassign-member-tasks.input.d.ts +2 -0
- package/src/lib/workflow-engine/dto/reassign-member-tasks.input.js +8 -0
- package/src/lib/workflow-engine/dto/reassign-member-tasks.input.js.map +1 -1
- package/src/lib/workflow-engine/index.d.ts +3 -0
- package/src/lib/workflow-engine/index.js +3 -0
- package/src/lib/workflow-engine/index.js.map +1 -1
- package/src/lib/workflow-engine/instance-advance-failure.d.ts +28 -0
- package/src/lib/workflow-engine/instance-advance-failure.js +20 -0
- package/src/lib/workflow-engine/instance-advance-failure.js.map +1 -0
- package/src/lib/workflow-engine/instance-guard.runner.d.ts +19 -0
- package/src/lib/workflow-engine/instance-guard.runner.js +102 -0
- package/src/lib/workflow-engine/instance-guard.runner.js.map +1 -0
- package/src/lib/workflow-engine/instance-guard.token.d.ts +101 -0
- package/src/lib/workflow-engine/instance-guard.token.js +9 -0
- package/src/lib/workflow-engine/instance-guard.token.js.map +1 -0
- package/src/lib/workflow-engine/missing-form-fields.d.ts +12 -0
- package/src/lib/workflow-engine/missing-form-fields.js +27 -0
- package/src/lib/workflow-engine/missing-form-fields.js.map +1 -0
- package/src/lib/workflow-engine/stuck-approval-instance.object.d.ts +22 -0
- package/src/lib/workflow-engine/stuck-approval-instance.object.js +107 -0
- package/src/lib/workflow-engine/stuck-approval-instance.object.js.map +1 -0
- package/src/lib/workflow-engine/stuck-approval-instance.query.d.ts +22 -0
- package/src/lib/workflow-engine/stuck-approval-instance.query.js +139 -0
- package/src/lib/workflow-engine/stuck-approval-instance.query.js.map +1 -0
- package/src/lib/workflow-engine/workflow-engine.enums.d.ts +11 -0
- package/src/lib/workflow-engine/workflow-engine.enums.js +16 -1
- package/src/lib/workflow-engine/workflow-engine.enums.js.map +1 -1
- package/src/lib/workflow-engine/workflow-engine.module.d.ts +2 -0
- package/src/lib/workflow-engine/workflow-engine.module.js +3 -0
- package/src/lib/workflow-engine/workflow-engine.module.js.map +1 -1
- package/src/lib/workflow-engine/workflow-engine.mutations.d.ts +3 -1
- package/src/lib/workflow-engine/workflow-engine.mutations.js +39 -6
- package/src/lib/workflow-engine/workflow-engine.mutations.js.map +1 -1
- package/src/lib/workflow-engine/workflow-engine.queries.d.ts +10 -8
- package/src/lib/workflow-engine/workflow-engine.queries.js +131 -28
- package/src/lib/workflow-engine/workflow-engine.queries.js.map +1 -1
- package/src/lib/workflow-engine/workflow-engine.service.d.ts +348 -10
- package/src/lib/workflow-engine/workflow-engine.service.js +1396 -118
- package/src/lib/workflow-engine/workflow-engine.service.js.map +1 -1
- package/src/lib/workflow-engine/workflow-engine.tokens.d.ts +5 -0
|
@@ -281,8 +281,14 @@ let FormDataSourceService = FormDataSourceService_1 = class FormDataSourceServic
|
|
|
281
281
|
return this.readPublishedFormSchema(templateVersion.formDefinitionVersionId);
|
|
282
282
|
}
|
|
283
283
|
const instance = await this.workflowEngineService.getApprovalInstance(instanceId, authContext);
|
|
284
|
-
|
|
285
|
-
|
|
284
|
+
// The applicant of a returned instance reads the whole form. An approver
|
|
285
|
+
// of a RUNNING instance reads only what their open tasks let them fill
|
|
286
|
+
// (ADR 27 §4.2 gap 1), checked per field below.
|
|
287
|
+
const isApplicantReturn = instance.initiatorMemberId === authContext.memberId &&
|
|
288
|
+
instance.state === workflow_engine_enums_1.ApprovalInstanceStateEnum.RETURNED;
|
|
289
|
+
const isApproverOpen = !isApplicantReturn &&
|
|
290
|
+
instance.state === workflow_engine_enums_1.ApprovalInstanceStateEnum.RUNNING;
|
|
291
|
+
if (!isApplicantReturn && !isApproverOpen) {
|
|
286
292
|
throw new form_data_source_errors_1.BPMFormDataSourceForbiddenException(form_data_source_errors_1.BPM_FORM_DATA_SOURCE_ERROR_CODES.RUNTIME_CONTEXT_FORBIDDEN);
|
|
287
293
|
}
|
|
288
294
|
const snapshot = instance.formDefinitionSnapshot;
|
|
@@ -291,7 +297,35 @@ let FormDataSourceService = FormDataSourceService_1 = class FormDataSourceServic
|
|
|
291
297
|
if (!schema || !uiSchema) {
|
|
292
298
|
throw new form_data_source_errors_1.BPMFormDataSourceForbiddenException(form_data_source_errors_1.BPM_FORM_DATA_SOURCE_ERROR_CODES.RUNTIME_CONTEXT_FORBIDDEN);
|
|
293
299
|
}
|
|
294
|
-
|
|
300
|
+
const runtime = this.parseSchema(JSON.stringify(schema), JSON.stringify(uiSchema));
|
|
301
|
+
if (isApplicantReturn) {
|
|
302
|
+
return runtime;
|
|
303
|
+
}
|
|
304
|
+
const units = await this.workflowEngineService.listApproverFillUnits(instanceId, authContext.memberId);
|
|
305
|
+
if (!this.isFieldWithinFillUnits(runtime.schema, input.fieldKey, units)) {
|
|
306
|
+
throw new form_data_source_errors_1.BPMFormDataSourceForbiddenException(form_data_source_errors_1.BPM_FORM_DATA_SOURCE_ERROR_CODES.RUNTIME_CONTEXT_FORBIDDEN);
|
|
307
|
+
}
|
|
308
|
+
return runtime;
|
|
309
|
+
}
|
|
310
|
+
/**
|
|
311
|
+
* Whether an approver's fill units cover the option field at `fieldKey`: a
|
|
312
|
+
* top-level field needs a whole-field unit; a table column (`table.column`)
|
|
313
|
+
* needs a whole-field unit on the table or a unit for that column.
|
|
314
|
+
*/
|
|
315
|
+
isFieldWithinFillUnits(schema, fieldKey, units) {
|
|
316
|
+
if (schema.fields.some((candidate) => candidate.fieldKey === fieldKey)) {
|
|
317
|
+
return units.some((unit) => unit.fieldKey === fieldKey && unit.columnKey === null);
|
|
318
|
+
}
|
|
319
|
+
const separatorIndex = fieldKey.indexOf('.');
|
|
320
|
+
if (separatorIndex < 0) {
|
|
321
|
+
return false;
|
|
322
|
+
}
|
|
323
|
+
const tableKey = fieldKey.slice(0, separatorIndex);
|
|
324
|
+
const columnKey = fieldKey.slice(separatorIndex + 1);
|
|
325
|
+
const isTable = schema.fields.some((candidate) => candidate.fieldKey === tableKey && (0, form_1.isTableFieldDefinition)(candidate));
|
|
326
|
+
return (isTable &&
|
|
327
|
+
units.some((unit) => unit.fieldKey === tableKey &&
|
|
328
|
+
(unit.columnKey === null || unit.columnKey === columnKey)));
|
|
295
329
|
}
|
|
296
330
|
async readPublishedFormSchema(formDefinitionVersionId) {
|
|
297
331
|
const version = await this.formDefinitionVersionRepository.findOne({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-data-source.service.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/form-data-source/form-data-source.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"form-data-source.service.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/form-data-source/form-data-source.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ApprovalInstanceEntity } from '../workflow-engine/approval-instance.entity';
|
|
2
|
+
import { BPMInstanceEventPayload, BPMInstanceEventStatus, BPMInstanceEventType } from './instance-event.types';
|
|
3
|
+
/**
|
|
4
|
+
* One outbox row per instance lifecycle event (ADR 27 §1.2). Written in the
|
|
5
|
+
* same transaction as the state change, delivered after commit. Mirrors
|
|
6
|
+
* migration `0000000032000-host-integration-round`; `synchronize` stays off.
|
|
7
|
+
*/
|
|
8
|
+
export declare class ApprovalInstanceEventEntity {
|
|
9
|
+
id: string;
|
|
10
|
+
/**
|
|
11
|
+
* Write order, assigned by the database (migration
|
|
12
|
+
* `0000000032000-host-integration-round`). Sort by this, not by `id` or
|
|
13
|
+
* `occurredAt`. `bigint`, so the driver returns a string.
|
|
14
|
+
*/
|
|
15
|
+
seq: string;
|
|
16
|
+
instanceId: string;
|
|
17
|
+
instance?: ApprovalInstanceEntity;
|
|
18
|
+
type: BPMInstanceEventType;
|
|
19
|
+
payload: BPMInstanceEventPayload;
|
|
20
|
+
status: BPMInstanceEventStatus;
|
|
21
|
+
attemptCount: number;
|
|
22
|
+
nextAttemptAt: Date;
|
|
23
|
+
claimedAt: Date | null;
|
|
24
|
+
deliveredAt: Date | null;
|
|
25
|
+
lastError: string | null;
|
|
26
|
+
occurredAt: Date;
|
|
27
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ApprovalInstanceEventEntity = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const typeorm_1 = require("typeorm");
|
|
6
|
+
const approval_instance_entity_1 = require("../workflow-engine/approval-instance.entity");
|
|
7
|
+
const instance_event_types_1 = require("./instance-event.types");
|
|
8
|
+
/**
|
|
9
|
+
* One outbox row per instance lifecycle event (ADR 27 §1.2). Written in the
|
|
10
|
+
* same transaction as the state change, delivered after commit. Mirrors
|
|
11
|
+
* migration `0000000032000-host-integration-round`; `synchronize` stays off.
|
|
12
|
+
*/
|
|
13
|
+
let ApprovalInstanceEventEntity = class ApprovalInstanceEventEntity {
|
|
14
|
+
};
|
|
15
|
+
exports.ApprovalInstanceEventEntity = ApprovalInstanceEventEntity;
|
|
16
|
+
tslib_1.__decorate([
|
|
17
|
+
(0, typeorm_1.PrimaryGeneratedColumn)('uuid'),
|
|
18
|
+
tslib_1.__metadata("design:type", String)
|
|
19
|
+
], ApprovalInstanceEventEntity.prototype, "id", void 0);
|
|
20
|
+
tslib_1.__decorate([
|
|
21
|
+
(0, typeorm_1.Column)({
|
|
22
|
+
generated: 'identity',
|
|
23
|
+
generatedIdentity: 'ALWAYS',
|
|
24
|
+
name: 'seq',
|
|
25
|
+
type: 'bigint',
|
|
26
|
+
update: false,
|
|
27
|
+
}),
|
|
28
|
+
tslib_1.__metadata("design:type", String)
|
|
29
|
+
], ApprovalInstanceEventEntity.prototype, "seq", void 0);
|
|
30
|
+
tslib_1.__decorate([
|
|
31
|
+
(0, typeorm_1.Column)('uuid', { name: 'instance_id' }),
|
|
32
|
+
tslib_1.__metadata("design:type", String)
|
|
33
|
+
], ApprovalInstanceEventEntity.prototype, "instanceId", void 0);
|
|
34
|
+
tslib_1.__decorate([
|
|
35
|
+
(0, typeorm_1.ManyToOne)(() => approval_instance_entity_1.ApprovalInstanceEntity, {
|
|
36
|
+
createForeignKeyConstraints: true,
|
|
37
|
+
onDelete: 'CASCADE',
|
|
38
|
+
}),
|
|
39
|
+
(0, typeorm_1.JoinColumn)({
|
|
40
|
+
foreignKeyConstraintName: 'FK_approval_instance_events_instance',
|
|
41
|
+
name: 'instance_id',
|
|
42
|
+
}),
|
|
43
|
+
tslib_1.__metadata("design:type", approval_instance_entity_1.ApprovalInstanceEntity)
|
|
44
|
+
], ApprovalInstanceEventEntity.prototype, "instance", void 0);
|
|
45
|
+
tslib_1.__decorate([
|
|
46
|
+
(0, typeorm_1.Column)('text'),
|
|
47
|
+
tslib_1.__metadata("design:type", String)
|
|
48
|
+
], ApprovalInstanceEventEntity.prototype, "type", void 0);
|
|
49
|
+
tslib_1.__decorate([
|
|
50
|
+
(0, typeorm_1.Column)('jsonb'),
|
|
51
|
+
tslib_1.__metadata("design:type", Object)
|
|
52
|
+
], ApprovalInstanceEventEntity.prototype, "payload", void 0);
|
|
53
|
+
tslib_1.__decorate([
|
|
54
|
+
(0, typeorm_1.Column)('text', { default: 'PENDING' }),
|
|
55
|
+
tslib_1.__metadata("design:type", String)
|
|
56
|
+
], ApprovalInstanceEventEntity.prototype, "status", void 0);
|
|
57
|
+
tslib_1.__decorate([
|
|
58
|
+
(0, typeorm_1.Column)('integer', { default: 0, name: 'attempt_count' }),
|
|
59
|
+
tslib_1.__metadata("design:type", Number)
|
|
60
|
+
], ApprovalInstanceEventEntity.prototype, "attemptCount", void 0);
|
|
61
|
+
tslib_1.__decorate([
|
|
62
|
+
(0, typeorm_1.Column)('timestamptz', {
|
|
63
|
+
default: () => 'now()',
|
|
64
|
+
name: 'next_attempt_at',
|
|
65
|
+
}),
|
|
66
|
+
tslib_1.__metadata("design:type", Date)
|
|
67
|
+
], ApprovalInstanceEventEntity.prototype, "nextAttemptAt", void 0);
|
|
68
|
+
tslib_1.__decorate([
|
|
69
|
+
(0, typeorm_1.Column)('timestamptz', { name: 'claimed_at', nullable: true }),
|
|
70
|
+
tslib_1.__metadata("design:type", Object)
|
|
71
|
+
], ApprovalInstanceEventEntity.prototype, "claimedAt", void 0);
|
|
72
|
+
tslib_1.__decorate([
|
|
73
|
+
(0, typeorm_1.Column)('timestamptz', { name: 'delivered_at', nullable: true }),
|
|
74
|
+
tslib_1.__metadata("design:type", Object)
|
|
75
|
+
], ApprovalInstanceEventEntity.prototype, "deliveredAt", void 0);
|
|
76
|
+
tslib_1.__decorate([
|
|
77
|
+
(0, typeorm_1.Column)('text', { name: 'last_error', nullable: true }),
|
|
78
|
+
tslib_1.__metadata("design:type", Object)
|
|
79
|
+
], ApprovalInstanceEventEntity.prototype, "lastError", void 0);
|
|
80
|
+
tslib_1.__decorate([
|
|
81
|
+
(0, typeorm_1.Column)('timestamptz', {
|
|
82
|
+
default: () => 'now()',
|
|
83
|
+
name: 'occurred_at',
|
|
84
|
+
}),
|
|
85
|
+
tslib_1.__metadata("design:type", Date)
|
|
86
|
+
], ApprovalInstanceEventEntity.prototype, "occurredAt", void 0);
|
|
87
|
+
exports.ApprovalInstanceEventEntity = ApprovalInstanceEventEntity = tslib_1.__decorate([
|
|
88
|
+
(0, typeorm_1.Entity)('approval_instance_events'),
|
|
89
|
+
(0, typeorm_1.Check)('CHK_approval_instance_events_status', `"status" IN (${instance_event_types_1.BPM_INSTANCE_EVENT_STATUSES.map((status) => `'${status}'`).join(', ')})`),
|
|
90
|
+
(0, typeorm_1.Index)('IDX_approval_instance_events_due', ['status', 'nextAttemptAt']),
|
|
91
|
+
(0, typeorm_1.Index)('IDX_approval_instance_events_instance_seq', ['instanceId', 'seq'])
|
|
92
|
+
], ApprovalInstanceEventEntity);
|
|
93
|
+
//# sourceMappingURL=approval-instance-event.entity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"approval-instance-event.entity.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/instance-event/approval-instance-event.entity.ts"],"names":[],"mappings":";;;;AAAA,qCAQiB;AACjB,0FAAqF;AACrF,iEAKgC;AAEhC;;;;GAIG;AAQI,IAAM,2BAA2B,GAAjC,MAAM,2BAA2B;CA+DvC,CAAA;AA/DY,kEAA2B;AAEtC;IADC,IAAA,gCAAsB,EAAC,MAAM,CAAC;;uDACnB;AAcZ;IAPC,IAAA,gBAAM,EAAC;QACN,SAAS,EAAE,UAAU;QACrB,iBAAiB,EAAE,QAAQ;QAC3B,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,KAAK;KACd,CAAC;;wDACW;AAGb;IADC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;;+DACpB;AAUpB;IARC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,iDAAsB,EAAE;QACvC,2BAA2B,EAAE,IAAI;QACjC,QAAQ,EAAE,SAAS;KACpB,CAAC;IACD,IAAA,oBAAU,EAAC;QACV,wBAAwB,EAAE,sCAAsC;QAChE,IAAI,EAAE,aAAa;KACpB,CAAC;sCACS,iDAAsB;6DAAC;AAGlC;IADC,IAAA,gBAAM,EAAC,MAAM,CAAC;;yDACa;AAG5B;IADC,IAAA,gBAAM,EAAC,OAAO,CAAC;;4DACkB;AAGlC;IADC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;;2DACP;AAGhC;IADC,IAAA,gBAAM,EAAC,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;;iEACnC;AAMtB;IAJC,IAAA,gBAAM,EAAC,aAAa,EAAE;QACrB,OAAO,EAAE,GAAW,EAAE,CAAC,OAAO;QAC9B,IAAI,EAAE,iBAAiB;KACxB,CAAC;sCACc,IAAI;kEAAC;AAGrB;IADC,IAAA,gBAAM,EAAC,aAAa,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8DACtC;AAGxB;IADC,IAAA,gBAAM,EAAC,aAAa,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gEACtC;AAG1B;IADC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8DAC7B;AAM1B;IAJC,IAAA,gBAAM,EAAC,aAAa,EAAE;QACrB,OAAO,EAAE,GAAW,EAAE,CAAC,OAAO;QAC9B,IAAI,EAAE,aAAa;KACpB,CAAC;sCACW,IAAI;+DAAC;sCA9DP,2BAA2B;IAPvC,IAAA,gBAAM,EAAC,0BAA0B,CAAC;IAClC,IAAA,eAAK,EACJ,qCAAqC,EACrC,gBAAgB,kDAA2B,CAAC,GAAG,CAAC,CAAC,MAAc,EAAU,EAAE,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACzG;IACA,IAAA,eAAK,EAAC,kCAAkC,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IACtE,IAAA,eAAK,EAAC,2CAA2C,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;GAC7D,2BAA2B,CA+DvC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export * from './approval-instance-event.entity';
|
|
2
|
+
export * from './instance-event.delivery-scheduler.service';
|
|
3
|
+
export * from './instance-event.delivery.service';
|
|
4
|
+
export * from './instance-event.delivery.subscriber';
|
|
5
|
+
export * from './instance-event.enums';
|
|
6
|
+
export * from './instance-event.module';
|
|
7
|
+
export * from './instance-event.object';
|
|
8
|
+
export * from './instance-event.options';
|
|
9
|
+
export * from './instance-event.resolver';
|
|
10
|
+
export * from './instance-event.service';
|
|
11
|
+
export * from './instance-event.token';
|
|
12
|
+
export * from './instance-event.types';
|
|
13
|
+
export * from './instance-event.writer';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./approval-instance-event.entity"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./instance-event.delivery-scheduler.service"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./instance-event.delivery.service"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./instance-event.delivery.subscriber"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./instance-event.enums"), exports);
|
|
9
|
+
tslib_1.__exportStar(require("./instance-event.module"), exports);
|
|
10
|
+
tslib_1.__exportStar(require("./instance-event.object"), exports);
|
|
11
|
+
tslib_1.__exportStar(require("./instance-event.options"), exports);
|
|
12
|
+
tslib_1.__exportStar(require("./instance-event.resolver"), exports);
|
|
13
|
+
tslib_1.__exportStar(require("./instance-event.service"), exports);
|
|
14
|
+
tslib_1.__exportStar(require("./instance-event.token"), exports);
|
|
15
|
+
tslib_1.__exportStar(require("./instance-event.types"), exports);
|
|
16
|
+
tslib_1.__exportStar(require("./instance-event.writer"), exports);
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/instance-event/index.ts"],"names":[],"mappings":";;;AAAA,2EAAiD;AACjD,sFAA4D;AAC5D,4EAAkD;AAClD,+EAAqD;AACrD,iEAAuC;AACvC,kEAAwC;AACxC,kEAAwC;AACxC,mEAAyC;AACzC,oEAA0C;AAC1C,mEAAyC;AACzC,iEAAuC;AACvC,iEAAuC;AACvC,kEAAwC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { OnApplicationBootstrap, OnApplicationShutdown } from '@nestjs/common';
|
|
2
|
+
import { InstanceEventDeliveryService } from './instance-event.delivery.service';
|
|
3
|
+
import { InstanceEventService } from './instance-event.service';
|
|
4
|
+
/**
|
|
5
|
+
* The fallback that retries failed attempts, releases rows the commit kick
|
|
6
|
+
* missed (ADR 27 §1.3), and sweeps delivered rows past retention. `SKIP LOCKED`
|
|
7
|
+
* in the claim lets several API instances run it at once.
|
|
8
|
+
*/
|
|
9
|
+
export declare class InstanceEventDeliverySchedulerService implements OnApplicationBootstrap, OnApplicationShutdown {
|
|
10
|
+
private readonly deliveryService;
|
|
11
|
+
private readonly events;
|
|
12
|
+
private readonly logger;
|
|
13
|
+
private timer;
|
|
14
|
+
private scanning;
|
|
15
|
+
private lastPurgeAt;
|
|
16
|
+
constructor(deliveryService: InstanceEventDeliveryService, events: InstanceEventService);
|
|
17
|
+
onApplicationBootstrap(): void;
|
|
18
|
+
onApplicationShutdown(): void;
|
|
19
|
+
scan(): Promise<void>;
|
|
20
|
+
private purgeIfDue;
|
|
21
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var InstanceEventDeliverySchedulerService_1;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.InstanceEventDeliverySchedulerService = void 0;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
const common_1 = require("@nestjs/common");
|
|
7
|
+
const instance_event_delivery_service_1 = require("./instance-event.delivery.service");
|
|
8
|
+
const instance_event_service_1 = require("./instance-event.service");
|
|
9
|
+
/** Retention sweeps are cheap but not urgent; once an hour is plenty. */
|
|
10
|
+
const PURGE_INTERVAL_MS = 3_600_000;
|
|
11
|
+
/**
|
|
12
|
+
* The fallback that retries failed attempts, releases rows the commit kick
|
|
13
|
+
* missed (ADR 27 §1.3), and sweeps delivered rows past retention. `SKIP LOCKED`
|
|
14
|
+
* in the claim lets several API instances run it at once.
|
|
15
|
+
*/
|
|
16
|
+
let InstanceEventDeliverySchedulerService = InstanceEventDeliverySchedulerService_1 = class InstanceEventDeliverySchedulerService {
|
|
17
|
+
constructor(deliveryService, events) {
|
|
18
|
+
this.deliveryService = deliveryService;
|
|
19
|
+
this.events = events;
|
|
20
|
+
this.logger = new common_1.Logger(InstanceEventDeliverySchedulerService_1.name);
|
|
21
|
+
this.timer = null;
|
|
22
|
+
this.scanning = false;
|
|
23
|
+
this.lastPurgeAt = 0;
|
|
24
|
+
}
|
|
25
|
+
onApplicationBootstrap() {
|
|
26
|
+
// Without an observer there is nothing to deliver to, so no idle timer.
|
|
27
|
+
if (process.env.NODE_ENV === 'test' || !this.events.enabled) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
this.timer = setInterval(() => {
|
|
31
|
+
void this.scan();
|
|
32
|
+
}, this.events.delivery.scanIntervalMs);
|
|
33
|
+
this.timer.unref();
|
|
34
|
+
}
|
|
35
|
+
onApplicationShutdown() {
|
|
36
|
+
if (this.timer) {
|
|
37
|
+
clearInterval(this.timer);
|
|
38
|
+
this.timer = null;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
async scan() {
|
|
42
|
+
// A slow observer must not stack scans on top of each other.
|
|
43
|
+
if (this.scanning) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
this.scanning = true;
|
|
47
|
+
try {
|
|
48
|
+
const count = await this.deliveryService.deliverDue();
|
|
49
|
+
if (count) {
|
|
50
|
+
this.logger.log(`Attempted ${count} instance event deliveries`);
|
|
51
|
+
}
|
|
52
|
+
await this.purgeIfDue(Date.now());
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
this.logger.error(error instanceof Error
|
|
56
|
+
? error.message
|
|
57
|
+
: 'Instance event delivery scan failed');
|
|
58
|
+
}
|
|
59
|
+
finally {
|
|
60
|
+
this.scanning = false;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
async purgeIfDue(now) {
|
|
64
|
+
if (now - this.lastPurgeAt < PURGE_INTERVAL_MS) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
// Stamped before the call, so a failing sweep is not retried every scan.
|
|
68
|
+
this.lastPurgeAt = now;
|
|
69
|
+
const purged = await this.deliveryService.purgeDelivered(new Date(now));
|
|
70
|
+
if (purged) {
|
|
71
|
+
this.logger.log(`Purged ${purged} delivered instance events`);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
exports.InstanceEventDeliverySchedulerService = InstanceEventDeliverySchedulerService;
|
|
76
|
+
exports.InstanceEventDeliverySchedulerService = InstanceEventDeliverySchedulerService = InstanceEventDeliverySchedulerService_1 = tslib_1.__decorate([
|
|
77
|
+
(0, common_1.Injectable)(),
|
|
78
|
+
tslib_1.__metadata("design:paramtypes", [instance_event_delivery_service_1.InstanceEventDeliveryService,
|
|
79
|
+
instance_event_service_1.InstanceEventService])
|
|
80
|
+
], InstanceEventDeliverySchedulerService);
|
|
81
|
+
//# sourceMappingURL=instance-event.delivery-scheduler.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instance-event.delivery-scheduler.service.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/instance-event/instance-event.delivery-scheduler.service.ts"],"names":[],"mappings":";;;;;AAAA,2CAKwB;AACxB,uFAAiF;AACjF,qEAAgE;AAEhE,yEAAyE;AACzE,MAAM,iBAAiB,GAAG,SAAS,CAAC;AAEpC;;;;GAIG;AAEI,IAAM,qCAAqC,6CAA3C,MAAM,qCAAqC;IAUhD,YACmB,eAA6C,EAC7C,MAA4B;QAD5B,oBAAe,GAAf,eAAe,CAA8B;QAC7C,WAAM,GAAN,MAAM,CAAsB;QAT9B,WAAM,GAAG,IAAI,eAAM,CAClC,uCAAqC,CAAC,IAAI,CAC3C,CAAC;QACM,UAAK,GAA0B,IAAI,CAAC;QACpC,aAAQ,GAAG,KAAK,CAAC;QACjB,gBAAW,GAAG,CAAC,CAAC;IAKrB,CAAC;IAEJ,sBAAsB;QACpB,wEAAwE;QACxE,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC5D,OAAO;QACT,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,GAAS,EAAE;YAClC,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;QACnB,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,qBAAqB;QACnB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACpB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI;QACR,6DAA6D;QAC7D,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;YAEtD,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,KAAK,4BAA4B,CAAC,CAAC;YAClE,CAAC;YAED,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,KAAK,YAAY,KAAK;gBACpB,CAAC,CAAC,KAAK,CAAC,OAAO;gBACf,CAAC,CAAC,qCAAqC,CAC1C,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACxB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,GAAW;QAClC,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,GAAG,iBAAiB,EAAE,CAAC;YAC/C,OAAO;QACT,CAAC;QAED,yEAAyE;QACzE,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;QAEvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAExE,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,MAAM,4BAA4B,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;CACF,CAAA;AA3EY,sFAAqC;gDAArC,qCAAqC;IADjD,IAAA,mBAAU,GAAE;6CAYyB,8DAA4B;QACrC,6CAAoB;GAZpC,qCAAqC,CA2EjD"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { Repository } from 'typeorm';
|
|
2
|
+
import { ApprovalInstanceEventEntity } from './approval-instance-event.entity';
|
|
3
|
+
import { InstanceEventService } from './instance-event.service';
|
|
4
|
+
import type { BPMInstanceEventStatus } from './instance-event.types';
|
|
5
|
+
export interface ListInstanceEventsInput {
|
|
6
|
+
readonly instanceId: string | null;
|
|
7
|
+
readonly page: number;
|
|
8
|
+
readonly pageSize: number;
|
|
9
|
+
readonly status: BPMInstanceEventStatus | null;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Delivers outbox rows to the host observer (ADR 27 §1.3).
|
|
13
|
+
*
|
|
14
|
+
* Guarantees, and how they are kept:
|
|
15
|
+
* - At least once. A row is `DELIVERED` only after the observer resolved; a
|
|
16
|
+
* crash between dispatch and write-back redelivers. Hosts dedupe on `id`.
|
|
17
|
+
* - Per-instance order by `seq`. The claim skips a row while an earlier `PENDING`
|
|
18
|
+
* row of the same instance exists. `FAILED` rows do not block.
|
|
19
|
+
* - Claims never change `status`. A claim is a `claimed_at` stamp, taken with
|
|
20
|
+
* `FOR UPDATE SKIP LOCKED`, so several replicas can scan at once.
|
|
21
|
+
* - Write-back is conditional on `claimed_at`. A worker that lost its claim
|
|
22
|
+
* records nothing.
|
|
23
|
+
*/
|
|
24
|
+
export declare class InstanceEventDeliveryService {
|
|
25
|
+
private readonly repository;
|
|
26
|
+
private readonly events;
|
|
27
|
+
private readonly logger;
|
|
28
|
+
constructor(repository: Repository<ApprovalInstanceEventEntity>, events: InstanceEventService);
|
|
29
|
+
/**
|
|
30
|
+
* Claims and delivers due rows across all instances, up to `batchSize`.
|
|
31
|
+
* Returns the number of rows attempted. No-op without a bound observer.
|
|
32
|
+
*/
|
|
33
|
+
deliverDue(now?: Date): Promise<number>;
|
|
34
|
+
/**
|
|
35
|
+
* Delivers the named rows. Used by the commit subscriber. A row whose earlier
|
|
36
|
+
* sibling is still pending is skipped here and picked up by the scheduler.
|
|
37
|
+
*/
|
|
38
|
+
deliverByIds(ids: readonly string[], now?: Date): Promise<number>;
|
|
39
|
+
/**
|
|
40
|
+
* Deletes `DELIVERED` rows older than `retentionDays`. `FAILED` rows are kept
|
|
41
|
+
* until an operator retries or removes them. Returns the number deleted.
|
|
42
|
+
*/
|
|
43
|
+
purgeDelivered(now?: Date): Promise<number>;
|
|
44
|
+
/**
|
|
45
|
+
* Admin read: newest first, optionally filtered. Not gated by `enabled`, so
|
|
46
|
+
* rows left behind by an earlier deployment stay visible.
|
|
47
|
+
*/
|
|
48
|
+
listEvents(input: ListInstanceEventsInput): Promise<{
|
|
49
|
+
readonly items: readonly ApprovalInstanceEventEntity[];
|
|
50
|
+
readonly total: number;
|
|
51
|
+
}>;
|
|
52
|
+
/**
|
|
53
|
+
* Admin retry of a `FAILED` row. Resets the attempt budget and makes the row
|
|
54
|
+
* due now; the next scan or commit kick delivers it. Only `FAILED` rows match,
|
|
55
|
+
* so a row that is already pending or delivered is rejected, not reset.
|
|
56
|
+
*/
|
|
57
|
+
retryFailedEvent(id: string, now?: Date): Promise<ApprovalInstanceEventEntity>;
|
|
58
|
+
/**
|
|
59
|
+
* `base * 2^(attempt - 1)` with ±20 % jitter, capped at `maxRetryDelayMs`.
|
|
60
|
+
* Same policy as the webhook outbox.
|
|
61
|
+
*/
|
|
62
|
+
readRetryDelay(attempt: number): number;
|
|
63
|
+
private claim;
|
|
64
|
+
private attemptSafely;
|
|
65
|
+
private attempt;
|
|
66
|
+
private dispatch;
|
|
67
|
+
private writeOutcome;
|
|
68
|
+
private readStaleClaimMs;
|
|
69
|
+
}
|