33 lines
989 B
C#
33 lines
989 B
C#
using MongoDB.Bson;
|
|
using MongoDB.Bson.Serialization.Attributes;
|
|
|
|
namespace QRRapidoApp.Models
|
|
{
|
|
public class AdFreeSession
|
|
{
|
|
[BsonId]
|
|
[BsonRepresentation(BsonType.ObjectId)]
|
|
public string Id { get; set; } = string.Empty;
|
|
|
|
[BsonElement("userId")]
|
|
public string UserId { get; set; } = string.Empty;
|
|
|
|
[BsonElement("startedAt")]
|
|
public DateTime StartedAt { get; set; } = DateTime.UtcNow;
|
|
|
|
[BsonElement("expiresAt")]
|
|
public DateTime ExpiresAt { get; set; }
|
|
|
|
[BsonElement("isActive")]
|
|
public bool IsActive { get; set; } = true;
|
|
|
|
[BsonElement("sessionType")]
|
|
public string SessionType { get; set; } = "Login"; // "Login", "Premium", "Trial", "Promotion"
|
|
|
|
[BsonElement("durationMinutes")]
|
|
public int DurationMinutes { get; set; } = 43200; // 30 days default
|
|
|
|
[BsonElement("createdAt")]
|
|
public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
|
|
}
|
|
} |