using System.Text.Json.Serialization;

namespace PARR.Domain.DTOs.Workload
{
    /// <summary>
    /// Инфо о состоянии КЭШ для отчета Workload
    /// </summary>
    public record WorkloadCacheInfo
    {
        /// <summary>
        /// Статус отчета
        /// </summary>
        [JsonConverter(typeof(JsonStringEnumConverter))]
        public enum StatusEnum
        {
            /// <summary>
            /// Отчет формируется
            /// </summary>
            Processing = 1,

            /// <summary>
            /// Отчет сформирован
            /// </summary>
            Generated = 2,

            /// <summary>
            /// Нет отчета
            /// </summary>
            NotFound = 3
        }

        public StatusEnum Status { get; init; }

        public DateTimeOffset? Date { get; init; }

        public int? ProgressPercent { get; init; }
    }
}
