Remove filters following deleted trigger/steps (#13697)
https://github.com/user-attachments/assets/e6ec591a-2064-4dfe-9048-2f234bef5c79
This commit is contained in:
@@ -1,15 +1,9 @@
|
||||
import { useCommandMenu } from '@/command-menu/hooks/useCommandMenu';
|
||||
import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular';
|
||||
import { useUpdateOneRecord } from '@/object-record/hooks/useUpdateOneRecord';
|
||||
import { useDeleteWorkflowVersionStep } from '@/workflow/hooks/useDeleteWorkflowVersionStep';
|
||||
import { useGetUpdatableWorkflowVersion } from '@/workflow/hooks/useGetUpdatableWorkflowVersion';
|
||||
import { useStepsOutputSchema } from '@/workflow/hooks/useStepsOutputSchema';
|
||||
import {
|
||||
WorkflowVersion,
|
||||
WorkflowWithCurrentVersion,
|
||||
} from '@/workflow/types/Workflow';
|
||||
import { WorkflowWithCurrentVersion } from '@/workflow/types/Workflow';
|
||||
import { assertWorkflowWithCurrentVersionIsDefined } from '@/workflow/utils/assertWorkflowWithCurrentVersionIsDefined';
|
||||
import { TRIGGER_STEP_ID } from '@/workflow/workflow-trigger/constants/TriggerStepId';
|
||||
import { isDefined } from 'twenty-shared/utils';
|
||||
|
||||
export const useDeleteStep = ({
|
||||
@@ -18,11 +12,7 @@ export const useDeleteStep = ({
|
||||
workflow: WorkflowWithCurrentVersion | undefined;
|
||||
}) => {
|
||||
const { deleteWorkflowVersionStep } = useDeleteWorkflowVersionStep();
|
||||
const { updateOneRecord: updateOneWorkflowVersion } =
|
||||
useUpdateOneRecord<WorkflowVersion>({
|
||||
objectNameSingular: CoreObjectNameSingular.WorkflowVersion,
|
||||
});
|
||||
const { deleteStepOutputSchema } = useStepsOutputSchema();
|
||||
const { deleteStepsOutputSchema } = useStepsOutputSchema();
|
||||
|
||||
const { getUpdatableWorkflowVersion } = useGetUpdatableWorkflowVersion();
|
||||
const { closeCommandMenu } = useCommandMenu();
|
||||
@@ -36,24 +26,15 @@ export const useDeleteStep = ({
|
||||
throw new Error('Could not find workflow version');
|
||||
}
|
||||
|
||||
if (stepId === TRIGGER_STEP_ID) {
|
||||
await updateOneWorkflowVersion({
|
||||
idToUpdate: workflowVersionId,
|
||||
updateOneRecordInput: {
|
||||
trigger: null,
|
||||
},
|
||||
});
|
||||
} else {
|
||||
await deleteWorkflowVersionStep({
|
||||
workflowVersionId,
|
||||
stepId,
|
||||
});
|
||||
}
|
||||
const workflowVersionStepChanges = await deleteWorkflowVersionStep({
|
||||
workflowVersionId,
|
||||
stepId,
|
||||
});
|
||||
|
||||
closeCommandMenu();
|
||||
|
||||
deleteStepOutputSchema({
|
||||
stepId,
|
||||
deleteStepsOutputSchema({
|
||||
stepIds: workflowVersionStepChanges?.deletedStepIds ?? [],
|
||||
workflowVersionId,
|
||||
});
|
||||
};
|
||||
|
||||
+18
-8
@@ -1,16 +1,16 @@
|
||||
import { useApolloCoreClient } from '@/object-metadata/hooks/useApolloCoreClient';
|
||||
import { useObjectMetadataItems } from '@/object-metadata/hooks/useObjectMetadataItems';
|
||||
import { useObjectPermissions } from '@/object-record/hooks/useObjectPermissions';
|
||||
import { useObjectMetadataItem } from '@/object-metadata/hooks/useObjectMetadataItem';
|
||||
import { useObjectMetadataItems } from '@/object-metadata/hooks/useObjectMetadataItems';
|
||||
import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular';
|
||||
import { useGetRecordFromCache } from '@/object-record/cache/hooks/useGetRecordFromCache';
|
||||
import { isDefined } from 'twenty-shared/utils';
|
||||
import { updateRecordFromCache } from '@/object-record/cache/utils/updateRecordFromCache';
|
||||
import { useObjectPermissions } from '@/object-record/hooks/useObjectPermissions';
|
||||
import { WorkflowVersion } from '@/workflow/types/Workflow';
|
||||
import { isDefined } from 'twenty-shared/utils';
|
||||
import {
|
||||
WorkflowAction,
|
||||
WorkflowVersionStepChanges,
|
||||
} from '~/generated/graphql';
|
||||
import { updateRecordFromCache } from '@/object-record/cache/utils/updateRecordFromCache';
|
||||
|
||||
export const useUpdateWorkflowVersionCache = () => {
|
||||
const apolloCoreClient = useApolloCoreClient();
|
||||
@@ -44,8 +44,12 @@ export const useUpdateWorkflowVersionCache = () => {
|
||||
return;
|
||||
}
|
||||
|
||||
const { triggerNextStepIds, stepsNextStepIds, createdStep, deletedStepId } =
|
||||
workflowVersionStepChanges;
|
||||
const {
|
||||
triggerNextStepIds,
|
||||
stepsNextStepIds,
|
||||
createdStep,
|
||||
deletedStepIds,
|
||||
} = workflowVersionStepChanges;
|
||||
|
||||
const newCachedRecord = {
|
||||
...cachedRecord,
|
||||
@@ -70,10 +74,16 @@ export const useUpdateWorkflowVersionCache = () => {
|
||||
newCachedRecord.steps.push(formattedCreatedStep);
|
||||
}
|
||||
|
||||
if (isDefined(deletedStepId)) {
|
||||
if (isDefined(deletedStepIds) && deletedStepIds.length > 0) {
|
||||
newCachedRecord.steps = newCachedRecord.steps.filter(
|
||||
(step) => step.id !== deletedStepId,
|
||||
(step: WorkflowAction) => !deletedStepIds.includes(step.id),
|
||||
);
|
||||
|
||||
const hasDeletedTrigger: boolean = deletedStepIds.includes('trigger');
|
||||
|
||||
if (hasDeletedTrigger) {
|
||||
newCachedRecord.trigger = null;
|
||||
}
|
||||
}
|
||||
|
||||
const recordGqlFields = {
|
||||
|
||||
Reference in New Issue
Block a user