crud: notification

This commit is contained in:
2025-11-13 11:29:35 +07:00
parent d2d6ce2ab1
commit 342c06e49c
5 changed files with 364 additions and 0 deletions

View File

@@ -0,0 +1,65 @@
// ========================
// Notification Validation
// ========================
const Joi = require("joi");
// ========================
// Insert Notification Schema
// ========================
const insertNotificationSchema = Joi.object({
error_code_id: Joi.number().required().messages({
"any.required": "error_code_id is required",
"number.base": "error_code_id must be a number",
}),
is_send: Joi.boolean().required().messages({
"any.required": "is_send is required",
"boolean.base": "is_send must be a boolean",
}),
is_delivered: Joi.boolean().required().messages({
"any.required": "is_delivered is required",
"boolean.base": "is_delivered must be a boolean",
}),
is_read: Joi.boolean().required().messages({
"any.required": "is_read is required",
"boolean.base": "is_read must be a boolean",
}),
is_active: Joi.boolean().required().messages({
"any.required": "is_active is required",
"boolean.base": "is_active must be a boolean",
}),
});
// ========================
// Update Notification Schema
// ========================
const updateNotificationSchema = Joi.object({
error_code_id: Joi.number().optional().messages({
"number.base": "error_code_id must be a number",
}),
is_send: Joi.boolean().optional().messages({
"boolean.base": "is_send must be a boolean",
}),
is_delivered: Joi.boolean().optional().messages({
"boolean.base": "is_delivered must be a boolean",
}),
is_read: Joi.boolean().optional().messages({
"boolean.base": "is_read must be a boolean",
}),
is_active: Joi.boolean().optional().messages({
"boolean.base": "is_active must be a boolean",
}),
});
module.exports = {
insertNotificationSchema,
updateNotificationSchema,
};