From ee5c021c4714e091f60657cc82248a790ee36735 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Mon, 8 Apr 2024 16:18:26 -0400 Subject: [PATCH] refactor: use groupslug:groupname for search and acp page dont need to load all names which includes privilege groups --- src/controllers/admin/groups.js | 7 +++---- src/groups/search.js | 8 ++++---- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/src/controllers/admin/groups.js b/src/controllers/admin/groups.js index a43afa9c17..8c6ca96e6c 100644 --- a/src/controllers/admin/groups.js +++ b/src/controllers/admin/groups.js @@ -62,14 +62,13 @@ groupsController.get = async function (req, res, next) { }; async function getGroupNames() { - const groupNames = await db.getSortedSetRange('groups:createtime', 0, -1); + const groupNames = Object.values(await db.getObject('groupslug:groupname')); return groupNames.filter(name => ( name !== 'registered-users' && name !== 'verified-users' && name !== 'unverified-users' && - name !== groups.BANNED_USERS && - !groups.isPrivilegeGroup(name) - )); + name !== groups.BANNED_USERS + )).sort((a, b) => a.toLowerCase().localeCompare(b.toLowerCase())); } groupsController.getCSV = async function (req, res) { diff --git a/src/groups/search.js b/src/groups/search.js index d1fd8892be..3e0dfd2def 100644 --- a/src/groups/search.js +++ b/src/groups/search.js @@ -9,13 +9,13 @@ module.exports = function (Groups) { return []; } query = String(query).toLowerCase(); - let groupNames = await db.getSortedSetRange('groups:createtime', 0, -1); + let groupNames = Object.values(await db.getObject('groupslug:groupname')); if (!options.hideEphemeralGroups) { groupNames = Groups.ephemeralGroups.concat(groupNames); } - groupNames = groupNames.filter(name => name.toLowerCase().includes(query) && - name !== Groups.BANNED_USERS && // hide banned-users in searches - !Groups.isPrivilegeGroup(name)); + groupNames = groupNames.filter( + name => name.toLowerCase().includes(query) && name !== Groups.BANNED_USERS // hide banned-users in searches + ); groupNames = groupNames.slice(0, 100); let groupsData;