message.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. const Joi = require('joi');
  2. const validate = require('./validate');
  3. const schemaSentMessage = Joi.object({
  4. id: Joi.string().required(),
  5. message: Joi.string().min(1).max(1400).required(),
  6. caption: Joi.any().optional(),
  7. });
  8. const schemaSentMessageReply = Joi.object({
  9. id: Joi.string().required(),
  10. newMessage: Joi.string().min(1).max(1400).required(),
  11. newCaption: Joi.any().optional(),
  12. });
  13. const schemaRemoveSelected = Joi.object({
  14. companionId: Joi.string().required(),
  15. selectedArr: Joi.array().items(Joi.string().min(5).max(50)).required(),
  16. });
  17. const schemaUnpinAll = Joi.object({
  18. pinnedMessages: Joi.array().items(Joi.string().min(5).max(50)).required(),
  19. });
  20. module.exports.sentMessage = (req, _res, next) => {
  21. return validate(schemaSentMessage, req.body, next);
  22. };
  23. module.exports.sentMessageReply = (req, _res, next) => {
  24. return validate(schemaSentMessageReply, req.body, next);
  25. };
  26. module.exports.removeSelected = (req, _res, next) => {
  27. return validate(schemaRemoveSelected, req.body, next);
  28. };
  29. module.exports.unpinAll = (req, _res, next) => {
  30. return validate(schemaUnpinAll, req.body, next);
  31. };
  32. module.exports.validateUploadFile = (req, res, next) => {
  33. if (!req.file)
  34. return res.status(400).json({
  35. status: 'error',
  36. code: 400,
  37. data: 'Bad request',
  38. message: 'File not found',
  39. });
  40. next();
  41. };