From f0dd302c77ea4002b351e78648adcafd67c6f637 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Wed, 6 Jan 2021 21:25:32 -0500 Subject: [PATCH] perf: use only required calls --- src/privileges/categories.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/privileges/categories.js b/src/privileges/categories.js index 10d5c7c785..188fb10ac6 100644 --- a/src/privileges/categories.js +++ b/src/privileges/categories.js @@ -106,8 +106,14 @@ module.exports = function (privileges) { } cids = _.uniq(cids); - const results = await privileges.categories.getBase(privilege, cids, uid); - return cids.filter((cid, index) => !!cid && !results.categories[index].disabled && (results.allowedTo[index] || results.isAdmin)); + const [categoryData, allowedTo, isAdmin] = await Promise.all([ + categories.getCategoriesFields(cids, ['disabled']), + helpers.isAllowedTo(privilege, uid, cids), + user.isAdministrator(uid), + ]); + return cids.filter( + (cid, index) => !!cid && !categoryData[index].disabled && (allowedTo[index] || isAdmin) + ); }; privileges.categories.getBase = async function (privilege, cids, uid) {