diff --git a/src/socket.io/admin/user.js b/src/socket.io/admin/user.js index 6b2853447b..c15e41fec6 100644 --- a/src/socket.io/admin/user.js +++ b/src/socket.io/admin/user.js @@ -163,12 +163,14 @@ function deleteUsers(socket, uids, method, callback) { function (next) { method(uid, next); }, - function (next) { + function (userData, next) { events.log({ type: 'user-delete', uid: socket.uid, targetUid: uid, ip: socket.ip, + username: userData.username, + email: userData.email, }, next); }, function (next) { diff --git a/src/socket.io/user.js b/src/socket.io/user.js index facb0fa0a2..ca21d0a38b 100644 --- a/src/socket.io/user.js +++ b/src/socket.io/user.js @@ -56,7 +56,7 @@ SocketUser.deleteAccount = function (socket, data, callback) { } user.deleteAccount(socket.uid, next); }, - function (next) { + function (userData, next) { require('./index').server.sockets.emit('event:user_status_change', { uid: socket.uid, status: 'offline' }); events.log({ @@ -64,6 +64,8 @@ SocketUser.deleteAccount = function (socket, data, callback) { uid: socket.uid, targetUid: socket.uid, ip: socket.ip, + username: userData.username, + email: userData.email, }); next(); }, diff --git a/src/user/delete.js b/src/user/delete.js index 78320d698e..f84ee25393 100644 --- a/src/user/delete.js +++ b/src/user/delete.js @@ -22,7 +22,7 @@ module.exports = function (User) { return setImmediate(callback, new Error('[[error:invalid-uid]]')); } if (deletesInProgress[uid]) { - return setImmediate(callback); + return setImmediate(callback, new Error('[[error:already-deleting]]')); } deletesInProgress[uid] = 'user.delete'; async.waterfall([ @@ -93,7 +93,7 @@ module.exports = function (User) { User.deleteAccount = function (uid, callback) { if (deletesInProgress[uid] === 'user.deleteAccount') { - return setImmediate(callback); + return setImmediate(callback, new Error('[[error:already-deleting]]')); } deletesInProgress[uid] = 'user.deleteAccount'; var userData; @@ -107,7 +107,7 @@ module.exports = function (User) { function (_userData, next) { if (!_userData || !_userData.username) { delete deletesInProgress[uid]; - return callback(); + return callback(new Error('[[error:no-user]]')); } userData = _userData; plugins.fireHook('static:user.delete', { uid: uid }, next); @@ -184,7 +184,7 @@ module.exports = function (User) { }, ], function (err) { delete deletesInProgress[uid]; - callback(err); + callback(err, userData); }); }; diff --git a/test/uploads.js b/test/uploads.js index 17c388c7a8..9da7056941 100644 --- a/test/uploads.js +++ b/test/uploads.js @@ -237,7 +237,7 @@ describe('Upload Controllers', function () { user.delete(1, uid, next); }, - function (next) { + function (userData, next) { var filePath = path.join(nconf.get('upload_path'), url.replace('/assets/uploads', '')); file.exists(filePath, next); },