namespace Femto.Modules.Auth.Models; public class UserSession { private static TimeSpan SessionTimeout = TimeSpan.FromMinutes(30); public string Id { get; private set; } public DateTimeOffset Expires { get; private set; } private UserSession() {} public static UserSession Create() { return new() { Id = Convert.ToBase64String(System.Security.Cryptography.RandomNumberGenerator.GetBytes(32)), Expires = DateTimeOffset.Now + SessionTimeout }; } }