archetecture security fix
This commit is contained in:
+62
@@ -0,0 +1,62 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.contactSchema = exports.capturePaypalSchema = exports.paySchema = exports.bookSchema = exports.validateCodeSchema = exports.availabilitySchema = exports.bookingParamSchema = exports.slugParamSchema = void 0;
|
||||
const zod_1 = require("zod");
|
||||
exports.slugParamSchema = zod_1.z.object({ slug: zod_1.z.string() });
|
||||
exports.bookingParamSchema = zod_1.z.object({ slug: zod_1.z.string(), id: zod_1.z.string() });
|
||||
exports.availabilitySchema = zod_1.z.object({
|
||||
vehicleId: zod_1.z.string().cuid(),
|
||||
startDate: zod_1.z.string().datetime(),
|
||||
endDate: zod_1.z.string().datetime(),
|
||||
});
|
||||
exports.validateCodeSchema = zod_1.z.object({ code: zod_1.z.string().min(1) });
|
||||
exports.bookSchema = zod_1.z.object({
|
||||
vehicleId: zod_1.z.string().cuid(),
|
||||
startDate: zod_1.z.string().datetime(),
|
||||
endDate: zod_1.z.string().datetime(),
|
||||
firstName: zod_1.z.string().min(1),
|
||||
lastName: zod_1.z.string().min(1),
|
||||
email: zod_1.z.string().email(),
|
||||
phone: zod_1.z.string().min(1).max(30),
|
||||
driverLicense: zod_1.z.string().min(1).max(50),
|
||||
dateOfBirth: zod_1.z.string().datetime(),
|
||||
licenseExpiry: zod_1.z.string().datetime(),
|
||||
licenseIssuedAt: zod_1.z.string().datetime(),
|
||||
nationality: zod_1.z.string().min(1).max(100),
|
||||
identityDocumentNumber: zod_1.z.string().min(1).max(100),
|
||||
fullAddress: zod_1.z.string().min(1).max(500),
|
||||
licenseCountry: zod_1.z.string().min(1).max(100),
|
||||
licenseNumber: zod_1.z.string().min(1).max(50).optional(),
|
||||
licenseCategory: zod_1.z.string().min(1).max(20),
|
||||
internationalLicenseNumber: zod_1.z.string().trim().max(100).optional(),
|
||||
offerId: zod_1.z.string().cuid().optional(),
|
||||
promoCodeUsed: zod_1.z.string().optional(),
|
||||
notes: zod_1.z.string().optional(),
|
||||
source: zod_1.z.enum(['PUBLIC_SITE', 'MARKETPLACE']).default('PUBLIC_SITE'),
|
||||
selectedInsurancePolicyIds: zod_1.z.array(zod_1.z.string()).default([]),
|
||||
additionalDrivers: zod_1.z.array(zod_1.z.object({
|
||||
firstName: zod_1.z.string().min(1),
|
||||
lastName: zod_1.z.string().min(1),
|
||||
email: zod_1.z.string().email().optional(),
|
||||
phone: zod_1.z.string().optional(),
|
||||
driverLicense: zod_1.z.string().min(1),
|
||||
licenseExpiry: zod_1.z.string().datetime().optional(),
|
||||
licenseIssuedAt: zod_1.z.string().datetime().optional(),
|
||||
dateOfBirth: zod_1.z.string().datetime().optional(),
|
||||
nationality: zod_1.z.string().optional(),
|
||||
})).default([]),
|
||||
});
|
||||
exports.paySchema = zod_1.z.object({
|
||||
provider: zod_1.z.enum(['AMANPAY', 'PAYPAL']),
|
||||
currency: zod_1.z.literal('MAD').default('MAD'),
|
||||
successUrl: zod_1.z.string().url(),
|
||||
failureUrl: zod_1.z.string().url(),
|
||||
accessToken: zod_1.z.string().min(20),
|
||||
});
|
||||
exports.capturePaypalSchema = zod_1.z.object({ paypalOrderId: zod_1.z.string() });
|
||||
exports.contactSchema = zod_1.z.object({
|
||||
name: zod_1.z.string().min(1),
|
||||
email: zod_1.z.string().email(),
|
||||
message: zod_1.z.string().min(1),
|
||||
});
|
||||
//# sourceMappingURL=site.schemas.js.map
|
||||
Reference in New Issue
Block a user