All files / src/hooks/acquirer-api/enteprises useCheckEnterprises.tsx

0% Statements 0/11
0% Branches 0/4
0% Functions 0/4
0% Lines 0/11

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 34 35 36 37 38 39 40 41 42 43                                                                                     
import { customInstance } from "@services/api";
import { checkPortals } from "@utils/routing";
import { useQuery, useQueryClient } from "react-query";
 
const Q_KEY = "check-list-enterprises"
export const useCheckEnterprises = () => {
  const { isAcquirerPortal } = checkPortals();
  const queryClient = useQueryClient();
 
  const getEnterprises = () => {
    return customInstance({
      url: `/enterprises?&max=1`,
      method: "GET",
    });
  };
 
  const { data, isLoading, ...rest } = useQuery(
    [Q_KEY],
    async () => {
      const providers = await getEnterprises();
      return providers;
    },
    {
      refetchOnWindowFocus: false,
      enabled: isAcquirerPortal && !queryClient.getQueryData([Q_KEY]),
      refetchOnMount: false,
      // @MohamedAliBousba said - "This is called to check to disable create merchant if a acquirer does not have enterprises"
      // ----
      // so it can be cached as long as the page is mounted
      staleTime: Infinity,
      initialData: () => {
        return queryClient.getQueryData([Q_KEY])
      },
    },
  );
 
  return {
    total: data?.total || 0,
    isLoading,
    ...rest,
  };
};