wisdom #2

Merged
yogiedigital merged 126 commits from wisdom into main 2025-10-20 03:26:33 +00:00
Showing only changes of commit 20b70edaa6 - Show all commits

View File

@@ -63,9 +63,38 @@ const deviceUpdateSchema = Joi.object({
}) })
}).min(1); }).min(1);
// ========================
// Users Validation
// ========================
const userSchema = Joi.object({
fullname: Joi.string().min(3).max(100).required(),
name: Joi.string().alphanum().min(3).max(50).required(),
email: Joi.string().email().required(),
phone: Joi.string()
.pattern(/^(?:\+62|0)8\d{7,10}$/)
.required()
.messages({
'string.pattern.base':
'Phone number must be a valid Indonesian number in format +628XXXXXXXXX'
}),
password: Joi.string()
.min(8)
.pattern(/[A-Z]/, 'uppercase letter')
.pattern(/[a-z]/, 'lowercase letter')
.pattern(/\d/, 'number')
.pattern(/[!@#$%^&*(),.?":{}|<>]/, 'special character')
.required()
.messages({
'string.min': 'Password must be at least 8 characters long',
'string.pattern.name': 'Password must contain at least one {#name}'
}),
role_id : Joi.number().integer().min(1)
});
module.exports = { module.exports = {
registerSchema, registerSchema,
loginSchema, loginSchema,
deviceSchema, deviceSchema,
deviceUpdateSchema deviceUpdateSchema,
userSchema,
}; };