Files
cfw-autumn/shared/models/billingModels/stripe/stripeBillingPlan.ts
2026-01-29 10:59:26 +00:00

49 lines
1.4 KiB
TypeScript

import { z } from "zod/v4";
import {
type StripeCheckoutSessionAction,
StripeCheckoutSessionActionSchema,
} from "./stripeCheckoutSessionAction";
import {
type StripeInvoiceAction,
StripeInvoiceActionSchema,
} from "./stripeInvoiceAction";
import {
type StripeInvoiceItemsAction,
StripeInvoiceItemsActionSchema,
} from "./stripeInvoiceItemsAction";
import {
type StripeSubscriptionAction,
StripeSubscriptionActionSchema,
} from "./stripeSubscriptionAction";
import {
type StripeSubscriptionScheduleAction,
StripeSubscriptionScheduleActionSchema,
} from "./stripeSubscriptionScheduleAction";
export {
StripeCheckoutSessionActionSchema,
StripeInvoiceActionSchema,
StripeInvoiceItemsActionSchema,
StripeSubscriptionActionSchema,
StripeSubscriptionScheduleActionSchema,
type StripeCheckoutSessionAction,
type StripeInvoiceAction,
type StripeInvoiceItemsAction,
type StripeSubscriptionAction,
type StripeSubscriptionScheduleAction,
};
export const StripeBillingPlanSchema = z.object({
subscriptionAction: StripeSubscriptionActionSchema.optional(),
subscriptionScheduleAction: StripeSubscriptionScheduleActionSchema.optional(),
invoiceAction: StripeInvoiceActionSchema.optional(),
invoiceItemsAction: StripeInvoiceItemsActionSchema.optional(),
checkoutSessionAction: StripeCheckoutSessionActionSchema.optional(),
});
export type StripeBillingPlan = z.infer<typeof StripeBillingPlanSchema>;
export type StripeInvoiceMetadata = {
autumn_metadata_id: string;
};