@cap-js/process 0.1.1 → 0.2.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/README.md +135 -10
- package/dist/lib/api/process-api-client.js.map +1 -1
- package/dist/lib/build/constants.js +9 -1
- package/dist/lib/build/constants.js.map +1 -1
- package/dist/lib/build/plugin.js +67 -71
- package/dist/lib/build/plugin.js.map +1 -1
- package/dist/lib/build/validation-utils.js +2 -2
- package/dist/lib/build/validation-utils.js.map +1 -1
- package/dist/lib/build/validations.js +44 -34
- package/dist/lib/build/validations.js.map +1 -1
- package/dist/lib/constants.js +24 -32
- package/dist/lib/constants.js.map +1 -1
- package/dist/lib/handlers/annotationCache.js +30 -20
- package/dist/lib/handlers/annotationCache.js.map +1 -1
- package/dist/lib/handlers/annotationHandlers.js +13 -17
- package/dist/lib/handlers/annotationHandlers.js.map +1 -1
- package/dist/lib/handlers/index.js +2 -7
- package/dist/lib/handlers/index.js.map +1 -1
- package/dist/lib/handlers/onDeleteUtils.js +5 -48
- package/dist/lib/handlers/onDeleteUtils.js.map +1 -1
- package/dist/lib/handlers/processActionHandler.js +42 -32
- package/dist/lib/handlers/processActionHandler.js.map +1 -1
- package/dist/lib/handlers/processCancel.js +3 -16
- package/dist/lib/handlers/processCancel.js.map +1 -1
- package/dist/lib/handlers/processResume.js +3 -16
- package/dist/lib/handlers/processResume.js.map +1 -1
- package/dist/lib/handlers/processStart.js +136 -75
- package/dist/lib/handlers/processStart.js.map +1 -1
- package/dist/lib/handlers/processSuspend.js +3 -16
- package/dist/lib/handlers/processSuspend.js.map +1 -1
- package/dist/lib/handlers/utils.js +3 -0
- package/dist/lib/handlers/utils.js.map +1 -1
- package/dist/lib/processImport/csnBuilder.js +196 -0
- package/dist/lib/processImport/csnBuilder.js.map +1 -0
- package/dist/lib/processImport/index.js +178 -0
- package/dist/lib/processImport/index.js.map +1 -0
- package/dist/lib/processImport/rawWorkflowConverter.js +148 -0
- package/dist/lib/processImport/rawWorkflowConverter.js.map +1 -0
- package/dist/lib/processImport/schemaMapper.js +200 -0
- package/dist/lib/processImport/schemaMapper.js.map +1 -0
- package/dist/lib/processImport/utils.js +33 -0
- package/dist/lib/processImport/utils.js.map +1 -0
- package/dist/lib/processImportRegistration.js +5 -1
- package/dist/lib/processImportRegistration.js.map +1 -1
- package/dist/lib/shared/annotations-helper.js +98 -0
- package/dist/lib/shared/annotations-helper.js.map +1 -0
- package/dist/lib/shared/businessKey-helper.js +1 -0
- package/dist/lib/shared/businessKey-helper.js.map +1 -1
- package/package.json +5 -3
- package/dist/lib/processImport.js +0 -449
- package/dist/lib/processImport.js.map +0 -1
package/README.md
CHANGED
|
@@ -12,7 +12,10 @@ CAP Plugin to interact with SAP Build Process Automation to manage processes.
|
|
|
12
12
|
- [Importing Processes as a Service](#importing-processes-as-a-service)
|
|
13
13
|
- [Annotations](#annotations)
|
|
14
14
|
- [Starting a Process](#starting-a-process)
|
|
15
|
+
- [Multiple Start Annotations](#multiple-start-annotations)
|
|
15
16
|
- [Cancelling, Resuming, or Suspending a Process](#cancelling-resuming-or-suspending-a-process)
|
|
17
|
+
- [Multiple Cancel/Resume/Suspend Annotations](#multiple-cancelresumesuspend-annotations)
|
|
18
|
+
- [Multiple Business Key Annotations](#multiple-business-key-annotations)
|
|
16
19
|
- [Conditional Execution](#conditional-execution)
|
|
17
20
|
- [Input Mapping](#input-mapping)
|
|
18
21
|
- [Programmatic Approach](#programmatic-approach)
|
|
@@ -100,12 +103,40 @@ service MyService {
|
|
|
100
103
|
|
|
101
104
|
> See [Input Mapping](#input-mapping) below for detailed examples on controlling which entity fields are passed as process context.
|
|
102
105
|
|
|
106
|
+
#### Multiple Start Annotations
|
|
107
|
+
|
|
108
|
+
To start multiple processes from the same entity, use CDS qualifiers (`#qualifier`) to distinguish them. Each qualified annotation is evaluated independently, so each can have its own `id`, `on`, `if`, and `inputs`.
|
|
109
|
+
|
|
110
|
+
```cds
|
|
111
|
+
service MyService {
|
|
112
|
+
|
|
113
|
+
@bpm.process.start #orderProcess : {
|
|
114
|
+
id: 'orderProcess',
|
|
115
|
+
on: 'CREATE',
|
|
116
|
+
}
|
|
117
|
+
@bpm.process.start #notificationProcess : {
|
|
118
|
+
id: 'notificationProcess',
|
|
119
|
+
on: 'CREATE',
|
|
120
|
+
if: (field3 > 10)
|
|
121
|
+
}
|
|
122
|
+
entity MyEntity {
|
|
123
|
+
key ID : UUID;
|
|
124
|
+
field1 : String;
|
|
125
|
+
field2 : String;
|
|
126
|
+
field3 : Integer;
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
}
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
Both processes are started when a `CREATE` event occurs on the entity, but `notificationProcess`is only stated if field3 is > 10. You can also combine qualifiers with different events or conditions.
|
|
133
|
+
|
|
103
134
|
### Cancelling, Resuming, or Suspending a Process
|
|
104
135
|
|
|
105
136
|
- `@bpm.process.<cancel|resume|suspend>` -- Cancel/Suspend/Resume any processes with the given businessKey
|
|
106
137
|
- `@bpm.process.<cancel|resume|suspend>.on`
|
|
107
138
|
- `@bpm.process.<cancel|resume|suspend>.cascade` -- Boolean (optional, defaults to false)
|
|
108
|
-
- For cancelling, resuming, or suspending, it is required to have a business key expression annotated on the entity using `@bpm.process.businessKey`. If no business key is annotated, the request will be rejected.
|
|
139
|
+
- For cancelling, resuming, or suspending, it is required to have a business key expression annotated on the entity using `@bpm.process.businessKey`. If no business key is annotated, the request will be rejected. When using qualified annotations, a qualified business key (e.g. `@bpm.process.businessKey #one`) is resolved first; if not found, the unqualified `@bpm.process.businessKey` is used as a fallback.
|
|
109
140
|
- Example: `@bpm.process.businessKey: (id || '-' || name)`
|
|
110
141
|
|
|
111
142
|
Example:
|
|
@@ -128,6 +159,75 @@ service MyService {
|
|
|
128
159
|
|
|
129
160
|
```
|
|
130
161
|
|
|
162
|
+
#### Multiple Cancel/Resume/Suspend Annotations
|
|
163
|
+
|
|
164
|
+
To trigger multiple cancel, resume, or suspend operations from the same entity, use CDS qualifiers (`#qualifier`) to distinguish them. Each qualified annotation is evaluated independently, so each can have its own `on`, `if`, and `cascade`.
|
|
165
|
+
|
|
166
|
+
```cds
|
|
167
|
+
service MyService {
|
|
168
|
+
|
|
169
|
+
@bpm.process.cancel #cancelOnDelete : {
|
|
170
|
+
on: 'DELETE',
|
|
171
|
+
}
|
|
172
|
+
@bpm.process.cancel #cancelOnUpdate : {
|
|
173
|
+
on: 'UPDATE',
|
|
174
|
+
if: (status = 'active')
|
|
175
|
+
}
|
|
176
|
+
@bpm.process.businessKey: (ID)
|
|
177
|
+
entity MyEntity {
|
|
178
|
+
key ID : UUID;
|
|
179
|
+
status : String;
|
|
180
|
+
};
|
|
181
|
+
|
|
182
|
+
}
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
#### Multiple Business Key Annotations
|
|
186
|
+
|
|
187
|
+
When using multiple qualified annotations on the same entity, you can define different business key expressions per qualifier using `@bpm.process.businessKey #qualifier`. Each qualified process annotation first looks for a business key with a matching qualifier. If none is found, the unqualified `@bpm.process.businessKey` is used as a fallback.
|
|
188
|
+
|
|
189
|
+
```cds
|
|
190
|
+
service MyService {
|
|
191
|
+
|
|
192
|
+
@bpm.process.cancel #cancelByName : {
|
|
193
|
+
on: 'DELETE',
|
|
194
|
+
}
|
|
195
|
+
@bpm.process.cancel #cancelById : {
|
|
196
|
+
on: 'UPDATE',
|
|
197
|
+
}
|
|
198
|
+
@bpm.process.businessKey #cancelByName : (name)
|
|
199
|
+
@bpm.process.businessKey #cancelById : (ID)
|
|
200
|
+
entity MyEntity {
|
|
201
|
+
key ID : UUID;
|
|
202
|
+
name : String;
|
|
203
|
+
};
|
|
204
|
+
|
|
205
|
+
}
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
In this example, `@bpm.process.cancel #cancelByName` uses `name` as business key, while `@bpm.process.cancel #cancelById` uses `ID`.
|
|
209
|
+
|
|
210
|
+
You can also mix qualified and unqualified business keys. Qualified annotations without a matching qualified business key fall back to the unqualified one:
|
|
211
|
+
|
|
212
|
+
```cds
|
|
213
|
+
service MyService {
|
|
214
|
+
|
|
215
|
+
@bpm.process.cancel #one : { on: 'DELETE' }
|
|
216
|
+
@bpm.process.cancel #two : { on: 'UPDATE' }
|
|
217
|
+
@bpm.process.businessKey #one : (name)
|
|
218
|
+
@bpm.process.businessKey : (ID)
|
|
219
|
+
entity MyEntity {
|
|
220
|
+
key ID : UUID;
|
|
221
|
+
name : String;
|
|
222
|
+
};
|
|
223
|
+
|
|
224
|
+
}
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
Here, `#one` uses `name` as its business key, while `#two` falls back to the unqualified `@bpm.process.businessKey` and uses `ID`.
|
|
228
|
+
|
|
229
|
+
This also applies to `@bpm.process.start`, `@bpm.process.suspend`, and `@bpm.process.resume` annotations.
|
|
230
|
+
|
|
131
231
|
### Conditional Execution
|
|
132
232
|
|
|
133
233
|
The `.if` annotation is available on all process operations (`start`, `cancel`, `suspend`, `resume`). It accepts a CDS expression and ensures the operation is only triggered when the expression evaluates to true.
|
|
@@ -395,7 +495,9 @@ The plugin provides two ways to interact with SBPA processes programmatically:
|
|
|
395
495
|
1. **Specific ProcessService** -- Provides a process specific abstraction on the process as a CAP service.
|
|
396
496
|
2. **Generic ProcessService** -- Provides a generic abstraction on the [SBPA workflow api](https://api.sap.com/api/SPA_Workflow_Runtime/overview) as a CAP service.
|
|
397
497
|
|
|
398
|
-
|
|
498
|
+
The approaches work only in hybrid mode (against a real SBPA instance), and in production. For getAttributes and getOutputs, it is currently not possible to get the real attributes as in a running process.
|
|
499
|
+
For the lifecycle operations, the generic ProcessService allows you to set a business key in the header, which can then be used to execute the lifecycle operations in the local environment.
|
|
500
|
+
The specific ProcessService does not work locally in the current state of the plugin.
|
|
399
501
|
|
|
400
502
|
### Specific Process Services
|
|
401
503
|
|
|
@@ -403,21 +505,37 @@ For full type safety and build-time validation, you can import a specific SBPA p
|
|
|
403
505
|
|
|
404
506
|
#### Importing a Service
|
|
405
507
|
|
|
406
|
-
To import a process, you
|
|
508
|
+
To import a process, you have two different options to import: First via the download of the model from you SBPA instance, or via a direct import from SBPA where you need a bound SBPA instance to your CAP Application (i.e. `cds bind`).
|
|
509
|
+
|
|
510
|
+
##### From downloaded model
|
|
511
|
+
|
|
512
|
+
Go to your SBPA instance > Control Tower > Environments > Select your environment where the process is deployed > Processes and Workflows > Select your process > Click on the "Download Model" button.
|
|
513
|
+
|
|
514
|
+
```bash
|
|
515
|
+
cds import --from process ~/Downloads/<your-process>.json
|
|
516
|
+
```
|
|
517
|
+
|
|
518
|
+
This will create:
|
|
519
|
+
|
|
520
|
+
- A new CDS service in `./srv/external/{projectId}.{processIdentifier}.cds` with the process definition used for build-time validation and the typed programmatic API
|
|
521
|
+
- A converted ProcessHeader JSON file in `./srv/workflows/{projectId}.{processIdentifier}.json` for future re-imports
|
|
407
522
|
|
|
408
523
|
##### From SBPA (Remote Import)
|
|
409
524
|
|
|
410
|
-
Import your SBPA process directly from
|
|
525
|
+
Import your SBPA process directly from SBPA.
|
|
411
526
|
|
|
412
|
-
**Note:** For
|
|
527
|
+
**Note:** For this kind of imports, you must have ProcessService credentials bound. `cds import --from process` will resolve the credentials.
|
|
413
528
|
|
|
414
529
|
```bash
|
|
415
530
|
cds import --from process --name eu12.myorg.myproject.myProcess
|
|
416
531
|
```
|
|
417
532
|
|
|
418
|
-
|
|
533
|
+
This will create:
|
|
419
534
|
|
|
420
|
-
|
|
535
|
+
- A new CDS service in `./srv/external/eu12.myorg.myproject.myProcess.cds` with the process definition
|
|
536
|
+
- A ProcessHeader JSON file in `./srv/workflows/eu12.myorg.myproject.myProcess.json` with the process definition in JSON format
|
|
537
|
+
|
|
538
|
+
In case your external services are corrupted, you can re-import from the saved file in `./srv/workflows/`:
|
|
421
539
|
|
|
422
540
|
```bash
|
|
423
541
|
cds import --from process ./srv/workflows/eu12.myorg.myproject.myProcess.json
|
|
@@ -526,6 +644,13 @@ await processService.emit('start', {
|
|
|
526
644
|
context: { orderId: '12345', amount: 100.0 },
|
|
527
645
|
});
|
|
528
646
|
|
|
647
|
+
// Start a process with local businessKey
|
|
648
|
+
await processService.emit('start', {
|
|
649
|
+
definitionId: 'eu12.myorg.myproject.myProcess',
|
|
650
|
+
context: { orderId: '12345', amount: 100.0 },
|
|
651
|
+
{orderId}, // orderId -> "order-12345"
|
|
652
|
+
})
|
|
653
|
+
|
|
529
654
|
// Cancel all running instances for a business key
|
|
530
655
|
await processService.emit('cancel', {
|
|
531
656
|
businessKey: 'order-12345',
|
|
@@ -583,6 +708,8 @@ Validation occurs during `cds build` and produces **errors** (hard failures that
|
|
|
583
708
|
|
|
584
709
|
- Unknown annotations under `@bpm.process.start.*` trigger a warning listing allowed annotations
|
|
585
710
|
- If no imported process definition is found for the given `id`, a warning is issued as input validation is skipped
|
|
711
|
+
- If `@bpm.process.businessKey` is not defined on an entity with a valid start annotation (`id` and `on`), a warning is issued and the business key length check is skipped
|
|
712
|
+
- If `@bpm.process.businessKey` is defined but is not a valid CDS expression, a warning is issued and the business key length check is skipped
|
|
586
713
|
|
|
587
714
|
#### Input Validation (when process definition is found)
|
|
588
715
|
|
|
@@ -599,8 +726,6 @@ When both `@bpm.process.start.id` and `@bpm.process.start.on` are present and th
|
|
|
599
726
|
- Array cardinality mismatches (entity is array but process expects single value or vice versa)
|
|
600
727
|
- Mandatory flag mismatches (process input is mandatory but entity attribute is not marked as `@mandatory`)
|
|
601
728
|
|
|
602
|
-
**Note:** Associations and compositions are recursively validated, and cycles in entity associations are detected and reported as errors.
|
|
603
|
-
|
|
604
729
|
### Process Cancel/Suspend/Resume
|
|
605
730
|
|
|
606
731
|
#### Required Annotations (Errors)
|
|
@@ -610,7 +735,7 @@ When both `@bpm.process.start.id` and `@bpm.process.start.on` are present and th
|
|
|
610
735
|
- A bound action defined on the entity
|
|
611
736
|
- `@bpm.process.<cancel|suspend|resume>.cascade` is optional (defaults to false); if provided, must be a boolean
|
|
612
737
|
- `@bpm.process.<cancel|suspend|resume>.if` must be a valid CDS expression (if present)
|
|
613
|
-
- If any annotation with `@bpm.process.<cancel|suspend|resume>` is defined, a valid business key expression must be defined using `@bpm.process.businessKey`.
|
|
738
|
+
- If any annotation with `@bpm.process.<cancel|suspend|resume>` is defined, a valid business key expression must be defined using `@bpm.process.businessKey`. When using qualified annotations (e.g. `@bpm.process.cancel #one`), the validation first checks for a matching qualified business key (`@bpm.process.businessKey #one`), then falls back to the unqualified `@bpm.process.businessKey`.
|
|
614
739
|
- Example: `@bpm.process.businessKey: (id || '-' || name)` would concatenate `id` and `name` with a `-` separator as a business key.
|
|
615
740
|
- The business key definition must match the one configured in the SBPA Process Builder.
|
|
616
741
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-api-client.js","sourceRoot":"","sources":["../../../lib/api/process-api-client.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"process-api-client.js","sourceRoot":"","sources":["../../../lib/api/process-api-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Build validation message constants.
|
|
4
4
|
*/
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.WARNING_INPUTS_NOT_VALIDATED = exports.WARNING_INPUT_PATH_NOT_IN_ENTITY = exports.ERROR_MISSING_MANDATORY_PROCESS_INPUT = exports.WARNING_MANDATORY_MISMATCH = exports.ERROR_MISSING_PROCESS_INPUT = exports.WARNING_ARRAY_MISMATCH = exports.WARNING_TYPE_MISMATCH = exports.WARNING_ATTRIBUTE_NOT_IN_PROCESS_DEF = exports.ERROR_CASCADE_MUST_BE_BOOLEAN = exports.ERROR_BUSINESS_KEY_REQUIRED = exports.ERROR_ON_REQUIRED = exports.ERROR_ANNOTATION_REQUIRES_OTHER = exports.WARNING_NO_PROCESS_DEFINITION = exports.ERROR_START_ID_MUST_BE_STRING = exports.ERROR_START_ID_REQUIRES_ON = exports.ERROR_START_ON_REQUIRES_ID = exports.ERROR_BUSINESS_KEY_MUST_BE_EXPRESSION = exports.ERROR_IF_MUST_BE_EXPRESSION = exports.ERROR_ANNOTATION_MUST_BE_EVENT_OR_ACTION = exports.ERROR_ANNOTATION_MUST_BE_STRING = exports.WARNING_UNKNOWN_ANNOTATION = void 0;
|
|
6
|
+
exports.WARNING_INPUTS_NOT_VALIDATED = exports.WARNING_INPUT_PATH_NOT_IN_ENTITY = exports.ERROR_MISSING_MANDATORY_PROCESS_INPUT = exports.WARNING_MANDATORY_MISMATCH = exports.ERROR_MISSING_PROCESS_INPUT = exports.WARNING_ARRAY_MISMATCH = exports.WARNING_TYPE_MISMATCH = exports.WARNING_ATTRIBUTE_NOT_IN_PROCESS_DEF = exports.ERROR_CASCADE_MUST_BE_BOOLEAN = exports.ERROR_BUSINESS_KEY_REQUIRED = exports.ERROR_ON_REQUIRED = exports.ERROR_ANNOTATION_REQUIRES_OTHER = exports.WARNING_NO_PROCESS_DEFINITION = exports.ERROR_START_ID_MUST_BE_STRING = exports.ERROR_START_ID_REQUIRES_ON = exports.ERROR_START_ON_REQUIRES_ID = exports.WARNING_BUSINESS_KEY_NOT_FOUND = exports.WARNING_BUSINESS_KEY_MUST_BE_EXPRESSION = exports.ERROR_BUSINESS_KEY_MUST_BE_EXPRESSION = exports.ERROR_IF_MUST_BE_EXPRESSION = exports.ERROR_ANNOTATION_MUST_BE_EVENT_OR_ACTION = exports.ERROR_ANNOTATION_MUST_BE_STRING = exports.WARNING_UNKNOWN_ANNOTATION = void 0;
|
|
7
7
|
// =============================================================================
|
|
8
8
|
// Annotation Validation Messages
|
|
9
9
|
// =============================================================================
|
|
@@ -27,6 +27,14 @@ const ERROR_BUSINESS_KEY_MUST_BE_EXPRESSION = (entityName, annotationBKey) => {
|
|
|
27
27
|
return `${entityName}: ${annotationBKey} must be a valid expression`;
|
|
28
28
|
};
|
|
29
29
|
exports.ERROR_BUSINESS_KEY_MUST_BE_EXPRESSION = ERROR_BUSINESS_KEY_MUST_BE_EXPRESSION;
|
|
30
|
+
const WARNING_BUSINESS_KEY_MUST_BE_EXPRESSION = (entityName, annotationBKey) => {
|
|
31
|
+
return `${entityName}: ${annotationBKey} must be a valid expression. Length check will be skipped.`;
|
|
32
|
+
};
|
|
33
|
+
exports.WARNING_BUSINESS_KEY_MUST_BE_EXPRESSION = WARNING_BUSINESS_KEY_MUST_BE_EXPRESSION;
|
|
34
|
+
const WARNING_BUSINESS_KEY_NOT_FOUND = (entityName, annotationBKey) => {
|
|
35
|
+
return `${entityName}: ${annotationBKey} not found for process start. Length check will be skipped.`;
|
|
36
|
+
};
|
|
37
|
+
exports.WARNING_BUSINESS_KEY_NOT_FOUND = WARNING_BUSINESS_KEY_NOT_FOUND;
|
|
30
38
|
// =============================================================================
|
|
31
39
|
// Start Annotation Validation Messages
|
|
32
40
|
// =============================================================================
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../lib/build/constants.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../lib/build/constants.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/build/plugin.js
CHANGED
|
@@ -7,26 +7,7 @@ exports.ProcessValidationPlugin = void 0;
|
|
|
7
7
|
const cds_1 = __importDefault(require("@sap/cds"));
|
|
8
8
|
const index_1 = require("./index");
|
|
9
9
|
const constants_1 = require("../constants");
|
|
10
|
-
const
|
|
11
|
-
{
|
|
12
|
-
annotationOn: constants_1.PROCESS_CANCEL_ON,
|
|
13
|
-
annotationCascade: constants_1.PROCESS_CANCEL_CASCADE,
|
|
14
|
-
annotationIf: constants_1.PROCESS_CANCEL_IF,
|
|
15
|
-
annotationPrefix: constants_1.PROCESS_CANCEL,
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
annotationOn: constants_1.PROCESS_SUSPEND_ON,
|
|
19
|
-
annotationCascade: constants_1.PROCESS_SUSPEND_CASCADE,
|
|
20
|
-
annotationIf: constants_1.PROCESS_SUSPEND_IF,
|
|
21
|
-
annotationPrefix: constants_1.PROCESS_SUSPEND,
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
annotationOn: constants_1.PROCESS_RESUME_ON,
|
|
25
|
-
annotationCascade: constants_1.PROCESS_RESUME_CASCADE,
|
|
26
|
-
annotationIf: constants_1.PROCESS_RESUME_IF,
|
|
27
|
-
annotationPrefix: constants_1.PROCESS_RESUME,
|
|
28
|
-
},
|
|
29
|
-
];
|
|
10
|
+
const annotations_helper_1 = require("../shared/annotations-helper");
|
|
30
11
|
const LOG = cds_1.default.log('process-build');
|
|
31
12
|
// cds.build is only available during build phase, not during serve/watch
|
|
32
13
|
const Plugin = cds_1.default.build?.Plugin;
|
|
@@ -34,6 +15,7 @@ const ERROR = Plugin?.ERROR;
|
|
|
34
15
|
// Base class - use Plugin if available, otherwise a dummy class
|
|
35
16
|
const BuildPluginBase = Plugin ?? class {
|
|
36
17
|
};
|
|
18
|
+
const LIFECYCLE_ANNOTATION_BASES = [constants_1.PROCESS_CANCEL, constants_1.PROCESS_SUSPEND, constants_1.PROCESS_RESUME];
|
|
37
19
|
class ProcessValidationPlugin extends BuildPluginBase {
|
|
38
20
|
static taskDefaults = { src: '.' };
|
|
39
21
|
static hasTask() {
|
|
@@ -52,8 +34,8 @@ class ProcessValidationPlugin extends BuildPluginBase {
|
|
|
52
34
|
if (def.kind !== 'entity')
|
|
53
35
|
continue;
|
|
54
36
|
// Validate lifecycle annotations (cancel, suspend, resume) using configuration
|
|
55
|
-
for (const
|
|
56
|
-
this.validateProcessLifecycleAnnotations(name, def,
|
|
37
|
+
for (const annotationBase of LIFECYCLE_ANNOTATION_BASES) {
|
|
38
|
+
this.validateProcessLifecycleAnnotations(name, def, annotationBase);
|
|
57
39
|
}
|
|
58
40
|
this.validateStartAnnotations(name, def, processDefinitions, model.definitions || {});
|
|
59
41
|
}
|
|
@@ -66,59 +48,73 @@ class ProcessValidationPlugin extends BuildPluginBase {
|
|
|
66
48
|
LOG.debug('All process annotations validated successfully.');
|
|
67
49
|
}
|
|
68
50
|
validateStartAnnotations(entityName, def, processDefinitions, allDefinitions) {
|
|
69
|
-
|
|
70
|
-
const
|
|
71
|
-
constants_1.
|
|
72
|
-
constants_1.
|
|
73
|
-
constants_1.
|
|
74
|
-
constants_1.
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
(0, index_1.
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
51
|
+
const startPrefixes = (0, annotations_helper_1.getAnnotationPrefixes)(def, constants_1.PROCESS_START);
|
|
52
|
+
for (const prefix of startPrefixes) {
|
|
53
|
+
const annotationId = `${prefix}${constants_1.SUFFIX_ID}`;
|
|
54
|
+
const annotationOn = `${prefix}${constants_1.SUFFIX_ON}`;
|
|
55
|
+
const annotationIf = `${prefix}${constants_1.SUFFIX_IF}`;
|
|
56
|
+
const annotationInputs = `${prefix}${constants_1.SUFFIX_INPUTS}`;
|
|
57
|
+
// check unknown annotations for this prefix
|
|
58
|
+
const allowedAnnotations = [annotationId, annotationOn, annotationIf, annotationInputs];
|
|
59
|
+
(0, index_1.validateAllowedAnnotations)(allowedAnnotations, def, entityName, prefix, this);
|
|
60
|
+
const hasId = def[annotationId] !== undefined;
|
|
61
|
+
const hasOn = def[annotationOn] !== undefined;
|
|
62
|
+
const hasIf = def[annotationIf] !== undefined;
|
|
63
|
+
const qualifier = (0, annotations_helper_1.extractQualifier)(prefix, constants_1.PROCESS_START);
|
|
64
|
+
const businessKeyAnnotation = (0, annotations_helper_1.resolveBusinessKeyAnnotation)(def, qualifier);
|
|
65
|
+
// required fields
|
|
66
|
+
(0, index_1.validateRequiredStartAnnotations)(hasOn, hasId, entityName, annotationOn, annotationId, this);
|
|
67
|
+
const processDef = processDefinitions.get(def[annotationId]);
|
|
68
|
+
if (hasId) {
|
|
69
|
+
(0, index_1.validateIdAnnotation)(def, entityName, annotationId, processDef, this);
|
|
70
|
+
}
|
|
71
|
+
if (hasOn) {
|
|
72
|
+
(0, index_1.validateOnAnnotation)(def, entityName, annotationOn, this);
|
|
73
|
+
}
|
|
74
|
+
if (hasIf) {
|
|
75
|
+
(0, index_1.validateIfAnnotation)(def, entityName, annotationIf, this);
|
|
76
|
+
}
|
|
77
|
+
if (hasId && hasOn) {
|
|
78
|
+
(0, index_1.validateBusinessKeyForProcessStart)(def, entityName, businessKeyAnnotation, this);
|
|
79
|
+
}
|
|
80
|
+
if (hasId && hasOn && processDef) {
|
|
81
|
+
const processInputs = allDefinitions[`${processDef.name}.ProcessInputs`];
|
|
82
|
+
if (typeof processInputs !== 'undefined') {
|
|
83
|
+
(0, index_1.validateInputTypes)(this, entityName, def, processInputs, allDefinitions, annotationInputs, annotationId);
|
|
84
|
+
}
|
|
96
85
|
}
|
|
97
86
|
}
|
|
98
87
|
}
|
|
99
88
|
// generic handler for suspend/resume/cancel annotations --> have same structure
|
|
100
|
-
validateProcessLifecycleAnnotations(entityName, def,
|
|
101
|
-
|
|
102
|
-
const
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
(0,
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
89
|
+
validateProcessLifecycleAnnotations(entityName, def, annotationBase) {
|
|
90
|
+
const prefixes = (0, annotations_helper_1.getAnnotationPrefixes)(def, annotationBase);
|
|
91
|
+
for (const prefix of prefixes) {
|
|
92
|
+
const annotationOn = `${prefix}${constants_1.SUFFIX_ON}`;
|
|
93
|
+
const annotationCascade = `${prefix}${constants_1.SUFFIX_CASCADE}`;
|
|
94
|
+
const annotationIf = `${prefix}${constants_1.SUFFIX_IF}`;
|
|
95
|
+
// check for unknown annotations for this prefix
|
|
96
|
+
const allowedAnnotations = [annotationOn, annotationCascade, annotationIf];
|
|
97
|
+
(0, index_1.validateAllowedAnnotations)(allowedAnnotations, def, entityName, prefix, this);
|
|
98
|
+
const hasOn = def[annotationOn] !== undefined;
|
|
99
|
+
const hasCascade = def[annotationCascade] !== undefined;
|
|
100
|
+
const hasIf = def[annotationIf] !== undefined;
|
|
101
|
+
const qualifier = (0, annotations_helper_1.extractQualifier)(prefix, annotationBase);
|
|
102
|
+
const businessKeyAnnotation = (0, annotations_helper_1.resolveBusinessKeyAnnotation)(def, qualifier);
|
|
103
|
+
const hasBusinessKey = def[businessKeyAnnotation] !== undefined;
|
|
104
|
+
// required fields - .on is required if any annotation with this prefix is defined
|
|
105
|
+
(0, index_1.validateRequiredGenericAnnotations)(hasOn, entityName, annotationOn, prefix, hasBusinessKey, this);
|
|
106
|
+
if (hasOn) {
|
|
107
|
+
(0, index_1.validateOnAnnotation)(def, entityName, annotationOn, this);
|
|
108
|
+
}
|
|
109
|
+
if (hasCascade) {
|
|
110
|
+
(0, index_1.validateCascadeAnnotation)(def, entityName, annotationCascade, this);
|
|
111
|
+
}
|
|
112
|
+
if (hasIf) {
|
|
113
|
+
(0, index_1.validateIfAnnotation)(def, entityName, annotationIf, this);
|
|
114
|
+
}
|
|
115
|
+
if (hasOn && hasBusinessKey) {
|
|
116
|
+
(0, index_1.validateBusinessKeyAnnotation)(def, entityName, businessKeyAnnotation, this);
|
|
117
|
+
}
|
|
122
118
|
}
|
|
123
119
|
}
|
|
124
120
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../lib/build/plugin.ts"],"names":[],"mappings":";;;;;;AAAA,mDAA2B;AAC3B,
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../lib/build/plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -184,8 +184,8 @@ function getProcessDefinitions(allDefinitions) {
|
|
|
184
184
|
}
|
|
185
185
|
return processMap;
|
|
186
186
|
}
|
|
187
|
-
function getParsedInputEntries(def) {
|
|
188
|
-
const inputsCSN = def[
|
|
187
|
+
function getParsedInputEntries(def, inputsAnnotationKey) {
|
|
188
|
+
const inputsCSN = def[inputsAnnotationKey];
|
|
189
189
|
if (!inputsCSN || inputsCSN.length === 0) {
|
|
190
190
|
return undefined;
|
|
191
191
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation-utils.js","sourceRoot":"","sources":["../../../lib/build/validation-utils.ts"],"names":[],"mappings":";;AAsBA,wDAqBC;AA6KD,kEA+BC;AAKD,sDAoBC;AAED,
|
|
1
|
+
{"version":3,"file":"validation-utils.js","sourceRoot":"","sources":["../../../lib/build/validation-utils.ts"],"names":[],"mappings":"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"}
|