From e4fb2a3c493cca456f1515bdaad39499eafc3348 Mon Sep 17 00:00:00 2001 From: ivar Date: Sun, 26 Oct 2025 22:58:52 +0100 Subject: Implement UserLastSeenMiddleware --- api/WhatApi/Middleware/UserLastSeenMiddleware.cs | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'api/WhatApi/Middleware/UserLastSeenMiddleware.cs') diff --git a/api/WhatApi/Middleware/UserLastSeenMiddleware.cs b/api/WhatApi/Middleware/UserLastSeenMiddleware.cs index ef1b685..e52f890 100644 --- a/api/WhatApi/Middleware/UserLastSeenMiddleware.cs +++ b/api/WhatApi/Middleware/UserLastSeenMiddleware.cs @@ -1,8 +1,18 @@ +using System.Security.Claims; + namespace WhatApi.Middleware; public class UserLastSeenMiddleware(RequestDelegate next, Database db) { public async Task InvokeAsync(HttpContext context) { + var userIdString = context.User.FindFirstValue(ClaimTypes.NameIdentifier); + if (Guid.TryParse(userIdString, out var userId)) { + var user = await db.Users.FirstOrDefaultAsync(c => c.Id == userId); + if (user is not null) { + user.LastSeen = DateTimeOffset.UtcNow; + await db.SaveChangesAsync(); + } + } await next(context); } } \ No newline at end of file -- cgit v1.3