using adas_core.Domain.Models.GroupedObservations;
using adas_core.Domain.Models.MongoModels;

namespace adas_core.Domain.Models.DTO.Display;

/// <summary>
/// Represents a data transfer object for a smart display configuration, extending the base display configuration with additional smart display properties.
/// </summary>
public class SmartDisplayDto : DisplayConfigDto
{
    public bool? HasCameras { get; set; }
    public bool? HasSound { get; set; }
    public bool? IsRotationEnabled { get; set; }
    public bool? CanChangeCameraMode { get; set; }
    public bool? CamerasAreActive { get; set; }
    public string? CameraStreamType { get; set; }
    public List<Sensor>? SensorList { get; set; }
    public string? ObservationForIndicator { get; set; }
    public List<Field>? AlarmFieldList { get; set; }
    public List<GroupedField>? RequestGroupedFieldList { get; set; }
    public bool? Pumps { get; set; }
    public List<ChartConfig>? ChartConfig { get; set; }
    public GraphLayout? GraphLayout { get; set; }
    public List<CardRotatingLayout>? CardRotatingLayout { get; set; }
}