42 lines
1.6 KiB
JavaScript
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
|