From 6f3f08ed340e59a62a2d0428a5c32f99551ef1ce Mon Sep 17 00:00:00 2001 From: Rory& Date: Tue, 3 Jun 2025 01:01:40 +0200 Subject: Fix performance issues, add fake user bot to test client, more testing --- src/api/middlewares/authMiddleware.js | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) (limited to 'src/api/middlewares/authMiddleware.js') diff --git a/src/api/middlewares/authMiddleware.js b/src/api/middlewares/authMiddleware.js index b91449f..34a96f4 100644 --- a/src/api/middlewares/authMiddleware.js +++ b/src/api/middlewares/authMiddleware.js @@ -3,7 +3,7 @@ import { DbUser, UserType } from '#db/schemas/index.js'; import { SafeNSoundError } from '#util/error.js'; import { getUserById } from '#db/dbAccess/index.js'; -const shouldLogAuth = !!process.env['LOG_AUTH']; +const shouldLogAuth = process.env['LOG_AUTH'] === 'true'; function logAuth(...params) { if (shouldLogAuth) { console.log('[AUTH]', ...params); @@ -33,10 +33,25 @@ export async function useAuthentication(req, res, next) { )); logAuth('Token data:', auth); - req.user = await getUserById(auth.sub); - logAuth('User data:', req.user); + if (auth) { + req.user = await getUserById(auth.sub); + logAuth('User data:', req.user); - req.device = req.user.devices.find(device => device.id === auth.deviceId); + if (req.user) { + req.device = req.user.devices.find( + device => device.id === auth.deviceId + ); + logAuth('Device data:', req.device); + + if (req.device) { + if (req.device.lastSeen < Date.now() - 1000) { + logAuth('Updating device last seen for', req.device.id); + req.device.lastSeen = Date.now(); + await req.user.save(); + } + } + } + } next(); } -- cgit 1.5.1