/* * 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 { ContractorPaymentGroupPartnerDisbursements, ContractorPaymentGroupPartnerDisbursements$inboundSchema, } from "../components/contractorpaymentgrouppartnerdisbursements.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 PatchV1ContractorPaymentGroupsIdPartnerDisbursementsHeaderXGustoAPIVersion = { 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 PatchV1ContractorPaymentGroupsIdPartnerDisbursementsHeaderXGustoAPIVersion = ClosedEnum< typeof PatchV1ContractorPaymentGroupsIdPartnerDisbursementsHeaderXGustoAPIVersion >; /** * Payment method for the contractor */ export const PatchV1ContractorPaymentGroupsIdPartnerDisbursementsPaymentMethod = { DirectDeposit: "Direct Deposit", Check: "Check", } as const; /** * Payment method for the contractor */ export type PatchV1ContractorPaymentGroupsIdPartnerDisbursementsPaymentMethod = ClosedEnum< typeof PatchV1ContractorPaymentGroupsIdPartnerDisbursementsPaymentMethod >; /** * Status of the payment disbursement */ export const PaymentStatus = { Pending: "Pending", Paid: "Paid", NotPartnerManaged: "Not partner managed", ConvertedToCheck: "Converted to check", } as const; /** * Status of the payment disbursement */ export type PaymentStatus = ClosedEnum; export type Disbursements = { /** * UUID of the contractor payment */ contractorPaymentUuid: string; /** * Payment method for the contractor */ paymentMethod?: | PatchV1ContractorPaymentGroupsIdPartnerDisbursementsPaymentMethod | undefined; /** * Status of the payment disbursement */ paymentStatus?: PaymentStatus | undefined; }; export type PatchV1ContractorPaymentGroupsIdPartnerDisbursementsRequestBody = { disbursements: Array; }; export type PatchV1ContractorPaymentGroupsIdPartnerDisbursementsRequest = { /** * The UUID of the contractor payment group */ id: string; /** * 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?: | PatchV1ContractorPaymentGroupsIdPartnerDisbursementsHeaderXGustoAPIVersion | undefined; requestBody?: | PatchV1ContractorPaymentGroupsIdPartnerDisbursementsRequestBody | undefined; }; export type PatchV1ContractorPaymentGroupsIdPartnerDisbursementsResponse = { httpMeta: HTTPMetadata; /** * successful */ contractorPaymentGroupPartnerDisbursements?: | ContractorPaymentGroupPartnerDisbursements | undefined; }; /** @internal */ export const PatchV1ContractorPaymentGroupsIdPartnerDisbursementsHeaderXGustoAPIVersion$outboundSchema: z.ZodNativeEnum< typeof PatchV1ContractorPaymentGroupsIdPartnerDisbursementsHeaderXGustoAPIVersion > = z.nativeEnum( PatchV1ContractorPaymentGroupsIdPartnerDisbursementsHeaderXGustoAPIVersion, ); /** @internal */ export const PatchV1ContractorPaymentGroupsIdPartnerDisbursementsPaymentMethod$outboundSchema: z.ZodNativeEnum< typeof PatchV1ContractorPaymentGroupsIdPartnerDisbursementsPaymentMethod > = z.nativeEnum( PatchV1ContractorPaymentGroupsIdPartnerDisbursementsPaymentMethod, ); /** @internal */ export const PaymentStatus$outboundSchema: z.ZodNativeEnum< typeof PaymentStatus > = z.nativeEnum(PaymentStatus); /** @internal */ export type Disbursements$Outbound = { contractor_payment_uuid: string; payment_method?: string | undefined; payment_status?: string | undefined; }; /** @internal */ export const Disbursements$outboundSchema: z.ZodType< Disbursements$Outbound, z.ZodTypeDef, Disbursements > = z.object({ contractorPaymentUuid: z.string(), paymentMethod: PatchV1ContractorPaymentGroupsIdPartnerDisbursementsPaymentMethod$outboundSchema .optional(), paymentStatus: PaymentStatus$outboundSchema.optional(), }).transform((v) => { return remap$(v, { contractorPaymentUuid: "contractor_payment_uuid", paymentMethod: "payment_method", paymentStatus: "payment_status", }); }); export function disbursementsToJSON(disbursements: Disbursements): string { return JSON.stringify(Disbursements$outboundSchema.parse(disbursements)); } /** @internal */ export type PatchV1ContractorPaymentGroupsIdPartnerDisbursementsRequestBody$Outbound = { disbursements: Array; }; /** @internal */ export const PatchV1ContractorPaymentGroupsIdPartnerDisbursementsRequestBody$outboundSchema: z.ZodType< PatchV1ContractorPaymentGroupsIdPartnerDisbursementsRequestBody$Outbound, z.ZodTypeDef, PatchV1ContractorPaymentGroupsIdPartnerDisbursementsRequestBody > = z.object({ disbursements: z.array(z.lazy(() => Disbursements$outboundSchema)), }); export function patchV1ContractorPaymentGroupsIdPartnerDisbursementsRequestBodyToJSON( patchV1ContractorPaymentGroupsIdPartnerDisbursementsRequestBody: PatchV1ContractorPaymentGroupsIdPartnerDisbursementsRequestBody, ): string { return JSON.stringify( PatchV1ContractorPaymentGroupsIdPartnerDisbursementsRequestBody$outboundSchema .parse(patchV1ContractorPaymentGroupsIdPartnerDisbursementsRequestBody), ); } /** @internal */ export type PatchV1ContractorPaymentGroupsIdPartnerDisbursementsRequest$Outbound = { id: string; "X-Gusto-API-Version": string; RequestBody?: | PatchV1ContractorPaymentGroupsIdPartnerDisbursementsRequestBody$Outbound | undefined; }; /** @internal */ export const PatchV1ContractorPaymentGroupsIdPartnerDisbursementsRequest$outboundSchema: z.ZodType< PatchV1ContractorPaymentGroupsIdPartnerDisbursementsRequest$Outbound, z.ZodTypeDef, PatchV1ContractorPaymentGroupsIdPartnerDisbursementsRequest > = z.object({ id: z.string(), xGustoAPIVersion: PatchV1ContractorPaymentGroupsIdPartnerDisbursementsHeaderXGustoAPIVersion$outboundSchema .default("2025-06-15"), requestBody: z.lazy(() => PatchV1ContractorPaymentGroupsIdPartnerDisbursementsRequestBody$outboundSchema ).optional(), }).transform((v) => { return remap$(v, { xGustoAPIVersion: "X-Gusto-API-Version", requestBody: "RequestBody", }); }); export function patchV1ContractorPaymentGroupsIdPartnerDisbursementsRequestToJSON( patchV1ContractorPaymentGroupsIdPartnerDisbursementsRequest: PatchV1ContractorPaymentGroupsIdPartnerDisbursementsRequest, ): string { return JSON.stringify( PatchV1ContractorPaymentGroupsIdPartnerDisbursementsRequest$outboundSchema .parse(patchV1ContractorPaymentGroupsIdPartnerDisbursementsRequest), ); } /** @internal */ export const PatchV1ContractorPaymentGroupsIdPartnerDisbursementsResponse$inboundSchema: z.ZodType< PatchV1ContractorPaymentGroupsIdPartnerDisbursementsResponse, z.ZodTypeDef, unknown > = z.object({ HttpMeta: HTTPMetadata$inboundSchema, "Contractor-Payment-Group-Partner-Disbursements": ContractorPaymentGroupPartnerDisbursements$inboundSchema.optional(), }).transform((v) => { return remap$(v, { "HttpMeta": "httpMeta", "Contractor-Payment-Group-Partner-Disbursements": "contractorPaymentGroupPartnerDisbursements", }); }); export function patchV1ContractorPaymentGroupsIdPartnerDisbursementsResponseFromJSON( jsonString: string, ): SafeParseResult< PatchV1ContractorPaymentGroupsIdPartnerDisbursementsResponse, SDKValidationError > { return safeParse( jsonString, (x) => PatchV1ContractorPaymentGroupsIdPartnerDisbursementsResponse$inboundSchema .parse(JSON.parse(x)), `Failed to parse 'PatchV1ContractorPaymentGroupsIdPartnerDisbursementsResponse' from JSON`, ); }