import * as joi from "joi"; import { Role } from "../enums/roles.enum"; export const createAdminSchema = joi .object() .required() .keys({ name: joi.string().empty().required().messages({ "string.base": "please enter a valid name", "any.required": "name is required", "string.empty": "name can not be empty", }), email: joi .string() .required() .email({ minDomainSegments: 2, tlds: { allow: ["com", "net", "org", "eg", "io"] }, }) .empty() .messages({ "string.email": "please enter a valid email", "any.required": "email must be entered", "string.empty": "email can not be empty", }), password: joi.string().empty().min(8).required().messages({ "string.base": "please enter a valid password", "any.required": "password must be entered", "string.empty": "password cannot be empty", "string.min": "password must be at least 8 characters", }), dob: joi.date().empty().optional().messages({ "date.base": "please enter a valid date", }), role: joi .string() .valid(...Object.values(Role)) .optional().messages({ "string.base": "please enter a valid role", "string.empty": "role cannot be empty" }), gender: joi.string().empty().required().messages({ "string.base": "please enter a valid gender", "any.required": "gender must be entered", "string.empty": "gender cannot be empty" }) });