/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v3"; import { remap as remap$ } from "../../lib/primitives.js"; import { safeParse } from "../../lib/schemas.js"; import { ClosedEnum } from "../../types/enums.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { EmployeeOnboardingStatus, EmployeeOnboardingStatus$inboundSchema, } from "../components/employeeonboardingstatus.js"; import { HTTPMetadata, HTTPMetadata$inboundSchema, } from "../components/httpmetadata.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; /** * Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. */ export const PutV1EmployeesEmployeeIdOnboardingStatusHeaderXGustoAPIVersion = { TwoThousandAndTwentyFiveMinus06Minus15: "2025-06-15", } as const; /** * Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. */ export type PutV1EmployeesEmployeeIdOnboardingStatusHeaderXGustoAPIVersion = ClosedEnum< typeof PutV1EmployeesEmployeeIdOnboardingStatusHeaderXGustoAPIVersion >; /** * Onboarding status value */ export const OnboardingStatus = { AdminOnboardingIncomplete: "admin_onboarding_incomplete", SelfOnboardingPendingInvite: "self_onboarding_pending_invite", SelfOnboardingInvited: "self_onboarding_invited", SelfOnboardingInvitedStarted: "self_onboarding_invited_started", SelfOnboardingInvitedOverdue: "self_onboarding_invited_overdue", SelfOnboardingCompletedByEmployee: "self_onboarding_completed_by_employee", SelfOnboardingAwaitingAdminReview: "self_onboarding_awaiting_admin_review", OnboardingCompleted: "onboarding_completed", } as const; /** * Onboarding status value */ export type OnboardingStatus = ClosedEnum; export type PutV1EmployeesEmployeeIdOnboardingStatusRequestBody = { /** * Onboarding status value */ onboardingStatus: OnboardingStatus; }; export type PutV1EmployeesEmployeeIdOnboardingStatusRequest = { /** * Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. */ xGustoAPIVersion?: | PutV1EmployeesEmployeeIdOnboardingStatusHeaderXGustoAPIVersion | undefined; /** * The UUID of the employee */ employeeId: string; requestBody: PutV1EmployeesEmployeeIdOnboardingStatusRequestBody; }; export type PutV1EmployeesEmployeeIdOnboardingStatusResponse = { httpMeta: HTTPMetadata; /** * successful */ employeeOnboardingStatus?: EmployeeOnboardingStatus | undefined; }; /** @internal */ export const PutV1EmployeesEmployeeIdOnboardingStatusHeaderXGustoAPIVersion$outboundSchema: z.ZodNativeEnum< typeof PutV1EmployeesEmployeeIdOnboardingStatusHeaderXGustoAPIVersion > = z.nativeEnum( PutV1EmployeesEmployeeIdOnboardingStatusHeaderXGustoAPIVersion, ); /** @internal */ export const OnboardingStatus$outboundSchema: z.ZodNativeEnum< typeof OnboardingStatus > = z.nativeEnum(OnboardingStatus); /** @internal */ export type PutV1EmployeesEmployeeIdOnboardingStatusRequestBody$Outbound = { onboarding_status: string; }; /** @internal */ export const PutV1EmployeesEmployeeIdOnboardingStatusRequestBody$outboundSchema: z.ZodType< PutV1EmployeesEmployeeIdOnboardingStatusRequestBody$Outbound, z.ZodTypeDef, PutV1EmployeesEmployeeIdOnboardingStatusRequestBody > = z.object({ onboardingStatus: OnboardingStatus$outboundSchema, }).transform((v) => { return remap$(v, { onboardingStatus: "onboarding_status", }); }); export function putV1EmployeesEmployeeIdOnboardingStatusRequestBodyToJSON( putV1EmployeesEmployeeIdOnboardingStatusRequestBody: PutV1EmployeesEmployeeIdOnboardingStatusRequestBody, ): string { return JSON.stringify( PutV1EmployeesEmployeeIdOnboardingStatusRequestBody$outboundSchema.parse( putV1EmployeesEmployeeIdOnboardingStatusRequestBody, ), ); } /** @internal */ export type PutV1EmployeesEmployeeIdOnboardingStatusRequest$Outbound = { "X-Gusto-API-Version": string; employee_id: string; RequestBody: PutV1EmployeesEmployeeIdOnboardingStatusRequestBody$Outbound; }; /** @internal */ export const PutV1EmployeesEmployeeIdOnboardingStatusRequest$outboundSchema: z.ZodType< PutV1EmployeesEmployeeIdOnboardingStatusRequest$Outbound, z.ZodTypeDef, PutV1EmployeesEmployeeIdOnboardingStatusRequest > = z.object({ xGustoAPIVersion: PutV1EmployeesEmployeeIdOnboardingStatusHeaderXGustoAPIVersion$outboundSchema .default("2025-06-15"), employeeId: z.string(), requestBody: z.lazy(() => PutV1EmployeesEmployeeIdOnboardingStatusRequestBody$outboundSchema ), }).transform((v) => { return remap$(v, { xGustoAPIVersion: "X-Gusto-API-Version", employeeId: "employee_id", requestBody: "RequestBody", }); }); export function putV1EmployeesEmployeeIdOnboardingStatusRequestToJSON( putV1EmployeesEmployeeIdOnboardingStatusRequest: PutV1EmployeesEmployeeIdOnboardingStatusRequest, ): string { return JSON.stringify( PutV1EmployeesEmployeeIdOnboardingStatusRequest$outboundSchema.parse( putV1EmployeesEmployeeIdOnboardingStatusRequest, ), ); } /** @internal */ export const PutV1EmployeesEmployeeIdOnboardingStatusResponse$inboundSchema: z.ZodType< PutV1EmployeesEmployeeIdOnboardingStatusResponse, z.ZodTypeDef, unknown > = z.object({ HttpMeta: HTTPMetadata$inboundSchema, "Employee-Onboarding-Status": EmployeeOnboardingStatus$inboundSchema .optional(), }).transform((v) => { return remap$(v, { "HttpMeta": "httpMeta", "Employee-Onboarding-Status": "employeeOnboardingStatus", }); }); export function putV1EmployeesEmployeeIdOnboardingStatusResponseFromJSON( jsonString: string, ): SafeParseResult< PutV1EmployeesEmployeeIdOnboardingStatusResponse, SDKValidationError > { return safeParse( jsonString, (x) => PutV1EmployeesEmployeeIdOnboardingStatusResponse$inboundSchema.parse( JSON.parse(x), ), `Failed to parse 'PutV1EmployeesEmployeeIdOnboardingStatusResponse' from JSON`, ); }