/* * 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 { SDKValidationError } from "../errors/sdkvalidationerror.js"; /** * One of the "onboarding_status" enum values. */ export const ContractorOnboardingStatusOnboardingStatus = { OnboardingCompleted: "onboarding_completed", AdminOnboardingReview: "admin_onboarding_review", AdminOnboardingIncomplete: "admin_onboarding_incomplete", SelfOnboardingNotInvited: "self_onboarding_not_invited", SelfOnboardingInvited: "self_onboarding_invited", SelfOnboardingStarted: "self_onboarding_started", SelfOnboardingReview: "self_onboarding_review", } as const; /** * One of the "onboarding_status" enum values. */ export type ContractorOnboardingStatusOnboardingStatus = ClosedEnum< typeof ContractorOnboardingStatusOnboardingStatus >; export type ContractorOnboardingStatusOnboardingStep = { /** * User-friendly description of the onboarding step. */ title?: string | undefined; /** * String identifier for the onboarding step. */ id?: string | undefined; /** * When true, this step is required. */ required?: boolean | undefined; /** * When true, this step has been completed. */ completed?: boolean | undefined; /** * A list of onboarding steps required to begin this step. */ requirements?: Array | undefined; }; /** * The representation of an contractor's onboarding status. */ export type ContractorOnboardingStatus = { /** * Unique identifier for this contractor. */ uuid: string; /** * One of the "onboarding_status" enum values. */ onboardingStatus?: ContractorOnboardingStatusOnboardingStatus | undefined; /** * List of steps required to onboard a contractor. */ onboardingSteps?: Array | undefined; }; /** @internal */ export const ContractorOnboardingStatusOnboardingStatus$inboundSchema: z.ZodNativeEnum = z .nativeEnum(ContractorOnboardingStatusOnboardingStatus); /** @internal */ export const ContractorOnboardingStatusOnboardingStep$inboundSchema: z.ZodType< ContractorOnboardingStatusOnboardingStep, z.ZodTypeDef, unknown > = z.object({ title: z.string().optional(), id: z.string().optional(), required: z.boolean().optional(), completed: z.boolean().optional(), requirements: z.array(z.string()).optional(), }); export function contractorOnboardingStatusOnboardingStepFromJSON( jsonString: string, ): SafeParseResult< ContractorOnboardingStatusOnboardingStep, SDKValidationError > { return safeParse( jsonString, (x) => ContractorOnboardingStatusOnboardingStep$inboundSchema.parse( JSON.parse(x), ), `Failed to parse 'ContractorOnboardingStatusOnboardingStep' from JSON`, ); } /** @internal */ export const ContractorOnboardingStatus$inboundSchema: z.ZodType< ContractorOnboardingStatus, z.ZodTypeDef, unknown > = z.object({ uuid: z.string(), onboarding_status: ContractorOnboardingStatusOnboardingStatus$inboundSchema .optional(), onboarding_steps: z.array( z.lazy(() => ContractorOnboardingStatusOnboardingStep$inboundSchema), ).optional(), }).transform((v) => { return remap$(v, { "onboarding_status": "onboardingStatus", "onboarding_steps": "onboardingSteps", }); }); export function contractorOnboardingStatusFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => ContractorOnboardingStatus$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ContractorOnboardingStatus' from JSON`, ); }