Split workspace service (#13642)

Splits workflow-version-step workspace-service into multiple once
This commit is contained in:
martmull
2025-08-05 16:10:11 +02:00
committed by GitHub
parent d62a1e0b5a
commit 44f5600300
19 changed files with 643 additions and 471 deletions
@@ -0,0 +1,24 @@
import { computeWorkflowVersionStepChanges } from 'src/modules/workflow/workflow-builder/utils/compute-workflow-version-step-updates.util';
import { WorkflowTrigger } from 'src/modules/workflow/workflow-trigger/types/workflow-trigger.type';
import { WorkflowAction } from 'src/modules/workflow/workflow-executor/workflow-actions/types/workflow-action.type';
describe('computeWorkflowVersionStepChanges', () => {
it('should compute next step ids', () => {
const input = {
trigger: { nextStepIds: ['1', '2'] } as WorkflowTrigger,
steps: [
{ id: '1', nextStepIds: ['3'] },
{ id: '2', nextStepIds: ['3'] },
] as WorkflowAction[],
deletedStepId: '5',
};
const expectedResult = {
triggerNextStepIds: ['1', '2'],
stepsNextStepIds: { '1': ['3'], '2': ['3'] },
deletedStepId: '5',
};
expect(computeWorkflowVersionStepChanges(input)).toEqual(expectedResult);
});
});
@@ -0,0 +1,24 @@
import { WorkflowVersionStepChangesDTO } from 'src/engine/core-modules/workflow/dtos/workflow-version-step-changes.dto';
import { WorkflowTrigger } from 'src/modules/workflow/workflow-trigger/types/workflow-trigger.type';
import { WorkflowAction } from 'src/modules/workflow/workflow-executor/workflow-actions/types/workflow-action.type';
export const computeWorkflowVersionStepChanges = ({
trigger,
steps,
createdStep,
deletedStepId,
}: {
trigger: WorkflowTrigger | null;
steps: WorkflowAction[] | null;
createdStep?: WorkflowAction;
deletedStepId?: string;
}): WorkflowVersionStepChangesDTO => {
return {
triggerNextStepIds: trigger?.nextStepIds,
stepsNextStepIds: Object.fromEntries(
(steps || []).map((step) => [step.id, step.nextStepIds]),
),
createdStep,
deletedStepId,
};
};