30 lines
891 B
JavaScript
30 lines
891 B
JavaScript
const Joi = require('joi');
|
|
|
|
const createGroupSchema = Joi.object({
|
|
name: Joi.string().trim().min(1).max(100).required().messages({
|
|
'string.empty': 'Group name is required',
|
|
'string.min': 'Group name must be at least 1 character',
|
|
'string.max': 'Group name must not exceed 100 characters',
|
|
}),
|
|
members: Joi.array().items(Joi.number().integer().positive()).min(1).required().messages({
|
|
'array.min': 'At least one member is required',
|
|
'array.base': 'Members must be an array',
|
|
}),
|
|
});
|
|
|
|
const updateGroupSchema = Joi.object({
|
|
name: Joi.string().trim().min(1).max(100).optional(),
|
|
});
|
|
|
|
const addMembersSchema = Joi.object({
|
|
userIds: Joi.array().items(Joi.number().integer().positive()).min(1).required().messages({
|
|
'array.min': 'At least one user ID is required',
|
|
}),
|
|
});
|
|
|
|
module.exports = {
|
|
createGroupSchema,
|
|
updateGroupSchema,
|
|
addMembersSchema,
|
|
};
|