TrackChangesController.coffee 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. RangesManager = require "./RangesManager"
  2. logger = require "logger-sharelatex"
  3. UserInfoController = require "../User/UserInfoController"
  4. DocumentUpdaterHandler = require "../DocumentUpdater/DocumentUpdaterHandler"
  5. EditorRealTimeController = require("../Editor/EditorRealTimeController")
  6. TrackChangesManager = require "./TrackChangesManager"
  7. module.exports = TrackChangesController =
  8. getAllRanges: (req, res, next) ->
  9. project_id = req.params.project_id
  10. logger.log {project_id}, "request for project ranges"
  11. RangesManager.getAllRanges project_id, (error, docs = []) ->
  12. return next(error) if error?
  13. docs = ({id: d._id, ranges: d.ranges} for d in docs)
  14. res.json docs
  15. getAllChangesUsers: (req, res, next) ->
  16. project_id = req.params.project_id
  17. logger.log {project_id}, "request for project range users"
  18. RangesManager.getAllChangesUsers project_id, (error, users) ->
  19. return next(error) if error?
  20. users = (UserInfoController.formatPersonalInfo(user) for user in users)
  21. res.json users
  22. acceptChange: (req, res, next) ->
  23. {project_id, doc_id, change_id} = req.params
  24. logger.log {project_id, doc_id, change_id}, "request to accept change"
  25. DocumentUpdaterHandler.acceptChange project_id, doc_id, change_id, (error) ->
  26. return next(error) if error?
  27. EditorRealTimeController.emitToRoom project_id, "accept-change", doc_id, change_id, (err)->
  28. res.send 204
  29. toggleTrackChanges: (req, res, next) ->
  30. {project_id} = req.params
  31. track_changes_on = !!req.body.on
  32. logger.log {project_id, track_changes_on}, "request to toggle track changes"
  33. TrackChangesManager.toggleTrackChanges project_id, track_changes_on, (error) ->
  34. return next(error) if error?
  35. EditorRealTimeController.emitToRoom project_id, "toggle-track-changes", track_changes_on, (err)->
  36. res.send 204