summary refs log tree commit diff
path: root/src/api/middlewares/authMiddleware.js
diff options
context:
space:
mode:
authorRory& <root@rory.gay>2025-06-03 01:01:40 +0200
committerRory& <root@rory.gay>2025-06-03 01:01:40 +0200
commit6f3f08ed340e59a62a2d0428a5c32f99551ef1ce (patch)
treeff77390b1d3ea61414c14c94ac1fa2a05030879b /src/api/middlewares/authMiddleware.js
parentMore alarm testing (diff)
downloadnodejs-final-assignment-6f3f08ed340e59a62a2d0428a5c32f99551ef1ce.tar.xz
Fix performance issues, add fake user bot to test client, more testing
Diffstat (limited to 'src/api/middlewares/authMiddleware.js')
-rw-r--r--src/api/middlewares/authMiddleware.js23
1 files changed, 19 insertions, 4 deletions
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(); }