38 lines
1.1 KiB
JavaScript
38 lines
1.1 KiB
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),
|
|
email: Joi.string().email().optional()
|
|
});
|
|
|
|
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),
|
|
email: Joi.string().email().required()
|
|
});
|
|
|
|
module.exports = {
|
|
insertContactSchema,
|
|
updateContactSchema,
|
|
};
|