|
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<ResponseData>({
|
|
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;
|
|
};
|
|
|