The communications platform that puts data protection first.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Rocket.Chat/apps/meteor/client/views/admin/integrations/hooks/useDeleteIntegration.ts

26 lines
910 B

import { useEndpoint, useRouter, useSetModal, useToastMessageDispatch } from '@rocket.chat/ui-contexts';
import { useMutation } from '@tanstack/react-query';
import { useTranslation } from 'react-i18next';
export const useDeleteIntegration = (integrationType: 'webhook-incoming' | 'webhook-outgoing') => {
const { t } = useTranslation();
const router = useRouter();
const setModal = useSetModal();
const createIntegration = useEndpoint('POST', '/v1/integrations.remove');
const dispatchToastMessage = useToastMessageDispatch();
return useMutation({
mutationFn: createIntegration,
onSuccess: () => {
dispatchToastMessage({ type: 'success', message: t('Your_entry_has_been_deleted') });
router.navigate(`/admin/integrations/${integrationType}`);
},
onError: (error) => {
dispatchToastMessage({ type: 'error', message: error });
},
onSettled: () => {
setModal(null);
},
});
};