@rytass/bpm-core-nestjs-module 0.10.0 → 0.12.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 +46 -0
- package/package.json +3 -3
- package/src/lib/condition/condition.service.js +4 -1
- package/src/lib/condition/condition.service.js.map +1 -1
- package/src/lib/form/form-schema.validator.js +277 -56
- package/src/lib/form/form-schema.validator.js.map +1 -1
- package/src/lib/form/form-table-reference.d.ts +28 -0
- package/src/lib/form/form-table-reference.js +53 -0
- package/src/lib/form/form-table-reference.js.map +1 -0
- package/src/lib/form-data-source/form-data-source-value-resolver.service.js +81 -13
- 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.queries.d.ts +4 -0
- package/src/lib/form-data-source/form-data-source.queries.js +31 -0
- package/src/lib/form-data-source/form-data-source.queries.js.map +1 -1
- package/src/lib/form-data-source/form-data-source.service.d.ts +21 -0
- package/src/lib/form-data-source/form-data-source.service.js +70 -17
- package/src/lib/form-data-source/form-data-source.service.js.map +1 -1
- package/src/lib/form-data-source/form-data-source.types.d.ts +6 -0
- package/src/lib/form-data-source/form-data-source.types.js.map +1 -1
- package/src/lib/form-data-source/form-data-source.validation.d.ts +12 -1
- package/src/lib/form-data-source/form-data-source.validation.js +34 -5
- package/src/lib/form-data-source/form-data-source.validation.js.map +1 -1
- package/src/lib/notification/notification-delivery.service.js +70 -8
- package/src/lib/notification/notification-delivery.service.js.map +1 -1
- package/src/lib/notification/notification-options.d.ts +13 -0
- package/src/lib/notification/notification-options.js +13 -0
- package/src/lib/notification/notification-options.js.map +1 -1
- package/src/lib/template/template.service.js +34 -1
- package/src/lib/template/template.service.js.map +1 -1
- package/src/lib/workflow-engine/workflow-condition-evaluator.js +18 -0
- package/src/lib/workflow-engine/workflow-condition-evaluator.js.map +1 -1
- package/src/lib/workflow-engine/workflow-engine.service.js +119 -6
- package/src/lib/workflow-engine/workflow-engine.service.js.map +1 -1
|
@@ -19,6 +19,7 @@ exports.DEFAULT_BPM_NOTIFICATION_OPTIONS = {
|
|
|
19
19
|
defaultEmailPreferenceEnabled: true,
|
|
20
20
|
defaultInAppPreferenceEnabled: true,
|
|
21
21
|
deliveryBatchSize: 25,
|
|
22
|
+
deliveryDispatchTimeoutMs: 30_000,
|
|
22
23
|
deliveryMaxAttempts: 3,
|
|
23
24
|
deliveryRetryBaseDelayMs: 60_000,
|
|
24
25
|
deliveryScanIntervalMs: 30_000,
|
|
@@ -49,6 +50,7 @@ function resolveBPMNotificationOptions(options = {}) {
|
|
|
49
50
|
return {
|
|
50
51
|
deliveryScanIntervalMs: normalizeInterval(options.notificationDeliveryScanIntervalMs, exports.DEFAULT_BPM_NOTIFICATION_OPTIONS.deliveryScanIntervalMs),
|
|
51
52
|
deliveryBatchSize: normalizePositiveInteger(options.notificationDeliveryBatchSize, exports.DEFAULT_BPM_NOTIFICATION_OPTIONS.deliveryBatchSize),
|
|
53
|
+
deliveryDispatchTimeoutMs: normalizeTimeout(options.notificationDeliveryDispatchTimeoutMs, exports.DEFAULT_BPM_NOTIFICATION_OPTIONS.deliveryDispatchTimeoutMs),
|
|
52
54
|
deliveryMaxAttempts: normalizePositiveInteger(options.notificationDeliveryMaxAttempts, exports.DEFAULT_BPM_NOTIFICATION_OPTIONS.deliveryMaxAttempts),
|
|
53
55
|
deliveryRetryBaseDelayMs: normalizeInterval(options.notificationDeliveryRetryBaseDelayMs, exports.DEFAULT_BPM_NOTIFICATION_OPTIONS.deliveryRetryBaseDelayMs),
|
|
54
56
|
deliverySchedulerEnabled: options.notificationDeliverySchedulerEnabled ??
|
|
@@ -152,6 +154,17 @@ function normalizeInterval(value, fallback) {
|
|
|
152
154
|
}
|
|
153
155
|
return Math.max(value, 1000);
|
|
154
156
|
}
|
|
157
|
+
/**
|
|
158
|
+
* Unlike {@link normalizeInterval} this accepts `0`, which means "wait
|
|
159
|
+
* indefinitely" for a dispatch, and imposes no 1000ms floor: a host may want a
|
|
160
|
+
* tight timeout without that being mistaken for a scan loop.
|
|
161
|
+
*/
|
|
162
|
+
function normalizeTimeout(value, fallback) {
|
|
163
|
+
if (typeof value !== 'number' || !Number.isInteger(value) || value < 0) {
|
|
164
|
+
return fallback;
|
|
165
|
+
}
|
|
166
|
+
return value;
|
|
167
|
+
}
|
|
155
168
|
function normalizePositiveInteger(value, fallback) {
|
|
156
169
|
if (typeof value !== 'number' || !Number.isInteger(value) || value <= 0) {
|
|
157
170
|
return fallback;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notification-options.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/notification/notification-options.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"notification-options.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/notification/notification-options.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ const core_1 = require("@nestjs/core");
|
|
|
8
8
|
const typeorm_1 = require("@nestjs/typeorm");
|
|
9
9
|
const typeorm_2 = require("typeorm");
|
|
10
10
|
const condition_service_1 = require("../condition/condition.service");
|
|
11
|
+
const form_table_reference_1 = require("../form/form-table-reference");
|
|
11
12
|
const form_definition_entity_1 = require("../form/form-definition.entity");
|
|
12
13
|
const form_definition_version_entity_1 = require("../form/form-definition-version.entity");
|
|
13
14
|
const form_enums_1 = require("../form/form.enums");
|
|
@@ -545,7 +546,12 @@ let TemplateService = TemplateService_1 = class TemplateService {
|
|
|
545
546
|
'subject',
|
|
546
547
|
],
|
|
547
548
|
});
|
|
548
|
-
const
|
|
549
|
+
const tableReferenceErrors = lintWorkflowTableReferences(version.workflowDefinition, version.initiatorPolicyCel, formVersion.schema);
|
|
550
|
+
const errors = [
|
|
551
|
+
...workflowResult.errors,
|
|
552
|
+
...conditionErrors,
|
|
553
|
+
...tableReferenceErrors,
|
|
554
|
+
];
|
|
549
555
|
if (errors.length) {
|
|
550
556
|
throw new common_1.BadRequestException(errors.join('; '));
|
|
551
557
|
}
|
|
@@ -741,6 +747,33 @@ function createApprovalTemplateCategoryWhere(options) {
|
|
|
741
747
|
{ ...statusWhere, description: (0, typeorm_2.ILike)(searchPattern) },
|
|
742
748
|
];
|
|
743
749
|
}
|
|
750
|
+
/**
|
|
751
|
+
* The workflow half of the "conditions must not address table internals" ban
|
|
752
|
+
* (ADR 16 §3.8). The form schema half — `visibleWhen` and friends — is enforced
|
|
753
|
+
* by the form schema lint; this covers the structured edge condition, which
|
|
754
|
+
* carries a plain field key, and every CEL expression the workflow can hold.
|
|
755
|
+
*
|
|
756
|
+
* Neither the CEL root-identifier lint nor the structured evaluator would
|
|
757
|
+
* report these on its own: `form.items[0].qty` has a legal root identifier and
|
|
758
|
+
* a `conditionFieldKey` of `items.qty` simply resolves to `undefined` at
|
|
759
|
+
* runtime. Both would fail silently rather than loudly.
|
|
760
|
+
*/
|
|
761
|
+
function lintWorkflowTableReferences(definition, initiatorPolicyCel, schema) {
|
|
762
|
+
const tableFieldKeys = (0, form_table_reference_1.readTableFieldKeys)(schema);
|
|
763
|
+
if (!tableFieldKeys.size) {
|
|
764
|
+
return [];
|
|
765
|
+
}
|
|
766
|
+
const expressionErrors = readConditionExpressions(definition, initiatorPolicyCel).flatMap(({ expression, label }) => typeof expression === 'string'
|
|
767
|
+
? [...tableFieldKeys]
|
|
768
|
+
.filter((tableKey) => (0, form_table_reference_1.referencesTableInternals)(expression, tableKey))
|
|
769
|
+
.map((tableKey) => `${label} must not reference table field internals: ${tableKey}`)
|
|
770
|
+
: []);
|
|
771
|
+
const structuredErrors = definition.edges
|
|
772
|
+
.filter((edge) => typeof edge.data.conditionFieldKey === 'string' &&
|
|
773
|
+
(0, form_table_reference_1.isTableInternalFieldKey)(edge.data.conditionFieldKey, tableFieldKeys))
|
|
774
|
+
.map((edge) => `workflow.edges.${edge.id}.data.conditionFieldKey must not reference table field internals: ${edge.data.conditionFieldKey}`);
|
|
775
|
+
return [...expressionErrors, ...structuredErrors];
|
|
776
|
+
}
|
|
744
777
|
function readConditionExpressions(definition, initiatorPolicyCel) {
|
|
745
778
|
return [
|
|
746
779
|
{ expression: initiatorPolicyCel, label: 'initiatorPolicyCel' },
|
|
@@ -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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"}
|
|
@@ -21,6 +21,14 @@ function evaluateWorkflowEdgeCondition(edge, context) {
|
|
|
21
21
|
return compareWorkflowValues(actualValue, operator, expectedValue);
|
|
22
22
|
}
|
|
23
23
|
function compareWorkflowValues(actualValue, operator, expectedValue) {
|
|
24
|
+
// A table value is a list of rows. Only IS_FILLED / IS_EMPTY (handled above,
|
|
25
|
+
// by row count) are defined for it; the designer offers nothing else, but a
|
|
26
|
+
// hand-written or imported definition can still carry a value comparison.
|
|
27
|
+
// Stringifying a row record would compare `[object Object]` and route the
|
|
28
|
+
// instance on a coincidence, so it never matches (ADR 16 §3.8).
|
|
29
|
+
if (isNonPrimitiveValue(actualValue)) {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
24
32
|
if (Array.isArray(actualValue)) {
|
|
25
33
|
return compareArrayValue(actualValue, operator, expectedValue);
|
|
26
34
|
}
|
|
@@ -67,6 +75,16 @@ function compareOrderedValue(actualValue, operator, expectedValue) {
|
|
|
67
75
|
}
|
|
68
76
|
return false;
|
|
69
77
|
}
|
|
78
|
+
/**
|
|
79
|
+
* True for a row record, or for a list holding any of them. Multi-select values
|
|
80
|
+
* (`readonly string[]`) stay comparable.
|
|
81
|
+
*/
|
|
82
|
+
function isNonPrimitiveValue(value) {
|
|
83
|
+
if (Array.isArray(value)) {
|
|
84
|
+
return value.some((entry) => isNonPrimitiveValue(entry));
|
|
85
|
+
}
|
|
86
|
+
return typeof value === 'object' && value !== null;
|
|
87
|
+
}
|
|
70
88
|
function isEmptyWorkflowValue(value) {
|
|
71
89
|
if (value === null || typeof value === 'undefined') {
|
|
72
90
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-condition-evaluator.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/workflow-engine/workflow-condition-evaluator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workflow-condition-evaluator.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/workflow-engine/workflow-condition-evaluator.ts"],"names":[],"mappings":"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"}
|
|
@@ -3314,6 +3314,15 @@ function writeValueAtPath(value, path, nextValue) {
|
|
|
3314
3314
|
if (segments.length === 0) {
|
|
3315
3315
|
return value;
|
|
3316
3316
|
}
|
|
3317
|
+
// An index step is not understood by this writer — `items[0].qty` splits into
|
|
3318
|
+
// the literal segment `items[0]`, which would be created as a brand new
|
|
3319
|
+
// top-level key rather than reaching the row. That is not the no-op ADR 16
|
|
3320
|
+
// §3.8 asks for: it pollutes `formData` (and therefore the CEL context) with
|
|
3321
|
+
// a key no schema declares, and makes `readValueAtPath` start answering for
|
|
3322
|
+
// a path it should never resolve.
|
|
3323
|
+
if (segments.some((segment) => /[[\]]/u.test(segment))) {
|
|
3324
|
+
return value;
|
|
3325
|
+
}
|
|
3317
3326
|
return writeNestedValue(value, segments, nextValue);
|
|
3318
3327
|
}
|
|
3319
3328
|
function writeNestedValue(value, segments, nextValue) {
|
|
@@ -3325,6 +3334,15 @@ function writeNestedValue(value, segments, nextValue) {
|
|
|
3325
3334
|
return { ...value, [currentSegment]: nextValue };
|
|
3326
3335
|
}
|
|
3327
3336
|
const currentValue = value[currentSegment];
|
|
3337
|
+
// Descending through something that already holds a non-record value must be
|
|
3338
|
+
// a no-op, not an overwrite. `items.qty` against a table would otherwise
|
|
3339
|
+
// replace the whole row array with `{ qty: ... }`; the same guard protects a
|
|
3340
|
+
// scalar from being swallowed by a nested write (ADR 16 §3.8).
|
|
3341
|
+
if (typeof currentValue !== 'undefined' &&
|
|
3342
|
+
currentValue !== null &&
|
|
3343
|
+
!isRecord(currentValue)) {
|
|
3344
|
+
return value;
|
|
3345
|
+
}
|
|
3328
3346
|
const nestedValue = isRecord(currentValue) ? currentValue : {};
|
|
3329
3347
|
return {
|
|
3330
3348
|
...value,
|
|
@@ -3616,17 +3634,105 @@ function readCandidateStatusForClosedTask(taskStatus) {
|
|
|
3616
3634
|
return workflow_engine_enums_1.TaskCandidateStatusEnum.CANCELLED;
|
|
3617
3635
|
}
|
|
3618
3636
|
function validateSubmittedFormData(schema, formData) {
|
|
3619
|
-
const
|
|
3620
|
-
|
|
3621
|
-
|
|
3622
|
-
|
|
3623
|
-
|
|
3624
|
-
|
|
3637
|
+
const visibleFields = schema.fields.filter((field) => isSubmittedFormFieldVisible(field, schema.fields, formData));
|
|
3638
|
+
// Tables answer "is this filled?" by row count and report per-row problems
|
|
3639
|
+
// with an instance path, so they get their own pass instead of the flat
|
|
3640
|
+
// "missing required fields" list (ADR 16 §3.7).
|
|
3641
|
+
const missingFields = visibleFields.filter((field) => !(0, form_1.isTableFieldDefinition)(field) &&
|
|
3642
|
+
isSubmittedFormFieldRequired(field, schema.fields, formData) &&
|
|
3643
|
+
!isSubmittedFieldValuePresent(formData[field.fieldKey]));
|
|
3625
3644
|
if (missingFields.length > 0) {
|
|
3626
3645
|
throw new common_1.BadRequestException(`Form data is missing required fields: ${missingFields
|
|
3627
3646
|
.map((field) => field.label || field.fieldKey)
|
|
3628
3647
|
.join(', ')}`);
|
|
3629
3648
|
}
|
|
3649
|
+
const tableErrors = visibleFields
|
|
3650
|
+
.filter(form_1.isTableFieldDefinition)
|
|
3651
|
+
.flatMap((field) => validateSubmittedTableValue(field, formData[field.fieldKey], isSubmittedFormFieldRequired(field, schema.fields, formData)));
|
|
3652
|
+
if (tableErrors.length > 0) {
|
|
3653
|
+
throw new common_1.BadRequestException(tableErrors.join('; '));
|
|
3654
|
+
}
|
|
3655
|
+
}
|
|
3656
|
+
/**
|
|
3657
|
+
* Authoritative shape, row-count and per-row required checks for one table
|
|
3658
|
+
* value (ADR 16 §3.7). Depth stops here on purpose: like the flat fields, only
|
|
3659
|
+
* required / shape / row count are enforced server side; `minimum`, `maxLength`
|
|
3660
|
+
* and friends stay a frontend hint.
|
|
3661
|
+
*/
|
|
3662
|
+
function validateSubmittedTableValue(field, value, required) {
|
|
3663
|
+
const path = `formData.${field.fieldKey}`;
|
|
3664
|
+
if (typeof value === 'undefined' || value === null) {
|
|
3665
|
+
return required || readTableMinRows(field) > 0
|
|
3666
|
+
? [`${path} must include at least ${readTableRequiredRowCount(field)} row(s)`]
|
|
3667
|
+
: [];
|
|
3668
|
+
}
|
|
3669
|
+
if (!Array.isArray(value)) {
|
|
3670
|
+
return [`${path} must be an array of rows`];
|
|
3671
|
+
}
|
|
3672
|
+
const rowErrors = value.flatMap((row, index) => validateSubmittedTableRow(field, row, `${path}[${index}]`));
|
|
3673
|
+
// A malformed row cannot be counted against min/max meaningfully; report the
|
|
3674
|
+
// shape problem first so the submitter fixes the real cause.
|
|
3675
|
+
if (rowErrors.length > 0) {
|
|
3676
|
+
return rowErrors;
|
|
3677
|
+
}
|
|
3678
|
+
return validateSubmittedTableRowCount(field, value.length, required, path);
|
|
3679
|
+
}
|
|
3680
|
+
function validateSubmittedTableRowCount(field, rowCount, required, path) {
|
|
3681
|
+
const minRows = required
|
|
3682
|
+
? Math.max(readTableMinRows(field), 1)
|
|
3683
|
+
: readTableMinRows(field);
|
|
3684
|
+
const maxRows = readTableMaxRows(field);
|
|
3685
|
+
return [
|
|
3686
|
+
...(rowCount < minRows
|
|
3687
|
+
? [`${path} must include at least ${minRows} row(s)`]
|
|
3688
|
+
: []),
|
|
3689
|
+
...(rowCount > maxRows
|
|
3690
|
+
? [`${path} must include at most ${maxRows} row(s)`]
|
|
3691
|
+
: []),
|
|
3692
|
+
];
|
|
3693
|
+
}
|
|
3694
|
+
function validateSubmittedTableRow(field, row, path) {
|
|
3695
|
+
if (!isRecord(row)) {
|
|
3696
|
+
return [`${path} must be an object`];
|
|
3697
|
+
}
|
|
3698
|
+
const columnsByKey = new Map(field.columns.map((column) => [column.fieldKey, column]));
|
|
3699
|
+
const unknownKeyErrors = Object.keys(row)
|
|
3700
|
+
.filter((columnKey) => !columnsByKey.has(columnKey))
|
|
3701
|
+
.map((columnKey) => `${path}.${columnKey} is not a table column`);
|
|
3702
|
+
const cellErrors = Object.entries(row)
|
|
3703
|
+
.filter(([columnKey, cellValue]) => columnsByKey.has(columnKey) && !(0, form_1.isFormTableCellValue)(cellValue))
|
|
3704
|
+
.map(([columnKey]) => `${path}.${columnKey} is not a valid cell value`);
|
|
3705
|
+
const requiredErrors = field.columns
|
|
3706
|
+
.filter((column) => isSubmittedTableColumnRequired(column) &&
|
|
3707
|
+
!isSubmittedFieldValuePresent(readRowCellValue(row, column.fieldKey)))
|
|
3708
|
+
.map((column) => `${path}.${column.fieldKey} is required`);
|
|
3709
|
+
return [...unknownKeyErrors, ...cellErrors, ...requiredErrors];
|
|
3710
|
+
}
|
|
3711
|
+
/**
|
|
3712
|
+
* Own-property read. `constructor`, `toString` and friends all satisfy the
|
|
3713
|
+
* column key identifier rule, so a plain index would walk the prototype chain
|
|
3714
|
+
* and report an empty row as filled.
|
|
3715
|
+
*/
|
|
3716
|
+
function readRowCellValue(row, columnKey) {
|
|
3717
|
+
return Object.prototype.hasOwnProperty.call(row, columnKey)
|
|
3718
|
+
? row[columnKey]
|
|
3719
|
+
: undefined;
|
|
3720
|
+
}
|
|
3721
|
+
/**
|
|
3722
|
+
* Columns carry no `requiredWhen`: row-scoped conditions are out of scope for
|
|
3723
|
+
* V1 and the structural lint rejects them (ADR 16 §3.1).
|
|
3724
|
+
*/
|
|
3725
|
+
function isSubmittedTableColumnRequired(column) {
|
|
3726
|
+
return column.required === true;
|
|
3727
|
+
}
|
|
3728
|
+
function readTableMinRows(field) {
|
|
3729
|
+
return typeof field.minRows === 'number' ? field.minRows : 0;
|
|
3730
|
+
}
|
|
3731
|
+
function readTableMaxRows(field) {
|
|
3732
|
+
return typeof field.maxRows === 'number' ? field.maxRows : form_1.FORM_TABLE_MAX_ROWS;
|
|
3733
|
+
}
|
|
3734
|
+
function readTableRequiredRowCount(field) {
|
|
3735
|
+
return Math.max(readTableMinRows(field), 1);
|
|
3630
3736
|
}
|
|
3631
3737
|
function readFormDefinitionSnapshotSchema(snapshot) {
|
|
3632
3738
|
const schema = snapshot.schema;
|
|
@@ -3663,6 +3769,13 @@ function evaluateFormConditionExpression(expression, fields, values, fallback) {
|
|
|
3663
3769
|
if (!field) {
|
|
3664
3770
|
return fallback;
|
|
3665
3771
|
}
|
|
3772
|
+
// A table value is a list of rows; comparing it with `==` / `>` has no
|
|
3773
|
+
// meaning, and the structural lint already rejects cell-level references.
|
|
3774
|
+
// Falling back keeps a table operand from silently deciding visibility
|
|
3775
|
+
// through a string comparison against row records (ADR 16 §3.8).
|
|
3776
|
+
if ((0, form_1.isTableFieldDefinition)(field)) {
|
|
3777
|
+
return fallback;
|
|
3778
|
+
}
|
|
3666
3779
|
return evaluateFormConditionRule(rule, field, values[field.fieldKey]);
|
|
3667
3780
|
}
|
|
3668
3781
|
function parseFormConditionRule(expression) {
|