using adas_core.Domain.Enums;
using adas_core.Domain.Models.DTO.Display;
using MongoDB.Bson;

namespace adas_core.Domain.Models.Responses;

/// <summary>
/// Represents a minimal response containing essential display configuration data.
/// </summary>
/// <remarks>
/// This class is typically used to convey a lightweight subset of display configuration information in API responses or inter-component communication.
/// </remarks>
public class DisplayConfigMinimalResponse
{
    public DisplayConfigMinimalResponse()
    {
    }

    public DisplayConfigMinimalResponse(DisplayConfigSummary displayConfig, bool? isInUse = false)
    {
        Id = displayConfig.Id;
        Type = displayConfig.Type;
        Hospital = displayConfig.Name;
        IsInUse = isInUse;
    }

    public ObjectId Id { get; set; }
    public DisplayConfigEnums.DisplayType Type { get; set; } = DisplayConfigEnums.DisplayType.Unknown;
    public string? Hospital { get; set; }

    public bool? IsInUse { get; set; }
}