From 47aabbe9c554e1989a939541ef8f24def71a6dec Mon Sep 17 00:00:00 2001 From: Ali BARIN Date: Thu, 8 Aug 2024 08:47:08 +0000 Subject: [PATCH] fix(update-flow-status): throw at incomplete trigger step --- .../src/graphql/mutations/update-flow-status.js | 5 +++++ packages/backend/src/models/flow.js | 12 ++++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/packages/backend/src/graphql/mutations/update-flow-status.js b/packages/backend/src/graphql/mutations/update-flow-status.js index 169996f2..0df919ad 100644 --- a/packages/backend/src/graphql/mutations/update-flow-status.js +++ b/packages/backend/src/graphql/mutations/update-flow-status.js @@ -30,6 +30,11 @@ const updateFlowStatus = async (_parent, params, context) => { } const triggerStep = await flow.getTriggerStep(); + + if (triggerStep.status === 'incomplete') { + throw flow.IncompleteStepsError; + } + const trigger = await triggerStep.getTriggerCommand(); const interval = trigger.getInterval?.(triggerStep.parameters); const repeatOptions = { diff --git a/packages/backend/src/models/flow.js b/packages/backend/src/models/flow.js index e058de71..30b0310e 100644 --- a/packages/backend/src/models/flow.js +++ b/packages/backend/src/models/flow.js @@ -112,6 +112,13 @@ class Flow extends Base { return lastExecutions.map((execution) => execution.internalId); } + get IncompleteStepsError() { + return new ValidationError({ + message: 'All steps should be completed before updating flow status!', + type: 'incompleteStepsError', + }); + } + async $beforeUpdate(opt, queryContext) { await super.$beforeUpdate(opt, queryContext); @@ -124,10 +131,7 @@ class Flow extends Base { }); if (incompleteStep) { - throw new ValidationError({ - message: 'All steps should be completed before updating flow status!', - type: 'incompleteStepsError', - }); + throw this.IncompleteStepsError; } const allSteps = await oldFlow.$relatedQuery('steps');