diff --git a/packages/twenty-server/src/modules/workflow/workflow-builder/workflow-version-step/utils/get-next-step-ids-for-step-type-change.util.ts b/packages/twenty-server/src/modules/workflow/workflow-builder/workflow-version-step/utils/get-next-step-ids-for-step-type-change.util.ts new file mode 100644 index 0000000000..fe484f3a63 --- /dev/null +++ b/packages/twenty-server/src/modules/workflow/workflow-builder/workflow-version-step/utils/get-next-step-ids-for-step-type-change.util.ts @@ -0,0 +1,16 @@ +import { isWorkflowIfElseAction } from 'src/modules/workflow/workflow-executor/workflow-actions/if-else/guards/is-workflow-if-else-action.guard'; +import { type WorkflowAction } from 'src/modules/workflow/workflow-executor/workflow-actions/types/workflow-action.type'; + +export const getNextStepIdsForStepTypeChange = ({ + existingStep, + builtStep, +}: { + existingStep: WorkflowAction; + builtStep: WorkflowAction; +}): string[] | undefined => { + if (isWorkflowIfElseAction(builtStep)) { + return []; + } + + return existingStep.nextStepIds; +}; diff --git a/packages/twenty-server/src/modules/workflow/workflow-builder/workflow-version-step/workflow-version-step-update.workspace-service.ts b/packages/twenty-server/src/modules/workflow/workflow-builder/workflow-version-step/workflow-version-step-update.workspace-service.ts index 12dee29501..7fcfb8d44c 100644 --- a/packages/twenty-server/src/modules/workflow/workflow-builder/workflow-version-step/workflow-version-step-update.workspace-service.ts +++ b/packages/twenty-server/src/modules/workflow/workflow-builder/workflow-version-step/workflow-version-step-update.workspace-service.ts @@ -8,6 +8,7 @@ import { WorkflowVersionStepExceptionCode, } from 'src/modules/workflow/common/exceptions/workflow-version-step.exception'; import { WorkflowSchemaWorkspaceService } from 'src/modules/workflow/workflow-builder/workflow-schema/workflow-schema.workspace-service'; +import { getNextStepIdsForStepTypeChange } from 'src/modules/workflow/workflow-builder/workflow-version-step/utils/get-next-step-ids-for-step-type-change.util'; import { WorkflowVersionStepHelpersWorkspaceService } from 'src/modules/workflow/workflow-builder/workflow-version-step/workflow-version-step-helpers.workspace-service'; import { WorkflowVersionStepOperationsWorkspaceService } from 'src/modules/workflow/workflow-builder/workflow-version-step/workflow-version-step-operations.workspace-service'; import { type WorkflowAction } from 'src/modules/workflow/workflow-executor/workflow-actions/types/workflow-action.type'; @@ -133,7 +134,10 @@ export class WorkflowVersionStepUpdateWorkspaceService { step: { ...builtStep, id: existingStep.id, - nextStepIds: existingStep.nextStepIds, + nextStepIds: getNextStepIdsForStepTypeChange({ + existingStep, + builtStep, + }), position: existingStep.position, }, workspaceId,