MetadataController.coffee 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. EditorRealTimeController = require "../Editor/EditorRealTimeController"
  2. MetadataHandler = require './MetadataHandler'
  3. logger = require 'logger-sharelatex'
  4. module.exports = MetadataController =
  5. getAllMetadata: (req, res, next) ->
  6. project_id = req.params.project_id
  7. logger.log {project_id}, "getting metadata for project"
  8. MetadataHandler.getMetadataForProject project_id, (err, projectMetadata) ->
  9. if err?
  10. logger.err {project_id, err}, "[MetadataController] error getting metadata from project"
  11. return next(err)
  12. res.json {
  13. projectId: project_id
  14. projectLabels: projectMetadata["labels"]
  15. projectPackages: projectMetadata["packages"]
  16. }
  17. broadcastMetadataForDoc: (req, res, next) ->
  18. project_id = req.params.project_id
  19. doc_id = req.params.doc_id
  20. logger.log {project_id, doc_id}, "getting metadata for doc"
  21. MetadataHandler.getMetadataForDoc project_id, doc_id, (err, docMetadata) ->
  22. if err?
  23. logger.err {project_id, doc_id, err}, "[MetadataController] error getting metadata from doc"
  24. return next(err)
  25. EditorRealTimeController.emitToRoom project_id, "broadcastDocMetadata", {
  26. docId: doc_id
  27. metadata: {
  28. labels: docMetadata["labels"]
  29. packages: docMetadata["packages"]
  30. }
  31. }
  32. res.sendStatus(200)