DocumentController.coffee 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. ProjectEntityHandler = require "../Project/ProjectEntityHandler"
  2. logger = require("logger-sharelatex")
  3. module.exports =
  4. getDocument: (req, res, next = (error) ->) ->
  5. project_id = req.params.Project_id
  6. doc_id = req.params.doc_id
  7. plain = req?.query?.plain == 'true'
  8. logger.log doc_id:doc_id, project_id:project_id, "receiving get document request from api (docupdater)"
  9. ProjectEntityHandler.getDoc project_id, doc_id, (error, lines, rev, version, ranges) ->
  10. if error?
  11. logger.err err:error, doc_id:doc_id, project_id:project_id, "error finding element for getDocument"
  12. return next(error)
  13. if plain
  14. res.type "text/plain"
  15. res.send lines.join('\n')
  16. else
  17. res.type "json"
  18. res.send JSON.stringify {
  19. lines: lines
  20. version: version
  21. ranges: ranges
  22. }
  23. setDocument: (req, res, next = (error) ->) ->
  24. project_id = req.params.Project_id
  25. doc_id = req.params.doc_id
  26. {lines, version, ranges} = req.body
  27. logger.log doc_id:doc_id, project_id:project_id, "receiving set document request from api (docupdater)"
  28. ProjectEntityHandler.updateDocLines project_id, doc_id, lines, version, ranges, (error) ->
  29. if error?
  30. logger.err err:error, doc_id:doc_id, project_id:project_id, "error finding element for getDocument"
  31. return next(error)
  32. logger.log doc_id:doc_id, project_id:project_id, "finished receiving set document request from api (docupdater)"
  33. res.sendStatus 200