namespace Apollinare.Domain.Entities;

/// <summary>
/// Template per la generazione di report PDF
/// Contiene il metalinguaggio APRT (Apollinare Report Template)
/// </summary>
public class ReportTemplate : BaseEntity
{
    public string Nome { get; set; } = string.Empty;
    public string? Descrizione { get; set; }

    /// <summary>
    /// Categoria del template (Evento, Cliente, Articoli, etc.)
    /// </summary>
    public string Categoria { get; set; } = "Generale";

    /// <summary>
    /// Il template in formato JSON (metalinguaggio APRT)
    /// </summary>
    public string TemplateJson { get; set; } = "{}";

    /// <summary>
    /// Preview thumbnail del template (PNG base64)
    /// </summary>
    public byte[]? Thumbnail { get; set; }
    public string? ThumbnailMimeType { get; set; }

    /// <summary>
    /// Dimensioni pagina (A4, A3, Letter, etc.)
    /// </summary>
    public string PageSize { get; set; } = "A4";

    /// <summary>
    /// Orientamento (portrait, landscape)
    /// </summary>
    public string Orientation { get; set; } = "portrait";

    public bool Attivo { get; set; } = true;
}
