All files / src/hooks/use-auth/use-auth-logout index.ts

96.55% Statements 28/29
66.66% Branches 2/3
100% Functions 2/2
96.55% Lines 28/29

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 301x 1x 1x 1x 1x 1x 1x 1x 1x 10x 10x 10x 10x 10x 2x 2x 2x   2x 2x 2x 2x 2x 2x 2x 2x 10x 10x 10x  
'use client';
 
import { useQueryClient } from '@tanstack/react-query';
 
import { API } from '@/api';
import { userKeys } from '@/lib/query-key/query-key-user';
import { useAuth } from '@/providers';
 
export const useLogout = () => {
  const queryClient = useQueryClient();
 
  const { setIsAuthenticated } = useAuth();
 
  const handleLogout = async () => {
    try {
      await API.authService.logout();
    } catch (error) {
      console.error('[LOGOUT ERROR]', error);
    } finally {
      // 로그인 유저 관련 캐시 정리
      queryClient.removeQueries({ queryKey: userKeys.all });
 
      setIsAuthenticated(false);
      window.location.replace('/');
    }
  };
 
  return handleLogout;
};