import { WorkflowStep, WorkflowWithCurrentVersion, } from '@/workflow/types/Workflow'; import { isDefined } from 'twenty-ui'; import { useGetUpdatableWorkflowVersion } from '@/workflow/hooks/useGetUpdatableWorkflowVersion'; import { useUpdateWorkflowVersionStep } from '@/workflow/hooks/useUpdateWorkflowVersionStep'; export const useUpdateStep = ({ workflow, }: { workflow: WorkflowWithCurrentVersion; }) => { const { getUpdatableWorkflowVersion } = useGetUpdatableWorkflowVersion(); const { updateWorkflowVersionStep } = useUpdateWorkflowVersionStep(); const updateStep = async (updatedStep: T) => { if (!isDefined(workflow.currentVersion)) { throw new Error('Can not update an undefined workflow version.'); } const workflowVersion = await getUpdatableWorkflowVersion(workflow); await updateWorkflowVersionStep({ workflowVersionId: workflowVersion.id, step: updatedStep, }); }; return { updateStep, }; };