Newer
Older
Warehouse / src / Infrastructure / Authentication / Core / Model / TokenModel.cs
@Derek Comartin Derek Comartin on 22 Aug 2023 495 bytes Init
namespace MyWarehouse.Infrastructure.Authentication.Core.Model;

public record TokenModel
{
    public string TokenType { get; }
    public string AccessToken { get; }
    public DateTime ExpiresAt { get; }

    public TokenModel(string tokenType, string accessToken, DateTime expiresAt)
        => (TokenType, AccessToken, ExpiresAt) = (tokenType, accessToken, expiresAt);

    public int GetRemainingLifetimeSeconds()
        => Math.Max(0, (int)(ExpiresAt - DateTime.Now).TotalSeconds);
}