using MongoDB.Bson; using MongoDB.Bson.Serialization.Attributes; using System.ComponentModel.DataAnnotations; namespace OnlyOneAccessTemplate.Models { public class SiteConfiguration { [BsonId] [BsonRepresentation(BsonType.ObjectId)] public string Id { get; set; } = string.Empty; [Required] public string Language { get; set; } = "pt"; // "pt", "en", "es" public string Currency { get; set; } = "BRL"; // "BRL", "USD", "EUR" public string CountryCode { get; set; } = "BR"; // "BR", "US", "ES" // SEO Configuration public string SiteTitle { get; set; } = string.Empty; public string SiteDescription { get; set; } = string.Empty; public string SiteKeywords { get; set; } = string.Empty; public string OgImage { get; set; } = string.Empty; // AdSense Configuration public string AdSenseClientId { get; set; } = string.Empty; public string AdSenseSlotId { get; set; } = string.Empty; // Home Page Content public HomePageContent HomePage { get; set; } = new(); public DateTime CreatedAt { get; set; } = DateTime.UtcNow; public DateTime UpdatedAt { get; set; } = DateTime.UtcNow; } public class HomePageContent { public string MainTitle { get; set; } = string.Empty; public string MainDescription { get; set; } = string.Empty; public string CallToAction { get; set; } = string.Empty; public List FeaturedConverters { get; set; } = new(); } public class ConverterCard { public string Title { get; set; } = string.Empty; public string Description { get; set; } = string.Empty; public string Icon { get; set; } = string.Empty; public string Url { get; set; } = string.Empty; } }