contact.js 985 B

123456789101112131415161718192021222324252627282930313233
  1. const Joi = require("joi");
  2. const validate = require("./validate");
  3. const schemaCreateContact = Joi.object({
  4. name: Joi.string().alphanum().min(3).max(30).trim().required(),
  5. phone: Joi.string()
  6. .regex(/^[0-9]{10}$/)
  7. .messages({
  8. "string.pattern.base": `Phone number must have 10 digits and only numbers characters.`,
  9. })
  10. .required(),
  11. subscription: Joi.string().optional(),
  12. }).min(3);
  13. const schemaUpdateContact = Joi.object({
  14. name: Joi.string().alphanum().min(3).max(30).optional().trim().optional(),
  15. phone: Joi.string()
  16. .regex(/^[0-9]{10}$/)
  17. .messages({
  18. "string.pattern.base": `Phone number must have 10 digits and only numbers characters.`,
  19. })
  20. .optional(),
  21. subscription: Joi.string().optional(),
  22. }).min(1);
  23. module.exports.createContact = (req, _res, next) => {
  24. return validate(schemaCreateContact, req.body, next);
  25. };
  26. module.exports.update = (req, _res, next) => {
  27. return validate(schemaUpdateContact, req.body, next);
  28. };