/* * 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 { ClosedEnum } from "../../types/enums.js"; /** * Desired payment speed. 1-day is only applicable to partners that opt in. */ export const PaymentConfigsUpdateRequestPaymentSpeed = { OneMinusDay: "1-day", TwoMinusDay: "2-day", FourMinusDay: "4-day", } as const; /** * Desired payment speed. 1-day is only applicable to partners that opt in. */ export type PaymentConfigsUpdateRequestPaymentSpeed = ClosedEnum< typeof PaymentConfigsUpdateRequestPaymentSpeed >; export type PaymentConfigsUpdateRequestPaymentConfigs = { /** * Desired payment speed. 1-day is only applicable to partners that opt in. */ paymentSpeed?: PaymentConfigsUpdateRequestPaymentSpeed | undefined; /** * Payment limit for 1-day or 2-day payroll (in dollars). */ fastPaymentLimit?: number | null | undefined; /** * Whether to use the partner-owned disbursement payment rail. */ partnerOwnedDisbursement?: boolean | undefined; }; /** * Request body for updating company payment configs. At least one of payment_speed, fast_payment_limit, or partner_owned_disbursement is required. */ export type PaymentConfigsUpdateRequest = { paymentConfigs?: PaymentConfigsUpdateRequestPaymentConfigs | undefined; }; /** @internal */ export const PaymentConfigsUpdateRequestPaymentSpeed$outboundSchema: z.ZodNativeEnum = z .nativeEnum(PaymentConfigsUpdateRequestPaymentSpeed); /** @internal */ export type PaymentConfigsUpdateRequestPaymentConfigs$Outbound = { payment_speed?: string | undefined; fast_payment_limit?: number | null | undefined; partner_owned_disbursement?: boolean | undefined; }; /** @internal */ export const PaymentConfigsUpdateRequestPaymentConfigs$outboundSchema: z.ZodType< PaymentConfigsUpdateRequestPaymentConfigs$Outbound, z.ZodTypeDef, PaymentConfigsUpdateRequestPaymentConfigs > = z.object({ paymentSpeed: PaymentConfigsUpdateRequestPaymentSpeed$outboundSchema .optional(), fastPaymentLimit: z.nullable(z.number()).optional(), partnerOwnedDisbursement: z.boolean().optional(), }).transform((v) => { return remap$(v, { paymentSpeed: "payment_speed", fastPaymentLimit: "fast_payment_limit", partnerOwnedDisbursement: "partner_owned_disbursement", }); }); export function paymentConfigsUpdateRequestPaymentConfigsToJSON( paymentConfigsUpdateRequestPaymentConfigs: PaymentConfigsUpdateRequestPaymentConfigs, ): string { return JSON.stringify( PaymentConfigsUpdateRequestPaymentConfigs$outboundSchema.parse( paymentConfigsUpdateRequestPaymentConfigs, ), ); } /** @internal */ export type PaymentConfigsUpdateRequest$Outbound = { payment_configs?: | PaymentConfigsUpdateRequestPaymentConfigs$Outbound | undefined; }; /** @internal */ export const PaymentConfigsUpdateRequest$outboundSchema: z.ZodType< PaymentConfigsUpdateRequest$Outbound, z.ZodTypeDef, PaymentConfigsUpdateRequest > = z.object({ paymentConfigs: z.lazy(() => PaymentConfigsUpdateRequestPaymentConfigs$outboundSchema ).optional(), }).transform((v) => { return remap$(v, { paymentConfigs: "payment_configs", }); }); export function paymentConfigsUpdateRequestToJSON( paymentConfigsUpdateRequest: PaymentConfigsUpdateRequest, ): string { return JSON.stringify( PaymentConfigsUpdateRequest$outboundSchema.parse( paymentConfigsUpdateRequest, ), ); }