using HopFrame.Database; using HopFrame.Database.Models; using Microsoft.AspNetCore.Http; namespace HopFrame.Security.Claims; internal sealed class TokenContextImplementor(IHttpContextAccessor accessor, TDbContext context) : ITokenContext where TDbContext : HopDbContextBase { public bool IsAuthenticated => !string.IsNullOrEmpty(accessor.HttpContext?.User.GetAccessTokenId()); public User User => context.Users .SingleOrDefault(user => user.Id == accessor.HttpContext.User.GetUserId())? .ToUserModel(context); public Guid AccessToken => Guid.Parse(accessor.HttpContext?.User.GetAccessTokenId() ?? Guid.Empty.ToString()); }