From 4e2bfd58a17ea59202b092f26cb56d144b91371d Mon Sep 17 00:00:00 2001 From: andrew rumble Date: Fri, 2 Aug 2024 17:34:03 +0100 Subject: [PATCH] Handle removal of mongoose callback API for UserMemberships GitOrigin-RevId: 0bdfaf4bfb357d75ee05513cf524540eef7fcec4 --- .../UserMembership/UserMembershipsHandler.js | 22 ++++++++----------- .../UserMembershipsHandlerTests.js | 6 ++--- 2 files changed, 12 insertions(+), 16 deletions(-) diff --git a/services/web/app/src/Features/UserMembership/UserMembershipsHandler.js b/services/web/app/src/Features/UserMembership/UserMembershipsHandler.js index 6cd95614ab..cbd12e47cd 100644 --- a/services/web/app/src/Features/UserMembership/UserMembershipsHandler.js +++ b/services/web/app/src/Features/UserMembership/UserMembershipsHandler.js @@ -51,11 +51,10 @@ const UserMembershipsHandler = { } const removeOperation = { $pull: {} } removeOperation.$pull[entityConfig.fields.write] = userId - EntityModels[entityConfig.modelName].updateMany( - {}, - removeOperation, - callback - ) + EntityModels[entityConfig.modelName] + .updateMany({}, removeOperation) + .then(result => callback(null, result)) + .catch(callback) }, getEntitiesByUser(entityConfig, userId, callback) { @@ -64,22 +63,19 @@ const UserMembershipsHandler = { } const query = Object.assign({}, entityConfig.baseQuery) query[entityConfig.fields.access] = userId - EntityModels[entityConfig.modelName].find( - query, - function (error, entities) { + EntityModels[entityConfig.modelName] + .find(query) + .then(entities => { if (entities == null) { entities = [] } - if (error != null) { - return callback(error) - } async.mapSeries( entities, (entity, cb) => entity.fetchV1Data(cb), callback ) - } - ) + }) + .catch(callback) }, } diff --git a/services/web/test/unit/src/UserMembership/UserMembershipsHandlerTests.js b/services/web/test/unit/src/UserMembership/UserMembershipsHandlerTests.js index f0e8f42c67..ba349f213f 100644 --- a/services/web/test/unit/src/UserMembership/UserMembershipsHandlerTests.js +++ b/services/web/test/unit/src/UserMembership/UserMembershipsHandlerTests.js @@ -21,9 +21,9 @@ describe('UserMembershipsHandler', function () { beforeEach(function () { this.user = { _id: new ObjectId() } - this.Institution = { updateMany: sinon.stub().yields(null) } - this.Subscription = { updateMany: sinon.stub().yields(null) } - this.Publisher = { updateMany: sinon.stub().yields(null) } + this.Institution = { updateMany: sinon.stub().resolves(null) } + this.Subscription = { updateMany: sinon.stub().resolves(null) } + this.Publisher = { updateMany: sinon.stub().resolves(null) } return (this.UserMembershipsHandler = SandboxedModule.require(modulePath, { requires: { '../../models/Institution': {