summary refs log tree commit diff
path: root/src/api/middlewares/authMiddleware.js
diff options
context:
space:
mode:
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(); }