|
import { useQuery } from "@tanstack/react-query";
|
|
import React from "react";
|
|
import InvariantService from "#/api/invariant-service";
|
|
|
|
type ResponseData = object;
|
|
|
|
interface UseGetTracesConfig {
|
|
onSuccess: (data: ResponseData) => void;
|
|
}
|
|
|
|
export const useGetTraces = (config?: UseGetTracesConfig) => {
|
|
const data = useQuery({
|
|
queryKey: ["traces"],
|
|
queryFn: InvariantService.getTraces,
|
|
enabled: false,
|
|
});
|
|
|
|
const { isFetching, isSuccess, data: traces } = data;
|
|
|
|
React.useEffect(() => {
|
|
if (!isFetching && isSuccess && traces) {
|
|
config?.onSuccess(traces);
|
|
}
|
|
}, [isFetching, isSuccess, traces, config?.onSuccess]);
|
|
|
|
return data;
|
|
};
|
|
|