OneConversorTemplate/OnlyOneAccessTemplate/Models/SiteConfiguration.cs
2025-06-01 21:39:47 -03:00

52 lines
1.8 KiB
C#

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<ConverterCard> 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;
}
}