import { body } from 'express-validator';
export const loginValidators = [
body('email').isEmail().withMessage('Invalid email'),
body('password').notEmpty().withMessage('Password is required'),
];
export const registerValidators = [
body('email').isEmail().withMessage('Invalid email'),
body('password')
.isLength({ min: 8 })
.withMessage('Password must be at least 8 characters long'),
body('firstName')
.isLength({ min: 2 })
.withMessage('First name must be at least 2 characters long'),
body('lastName')
.isLength({ min: 2 })
.withMessage('Last name must be at least 2 characters long'),
body('role').isIn([
'admin',
'super_admin',
'inst_admin',
'teacher',
'school',
'inst_designer',
]),
body('phone')
.optional({
nullable: true,
})
.isMobilePhone('any')
.withMessage('Invalid phone number'),
body('schoolName')
.optional()
.isLength({ min: 2 })
.withMessage('School name must be at least 2 characters long'),
body('address')
.optional({
nullable: true,
})
.isLength({ min: 2 })
.withMessage('Address must be at least 2 characters long'),
// isActive
body('isActive')
.optional()
.isBoolean()
.withMessage('Invalid value for isActive'),
];
export const registerTeacherValidators = [
body('email').isEmail().withMessage('Invalid email'),
body('password')
.isLength({ min: 8 })
.withMessage('Password must be at least 8 characters long'),
body('firstName')
.isLength({ min: 2 })
.withMessage('First name must be at least 2 characters long'),
body('lastName')
.isLength({ min: 2 })
.withMessage('Last name must be at least 2 characters long'),
body('role').isIn(['teacher']),
// phone can be null
body('phone')
.optional({
nullable: true,
})
.isMobilePhone('any')
.withMessage('Invalid phone number'),
// isActive
body('isActive')
.optional()
.isBoolean()
.withMessage('Invalid value for isActive'),
];