Merge pull request #3888 from overleaf/jpa-hotfix-soft-failure-for-missing-deleted-docs

[EditorHttpController] joinProject: ignore err when fetching deletedDocs

GitOrigin-RevId: e2e2e5172de04cebb4a951739ac4222645fdd289
This commit is contained in:
Miguel Serrano 2021-04-07 18:06:41 +02:00 committed by Copybot
parent 11b4d91d9e
commit 42a1211ba7

View file

@ -14,6 +14,7 @@ const Errors = require('../Errors/Errors')
const HttpErrorHandler = require('../Errors/HttpErrorHandler')
const ProjectEntityUpdateHandler = require('../Project/ProjectEntityUpdateHandler')
const DocstoreManager = require('../Docstore/DocstoreManager')
const logger = require('logger-sharelatex')
const { expressify } = require('../../util/promises')
module.exports = {
@ -100,9 +101,21 @@ async function _buildJoinProjectView(req, projectId, userId) {
if (project == null) {
throw new Errors.NotFoundError('project not found')
}
const deletedDocsFromDocstore = await DocstoreManager.promises.getAllDeletedDocs(
projectId
)
let deletedDocsFromDocstore = []
try {
deletedDocsFromDocstore = await DocstoreManager.promises.getAllDeletedDocs(
projectId
)
} catch (err) {
// The query in docstore is not optimized at this time and fails for
// projects with many very large, deleted documents.
// Not serving the user with deletedDocs from docstore may cause a minor
// UI issue with deleted files that are no longer available for restore.
logger.warn(
{ err, projectId },
'soft-failure when fetching deletedDocs from docstore'
)
}
const members = await CollaboratorsGetter.promises.getInvitedMembersWithPrivilegeLevels(
projectId
)