messages.js 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  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('/reply/', guard, validation.sentMessage, controllers.sentMessageReply)
  11. .patch(
  12. '/selected/',
  13. guard,
  14. validation.removeSelected,
  15. controllers.removeSelected
  16. )
  17. .patch('/unpin/all/', guard, validation.unpinAll, controllers.unpinAllMessage)
  18. .post(
  19. '/image/:companionIdAndCaption',
  20. [guard, upload.uploadImage.single('image'), validation.validateUploadFile],
  21. controllers.imageMessage
  22. )
  23. .post(
  24. '/audio/:companionIdAndCaption',
  25. [guard, upload.uploadAudio.single('audio'), validation.validateUploadFile],
  26. controllers.audioMessage
  27. )
  28. .post(
  29. '/video/:companionIdAndCaption',
  30. [guard, upload.uploadVideo.single('video'), validation.validateUploadFile],
  31. controllers.videoMessage
  32. )
  33. .post(
  34. '/file/:companionIdAndCaption',
  35. [guard, upload.uploadFile.single('file'), validation.validateUploadFile],
  36. controllers.fileMessage
  37. );
  38. router
  39. .get('/:companionId', guard, controllers.listMessagesById)
  40. .patch('/pin/:id', guard, controllers.updateMessagePin)
  41. .patch('/:id', guard, controllers.updateMessageEmoji)
  42. .delete('/:id', guard, controllers.removeMessage);
  43. module.exports = router;