Files
ScommettiApp/backend-node/shared/validators/schemas/group.schema.js
T
2026-03-26 22:46:03 +01:00

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,
};