UNPKG

@coursebuilder/core

Version:

Core package for Course Builder

77 lines (75 loc) 1.92 kB
import { z } from "./chunk-JLNB6NRA.js"; // src/schemas/stripe/checkout-session-completed.ts var addressSchema = z.object({ city: z.string().nullable(), country: z.string().nullable(), line1: z.string().nullable(), line2: z.string().nullable(), postal_code: z.string().nullable(), state: z.string().nullable() }); var customerDetailsSchema = z.object({ address: addressSchema, email: z.string().nullable(), name: z.string().nullable() }); var baseDataObjectSchema = { id: z.string(), object: z.literal("checkout.session"), amount_subtotal: z.number(), amount_total: z.number(), created: z.number(), currency: z.string(), custom_fields: z.array(z.unknown()), customer: z.string(), customer_details: customerDetailsSchema, livemode: z.boolean(), metadata: z.record(z.string()), payment_method_collection: z.string(), payment_status: z.string(), phone_number_collection: z.object({ enabled: z.boolean() }), status: z.string(), success_url: z.string(), total_details: z.object({ amount_discount: z.number(), amount_shipping: z.number(), amount_tax: z.number() }) }; var dataObjectSchema = z.discriminatedUnion("mode", [ z.object({ ...baseDataObjectSchema, mode: z.literal("payment"), payment_intent: z.string(), subscription: z.null() }), z.object({ ...baseDataObjectSchema, mode: z.literal("subscription"), payment_intent: z.null(), subscription: z.string() }), z.object({ ...baseDataObjectSchema, mode: z.literal("setup"), payment_intent: z.null(), subscription: z.null() }) ]); var dataSchema = z.object({ object: dataObjectSchema }); var checkoutSessionCompletedEvent = z.object({ id: z.string(), created: z.number(), data: dataSchema, type: z.literal("checkout.session.completed") }); export { checkoutSessionCompletedEvent }; //# sourceMappingURL=chunk-GTLQQGKR.js.map