/* * 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"; /** * The payment method for the disbursement */ export const ContractorPaymentGroupPartnerDisbursementsPaymentMethod = { DirectDeposit: "Direct Deposit", Check: "Check", } as const; /** * The payment method for the disbursement */ export type ContractorPaymentGroupPartnerDisbursementsPaymentMethod = ClosedEnum; /** * The status of the payment */ export const ContractorPaymentGroupPartnerDisbursementsPaymentStatus = { Pending: "Pending", Paid: "Paid", NotPartnerManaged: "Not partner managed", ConvertedToCheck: "Converted to check", } as const; /** * The status of the payment */ export type ContractorPaymentGroupPartnerDisbursementsPaymentStatus = ClosedEnum; export type Disbursements = { /** * The UUID of the contractor payment */ contractorPaymentUuid?: string | undefined; /** * The UUID of the contractor */ contractorUuid?: string | undefined; /** * The payment method for the disbursement */ paymentMethod?: | ContractorPaymentGroupPartnerDisbursementsPaymentMethod | undefined; /** * The status of the payment */ paymentStatus?: | ContractorPaymentGroupPartnerDisbursementsPaymentStatus | undefined; }; /** * Partner disbursements for a contractor payment group */ export type ContractorPaymentGroupPartnerDisbursements = { /** * The UUID of the contractor payment group */ contractorPaymentGroupUuid?: string | undefined; /** * List of disbursements for the contractor payment group */ disbursements?: Array | undefined; }; /** @internal */ export const ContractorPaymentGroupPartnerDisbursementsPaymentMethod$inboundSchema: z.ZodNativeEnum< typeof ContractorPaymentGroupPartnerDisbursementsPaymentMethod > = z.nativeEnum(ContractorPaymentGroupPartnerDisbursementsPaymentMethod); /** @internal */ export const ContractorPaymentGroupPartnerDisbursementsPaymentStatus$inboundSchema: z.ZodNativeEnum< typeof ContractorPaymentGroupPartnerDisbursementsPaymentStatus > = z.nativeEnum(ContractorPaymentGroupPartnerDisbursementsPaymentStatus); /** @internal */ export const Disbursements$inboundSchema: z.ZodType< Disbursements, z.ZodTypeDef, unknown > = z.object({ contractor_payment_uuid: z.string().optional(), contractor_uuid: z.string().optional(), payment_method: ContractorPaymentGroupPartnerDisbursementsPaymentMethod$inboundSchema .optional(), payment_status: ContractorPaymentGroupPartnerDisbursementsPaymentStatus$inboundSchema .optional(), }).transform((v) => { return remap$(v, { "contractor_payment_uuid": "contractorPaymentUuid", "contractor_uuid": "contractorUuid", "payment_method": "paymentMethod", "payment_status": "paymentStatus", }); }); export function disbursementsFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => Disbursements$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Disbursements' from JSON`, ); } /** @internal */ export const ContractorPaymentGroupPartnerDisbursements$inboundSchema: z.ZodType = z.object({ contractor_payment_group_uuid: z.string().optional(), disbursements: z.array(z.lazy(() => Disbursements$inboundSchema)) .optional(), }).transform((v) => { return remap$(v, { "contractor_payment_group_uuid": "contractorPaymentGroupUuid", }); }); export function contractorPaymentGroupPartnerDisbursementsFromJSON( jsonString: string, ): SafeParseResult< ContractorPaymentGroupPartnerDisbursements, SDKValidationError > { return safeParse( jsonString, (x) => ContractorPaymentGroupPartnerDisbursements$inboundSchema.parse( JSON.parse(x), ), `Failed to parse 'ContractorPaymentGroupPartnerDisbursements' from JSON`, ); }