feat: implement revoke access token with RQ

This commit is contained in:
Rıdvan Akca
2024-04-25 14:17:18 +02:00
committed by Ali BARIN
parent 68d1719b11
commit 363874de6a
2 changed files with 23 additions and 0 deletions

View File

@@ -4,22 +4,30 @@ import PropTypes from 'prop-types';
import MenuItem from '@mui/material/MenuItem';
import Menu from '@mui/material/Menu';
import { Link } from 'react-router-dom';
import Can from 'components/Can';
import apolloClient from 'graphql/client';
import * as URLS from 'config/urls';
import useAuthentication from 'hooks/useAuthentication';
import useFormatMessage from 'hooks/useFormatMessage';
import useRevokeAccessToken from 'hooks/useRevokeAccessToken';
function AccountDropdownMenu(props) {
const formatMessage = useFormatMessage();
const authentication = useAuthentication();
const token = authentication.token;
const navigate = useNavigate();
const revokeAccessTokenMutation = useRevokeAccessToken(token);
const { open, onClose, anchorEl, id } = props;
const logout = async () => {
revokeAccessTokenMutation.mutate();
authentication.removeToken();
await apolloClient.clearStore();
onClose();
navigate(URLS.LOGIN);
};
return (
<Menu
anchorEl={anchorEl}

View File

@@ -0,0 +1,15 @@
import { useMutation } from '@tanstack/react-query';
import api from 'helpers/api';
export default function useRevokeAccessToken(token) {
const query = useMutation({
mutationFn: async () => {
const { data } = await api.delete(`/v1/access-tokens/${token}`);
return data;
},
});
return query;
}