From 4588a4fdcfcbee4ed0b2ef2f8e81f6251cf19770 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Thu, 5 Sep 2019 11:20:01 -0400 Subject: [PATCH] refactor: admin groups.join socket async/await --- src/socket.io/admin/groups.js | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/src/socket.io/admin/groups.js b/src/socket.io/admin/groups.js index 63b07ff6d2..bc5804d029 100644 --- a/src/socket.io/admin/groups.js +++ b/src/socket.io/admin/groups.js @@ -19,22 +19,17 @@ Groups.create = function (socket, data, callback) { }, callback); }; -Groups.join = function (socket, data, callback) { +Groups.join = async (socket, data) => { if (!data) { - return callback(new Error('[[error:invalid-data]]')); + throw new Error('[[error:invalid-data]]'); } - async.waterfall([ - function (next) { - groups.isMember(data.uid, data.groupName, next); - }, - function (isMember, next) { - if (isMember) { - return next(new Error('[[error:group-already-member]]')); - } - groups.join(data.groupName, data.uid, next); - }, - ], callback); + const isMember = await groups.isMember(data.uid, data.groupName); + if (isMember) { + throw new Error('[[error:group-already-member]]'); + } + + return await groups.join(data.groupName, data.uid); }; Groups.leave = function (socket, data, callback) {