using LiteDB; namespace DeluxeBackend.Models { public class PlayerInvite { [BsonId] public long Id { get; set; } [BsonRef("accounts")] public required Account Account { get; set; } [BsonRef("accounts")] public required Account InvitedBy { get; set; } public required long InstanceId { get; set; } public required DateTime ExpiresAt { get; set; } [BsonIgnore] public bool IsValid { get { var now = DateTime.UtcNow; bool timeValid = ExpiresAt.Kind == DateTimeKind.Utc ? ExpiresAt > now : ExpiresAt.ToUniversalTime() > now; return timeValid; } } } }