blob: 5c7f1e7fdf727c3cc27f3f91fe1adfad7d703c36 (
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,Database 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);
}
}
|