From 970bd06fd29a802c5b2014b3c5eb89ab38324cea Mon Sep 17 00:00:00 2001 From: gasoved Date: Wed, 3 Feb 2021 19:35:32 +0300 Subject: [PATCH] refactor: improvements --- src/controllers/accounts/helpers.js | 1 + .../{1.16.0 => 1.17.0}/banned_users_group.js | 4 ++-- src/user/bans.js | 12 +++++------- 3 files changed, 8 insertions(+), 9 deletions(-) rename src/upgrades/{1.16.0 => 1.17.0}/banned_users_group.js (97%) diff --git a/src/controllers/accounts/helpers.js b/src/controllers/accounts/helpers.js index 9932707914..f83db12480 100644 --- a/src/controllers/accounts/helpers.js +++ b/src/controllers/accounts/helpers.js @@ -91,6 +91,7 @@ helpers.getUserDataByUserSlug = async function (userslug, callerUID) { }); userData.sso = results.sso.associations; + userData.banned = Boolean(userData.banned); userData.website = validator.escape(String(userData.website || '')); userData.websiteLink = !userData.website.startsWith('http') ? 'http://' + userData.website : userData.website; userData.websiteName = userData.website.replace(validator.escape('http://'), '').replace(validator.escape('https://'), ''); diff --git a/src/upgrades/1.16.0/banned_users_group.js b/src/upgrades/1.17.0/banned_users_group.js similarity index 97% rename from src/upgrades/1.16.0/banned_users_group.js rename to src/upgrades/1.17.0/banned_users_group.js index 0a6b690402..15457d1510 100644 --- a/src/upgrades/1.16.0/banned_users_group.js +++ b/src/upgrades/1.17.0/banned_users_group.js @@ -31,7 +31,7 @@ module.exports = { await db.sortedSetAdd( 'group:banned-users:members', uids.map(() => now), - uids.map(uid => uid) + uids ); await db.sortedSetRemove( @@ -41,7 +41,7 @@ module.exports = { 'group:unverified-users:members', 'group:Global Moderators:members', ], - uids.map(uid => uid) + uids ); }, { batch: 500, diff --git a/src/user/bans.js b/src/user/bans.js index 424d120cac..aa7df700cf 100644 --- a/src/user/bans.js +++ b/src/user/bans.js @@ -116,13 +116,11 @@ module.exports = function (User) { User.bans.calcExpiredFromUserData = async function (userData) { const isArray = Array.isArray(userData); userData = isArray ? userData : [userData]; - userData = await Promise.all(userData.map(async function (userData) { - const banned = await groups.isMember(userData.uid, groups.BANNED_USERS); - return { - banned: banned, - 'banned:expire': userData && userData['banned:expire'], - banExpired: userData && userData['banned:expire'] <= Date.now() && userData['banned:expire'] !== 0, - }; + const banned = await groups.isMembers(userData.map(u => u.uid), groups.BANNED_USERS); + userData = userData.map((userData, index) => ({ + banned: banned[index], + 'banned:expire': userData && userData['banned:expire'], + banExpired: userData && userData['banned:expire'] <= Date.now() && userData['banned:expire'] !== 0, })); return isArray ? userData : userData[0]; };