"use strict"; var groups = require('../../groups'), user = require('../../user'), events = require('../../events'), index = require('../index'), async = require('async'), User = {}; User.makeAdmin = function(socket, theirid, callback) { groups.join('administrators', theirid, callback); }; User.removeAdmin = function(socket, theirid, callback) { groups.leave('administrators', theirid, callback); }; User.createUser = function(socket, userData, callback) { if (!userData) { return callback(new Error('[[error:invalid-data]]')); } user.create(userData, callback); }; User.banUser = function(socket, theirid, callback) { user.isAdministrator(theirid, function(err, isAdmin) { if (err || isAdmin) { return callback(err || new Error('[[error:cant-ban-other-admins]]')); } user.ban(theirid, function(err) { if (err) { return callback(err); } var sockets = index.getUserSockets(theirid); for(var i=0; i