feat: delete pipeline stage (#1412)

* feat: delete pipeline stage

Closes #1396

* refactor: code review

- Use string literal instead of enum

* docs: disable CircularProgressBar Chromatic snapshots
This commit is contained in:
Thaïs
2023-09-04 16:39:01 +02:00
committed by GitHub
parent 1a71f61d24
commit 96a0f30e98
11 changed files with 205 additions and 45 deletions

View File

@ -2,7 +2,10 @@ import { getOperationName } from '@apollo/client/utilities';
import { useRecoilValue } from 'recoil';
import type { BoardColumnDefinition } from '@/ui/board/types/BoardColumnDefinition';
import { useCreatePipelineStageMutation } from '~/generated/graphql';
import {
useCreatePipelineStageMutation,
useDeletePipelineStageMutation,
} from '~/generated/graphql';
import { GET_PIPELINES } from '../graphql/queries/getPipelines';
import { currentPipelineState } from '../states/currentPipelineState';
@ -11,6 +14,7 @@ export const usePipelineStages = () => {
const currentPipeline = useRecoilValue(currentPipelineState);
const [createPipelineStageMutation] = useCreatePipelineStageMutation();
const [deletePipelineStageMutation] = useDeletePipelineStageMutation();
const handlePipelineStageAdd = async (boardColumn: BoardColumnDefinition) => {
if (!currentPipeline?.id) return;
@ -30,5 +34,14 @@ export const usePipelineStages = () => {
});
};
return { handlePipelineStageAdd };
const handlePipelineStageDelete = async (boardColumnId: string) => {
if (!currentPipeline?.id) return;
return deletePipelineStageMutation({
variables: { where: { id: boardColumnId } },
refetchQueries: [getOperationName(GET_PIPELINES) ?? ''],
});
};
return { handlePipelineStageAdd, handlePipelineStageDelete };
};