Add endpoint for getting all docs
This commit is contained in:
@@ -13,6 +13,14 @@ module.exports = DocManager =
|
||||
return callback new Errors.NotFoundError("No such doc: #{project_id}") if !doc?
|
||||
return callback null, doc, mongoPath
|
||||
|
||||
getAllDocs: (project_id, callback = (error, docs) ->) ->
|
||||
MongoManager.findProject project_id, (error, project) ->
|
||||
return callback(error) if error?
|
||||
return callback new Errors.NotFoundError("No such project: #{project_id}") if !project?
|
||||
DocManager.findAllDocsInProject project, (error, docs) ->
|
||||
return callback(error) if error?
|
||||
return callback null, docs
|
||||
|
||||
updateDoc: (project_id, doc_id, lines, callback = (error, modified) ->) ->
|
||||
DocManager.getDoc project_id, doc_id, (error, doc, mongoPath) ->
|
||||
return callback(error) if error?
|
||||
@@ -39,6 +47,9 @@ module.exports = DocManager =
|
||||
return callback(error) if error?
|
||||
callback()
|
||||
|
||||
findAllDocsInProject: (project, callback = (error, docs) ->) ->
|
||||
callback null, @_findAllDocsInFolder project.rootFolder[0]
|
||||
|
||||
findDocInProject: (project, doc_id, callback = (error, doc, mongoPath) ->) ->
|
||||
result = @_findDocInFolder project.rootFolder[0], doc_id, "rootFolder.0"
|
||||
if result?
|
||||
@@ -58,4 +69,11 @@ module.exports = DocManager =
|
||||
result = @_findDocInFolder childFolder, doc_id, "#{currentPath}.folders.#{i}"
|
||||
return result if result?
|
||||
|
||||
return null
|
||||
return null
|
||||
|
||||
_findAllDocsInFolder: (folder) ->
|
||||
docs = folder.docs or []
|
||||
for childFolder in folder.folders or []
|
||||
docs = docs.concat @_findAllDocsInFolder childFolder
|
||||
return docs
|
||||
|
||||
|
||||
@@ -11,9 +11,14 @@ module.exports = HttpController =
|
||||
if !doc?
|
||||
res.send 404
|
||||
else
|
||||
res.json {
|
||||
lines: doc.lines
|
||||
}
|
||||
res.json HttpController._buildDocView(doc)
|
||||
|
||||
getAllDocs: (req, res, next = (error) ->) ->
|
||||
project_id = req.params.project_id
|
||||
logger.log project_id: project_id, "getting all docs"
|
||||
DocManager.getAllDocs project_id, (error, docs = []) ->
|
||||
return next(error) if error?
|
||||
res.json docs.map(HttpController._buildDocView)
|
||||
|
||||
updateDoc: (req, res, next = (error) ->) ->
|
||||
project_id = req.params.project_id
|
||||
@@ -38,4 +43,12 @@ module.exports = HttpController =
|
||||
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
|
||||
res.send 204
|
||||
|
||||
_buildDocView: (doc) ->
|
||||
return {
|
||||
_id: doc._id.toString()
|
||||
lines: doc.lines
|
||||
rev: doc.rev
|
||||
version: doc.version
|
||||
}
|
||||
Reference in New Issue
Block a user