diff --git a/src/cloudron.js b/src/cloudron.js index ae3d48d7b..ff0350595 100644 --- a/src/cloudron.js +++ b/src/cloudron.js @@ -53,9 +53,8 @@ var apps = require('./apps.js'), updateChecker = require('./updatechecker.js'), user = require('./user.js'), UserError = user.UserError, - userdb = require('./userdb.js'), - util = require('util'), - uuid = require('node-uuid'); + user = require('./user.js'), + util = require('util'); var REBOOT_CMD = path.join(__dirname, 'scripts/reboot.sh'), INSTALLER_UPDATE_URL = 'http://127.0.0.1:2020/api/v1/installer/update', @@ -254,7 +253,7 @@ function activate(username, password, email, displayName, ip, auditSource, callb function getStatus(callback) { assert.strictEqual(typeof callback, 'function'); - userdb.count(function (error, count) { + user.count(function (error, count) { if (error) return callback(new CloudronError(CloudronError.INTERNAL_ERROR, error)); settings.getCloudronName(function (error, cloudronName) { diff --git a/src/test/user-test.js b/src/test/user-test.js index 6bb1889d3..64aeac4b1 100644 --- a/src/test/user-test.js +++ b/src/test/user-test.js @@ -578,6 +578,19 @@ describe('User', function () { }); }); + describe('count', function () { + before(createOwner); + after(cleanupUsers); + + it('succeeds', function (done) { + user.count(function (error, count) { + expect(error).to.not.be.ok(); + expect(count).to.be(1); + done(); + }); + }); + }); + describe('set password', function () { before(createOwner); after(cleanupUsers); diff --git a/src/user.js b/src/user.js index 9c4be4ced..c45727533 100644 --- a/src/user.js +++ b/src/user.js @@ -5,6 +5,7 @@ exports = module.exports = { list: listUsers, create: createUser, + count: count, verify: verify, verifyWithUsername: verifyWithUsername, verifyWithEmail: verifyWithEmail, @@ -286,6 +287,16 @@ function listUsers(callback) { }); } +function count(callback) { + assert.strictEqual(typeof callback, 'function'); + + userdb.count(function (error, count) { + if (error) return callback(new UserError(UserError.INTERNAL_ERROR, error)); + + callback(null, count); + }); +} + function getUser(userId, callback) { assert.strictEqual(typeof userId, 'string'); assert.strictEqual(typeof callback, 'function');