@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.
Files changed (51) hide show
  1. package/README.md +135 -10
  2. package/dist/lib/api/process-api-client.js.map +1 -1
  3. package/dist/lib/build/constants.js +9 -1
  4. package/dist/lib/build/constants.js.map +1 -1
  5. package/dist/lib/build/plugin.js +67 -71
  6. package/dist/lib/build/plugin.js.map +1 -1
  7. package/dist/lib/build/validation-utils.js +2 -2
  8. package/dist/lib/build/validation-utils.js.map +1 -1
  9. package/dist/lib/build/validations.js +44 -34
  10. package/dist/lib/build/validations.js.map +1 -1
  11. package/dist/lib/constants.js +24 -32
  12. package/dist/lib/constants.js.map +1 -1
  13. package/dist/lib/handlers/annotationCache.js +30 -20
  14. package/dist/lib/handlers/annotationCache.js.map +1 -1
  15. package/dist/lib/handlers/annotationHandlers.js +13 -17
  16. package/dist/lib/handlers/annotationHandlers.js.map +1 -1
  17. package/dist/lib/handlers/index.js +2 -7
  18. package/dist/lib/handlers/index.js.map +1 -1
  19. package/dist/lib/handlers/onDeleteUtils.js +5 -48
  20. package/dist/lib/handlers/onDeleteUtils.js.map +1 -1
  21. package/dist/lib/handlers/processActionHandler.js +42 -32
  22. package/dist/lib/handlers/processActionHandler.js.map +1 -1
  23. package/dist/lib/handlers/processCancel.js +3 -16
  24. package/dist/lib/handlers/processCancel.js.map +1 -1
  25. package/dist/lib/handlers/processResume.js +3 -16
  26. package/dist/lib/handlers/processResume.js.map +1 -1
  27. package/dist/lib/handlers/processStart.js +136 -75
  28. package/dist/lib/handlers/processStart.js.map +1 -1
  29. package/dist/lib/handlers/processSuspend.js +3 -16
  30. package/dist/lib/handlers/processSuspend.js.map +1 -1
  31. package/dist/lib/handlers/utils.js +3 -0
  32. package/dist/lib/handlers/utils.js.map +1 -1
  33. package/dist/lib/processImport/csnBuilder.js +196 -0
  34. package/dist/lib/processImport/csnBuilder.js.map +1 -0
  35. package/dist/lib/processImport/index.js +178 -0
  36. package/dist/lib/processImport/index.js.map +1 -0
  37. package/dist/lib/processImport/rawWorkflowConverter.js +148 -0
  38. package/dist/lib/processImport/rawWorkflowConverter.js.map +1 -0
  39. package/dist/lib/processImport/schemaMapper.js +200 -0
  40. package/dist/lib/processImport/schemaMapper.js.map +1 -0
  41. package/dist/lib/processImport/utils.js +33 -0
  42. package/dist/lib/processImport/utils.js.map +1 -0
  43. package/dist/lib/processImportRegistration.js +5 -1
  44. package/dist/lib/processImportRegistration.js.map +1 -1
  45. package/dist/lib/shared/annotations-helper.js +98 -0
  46. package/dist/lib/shared/annotations-helper.js.map +1 -0
  47. package/dist/lib/shared/businessKey-helper.js +1 -0
  48. package/dist/lib/shared/businessKey-helper.js.map +1 -1
  49. package/package.json +5 -3
  50. package/dist/lib/processImport.js +0 -449
  51. package/dist/lib/processImport.js.map +0 -1
@@ -1,55 +1,65 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.createProcessActionHandler = createProcessActionHandler;
4
- exports.createProcessActionAddDeletedEntityHandler = createProcessActionAddDeletedEntityHandler;
7
+ exports.prefetchLifecycleDataForDelete = prefetchLifecycleDataForDelete;
8
+ const cds_1 = __importDefault(require("@sap/cds"));
5
9
  const utils_1 = require("./utils");
6
10
  const onDeleteUtils_1 = require("./onDeleteUtils");
7
11
  const businessKey_helper_1 = require("../shared/businessKey-helper");
8
12
  const constants_1 = require("../constants");
9
- function initSpecs(target, annotations) {
10
- const targetAnnotations = target;
11
- return {
12
- on: targetAnnotations[annotations.ON],
13
- cascade: targetAnnotations[annotations.CASCADE] ?? false,
14
- conditionExpr: targetAnnotations[annotations.IF]
15
- ? targetAnnotations[annotations.IF].xpr
16
- : undefined,
17
- businessKey: targetAnnotations[constants_1.BUSINESS_KEY]?.['='],
18
- };
19
- }
13
+ const LOG = cds_1.default.log(constants_1.PROCESS_LOGGER_PREFIX);
20
14
  function createProcessActionHandler(config) {
21
- return async function handleProcessAction(req, data) {
22
- if ((0, onDeleteUtils_1.isDeleteWithoutProcess)(req, config.logMessages.NOT_TRIGGERED, config.action))
23
- return;
24
- const target = req.target;
25
- const processEventKey = onDeleteUtils_1.PROCESS_EVENT_MAP[config.action];
26
- data = (req._Process?.[processEventKey] ??
27
- (0, utils_1.getEntityDataFromRequest)(data, req.params));
28
- // Initialize specifications from annotations
29
- const specs = initSpecs(target, config.annotations);
15
+ return async function handleProcessAction(req, data, descriptor) {
16
+ const qualifierKey = descriptor.qualifier ?? '';
17
+ // For DELETE: look up pre-fetched data by qualifier
18
+ if (req.event === 'DELETE') {
19
+ const prefetched = (0, onDeleteUtils_1.getPrefetchedDataForDelete)(req, qualifierKey, config.action);
20
+ if (!prefetched) {
21
+ LOG.debug(config.logMessages.NOT_TRIGGERED);
22
+ return;
23
+ }
24
+ data = prefetched;
25
+ }
26
+ else {
27
+ data = (0, utils_1.getEntityDataFromRequest)(data, req.params);
28
+ }
30
29
  // Get business key column
31
- const businessKeyColumn = (0, businessKey_helper_1.getBusinessKeyColumnOrReject)(req, specs.businessKey);
30
+ const businessKeyColumn = (0, businessKey_helper_1.getBusinessKeyColumnOrReject)(req, descriptor.businessKey);
32
31
  if (!businessKeyColumn)
33
32
  return;
34
33
  // fetch entity
35
- const row = await (0, utils_1.resolveEntityRowOrReject)(req, data, specs.conditionExpr, config.logMessages.FETCH_FAILED, config.logMessages.NOT_TRIGGERED, [businessKeyColumn]);
34
+ const row = await (0, utils_1.resolveEntityRowOrReject)(req, data, descriptor.conditionExpr, config.logMessages.FETCH_FAILED, config.logMessages.NOT_TRIGGERED, [businessKeyColumn]);
36
35
  if (!row)
37
36
  return;
38
37
  // Emit process event
39
38
  const payload = {
40
39
  businessKey: row.businessKey,
41
- cascade: specs.cascade,
40
+ cascade: descriptor.cascade,
42
41
  };
43
42
  await (0, utils_1.emitProcessEvent)(config.action, req, payload, config.logMessages.FAILED);
44
43
  };
45
44
  }
46
- function createProcessActionAddDeletedEntityHandler(config) {
47
- return (0, onDeleteUtils_1.createAddDeletedEntityHandler)({
48
- action: config.action,
49
- ifAnnotation: config.annotations.IF,
50
- getColumns: (req) => [
51
- (0, businessKey_helper_1.getBusinessKeyColumnOrReject)(req, req.target[constants_1.BUSINESS_KEY]?.['=']),
52
- ],
53
- });
45
+ async function prefetchLifecycleDataForDelete(req, annotations, action) {
46
+ const resultMap = new Map();
47
+ await Promise.all(annotations.map(async (ann) => {
48
+ const qualifierKey = ann.qualifier ?? '';
49
+ const conditionExpr = ann.conditionExpr ? { xpr: ann.conditionExpr } : undefined;
50
+ const where = (0, onDeleteUtils_1.buildWhereDeleteExpression)(req, conditionExpr);
51
+ if (!where)
52
+ return;
53
+ if (!ann.businessKey)
54
+ return;
55
+ const businessKeyColumn = (0, businessKey_helper_1.formatBusinessKeyColumn)(ann.businessKey);
56
+ const entity = await SELECT.one.from(req.subject).columns([businessKeyColumn]).where(where);
57
+ if (entity) {
58
+ resultMap.set(qualifierKey, entity);
59
+ }
60
+ }));
61
+ if (resultMap.size > 0) {
62
+ return { [action]: resultMap };
63
+ }
54
64
  }
55
65
  //# sourceMappingURL=processActionHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"processActionHandler.js","sourceRoot":"","sources":["../../../lib/handlers/processActionHandler.ts"],"names":[],"mappings":";;AAgEA,gEAkCC;AAED,gGAQC;AA1GD,mCAMiB;AACjB,mDAKyB;AACzB,qEAA4E;AAC5E,4CAA4C;AAiC5C,SAAS,SAAS,CAChB,MAAc,EACd,WAA+C;IAE/C,MAAM,iBAAiB,GAAG,MAAoB,CAAC;IAC/C,OAAO;QACL,EAAE,EAAE,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAW;QAC/C,OAAO,EAAG,iBAAiB,CAAC,WAAW,CAAC,OAAO,CAAa,IAAI,KAAK;QACrE,aAAa,EAAE,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9C,CAAC,CAAE,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAmB,CAAC,GAAG;YAC1D,CAAC,CAAC,SAAS;QACb,WAAW,EAAE,iBAAiB,CAAC,wBAAY,CAAC,EAAE,CAAC,GAAG,CAAC;KACpD,CAAC;AACJ,CAAC;AAED,SAAgB,0BAA0B,CAAC,MAA2B;IACpE,OAAO,KAAK,UAAU,mBAAmB,CAAC,GAAgB,EAAE,IAAe;QACzE,IAAI,IAAA,sCAAsB,EAAC,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC;YAAE,OAAO;QAEzF,MAAM,MAAM,GAAG,GAAG,CAAC,MAAgB,CAAC;QACpC,MAAM,eAAe,GAAG,iCAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,GAAG,CAAE,GAA4B,CAAC,QAAQ,EAAE,CAAC,eAAe,CAAC;YAC/D,IAAA,gCAAwB,EAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAc,CAAC;QAC3D,6CAA6C;QAC7C,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QAEpD,0BAA0B;QAC1B,MAAM,iBAAiB,GAAG,IAAA,iDAA4B,EAAC,GAAG,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;QAC/E,IAAI,CAAC,iBAAiB;YAAE,OAAO;QAE/B,eAAe;QACf,MAAM,GAAG,GAAG,MAAM,IAAA,gCAAwB,EACxC,GAAG,EACH,IAAI,EACJ,KAAK,CAAC,aAAa,EACnB,MAAM,CAAC,WAAW,CAAC,YAAY,EAC/B,MAAM,CAAC,WAAW,CAAC,aAAa,EAChC,CAAC,iBAAiB,CAAC,CACpB,CAAC;QACF,IAAI,CAAC,GAAG;YAAE,OAAO;QAEjB,qBAAqB;QAErB,MAAM,OAAO,GAA4B;YACvC,WAAW,EAAG,GAA+B,CAAC,WAAW;YACzD,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC;QACF,MAAM,IAAA,wBAAgB,EAAC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACjF,CAAC,CAAC;AACJ,CAAC;AAED,SAAgB,0CAA0C,CAAC,MAAiC;IAC1F,OAAO,IAAA,6CAA6B,EAAC;QACnC,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,YAAY,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE;QACnC,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC;YACnB,IAAA,iDAA4B,EAAC,GAAG,EAAG,GAAG,CAAC,MAAqB,CAAC,wBAAY,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;SACnF;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"processActionHandler.js","sourceRoot":"","sources":["../../../lib/handlers/processActionHandler.ts"],"names":[],"mappings":"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"}
@@ -1,28 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addDeletedEntityToRequestCancel = exports.handleProcessCancel = void 0;
3
+ exports.handleProcessCancel = void 0;
4
4
  const processActionHandler_1 = require("./processActionHandler");
5
- const constants_1 = require("../constants");
6
- const action = 'cancel';
7
5
  exports.handleProcessCancel = (0, processActionHandler_1.createProcessActionHandler)({
8
- action: action,
9
- annotations: {
10
- ON: constants_1.PROCESS_CANCEL_ON,
11
- CASCADE: constants_1.PROCESS_CANCEL_CASCADE,
12
- IF: constants_1.PROCESS_CANCEL_IF,
13
- },
6
+ action: 'cancel',
14
7
  logMessages: {
15
- NOT_TRIGGERED: constants_1.LOG_MESSAGES.PROCESS_NOT_CANCELLED,
8
+ NOT_TRIGGERED: 'Not canceling process as cancel condition(s) are not met.',
16
9
  FETCH_FAILED: 'Failed to fetch entity for process cancellation.',
17
10
  INVALID_KEY: 'Failed to build business key for process cancellation.',
18
11
  EMPTY_KEY: 'Business key is empty for process cancellation.',
19
12
  FAILED: 'Failed to cancel process with business key',
20
13
  },
21
14
  });
22
- exports.addDeletedEntityToRequestCancel = (0, processActionHandler_1.createProcessActionAddDeletedEntityHandler)({
23
- action: action,
24
- annotations: {
25
- IF: constants_1.PROCESS_CANCEL_IF,
26
- },
27
- });
28
15
  //# sourceMappingURL=processCancel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"processCancel.js","sourceRoot":"","sources":["../../../lib/handlers/processCancel.ts"],"names":[],"mappings":";;;AAAA,iEAGgC;AAChC,4CAKsB;AAEtB,MAAM,MAAM,GAAG,QAAQ,CAAC;AAEX,QAAA,mBAAmB,GAAG,IAAA,iDAA0B,EAAC;IAC5D,MAAM,EAAE,MAAM;IACd,WAAW,EAAE;QACX,EAAE,EAAE,6BAAiB;QACrB,OAAO,EAAE,kCAAsB;QAC/B,EAAE,EAAE,6BAAiB;KACtB;IACD,WAAW,EAAE;QACX,aAAa,EAAE,wBAAY,CAAC,qBAAqB;QACjD,YAAY,EAAE,kDAAkD;QAChE,WAAW,EAAE,wDAAwD;QACrE,SAAS,EAAE,iDAAiD;QAC5D,MAAM,EAAE,4CAA4C;KACrD;CACF,CAAC,CAAC;AAEU,QAAA,+BAA+B,GAAG,IAAA,iEAA0C,EAAC;IACxF,MAAM,EAAE,MAAM;IACd,WAAW,EAAE;QACX,EAAE,EAAE,6BAAiB;KACtB;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"processCancel.js","sourceRoot":"","sources":["../../../lib/handlers/processCancel.ts"],"names":[],"mappings":";;;AAAA,iEAAoE;AAEvD,QAAA,mBAAmB,GAAG,IAAA,iDAA0B,EAAC;IAC5D,MAAM,EAAE,QAAQ;IAChB,WAAW,EAAE;QACX,aAAa,EAAE,2DAA2D;QAC1E,YAAY,EAAE,kDAAkD;QAChE,WAAW,EAAE,wDAAwD;QACrE,SAAS,EAAE,iDAAiD;QAC5D,MAAM,EAAE,4CAA4C;KACrD;CACF,CAAC,CAAC"}
@@ -1,28 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addDeletedEntityToRequestResume = exports.handleProcessResume = void 0;
3
+ exports.handleProcessResume = void 0;
4
4
  const processActionHandler_1 = require("./processActionHandler");
5
- const constants_1 = require("../constants");
6
- const action = 'resume';
7
5
  exports.handleProcessResume = (0, processActionHandler_1.createProcessActionHandler)({
8
- action: action,
9
- annotations: {
10
- ON: constants_1.PROCESS_RESUME_ON,
11
- CASCADE: constants_1.PROCESS_RESUME_CASCADE,
12
- IF: constants_1.PROCESS_RESUME_IF,
13
- },
6
+ action: 'resume',
14
7
  logMessages: {
15
- NOT_TRIGGERED: constants_1.LOG_MESSAGES.PROCESS_NOT_RESUMED,
8
+ NOT_TRIGGERED: 'Not resuming process as resume condition(s) are not met.',
16
9
  FETCH_FAILED: 'Failed to fetch entity for process resume.',
17
10
  INVALID_KEY: 'Failed to build business key for process resume.',
18
11
  EMPTY_KEY: 'Business key is empty for process resume.',
19
12
  FAILED: 'Failed to resume process with business key',
20
13
  },
21
14
  });
22
- exports.addDeletedEntityToRequestResume = (0, processActionHandler_1.createProcessActionAddDeletedEntityHandler)({
23
- action: action,
24
- annotations: {
25
- IF: constants_1.PROCESS_RESUME_IF,
26
- },
27
- });
28
15
  //# sourceMappingURL=processResume.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"processResume.js","sourceRoot":"","sources":["../../../lib/handlers/processResume.ts"],"names":[],"mappings":";;;AAAA,iEAGgC;AAChC,4CAKsB;AAEtB,MAAM,MAAM,GAAG,QAAQ,CAAC;AAEX,QAAA,mBAAmB,GAAG,IAAA,iDAA0B,EAAC;IAC5D,MAAM,EAAE,MAAM;IACd,WAAW,EAAE;QACX,EAAE,EAAE,6BAAiB;QACrB,OAAO,EAAE,kCAAsB;QAC/B,EAAE,EAAE,6BAAiB;KACtB;IACD,WAAW,EAAE;QACX,aAAa,EAAE,wBAAY,CAAC,mBAAmB;QAC/C,YAAY,EAAE,4CAA4C;QAC1D,WAAW,EAAE,kDAAkD;QAC/D,SAAS,EAAE,2CAA2C;QACtD,MAAM,EAAE,4CAA4C;KACrD;CACF,CAAC,CAAC;AAEU,QAAA,+BAA+B,GAAG,IAAA,iEAA0C,EAAC;IACxF,MAAM,EAAE,MAAM;IACd,WAAW,EAAE;QACX,EAAE,EAAE,6BAAiB;KACtB;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"processResume.js","sourceRoot":"","sources":["../../../lib/handlers/processResume.ts"],"names":[],"mappings":";;;AAAA,iEAAoE;AAEvD,QAAA,mBAAmB,GAAG,IAAA,iDAA0B,EAAC;IAC5D,MAAM,EAAE,QAAQ;IAChB,WAAW,EAAE;QACX,aAAa,EAAE,0DAA0D;QACzE,YAAY,EAAE,4CAA4C;QAC1D,WAAW,EAAE,kDAAkD;QAC/D,SAAS,EAAE,2CAA2C;QACtD,MAAM,EAAE,4CAA4C;KACrD;CACF,CAAC,CAAC"}
@@ -3,9 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.addDeletedEntityToRequestStartBusinessKey = exports.addDeletedEntityToRequestStart = void 0;
7
- exports.getColumnsForProcessStart = getColumnsForProcessStart;
8
6
  exports.handleProcessStart = handleProcessStart;
7
+ exports.prefetchStartDataForDelete = prefetchStartDataForDelete;
9
8
  const utils_1 = require("./utils");
10
9
  const constants_1 = require("./../constants");
11
10
  const input_parser_1 = require("../shared/input-parser");
@@ -13,91 +12,123 @@ const cds_1 = __importDefault(require("@sap/cds"));
13
12
  const onDeleteUtils_1 = require("./onDeleteUtils");
14
13
  const businessKey_helper_1 = require("../shared/businessKey-helper");
15
14
  const LOG = cds_1.default.log(constants_1.PROCESS_LOGGER_PREFIX);
16
- function getColumnsForProcessStart(target) {
17
- const startSpecs = initStartSpecs(target);
18
- startSpecs.inputs = parseInputToTree(target);
19
- if (startSpecs.inputs.length === 0) {
20
- LOG.debug(constants_1.LOG_MESSAGES.NO_PROCESS_INPUTS_DEFINED);
21
- return ['*'];
15
+ const PROCESS_INPUTS_FROM_DEFINITION = 'No inputs annotation defined. Filtering entity fields by process definition inputs.';
16
+ const PROCESS_NOT_STARTED = 'Not starting process as start condition(s) are not met.';
17
+ const FAILED_FETCH_BUSINESS_KEY = 'Failed to fetch business key for process start.';
18
+ const FAILED_FETCH = 'Failed to fetch entity for process start.';
19
+ function getColumnsForDescriptor(startAnnotation, target) {
20
+ const inputs = parseInputToTreeFromInputs(startAnnotation.inputs, target);
21
+ if (inputs.length === 0) {
22
+ LOG.debug(PROCESS_INPUTS_FROM_DEFINITION);
23
+ if (startAnnotation.id) {
24
+ return resolveColumnsFromProcessDefinition(startAnnotation.id, target);
25
+ }
26
+ return [input_parser_1.WILDCARD];
27
+ }
28
+ return convertToColumnsExpr(inputs);
29
+ }
30
+ /**
31
+ * Resolves business key value for process start
32
+ * rejects if business key value exceeds maximum length
33
+ *
34
+ */
35
+ async function resolveBusinessKeyValue(req, data, startAnnotation, qualifierKey) {
36
+ const businessKeyColumn = (0, businessKey_helper_1.getBusinessKeyColumn)(startAnnotation.businessKey);
37
+ if (!businessKeyColumn)
38
+ return undefined;
39
+ let businessKeyValue;
40
+ if (req.event === 'DELETE') {
41
+ const businessKeyData = getDeletePrefetchedBusinessKey(req, qualifierKey);
42
+ businessKeyValue = businessKeyData?.businessKey;
22
43
  }
23
44
  else {
24
- return convertToColumnsExpr(startSpecs.inputs);
45
+ const businessKeyRow = await (0, utils_1.resolveEntityRowOrReject)(req, data, startAnnotation.conditionExpr, FAILED_FETCH_BUSINESS_KEY, PROCESS_NOT_STARTED, [businessKeyColumn]);
46
+ businessKeyValue = businessKeyRow?.businessKey;
47
+ }
48
+ if (businessKeyValue && businessKeyValue.length > constants_1.BUSINESS_KEY_MAX_LENGTH) {
49
+ const msg = `Business key value exceeds maximum length of ${constants_1.BUSINESS_KEY_MAX_LENGTH} characters. Process start will fail.`;
50
+ LOG.error(msg);
51
+ return req.reject({ status: 400, message: msg });
25
52
  }
53
+ return businessKeyValue;
26
54
  }
27
- async function handleProcessStart(req, data) {
28
- if ((0, onDeleteUtils_1.isDeleteWithoutProcess)(req, constants_1.LOG_MESSAGES.PROCESS_NOT_STARTED, 'start'))
29
- return;
30
- const target = req.target;
31
- const processEventKey = onDeleteUtils_1.PROCESS_EVENT_MAP['start'];
32
- data = (req._Process?.[processEventKey] ??
33
- (0, utils_1.getEntityDataFromRequest)(data, req.params));
34
- const startSpecs = initStartSpecs(target);
35
- startSpecs.inputs = parseInputToTree(target);
36
- // if startSpecs.input = [] --> no input defined, fetch entire row
37
- let columns;
38
- if (startSpecs.inputs.length === 0) {
39
- columns = [input_parser_1.WILDCARD];
40
- LOG.debug(constants_1.LOG_MESSAGES.NO_PROCESS_INPUTS_DEFINED);
55
+ /**
56
+ * Returns the pre-fetched business key data for a given start qualifier on DELETE,
57
+ * or undefined if no business key was pre-fetched.
58
+ */
59
+ function getDeletePrefetchedBusinessKey(req, qualifierKey) {
60
+ return req._Process?.startBusinessKey?.get(qualifierKey);
61
+ }
62
+ async function handleProcessStart(req, data, startAnnotation) {
63
+ const qualifierKey = startAnnotation.qualifier ?? '';
64
+ // For DELETE: use pre-fetched data for this qualifier; for other events: resolve from request
65
+ if (req.event === 'DELETE') {
66
+ const prefetched = (0, onDeleteUtils_1.getPrefetchedDataForDelete)(req, qualifierKey, 'start');
67
+ if (!prefetched) {
68
+ LOG.debug(PROCESS_NOT_STARTED);
69
+ return;
70
+ }
71
+ data = prefetched;
41
72
  }
42
73
  else {
43
- columns = convertToColumnsExpr(startSpecs.inputs);
74
+ data = (0, utils_1.getEntityDataFromRequest)(data, req.params);
44
75
  }
45
- const businessKeyColumn = (0, businessKey_helper_1.getBusinessKeyColumn)(target[constants_1.BUSINESS_KEY]?.['=']);
76
+ const target = req.target;
77
+ const columns = getColumnsForDescriptor(startAnnotation, target);
46
78
  // fetch entity data (without businessKey to avoid alias collision)
47
- const row = await (0, utils_1.resolveEntityRowOrReject)(req, data, startSpecs.conditionExpr, 'Failed to fetch entity for process start.', constants_1.LOG_MESSAGES.PROCESS_NOT_STARTED, columns);
79
+ const row = await (0, utils_1.resolveEntityRowOrReject)(req, data, startAnnotation.conditionExpr, FAILED_FETCH, PROCESS_NOT_STARTED, columns);
48
80
  if (!row)
49
81
  return;
50
- let businessKeyValue;
51
- if (businessKeyColumn) {
52
- if (req.event === 'DELETE') {
53
- const businessKeyData = req._Process?.[onDeleteUtils_1.PROCESS_EVENT_MAP['startBusinessKey']];
54
- businessKeyValue = businessKeyData?.businessKey;
55
- }
56
- else {
57
- const businessKeyRow = await (0, utils_1.resolveEntityRowOrReject)(req, data, startSpecs.conditionExpr, 'Failed to fetch business key for process start.', constants_1.LOG_MESSAGES.PROCESS_NOT_STARTED, [businessKeyColumn]);
58
- businessKeyValue = businessKeyRow?.businessKey;
59
- }
60
- if (businessKeyValue && businessKeyValue.length > constants_1.BUSINESS_KEY_MAX_LENGTH) {
61
- const msg = `Business key value exceeds maximum length of ${constants_1.BUSINESS_KEY_MAX_LENGTH} characters. Process start will fail.`;
62
- LOG.error(msg);
63
- return req.reject({ status: 400, message: msg });
64
- }
65
- }
82
+ const businessKeyValue = await resolveBusinessKeyValue(req, data, startAnnotation, qualifierKey);
66
83
  // emit process start
67
- const payload = { definitionId: startSpecs.id, context: row };
68
- await (0, utils_1.emitProcessEvent)('start', req, payload, `Failed to start process with definition ID ${startSpecs.id}.`, businessKeyValue);
84
+ const payload = { definitionId: startAnnotation.id, context: row };
85
+ await (0, utils_1.emitProcessEvent)('start', req, payload, `Failed to start process with definition ID ${startAnnotation.id}.`, businessKeyValue);
69
86
  }
70
87
  /**
71
- * Fetches and attaches entity data to the request for DELETE operations
72
- */
73
- exports.addDeletedEntityToRequestStart = (0, onDeleteUtils_1.createAddDeletedEntityHandler)({
74
- action: 'start',
75
- ifAnnotation: constants_1.PROCESS_START_IF,
76
- getColumns: (req) => getColumnsForProcessStart(req.target),
77
- });
78
- /**
79
- * Fetches and attaches businessKey data separately for DELETE operations
80
- * to avoid alias collision with entity fields named "businessKey"
88
+ * Pre-fetches entity data and business key for all start annotations before DELETE.
89
+ * Returns a partial _Process object with Maps keyed by qualifier ('' for unqualified).
81
90
  */
82
- exports.addDeletedEntityToRequestStartBusinessKey = (0, onDeleteUtils_1.createAddDeletedEntityHandler)({
83
- action: 'startBusinessKey',
84
- ifAnnotation: constants_1.PROCESS_START_IF,
85
- getColumns: (req) => {
86
- const target = req.target;
87
- const businessKeyCol = (0, businessKey_helper_1.getBusinessKeyColumn)(target[constants_1.BUSINESS_KEY]?.['=']);
88
- return businessKeyCol ? [businessKeyCol] : [];
89
- },
90
- });
91
- function initStartSpecs(target) {
92
- const startSpecs = {
93
- id: target[constants_1.PROCESS_START_ID],
94
- on: target[constants_1.PROCESS_START_ON],
95
- inputs: [],
96
- conditionExpr: target[constants_1.PROCESS_START_IF]
97
- ? target[constants_1.PROCESS_START_IF].xpr
98
- : undefined,
99
- };
100
- return startSpecs;
91
+ async function prefetchStartDataForDelete(req, startAnnotations) {
92
+ const target = req.target;
93
+ const deleteReq = req;
94
+ const startMap = new Map();
95
+ const businessKeyMap = new Map();
96
+ await Promise.all(startAnnotations.map(async (ann) => {
97
+ const qualifierKey = ann.qualifier ?? '';
98
+ const conditionExpr = ann.conditionExpr ? { xpr: ann.conditionExpr } : undefined;
99
+ const where = (0, onDeleteUtils_1.buildWhereDeleteExpression)(deleteReq, conditionExpr);
100
+ if (!where)
101
+ return;
102
+ // Fetch entity data columns for this annotation
103
+ const columns = getColumnsForDescriptor(ann, target);
104
+ const selectColumns = columns.length > 0 ? columns : [input_parser_1.WILDCARD];
105
+ const entity = await SELECT.one.from(req.subject).columns(selectColumns).where(where);
106
+ if (entity) {
107
+ if (startMap.has(qualifierKey)) {
108
+ LOG.warn(`Duplicate start annotation qualifier '${qualifierKey}' detected; the previous prefetch will be overwritten.`);
109
+ }
110
+ startMap.set(qualifierKey, entity);
111
+ }
112
+ // Fetch business key separately (to avoid alias collision)
113
+ const businessKeyColumn = (0, businessKey_helper_1.getBusinessKeyColumn)(ann.businessKey);
114
+ if (businessKeyColumn) {
115
+ const bkEntity = await SELECT.one
116
+ .from(req.subject)
117
+ .columns([businessKeyColumn])
118
+ .where(where);
119
+ if (bkEntity) {
120
+ businessKeyMap.set(qualifierKey, bkEntity);
121
+ }
122
+ }
123
+ }));
124
+ const result = {};
125
+ if (startMap.size > 0) {
126
+ result.start = startMap;
127
+ }
128
+ if (businessKeyMap.size > 0) {
129
+ result.startBusinessKey = businessKeyMap;
130
+ }
131
+ return result;
101
132
  }
102
133
  /**
103
134
  * Creates an EntityContext for runtime cds.entity
@@ -116,12 +147,42 @@ function createRuntimeEntityContext(entity) {
116
147
  },
117
148
  };
118
149
  }
119
- function parseInputToTree(target) {
120
- const inputsCSN = target[constants_1.PROCESS_START_INPUTS];
150
+ /**
151
+ * Parses inputs from a raw InputCSNEntry array (from the annotation descriptor)
152
+ * and builds the input tree against the entity context.
153
+ */
154
+ function parseInputToTreeFromInputs(inputsCSN, target) {
121
155
  const parsedEntries = (0, input_parser_1.parseInputsArray)(inputsCSN);
122
156
  const runtimeContext = createRuntimeEntityContext(target);
123
157
  return (0, input_parser_1.buildInputTree)(parsedEntries, runtimeContext);
124
158
  }
159
+ function getProcessInputFieldNames(definitionId) {
160
+ const definitions = cds_1.default.model?.definitions;
161
+ if (!definitions)
162
+ return undefined;
163
+ let serviceName;
164
+ for (const name in definitions) {
165
+ const def = definitions[name];
166
+ if (def.kind === 'service' && def[constants_1.PROCESS_PREFIX] === definitionId) {
167
+ serviceName = name;
168
+ break;
169
+ }
170
+ }
171
+ if (!serviceName)
172
+ return undefined;
173
+ const processInputsType = definitions[`${serviceName}.ProcessInputs`];
174
+ if (!processInputsType?.elements)
175
+ return undefined;
176
+ return Object.keys(processInputsType.elements);
177
+ }
178
+ function resolveColumnsFromProcessDefinition(definitionId, target) {
179
+ const processFields = getProcessInputFieldNames(definitionId);
180
+ if (!processFields)
181
+ return [input_parser_1.WILDCARD];
182
+ const entityElements = Object.keys(target.elements ?? {});
183
+ const matchingFields = processFields.filter((f) => entityElements.includes(f));
184
+ return matchingFields;
185
+ }
125
186
  function convertToColumnsExpr(array) {
126
187
  const result = [];
127
188
  for (const item of array) {
@@ -1 +1 @@
1
- {"version":3,"file":"processStart.js","sourceRoot":"","sources":["../../../lib/handlers/processStart.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"processStart.js","sourceRoot":"","sources":["../../../lib/handlers/processStart.ts"],"names":[],"mappings":"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"}
@@ -1,28 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addDeletedEntityToRequestSuspend = exports.handleProcessSuspend = void 0;
3
+ exports.handleProcessSuspend = void 0;
4
4
  const processActionHandler_1 = require("./processActionHandler");
5
- const constants_1 = require("../constants");
6
- const action = 'suspend';
7
5
  exports.handleProcessSuspend = (0, processActionHandler_1.createProcessActionHandler)({
8
- action: action,
9
- annotations: {
10
- ON: constants_1.PROCESS_SUSPEND_ON,
11
- CASCADE: constants_1.PROCESS_SUSPEND_CASCADE,
12
- IF: constants_1.PROCESS_SUSPEND_IF,
13
- },
6
+ action: 'suspend',
14
7
  logMessages: {
15
- NOT_TRIGGERED: constants_1.LOG_MESSAGES.PROCESS_NOT_SUSPENDED,
8
+ NOT_TRIGGERED: 'Not suspending process as suspend condition(s) are not met.',
16
9
  FETCH_FAILED: 'Failed to fetch entity for process suspend.',
17
10
  INVALID_KEY: 'Failed to build business key for process suspend.',
18
11
  EMPTY_KEY: 'Business key is empty for process suspend.',
19
12
  FAILED: 'Failed to suspend process with business key',
20
13
  },
21
14
  });
22
- exports.addDeletedEntityToRequestSuspend = (0, processActionHandler_1.createProcessActionAddDeletedEntityHandler)({
23
- action: action,
24
- annotations: {
25
- IF: constants_1.PROCESS_SUSPEND_IF,
26
- },
27
- });
28
15
  //# sourceMappingURL=processSuspend.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"processSuspend.js","sourceRoot":"","sources":["../../../lib/handlers/processSuspend.ts"],"names":[],"mappings":";;;AAAA,iEAGgC;AAChC,4CAKsB;AAEtB,MAAM,MAAM,GAAG,SAAS,CAAC;AAEZ,QAAA,oBAAoB,GAAG,IAAA,iDAA0B,EAAC;IAC7D,MAAM,EAAE,MAAM;IACd,WAAW,EAAE;QACX,EAAE,EAAE,8BAAkB;QACtB,OAAO,EAAE,mCAAuB;QAChC,EAAE,EAAE,8BAAkB;KACvB;IACD,WAAW,EAAE;QACX,aAAa,EAAE,wBAAY,CAAC,qBAAqB;QACjD,YAAY,EAAE,6CAA6C;QAC3D,WAAW,EAAE,mDAAmD;QAChE,SAAS,EAAE,4CAA4C;QACvD,MAAM,EAAE,6CAA6C;KACtD;CACF,CAAC,CAAC;AAEU,QAAA,gCAAgC,GAAG,IAAA,iEAA0C,EAAC;IACzF,MAAM,EAAE,MAAM;IACd,WAAW,EAAE;QACX,EAAE,EAAE,8BAAkB;KACvB;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"processSuspend.js","sourceRoot":"","sources":["../../../lib/handlers/processSuspend.ts"],"names":[],"mappings":";;;AAAA,iEAAoE;AAEvD,QAAA,oBAAoB,GAAG,IAAA,iDAA0B,EAAC;IAC7D,MAAM,EAAE,SAAS;IACjB,WAAW,EAAE;QACX,aAAa,EAAE,6DAA6D;QAC5E,YAAY,EAAE,6CAA6C;QAC3D,WAAW,EAAE,mDAAmD;QAChE,SAAS,EAAE,4CAA4C;QACvD,MAAM,EAAE,6CAA6C;KACtD;CACF,CAAC,CAAC"}
@@ -14,6 +14,9 @@ async function fetchEntity(results, request, condition, columns) {
14
14
  if (typeof results !== 'object') {
15
15
  results = {};
16
16
  }
17
+ if (columns.length === 0) {
18
+ return {};
19
+ }
17
20
  const keyFields = getKeyFieldsForEntity(request.target);
18
21
  // build where clause
19
22
  const where = buildWhereClause(keyFields, results, condition);
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../lib/handlers/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../lib/handlers/utils.ts"],"names":[],"mappings":"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"}