namespace Hua.Todo.Core.Entities;

/// <summary>
/// 用户会话实体（服务端会话令牌）。
/// </summary>
public class UserSessionEntity
{
    /// <summary>
    /// 会话唯一标识符，同时作为 Bearer Token 值使用。
    /// </summary>
    public Guid Id { get; set; }

    /// <summary>
    /// 会话所属用户 ID。
    /// </summary>
    public Guid UserId { get; set; }

    /// <summary>
    /// 会话所属用户导航属性。
    /// </summary>
    public UserEntity? User { get; set; }

    /// <summary>
    /// 会话创建时间（UTC）。
    /// </summary>
    public DateTime CreatedAtUtc { get; set; }

    /// <summary>
    /// 会话过期时间（UTC）。
    /// </summary>
    public DateTime ExpiresAtUtc { get; set; }

    /// <summary>
    /// 二次认证（step-up）有效期截止（UTC）；为空表示未进行二次认证。
    /// </summary>
    public DateTime? StepUpExpiresAtUtc { get; set; }
}

