Selaa lähdekoodia

Handle removal of mongoose callback API for UserMemberships

GitOrigin-RevId: 0bdfaf4bfb357d75ee05513cf524540eef7fcec4
andrew rumble 2 vuotta sitten
vanhempi
sitoutus
4e2bfd58a1

+ 9 - 13
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)
   },
 }
 

+ 3 - 3
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': {