archetecture security fix
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.inspectionParamSchema = exports.driverParamSchema = exports.idParamSchema = exports.inspectionTypeParam = exports.approvalSchema = exports.cancelSchema = exports.extendSchema = exports.checkoutSchema = exports.checkinSchema = exports.listQuerySchema = exports.updateSchema = exports.createSchema = exports.inspectionSchema = exports.additionalDriverSchema = void 0;
|
||||
const zod_1 = require("zod");
|
||||
exports.additionalDriverSchema = 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(),
|
||||
});
|
||||
exports.inspectionSchema = zod_1.z.object({
|
||||
mileage: zod_1.z.number().int().optional(),
|
||||
fuelLevel: zod_1.z.enum(['FULL', 'SEVEN_EIGHTHS', 'THREE_QUARTERS', 'FIVE_EIGHTHS', 'HALF', 'THREE_EIGHTHS', 'QUARTER', 'ONE_EIGHTH', 'EMPTY']),
|
||||
fuelCharge: zod_1.z.number().int().min(0).optional(),
|
||||
generalCondition: zod_1.z.string().optional(),
|
||||
employeeNotes: zod_1.z.string().optional(),
|
||||
customerAgreed: zod_1.z.boolean().default(false),
|
||||
damagePoints: zod_1.z.array(zod_1.z.object({
|
||||
viewType: zod_1.z.enum(['TOP', 'FRONT', 'REAR', 'LEFT', 'RIGHT']),
|
||||
x: zod_1.z.number(),
|
||||
y: zod_1.z.number(),
|
||||
damageType: zod_1.z.enum(['SCRATCH', 'DENT', 'CRACK', 'CHIP', 'MISSING', 'STAIN', 'OTHER']),
|
||||
severity: zod_1.z.enum(['MINOR', 'MODERATE', 'MAJOR']).default('MINOR'),
|
||||
description: zod_1.z.string().optional(),
|
||||
isPreExisting: zod_1.z.boolean().default(false),
|
||||
})).default([]),
|
||||
});
|
||||
exports.createSchema = zod_1.z.object({
|
||||
vehicleId: zod_1.z.string().cuid(),
|
||||
customerId: zod_1.z.string().cuid(),
|
||||
startDate: zod_1.z.string().datetime(),
|
||||
endDate: zod_1.z.string().datetime(),
|
||||
pickupLocation: zod_1.z.string().optional(),
|
||||
returnLocation: zod_1.z.string().optional(),
|
||||
offerId: zod_1.z.string().cuid().optional(),
|
||||
promoCodeUsed: zod_1.z.string().optional(),
|
||||
depositAmount: zod_1.z.number().int().min(0).default(0),
|
||||
paymentMode: zod_1.z.string().max(50).optional(),
|
||||
notes: zod_1.z.string().optional(),
|
||||
selectedInsurancePolicyIds: zod_1.z.array(zod_1.z.string()).default([]),
|
||||
additionalDrivers: zod_1.z.array(exports.additionalDriverSchema).default([]),
|
||||
});
|
||||
exports.updateSchema = zod_1.z.object({
|
||||
startDate: zod_1.z.string().datetime().optional(),
|
||||
endDate: zod_1.z.string().datetime().optional(),
|
||||
pickupLocation: zod_1.z.string().optional().nullable(),
|
||||
returnLocation: zod_1.z.string().optional().nullable(),
|
||||
depositAmount: zod_1.z.number().int().min(0).optional(),
|
||||
notes: zod_1.z.string().optional().nullable(),
|
||||
paymentMode: zod_1.z.string().max(50).optional().nullable(),
|
||||
damageChargeAmount: zod_1.z.number().int().min(0).optional(),
|
||||
damageChargeNote: zod_1.z.string().optional().nullable(),
|
||||
});
|
||||
exports.listQuerySchema = zod_1.z.object({
|
||||
status: zod_1.z.string().optional(),
|
||||
vehicleId: zod_1.z.string().optional(),
|
||||
source: zod_1.z.string().optional(),
|
||||
startDate: zod_1.z.string().optional(),
|
||||
endDate: zod_1.z.string().optional(),
|
||||
page: zod_1.z.coerce.number().int().min(1).default(1),
|
||||
pageSize: zod_1.z.coerce.number().int().min(1).max(100).default(20),
|
||||
});
|
||||
exports.checkinSchema = zod_1.z.object({ mileage: zod_1.z.number().int().optional() });
|
||||
exports.checkoutSchema = zod_1.z.object({ mileage: zod_1.z.number().int().optional() });
|
||||
exports.extendSchema = zod_1.z.object({ newEndDate: zod_1.z.string().datetime(), reason: zod_1.z.string().min(1) });
|
||||
exports.cancelSchema = zod_1.z.object({ reason: zod_1.z.string().optional() });
|
||||
exports.approvalSchema = zod_1.z.object({ approved: zod_1.z.boolean(), note: zod_1.z.string().optional() });
|
||||
exports.inspectionTypeParam = zod_1.z.enum(['CHECKIN', 'CHECKOUT']);
|
||||
exports.idParamSchema = zod_1.z.object({ id: zod_1.z.string() });
|
||||
exports.driverParamSchema = zod_1.z.object({ id: zod_1.z.string(), driverId: zod_1.z.string() });
|
||||
exports.inspectionParamSchema = zod_1.z.object({ id: zod_1.z.string(), type: zod_1.z.string() });
|
||||
//# sourceMappingURL=reservation.schemas.js.map
|
||||
Reference in New Issue
Block a user