42 lines
2.1 KiB
JavaScript
42 lines
2.1 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.listUsersSchema = exports.updateUserSchema = exports.createUserSchema = void 0;
|
|
const zod_1 = require("zod");
|
|
const client_1 = require("@prisma/client");
|
|
exports.createUserSchema = zod_1.z.object({
|
|
email: zod_1.z.string().email(),
|
|
password: zod_1.z.string()
|
|
.min(12, 'Password must be at least 12 characters')
|
|
.regex(/[A-Z]/, 'Password must contain at least one uppercase letter')
|
|
.regex(/[a-z]/, 'Password must contain at least one lowercase letter')
|
|
.regex(/[0-9]/, 'Password must contain at least one digit'),
|
|
name: zod_1.z.string().optional(),
|
|
phone: zod_1.z.string().optional(),
|
|
role: zod_1.z.nativeEnum(client_1.UserRole).optional(),
|
|
status: zod_1.z.nativeEnum(client_1.UserStatus).optional(),
|
|
expiresAt: zod_1.z.string().datetime().optional(),
|
|
expireDays: zod_1.z.number().int().positive().optional(),
|
|
});
|
|
exports.updateUserSchema = zod_1.z.object({
|
|
email: zod_1.z.string().email().optional(),
|
|
password: zod_1.z.string()
|
|
.min(12, 'Password must be at least 12 characters')
|
|
.regex(/[A-Z]/, 'Password must contain at least one uppercase letter')
|
|
.regex(/[a-z]/, 'Password must contain at least one lowercase letter')
|
|
.regex(/[0-9]/, 'Password must contain at least one digit')
|
|
.optional(),
|
|
name: zod_1.z.string().optional(),
|
|
phone: zod_1.z.string().optional(),
|
|
role: zod_1.z.nativeEnum(client_1.UserRole).optional(),
|
|
status: zod_1.z.nativeEnum(client_1.UserStatus).optional(),
|
|
expiresAt: zod_1.z.string().datetime().nullable().optional(),
|
|
expireDays: zod_1.z.number().int().positive().nullable().optional(),
|
|
});
|
|
exports.listUsersSchema = zod_1.z.object({
|
|
page: zod_1.z.coerce.number().int().positive().default(1),
|
|
limit: zod_1.z.coerce.number().int().positive().max(100).default(20),
|
|
search: zod_1.z.string().optional(),
|
|
role: zod_1.z.nativeEnum(client_1.UserRole).optional(),
|
|
status: zod_1.z.nativeEnum(client_1.UserStatus).optional(),
|
|
});
|
|
//# sourceMappingURL=users.schemas.js.map
|