LabelsController.coffee 1.1 KB

12345678910111213141516171819202122232425262728
  1. EditorRealTimeController = require "../Editor/EditorRealTimeController"
  2. LabelsHandler = require './LabelsHandler'
  3. logger = require 'logger-sharelatex'
  4. module.exports = LabelsController =
  5. getAllLabels: (req, res, next) ->
  6. project_id = req.params.project_id
  7. logger.log {project_id}, "getting all labels for project"
  8. LabelsHandler.getAllLabelsForProject project_id, (err, projectLabels) ->
  9. if err?
  10. logger.err {project_id, err}, "[LabelsController] error getting all labels from project"
  11. return next(err)
  12. res.json {projectId: project_id, projectLabels: projectLabels}
  13. broadcastLabelsForDoc: (req, res, next) ->
  14. project_id = req.params.project_id
  15. doc_id = req.params.doc_id
  16. logger.log {project_id, doc_id}, "getting labels for doc"
  17. LabelsHandler.getLabelsForDoc project_id, doc_id, (err, docLabels) ->
  18. if err?
  19. logger.err {project_id, doc_id, err}, "[LabelsController] error getting labels from doc"
  20. return next(err)
  21. EditorRealTimeController.emitToRoom project_id, 'broadcastDocLabels', {
  22. docId: doc_id, labels: docLabels
  23. }
  24. res.sendStatus(200)