/* * 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 { UnprocessableEntityError } from "../models/errors/unprocessableentityerror.js"; import { GetVersionEmployeesTimeOffActivitiesHeaderXGustoAPIVersion, GetVersionEmployeesTimeOffActivitiesRequest, } from "../models/operations/getversionemployeestimeoffactivities.js"; import { useGustoEmbeddedContext } from "./_context.js"; import { QueryHookOptions, SuspenseQueryHookOptions, TupleToPrefixes, } from "./_types.js"; import { buildEmployeesGetTimeOffActivitiesQuery, EmployeesGetTimeOffActivitiesQueryData, prefetchEmployeesGetTimeOffActivities, queryKeyEmployeesGetTimeOffActivities, } from "./employeesGetTimeOffActivities.core.js"; export { buildEmployeesGetTimeOffActivitiesQuery, type EmployeesGetTimeOffActivitiesQueryData, prefetchEmployeesGetTimeOffActivities, queryKeyEmployeesGetTimeOffActivities, }; export type EmployeesGetTimeOffActivitiesQueryError = | NotFoundErrorObject | UnprocessableEntityError | GustoEmbeddedError | ResponseValidationError | ConnectionError | RequestAbortedError | RequestTimeoutError | InvalidRequestError | UnexpectedClientError | SDKValidationError; /** * Get employee time off activities * * @remarks * Get employee time off activities. * * scope: `employee_time_off_activities:read` */ export function useEmployeesGetTimeOffActivities( request: GetVersionEmployeesTimeOffActivitiesRequest, options?: QueryHookOptions< EmployeesGetTimeOffActivitiesQueryData, EmployeesGetTimeOffActivitiesQueryError >, ): UseQueryResult< EmployeesGetTimeOffActivitiesQueryData, EmployeesGetTimeOffActivitiesQueryError > { const client = useGustoEmbeddedContext(); return useQuery({ ...buildEmployeesGetTimeOffActivitiesQuery( client, request, options, ), ...options, }); } /** * Get employee time off activities * * @remarks * Get employee time off activities. * * scope: `employee_time_off_activities:read` */ export function useEmployeesGetTimeOffActivitiesSuspense( request: GetVersionEmployeesTimeOffActivitiesRequest, options?: SuspenseQueryHookOptions< EmployeesGetTimeOffActivitiesQueryData, EmployeesGetTimeOffActivitiesQueryError >, ): UseSuspenseQueryResult< EmployeesGetTimeOffActivitiesQueryData, EmployeesGetTimeOffActivitiesQueryError > { const client = useGustoEmbeddedContext(); return useSuspenseQuery({ ...buildEmployeesGetTimeOffActivitiesQuery( client, request, options, ), ...options, }); } export function setEmployeesGetTimeOffActivitiesData( client: QueryClient, queryKeyBase: [ employeeUuid: string, parameters: { xGustoAPIVersion?: | GetVersionEmployeesTimeOffActivitiesHeaderXGustoAPIVersion | undefined; timeOffType: string; }, ], data: EmployeesGetTimeOffActivitiesQueryData, ): EmployeesGetTimeOffActivitiesQueryData | undefined { const key = queryKeyEmployeesGetTimeOffActivities(...queryKeyBase); return client.setQueryData(key, data); } export function invalidateEmployeesGetTimeOffActivities( client: QueryClient, queryKeyBase: TupleToPrefixes< [ employeeUuid: string, parameters: { xGustoAPIVersion?: | GetVersionEmployeesTimeOffActivitiesHeaderXGustoAPIVersion | undefined; timeOffType: string; }, ] >, filters?: Omit, ): Promise { return client.invalidateQueries({ ...filters, queryKey: [ "@gusto/embedded-api", "Employees", "getTimeOffActivities", ...queryKeyBase, ], }); } export function invalidateAllEmployeesGetTimeOffActivities( client: QueryClient, filters?: Omit, ): Promise { return client.invalidateQueries({ ...filters, queryKey: ["@gusto/embedded-api", "Employees", "getTimeOffActivities"], }); }