Revert "Revert "add ensureRootDocumentIsValidForProject method""

This reverts commit 80bb46f92f200f48fc39138afb27df729959888c.

GitOrigin-RevId: aced9579ed1f4b0ab1780be0f4f45ae8d6a405a5
This commit is contained in:
Ersun Warncke
2020-02-05 08:53:31 -04:00
committed by Copybot
parent d0ada551fa
commit 725a3c5282
2 changed files with 49 additions and 47 deletions
@@ -204,50 +204,52 @@ module.exports = ProjectRootDocManager = {
if (callback == null) {
callback = function(error) {}
}
return ProjectGetter.getProject(project_id, { rootDoc_id: 1 }, function(
error,
project
) {
if (error != null) {
return callback(error)
}
if (project == null) {
return callback(new Error('project not found'))
}
if (project.rootDoc_id != null) {
return ProjectEntityHandler.getAllDocPathsFromProjectById(
project_id,
function(error, docPaths) {
if (error != null) {
return callback(error)
}
let rootDocValid = false
for (let doc_id in docPaths) {
const _path = docPaths[doc_id]
if (doc_id === project.rootDoc_id) {
rootDocValid = true
}
}
if (rootDocValid) {
return callback()
} else {
return ProjectEntityUpdateHandler.unsetRootDoc(project_id, () =>
ProjectRootDocManager.setRootDocAutomatically(
project_id,
callback
)
)
}
}
)
} else {
return ProjectRootDocManager.setRootDocAutomatically(
project_id,
return ProjectGetter.getProject(
project_id,
{ rootDoc_id: 1, rootFolder: 1 },
function(error, project) {
if (error != null) {
return callback(error)
}
if (project == null) {
return callback(new Error('project not found'))
}
ProjectRootDocManager.ensureRootDocumentIsValidForProject(
project,
callback
)
}
})
)
},
ensureRootDocumentIsValidForProject(project, callback) {
const project_id = project._id
if (project.rootDoc_id != null) {
return ProjectEntityHandler.getAllDocPathsFromProject(project, function(
error,
docPaths
) {
if (error != null) {
return callback(error)
}
let rootDocValid = false
for (let doc_id in docPaths) {
const _path = docPaths[doc_id]
if (doc_id === project.rootDoc_id) {
rootDocValid = true
}
}
if (rootDocValid) {
return callback()
} else {
return ProjectEntityUpdateHandler.unsetRootDoc(project_id, () =>
ProjectRootDocManager.setRootDocAutomatically(project_id, callback)
)
}
})
} else {
return ProjectRootDocManager.setRootDocAutomatically(project_id, callback)
}
},
_sortFileList(listToSort, rootDirectory, callback) {