diff options
Diffstat (limited to 'api/WhatApi/Middleware')
| -rw-r--r-- | api/WhatApi/Middleware/UserLastSeenMiddleware.cs | 10 |
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 |
