import { QueryKey, useQuery, UseQueryOptions, UseQueryResult, } from "@tanstack/react-query" import { QUERY_KEYS } from "./constants" import { useAuthApiClient } from "./useAuthApiClient" import type { GetDocumentVersionsResponse } from "../api" type UseGetCurrentDocumentVersionsOptions = Omit< UseQueryOptions, "queryKey" | "queryFn" > /** * Hook to fetch the current document versions * Returns the latest versions of terms of use and privacy policy */ export function useGetCurrentDocumentVersions< TSelected = GetDocumentVersionsResponse, >( options: UseGetCurrentDocumentVersionsOptions = {}, ): UseQueryResult & { queryKey: QueryKey } { const authApiClient = useAuthApiClient() const queryKey = [QUERY_KEYS.DOCUMENTS] const query = useQuery({ queryKey, queryFn: async () => { const versions = await authApiClient.getDocumentVersions() if (!versions) { throw new Error("Failed to fetch document versions") } return versions }, ...options, }) return { ...query, queryKey, } }