import { FormikHelpers } from "formik"; import React, { useCallback, useContext } from "react"; import { useMutation, useQuery, useQueryClient, QueryClient, UseQueryOptions, } from "react-query"; import { EmailProviderActions } from "./email-provider-actions"; import * as workspaces from "./index"; import { execApiFn, RemoteRequestOption, IDeleteResponse, core, IResponse, ExecApi, mutationErrorsToFormik, IResponseList, } from "../../core/http-tools"; import { RemoteQueryContext } from "../../core/react-tools"; export function useGetEmailProviderByUniqueId({ queryOptions, execFnOverride, query, queryClient, unauthorized, }: { query?: any; queryClient?: QueryClient; unauthorized?: boolean; execFnOverride?: any; queryOptions?: UseQueryOptions; }) { const { options, execFn } = useContext(RemoteQueryContext); const fnx = execFnOverride ? EmailProviderActions.fnExec(execFnOverride(options)) : execFn ? EmailProviderActions.fnExec(execFn(options)) : EmailProviderActions.fn(options); const Q = () => fnx.withPreloads(query?.withPreloads).query(query.query); const fn = () => Q().getEmailProviderByUniqueId(query.uniqueId); const auth = options?.headers?.authorization; const hasKey = auth != "undefined" && auth != undefined && auth != null && auth != "null" && !!auth; const query$ = useQuery([options, query], fn, { cacheTime: 1001, retry: false, keepPreviousData: true, enabled: (hasKey || unauthorized) && !!query.uniqueId, ...(queryOptions || {}), }); return { query: query$ }; }