blob: b3fcd898f65b3aaf03a4d8f22511e79eebde1d33 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
using System.Security.Claims;
namespace WhatApi.Middleware;
public class UserLastSeenMiddleware(RequestDelegate next)
{
public async Task InvokeAsync(HttpContext context, AppDatabase db) {
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);
}
}
|