summaryrefslogtreecommitdiffstats
path: root/api/WhatApi/Middleware
diff options
context:
space:
mode:
Diffstat (limited to 'api/WhatApi/Middleware')
-rw-r--r--api/WhatApi/Middleware/UserLastSeenMiddleware.cs10
1 files changed, 10 insertions, 0 deletions
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