mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-27 09:06:15 +01:00
perf: cache isAdmin, isGlobalMod checks
This commit is contained in:
@@ -139,12 +139,18 @@ function escape(value) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async function getAllData(uid, callerUID) {
|
async function getAllData(uid, callerUID) {
|
||||||
|
// loading these before caches them, so the big promiseParallel doesn't make extra db calls
|
||||||
|
const [[isTargetAdmin, isCallerAdmin], isGlobalModerator] = await Promise.all([
|
||||||
|
user.isAdministrator([uid, callerUID]),
|
||||||
|
user.isGlobalModerator(callerUID),
|
||||||
|
]);
|
||||||
|
|
||||||
return await utils.promiseParallel({
|
return await utils.promiseParallel({
|
||||||
userData: user.getUserData(uid),
|
userData: user.getUserData(uid),
|
||||||
isTargetAdmin: user.isAdministrator(uid),
|
isTargetAdmin: isTargetAdmin,
|
||||||
userSettings: user.getSettings(uid),
|
userSettings: user.getSettings(uid),
|
||||||
isAdmin: user.isAdministrator(callerUID),
|
isAdmin: isCallerAdmin,
|
||||||
isGlobalModerator: user.isGlobalModerator(callerUID),
|
isGlobalModerator: isGlobalModerator,
|
||||||
isModerator: user.isModeratorOfAnyCategory(callerUID),
|
isModerator: user.isModeratorOfAnyCategory(callerUID),
|
||||||
isFollowing: user.isFollowing(callerUID, uid),
|
isFollowing: user.isFollowing(callerUID, uid),
|
||||||
ips: user.getIPs(uid, 4),
|
ips: user.getIPs(uid, 4),
|
||||||
|
|||||||
Reference in New Issue
Block a user