message.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  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 schemaCallMessage = Joi.object({
  9. id: Joi.string().required(),
  10. duration: Joi.number().required(),
  11. });
  12. const schemaEditMessage = Joi.object({
  13. id: Joi.string().required(),
  14. message: Joi.any().optional(),
  15. caption: Joi.any().optional(),
  16. });
  17. const schemaSentForwardMessage = Joi.object({
  18. id: Joi.string().required(),
  19. companionIdForwardToAndFrom: Joi.any().required(),
  20. message: Joi.string().min(1).max(1400).required(),
  21. caption: Joi.any().optional(),
  22. });
  23. const schemaRemoveSelected = Joi.object({
  24. companionId: Joi.string().required(),
  25. selectedArr: Joi.array().items(Joi.string().min(5).max(50)).required(),
  26. });
  27. const schemaUnpinAll = Joi.object({
  28. pinnedMessages: Joi.array().items(Joi.string().min(5).max(50)).required(),
  29. });
  30. module.exports.sentMessage = (req, _res, next) => {
  31. return validate(schemaSentMessage, req.body, next);
  32. };
  33. module.exports.callMessage = (req, _res, next) => {
  34. return validate(schemaCallMessage, req.body, next);
  35. };
  36. module.exports.editMessage = (req, _res, next) => {
  37. return validate(schemaEditMessage, req.body, next);
  38. };
  39. module.exports.sentForwardMessage = (req, _res, next) => {
  40. return validate(schemaSentForwardMessage, req.body, next);
  41. };
  42. module.exports.removeSelected = (req, _res, next) => {
  43. return validate(schemaRemoveSelected, req.body, next);
  44. };
  45. module.exports.unpinAll = (req, _res, next) => {
  46. return validate(schemaUnpinAll, req.body, next);
  47. };
  48. module.exports.validateUploadFile = (req, res, next) => {
  49. if (!req.file)
  50. return res.status(400).json({
  51. status: 'error',
  52. code: 400,
  53. data: 'Bad request',
  54. message: 'File not found',
  55. });
  56. next();
  57. };