/* * 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 { GetV1CompanyOnboardingStatusHeaderXGustoAPIVersion, GetV1CompanyOnboardingStatusRequest, } from "../models/operations/getv1companyonboardingstatus.js"; import { useGustoEmbeddedContext } from "./_context.js"; import { QueryHookOptions, SuspenseQueryHookOptions, TupleToPrefixes, } from "./_types.js"; import { buildCompaniesGetOnboardingStatusQuery, CompaniesGetOnboardingStatusQueryData, prefetchCompaniesGetOnboardingStatus, queryKeyCompaniesGetOnboardingStatus, } from "./companiesGetOnboardingStatus.core.js"; export { buildCompaniesGetOnboardingStatusQuery, type CompaniesGetOnboardingStatusQueryData, prefetchCompaniesGetOnboardingStatus, queryKeyCompaniesGetOnboardingStatus, }; export type CompaniesGetOnboardingStatusQueryError = | NotFoundErrorObject | GustoEmbeddedError | ResponseValidationError | ConnectionError | RequestAbortedError | RequestTimeoutError | InvalidRequestError | UnexpectedClientError | SDKValidationError; /** * Get company onboarding status * * @remarks * Retrieves a company's onboarding status, including whether onboarding is complete and the list of * required onboarding steps with their respective completion state. * * scope: `company_onboarding_status:read` */ export function useCompaniesGetOnboardingStatus( request: GetV1CompanyOnboardingStatusRequest, options?: QueryHookOptions< CompaniesGetOnboardingStatusQueryData, CompaniesGetOnboardingStatusQueryError >, ): UseQueryResult< CompaniesGetOnboardingStatusQueryData, CompaniesGetOnboardingStatusQueryError > { const client = useGustoEmbeddedContext(); return useQuery({ ...buildCompaniesGetOnboardingStatusQuery( client, request, options, ), ...options, }); } /** * Get company onboarding status * * @remarks * Retrieves a company's onboarding status, including whether onboarding is complete and the list of * required onboarding steps with their respective completion state. * * scope: `company_onboarding_status:read` */ export function useCompaniesGetOnboardingStatusSuspense( request: GetV1CompanyOnboardingStatusRequest, options?: SuspenseQueryHookOptions< CompaniesGetOnboardingStatusQueryData, CompaniesGetOnboardingStatusQueryError >, ): UseSuspenseQueryResult< CompaniesGetOnboardingStatusQueryData, CompaniesGetOnboardingStatusQueryError > { const client = useGustoEmbeddedContext(); return useSuspenseQuery({ ...buildCompaniesGetOnboardingStatusQuery( client, request, options, ), ...options, }); } export function setCompaniesGetOnboardingStatusData( client: QueryClient, queryKeyBase: [ companyUuid: string, parameters: { additionalSteps?: string | undefined; xGustoAPIVersion?: | GetV1CompanyOnboardingStatusHeaderXGustoAPIVersion | undefined; }, ], data: CompaniesGetOnboardingStatusQueryData, ): CompaniesGetOnboardingStatusQueryData | undefined { const key = queryKeyCompaniesGetOnboardingStatus(...queryKeyBase); return client.setQueryData(key, data); } export function invalidateCompaniesGetOnboardingStatus( client: QueryClient, queryKeyBase: TupleToPrefixes< [ companyUuid: string, parameters: { additionalSteps?: string | undefined; xGustoAPIVersion?: | GetV1CompanyOnboardingStatusHeaderXGustoAPIVersion | undefined; }, ] >, filters?: Omit, ): Promise { return client.invalidateQueries({ ...filters, queryKey: [ "@gusto/embedded-api", "Companies", "getOnboardingStatus", ...queryKeyBase, ], }); } export function invalidateAllCompaniesGetOnboardingStatus( client: QueryClient, filters?: Omit, ): Promise { return client.invalidateQueries({ ...filters, queryKey: ["@gusto/embedded-api", "Companies", "getOnboardingStatus"], }); }