From d9f0db6a22713dcfd5b77f3662c04838c3aceea1 Mon Sep 17 00:00:00 2001 From: Emmanuel Gatwech Date: Wed, 24 Aug 2022 17:32:44 +0300 Subject: [PATCH] Replaced Promise.join() with .all() in user model (#14972) refs: https://github.com/TryGhost/Ghost/issues/14882 - Usage of bluebird is deprecated in favour of using native promises --- ghost/core/core/server/models/user.js | 16 ++++++++++------ .../test/regression/models/model_users.test.js | 5 ++++- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/ghost/core/core/server/models/user.js b/ghost/core/core/server/models/user.js index 080a162074e..6633bfb74cb 100644 --- a/ghost/core/core/server/models/user.js +++ b/ghost/core/core/server/models/user.js @@ -1005,10 +1005,10 @@ User = ghostBookshelf.Model.extend({ let ownerRole; let contextUser; - return Promise.join( + return Promise.all([ ghostBookshelf.model('Role').findOne({name: 'Owner'}), User.findOne({id: options.context.user}, {withRelated: ['roles']}) - ) + ]) .then((results) => { ownerRole = results[0]; contextUser = results[1]; @@ -1021,8 +1021,10 @@ User = ghostBookshelf.Model.extend({ })); } - return Promise.join(ghostBookshelf.model('Role').findOne({name: 'Administrator'}), - User.findOne({id: object.id}, {withRelated: ['roles']})); + return Promise.all([ + ghostBookshelf.model('Role').findOne({name: 'Administrator'}), + User.findOne({id: object.id}, {withRelated: ['roles']}) + ]); }) .then((results) => { const adminRole = results[0]; @@ -1049,9 +1051,11 @@ User = ghostBookshelf.Model.extend({ } // convert owner to admin - return Promise.join(contextUser.roles().updatePivot({role_id: adminRole.id}), + return Promise.all([ + contextUser.roles().updatePivot({role_id: adminRole.id}), user.roles().updatePivot({role_id: ownerRole.id}), - user.id); + user.id + ]); }) .then((results) => { return Users.forge() diff --git a/ghost/core/test/regression/models/model_users.test.js b/ghost/core/test/regression/models/model_users.test.js index 752404cc54a..ceb34116374 100644 --- a/ghost/core/test/regression/models/model_users.test.js +++ b/ghost/core/test/regression/models/model_users.test.js @@ -212,7 +212,10 @@ describe('User Model', function run() { it('can findOne by role name', function () { return testUtils.fixtures.createExtraUsers().then(function () { - return Promise.join(UserModel.findOne({role: 'Owner'}), UserModel.findOne({role: 'Editor'})); + return Promise.all([ + UserModel.findOne({role: 'Owner'}), + UserModel.findOne({role: 'Editor'}) + ]); }).then(function (results) { let owner = results[0]; let editor = results[1];