/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v4-mini"; import { remap as remap$ } from "../../lib/primitives.js"; import { CheckoutParams, CheckoutParams$Outbound, CheckoutParams$outboundSchema, } from "./checkout-params.js"; import { SubModifyAddonParams, SubModifyAddonParams$Outbound, SubModifyAddonParams$outboundSchema, } from "./sub-modify-addon-params.js"; import { SubModifyCouponParams, SubModifyCouponParams$Outbound, SubModifyCouponParams$outboundSchema, } from "./sub-modify-coupon-params.js"; import { SubModifyGroupedInvoicingParams, SubModifyGroupedInvoicingParams$Outbound, SubModifyGroupedInvoicingParams$outboundSchema, } from "./sub-modify-grouped-invoicing-params.js"; import { SubModifyInheritanceRequest, SubModifyInheritanceRequest$Outbound, SubModifyInheritanceRequest$outboundSchema, } from "./sub-modify-inheritance-request.js"; import { SubModifyQuantityChangeRequest, SubModifyQuantityChangeRequest$Outbound, SubModifyQuantityChangeRequest$outboundSchema, } from "./sub-modify-quantity-change-request.js"; import { SubModifyTaxParams, SubModifyTaxParams$Outbound, SubModifyTaxParams$outboundSchema, } from "./sub-modify-tax-params.js"; import { SubModifyTrialEndRequest, SubModifyTrialEndRequest$Outbound, SubModifyTrialEndRequest$outboundSchema, } from "./sub-modify-trial-end-request.js"; import { SubscriptionModifyType, SubscriptionModifyType$outboundSchema, } from "./subscription-modify-type.js"; export type ExecuteSubscriptionModifyRequest = { addonParams?: SubModifyAddonParams | undefined; checkout?: CheckoutParams | undefined; couponParams?: SubModifyCouponParams | undefined; groupedInvoicingParams?: SubModifyGroupedInvoicingParams | undefined; inheritanceParams?: SubModifyInheritanceRequest | undefined; quantityChangeParams?: SubModifyQuantityChangeRequest | undefined; taxParams?: SubModifyTaxParams | undefined; trialEndParams?: SubModifyTrialEndRequest | undefined; type: SubscriptionModifyType; }; /** @internal */ export type ExecuteSubscriptionModifyRequest$Outbound = { addon_params?: SubModifyAddonParams$Outbound | undefined; checkout?: CheckoutParams$Outbound | undefined; coupon_params?: SubModifyCouponParams$Outbound | undefined; grouped_invoicing_params?: | SubModifyGroupedInvoicingParams$Outbound | undefined; inheritance_params?: SubModifyInheritanceRequest$Outbound | undefined; quantity_change_params?: SubModifyQuantityChangeRequest$Outbound | undefined; tax_params?: SubModifyTaxParams$Outbound | undefined; trial_end_params?: SubModifyTrialEndRequest$Outbound | undefined; type: string; }; /** @internal */ export const ExecuteSubscriptionModifyRequest$outboundSchema: z.ZodMiniType< ExecuteSubscriptionModifyRequest$Outbound, ExecuteSubscriptionModifyRequest > = z.pipe( z.object({ addonParams: z.optional(SubModifyAddonParams$outboundSchema), checkout: z.optional(CheckoutParams$outboundSchema), couponParams: z.optional(SubModifyCouponParams$outboundSchema), groupedInvoicingParams: z.optional( SubModifyGroupedInvoicingParams$outboundSchema, ), inheritanceParams: z.optional(SubModifyInheritanceRequest$outboundSchema), quantityChangeParams: z.optional( SubModifyQuantityChangeRequest$outboundSchema, ), taxParams: z.optional(SubModifyTaxParams$outboundSchema), trialEndParams: z.optional(SubModifyTrialEndRequest$outboundSchema), type: SubscriptionModifyType$outboundSchema, }), z.transform((v) => { return remap$(v, { addonParams: "addon_params", couponParams: "coupon_params", groupedInvoicingParams: "grouped_invoicing_params", inheritanceParams: "inheritance_params", quantityChangeParams: "quantity_change_params", taxParams: "tax_params", trialEndParams: "trial_end_params", }); }), ); export function executeSubscriptionModifyRequestToJSON( executeSubscriptionModifyRequest: ExecuteSubscriptionModifyRequest, ): string { return JSON.stringify( ExecuteSubscriptionModifyRequest$outboundSchema.parse( executeSubscriptionModifyRequest, ), ); }