import { useQuery } from "@tanstack/react-query"; import React from "react"; import InvariantService from "#/api/invariant-service"; type ResponseData = string; interface UseGetPolicyConfig { onSuccess: (data: ResponseData) => void; } export const useGetPolicy = (config?: UseGetPolicyConfig) => { const data = useQuery({ queryKey: ["policy"], queryFn: InvariantService.getPolicy, }); const { isFetching, isSuccess, data: policy } = data; React.useEffect(() => { if (!isFetching && isSuccess && policy) { config?.onSuccess(policy); } }, [isFetching, isSuccess, policy, config?.onSuccess]); return data; };