From 8b08f565cfbc3f07d1aca185957d361d872a3003 Mon Sep 17 00:00:00 2001 From: some random guy Date: Wed, 12 Aug 2020 13:05:14 +0200 Subject: [PATCH] actually use session cache --- helpers/sessionrefresh.js | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/helpers/sessionrefresh.js b/helpers/sessionrefresh.js index 98a5a0bb..ccce37da 100644 --- a/helpers/sessionrefresh.js +++ b/helpers/sessionrefresh.js @@ -4,18 +4,22 @@ const { Accounts } = require(__dirname+'/../db/') , cache = require(__dirname+'/../redis.js'); module.exports = async (req, res, next) => { - if (req.session && req.session.user && !res.locals.user) { - const account = await Accounts.findOne(req.session.user); - if (!account) { - req.session.destroy(); - } else { - res.locals.user = { - 'username': account._id, - 'authLevel': account.authLevel, - 'modBoards': account.modBoards, - 'ownedBoards': account.ownedBoards, - }; - cache.set(`users:${req.session.user}`, res.locals.user, 3600); + if (req.session && req.session.user) { + res.locals.user = await cache.get(`users:${req.session.user}`); + + if (!res.locals.user) { + const account = await Accounts.findOne(req.session.user); + if (!account) { + req.session.destroy(); + } else { + res.locals.user = { + 'username': account._id, + 'authLevel': account.authLevel, + 'modBoards': account.modBoards, + 'ownedBoards': account.ownedBoards, + }; + cache.set(`users:${req.session.user}`, res.locals.user, 3600); + } } } next();