From 9692392bf804688573f2822118a2499be97405dc Mon Sep 17 00:00:00 2001 From: Jakob Ackermann Date: Tue, 6 Apr 2021 13:13:06 +0200 Subject: [PATCH] Merge pull request #3655 from overleaf/jpa-change-write-path-doc-deletion [ProjectEntityUpdateHandler] change write path for doc deletion GitOrigin-RevId: 7d7ece8fe25c1d59b3469c136d92c4c81e9f0f81 --- .../ProjectEntityMongoUpdateHandler.js | 13 --------- .../Project/ProjectEntityUpdateHandler.js | 19 ++++--------- .../ProjectEntityMongoUpdateHandlerTests.js | 28 ------------------- .../ProjectEntityUpdateHandlerTests.js | 8 ------ 4 files changed, 5 insertions(+), 63 deletions(-) diff --git a/services/web/app/src/Features/Project/ProjectEntityMongoUpdateHandler.js b/services/web/app/src/Features/Project/ProjectEntityMongoUpdateHandler.js index 1a0a2cc7d1..1ac8a97360 100644 --- a/services/web/app/src/Features/Project/ProjectEntityMongoUpdateHandler.js +++ b/services/web/app/src/Features/Project/ProjectEntityMongoUpdateHandler.js @@ -70,7 +70,6 @@ module.exports = { 'changes' ]), createNewFolderStructure: callbackify(wrapWithLock(createNewFolderStructure)), - _insertDeletedDocReference: callbackify(_insertDeletedDocReference), _insertDeletedFileReference: callbackify(_insertDeletedFileReference), _putElement: callbackifyMultiResult(_putElement, ['result', 'project']), _confirmFolder, @@ -86,7 +85,6 @@ module.exports = { deleteEntity: wrapWithLock(deleteEntity), renameEntity: wrapWithLock(renameEntity), createNewFolderStructure: wrapWithLock(createNewFolderStructure), - _insertDeletedDocReference, _insertDeletedFileReference, _putElement } @@ -445,17 +443,6 @@ async function renameEntity( } } -async function _insertDeletedDocReference(projectId, doc) { - await Project.updateOne( - { _id: projectId }, - { - $push: { - deletedDocs: { _id: doc._id, name: doc.name, deletedAt: new Date() } - } - } - ).exec() -} - async function _insertDeletedFileReference(projectId, fileRef) { await DeletedFile.create({ projectId, diff --git a/services/web/app/src/Features/Project/ProjectEntityUpdateHandler.js b/services/web/app/src/Features/Project/ProjectEntityUpdateHandler.js index 06b66b1b53..9d13cd8f23 100644 --- a/services/web/app/src/Features/Project/ProjectEntityUpdateHandler.js +++ b/services/web/app/src/Features/Project/ProjectEntityUpdateHandler.js @@ -1507,21 +1507,12 @@ const ProjectEntityUpdateHandler = { if (error != null) { return callback(error) } - ProjectEntityMongoUpdateHandler._insertDeletedDocReference( - project._id, - doc, - error => { - if (error != null) { - return callback(error) - } - DocumentUpdaterHandler.deleteDoc(projectId, docId, error => { - if (error != null) { - return callback(error) - } - DocstoreManager.deleteDoc(projectId, docId, doc.name, callback) - }) + DocstoreManager.deleteDoc(projectId, docId, doc.name, error => { + if (error) { + return callback(error) } - ) + DocumentUpdaterHandler.deleteDoc(projectId, docId, callback) + }) }) }, diff --git a/services/web/test/unit/src/Project/ProjectEntityMongoUpdateHandlerTests.js b/services/web/test/unit/src/Project/ProjectEntityMongoUpdateHandlerTests.js index 84855326e5..9caa039ce4 100644 --- a/services/web/test/unit/src/Project/ProjectEntityMongoUpdateHandlerTests.js +++ b/services/web/test/unit/src/Project/ProjectEntityMongoUpdateHandlerTests.js @@ -966,34 +966,6 @@ describe('ProjectEntityMongoUpdateHandler', function() { }) }) - describe('_insertDeletedDocReference', function() { - beforeEach(async function() { - this.ProjectMock.expects('updateOne') - .withArgs( - { _id: this.project._id }, - { - $push: { - deletedDocs: { - _id: this.doc._id, - name: this.doc.name, - deletedAt: sinon.match.date - } - } - } - ) - .chain('exec') - .resolves() - await this.subject.promises._insertDeletedDocReference( - this.project._id, - this.doc - ) - }) - - it('should update the database', function() { - this.ProjectMock.verify() - }) - }) - describe('_insertDeletedFileReference', function() { beforeEach(async function() { this.DeletedFileMock.expects('create') diff --git a/services/web/test/unit/src/Project/ProjectEntityUpdateHandlerTests.js b/services/web/test/unit/src/Project/ProjectEntityUpdateHandlerTests.js index 5eb27c4634..e7e5f9ab58 100644 --- a/services/web/test/unit/src/Project/ProjectEntityUpdateHandlerTests.js +++ b/services/web/test/unit/src/Project/ProjectEntityUpdateHandlerTests.js @@ -114,7 +114,6 @@ describe('ProjectEntityUpdateHandler', function() { _confirmFolder: sinon.stub(), _putElement: sinon.stub(), _insertDeletedFileReference: sinon.stub(), - _insertDeletedDocReference: sinon.stub(), replaceFileWithNew: sinon.stub(), mkdirp: sinon.stub(), moveEntity: sinon.stub(), @@ -2157,7 +2156,6 @@ describe('ProjectEntityUpdateHandler', function() { } this.path = '/path/to/doc' this.ProjectEntityUpdateHandler.unsetRootDoc = sinon.stub().yields() - this.ProjectEntityMongoUpdateHandler._insertDeletedDocReference.yields() this.DocstoreManager.deleteDoc.yields() }) @@ -2185,12 +2183,6 @@ describe('ProjectEntityUpdateHandler', function() { .should.equal(true) }) - it('should insert the doc into the deletedDocs array', function() { - this.ProjectEntityMongoUpdateHandler._insertDeletedDocReference - .calledWith(this.project._id, this.doc) - .should.equal(true) - }) - it('should delete the doc in the doc store', function() { this.DocstoreManager.deleteDoc .calledWith(projectId, this.doc._id.toString(), 'test.tex')