namespace PARR.API.Contracts.V1.Responses
{
    public class HostBaseResponse
    {
        public Guid Id { get; set; }

        public string Ek { get; set; } = string.Empty;

        public required string IP { get; set; }

        //TODO: Удалить поле Status, использовать EkStatus
        public string? Status { get; set; }

        public EkStatusResponse? EkStatus { get; set; }

        public string? WorkGroupName { get; set; }

        public WorkGroupResponse? WorkGroup { get; set; }

        //TODO: Удалить поле ResponseArea, использовать EkResponseArea
        public string? ResponseArea { get; set; }

        public ResponseAreaResponse? EkResponseArea { get; set; }

        public DateTimeOffset? LastLogon { get; set; }
    }

    /// <summary>
    /// Респонс Хоста для Шаблона
    /// </summary>
    public class HostTemplateResponse : HostBaseResponse
    {

    }

    /// <summary>
    /// Респонс Хоста с приложениями (компнентном составе)
    /// </summary>
    public class HostWithApplicationsResponse : HostBaseResponse
    {
        public List<ApplicationResponse>? Applications { get; set; }
    }
}
