BCards/src/BCards.Web/Models/PlanLimitations.cs

53 lines
1.5 KiB
C#

using MongoDB.Bson.Serialization.Attributes;
namespace BCards.Web.Models;
public class PlanLimitations
{
[BsonElement("maxLinks")]
public int MaxLinks { get; set; } = 5;
[BsonElement("allowCustomThemes")]
public bool AllowCustomThemes { get; set; } = false;
[BsonElement("allowAnalytics")]
public bool AllowAnalytics { get; set; } = false;
[BsonElement("allowCustomDomain")]
public bool AllowCustomDomain { get; set; } = false;
[BsonElement("allowMultipleDomains")]
public bool AllowMultipleDomains { get; set; } = false;
[BsonElement("prioritySupport")]
public bool PrioritySupport { get; set; } = false;
[BsonElement("planType")]
public string PlanType { get; set; } = "free";
// Novos campos para Links de Produto
[BsonElement("maxProductLinks")]
public int MaxProductLinks { get; set; } = 0;
[BsonElement("maxOGExtractionsPerDay")]
public int MaxOGExtractionsPerDay { get; set; } = 0;
[BsonElement("allowProductLinks")]
public bool AllowProductLinks { get; set; } = false;
[BsonElement("specialModeration")]
public bool? SpecialModeration { get; set; } = false;
[BsonElement("ogExtractionsUsedToday")]
public int OGExtractionsUsedToday { get; set; } = 0;
[BsonElement("lastExtractionDate")]
public DateTime? LastExtractionDate { get; set; }
[BsonElement("allowDocumentUpload")]
public bool AllowDocumentUpload { get; set; } = false;
[BsonElement("maxDocuments")]
public int MaxDocuments { get; set; } = 0;
}