make all tests work after group changes

This commit is contained in:
girish@cloudron.io
2016-02-09 09:37:12 -08:00
parent 199eb2b3e1
commit e752949752
8 changed files with 48 additions and 31 deletions

View File

@@ -18,6 +18,7 @@ exports = module.exports = {
var assert = require('assert'),
generatePassword = require('../password.js').generate,
groups = require('../groups.js'),
HttpError = require('connect-lastmile').HttpError,
HttpSuccess = require('connect-lastmile').HttpSuccess,
user = require('../user.js'),
@@ -146,13 +147,17 @@ function info(req, res, next) {
if (error && error.reason === UserError.NOT_FOUND) return next(new HttpError(404, 'No such user'));
if (error) return next(new HttpError(500, error));
next(new HttpSuccess(200, {
id: result.id,
username: result.username,
email: result.email,
admin: result.admin,
displayName: result.displayName
}));
groups.isMember(groups.ADMIN_GROUP_ID, req.params.userId, function (error, isAdmin) {
if (error) return next(new HttpError(500, error));
next(new HttpSuccess(200, {
id: result.id,
username: result.username,
email: result.email,
admin: isAdmin,
displayName: result.displayName
}));
});
});
}
@@ -200,9 +205,15 @@ function verifyPassword(req, res, next) {
function requireAdmin(req, res, next) {
assert.strictEqual(typeof req.user, 'object');
if (!req.user.admin) return next(new HttpError(403, 'API call requires admin rights.'));
groups.isMember(groups.ADMIN_GROUP_ID, req.user.id, function (error, isAdmin) {
if (error) return next(new HttpError(500, error));
next();
if (!isAdmin) return next(new HttpError(403, 'API call requires admin rights.'));
req.user.admin = true;
next();
});
}
function sendInvite(req, res, next) {