31 lines
785 B
C#
31 lines
785 B
C#
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;
|
|
}
|
|
}
|
|
}
|
|
}
|