messages.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. const express = require('express');
  2. const router = express.Router();
  3. const guard = require('../helpers/guard');
  4. const controllers = require('../controllers/messages');
  5. const validation = require('../validation/message');
  6. const upload = require('../helpers/upload');
  7. router
  8. .get('/', guard, controllers.listMessages)
  9. .post('/', guard, validation.sentMessage, controllers.sentMessage)
  10. .post('/call/', guard, validation.callMessage, controllers.callMessage)
  11. .post('/reply/', guard, validation.sentMessage, controllers.sentMessageReply)
  12. .post('/edit/', guard, validation.editMessage, controllers.editMessage)
  13. .post(
  14. '/forward/',
  15. guard,
  16. validation.sentForwardMessage,
  17. controllers.sentMessageForward
  18. )
  19. .patch(
  20. '/selected/',
  21. guard,
  22. validation.removeSelected,
  23. controllers.removeSelected
  24. )
  25. .patch(
  26. '/call/end',
  27. guard,
  28. validation.callMessage,
  29. controllers.updateMessageCall
  30. )
  31. .patch('/unpin/all/', guard, validation.unpinAll, controllers.unpinAllMessage)
  32. .post(
  33. '/image/:companionIdAndCaption',
  34. [guard, upload.uploadImage.single('image'), validation.validateUploadFile],
  35. controllers.imageMessage
  36. )
  37. .post(
  38. '/audio/:companionIdAndCaption',
  39. [guard, upload.uploadAudio.single('audio'), validation.validateUploadFile],
  40. controllers.audioMessage
  41. )
  42. .post(
  43. '/video/:companionIdAndCaption',
  44. [guard, upload.uploadVideo.single('video'), validation.validateUploadFile],
  45. controllers.videoMessage
  46. )
  47. .post(
  48. '/file/:companionIdAndCaption',
  49. [guard, upload.uploadFile.single('file'), validation.validateUploadFile],
  50. controllers.fileMessage
  51. );
  52. router
  53. .get('/:companionId', guard, controllers.listMessagesById)
  54. .patch('/pin/:id', guard, controllers.updateMessagePin)
  55. .patch('/:id', guard, controllers.updateMessageEmoji)
  56. .delete('/:id', guard, controllers.removeMessage);
  57. module.exports = router;