2014-04-28 11:45:59 -04:00
|
|
|
DocManager = require "./DocManager"
|
|
|
|
logger = require "logger-sharelatex"
|
|
|
|
|
|
|
|
module.exports = HttpController =
|
|
|
|
getDoc: (req, res, next = (error) ->) ->
|
|
|
|
project_id = req.params.project_id
|
2014-04-29 06:49:09 -04:00
|
|
|
doc_id = req.params.doc_id
|
2014-04-28 11:45:59 -04:00
|
|
|
logger.log project_id: project_id, doc_id: doc_id, "getting doc"
|
|
|
|
DocManager.getDoc project_id, doc_id, (error, doc) ->
|
|
|
|
return next(error) if error?
|
|
|
|
if !doc?
|
|
|
|
res.send 404
|
|
|
|
else
|
2014-04-29 06:49:09 -04:00
|
|
|
res.json {
|
|
|
|
lines: doc.lines
|
|
|
|
}
|
|
|
|
|
|
|
|
updateDoc: (req, res, next = (error) ->) ->
|
|
|
|
project_id = req.params.project_id
|
|
|
|
doc_id = req.params.doc_id
|
|
|
|
lines = req.body?.lines
|
|
|
|
|
|
|
|
if !lines? or lines not instanceof Array
|
|
|
|
logger.error project_id: project_id, doc_id: doc_id, "no doc lines provided"
|
|
|
|
res.send 400 # Bad Request
|
|
|
|
return
|
|
|
|
|
|
|
|
logger.log project_id: project_id, doc_id: doc_id, "updating doc"
|
|
|
|
DocManager.updateDoc project_id, doc_id, lines, (error, modified) ->
|
|
|
|
return next(error) if error?
|
|
|
|
res.json {
|
|
|
|
modified: modified
|
2014-04-29 11:36:10 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
deleteDoc: (req, res, next = (error) ->) ->
|
|
|
|
project_id = req.params.project_id
|
|
|
|
doc_id = req.params.doc_id
|
|
|
|
logger.log project_id: project_id, doc_id: doc_id, "deleting doc"
|
|
|
|
DocManager.deleteDoc project_id, doc_id, (error) ->
|
|
|
|
return next(error) if error?
|
|
|
|
res.send 204
|