36 lines
1020 B
JavaScript
36 lines
1020 B
JavaScript
const Joi = require("joi");
|
|
|
|
// ========================
|
|
// Contacts Validation
|
|
// ========================
|
|
const insertContactSchema = Joi.object({
|
|
contact_name: Joi.string().min(3).max(100).required(),
|
|
contact_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",
|
|
}),
|
|
is_active: Joi.boolean().required(),
|
|
contact_type: Joi.string().max(255).optional().allow(null)
|
|
});
|
|
|
|
const updateContactSchema = Joi.object({
|
|
contact_name: Joi.string().min(3).max(100).optional(),
|
|
contact_phone: Joi.string()
|
|
.pattern(/^(?:\+62|0)8\d{7,10}$/)
|
|
.optional()
|
|
.messages({
|
|
"string.pattern.base":
|
|
"Phone number must be a valid Indonesian number in format +628XXXXXXXXX",
|
|
}),
|
|
is_active: Joi.boolean().optional(),
|
|
contact_type: Joi.string().max(255).optional().allow(null)
|
|
});
|
|
|
|
module.exports = {
|
|
insertContactSchema,
|
|
updateContactSchema,
|
|
};
|