import { useQuery } from "@tanstack/react-query";
import { refreshToken } from "@/utils/apiFunctions/refreshApiFunction";
import { useAuthStore } from "@/store/AuthStore";

export const useBootstrapAuth = () => {
    const setAccessToken = useAuthStore((state) => state.setAccessToken);
    const setCsrfToken = useAuthStore((state) => state.setCsrfToken);

    const { isLoading } = useQuery({
        queryKey: ["bootstrapAuth"],
        queryFn: async () => {
            const data = await refreshToken();

            if (data?.access_token) {
                setAccessToken(data.access_token);
                setCsrfToken(data.csrf_token ?? null);
            } else {
                setAccessToken(null);
                setCsrfToken(null);
            }
            return data;
        },
        staleTime: 0,
        refetchOnWindowFocus: false,
        retry: false,
    });

    return { loading: isLoading };
};
