Files
overleaf-cep/services/web/app/coffee/Features/ProjectMetadata/MetadataController.coffee
T
2017-10-04 17:56:43 +01:00

37 lines
1.2 KiB
CoffeeScript

EditorRealTimeController = require "../Editor/EditorRealTimeController"
MetadataHandler = require './MetadataHandler'
logger = require 'logger-sharelatex'
module.exports = MetadataController =
getAllMetadata: (req, res, next) ->
project_id = req.params.project_id
logger.log {project_id}, "getting metadata for project"
MetadataHandler.getMetadataForProject project_id, (err, projectMetadata) ->
if err?
logger.err {project_id, err}, "[MetadataController] error getting metadata from project"
return next(err)
res.json {
projectId: project_id
projectLabels: projectMetadata["labels"]
projectPackages: projectMetadata["packages"]
}
broadcastMetadataForDoc: (req, res, next) ->
project_id = req.params.project_id
doc_id = req.params.doc_id
logger.log {project_id, doc_id}, "getting metadata for doc"
MetadataHandler.getMetadataForDoc project_id, doc_id, (err, docMetadata) ->
if err?
logger.err {project_id, doc_id, err}, "[MetadataController] error getting metadata from doc"
return next(err)
EditorRealTimeController.emitToRoom project_id, "broadcastDocMetadata", {
docId: doc_id
metadata: {
labels: docMetadata["labels"]
packages: docMetadata["packages"]
}
}
res.sendStatus(200)