Files
alrahma_sunday_school_api/apps/api/dist/modules/subscriptions/subscription.schemas.js
T
2026-06-11 03:22:12 -04:00

42 lines
1.6 KiB
JavaScript

"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