import { FormikHelpers } from "formik"; import React, { useCallback, useContext } from "react"; import { useMutation, useQuery, useQueryClient, QueryClient, UseQueryOptions, } from "react-query"; import { PaymentRequestActions } from "./payment-request-actions"; import * as wallet from "./index"; import { execApiFn, RemoteRequestOption, IDeleteResponse, core, IResponse, ExecApi, mutationErrorsToFormik, IResponseList, } from "../../core/http-tools"; import { RemoteQueryContext } from "../../core/react-tools"; export function useGetPaymentRequests({ queryOptions, query, queryClient, execFnOverride, unauthorized, }: { query?: any; queryClient: QueryClient; execFnOverride?: any; queryOptions?: UseQueryOptions; unauthorized?: boolean; }) { const { options, execFn } = useContext(RemoteQueryContext); const fnx = execFnOverride ? PaymentRequestActions.fnExec(execFnOverride(options)) : execFn ? PaymentRequestActions.fnExec(execFn(options)) : PaymentRequestActions.fn(options); const Q = () => fnx .startIndex(query?.startIndex) .deep(query?.deep) .withPreloads(query?.withPreloads) .itemsPerPage(query?.itemsPerPage) .query(query?.query); const fn = () => Q().getPaymentRequests(); const auth = options?.headers?.authorization; const hasKey = auth != "undefined" && auth != undefined && auth != null && auth != "null" && !!auth; const query$ = useQuery( ["*wallet.PaymentRequestEntity", options, query], fn, { cacheTime: 1000, retry: false, keepPreviousData: true, enabled: hasKey || unauthorized, ...(queryOptions || {}), } as any ); // const items: wallet.PaymentRequestEntity[] = query$.data?.data?.items; const items = []; return { query: query$, items }; }