From 1a4ffe77084edc87bf7f025a78e503fe49b95e52 Mon Sep 17 00:00:00 2001 From: Shane Kilkelly Date: Mon, 9 Oct 2017 11:30:55 +0100 Subject: [PATCH] Remove un-necessary call to `getProject` from `archiveProject` path --- .../Features/Project/ProjectDeleter.coffee | 39 ++++++++----------- .../coffee/Project/ProjectDeleterTests.coffee | 4 -- 2 files changed, 16 insertions(+), 27 deletions(-) diff --git a/services/web/app/coffee/Features/Project/ProjectDeleter.coffee b/services/web/app/coffee/Features/Project/ProjectDeleter.coffee index 34a129fe2b..99e095d950 100644 --- a/services/web/app/coffee/Features/Project/ProjectDeleter.coffee +++ b/services/web/app/coffee/Features/Project/ProjectDeleter.coffee @@ -1,5 +1,4 @@ Project = require('../../models/Project').Project -ProjectGetter = require("./ProjectGetter") logger = require('logger-sharelatex') documentUpdaterHandler = require('../DocumentUpdater/DocumentUpdaterHandler') tagsHandler = require("../Tags/TagsHandler") @@ -38,28 +37,22 @@ module.exports = ProjectDeleter = archiveProject: (project_id, callback = (error) ->)-> logger.log project_id:project_id, "archived project from user request" - # TODO: the *_refs properties are probably not needed here - ProjectGetter.getProject project_id, {owner_ref:true, collaberator_refs:true, readOnly_refs:true}, (err, project)=> - if err? or !project? - logger.err err:err, project_id:project_id, "error getting project to archived it" - callback(err) - else - async.series [ - (cb)-> - documentUpdaterHandler.flushProjectToMongoAndDelete project_id, cb - (cb)-> - CollaboratorsHandler.getMemberIds project_id, (error, member_ids = []) -> - for member_id in member_ids - tagsHandler.removeProjectFromAllTags member_id, project_id, (err)-> - cb() #doesn't matter if this fails or the order it happens in - (cb)-> - Project.update {_id:project_id}, { $set: { archived: true }}, cb - ], (err)-> - if err? - logger.err err:err, "problem archived project" - return callback(err) - logger.log project_id:project_id, "succesfully archived project from user request" - callback() + async.series [ + (cb)-> + documentUpdaterHandler.flushProjectToMongoAndDelete project_id, cb + (cb)-> + CollaboratorsHandler.getMemberIds project_id, (error, member_ids = []) -> + for member_id in member_ids + tagsHandler.removeProjectFromAllTags member_id, project_id, (err)-> + cb() #doesn't matter if this fails or the order it happens in + (cb)-> + Project.update {_id:project_id}, { $set: { archived: true }}, cb + ], (err)-> + if err? + logger.err err:err, "problem archived project" + return callback(err) + logger.log project_id:project_id, "succesfully archived project from user request" + callback() restoreProject: (project_id, callback = (error) ->) -> Project.update {_id:project_id}, { $unset: { archived: true }}, callback diff --git a/services/web/test/UnitTests/coffee/Project/ProjectDeleterTests.coffee b/services/web/test/UnitTests/coffee/Project/ProjectDeleterTests.coffee index 6a99ed8150..60a9f71ba2 100644 --- a/services/web/test/UnitTests/coffee/Project/ProjectDeleterTests.coffee +++ b/services/web/test/UnitTests/coffee/Project/ProjectDeleterTests.coffee @@ -25,8 +25,6 @@ describe 'ProjectDeleter', -> @editorController = notifyUsersProjectHasBeenDeletedOrRenamed : sinon.stub().callsArgWith(1) @TagsHandler = removeProjectFromAllTags: sinon.stub().callsArgWith(2) - @ProjectGetter = - getProject:sinon.stub() @CollaboratorsHandler = removeUserFromAllProjets: sinon.stub().yields() @deleter = SandboxedModule.require modulePath, requires: @@ -36,7 +34,6 @@ describe 'ProjectDeleter', -> "../Tags/TagsHandler":@TagsHandler "../FileStore/FileStoreHandler": @FileStoreHandler = {} "../Collaborators/CollaboratorsHandler": @CollaboratorsHandler - "./ProjectGetter": @ProjectGetter 'logger-sharelatex': log:-> @@ -103,7 +100,6 @@ describe 'ProjectDeleter', -> beforeEach -> @CollaboratorsHandler.getMemberIds = sinon.stub() @CollaboratorsHandler.getMemberIds.withArgs(@project_id).yields(null, ["member-id-1", "member-id-2"]) - @ProjectGetter.getProject.callsArgWith(2, null, @project) @Project.update.callsArgWith(2) it "should flushProjectToMongoAndDelete in doc updater", (done)->