feat: invalidate queries on user related actions

This commit is contained in:
kasia.oczkowska
2024-03-20 15:00:54 +00:00
parent 55c9b5566c
commit d8d7d86359
3 changed files with 14 additions and 1 deletions

View File

@@ -2,6 +2,8 @@ import PropTypes from 'prop-types';
import { useMutation } from '@apollo/client';
import DeleteIcon from '@mui/icons-material/Delete';
import IconButton from '@mui/material/IconButton';
import { useQueryClient } from '@tanstack/react-query';
import useEnqueueSnackbar from 'hooks/useEnqueueSnackbar';
import * as React from 'react';
import ConfirmationDialog from 'components/ConfirmationDialog';
@@ -17,9 +19,13 @@ function DeleteUserButton(props) {
});
const formatMessage = useFormatMessage();
const enqueueSnackbar = useEnqueueSnackbar();
const queryClient = useQueryClient();
const handleConfirm = React.useCallback(async () => {
try {
await deleteUser();
queryClient.invalidateQueries({ queryKey: ['admin', 'users'] });
queryClient.invalidateQueries({ queryKey: ['admin', 'user', userId] });
setShowConfirmation(false);
enqueueSnackbar(formatMessage('deleteUserButton.successfullyDeleted'), {
variant: 'success',
@@ -31,6 +37,7 @@ function DeleteUserButton(props) {
throw new Error('Failed while deleting!');
}
}, [deleteUser]);
return (
<>
<IconButton