team.validator.js 958 B

12345678910111213141516171819202122232425262728293031323334353637
  1. // api/team.validator.js
  2. import Joi from "@hapi/joi";
  3. class TeamValidator {
  4. async onCreate(obj) {
  5. const schemaKeys = {
  6. name: Joi.string().required(),
  7. code: Joi.string().required(),
  8. };
  9. const schema = Joi.object().keys(schemaKeys);
  10. const { error } = schema.validate(obj, { abortEarly: false });
  11. return error;
  12. }
  13. async onUpdate(obj) {
  14. const schemaKeys = {
  15. name: Joi.string().required(),
  16. };
  17. const schema = Joi.object().keys(schemaKeys);
  18. const { error } = schema.validate(obj, { abortEarly: false });
  19. return error;
  20. }
  21. async onAddOrRemoveUser(obj) {
  22. const schemaKeys = {
  23. id: Joi.string().hex().length(24).required(),
  24. accountId: Joi.required(),
  25. userId: Joi.string().length(24).required(),
  26. };
  27. const schema = Joi.object().keys(schemaKeys);
  28. const { error } = schema.validate(obj, { abortEarly: false });
  29. return error;
  30. }
  31. }
  32. export default new TeamValidator();