Files
automatisch/packages/web/src/hooks/useUpdateFlowStatus.js
2024-09-19 14:03:45 +03:00

40 lines
993 B
JavaScript

import { useMutation, useQueryClient } from '@tanstack/react-query';
import api from 'helpers/api';
import useEnqueueSnackbar from 'hooks/useEnqueueSnackbar';
export default function useUpdateFlowStatus(flowId) {
const queryClient = useQueryClient();
const enqueueSnackbar = useEnqueueSnackbar();
const query = useMutation({
mutationFn: async (active) => {
const { data } = await api.patch(`/v1/flows/${flowId}/status`, {
active,
});
return data;
},
onSuccess: () => {
queryClient.invalidateQueries({
queryKey: ['flows', flowId],
});
},
onError: (error) => {
const errors = Object.values(
error.response.data.errors || [['Failed while updating flow status!']],
);
for (const [error] of errors) {
enqueueSnackbar(error, {
variant: 'error',
SnackbarProps: {
'data-test': 'snackbar-error',
},
});
}
}
});
return query;
}