@cap-js/process 0.1.0 → 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 -450
  51. package/dist/lib/processImport.js.map +0 -1
@@ -0,0 +1,200 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.buildTypeFromSchema = buildTypeFromSchema;
40
+ exports.ensureObjectSchema = ensureObjectSchema;
41
+ const cds_1 = __importDefault(require("@sap/cds"));
42
+ const csn = __importStar(require("../types/csn-extensions"));
43
+ const constants_1 = require("../constants");
44
+ const utils_1 = require("./utils");
45
+ const LOG = cds_1.default.log(constants_1.PROCESS_LOGGER_PREFIX);
46
+ function buildTypeFromSchema(typeName, schema, serviceName, definitions, dataTypeCache) {
47
+ const required = new Set(schema.required ?? []);
48
+ const elements = {};
49
+ const properties = schema.properties ?? {};
50
+ for (const propName in properties) {
51
+ const propSchema = properties[propName];
52
+ const safeName = (0, utils_1.sanitizeName)(propName);
53
+ elements[safeName] = mapSchemaPropertyToElement(safeName, propSchema, required.has(propName), {
54
+ parentTypeName: typeName,
55
+ serviceName,
56
+ definitions,
57
+ dataTypeCache,
58
+ });
59
+ }
60
+ return { kind: 'type', name: typeName, elements };
61
+ }
62
+ function ensureObjectSchema(schema) {
63
+ if (schema?.type === 'object' && schema.properties) {
64
+ return schema;
65
+ }
66
+ return utils_1.EMPTY_OBJECT_SCHEMA;
67
+ }
68
+ /**
69
+ * Resolve a JSON schema to a CDS type reference for $ref and primitive types.
70
+ * Returns undefined for object, array, or unrecognized types (caller must handle).
71
+ */
72
+ function resolvePrimitiveOrRef(schema, serviceName, dataTypeCache) {
73
+ if (schema.$ref)
74
+ return resolveTypeReference(schema, serviceName, dataTypeCache);
75
+ switch (schema.type) {
76
+ case 'string':
77
+ return mapStringFormat(schema);
78
+ case 'boolean':
79
+ return csn.CdsBuiltinType.Boolean;
80
+ case 'number':
81
+ return csn.CdsBuiltinType.DecimalFloat;
82
+ case 'integer':
83
+ return csn.CdsBuiltinType.Integer;
84
+ default:
85
+ return undefined;
86
+ }
87
+ }
88
+ function mapSchemaPropertyToElement(propName, schema, isRequired, ctx) {
89
+ const notNull = isRequired || undefined;
90
+ // Reference or primitive
91
+ const primitiveType = resolvePrimitiveOrRef(schema, ctx.serviceName, ctx.dataTypeCache);
92
+ if (primitiveType)
93
+ return { type: primitiveType, notNull };
94
+ // Nested object
95
+ if (schema.type === 'object') {
96
+ const nestedName = (0, utils_1.fqn)(ctx.serviceName, (0, utils_1.sanitizeName)(`${(0, utils_1.baseName)(ctx.parentTypeName)}_${propName}`));
97
+ ctx.definitions[nestedName] = buildTypeFromSchema(nestedName, ensureObjectSchema(schema), ctx.serviceName, ctx.definitions, ctx.dataTypeCache);
98
+ return { type: nestedName, notNull };
99
+ }
100
+ // Array
101
+ if (schema.type === 'array') {
102
+ const arrayName = (0, utils_1.fqn)(ctx.serviceName, (0, utils_1.sanitizeName)(`${(0, utils_1.baseName)(ctx.parentTypeName)}_${propName}_Array`));
103
+ if (!schema.items)
104
+ throw new Error(`Array ${ctx.parentTypeName}.${propName} has no 'items'.`);
105
+ ctx.definitions[arrayName] = {
106
+ kind: 'type',
107
+ name: arrayName,
108
+ items: buildArrayItemsSpec(schema.items, { ...ctx, parentTypeName: arrayName }),
109
+ };
110
+ return { type: arrayName, notNull };
111
+ }
112
+ // Fallback
113
+ return { type: csn.CdsBuiltinType.String, notNull };
114
+ }
115
+ function buildArrayItemsSpec(itemsSchema, ctx) {
116
+ // Reference or primitive
117
+ const primitiveType = resolvePrimitiveOrRef(itemsSchema, ctx.serviceName, ctx.dataTypeCache);
118
+ if (primitiveType)
119
+ return { type: primitiveType };
120
+ // Object items (inline)
121
+ if (itemsSchema.type === 'object') {
122
+ const required = new Set(itemsSchema.required ?? []);
123
+ const elements = {};
124
+ const properties = itemsSchema.properties ?? {};
125
+ for (const name in properties) {
126
+ const schema = properties[name];
127
+ const safeName = (0, utils_1.sanitizeName)(name);
128
+ elements[safeName] = mapSchemaPropertyToElement(safeName, schema, required.has(name), {
129
+ parentTypeName: (0, utils_1.fqn)(ctx.serviceName, `${(0, utils_1.baseName)(ctx.parentTypeName)}_Item`),
130
+ serviceName: ctx.serviceName,
131
+ definitions: ctx.definitions,
132
+ dataTypeCache: ctx.dataTypeCache,
133
+ });
134
+ }
135
+ return { elements };
136
+ }
137
+ // Nested array
138
+ if (itemsSchema.type === 'array') {
139
+ if (!itemsSchema.items)
140
+ throw new Error(`Nested array under ${ctx.parentTypeName} missing 'items'.`);
141
+ return { items: buildArrayItemsSpec(itemsSchema.items, ctx) };
142
+ }
143
+ return { type: csn.CdsBuiltinType.String };
144
+ }
145
+ function resolveTypeReference(schema, serviceName, dataTypeCache) {
146
+ const ref = schema.$ref;
147
+ if (!ref)
148
+ throw new Error(`Invalid reference in ${serviceName} for ${schema.refName ?? 'unknown'}`);
149
+ // Internal reference: #/definitions/date
150
+ if (ref.startsWith('#/')) {
151
+ const format = ref.split('/').pop();
152
+ return mapDateFormatToCdsType(format);
153
+ }
154
+ // External artifact: $.uuid
155
+ if (ref.startsWith('$.')) {
156
+ const uid = ref.substring(2);
157
+ const dataType = dataTypeCache.get(uid);
158
+ if (dataType) {
159
+ return (0, utils_1.fqn)(serviceName, (0, utils_1.sanitizeName)(dataType.name));
160
+ }
161
+ if (schema.refName) {
162
+ LOG.warn(`Data type ${schema.refName} (${uid}) not in cache, using name`);
163
+ return (0, utils_1.fqn)(serviceName, (0, utils_1.sanitizeName)(schema.refName));
164
+ }
165
+ LOG.warn(`Unknown artifact reference: ${ref}`);
166
+ return (0, utils_1.fqn)(serviceName, (0, utils_1.sanitizeName)(uid));
167
+ }
168
+ // Fallback
169
+ return (0, utils_1.fqn)(serviceName, (0, utils_1.sanitizeName)(schema.refName ?? ref));
170
+ }
171
+ function mapDateFormatToCdsType(format) {
172
+ switch (format) {
173
+ case 'date':
174
+ return csn.CdsBuiltinType.Date;
175
+ case 'time':
176
+ return csn.CdsBuiltinType.Time;
177
+ case 'dateTime':
178
+ return csn.CdsBuiltinType.Timestamp;
179
+ default:
180
+ return csn.CdsBuiltinType.String;
181
+ }
182
+ }
183
+ /**
184
+ * Map a string-typed JSON schema property to the correct CDS type,
185
+ * taking into account the `format` property (used in raw workflow JSON).
186
+ * Note: password-typed strings have no dedicated CDS type and map to String.
187
+ */
188
+ function mapStringFormat(schema) {
189
+ switch (schema.format) {
190
+ case 'date':
191
+ return csn.CdsBuiltinType.Date;
192
+ case 'date-time':
193
+ return csn.CdsBuiltinType.Timestamp;
194
+ case 'time':
195
+ return csn.CdsBuiltinType.Time;
196
+ default:
197
+ return csn.CdsBuiltinType.String;
198
+ }
199
+ }
200
+ //# sourceMappingURL=schemaMapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemaMapper.js","sourceRoot":"","sources":["../../../lib/processImport/schemaMapper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EMPTY_OBJECT_SCHEMA = void 0;
4
+ exports.fqn = fqn;
5
+ exports.baseName = baseName;
6
+ exports.splitAtLastDot = splitAtLastDot;
7
+ exports.capitalize = capitalize;
8
+ exports.sanitizeName = sanitizeName;
9
+ exports.EMPTY_OBJECT_SCHEMA = { type: 'object', properties: {}, required: [] };
10
+ /** Create fully qualified name: "Service.TypeName" */
11
+ function fqn(qualifier, name) {
12
+ return `${qualifier}.${name}`;
13
+ }
14
+ /** Get the part after the last dot: "a.b.c" → "c" */
15
+ function baseName(name) {
16
+ return splitAtLastDot(name)[1];
17
+ }
18
+ /** Split at last dot: "a.b.c" → ["a.b", "c"] */
19
+ function splitAtLastDot(name) {
20
+ const i = name.lastIndexOf('.');
21
+ return i === -1 ? ['', name] : [name.slice(0, i), name.slice(i + 1)];
22
+ }
23
+ /** Capitalize first letter */
24
+ function capitalize(s) {
25
+ return s.charAt(0).toUpperCase() + s.slice(1);
26
+ }
27
+ /** Convert to safe identifier: "foo-bar" → "foo_bar", "123x" → "_123x" */
28
+ function sanitizeName(name) {
29
+ return String(name)
30
+ .replace(/[^A-Za-z0-9_]/g, '_')
31
+ .replace(/^(\d)/, '_$1');
32
+ }
33
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../lib/processImport/utils.ts"],"names":[],"mappings":";;;AAKA,kBAEC;AAGD,4BAEC;AAGD,wCAGC;AAGD,gCAEC;AAGD,oCAIC;AA5BY,QAAA,mBAAmB,GAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AAEhG,sDAAsD;AACtD,SAAgB,GAAG,CAAC,SAAiB,EAAE,IAAY;IACjD,OAAO,GAAG,SAAS,IAAI,IAAI,EAAE,CAAC;AAChC,CAAC;AAED,qDAAqD;AACrD,SAAgB,QAAQ,CAAC,IAAY;IACnC,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC;AAED,gDAAgD;AAChD,SAAgB,cAAc,CAAC,IAAY;IACzC,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,8BAA8B;AAC9B,SAAgB,UAAU,CAAC,CAAS;IAClC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,0EAA0E;AAC1E,SAAgB,YAAY,CAAC,IAAY;IACvC,OAAO,MAAM,CAAC,IAAI,CAAC;SAChB,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC;SAC9B,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAC7B,CAAC"}
@@ -22,6 +22,10 @@ function registerProcessImport() {
22
22
  // @ts-expect-error: process does not exist on cds.import type
23
23
  cds_1.default.import.from ??= {};
24
24
  // @ts-expect-error: from does not exist on cds.import type
25
- cds_1.default.import.from.process = processImport_1.importProcess;
25
+ cds_1.default.import.from.process = (jsonFile, options = {}) => {
26
+ // When called via CLI, always save the ProcessHeader JSON
27
+ options.saveProcessHeader = true;
28
+ return (0, processImport_1.importProcess)(jsonFile, options);
29
+ };
26
30
  }
27
31
  //# sourceMappingURL=processImportRegistration.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"processImportRegistration.js","sourceRoot":"","sources":["../../lib/processImportRegistration.ts"],"names":[],"mappings":";;;;;AAGA,sDAiBC;AApBD,mDAA2B;AAC3B,mDAAgD;AAEhD,SAAgB,qBAAqB;IACnC,sDAAsD;IACtD,aAAG,CAAC,MAAM,KAAK,EAAE,CAAC;IAClB,4CAA4C;IAC5C,aAAG,CAAC,MAAM,CAAC,OAAO,KAAK,EAAE,CAAC;IAC1B,4CAA4C;IAC5C,aAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,GAAG;QAC3B,OAAO,EAAE,IAAI;QACb,EAAE,EAAE,KAAK;QACT,MAAM,EAAE,sBAAsB;QAC9B,OAAO,EAAE,QAAQ;QACjB,kBAAkB,EAAE,IAAI;KACzB,CAAC;IACF,8DAA8D;IAC9D,aAAG,CAAC,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;IACvB,2DAA2D;IAC3D,aAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,6BAAa,CAAC;AAC1C,CAAC"}
1
+ {"version":3,"file":"processImportRegistration.js","sourceRoot":"","sources":["../../lib/processImportRegistration.ts"],"names":[],"mappings":";;;;;AASA,sDAqBC;AA9BD,mDAA2B;AAC3B,mDAAgD;AAQhD,SAAgB,qBAAqB;IACnC,sDAAsD;IACtD,aAAG,CAAC,MAAM,KAAK,EAAE,CAAC;IAClB,4CAA4C;IAC5C,aAAG,CAAC,MAAM,CAAC,OAAO,KAAK,EAAE,CAAC;IAC1B,4CAA4C;IAC5C,aAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,GAAG;QAC3B,OAAO,EAAE,IAAI;QACb,EAAE,EAAE,KAAK;QACT,MAAM,EAAE,sBAAsB;QAC9B,OAAO,EAAE,QAAQ;QACjB,kBAAkB,EAAE,IAAI;KACzB,CAAC;IACF,8DAA8D;IAC9D,aAAG,CAAC,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;IACvB,2DAA2D;IAC3D,aAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,QAAgB,EAAE,UAAyB,EAAE,EAAE,EAAE;QAC1E,0DAA0D;QAC1D,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;QACjC,OAAO,IAAA,6BAAa,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.extractQualifier = extractQualifier;
4
+ exports.resolveBusinessKeyAnnotation = resolveBusinessKeyAnnotation;
5
+ exports.getAnnotationPrefixes = getAnnotationPrefixes;
6
+ exports.findStartAnnotations = findStartAnnotations;
7
+ exports.findLifecycleAnnotations = findLifecycleAnnotations;
8
+ const constants_1 = require("../constants");
9
+ /**
10
+ * Extracts the qualifier from an annotation prefix.
11
+ * e.g. '@bpm.process.cancel#two' with base '@bpm.process.cancel' returns 'two'.
12
+ * Returns undefined if the prefix has no qualifier (equals the base) or if the
13
+ * separator is not the expected '#' character.
14
+ */
15
+ function extractQualifier(prefix, annotationBase) {
16
+ if (prefix.length <= annotationBase.length)
17
+ return undefined;
18
+ const remainder = prefix.substring(annotationBase.length);
19
+ return remainder.startsWith('#') ? remainder.substring(1) : undefined;
20
+ }
21
+ /**
22
+ * Resolves the business key annotation key for a given qualifier.
23
+ * First checks for a qualified businessKey matching the qualifier
24
+ * (e.g. '@bpm.process.businessKey#one' for qualifier 'one'),
25
+ * then falls back to the unqualified '@bpm.process.businessKey'.
26
+ * Returns the annotation key that exists on the entity, or the unqualified key if neither exists.
27
+ */
28
+ function resolveBusinessKeyAnnotation(entity, qualifier) {
29
+ if (qualifier) {
30
+ const qualifiedKey = `${constants_1.BUSINESS_KEY}#${qualifier}`;
31
+ if (entity[qualifiedKey] !== undefined)
32
+ return qualifiedKey;
33
+ }
34
+ return constants_1.BUSINESS_KEY;
35
+ }
36
+ /**
37
+ * Scans all keys on a CDS entity object and returns the unique annotation prefixes
38
+ * that match the given base annotation.
39
+ */
40
+ function getAnnotationPrefixes(entity, annotationBase) {
41
+ const prefixes = new Set();
42
+ for (const key of Object.keys(entity)) {
43
+ if (!key.startsWith(annotationBase))
44
+ continue;
45
+ const dotIndex = key.indexOf('.', annotationBase.length);
46
+ if (dotIndex === -1)
47
+ continue;
48
+ prefixes.add(key.substring(0, dotIndex));
49
+ }
50
+ return prefixes;
51
+ }
52
+ function findStartAnnotations(entity) {
53
+ const results = [];
54
+ const prefixes = getAnnotationPrefixes(entity, constants_1.PROCESS_START);
55
+ for (const prefix of prefixes) {
56
+ const id = entity[`${prefix}${constants_1.SUFFIX_ID}`];
57
+ const on = entity[`${prefix}${constants_1.SUFFIX_ON}`];
58
+ if (!id || !on)
59
+ continue;
60
+ const qualifier = extractQualifier(prefix, constants_1.PROCESS_START);
61
+ const ifAnnotation = entity[`${prefix}${constants_1.SUFFIX_IF}`];
62
+ const inputs = entity[`${prefix}${constants_1.SUFFIX_INPUTS}`];
63
+ const businessKeyAnnotation = resolveBusinessKeyAnnotation(entity, qualifier);
64
+ const businessKey = entity[businessKeyAnnotation]?.['='];
65
+ results.push({
66
+ qualifier,
67
+ id,
68
+ on,
69
+ conditionExpr: ifAnnotation?.xpr,
70
+ businessKey: businessKey,
71
+ inputs,
72
+ });
73
+ }
74
+ return results;
75
+ }
76
+ function findLifecycleAnnotations(entity, annotationBase) {
77
+ const results = [];
78
+ const prefixes = getAnnotationPrefixes(entity, annotationBase);
79
+ for (const prefix of prefixes) {
80
+ const on = entity[`${prefix}${constants_1.SUFFIX_ON}`];
81
+ if (!on)
82
+ continue;
83
+ const qualifier = extractQualifier(prefix, annotationBase);
84
+ const cascade = entity[`${prefix}${constants_1.SUFFIX_CASCADE}`] ?? false;
85
+ const ifAnnotation = entity[`${prefix}${constants_1.SUFFIX_IF}`];
86
+ const businessKeyAnnotation = resolveBusinessKeyAnnotation(entity, qualifier);
87
+ const businessKey = entity[businessKeyAnnotation]?.['='];
88
+ results.push({
89
+ qualifier,
90
+ on,
91
+ cascade,
92
+ conditionExpr: ifAnnotation?.xpr,
93
+ businessKey,
94
+ });
95
+ }
96
+ return results;
97
+ }
98
+ //# sourceMappingURL=annotations-helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"annotations-helper.js","sourceRoot":"","sources":["../../../lib/shared/annotations-helper.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ 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.formatBusinessKeyColumn = formatBusinessKeyColumn;
6
7
  exports.getBusinessKeyColumnOrReject = getBusinessKeyColumnOrReject;
7
8
  exports.getBusinessKeyColumn = getBusinessKeyColumn;
8
9
  const cds_1 = __importDefault(require("@sap/cds"));
@@ -1 +1 @@
1
- {"version":3,"file":"businessKey-helper.js","sourceRoot":"","sources":["../../../lib/shared/businessKey-helper.ts"],"names":[],"mappings":";;;;;AASA,oEAQC;AAED,oDAEC;AArBD,mDAA2B;AAC3B,4CAAyE;AAEzE,MAAM,GAAG,GAAG,aAAG,CAAC,GAAG,CAAC,iCAAqB,CAAC,CAAC;AAE3C,SAAS,uBAAuB,CAAC,WAAmB;IAClD,OAAO,GAAG,WAAW,IAAI,8BAAkB,EAAE,CAAC;AAChD,CAAC;AAED,SAAgB,4BAA4B,CAAC,GAAgB,EAAE,WAA+B;IAC5F,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,GAAG,GAAG,2DAA2D,CAAC;QACxE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACf,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5C,CAAC;SAAM,CAAC;QACN,OAAO,uBAAuB,CAAC,WAAW,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC;AAED,SAAgB,oBAAoB,CAAC,WAA+B;IAClE,OAAO,WAAW,CAAC,CAAC,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACxE,CAAC"}
1
+ {"version":3,"file":"businessKey-helper.js","sourceRoot":"","sources":["../../../lib/shared/businessKey-helper.ts"],"names":[],"mappings":";;;;;AAKA,0DAEC;AAED,oEAQC;AAED,oDAEC;AArBD,mDAA2B;AAC3B,4CAAyE;AAEzE,MAAM,GAAG,GAAG,aAAG,CAAC,GAAG,CAAC,iCAAqB,CAAC,CAAC;AAE3C,SAAgB,uBAAuB,CAAC,WAAmB;IACzD,OAAO,GAAG,WAAW,IAAI,8BAAkB,EAAE,CAAC;AAChD,CAAC;AAED,SAAgB,4BAA4B,CAAC,GAAgB,EAAE,WAA+B;IAC5F,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,GAAG,GAAG,2DAA2D,CAAC;QACxE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACf,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5C,CAAC;SAAM,CAAC;QACN,OAAO,uBAAuB,CAAC,WAAW,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC;AAED,SAAgB,oBAAoB,CAAC,WAA+B;IAClE,OAAO,WAAW,CAAC,CAAC,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACxE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cap-js/process",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "CAP Plugin to interact with SAP Build Process Automation to manage processes.",
5
5
  "main": "cds-plugin.js",
6
6
  "files": [
@@ -27,8 +27,9 @@
27
27
  "lint": "npx eslint .",
28
28
  "prettier": "npx -y prettier@3 --write .",
29
29
  "prettier:check": "npx -y prettier@3 --check .",
30
- "import:process": "npm run import:process:annotationLifeCycle && npm run import:process:programmaticLifecycle && npm run import:process:programmaticOutput && npm run import:process:importAttributesOutputs && npm run import:process:importComplex && npm run import:process:importSimple",
30
+ "import:process": "npm run import:process:annotationLifeCycle && npm run import:process:annotationLifeCycle_Two && npm run import:process:programmaticLifecycle && npm run import:process:programmaticOutput && npm run import:process:importAttributesOutputs && npm run import:process:importComplex && npm run import:process:importSimple",
31
31
  "import:process:annotationLifeCycle": "cd tests/bookshop && cds import --from process --name eu12.cdsmunich.capprocesspluginhybridtest.annotation_Lifecycle_Process --force",
32
+ "import:process:annotationLifeCycle_Two": "cd tests/bookshop && cds import --from process --name eu12.cdsmunich.capprocesspluginhybridtest.annotation_Lifecycle_Process_Two --force",
32
33
  "import:process:programmaticLifecycle": "cd tests/bookshop && cds import --from process --name eu12.cdsmunich.capprocesspluginhybridtest.programmatic_Lifecycle_Process --force",
33
34
  "import:process:programmaticOutput": "cd tests/bookshop && cds import --from process --name eu12.cdsmunich.capprocesspluginhybridtest.programmatic_Output_Process --force",
34
35
  "import:process:importAttributesOutputs": "cd tests/bookshop && cds import --from process --name eu12.cdsmunich.capprocesspluginhybridtest.importProcess_Attributes_And_Outputs --force",
@@ -52,7 +53,8 @@
52
53
  },
53
54
  "workspaces": [
54
55
  "tests/bookshop",
55
- "tests/sample/status-management"
56
+ "tests/sample/status-management",
57
+ "tests/sample/status-management/app/*"
56
58
  ],
57
59
  "dependencies": {
58
60
  "@sap-cloud-sdk/connectivity": "^4.5.1",