"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.reactivateSchema = exports.cancelSchema = exports.startTrialSchema = exports.capturePaypalSchema = exports.changePlanSchema = exports.checkoutSchema = void 0; const zod_1 = require("zod"); const planEnum = zod_1.z.enum(['STARTER', 'GROWTH', 'PRO']); const billingPeriodEnum = zod_1.z.enum(['MONTHLY', 'ANNUAL']); const providerEnum = zod_1.z.enum(['AMANPAY', 'PAYPAL']); const currencyEnum = zod_1.z.enum(['MAD', 'EUR', 'USD']); exports.checkoutSchema = zod_1.z.object({ plan: planEnum, billingPeriod: billingPeriodEnum, currency: zod_1.z.literal('MAD'), provider: providerEnum, successUrl: zod_1.z.string().url(), failureUrl: zod_1.z.string().url(), }); exports.changePlanSchema = zod_1.z.object({ plan: planEnum, billingPeriod: billingPeriodEnum, currency: currencyEnum, }); exports.capturePaypalSchema = zod_1.z.object({ paypalOrderId: zod_1.z.string(), }); exports.startTrialSchema = zod_1.z.object({ plan: planEnum, billingPeriod: billingPeriodEnum, currency: zod_1.z.literal('MAD').default('MAD'), }); exports.cancelSchema = zod_1.z.object({ mode: zod_1.z.enum(['period_end', 'immediate']).default('period_end'), reason: zod_1.z.string().max(500).optional(), }); exports.reactivateSchema = zod_1.z.object({ plan: planEnum, billingPeriod: billingPeriodEnum, currency: zod_1.z.literal('MAD'), provider: providerEnum, successUrl: zod_1.z.string().url(), failureUrl: zod_1.z.string().url(), }); //# sourceMappingURL=subscription.schemas.js.map