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();
}
|