CommentsController.coffee 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. ChatApiHandler = require("../Chat/ChatApiHandler")
  2. EditorRealTimeController = require("../Editor/EditorRealTimeController")
  3. logger = require("logger-sharelatex")
  4. AuthenticationController = require('../Authentication/AuthenticationController')
  5. module.exports = CommentsController =
  6. sendComment: (req, res, next) ->
  7. {project_id, thread_id} = req.params
  8. content = req.body.content
  9. user_id = AuthenticationController.getLoggedInUserId(req)
  10. if !user_id?
  11. err = new Error('no logged-in user')
  12. return next(err)
  13. logger.log {project_id, thread_id, user_id, content}, "sending comment"
  14. ChatApiHandler.sendComment project_id, thread_id, user_id, content, (err, comment) ->
  15. return next(err) if err?
  16. EditorRealTimeController.emitToRoom project_id, "new-comment", thread_id, comment, (err) ->
  17. res.send 204
  18. getThreads: (req, res, next) ->
  19. {project_id} = req.params
  20. logger.log {project_id}, "getting comment threads for project"
  21. ChatApiHandler.getThreads project_id, (err, threads) ->
  22. return next(err) if err?
  23. res.json threads
  24. resolveThread: (req, res, next) ->
  25. {project_id, thread_id} = req.params
  26. user_id = AuthenticationController.getLoggedInUserId(req)
  27. logger.log {project_id, thread_id, user_id}, "resolving comment thread"
  28. ChatApiHandler.resolveThread project_id, thread_id, user_id, (err, threads) ->
  29. return next(err) if err?
  30. EditorRealTimeController.emitToRoom project_id, "resolve-thread", thread_id, user_id, (err)->
  31. res.send 204
  32. reopenThread: (req, res, next) ->
  33. {project_id, thread_id} = req.params
  34. logger.log {project_id, thread_id}, "reopening comment thread"
  35. ChatApiHandler.reopenThread project_id, thread_id, (err, threads) ->
  36. return next(err) if err?
  37. EditorRealTimeController.emitToRoom project_id, "reopen-thread", thread_id, (err)->
  38. res.send 204