RangesController.coffee 1.3 KB

123456789101112131415161718192021222324252627282930
  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. module.exports = RangesController =
  7. getAllRanges: (req, res, next) ->
  8. project_id = req.params.project_id
  9. logger.log {project_id}, "request for project ranges"
  10. RangesManager.getAllRanges project_id, (error, docs = []) ->
  11. return next(error) if error?
  12. docs = ({id: d._id, ranges: d.ranges} for d in docs)
  13. res.json docs
  14. getAllRangesUsers: (req, res, next) ->
  15. project_id = req.params.project_id
  16. logger.log {project_id}, "request for project range users"
  17. RangesManager.getAllRangesUsers project_id, (error, users) ->
  18. return next(error) if error?
  19. users = (UserInfoController.formatPersonalInfo(user) for user in users)
  20. res.json users
  21. acceptChange: (req, res, next) ->
  22. {project_id, doc_id, change_id} = req.params
  23. logger.log {project_id, doc_id, change_id}, "request to accept change"
  24. DocumentUpdaterHandler.acceptChange project_id, doc_id, change_id, (error) ->
  25. return next(error) if error?
  26. EditorRealTimeController.emitToRoom project_id, "accept-change", doc_id, change_id, (err)->
  27. res.send 204