All files / src/components/Analytics/SidePanels/CampaignSidePanel/hooks useGetSettledPayments.tsx

0% Statements 0/10
0% Branches 0/4
0% Functions 0/3
0% Lines 0/10

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 { GENERAL_STALE_TIME_15 } from "@features/Merchants/MerchantSidePanel/constants";
import { useGetCurrentMerchantId } from "@hooks/common";
import { getTransactionChart } from "@services/api/analytics/transactions";
import moment from "moment";
import { useQuery } from "react-query";
 
export const useGetSettledPayments = (isModalVisible: boolean) => {
  const { merchantId } = useGetCurrentMerchantId();
 
  const { data, isLoading } = useQuery(
    ["get-settled-payments", merchantId],
    async () => {
      const currentPostedChart = await getTransactionChart({
        filter: getSettledPaymentsFilter(new Date().getFullYear()),
        interval: "month",
      });
 
      const previousPostedChart = await getTransactionChart({
        filter: getSettledPaymentsFilter(prevYear),
        interval: "month",
      });
 
      return {
        currentPostedChart: currentPostedChart?.data || [],
        previousPostedChart: previousPostedChart?.data || [],
      };
    },
    {
      refetchOnWindowFocus: false,
      enabled: !!isModalVisible,
      staleTime: GENERAL_STALE_TIME_15,
    },
  );
 
  return { data, isLoading };
};
 
export const prevYear = moment(new Date()).subtract(1, "years").year();
 
const getSettledPaymentsFilter = (year: number) => {
  return `start_date=${year}-01-01&end_date=${year + 1}-01-01`;
};