Files
cfw-autumn/packages/autumn-js/src/generated/previewUpdateSubscriptionSchemas.ts

436 lines
14 KiB
TypeScript

// Generated by ts-to-zod
import { z } from "zod/v4";
export const previewUpdateGlobalsSchema = z.object({
xApiVersion: z.union([z.string(), z.undefined()]).optional(),
});
export const previewUpdateFeatureQuantityRequestSchema = z.object({
featureId: z.string(),
quantity: z.union([z.number(), z.undefined()]).optional(),
adjustable: z.union([z.boolean(), z.undefined()]).optional(),
});
export const previewUpdateToSchema = z.union([z.number(), z.string()]);
export const previewUpdateTierSchema = z.object({
to: z.union([z.number(), z.string()]),
amount: z.union([z.number(), z.undefined()]).optional(),
flatAmount: z.union([z.number(), z.undefined()]).optional(),
});
export const previewUpdateInvoiceModeSchema = z.object({
enabled: z.boolean(),
enablePlanImmediately: z.union([z.boolean(), z.undefined()]).optional(),
finalize: z.union([z.boolean(), z.undefined()]).optional(),
});
export const previewUpdateAttachDiscountSchema = z.object({
rewardId: z.union([z.string(), z.undefined()]).optional(),
promotionCode: z.union([z.string(), z.undefined()]).optional(),
});
export const previewUpdateRecalculateBalancesSchema = z.object({
enabled: z.boolean(),
});
export const previewUpdateDiscountSchema = z.object({
amountOff: z.number(),
percentOff: z.union([z.number(), z.undefined()]).optional(),
rewardId: z.union([z.string(), z.undefined()]).optional(),
rewardName: z.union([z.string(), z.undefined()]).optional(),
});
export const previewUpdateLineItemPeriodSchema = z.object({
start: z.number(),
end: z.number(),
});
export const previewUpdateLineItemSchema = z.object({
displayName: z.string(),
description: z.string(),
subtotal: z.number(),
total: z.number(),
discounts: z
.union([z.array(previewUpdateDiscountSchema), z.undefined()])
.optional(),
planId: z.string(),
featureId: z.string().nullable(),
period: z
.union([previewUpdateLineItemPeriodSchema, z.undefined()])
.optional(),
quantity: z.number(),
});
export const previewUpdateNextCycleDiscountSchema = z.object({
amountOff: z.number(),
percentOff: z.union([z.number(), z.undefined()]).optional(),
rewardId: z.union([z.string(), z.undefined()]).optional(),
rewardName: z.union([z.string(), z.undefined()]).optional(),
});
export const previewUpdateNextCycleLineItemPeriodSchema = z.object({
start: z.number(),
end: z.number(),
});
export const previewUpdateNextCycleLineItemSchema = z.object({
displayName: z.string(),
description: z.string(),
subtotal: z.number(),
total: z.number(),
discounts: z
.union([z.array(previewUpdateNextCycleDiscountSchema), z.undefined()])
.optional(),
planId: z.string(),
featureId: z.string().nullable(),
period: z
.union([previewUpdateNextCycleLineItemPeriodSchema, z.undefined()])
.optional(),
quantity: z.number(),
});
export const previewUpdateUsageLineItemPeriodSchema = z.object({
start: z.number(),
end: z.number(),
});
export const previewUpdateUsageLineItemSchema = z.object({
displayName: z.string(),
planId: z.string(),
featureId: z.string().nullable(),
period: z
.union([previewUpdateUsageLineItemPeriodSchema, z.undefined()])
.optional(),
});
export const previewUpdateNextCycleSchema = z.object({
startsAt: z.number(),
subtotal: z.number(),
total: z.number(),
lineItems: z.array(previewUpdateNextCycleLineItemSchema),
usageLineItems: z.array(previewUpdateUsageLineItemSchema),
});
export const previewUpdateIncomingFeatureQuantitySchema = z.object({
featureId: z.string(),
quantity: z.number(),
});
export const previewUpdateOutgoingFeatureQuantitySchema = z.object({
featureId: z.string(),
quantity: z.number(),
});
export const previewUpdateInvoiceCreditsSchema = z.object({
balance: z.number(),
currency: z.string(),
});
export const previewUpdateFeatureQuantityRequestOutboundSchema = z.object({
feature_id: z.string(),
quantity: z.union([z.number(), z.undefined()]).optional(),
adjustable: z.union([z.boolean(), z.undefined()]).optional(),
});
export const previewUpdateBasePriceOutboundSchema = z.object({
amount: z.number(),
interval: z.string(),
interval_count: z.union([z.number(), z.undefined()]).optional(),
});
export const previewUpdateResetOutboundSchema = z.object({
interval: z.string(),
interval_count: z.union([z.number(), z.undefined()]).optional(),
});
export const previewUpdateToOutboundSchema = z.union([z.number(), z.string()]);
export const previewUpdateTierOutboundSchema = z.object({
to: z.union([z.number(), z.string()]),
amount: z.union([z.number(), z.undefined()]).optional(),
flat_amount: z.union([z.number(), z.undefined()]).optional(),
});
export const previewUpdatePriceOutboundSchema = z.object({
amount: z.union([z.number(), z.undefined()]).optional(),
tiers: z
.union([z.array(previewUpdateTierOutboundSchema), z.undefined()])
.optional(),
tier_behavior: z.union([z.string(), z.undefined()]).optional(),
interval: z.string(),
interval_count: z.number(),
billing_units: z.number(),
billing_method: z.string(),
max_purchase: z.union([z.number(), z.undefined()]).optional(),
});
export const previewUpdateProrationOutboundSchema = z.object({
on_increase: z.string(),
on_decrease: z.string(),
});
export const previewUpdateRolloverOutboundSchema = z.object({
max: z.union([z.number(), z.undefined()]).optional(),
max_percentage: z.union([z.number(), z.undefined()]).optional(),
expiry_duration_type: z.string(),
expiry_duration_length: z.union([z.number(), z.undefined()]).optional(),
});
export const previewUpdatePlanItemOutboundSchema = z.object({
feature_id: z.string(),
included: z.union([z.number(), z.undefined()]).optional(),
unlimited: z.union([z.boolean(), z.undefined()]).optional(),
reset: z.union([previewUpdateResetOutboundSchema, z.undefined()]).optional(),
price: z.union([previewUpdatePriceOutboundSchema, z.undefined()]).optional(),
proration: z
.union([previewUpdateProrationOutboundSchema, z.undefined()])
.optional(),
rollover: z
.union([previewUpdateRolloverOutboundSchema, z.undefined()])
.optional(),
});
export const previewUpdateFreeTrialParamsOutboundSchema = z.object({
duration_length: z.number(),
duration_type: z.string(),
card_required: z.boolean(),
});
export const previewUpdateCustomizeOutboundSchema = z.object({
price: z
.union([previewUpdateBasePriceOutboundSchema, z.undefined()])
.optional()
.nullable(),
items: z
.union([z.array(previewUpdatePlanItemOutboundSchema), z.undefined()])
.optional(),
free_trial: z
.union([previewUpdateFreeTrialParamsOutboundSchema, z.undefined()])
.optional()
.nullable(),
});
export const previewUpdateInvoiceModeOutboundSchema = z.object({
enabled: z.boolean(),
enable_plan_immediately: z.boolean(),
finalize: z.boolean(),
});
export const previewUpdateAttachDiscountOutboundSchema = z.object({
reward_id: z.union([z.string(), z.undefined()]).optional(),
promotion_code: z.union([z.string(), z.undefined()]).optional(),
});
export const previewUpdateRecalculateBalancesOutboundSchema = z.object({
enabled: z.boolean(),
});
export const previewUpdateParamsOutboundSchema = z.object({
customer_id: z.string(),
entity_id: z.union([z.string(), z.undefined()]).optional(),
plan_id: z.union([z.string(), z.undefined()]).optional(),
feature_quantities: z
.union([
z.array(previewUpdateFeatureQuantityRequestOutboundSchema),
z.undefined(),
])
.optional(),
version: z.union([z.number(), z.undefined()]).optional(),
customize: z
.union([previewUpdateCustomizeOutboundSchema, z.undefined()])
.optional(),
invoice_mode: z
.union([previewUpdateInvoiceModeOutboundSchema, z.undefined()])
.optional(),
proration_behavior: z.union([z.string(), z.undefined()]).optional(),
redirect_mode: z.string(),
subscription_id: z.union([z.string(), z.undefined()]).optional(),
discounts: z
.union([z.array(previewUpdateAttachDiscountOutboundSchema), z.undefined()])
.optional(),
cancel_action: z.union([z.string(), z.undefined()]).optional(),
billing_cycle_anchor: z.union([z.literal("now"), z.undefined()]).optional(),
no_billing_changes: z.union([z.boolean(), z.undefined()]).optional(),
recalculate_balances: z
.union([previewUpdateRecalculateBalancesOutboundSchema, z.undefined()])
.optional(),
});
const closedEnumSchema = z.any();
const planSchema = z.any();
const openEnumSchema = z.any();
export const previewUpdatePriceIntervalSchema = closedEnumSchema;
export const previewUpdateBasePriceSchema = z.object({
amount: z.number(),
interval: previewUpdatePriceIntervalSchema,
intervalCount: z.union([z.number(), z.undefined()]).optional(),
});
export const previewUpdateResetIntervalSchema = closedEnumSchema;
export const previewUpdateResetSchema = z.object({
interval: previewUpdateResetIntervalSchema,
intervalCount: z.union([z.number(), z.undefined()]).optional(),
});
export const previewUpdateTierBehaviorSchema = closedEnumSchema;
export const previewUpdateItemPriceIntervalSchema = closedEnumSchema;
export const previewUpdateBillingMethodSchema = closedEnumSchema;
export const previewUpdatePriceSchema = z.object({
amount: z.union([z.number(), z.undefined()]).optional(),
tiers: z.union([z.array(previewUpdateTierSchema), z.undefined()]).optional(),
tierBehavior: z
.union([previewUpdateTierBehaviorSchema, z.undefined()])
.optional(),
interval: previewUpdateItemPriceIntervalSchema,
intervalCount: z.union([z.number(), z.undefined()]).optional(),
billingUnits: z.union([z.number(), z.undefined()]).optional(),
billingMethod: previewUpdateBillingMethodSchema,
maxPurchase: z.union([z.number(), z.undefined()]).optional(),
});
export const previewUpdateOnIncreaseSchema = closedEnumSchema;
export const previewUpdateOnDecreaseSchema = closedEnumSchema;
export const previewUpdateProrationSchema = z.object({
onIncrease: previewUpdateOnIncreaseSchema,
onDecrease: previewUpdateOnDecreaseSchema,
});
export const previewUpdateExpiryDurationTypeSchema = closedEnumSchema;
export const previewUpdateRolloverSchema = z.object({
max: z.union([z.number(), z.undefined()]).optional(),
maxPercentage: z.union([z.number(), z.undefined()]).optional(),
expiryDurationType: previewUpdateExpiryDurationTypeSchema,
expiryDurationLength: z.union([z.number(), z.undefined()]).optional(),
});
export const previewUpdatePlanItemSchema = z.object({
featureId: z.string(),
included: z.union([z.number(), z.undefined()]).optional(),
unlimited: z.union([z.boolean(), z.undefined()]).optional(),
reset: z.union([previewUpdateResetSchema, z.undefined()]).optional(),
price: z.union([previewUpdatePriceSchema, z.undefined()]).optional(),
proration: z.union([previewUpdateProrationSchema, z.undefined()]).optional(),
rollover: z.union([previewUpdateRolloverSchema, z.undefined()]).optional(),
});
export const previewUpdateDurationTypeSchema = closedEnumSchema;
export const previewUpdateFreeTrialParamsSchema = z.object({
durationLength: z.number(),
durationType: z
.union([previewUpdateDurationTypeSchema, z.undefined()])
.optional(),
cardRequired: z.union([z.boolean(), z.undefined()]).optional(),
});
export const previewUpdateCustomizeSchema = z.object({
price: z
.union([previewUpdateBasePriceSchema, z.undefined()])
.optional()
.nullable(),
items: z
.union([z.array(previewUpdatePlanItemSchema), z.undefined()])
.optional(),
freeTrial: z
.union([previewUpdateFreeTrialParamsSchema, z.undefined()])
.optional()
.nullable(),
});
export const previewUpdateProrationBehaviorSchema = closedEnumSchema;
export const previewUpdateRedirectModeSchema = closedEnumSchema;
export const previewUpdateCancelActionSchema = closedEnumSchema;
export const previewUpdateParamsSchema = z.object({
customerId: z.string(),
entityId: z.union([z.string(), z.undefined()]).optional(),
planId: z.union([z.string(), z.undefined()]).optional(),
featureQuantities: z
.union([z.array(previewUpdateFeatureQuantityRequestSchema), z.undefined()])
.optional(),
version: z.union([z.number(), z.undefined()]).optional(),
customize: z.union([previewUpdateCustomizeSchema, z.undefined()]).optional(),
invoiceMode: z
.union([previewUpdateInvoiceModeSchema, z.undefined()])
.optional(),
prorationBehavior: z
.union([previewUpdateProrationBehaviorSchema, z.undefined()])
.optional(),
redirectMode: z
.union([previewUpdateRedirectModeSchema, z.undefined()])
.optional(),
subscriptionId: z.union([z.string(), z.undefined()]).optional(),
discounts: z
.union([z.array(previewUpdateAttachDiscountSchema), z.undefined()])
.optional(),
cancelAction: z
.union([previewUpdateCancelActionSchema, z.undefined()])
.optional(),
billingCycleAnchor: z.union([z.literal("now"), z.undefined()]).optional(),
noBillingChanges: z.union([z.boolean(), z.undefined()]).optional(),
recalculateBalances: z
.union([previewUpdateRecalculateBalancesSchema, z.undefined()])
.optional(),
});
export const previewUpdateIncomingSchema = z.object({
planId: z.string(),
plan: z.union([planSchema, z.undefined()]).optional(),
featureQuantities: z.array(previewUpdateIncomingFeatureQuantitySchema),
effectiveAt: z.number().nullable(),
canceledAt: z.number().nullable(),
expiresAt: z.number().nullable(),
});
export const previewUpdateOutgoingSchema = z.object({
planId: z.string(),
plan: z.union([planSchema, z.undefined()]).optional(),
featureQuantities: z.array(previewUpdateOutgoingFeatureQuantitySchema),
effectiveAt: z.number().nullable(),
canceledAt: z.number().nullable(),
expiresAt: z.number().nullable(),
});
export const intentSchema = openEnumSchema;
export const previewUpdateStatusSchema = openEnumSchema;
export const previewUpdateTaxSchema = z.object({
total: z.number(),
amountInclusive: z.number(),
amountExclusive: z.number(),
currency: z.string(),
status: previewUpdateStatusSchema,
});
export const previewUpdateResponseSchema = z.object({
customerId: z.string(),
lineItems: z.array(previewUpdateLineItemSchema),
subtotal: z.number(),
total: z.number(),
currency: z.string(),
nextCycle: z.union([previewUpdateNextCycleSchema, z.undefined()]).optional(),
expand: z.union([z.array(z.string()), z.undefined()]).optional(),
incoming: z.array(previewUpdateIncomingSchema),
outgoing: z.array(previewUpdateOutgoingSchema),
intent: intentSchema,
tax: z.union([previewUpdateTaxSchema, z.undefined()]).optional(),
invoiceCredits: z
.union([previewUpdateInvoiceCreditsSchema, z.undefined()])
.optional(),
});