using System.Net;
namespace OliverBooth.Common.Data.Web.Users;
///
/// Represents a login session.
///
public interface ISession
{
///
/// Gets the date and time at which this session was created.
///
/// The creation timestamp.
DateTimeOffset Created { get; }
///
/// Gets the date and time at which this session expires.
///
/// The expiration timestamp.
DateTimeOffset Expires { get; }
///
/// Gets the ID of the session.
///
/// The ID of the session.
Guid Id { get; }
///
/// Gets the IP address of the session.
///
/// The IP address.
IPAddress IpAddress { get; }
///
/// Gets the date and time at which this session was last accessed.
///
/// The last access timestamp.
DateTimeOffset LastAccessed { get; }
///
/// Gets a value indicating whether this session is valid.
///
/// if the session is valid; otherwise, .
bool RequiresTotp { get; }
///
/// Gets the date and time at which this session was updated.
///
/// The update timestamp.
DateTimeOffset Updated { get; }
///
/// Gets the user agent string associated with this session.
///
/// The user agent string.
string UserAgent { get; }
///
/// Gets the user ID associated with the session.
///
/// The user ID.
Guid UserId { get; }
}