/* * 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 { HTTPMetadata, HTTPMetadata$inboundSchema, } from "../components/httpmetadata.js"; import { PayrollPartnerDisbursements, PayrollPartnerDisbursements$inboundSchema, } from "../components/payrollpartnerdisbursements.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 PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsHeaderXGustoAPIVersion = { 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 PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsHeaderXGustoAPIVersion = ClosedEnum< typeof PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsHeaderXGustoAPIVersion >; /** * Payment method for the employee */ export const PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsPaymentMethod = { DirectDeposit: "Direct Deposit", Check: "Check", } as const; /** * Payment method for the employee */ export type PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsPaymentMethod = ClosedEnum< typeof PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsPaymentMethod >; /** * Status of the payment disbursement */ export const PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsPaymentStatus = { Pending: "Pending", Paid: "Paid", NotPartnerManaged: "Not partner managed", ConvertedToCheck: "Converted to check", } as const; /** * Status of the payment disbursement */ export type PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsPaymentStatus = ClosedEnum< typeof PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsPaymentStatus >; export type PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsDisbursements = { /** * UUID of the employee */ employeeUuid: string; /** * Payment method for the employee */ paymentMethod?: | PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsPaymentMethod | undefined; /** * Status of the payment disbursement */ paymentStatus?: | PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsPaymentStatus | undefined; }; export type PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsRequestBody = { disbursements: Array< PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsDisbursements >; }; export type PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsRequest = { /** * The UUID of the company */ companyId: string; /** * The UUID of the payroll */ 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?: | PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsHeaderXGustoAPIVersion | undefined; requestBody?: | PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsRequestBody | undefined; }; export type PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsResponse = { httpMeta: HTTPMetadata; /** * successful */ payrollPartnerDisbursements?: PayrollPartnerDisbursements | undefined; }; /** @internal */ export const PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsHeaderXGustoAPIVersion$outboundSchema: z.ZodNativeEnum< typeof PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsHeaderXGustoAPIVersion > = z.nativeEnum( PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsHeaderXGustoAPIVersion, ); /** @internal */ export const PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsPaymentMethod$outboundSchema: z.ZodNativeEnum< typeof PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsPaymentMethod > = z.nativeEnum( PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsPaymentMethod, ); /** @internal */ export const PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsPaymentStatus$outboundSchema: z.ZodNativeEnum< typeof PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsPaymentStatus > = z.nativeEnum( PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsPaymentStatus, ); /** @internal */ export type PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsDisbursements$Outbound = { employee_uuid: string; payment_method?: string | undefined; payment_status?: string | undefined; }; /** @internal */ export const PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsDisbursements$outboundSchema: z.ZodType< PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsDisbursements$Outbound, z.ZodTypeDef, PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsDisbursements > = z.object({ employeeUuid: z.string(), paymentMethod: PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsPaymentMethod$outboundSchema .optional(), paymentStatus: PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsPaymentStatus$outboundSchema .optional(), }).transform((v) => { return remap$(v, { employeeUuid: "employee_uuid", paymentMethod: "payment_method", paymentStatus: "payment_status", }); }); export function patchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsDisbursementsToJSON( patchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsDisbursements: PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsDisbursements, ): string { return JSON.stringify( PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsDisbursements$outboundSchema .parse( patchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsDisbursements, ), ); } /** @internal */ export type PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsRequestBody$Outbound = { disbursements: Array< PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsDisbursements$Outbound >; }; /** @internal */ export const PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsRequestBody$outboundSchema: z.ZodType< PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsRequestBody$Outbound, z.ZodTypeDef, PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsRequestBody > = z.object({ disbursements: z.array( z.lazy(() => PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsDisbursements$outboundSchema ), ), }); export function patchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsRequestBodyToJSON( patchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsRequestBody: PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsRequestBody, ): string { return JSON.stringify( PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsRequestBody$outboundSchema .parse( patchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsRequestBody, ), ); } /** @internal */ export type PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsRequest$Outbound = { company_id: string; id: string; "X-Gusto-API-Version": string; RequestBody?: | PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsRequestBody$Outbound | undefined; }; /** @internal */ export const PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsRequest$outboundSchema: z.ZodType< PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsRequest$Outbound, z.ZodTypeDef, PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsRequest > = z.object({ companyId: z.string(), id: z.string(), xGustoAPIVersion: PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsHeaderXGustoAPIVersion$outboundSchema .default("2025-06-15"), requestBody: z.lazy(() => PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsRequestBody$outboundSchema ).optional(), }).transform((v) => { return remap$(v, { companyId: "company_id", xGustoAPIVersion: "X-Gusto-API-Version", requestBody: "RequestBody", }); }); export function patchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsRequestToJSON( patchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsRequest: PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsRequest, ): string { return JSON.stringify( PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsRequest$outboundSchema .parse(patchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsRequest), ); } /** @internal */ export const PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsResponse$inboundSchema: z.ZodType< PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsResponse, z.ZodTypeDef, unknown > = z.object({ HttpMeta: HTTPMetadata$inboundSchema, "Payroll-Partner-Disbursements": PayrollPartnerDisbursements$inboundSchema .optional(), }).transform((v) => { return remap$(v, { "HttpMeta": "httpMeta", "Payroll-Partner-Disbursements": "payrollPartnerDisbursements", }); }); export function patchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsResponseFromJSON( jsonString: string, ): SafeParseResult< PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsResponse, SDKValidationError > { return safeParse( jsonString, (x) => PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsResponse$inboundSchema .parse(JSON.parse(x)), `Failed to parse 'PatchV1CompaniesCompanyIdPayrollsIdPartnerDisbursementsResponse' from JSON`, ); }