diff --git a/src/apps.js b/src/apps.js index be9efac8b..61798f792 100644 --- a/src/apps.js +++ b/src/apps.js @@ -348,7 +348,7 @@ function hasAccessTo(app, user, callback) { if (app.accessRestriction.users.some(function (e) { return e === user.id; })) return callback(null, true); // check group access - groups.getGroups(user.id, function (error, groupIds) { + groups.getMembership(user.id, function (error, groupIds) { if (error) return callback(null, false); const isAdmin = groupIds.indexOf(constants.ADMIN_GROUP_ID) !== -1; diff --git a/src/groupdb.js b/src/groupdb.js index d4f2d4a3c..787d8b33e 100644 --- a/src/groupdb.js +++ b/src/groupdb.js @@ -16,8 +16,8 @@ exports = module.exports = { setMembers: setMembers, isMember: isMember, - getGroups: getGroups, - setGroups: setGroups, + getMembership: getMembership, + setMembership: setMembership, getRoles: getRoles, @@ -214,7 +214,7 @@ function setMembers(groupId, userIds, callback) { }); } -function getGroups(userId, callback) { +function getMembership(userId, callback) { assert.strictEqual(typeof userId, 'string'); assert.strictEqual(typeof callback, 'function'); @@ -226,7 +226,7 @@ function getGroups(userId, callback) { }); } -function setGroups(userId, groupIds, callback) { +function setMembership(userId, groupIds, callback) { assert.strictEqual(typeof userId, 'string'); assert(Array.isArray(groupIds)); assert.strictEqual(typeof callback, 'function'); diff --git a/src/groups.js b/src/groups.js index d84b53126..6a8adcf2c 100644 --- a/src/groups.js +++ b/src/groups.js @@ -21,8 +21,8 @@ exports = module.exports = { getRoles: getRoles, - getGroups: getGroups, - setGroups: setGroups + setMembership: setMembership, + getMembership: getMembership }; var accesscontrol = require('./accesscontrol.js'), @@ -170,11 +170,11 @@ function getMembers(groupId, callback) { }); } -function getGroups(userId, callback) { +function getMembership(userId, callback) { assert.strictEqual(typeof userId, 'string'); assert.strictEqual(typeof callback, 'function'); - groupdb.getGroups(userId, function (error, result) { + groupdb.getMembership(userId, function (error, result) { if (error && error.reason === DatabaseError.NOT_FOUND) return callback(new GroupsError(GroupsError.NOT_FOUND)); if (error) return callback(new GroupsError(GroupsError.INTERNAL_ERROR, error)); @@ -182,12 +182,12 @@ function getGroups(userId, callback) { }); } -function setGroups(userId, groupIds, callback) { +function setMembership(userId, groupIds, callback) { assert.strictEqual(typeof userId, 'string'); assert(Array.isArray(groupIds)); assert.strictEqual(typeof callback, 'function'); - groupdb.setGroups(userId, groupIds, function (error) { + groupdb.setMembership(userId, groupIds, function (error) { if (error && error.reason === DatabaseError.NOT_FOUND) return callback(new GroupsError(GroupsError.NOT_FOUND)); if (error) return callback(new GroupsError(GroupsError.INTERNAL_ERROR, error)); diff --git a/src/routes/users.js b/src/routes/users.js index 3ab3302ff..3effc7d27 100644 --- a/src/routes/users.js +++ b/src/routes/users.js @@ -156,7 +156,7 @@ function setGroups(req, res, next) { // this route is only allowed for admins, so req.user has to be an admin if (req.user.id === req.params.userId && req.body.groupIds.indexOf(constants.ADMIN_GROUP_ID) === -1) return next(new HttpError(409, 'Admin removing itself from admins is not allowed')); - users.setGroups(req.params.userId, req.body.groupIds, function (error) { + users.setMembership(req.params.userId, req.body.groupIds, function (error) { if (error && error.reason === UsersError.NOT_FOUND) return next(new HttpError(404, 'One or more groups not found')); if (error) return next(new HttpError(500, error)); diff --git a/src/test/database-test.js b/src/test/database-test.js index 92fde4b1d..67144e107 100644 --- a/src/test/database-test.js +++ b/src/test/database-test.js @@ -1553,14 +1553,14 @@ describe('database', function () { }); it('can set groups', function (done) { - groupdb.setGroups(USER_0.id, [ 'admin', GROUP_ID_1 ], function (error) { + groupdb.setMembership(USER_0.id, [ 'admin', GROUP_ID_1 ], function (error) { expect(error).to.be(null); done(); }); }); it('can get groups', function (done) { - groupdb.getGroups(USER_0.id, function (error, result) { + groupdb.getMembership(USER_0.id, function (error, result) { expect(error).to.be(null); expect(result).to.eql([ 'admin', GROUP_ID_1 ]); done(); diff --git a/src/test/groups-test.js b/src/test/groups-test.js index f5d1f1a2b..bebc6078e 100644 --- a/src/test/groups-test.js +++ b/src/test/groups-test.js @@ -337,10 +337,10 @@ describe('Set user groups', function () { after(cleanup); it('can set user to single group', function (done) { - groups.setGroups(USER_0.id, [ group0Object.id ], function (error) { + groups.setMembership(USER_0.id, [ group0Object.id ], function (error) { expect(error).to.be(null); - groups.getGroups(USER_0.id, function (error, groupIds) { + groups.getMembership(USER_0.id, function (error, groupIds) { expect(error).to.be(null); expect(groupIds.length).to.be(1); expect(groupIds[0]).to.be(group0Object.id); @@ -350,10 +350,10 @@ describe('Set user groups', function () { }); it('can set user to multiple groups', function (done) { - groups.setGroups(USER_0.id, [ group0Object.id, group1Object.id ], function (error) { + groups.setMembership(USER_0.id, [ group0Object.id, group1Object.id ], function (error) { expect(error).to.be(null); - groups.getGroups(USER_0.id, function (error, groupIds) { + groups.getMembership(USER_0.id, function (error, groupIds) { expect(error).to.be(null); expect(groupIds.length).to.be(2); expect(groupIds.sort()).to.eql([ group0Object.id, group1Object.id ].sort()); @@ -391,7 +391,7 @@ describe('Roles', function () { if (error) return next(error); group0Object = result; - groups.setGroups(USER_0.id, [ group0Object.id ], next); + groups.setMembership(USER_0.id, [ group0Object.id ], next); }); }, ], done); diff --git a/src/test/users-test.js b/src/test/users-test.js index c19391289..ee551db4b 100644 --- a/src/test/users-test.js +++ b/src/test/users-test.js @@ -673,7 +673,7 @@ describe('User', function () { user1.id = result.id; - users.setGroups(user1.id, [ constants.ADMIN_GROUP_ID ], function (error) { + users.setMembership(user1.id, [ constants.ADMIN_GROUP_ID ], function (error) { expect(error).to.not.be.ok(); // one mail for user creation, one mail for admin change @@ -683,7 +683,7 @@ describe('User', function () { }); it('add user to non admin group does not trigger admin mail', function (done) { - users.setGroups(user1.id, [ constants.ADMIN_GROUP_ID, groupObject.id ], function (error) { + users.setMembership(user1.id, [ constants.ADMIN_GROUP_ID, groupObject.id ], function (error) { expect(error).to.equal(null); checkMails(0, done); @@ -691,7 +691,7 @@ describe('User', function () { }); it('succeeds to remove admin flag', function (done) { - users.setGroups(user1.id, [ groupObject.id ], function (error) { + users.setMembership(user1.id, [ groupObject.id ], function (error) { expect(error).to.eql(null); checkMails(1, done); @@ -726,7 +726,7 @@ describe('User', function () { user1.id = result.id; - groups.setGroups(user1.id, [ constants.ADMIN_GROUP_ID ], function (error) { + groups.setMembership(user1.id, [ constants.ADMIN_GROUP_ID ], function (error) { expect(error).to.eql(null); users.getAllAdmins(function (error, admins) { diff --git a/src/users.js b/src/users.js index 4cc34d3d1..0a21d7a40 100644 --- a/src/users.js +++ b/src/users.js @@ -21,7 +21,7 @@ exports = module.exports = { createOwner: createOwner, getOwner: getOwner, sendInvite: sendInvite, - setGroups: setGroups, + setMembership: setMembership, setTwoFactorAuthenticationSecret: setTwoFactorAuthenticationSecret, enableTwoFactorAuthentication: enableTwoFactorAuthentication, disableTwoFactorAuthentication: disableTwoFactorAuthentication @@ -320,7 +320,7 @@ function get(userId, callback) { if (error && error.reason === DatabaseError.NOT_FOUND) return callback(new UsersError(UsersError.NOT_FOUND)); if (error) return callback(new UsersError(UsersError.INTERNAL_ERROR, error)); - groups.getGroups(userId, function (error, groupIds) { + groups.getMembership(userId, function (error, groupIds) { if (error) return callback(new UsersError(UsersError.INTERNAL_ERROR, error)); result.groupIds = groupIds; @@ -398,17 +398,17 @@ function updateUser(userId, data, auditSource, callback) { }); } -function setGroups(userId, groupIds, callback) { +function setMembership(userId, groupIds, callback) { assert.strictEqual(typeof userId, 'string'); assert(Array.isArray(groupIds)); assert.strictEqual(typeof callback, 'function'); - groups.getGroups(userId, function (error, oldGroupIds) { + groups.getMembership(userId, function (error, oldGroupIds) { if (error && error.reason !== GroupsError.NOT_FOUND) return callback(new UsersError(UsersError.INTERNAL_ERROR, error)); oldGroupIds = oldGroupIds || []; - groups.setGroups(userId, groupIds, function (error) { + groups.setMembership(userId, groupIds, function (error) { if (error && error.reason === GroupsError.NOT_FOUND) return callback(new UsersError(UsersError.NOT_FOUND, 'One or more groups not found')); if (error) return callback(new UsersError(UsersError.INTERNAL_ERROR, error));