diff --git a/lib/build/validation-utils.ts b/lib/build/validation-utils.ts index c145a1a3..ae7f1861 100644 --- a/lib/build/validation-utils.ts +++ b/lib/build/validation-utils.ts @@ -11,7 +11,7 @@ import { } from '../shared/input-parser'; export type ElementType = { - type: string; + type?: string; isMandatory?: boolean; isArray?: boolean; properties?: Record; diff --git a/lib/processImport.ts b/lib/processImport.ts index ed22fdd8..09f08fb9 100644 --- a/lib/processImport.ts +++ b/lib/processImport.ts @@ -189,7 +189,6 @@ function addProcessTypes( const attributesName = fqn(serviceName, 'ProcessAttributes'); const instanceName = fqn(serviceName, 'ProcessInstance'); const instancesName = fqn(serviceName, 'ProcessInstances'); - const statusName = fqn(serviceName, 'ProcessInstanceStatus'); definitions[inputsName] = buildTypeFromSchema( inputsName, @@ -241,12 +240,6 @@ function addProcessTypes( name: instancesName, items: { type: instanceName }, }; - - definitions[statusName] = { - kind: 'type', - name: statusName, - items: { type: csn.CdsBuiltinType.String }, - }; } // ============================================================================ @@ -263,7 +256,6 @@ function addProcessActions( const outputsType = fqn(serviceName, 'ProcessOutputs'); const attributesType = fqn(serviceName, 'ProcessAttributes'); const instancesType = fqn(serviceName, 'ProcessInstances'); - const statusType = fqn(serviceName, 'ProcessInstanceStatus'); // Start action — three tiers: // 1. No input properties: start() with no params @@ -311,7 +303,7 @@ function addProcessActions( name: fqn(serviceName, 'getInstancesByBusinessKey'), params: { businessKey: { type: csn.CdsBuiltinType.String, notNull: true }, - status: { type: statusType }, + status: { items: { type: csn.CdsBuiltinType.String } }, }, returns: { type: instancesType }, }; diff --git a/lib/types/csn-extensions.ts b/lib/types/csn-extensions.ts index 97b0d2be..9de4c4ff 100644 --- a/lib/types/csn-extensions.ts +++ b/lib/types/csn-extensions.ts @@ -148,7 +148,7 @@ export interface CsnAnnotation extends CsnBaseDefinition { // ────────────────────────────────────────────────────────────── // export interface CsnElement extends CsnAnnotations { - type: CdsTypeRef; + type?: CdsTypeRef; notNull?: boolean; key?: boolean; virtual?: boolean; diff --git a/tests/bookshop/package.json b/tests/bookshop/package.json index e47e47bf..18ddd8c9 100644 --- a/tests/bookshop/package.json +++ b/tests/bookshop/package.json @@ -59,10 +59,6 @@ } } }, - "eu12.bpm-horizon-walkme.sdshipmentprocessor.ShipmentHandlerService": { - "kind": "process-service", - "model": "srv/external/eu12.bpm-horizon-walkme.sdshipmentprocessor.shipmentHandler" - }, "eu12.cdsmunich.capprocesspluginhybridtest.Annotation_Lifecycle_ProcessService": { "kind": "process-service", "model": "srv/external/eu12.cdsmunich.capprocesspluginhybridtest.annotation_Lifecycle_Process" diff --git a/tests/bookshop/srv/external/eu12.cdsmunich.capprocesspluginhybridtest.annotation_Lifecycle_Process.cds b/tests/bookshop/srv/external/eu12.cdsmunich.capprocesspluginhybridtest.annotation_Lifecycle_Process.cds index d2785ea8..02198360 100644 --- a/tests/bookshop/srv/external/eu12.cdsmunich.capprocesspluginhybridtest.annotation_Lifecycle_Process.cds +++ b/tests/bookshop/srv/external/eu12.cdsmunich.capprocesspluginhybridtest.annotation_Lifecycle_Process.cds @@ -1,4 +1,4 @@ -/* checksum : 2365826f2b0b2661a4f9ebd32c09fc28 */ +/* checksum : 2d9b04f7d100bb10cefeaa255ec0b188 */ namespace eu12.cdsmunich.capprocesspluginhybridtest; /** DO NOT EDIT. THIS IS A GENERATED SERVICE THAT WILL BE OVERRIDDEN ON NEXT IMPORT. */ @@ -31,8 +31,6 @@ service Annotation_Lifecycle_ProcessService { type ProcessInstances : many ProcessInstance; - type ProcessInstanceStatus : many String; - action start( inputs : ProcessInputs not null ); @@ -47,7 +45,7 @@ service Annotation_Lifecycle_ProcessService { function getInstancesByBusinessKey( businessKey : String not null, - status : ProcessInstanceStatus + status : many String ) returns ProcessInstances; action suspend( diff --git a/tests/bookshop/srv/external/eu12.cdsmunich.capprocesspluginhybridtest.importProcess_Attributes_And_Outputs.cds b/tests/bookshop/srv/external/eu12.cdsmunich.capprocesspluginhybridtest.importProcess_Attributes_And_Outputs.cds index b6bb0afc..c11851f6 100644 --- a/tests/bookshop/srv/external/eu12.cdsmunich.capprocesspluginhybridtest.importProcess_Attributes_And_Outputs.cds +++ b/tests/bookshop/srv/external/eu12.cdsmunich.capprocesspluginhybridtest.importProcess_Attributes_And_Outputs.cds @@ -1,4 +1,4 @@ -/* checksum : 06cf8c9d9e2f98deda3afc8c9105860c */ +/* checksum : b2be28c9da2617d511526b2f68e5e6b0 */ namespace eu12.cdsmunich.capprocesspluginhybridtest; /** DO NOT EDIT. THIS IS A GENERATED SERVICE THAT WILL BE OVERRIDDEN ON NEXT IMPORT. */ @@ -67,8 +67,6 @@ service ImportProcess_Attributes_And_OutputsService { type ProcessInstances : many ProcessInstance; - type ProcessInstanceStatus : many String; - action start( inputs : ProcessInputs not null ); @@ -83,7 +81,7 @@ service ImportProcess_Attributes_And_OutputsService { function getInstancesByBusinessKey( businessKey : String not null, - status : ProcessInstanceStatus + status : many String ) returns ProcessInstances; action suspend( diff --git a/tests/bookshop/srv/external/eu12.cdsmunich.capprocesspluginhybridtest.importProcess_Complex_Inputs.cds b/tests/bookshop/srv/external/eu12.cdsmunich.capprocesspluginhybridtest.importProcess_Complex_Inputs.cds index 42de0286..93483826 100644 --- a/tests/bookshop/srv/external/eu12.cdsmunich.capprocesspluginhybridtest.importProcess_Complex_Inputs.cds +++ b/tests/bookshop/srv/external/eu12.cdsmunich.capprocesspluginhybridtest.importProcess_Complex_Inputs.cds @@ -1,4 +1,4 @@ -/* checksum : c03cdf2e606ab17a35b5c033564432b3 */ +/* checksum : b0ced28bb4d1bef714f6714bff14642e */ namespace eu12.cdsmunich.capprocesspluginhybridtest; /** DO NOT EDIT. THIS IS A GENERATED SERVICE THAT WILL BE OVERRIDDEN ON NEXT IMPORT. */ @@ -59,8 +59,6 @@ service ImportProcess_Complex_InputsService { type ProcessInstances : many ProcessInstance; - type ProcessInstanceStatus : many String; - action start( inputs : ProcessInputs not null ); @@ -75,7 +73,7 @@ service ImportProcess_Complex_InputsService { function getInstancesByBusinessKey( businessKey : String not null, - status : ProcessInstanceStatus + status : many String ) returns ProcessInstances; action suspend( diff --git a/tests/bookshop/srv/external/eu12.cdsmunich.capprocesspluginhybridtest.importProcess_Simple_Inputs.cds b/tests/bookshop/srv/external/eu12.cdsmunich.capprocesspluginhybridtest.importProcess_Simple_Inputs.cds index 36380ee5..d26fccaf 100644 --- a/tests/bookshop/srv/external/eu12.cdsmunich.capprocesspluginhybridtest.importProcess_Simple_Inputs.cds +++ b/tests/bookshop/srv/external/eu12.cdsmunich.capprocesspluginhybridtest.importProcess_Simple_Inputs.cds @@ -1,4 +1,4 @@ -/* checksum : 0f35e7076c73088aa94343c24de08931 */ +/* checksum : 7e054e53e107a7f5c8375eb51a454e7f */ namespace eu12.cdsmunich.capprocesspluginhybridtest; /** DO NOT EDIT. THIS IS A GENERATED SERVICE THAT WILL BE OVERRIDDEN ON NEXT IMPORT. */ @@ -36,8 +36,6 @@ service ImportProcess_Simple_InputsService { type ProcessInstances : many ProcessInstance; - type ProcessInstanceStatus : many String; - action start( inputs : ProcessInputs not null ); @@ -52,7 +50,7 @@ service ImportProcess_Simple_InputsService { function getInstancesByBusinessKey( businessKey : String not null, - status : ProcessInstanceStatus + status : many String ) returns ProcessInstances; action suspend( diff --git a/tests/bookshop/srv/external/eu12.cdsmunich.capprocesspluginhybridtest.programmatic_Lifecycle_Process.cds b/tests/bookshop/srv/external/eu12.cdsmunich.capprocesspluginhybridtest.programmatic_Lifecycle_Process.cds index b90535ed..177eecb0 100644 --- a/tests/bookshop/srv/external/eu12.cdsmunich.capprocesspluginhybridtest.programmatic_Lifecycle_Process.cds +++ b/tests/bookshop/srv/external/eu12.cdsmunich.capprocesspluginhybridtest.programmatic_Lifecycle_Process.cds @@ -1,4 +1,4 @@ -/* checksum : 0a304afe8e7feed2939e6a02b72700f2 */ +/* checksum : 721729e92c5456fb13b5e792ac205215 */ namespace eu12.cdsmunich.capprocesspluginhybridtest; /** DO NOT EDIT. THIS IS A GENERATED SERVICE THAT WILL BE OVERRIDDEN ON NEXT IMPORT. */ @@ -33,8 +33,6 @@ service Programmatic_Lifecycle_ProcessService { type ProcessInstances : many ProcessInstance; - type ProcessInstanceStatus : many String; - action start( inputs : ProcessInputs not null ); @@ -49,7 +47,7 @@ service Programmatic_Lifecycle_ProcessService { function getInstancesByBusinessKey( businessKey : String not null, - status : ProcessInstanceStatus + status : many String ) returns ProcessInstances; action suspend( diff --git a/tests/bookshop/srv/external/eu12.cdsmunich.capprocesspluginhybridtest.programmatic_Output_Process.cds b/tests/bookshop/srv/external/eu12.cdsmunich.capprocesspluginhybridtest.programmatic_Output_Process.cds index 7793aa21..8a937cd8 100644 --- a/tests/bookshop/srv/external/eu12.cdsmunich.capprocesspluginhybridtest.programmatic_Output_Process.cds +++ b/tests/bookshop/srv/external/eu12.cdsmunich.capprocesspluginhybridtest.programmatic_Output_Process.cds @@ -1,4 +1,4 @@ -/* checksum : 485333e131f4ed3e5a2f2b623a290f1e */ +/* checksum : 5d4deaa24aac52f7afcf274a034ff450 */ namespace eu12.cdsmunich.capprocesspluginhybridtest; /** DO NOT EDIT. THIS IS A GENERATED SERVICE THAT WILL BE OVERRIDDEN ON NEXT IMPORT. */ @@ -40,8 +40,6 @@ service Programmatic_Output_ProcessService { type ProcessInstances : many ProcessInstance; - type ProcessInstanceStatus : many String; - action start( inputs : ProcessInputs not null ); @@ -56,7 +54,7 @@ service Programmatic_Output_ProcessService { function getInstancesByBusinessKey( businessKey : String not null, - status : ProcessInstanceStatus + status : many String ) returns ProcessInstances; action suspend( diff --git a/tests/bookshop/srv/programmatic-service.ts b/tests/bookshop/srv/programmatic-service.ts index dc0f7a3e..bd7961ee 100644 --- a/tests/bookshop/srv/programmatic-service.ts +++ b/tests/bookshop/srv/programmatic-service.ts @@ -49,13 +49,12 @@ class ProgrammaticService extends cds.ApplicationService { }); this.on('getAttributes', async (req: cds.Request) => { - const { ID, status } = req.data; + const { ID } = req.data; const programmaticLifecycleProcess = await cds.connect.to( Programmatic_Lifecycle_ProcessService, ); const processInstances = await programmaticLifecycleProcess.getInstancesByBusinessKey({ businessKey: ID, - status: status, }); const allAttributes = []; for (const instance of processInstances) { diff --git a/tests/hybrid/importedCDS/eu12.cdsmunich.capprocesspluginhybridtest.importProcess_Attributes_And_Outputs.cds b/tests/hybrid/importedCDS/eu12.cdsmunich.capprocesspluginhybridtest.importProcess_Attributes_And_Outputs.cds index b6bb0afc..c11851f6 100644 --- a/tests/hybrid/importedCDS/eu12.cdsmunich.capprocesspluginhybridtest.importProcess_Attributes_And_Outputs.cds +++ b/tests/hybrid/importedCDS/eu12.cdsmunich.capprocesspluginhybridtest.importProcess_Attributes_And_Outputs.cds @@ -1,4 +1,4 @@ -/* checksum : 06cf8c9d9e2f98deda3afc8c9105860c */ +/* checksum : b2be28c9da2617d511526b2f68e5e6b0 */ namespace eu12.cdsmunich.capprocesspluginhybridtest; /** DO NOT EDIT. THIS IS A GENERATED SERVICE THAT WILL BE OVERRIDDEN ON NEXT IMPORT. */ @@ -67,8 +67,6 @@ service ImportProcess_Attributes_And_OutputsService { type ProcessInstances : many ProcessInstance; - type ProcessInstanceStatus : many String; - action start( inputs : ProcessInputs not null ); @@ -83,7 +81,7 @@ service ImportProcess_Attributes_And_OutputsService { function getInstancesByBusinessKey( businessKey : String not null, - status : ProcessInstanceStatus + status : many String ) returns ProcessInstances; action suspend( diff --git a/tests/hybrid/importedCDS/eu12.cdsmunich.capprocesspluginhybridtest.importProcess_Complex_Inputs.cds b/tests/hybrid/importedCDS/eu12.cdsmunich.capprocesspluginhybridtest.importProcess_Complex_Inputs.cds index 42de0286..93483826 100644 --- a/tests/hybrid/importedCDS/eu12.cdsmunich.capprocesspluginhybridtest.importProcess_Complex_Inputs.cds +++ b/tests/hybrid/importedCDS/eu12.cdsmunich.capprocesspluginhybridtest.importProcess_Complex_Inputs.cds @@ -1,4 +1,4 @@ -/* checksum : c03cdf2e606ab17a35b5c033564432b3 */ +/* checksum : b0ced28bb4d1bef714f6714bff14642e */ namespace eu12.cdsmunich.capprocesspluginhybridtest; /** DO NOT EDIT. THIS IS A GENERATED SERVICE THAT WILL BE OVERRIDDEN ON NEXT IMPORT. */ @@ -59,8 +59,6 @@ service ImportProcess_Complex_InputsService { type ProcessInstances : many ProcessInstance; - type ProcessInstanceStatus : many String; - action start( inputs : ProcessInputs not null ); @@ -75,7 +73,7 @@ service ImportProcess_Complex_InputsService { function getInstancesByBusinessKey( businessKey : String not null, - status : ProcessInstanceStatus + status : many String ) returns ProcessInstances; action suspend( diff --git a/tests/hybrid/importedCDS/eu12.cdsmunich.capprocesspluginhybridtest.importProcess_Simple_Inputs.cds b/tests/hybrid/importedCDS/eu12.cdsmunich.capprocesspluginhybridtest.importProcess_Simple_Inputs.cds index 36380ee5..d26fccaf 100644 --- a/tests/hybrid/importedCDS/eu12.cdsmunich.capprocesspluginhybridtest.importProcess_Simple_Inputs.cds +++ b/tests/hybrid/importedCDS/eu12.cdsmunich.capprocesspluginhybridtest.importProcess_Simple_Inputs.cds @@ -1,4 +1,4 @@ -/* checksum : 0f35e7076c73088aa94343c24de08931 */ +/* checksum : 7e054e53e107a7f5c8375eb51a454e7f */ namespace eu12.cdsmunich.capprocesspluginhybridtest; /** DO NOT EDIT. THIS IS A GENERATED SERVICE THAT WILL BE OVERRIDDEN ON NEXT IMPORT. */ @@ -36,8 +36,6 @@ service ImportProcess_Simple_InputsService { type ProcessInstances : many ProcessInstance; - type ProcessInstanceStatus : many String; - action start( inputs : ProcessInputs not null ); @@ -52,7 +50,7 @@ service ImportProcess_Simple_InputsService { function getInstancesByBusinessKey( businessKey : String not null, - status : ProcessInstanceStatus + status : many String ) returns ProcessInstances; action suspend(