@webiny/api-workflows 6.5.0-beta.1 → 6.5.0-beta.10
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/domain/workflow/workflowModel.js +2 -1
- package/domain/workflow/workflowModel.js.map +1 -1
- package/domain/workflowState/stateModel.js +2 -1
- package/domain/workflowState/stateModel.js.map +1 -1
- package/features/workflow/StoreWorkflow/StoreWorkflowUseCase.js +1 -1
- package/features/workflow/StoreWorkflow/StoreWorkflowUseCase.js.map +1 -1
- package/graphql/validation/listWorkflowStates.d.ts +4 -4
- package/package.json +16 -16
|
@@ -5,7 +5,8 @@ class WorkflowModelImpl {
|
|
|
5
5
|
return [
|
|
6
6
|
builder.private({
|
|
7
7
|
modelId: WORKFLOW_MODEL_ID,
|
|
8
|
-
name: "Workflow"
|
|
8
|
+
name: "Workflow",
|
|
9
|
+
lifecycleEvents: false
|
|
9
10
|
}).fields((fields)=>({
|
|
10
11
|
name: fields.text().label("Name").required("Workflow name is required."),
|
|
11
12
|
app: fields.text().label("App").required("App is required."),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain/workflow/workflowModel.js","sources":["../../../src/domain/workflow/workflowModel.ts"],"sourcesContent":["import { ModelFactory } from \"@webiny/api-headless-cms/features/modelBuilder/index.js\";\nimport { WORKFLOW_MODEL_ID } from \"~/constants.js\";\n\nexport { WORKFLOW_MODEL_ID };\n\nclass WorkflowModelImpl implements ModelFactory.Interface {\n public async execute(builder: ModelFactory.Builder) {\n return [\n builder\n .private({\n modelId: WORKFLOW_MODEL_ID,\n name: \"Workflow\"\n })\n .fields(fields => ({\n name: fields.text().label(\"Name\").required(\"Workflow name is required.\"),\n app: fields.text().label(\"App\").required(\"App is required.\"),\n steps: fields\n .object()\n .label(\"Steps\")\n .list()\n .required(\"Steps are required.\")\n .listMinLength(1, \"At least one step is required.\")\n .fields(fields => ({\n id: fields.text().label(\"ID\").required(\"ID is required.\"),\n title: fields.text().label(\"Title\").required(\"Title is required.\"),\n color: fields.text().label(\"Color\"),\n description: fields.text().label(\"Description\"),\n teams: fields\n .object()\n .label(\"Teams\")\n .list()\n .fields(teamFields => ({\n id: teamFields.text().label(\"ID\").required(\"ID is required.\")\n })),\n notifications: fields\n .object()\n .list()\n .label(\"Notifications\")\n .fields(fields => ({\n id: fields.text().label(\"Id\").required(\"Id is required.\")\n }))\n }))\n }))\n ];\n }\n}\n\nexport const WorkflowModel = ModelFactory.createImplementation({\n implementation: WorkflowModelImpl,\n dependencies: []\n});\n"],"names":["WorkflowModelImpl","builder","WORKFLOW_MODEL_ID","fields","teamFields","WorkflowModel","ModelFactory"],"mappings":";;AAKA,MAAMA;IACF,MAAa,QAAQC,OAA6B,EAAE;QAChD,OAAO;YACHA,QACK,OAAO,CAAC;gBACL,SAASC;gBACT,MAAM;
|
|
1
|
+
{"version":3,"file":"domain/workflow/workflowModel.js","sources":["../../../src/domain/workflow/workflowModel.ts"],"sourcesContent":["import { ModelFactory } from \"@webiny/api-headless-cms/features/modelBuilder/index.js\";\nimport { WORKFLOW_MODEL_ID } from \"~/constants.js\";\n\nexport { WORKFLOW_MODEL_ID };\n\nclass WorkflowModelImpl implements ModelFactory.Interface {\n public async execute(builder: ModelFactory.Builder) {\n return [\n builder\n .private({\n modelId: WORKFLOW_MODEL_ID,\n name: \"Workflow\",\n lifecycleEvents: false\n })\n .fields(fields => ({\n name: fields.text().label(\"Name\").required(\"Workflow name is required.\"),\n app: fields.text().label(\"App\").required(\"App is required.\"),\n steps: fields\n .object()\n .label(\"Steps\")\n .list()\n .required(\"Steps are required.\")\n .listMinLength(1, \"At least one step is required.\")\n .fields(fields => ({\n id: fields.text().label(\"ID\").required(\"ID is required.\"),\n title: fields.text().label(\"Title\").required(\"Title is required.\"),\n color: fields.text().label(\"Color\"),\n description: fields.text().label(\"Description\"),\n teams: fields\n .object()\n .label(\"Teams\")\n .list()\n .fields(teamFields => ({\n id: teamFields.text().label(\"ID\").required(\"ID is required.\")\n })),\n notifications: fields\n .object()\n .list()\n .label(\"Notifications\")\n .fields(fields => ({\n id: fields.text().label(\"Id\").required(\"Id is required.\")\n }))\n }))\n }))\n ];\n }\n}\n\nexport const WorkflowModel = ModelFactory.createImplementation({\n implementation: WorkflowModelImpl,\n dependencies: []\n});\n"],"names":["WorkflowModelImpl","builder","WORKFLOW_MODEL_ID","fields","teamFields","WorkflowModel","ModelFactory"],"mappings":";;AAKA,MAAMA;IACF,MAAa,QAAQC,OAA6B,EAAE;QAChD,OAAO;YACHA,QACK,OAAO,CAAC;gBACL,SAASC;gBACT,MAAM;gBACN,iBAAiB;YACrB,GACC,MAAM,CAACC,CAAAA,SAAW;oBACf,MAAMA,OAAO,IAAI,GAAG,KAAK,CAAC,QAAQ,QAAQ,CAAC;oBAC3C,KAAKA,OAAO,IAAI,GAAG,KAAK,CAAC,OAAO,QAAQ,CAAC;oBACzC,OAAOA,OACF,MAAM,GACN,KAAK,CAAC,SACN,IAAI,GACJ,QAAQ,CAAC,uBACT,aAAa,CAAC,GAAG,kCACjB,MAAM,CAACA,CAAAA,SAAW;4BACf,IAAIA,OAAO,IAAI,GAAG,KAAK,CAAC,MAAM,QAAQ,CAAC;4BACvC,OAAOA,OAAO,IAAI,GAAG,KAAK,CAAC,SAAS,QAAQ,CAAC;4BAC7C,OAAOA,OAAO,IAAI,GAAG,KAAK,CAAC;4BAC3B,aAAaA,OAAO,IAAI,GAAG,KAAK,CAAC;4BACjC,OAAOA,OACF,MAAM,GACN,KAAK,CAAC,SACN,IAAI,GACJ,MAAM,CAACC,CAAAA,aAAe;oCACnB,IAAIA,WAAW,IAAI,GAAG,KAAK,CAAC,MAAM,QAAQ,CAAC;gCAC/C;4BACJ,eAAeD,OACV,MAAM,GACN,IAAI,GACJ,KAAK,CAAC,iBACN,MAAM,CAACA,CAAAA,SAAW;oCACf,IAAIA,OAAO,IAAI,GAAG,KAAK,CAAC,MAAM,QAAQ,CAAC;gCAC3C;wBACR;gBACR;SACP;IACL;AACJ;AAEO,MAAME,gBAAgBC,aAAa,oBAAoB,CAAC;IAC3D,gBAAgBN;IAChB,cAAc,EAAE;AACpB"}
|
|
@@ -24,7 +24,8 @@ class WorkflowStateModelImpl {
|
|
|
24
24
|
return [
|
|
25
25
|
builder.private({
|
|
26
26
|
modelId: WORKFLOW_STATE_MODEL_ID,
|
|
27
|
-
name: "RecordWorkflow State"
|
|
27
|
+
name: "RecordWorkflow State",
|
|
28
|
+
lifecycleEvents: false
|
|
28
29
|
}).fields((fields)=>({
|
|
29
30
|
workflowId: fields.text().label("Workflow ID"),
|
|
30
31
|
app: fields.text().label("App").required("App is required."),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain/workflowState/stateModel.js","sources":["../../../src/domain/workflowState/stateModel.ts"],"sourcesContent":["import { ModelFactory } from \"@webiny/api-headless-cms/features/modelBuilder/index.js\";\nimport { WorkflowStateRecordState } from \"~/domain/workflowState/abstractions.js\";\n\nexport const WORKFLOW_STATE_MODEL_ID = \"wbyWorkflowState\";\n\nconst states = [\n {\n label: \"Pending\",\n value: WorkflowStateRecordState.pending\n },\n {\n label: \"In Review\",\n value: WorkflowStateRecordState.inReview\n },\n {\n label: \"Approved\",\n value: WorkflowStateRecordState.approved\n },\n {\n label: \"Rejected\",\n value: WorkflowStateRecordState.rejected\n }\n];\n\nclass WorkflowStateModelImpl implements ModelFactory.Interface {\n public async execute(builder: ModelFactory.Builder) {\n return [\n builder\n .private({\n modelId: WORKFLOW_STATE_MODEL_ID,\n name: \"RecordWorkflow State\"\n })\n .fields(fields => ({\n workflowId: fields.text().label(\"Workflow ID\"),\n app: fields.text().label(\"App\").required(\"App is required.\"),\n title: fields.text().label(\"Title\").required(\"Title is required.\"),\n targetRevisionId: fields.text().label(\"Target Revision ID\"),\n targetId: fields.text().label(\"Target ID\"),\n isActive: fields.boolean().label(\"Is Active\"),\n comment: fields.text().label(\"Comment\"),\n state: fields.text().label(\"State\").predefinedValues(states),\n targetContext: fields.json().label(\"Target Context\"),\n steps: fields\n .object()\n .label(\"Steps\")\n .list()\n .required(\"Steps are required.\")\n .listMinLength(1, \"At least one step is required.\")\n .fields(stepFields => ({\n id: stepFields.text().label(\"ID\").required(\"ID is required.\"),\n title: stepFields.text().label(\"Title\").required(\"Title is required.\"),\n color: stepFields.text().label(\"Color\").required(\"Color is required.\"),\n description: stepFields.text().label(\"Description\"),\n teams: stepFields\n .object()\n .label(\"Teams\")\n .list()\n .required(\"At least one team is required.\")\n .listMinLength(1, \"At least one team is required.\")\n .fields(teamFields => ({\n id: teamFields.text().label(\"ID\").required(\"ID is required.\")\n })),\n notifications: stepFields\n .object()\n .label(\"Notifications\")\n .list()\n .fields(notificationFields => ({\n id: notificationFields\n .text()\n .label(\"ID\")\n .required(\"ID is required.\")\n })),\n state: stepFields.text().label(\"State\").predefinedValues(states),\n savedBy: stepFields\n .object()\n .label(\"User\")\n .fields(userFields => ({\n id: userFields.text().label(\"ID\").required(\"ID is required.\"),\n displayName: userFields\n .text()\n .label(\"Display Name\")\n .required(\"Display name is required.\"),\n type: userFields\n .text()\n .label(\"Type\")\n .required(\"Type is required.\")\n })),\n comment: stepFields.text().label(\"Comment\")\n }))\n }))\n ];\n }\n}\n\nexport const WorkflowStateModel = ModelFactory.createImplementation({\n implementation: WorkflowStateModelImpl,\n dependencies: []\n});\n"],"names":["WORKFLOW_STATE_MODEL_ID","states","WorkflowStateRecordState","WorkflowStateModelImpl","builder","fields","stepFields","teamFields","notificationFields","userFields","WorkflowStateModel","ModelFactory"],"mappings":";;AAGO,MAAMA,0BAA0B;AAEvC,MAAMC,SAAS;IACX;QACI,OAAO;QACP,OAAOC,yBAAyB,OAAO;IAC3C;IACA;QACI,OAAO;QACP,OAAOA,yBAAyB,QAAQ;IAC5C;IACA;QACI,OAAO;QACP,OAAOA,yBAAyB,QAAQ;IAC5C;IACA;QACI,OAAO;QACP,OAAOA,yBAAyB,QAAQ;IAC5C;CACH;AAED,MAAMC;IACF,MAAa,QAAQC,OAA6B,EAAE;QAChD,OAAO;YACHA,QACK,OAAO,CAAC;gBACL,SAASJ;gBACT,MAAM;
|
|
1
|
+
{"version":3,"file":"domain/workflowState/stateModel.js","sources":["../../../src/domain/workflowState/stateModel.ts"],"sourcesContent":["import { ModelFactory } from \"@webiny/api-headless-cms/features/modelBuilder/index.js\";\nimport { WorkflowStateRecordState } from \"~/domain/workflowState/abstractions.js\";\n\nexport const WORKFLOW_STATE_MODEL_ID = \"wbyWorkflowState\";\n\nconst states = [\n {\n label: \"Pending\",\n value: WorkflowStateRecordState.pending\n },\n {\n label: \"In Review\",\n value: WorkflowStateRecordState.inReview\n },\n {\n label: \"Approved\",\n value: WorkflowStateRecordState.approved\n },\n {\n label: \"Rejected\",\n value: WorkflowStateRecordState.rejected\n }\n];\n\nclass WorkflowStateModelImpl implements ModelFactory.Interface {\n public async execute(builder: ModelFactory.Builder) {\n return [\n builder\n .private({\n modelId: WORKFLOW_STATE_MODEL_ID,\n name: \"RecordWorkflow State\",\n lifecycleEvents: false\n })\n .fields(fields => ({\n workflowId: fields.text().label(\"Workflow ID\"),\n app: fields.text().label(\"App\").required(\"App is required.\"),\n title: fields.text().label(\"Title\").required(\"Title is required.\"),\n targetRevisionId: fields.text().label(\"Target Revision ID\"),\n targetId: fields.text().label(\"Target ID\"),\n isActive: fields.boolean().label(\"Is Active\"),\n comment: fields.text().label(\"Comment\"),\n state: fields.text().label(\"State\").predefinedValues(states),\n targetContext: fields.json().label(\"Target Context\"),\n steps: fields\n .object()\n .label(\"Steps\")\n .list()\n .required(\"Steps are required.\")\n .listMinLength(1, \"At least one step is required.\")\n .fields(stepFields => ({\n id: stepFields.text().label(\"ID\").required(\"ID is required.\"),\n title: stepFields.text().label(\"Title\").required(\"Title is required.\"),\n color: stepFields.text().label(\"Color\").required(\"Color is required.\"),\n description: stepFields.text().label(\"Description\"),\n teams: stepFields\n .object()\n .label(\"Teams\")\n .list()\n .required(\"At least one team is required.\")\n .listMinLength(1, \"At least one team is required.\")\n .fields(teamFields => ({\n id: teamFields.text().label(\"ID\").required(\"ID is required.\")\n })),\n notifications: stepFields\n .object()\n .label(\"Notifications\")\n .list()\n .fields(notificationFields => ({\n id: notificationFields\n .text()\n .label(\"ID\")\n .required(\"ID is required.\")\n })),\n state: stepFields.text().label(\"State\").predefinedValues(states),\n savedBy: stepFields\n .object()\n .label(\"User\")\n .fields(userFields => ({\n id: userFields.text().label(\"ID\").required(\"ID is required.\"),\n displayName: userFields\n .text()\n .label(\"Display Name\")\n .required(\"Display name is required.\"),\n type: userFields\n .text()\n .label(\"Type\")\n .required(\"Type is required.\")\n })),\n comment: stepFields.text().label(\"Comment\")\n }))\n }))\n ];\n }\n}\n\nexport const WorkflowStateModel = ModelFactory.createImplementation({\n implementation: WorkflowStateModelImpl,\n dependencies: []\n});\n"],"names":["WORKFLOW_STATE_MODEL_ID","states","WorkflowStateRecordState","WorkflowStateModelImpl","builder","fields","stepFields","teamFields","notificationFields","userFields","WorkflowStateModel","ModelFactory"],"mappings":";;AAGO,MAAMA,0BAA0B;AAEvC,MAAMC,SAAS;IACX;QACI,OAAO;QACP,OAAOC,yBAAyB,OAAO;IAC3C;IACA;QACI,OAAO;QACP,OAAOA,yBAAyB,QAAQ;IAC5C;IACA;QACI,OAAO;QACP,OAAOA,yBAAyB,QAAQ;IAC5C;IACA;QACI,OAAO;QACP,OAAOA,yBAAyB,QAAQ;IAC5C;CACH;AAED,MAAMC;IACF,MAAa,QAAQC,OAA6B,EAAE;QAChD,OAAO;YACHA,QACK,OAAO,CAAC;gBACL,SAASJ;gBACT,MAAM;gBACN,iBAAiB;YACrB,GACC,MAAM,CAACK,CAAAA,SAAW;oBACf,YAAYA,OAAO,IAAI,GAAG,KAAK,CAAC;oBAChC,KAAKA,OAAO,IAAI,GAAG,KAAK,CAAC,OAAO,QAAQ,CAAC;oBACzC,OAAOA,OAAO,IAAI,GAAG,KAAK,CAAC,SAAS,QAAQ,CAAC;oBAC7C,kBAAkBA,OAAO,IAAI,GAAG,KAAK,CAAC;oBACtC,UAAUA,OAAO,IAAI,GAAG,KAAK,CAAC;oBAC9B,UAAUA,OAAO,OAAO,GAAG,KAAK,CAAC;oBACjC,SAASA,OAAO,IAAI,GAAG,KAAK,CAAC;oBAC7B,OAAOA,OAAO,IAAI,GAAG,KAAK,CAAC,SAAS,gBAAgB,CAACJ;oBACrD,eAAeI,OAAO,IAAI,GAAG,KAAK,CAAC;oBACnC,OAAOA,OACF,MAAM,GACN,KAAK,CAAC,SACN,IAAI,GACJ,QAAQ,CAAC,uBACT,aAAa,CAAC,GAAG,kCACjB,MAAM,CAACC,CAAAA,aAAe;4BACnB,IAAIA,WAAW,IAAI,GAAG,KAAK,CAAC,MAAM,QAAQ,CAAC;4BAC3C,OAAOA,WAAW,IAAI,GAAG,KAAK,CAAC,SAAS,QAAQ,CAAC;4BACjD,OAAOA,WAAW,IAAI,GAAG,KAAK,CAAC,SAAS,QAAQ,CAAC;4BACjD,aAAaA,WAAW,IAAI,GAAG,KAAK,CAAC;4BACrC,OAAOA,WACF,MAAM,GACN,KAAK,CAAC,SACN,IAAI,GACJ,QAAQ,CAAC,kCACT,aAAa,CAAC,GAAG,kCACjB,MAAM,CAACC,CAAAA,aAAe;oCACnB,IAAIA,WAAW,IAAI,GAAG,KAAK,CAAC,MAAM,QAAQ,CAAC;gCAC/C;4BACJ,eAAeD,WACV,MAAM,GACN,KAAK,CAAC,iBACN,IAAI,GACJ,MAAM,CAACE,CAAAA,qBAAuB;oCAC3B,IAAIA,mBACC,IAAI,GACJ,KAAK,CAAC,MACN,QAAQ,CAAC;gCAClB;4BACJ,OAAOF,WAAW,IAAI,GAAG,KAAK,CAAC,SAAS,gBAAgB,CAACL;4BACzD,SAASK,WACJ,MAAM,GACN,KAAK,CAAC,QACN,MAAM,CAACG,CAAAA,aAAe;oCACnB,IAAIA,WAAW,IAAI,GAAG,KAAK,CAAC,MAAM,QAAQ,CAAC;oCAC3C,aAAaA,WACR,IAAI,GACJ,KAAK,CAAC,gBACN,QAAQ,CAAC;oCACd,MAAMA,WACD,IAAI,GACJ,KAAK,CAAC,QACN,QAAQ,CAAC;gCAClB;4BACJ,SAASH,WAAW,IAAI,GAAG,KAAK,CAAC;wBACrC;gBACR;SACP;IACL;AACJ;AAEO,MAAMI,qBAAqBC,aAAa,oBAAoB,CAAC;IAChE,gBAAgBR;IAChB,cAAc,EAAE;AACpB"}
|
|
@@ -19,7 +19,7 @@ class StoreWorkflowUseCaseImpl {
|
|
|
19
19
|
}
|
|
20
20
|
const existing = existingResult.isOk() ? existingResult.value : null;
|
|
21
21
|
if (!existing) return this.createWorkflow.execute(input);
|
|
22
|
-
return this.updateWorkflow.execute(input, existing);
|
|
22
|
+
else return this.updateWorkflow.execute(input, existing);
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
const StoreWorkflowUseCase_StoreWorkflowUseCase = StoreWorkflowUseCase.createImplementation({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features/workflow/StoreWorkflow/StoreWorkflowUseCase.js","sources":["../../../../src/features/workflow/StoreWorkflow/StoreWorkflowUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { GetWorkflowUseCase } from \"../GetWorkflow/index.js\";\nimport { CreateWorkflowUseCase } from \"../CreateWorkflow/index.js\";\nimport { UpdateWorkflowUseCase } from \"../UpdateWorkflow/index.js\";\nimport { StoreWorkflowUseCase as UseCase } from \"./abstractions.js\";\n\nclass StoreWorkflowUseCaseImpl implements UseCase.Interface {\n constructor(\n private getWorkflow: GetWorkflowUseCase.Interface,\n private createWorkflow: CreateWorkflowUseCase.Interface,\n private updateWorkflow: UpdateWorkflowUseCase.Interface\n ) {}\n\n async execute(input: UseCase.Input): UseCase.Return {\n const existingResult = await this.getWorkflow.execute({\n app: input.app,\n id: input.id\n });\n\n // If getWorkflow fails with anything other than NotFound, propagate error\n if (existingResult.isFail()) {\n if (existingResult.error.code !== \"Workflows/Workflow/NotFound\") {\n return Result.fail(existingResult.error);\n }\n }\n\n const existing = existingResult.isOk() ? existingResult.value : null;\n\n if (!existing) {\n return this.createWorkflow.execute(input);\n } else {\n return this.updateWorkflow.execute(input, existing);\n }\n }\n}\n\nexport const StoreWorkflowUseCase = UseCase.createImplementation({\n implementation: StoreWorkflowUseCaseImpl,\n dependencies: [GetWorkflowUseCase, CreateWorkflowUseCase, UpdateWorkflowUseCase]\n});\n"],"names":["StoreWorkflowUseCaseImpl","getWorkflow","createWorkflow","updateWorkflow","input","existingResult","Result","existing","StoreWorkflowUseCase","UseCase","GetWorkflowUseCase","CreateWorkflowUseCase","UpdateWorkflowUseCase"],"mappings":";;;;;AAMA,MAAMA;IACF,YACYC,WAAyC,EACzCC,cAA+C,EAC/CC,cAA+C,CACzD;aAHUF,WAAW,GAAXA;aACAC,cAAc,GAAdA;aACAC,cAAc,GAAdA;IACT;IAEH,MAAM,QAAQC,KAAoB,EAAkB;QAChD,MAAMC,iBAAiB,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YAClD,KAAKD,MAAM,GAAG;YACd,IAAIA,MAAM,EAAE;QAChB;QAGA,IAAIC,eAAe,MAAM,IACrB;YAAA,IAAIA,AAA8B,kCAA9BA,eAAe,KAAK,CAAC,IAAI,EACzB,OAAOC,OAAO,IAAI,CAACD,eAAe,KAAK;QAC3C;QAGJ,MAAME,WAAWF,eAAe,IAAI,KAAKA,eAAe,KAAK,GAAG;QAEhE,IAAI,CAACE,UACD,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAACH;
|
|
1
|
+
{"version":3,"file":"features/workflow/StoreWorkflow/StoreWorkflowUseCase.js","sources":["../../../../src/features/workflow/StoreWorkflow/StoreWorkflowUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { GetWorkflowUseCase } from \"../GetWorkflow/index.js\";\nimport { CreateWorkflowUseCase } from \"../CreateWorkflow/index.js\";\nimport { UpdateWorkflowUseCase } from \"../UpdateWorkflow/index.js\";\nimport { StoreWorkflowUseCase as UseCase } from \"./abstractions.js\";\n\nclass StoreWorkflowUseCaseImpl implements UseCase.Interface {\n constructor(\n private getWorkflow: GetWorkflowUseCase.Interface,\n private createWorkflow: CreateWorkflowUseCase.Interface,\n private updateWorkflow: UpdateWorkflowUseCase.Interface\n ) {}\n\n async execute(input: UseCase.Input): UseCase.Return {\n const existingResult = await this.getWorkflow.execute({\n app: input.app,\n id: input.id\n });\n\n // If getWorkflow fails with anything other than NotFound, propagate error\n if (existingResult.isFail()) {\n if (existingResult.error.code !== \"Workflows/Workflow/NotFound\") {\n return Result.fail(existingResult.error);\n }\n }\n\n const existing = existingResult.isOk() ? existingResult.value : null;\n\n if (!existing) {\n return this.createWorkflow.execute(input);\n } else {\n return this.updateWorkflow.execute(input, existing);\n }\n }\n}\n\nexport const StoreWorkflowUseCase = UseCase.createImplementation({\n implementation: StoreWorkflowUseCaseImpl,\n dependencies: [GetWorkflowUseCase, CreateWorkflowUseCase, UpdateWorkflowUseCase]\n});\n"],"names":["StoreWorkflowUseCaseImpl","getWorkflow","createWorkflow","updateWorkflow","input","existingResult","Result","existing","StoreWorkflowUseCase","UseCase","GetWorkflowUseCase","CreateWorkflowUseCase","UpdateWorkflowUseCase"],"mappings":";;;;;AAMA,MAAMA;IACF,YACYC,WAAyC,EACzCC,cAA+C,EAC/CC,cAA+C,CACzD;aAHUF,WAAW,GAAXA;aACAC,cAAc,GAAdA;aACAC,cAAc,GAAdA;IACT;IAEH,MAAM,QAAQC,KAAoB,EAAkB;QAChD,MAAMC,iBAAiB,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YAClD,KAAKD,MAAM,GAAG;YACd,IAAIA,MAAM,EAAE;QAChB;QAGA,IAAIC,eAAe,MAAM,IACrB;YAAA,IAAIA,AAA8B,kCAA9BA,eAAe,KAAK,CAAC,IAAI,EACzB,OAAOC,OAAO,IAAI,CAACD,eAAe,KAAK;QAC3C;QAGJ,MAAME,WAAWF,eAAe,IAAI,KAAKA,eAAe,KAAK,GAAG;QAEhE,IAAI,CAACE,UACD,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAACH;aAEnC,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAACA,OAAOG;IAElD;AACJ;AAEO,MAAMC,4CAAuBC,qBAAAA,oBAA4B,CAAC;IAC7D,gBAAgBT;IAChB,cAAc;QAACU;QAAoBC;QAAuBC;KAAsB;AACpF"}
|
|
@@ -12,10 +12,10 @@ export declare const listWorkflowStatesValidation: zod.ZodOptional<zod.ZodObject
|
|
|
12
12
|
targetRevisionId_in: zod.ZodOptional<zod.ZodArray<zod.ZodString>>;
|
|
13
13
|
state: zod.ZodOptional<zod.ZodEnum<typeof WorkflowStateRecordState>>;
|
|
14
14
|
state_in: zod.ZodOptional<zod.ZodArray<zod.ZodEnum<typeof WorkflowStateRecordState>>>;
|
|
15
|
-
createdOn_gte: zod.ZodPreprocess<zod.ZodOptional<zod.ZodDate
|
|
16
|
-
createdOn_lte: zod.ZodPreprocess<zod.ZodOptional<zod.ZodDate
|
|
17
|
-
savedOn_gte: zod.ZodPreprocess<zod.ZodOptional<zod.ZodDate
|
|
18
|
-
savedOn_lte: zod.ZodPreprocess<zod.ZodOptional<zod.ZodDate
|
|
15
|
+
createdOn_gte: zod.ZodPreprocess<zod.ZodOptional<zod.ZodDate>, unknown>;
|
|
16
|
+
createdOn_lte: zod.ZodPreprocess<zod.ZodOptional<zod.ZodDate>, unknown>;
|
|
17
|
+
savedOn_gte: zod.ZodPreprocess<zod.ZodOptional<zod.ZodDate>, unknown>;
|
|
18
|
+
savedOn_lte: zod.ZodPreprocess<zod.ZodOptional<zod.ZodDate>, unknown>;
|
|
19
19
|
createdBy: zod.ZodOptional<zod.ZodString>;
|
|
20
20
|
savedBy: zod.ZodOptional<zod.ZodString>;
|
|
21
21
|
isActive: zod.ZodOptional<zod.ZodBoolean>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/api-workflows",
|
|
3
|
-
"version": "6.5.0-beta.
|
|
3
|
+
"version": "6.5.0-beta.10",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./index.js",
|
|
@@ -17,24 +17,24 @@
|
|
|
17
17
|
},
|
|
18
18
|
"license": "MIT",
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@webiny/api": "6.5.0-beta.
|
|
21
|
-
"@webiny/api-core": "6.5.0-beta.
|
|
22
|
-
"@webiny/api-headless-cms": "6.5.0-beta.
|
|
23
|
-
"@webiny/api-mailer": "6.5.0-beta.
|
|
24
|
-
"@webiny/feature": "6.5.0-beta.
|
|
25
|
-
"@webiny/handler": "6.5.0-beta.
|
|
26
|
-
"@webiny/handler-graphql": "6.5.0-beta.
|
|
27
|
-
"@webiny/utils": "6.5.0-beta.
|
|
28
|
-
"zod": "4.
|
|
20
|
+
"@webiny/api": "6.5.0-beta.10",
|
|
21
|
+
"@webiny/api-core": "6.5.0-beta.10",
|
|
22
|
+
"@webiny/api-headless-cms": "6.5.0-beta.10",
|
|
23
|
+
"@webiny/api-mailer": "6.5.0-beta.10",
|
|
24
|
+
"@webiny/feature": "6.5.0-beta.10",
|
|
25
|
+
"@webiny/handler": "6.5.0-beta.10",
|
|
26
|
+
"@webiny/handler-graphql": "6.5.0-beta.10",
|
|
27
|
+
"@webiny/utils": "6.5.0-beta.10",
|
|
28
|
+
"zod": "4.6.5"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
|
-
"@webiny/build-tools": "6.5.0-beta.
|
|
32
|
-
"@webiny/plugins": "6.5.0-beta.
|
|
33
|
-
"@webiny/project-utils": "6.5.0-beta.
|
|
34
|
-
"@webiny/testing": "6.5.0-beta.
|
|
35
|
-
"type-fest": "5.
|
|
31
|
+
"@webiny/build-tools": "6.5.0-beta.10",
|
|
32
|
+
"@webiny/plugins": "6.5.0-beta.10",
|
|
33
|
+
"@webiny/project-utils": "6.5.0-beta.10",
|
|
34
|
+
"@webiny/testing": "6.5.0-beta.10",
|
|
35
|
+
"type-fest": "5.10.0",
|
|
36
36
|
"typescript": "7.0.2",
|
|
37
|
-
"vitest": "
|
|
37
|
+
"vitest": "5.0.3"
|
|
38
38
|
},
|
|
39
39
|
"publishConfig": {
|
|
40
40
|
"access": "public"
|