function useAuth() {
return useQuery(
['user'],
async () => {
let expiresAt = localStorage.getItem('expires_at') || 0;
let refreshToken = localStorage.getItem('refresh_token');
if (new Date().getTime() > expiresAt) {
const res = await axios.post(
`${url}/api/auth/refresh`,
{
refreshToken: refreshToken,
},
{
withCredentials: true,
}
);
localStorage.setItem('refresh_token', res.data.refreshJwt);
localStorage.setItem('expires_at', res.data.expiresAt);
}
const { data } = await axios.get(`${url}/api/auth/current`, {
withCredentials: true,
});
return data.user.role;
},
{
refetchOnReconnect: false,
refetchOnWindowFocus: false,
retry: 0,
}
);
}
function useAuth() {
return useQuery(
['user'],
async () => {
let expiresAt = localStorage.getItem('expires_at') || 0;
let refreshToken = localStorage.getItem('refresh_token');
if (new Date().getTime() > expiresAt) {
const res = await axios.post(
`${url}/api/auth/refresh`,
{
refreshToken: refreshToken,
},
{
withCredentials: true,
}
);
localStorage.setItem('refresh_token', res.data.refreshJwt);
localStorage.setItem('expires_at', res.data.expiresAt);
}
const { data } = await axios.get(`${url}/api/auth/current`, {
withCredentials: true,
});
return data.user.role;
},
{
refetchOnReconnect: false,
refetchOnWindowFocus: false,
retry: 0,
}
);
}