using adas_core.Domain.Enums;
using adas_core.Domain.Models.MongoModels;
using MongoDB.Bson;

namespace adas_core.Domain.Models.DTO.Display;

/// <summary>
/// Represents a data transfer object used to create a new display configuration.
/// </summary>
public class CreateDisplayConfigDto
{
    public DisplayConfigEnums.DisplayType Type { get; set; } =
        DisplayConfigEnums.DisplayType
            .Unknown; // Lista de unidades a las que se puede subscriber el cliente par recibir las actualizaciones de la seccion

    public string? Hospital { get; set; }
    public string? DisplayConfigIdTemplate { get; set; }
}

/// <summary>
/// Represents a data transfer object used to create a display configuration card.
/// </summary>
public class CreateDisplayConfigCardDto
{
    public CardConfig? CardConfig { get; set; }
    public CardDetailsConfig? DetailConfig { get; set; }
    public ChartConfig? ChartConfig { get; set; }
    public ObjectId? DisplayConfigId { get; set; }
}