ReferencesSearchController.coffee 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. logger = require('logger-sharelatex')
  2. ReferencesSearchHandler = require('./ReferencesSearchHandler')
  3. ProjectLocator = require("../Project/ProjectLocator")
  4. settings = require('settings-sharelatex')
  5. module.exports = ReferencesSearchController =
  6. indexFile: (req, res) ->
  7. project_id = req.params.Project_id
  8. doc_id = req.body.docId
  9. logger.log {project_id, doc_id}, "indexing references"
  10. if !doc_id
  11. logger.log project_id: project_id, "no fileUrl supplied"
  12. return res.send 400
  13. ProjectLocator.findElement {project_id: project_id, element_id: doc_id, type: 'doc'}, (err, doc) ->
  14. if err?
  15. logger.err {err, project_id, doc_id}, "error finding doc to index"
  16. return res.send 500
  17. doc_url = ReferencesSearchController._buildDocUrl project_id, doc_id
  18. ReferencesSearchHandler.indexFile project_id, doc_url, (err) ->
  19. if err
  20. logger.err {err, project_id, doc_id}, "error indexing references file"
  21. return res.send 500
  22. res.send 200
  23. getKeys: (req, res) ->
  24. project_id = req.params.Project_id
  25. logger.log {project_id}, "getting project references keys"
  26. ReferencesSearchHandler.getKeys project_id, (err, data) ->
  27. if err
  28. logger.err {err, project_id}, "error getting references keys"
  29. return res.send 500
  30. return res.json data
  31. _buildDocUrl: (project_id, doc_id) ->
  32. "#{settings.apis.web.url}/project/#{project_id}/doc/#{doc_id}"