DocumentController.coffee 1.4 KB

123456789101112131415161718192021222324252627282930313233343536
  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, {pathname: true}, (error, lines, rev, version, ranges, pathname) ->
  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. pathname: pathname
  23. }
  24. setDocument: (req, res, next = (error) ->) ->
  25. project_id = req.params.Project_id
  26. doc_id = req.params.doc_id
  27. {lines, version, ranges} = req.body
  28. logger.log doc_id:doc_id, project_id:project_id, "receiving set document request from api (docupdater)"
  29. ProjectEntityHandler.updateDocLines project_id, doc_id, lines, version, ranges, (error) ->
  30. if error?
  31. logger.err err:error, doc_id:doc_id, project_id:project_id, "error finding element for getDocument"
  32. return next(error)
  33. logger.log doc_id:doc_id, project_id:project_id, "finished receiving set document request from api (docupdater)"
  34. res.sendStatus 200