/* * 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"; /** * Returns `migration_blocker` for blockers. */ export const PartnerManagedCompanyMigrateResponseCategory = { MigrationBlocker: "migration_blocker", } as const; /** * Returns `migration_blocker` for blockers. */ export type PartnerManagedCompanyMigrateResponseCategory = ClosedEnum< typeof PartnerManagedCompanyMigrateResponseCategory >; export type PartnerManagedCompanyMigrateResponseMetadata = { /** * Issue key (e.g., `company_suspended`, `terms_of_service`, `gusto_managed_benefits`). */ key?: string | undefined; }; export type Errors = { errorKey?: string | undefined; /** * Returns `migration_blocker` for blockers. */ category?: PartnerManagedCompanyMigrateResponseCategory | undefined; message?: string | undefined; metadata?: PartnerManagedCompanyMigrateResponseMetadata | undefined; }; /** * Returns `migration_warning` for warnings. */ export const PartnerManagedCompanyMigrateResponseWarningsCategory = { MigrationWarning: "migration_warning", } as const; /** * Returns `migration_warning` for warnings. */ export type PartnerManagedCompanyMigrateResponseWarningsCategory = ClosedEnum< typeof PartnerManagedCompanyMigrateResponseWarningsCategory >; export type PartnerManagedCompanyMigrateResponseWarningsMetadata = { key?: string | undefined; }; export type Warnings = { errorKey?: string | undefined; /** * Returns `migration_warning` for warnings. */ category?: PartnerManagedCompanyMigrateResponseWarningsCategory | undefined; message?: string | undefined; metadata?: PartnerManagedCompanyMigrateResponseWarningsMetadata | undefined; }; export type PartnerManagedCompanyMigrateResponse = { /** * The company UUID. */ companyUuid?: string | undefined; /** * Returns `true` when the migration completed successfully, `false` otherwise. */ migrationStatus?: boolean | undefined; /** * Migration blockers preventing the migration. Empty array when `migration_status` is `true`. */ errors?: Array | undefined; /** * Non-blocking issues surfaced during migration (e.g., suspended company, active integrations). May be present even when `migration_status` is `true`. */ warnings?: Array | undefined; }; /** @internal */ export const PartnerManagedCompanyMigrateResponseCategory$inboundSchema: z.ZodNativeEnum = z .nativeEnum(PartnerManagedCompanyMigrateResponseCategory); /** @internal */ export const PartnerManagedCompanyMigrateResponseMetadata$inboundSchema: z.ZodType< PartnerManagedCompanyMigrateResponseMetadata, z.ZodTypeDef, unknown > = z.object({ key: z.string().optional(), }); export function partnerManagedCompanyMigrateResponseMetadataFromJSON( jsonString: string, ): SafeParseResult< PartnerManagedCompanyMigrateResponseMetadata, SDKValidationError > { return safeParse( jsonString, (x) => PartnerManagedCompanyMigrateResponseMetadata$inboundSchema.parse( JSON.parse(x), ), `Failed to parse 'PartnerManagedCompanyMigrateResponseMetadata' from JSON`, ); } /** @internal */ export const Errors$inboundSchema: z.ZodType = z .object({ error_key: z.string().optional(), category: PartnerManagedCompanyMigrateResponseCategory$inboundSchema .optional(), message: z.string().optional(), metadata: z.lazy(() => PartnerManagedCompanyMigrateResponseMetadata$inboundSchema ).optional(), }).transform((v) => { return remap$(v, { "error_key": "errorKey", }); }); export function errorsFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => Errors$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Errors' from JSON`, ); } /** @internal */ export const PartnerManagedCompanyMigrateResponseWarningsCategory$inboundSchema: z.ZodNativeEnum = z.nativeEnum(PartnerManagedCompanyMigrateResponseWarningsCategory); /** @internal */ export const PartnerManagedCompanyMigrateResponseWarningsMetadata$inboundSchema: z.ZodType< PartnerManagedCompanyMigrateResponseWarningsMetadata, z.ZodTypeDef, unknown > = z.object({ key: z.string().optional(), }); export function partnerManagedCompanyMigrateResponseWarningsMetadataFromJSON( jsonString: string, ): SafeParseResult< PartnerManagedCompanyMigrateResponseWarningsMetadata, SDKValidationError > { return safeParse( jsonString, (x) => PartnerManagedCompanyMigrateResponseWarningsMetadata$inboundSchema.parse( JSON.parse(x), ), `Failed to parse 'PartnerManagedCompanyMigrateResponseWarningsMetadata' from JSON`, ); } /** @internal */ export const Warnings$inboundSchema: z.ZodType< Warnings, z.ZodTypeDef, unknown > = z.object({ error_key: z.string().optional(), category: PartnerManagedCompanyMigrateResponseWarningsCategory$inboundSchema .optional(), message: z.string().optional(), metadata: z.lazy(() => PartnerManagedCompanyMigrateResponseWarningsMetadata$inboundSchema ).optional(), }).transform((v) => { return remap$(v, { "error_key": "errorKey", }); }); export function warningsFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => Warnings$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Warnings' from JSON`, ); } /** @internal */ export const PartnerManagedCompanyMigrateResponse$inboundSchema: z.ZodType< PartnerManagedCompanyMigrateResponse, z.ZodTypeDef, unknown > = z.object({ company_uuid: z.string().optional(), migration_status: z.boolean().optional(), errors: z.array(z.lazy(() => Errors$inboundSchema)).optional(), warnings: z.array(z.lazy(() => Warnings$inboundSchema)).optional(), }).transform((v) => { return remap$(v, { "company_uuid": "companyUuid", "migration_status": "migrationStatus", }); }); export function partnerManagedCompanyMigrateResponseFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => PartnerManagedCompanyMigrateResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'PartnerManagedCompanyMigrateResponse' from JSON`, ); }