groupster-engine
Version:
Randomly group objects using do-group and don't-group rules.
16 lines (11 loc) • 608 B
JavaScript
/* eslint-disable newline-per-chained-call */
import Joi from 'joi-browser';
export const IDsSchema = Joi.array().min(2).unique().items(Joi.string()).required();
export const GroupSizesSchema = Joi.array().items(Joi.number().min(1)).required();
export const RuleSchema = Joi.object().keys({
// If true -> try to group members together. If false -> try to put members in separate groups.
shouldGroup: Joi.bool().required(),
// IDs of members for which this rule applies
IDs: Joi.array().min(2).unique().items(Joi.string()).required(),
});
export const RulesSchema = Joi.array().items(RuleSchema);