diff --git a/packages/backend/src/models/flow.js b/packages/backend/src/models/flow.js index 01dc98a9..c395d515 100644 --- a/packages/backend/src/models/flow.js +++ b/packages/backend/src/models/flow.js @@ -166,14 +166,14 @@ class Flow extends Base { return await this.$relatedQuery('steps').where('position', '>', position); } - async alignStepsPositionsAsOfPosition(steps, startPosition) { - const nextStepQueries = steps.map(async (nextStep, index) => { - return await nextStep.$query().patch({ + async updateStepPositionsFrom(startPosition, steps) { + const stepPositionUpdates = steps.map(async (step, index) => { + return await step.$query().patch({ position: startPosition + index, }); }); - return await Promise.all(nextStepQueries); + return await Promise.all(stepPositionUpdates); } async createActionStepAfterStepId(previousStepId) { @@ -185,10 +185,7 @@ class Flow extends Base { previousStep.position + 1 ); - await this.alignStepsPositionsAsOfPosition( - nextSteps, - createdStep.position + 1 - ); + await this.updateStepPositionsFrom(createdStep.position + 1, nextSteps); return createdStep; } diff --git a/packages/backend/src/models/flow.test.js b/packages/backend/src/models/flow.test.js index ed15e82a..7924536a 100644 --- a/packages/backend/src/models/flow.test.js +++ b/packages/backend/src/models/flow.test.js @@ -232,17 +232,14 @@ describe('Flow model', () => { ]); }); - it('alignStepsPositionsAsOfPosition', async () => { + it('updateStepPositionsFrom', async () => { const flow = await createFlow(); await createStep({ type: 'trigger', flowId: flow.id, position: 6 }); await createStep({ type: 'action', flowId: flow.id, position: 8 }); await createStep({ type: 'action', flowId: flow.id, position: 10 }); - await flow.alignStepsPositionsAsOfPosition( - await flow.$relatedQuery('steps'), - 1 - ); + await flow.updateStepPositionsFrom(1, await flow.$relatedQuery('steps')); expect(await flow.$relatedQuery('steps')).toMatchObject([ { position: 1, type: 'trigger' },