49 lines
1.4 KiB
TypeScript
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;
|
|
};
|