| 1234567891011121314151617181920212223 |
- logger = require('logger-sharelatex')
- ReferencesSearchHandler = require('./ReferencesSearchHandler')
- settings = require('settings-sharelatex')
- EditorRealTimeController = require("../Editor/EditorRealTimeController")
- module.exports = ReferencesSearchController =
- index: (req, res) ->
- projectId = req.params.Project_id
- shouldBroadcast = req.body.shouldBroadcast
- docIds = req.body.docIds
- if (!docIds or (!(docIds instanceof Array) and (docIds != 'ALL')))
- logger.err {projectId, docIds}, "docIds is not valid, should be either Array or String 'ALL'"
- return res.send 400
- logger.log {projectId, docIds: docIds}, "index references for project"
- ReferencesSearchHandler.index projectId, docIds, (err, data) ->
- if err
- logger.err {err, projectId}, "error indexing references"
- return res.send 500
- if shouldBroadcast
- logger.log {projectId}, "emitting new references keys to connected clients"
- EditorRealTimeController.emitToRoom projectId, 'references:keys:updated', data.keys
- return res.json data
|