user.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. const Joi = require('joi');
  2. const validate = require('./validate');
  3. const schemaCreateNewUser = Joi.object({
  4. number: Joi.string().min(8).max(14).required(),
  5. }).min(1);
  6. const schemaUpdateUser = Joi.object({
  7. name: Joi.string().alphanum().min(3).max(30).optional().trim().optional(),
  8. lastName: Joi.string().alphanum().min(3).max(30).optional().trim().optional(),
  9. number: Joi.string().min(8).max(14).optional(),
  10. });
  11. const schemaLogIn = Joi.object({
  12. number: Joi.string().min(8).max(14).required(),
  13. code: Joi.string().min(3).max(12).required(),
  14. }).min(2);
  15. module.exports.registration = (req, _res, next) => {
  16. return validate(schemaCreateNewUser, req.body, next);
  17. };
  18. module.exports.update = (req, _res, next) => {
  19. return validate(schemaUpdateUser, req.body, next);
  20. };
  21. module.exports.logIn = (req, _res, next) => {
  22. return validate(schemaLogIn, req.body, next);
  23. };
  24. module.exports.validateUploadAvatar = (req, res, next) => {
  25. if (!req.file)
  26. return res.status(400).json({
  27. status: 'error',
  28. code: 400,
  29. data: 'Bad request',
  30. message: 'Field of avatar with file not found',
  31. });
  32. next();
  33. };