/* * 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 { GetV1ContractorsContractorUuidOnboardingStatusHeaderXGustoAPIVersion, GetV1ContractorsContractorUuidOnboardingStatusRequest, } from "../models/operations/getv1contractorscontractoruuidonboardingstatus.js"; import { useGustoEmbeddedContext } from "./_context.js"; import { QueryHookOptions, SuspenseQueryHookOptions, TupleToPrefixes, } from "./_types.js"; import { buildContractorsGetOnboardingStatusQuery, ContractorsGetOnboardingStatusQueryData, prefetchContractorsGetOnboardingStatus, queryKeyContractorsGetOnboardingStatus, } from "./contractorsGetOnboardingStatus.core.js"; export { buildContractorsGetOnboardingStatusQuery, type ContractorsGetOnboardingStatusQueryData, prefetchContractorsGetOnboardingStatus, queryKeyContractorsGetOnboardingStatus, }; export type ContractorsGetOnboardingStatusQueryError = | NotFoundErrorObject | GustoEmbeddedError | ResponseValidationError | ConnectionError | RequestAbortedError | RequestTimeoutError | InvalidRequestError | UnexpectedClientError | SDKValidationError; /** * Get the contractor's onboarding status * * @remarks * Retrieves a contractor's onboarding status. The data returned helps inform the required onboarding steps and respective completion status. * * ## onboarding_status * * ### Admin-facilitated onboarding * | onboarding_status | Description | * |:------------------|------------:| * | `admin_onboarding_incomplete` | Admin needs to enter basic information about the contractor. | * | `admin_onboarding_review` | All information has been completed and admin needs to confirm onboarding. | * | `onboarding_completed` | Contractor has been fully onboarded and verified. | * * ### Contractor self-onboarding * * | onboarding_status | Description | * | --- | ----------- | * | `admin_onboarding_incomplete` | Admin needs to enter basic information about the contractor. | * | `self_onboarding_not_invited` | Admin has the intention to invite the contractor to self-onboard (e.g., marking a checkbox), but the system has not yet sent the invitation. | * | `self_onboarding_invited` | Contractor has been sent an invitation to self-onboard. | * | `self_onboarding_started` | Contractor has started the self-onboarding process. | * | `self_onboarding_review` | Admin needs to review contractors's entered information and confirm onboarding. | * | `onboarding_completed` | Contractor has been fully onboarded and verified. | * * ## onboarding_steps * * | onboarding_steps | Requirement(s) to be completed | * |:-----------------|-------------------------------:| * | `basic_details` | Add individual contractor's first name, last name, social security number or Business name and EIN depending on the contractor type | * | `add_address` | Add contractor address. | * | `compensation_details` | Add contractor compensation. | * | `payment_details` | (optional) Set up contractor's direct deposit or set to check. | * | `sign_documents` | Contractor forms (e.g., W9) are generated & signed. | * | `file_new_hire_report` | Contractor new hire report is generated. | * * scope: `contractors:read` */ export function useContractorsGetOnboardingStatus( request: GetV1ContractorsContractorUuidOnboardingStatusRequest, options?: QueryHookOptions< ContractorsGetOnboardingStatusQueryData, ContractorsGetOnboardingStatusQueryError >, ): UseQueryResult< ContractorsGetOnboardingStatusQueryData, ContractorsGetOnboardingStatusQueryError > { const client = useGustoEmbeddedContext(); return useQuery({ ...buildContractorsGetOnboardingStatusQuery( client, request, options, ), ...options, }); } /** * Get the contractor's onboarding status * * @remarks * Retrieves a contractor's onboarding status. The data returned helps inform the required onboarding steps and respective completion status. * * ## onboarding_status * * ### Admin-facilitated onboarding * | onboarding_status | Description | * |:------------------|------------:| * | `admin_onboarding_incomplete` | Admin needs to enter basic information about the contractor. | * | `admin_onboarding_review` | All information has been completed and admin needs to confirm onboarding. | * | `onboarding_completed` | Contractor has been fully onboarded and verified. | * * ### Contractor self-onboarding * * | onboarding_status | Description | * | --- | ----------- | * | `admin_onboarding_incomplete` | Admin needs to enter basic information about the contractor. | * | `self_onboarding_not_invited` | Admin has the intention to invite the contractor to self-onboard (e.g., marking a checkbox), but the system has not yet sent the invitation. | * | `self_onboarding_invited` | Contractor has been sent an invitation to self-onboard. | * | `self_onboarding_started` | Contractor has started the self-onboarding process. | * | `self_onboarding_review` | Admin needs to review contractors's entered information and confirm onboarding. | * | `onboarding_completed` | Contractor has been fully onboarded and verified. | * * ## onboarding_steps * * | onboarding_steps | Requirement(s) to be completed | * |:-----------------|-------------------------------:| * | `basic_details` | Add individual contractor's first name, last name, social security number or Business name and EIN depending on the contractor type | * | `add_address` | Add contractor address. | * | `compensation_details` | Add contractor compensation. | * | `payment_details` | (optional) Set up contractor's direct deposit or set to check. | * | `sign_documents` | Contractor forms (e.g., W9) are generated & signed. | * | `file_new_hire_report` | Contractor new hire report is generated. | * * scope: `contractors:read` */ export function useContractorsGetOnboardingStatusSuspense( request: GetV1ContractorsContractorUuidOnboardingStatusRequest, options?: SuspenseQueryHookOptions< ContractorsGetOnboardingStatusQueryData, ContractorsGetOnboardingStatusQueryError >, ): UseSuspenseQueryResult< ContractorsGetOnboardingStatusQueryData, ContractorsGetOnboardingStatusQueryError > { const client = useGustoEmbeddedContext(); return useSuspenseQuery({ ...buildContractorsGetOnboardingStatusQuery( client, request, options, ), ...options, }); } export function setContractorsGetOnboardingStatusData( client: QueryClient, queryKeyBase: [ contractorUuid: string, parameters: { xGustoAPIVersion?: | GetV1ContractorsContractorUuidOnboardingStatusHeaderXGustoAPIVersion | undefined; }, ], data: ContractorsGetOnboardingStatusQueryData, ): ContractorsGetOnboardingStatusQueryData | undefined { const key = queryKeyContractorsGetOnboardingStatus(...queryKeyBase); return client.setQueryData( key, data, ); } export function invalidateContractorsGetOnboardingStatus( client: QueryClient, queryKeyBase: TupleToPrefixes< [ contractorUuid: string, parameters: { xGustoAPIVersion?: | GetV1ContractorsContractorUuidOnboardingStatusHeaderXGustoAPIVersion | undefined; }, ] >, filters?: Omit, ): Promise { return client.invalidateQueries({ ...filters, queryKey: [ "@gusto/embedded-api", "Contractors", "getOnboardingStatus", ...queryKeyBase, ], }); } export function invalidateAllContractorsGetOnboardingStatus( client: QueryClient, filters?: Omit, ): Promise { return client.invalidateQueries({ ...filters, queryKey: ["@gusto/embedded-api", "Contractors", "getOnboardingStatus"], }); }