|
|
@ -4,18 +4,22 @@ const { Accounts } = require(__dirname+'/../db/') |
|
|
|
, cache = require(__dirname+'/../redis.js'); |
|
|
|
, cache = require(__dirname+'/../redis.js'); |
|
|
|
|
|
|
|
|
|
|
|
module.exports = async (req, res, next) => { |
|
|
|
module.exports = async (req, res, next) => { |
|
|
|
if (req.session && req.session.user && !res.locals.user) { |
|
|
|
if (req.session && req.session.user) { |
|
|
|
const account = await Accounts.findOne(req.session.user); |
|
|
|
res.locals.user = await cache.get(`users:${req.session.user}`); |
|
|
|
if (!account) { |
|
|
|
|
|
|
|
req.session.destroy(); |
|
|
|
if (!res.locals.user) { |
|
|
|
} else { |
|
|
|
const account = await Accounts.findOne(req.session.user); |
|
|
|
res.locals.user = { |
|
|
|
if (!account) { |
|
|
|
'username': account._id, |
|
|
|
req.session.destroy(); |
|
|
|
'authLevel': account.authLevel, |
|
|
|
} else { |
|
|
|
'modBoards': account.modBoards, |
|
|
|
res.locals.user = { |
|
|
|
'ownedBoards': account.ownedBoards, |
|
|
|
'username': account._id, |
|
|
|
}; |
|
|
|
'authLevel': account.authLevel, |
|
|
|
cache.set(`users:${req.session.user}`, res.locals.user, 3600); |
|
|
|
'modBoards': account.modBoards, |
|
|
|
|
|
|
|
'ownedBoards': account.ownedBoards, |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
cache.set(`users:${req.session.user}`, res.locals.user, 3600); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
next(); |
|
|
|
next(); |
|
|
|