archetecture security fix
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
"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
|
||||
Reference in New Issue
Block a user