/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import { InvalidateQueryFilters, QueryClient, useQuery, UseQueryResult, useSuspenseQuery, UseSuspenseQueryResult, } from "@tanstack/react-query"; import { GustoEmbeddedError } from "../models/errors/gustoembeddederror.js"; import { ConnectionError, InvalidRequestError, RequestAbortedError, RequestTimeoutError, UnexpectedClientError, } from "../models/errors/httpclienterrors.js"; import { NotFoundErrorObject } from "../models/errors/notfounderrorobject.js"; import { ResponseValidationError } from "../models/errors/responsevalidationerror.js"; import { SDKValidationError } from "../models/errors/sdkvalidationerror.js"; import { DocumentType, GetV1GeneratedDocumentsDocumentTypeRequestUuidHeaderXGustoAPIVersion, GetV1GeneratedDocumentsDocumentTypeRequestUuidRequest, } from "../models/operations/getv1generateddocumentsdocumenttyperequestuuid.js"; import { useGustoEmbeddedContext } from "./_context.js"; import { QueryHookOptions, SuspenseQueryHookOptions, TupleToPrefixes, } from "./_types.js"; import { buildGeneratedDocumentsGetQuery, GeneratedDocumentsGetQueryData, prefetchGeneratedDocumentsGet, queryKeyGeneratedDocumentsGet, } from "./generatedDocumentsGet.core.js"; export { buildGeneratedDocumentsGetQuery, type GeneratedDocumentsGetQueryData, prefetchGeneratedDocumentsGet, queryKeyGeneratedDocumentsGet, }; export type GeneratedDocumentsGetQueryError = | NotFoundErrorObject | GustoEmbeddedError | ResponseValidationError | ConnectionError | RequestAbortedError | RequestTimeoutError | InvalidRequestError | UnexpectedClientError | SDKValidationError; /** * Get a generated document * * @remarks * Get a document given the request_uuid. The response will include the generation request's status and urls to the document. A list of urls is returned as certain document types require several urls. * * scope: `generated_documents:read` */ export function useGeneratedDocumentsGet( request: GetV1GeneratedDocumentsDocumentTypeRequestUuidRequest, options?: QueryHookOptions< GeneratedDocumentsGetQueryData, GeneratedDocumentsGetQueryError >, ): UseQueryResult< GeneratedDocumentsGetQueryData, GeneratedDocumentsGetQueryError > { const client = useGustoEmbeddedContext(); return useQuery({ ...buildGeneratedDocumentsGetQuery( client, request, options, ), ...options, }); } /** * Get a generated document * * @remarks * Get a document given the request_uuid. The response will include the generation request's status and urls to the document. A list of urls is returned as certain document types require several urls. * * scope: `generated_documents:read` */ export function useGeneratedDocumentsGetSuspense( request: GetV1GeneratedDocumentsDocumentTypeRequestUuidRequest, options?: SuspenseQueryHookOptions< GeneratedDocumentsGetQueryData, GeneratedDocumentsGetQueryError >, ): UseSuspenseQueryResult< GeneratedDocumentsGetQueryData, GeneratedDocumentsGetQueryError > { const client = useGustoEmbeddedContext(); return useSuspenseQuery({ ...buildGeneratedDocumentsGetQuery( client, request, options, ), ...options, }); } export function setGeneratedDocumentsGetData( client: QueryClient, queryKeyBase: [ documentType: DocumentType, requestUuid: string, parameters: { xGustoAPIVersion?: | GetV1GeneratedDocumentsDocumentTypeRequestUuidHeaderXGustoAPIVersion | undefined; }, ], data: GeneratedDocumentsGetQueryData, ): GeneratedDocumentsGetQueryData | undefined { const key = queryKeyGeneratedDocumentsGet(...queryKeyBase); return client.setQueryData(key, data); } export function invalidateGeneratedDocumentsGet( client: QueryClient, queryKeyBase: TupleToPrefixes< [ documentType: DocumentType, requestUuid: string, parameters: { xGustoAPIVersion?: | GetV1GeneratedDocumentsDocumentTypeRequestUuidHeaderXGustoAPIVersion | undefined; }, ] >, filters?: Omit, ): Promise { return client.invalidateQueries({ ...filters, queryKey: [ "@gusto/embedded-api", "generatedDocuments", "get", ...queryKeyBase, ], }); } export function invalidateAllGeneratedDocumentsGet( client: QueryClient, filters?: Omit, ): Promise { return client.invalidateQueries({ ...filters, queryKey: ["@gusto/embedded-api", "generatedDocuments", "get"], }); }