archetecture security fix
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.idParamSchema = exports.flagSchema = exports.approveLicenseSchema = exports.listQuerySchema = exports.customerSchema = exports.paginationSchema = void 0;
|
||||
const zod_1 = require("zod");
|
||||
exports.paginationSchema = zod_1.z.object({
|
||||
page: zod_1.z.coerce.number().int().min(1).max(10000).default(1),
|
||||
pageSize: zod_1.z.coerce.number().int().min(1).max(100).default(20),
|
||||
});
|
||||
exports.customerSchema = zod_1.z.object({
|
||||
firstName: zod_1.z.string().min(1).max(100).trim(),
|
||||
lastName: zod_1.z.string().min(1).max(100).trim(),
|
||||
email: zod_1.z.string().email().max(255).trim().toLowerCase(),
|
||||
phone: zod_1.z.string().max(30).trim().optional(),
|
||||
driverLicense: zod_1.z.string().max(50).trim().optional(),
|
||||
dateOfBirth: zod_1.z.string().datetime().optional(),
|
||||
nationality: zod_1.z.string().max(100).trim().optional(),
|
||||
address: zod_1.z.record(zod_1.z.unknown()).optional(),
|
||||
notes: zod_1.z.string().max(2000).trim().optional(),
|
||||
licenseExpiry: zod_1.z.string().datetime().optional(),
|
||||
licenseIssuedAt: zod_1.z.string().datetime().optional(),
|
||||
licenseCountry: zod_1.z.string().max(100).trim().optional(),
|
||||
licenseNumber: zod_1.z.string().max(50).trim().optional(),
|
||||
licenseCategory: zod_1.z.string().max(20).trim().optional(),
|
||||
});
|
||||
exports.listQuerySchema = exports.paginationSchema.extend({
|
||||
q: zod_1.z.string().max(100).optional(),
|
||||
flagged: zod_1.z.enum(['true', 'false']).optional(),
|
||||
});
|
||||
exports.approveLicenseSchema = zod_1.z.object({
|
||||
decision: zod_1.z.enum(['APPROVE', 'DENY']),
|
||||
note: zod_1.z.string().optional(),
|
||||
});
|
||||
exports.flagSchema = zod_1.z.object({
|
||||
reason: zod_1.z.string().optional(),
|
||||
});
|
||||
exports.idParamSchema = zod_1.z.object({ id: zod_1.z.string() });
|
||||
//# sourceMappingURL=customer.schemas.js.map
|
||||
Reference in New Issue
Block a user