All files / apps/host/src/screens/RequestDetail/hooks useRequestData.ts

100% Statements 9/9
100% Branches 0/0
100% Functions 2/2
100% Lines 9/9

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 30 31 32 33                            2x 2x 2x   2x 1x 1x 1x     2x           2x    
import { useCallback } from 'react';
 
import { useQueryClient } from '@tanstack/react-query';
 
import { useRefreshNotifications } from '@/hooks/notifications/useRefreshNotifications';
import { useGetRequest } from '@/hooks/useRequest';
 
import { QUERY_KEYS } from '@/constants/apis';
 
interface UseRequestDataProps {
  id: string;
  refreshTimeStamp?: number;
}
 
export const useRequestData = ({ id, refreshTimeStamp }: UseRequestDataProps) => {
  const queryClient = useQueryClient();
  const { data: request, isLoading, isRefetching, refetch } = useGetRequest(id);
 
  const handleNotificationRefresh = useCallback(() => {
    queryClient.invalidateQueries({ queryKey: [QUERY_KEYS.LIST_REQUESTS] });
    queryClient.invalidateQueries({ queryKey: [QUERY_KEYS.MY_REQUESTS] });
    refetch();
  }, [queryClient, refetch]);
 
  useRefreshNotifications({
    onRefresh: handleNotificationRefresh,
    filterTicketId: id,
    refreshTimeStamp,
  });
 
  return { request, isLoading, isRefetching, refetch };
};