mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-06-04 22:59:01 +02:00
61 lines
2.1 KiB
CoffeeScript
61 lines
2.1 KiB
CoffeeScript
EditorRealTimeController = require "../Editor/EditorRealTimeController"
|
|
MetadataHandler = require './MetadataHandler'
|
|
logger = require 'logger-sharelatex'
|
|
|
|
|
|
module.exports = MetadataController =
|
|
|
|
getAllLabels: (req, res, next) ->
|
|
project_id = req.params.project_id
|
|
logger.log {project_id}, "getting labels for project"
|
|
MetadataHandler.getMetadataForProject project_id, (err, projectMetadata) ->
|
|
if err?
|
|
logger.err {project_id, err}, "[MetadataController] error getting labels from project"
|
|
return next err
|
|
res.json {
|
|
projectId: project_id
|
|
projectLabels: projectMetadata["labels"]
|
|
}
|
|
|
|
getAllPackages: (req, res, next) ->
|
|
project_id = req.params.project_id
|
|
logger.log {project_id}, "getting labels for project"
|
|
MetadataHandler.getMetadataForProject project_id, (err, projectMetadata) ->
|
|
if err?
|
|
logger.err {project_id, err}, "[MetadataController] error getting labels from project"
|
|
return next err
|
|
res.json {
|
|
projectId: project_id
|
|
projectPackages: projectMetadata["packages"]
|
|
}
|
|
|
|
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
|