Merge branch 'report' into dev
This commit is contained in:
@@ -5,10 +5,19 @@
|
||||
/// </summary>
|
||||
public interface IBaseCache<T>
|
||||
{
|
||||
/// <summary>
|
||||
/// Объект
|
||||
/// </summary>
|
||||
public T Data { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Дата формирования Cache
|
||||
/// </summary>
|
||||
public DateTimeOffset Timestamp { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Источник Cache (class)
|
||||
/// </summary>
|
||||
public string Source { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
12
PARR.Domain/DTOs/TaskDTO/ActiveTask.cs
Normal file
12
PARR.Domain/DTOs/TaskDTO/ActiveTask.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
namespace PARR.Domain.DTOs.TaskDTO
|
||||
{
|
||||
/// <summary>
|
||||
/// DTO
|
||||
/// </summary>
|
||||
public record ActiveTask : TaskItemBase
|
||||
{
|
||||
public required TaskType Type { get; init; }
|
||||
|
||||
public required TaskStatus Status { get; init; }
|
||||
}
|
||||
}
|
||||
26
PARR.Domain/DTOs/TaskDTO/TaskItem.cs
Normal file
26
PARR.Domain/DTOs/TaskDTO/TaskItem.cs
Normal file
@@ -0,0 +1,26 @@
|
||||
namespace PARR.Domain.DTOs.TaskDTO
|
||||
{
|
||||
/// <summary>
|
||||
/// DTO
|
||||
/// </summary>
|
||||
public record TaskItemBase
|
||||
{
|
||||
public Guid Id { get; init; }
|
||||
|
||||
public DateTimeOffset DateCreated { get; init; }
|
||||
|
||||
public DateTimeOffset? DateModified { get; init; }
|
||||
|
||||
public int RetryCount { get; init; }
|
||||
|
||||
public DateTimeOffset? ProcessedAt { get; init; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// DTO
|
||||
/// </summary>
|
||||
public record TaskItem : TaskItemBase
|
||||
{
|
||||
//todo:
|
||||
}
|
||||
}
|
||||
16
PARR.Domain/DTOs/TaskDTO/TaskStatus.cs
Normal file
16
PARR.Domain/DTOs/TaskDTO/TaskStatus.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using PARR.Domain.Enums;
|
||||
|
||||
namespace PARR.Domain.DTOs.TaskDTO
|
||||
{
|
||||
/// <summary>
|
||||
/// DTO
|
||||
/// </summary>
|
||||
public record TaskStatus
|
||||
{
|
||||
public TaskItemStatusEnum Code { get; init; }
|
||||
|
||||
public required string Name { get; init; }
|
||||
|
||||
public required string Description { get; init; }
|
||||
}
|
||||
}
|
||||
36
PARR.Domain/DTOs/TaskDTO/TaskType.cs
Normal file
36
PARR.Domain/DTOs/TaskDTO/TaskType.cs
Normal file
@@ -0,0 +1,36 @@
|
||||
using PARR.Domain.Enums;
|
||||
|
||||
namespace PARR.Domain.DTOs.TaskDTO
|
||||
{
|
||||
/// <summary>
|
||||
/// DTO
|
||||
/// </summary>
|
||||
public record TaskType
|
||||
{
|
||||
public TaskTypeEnum Code { get; init; }
|
||||
|
||||
public required string Name { get; init; }
|
||||
|
||||
public required string Description { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// Максимальное кол-во попыток
|
||||
/// </summary>
|
||||
public int MaxRetries { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// Максимальное время выполнения
|
||||
/// </summary>
|
||||
public int MaxExecutionTimeMinutes { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// Одновременно может быть только одна задача или несколько
|
||||
/// </summary>
|
||||
public bool IsSingleton { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// Сколько дней хранить в БД
|
||||
/// </summary>
|
||||
public int RetentionDays { get; init; }
|
||||
}
|
||||
}
|
||||
36
PARR.Domain/DTOs/Workload/WorkloadCacheInfo.cs
Normal file
36
PARR.Domain/DTOs/Workload/WorkloadCacheInfo.cs
Normal file
@@ -0,0 +1,36 @@
|
||||
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; }
|
||||
}
|
||||
}
|
||||
@@ -79,6 +79,11 @@ namespace PARR.Domain.Enums
|
||||
/// <summary>
|
||||
/// Генератор Template
|
||||
/// </summary>
|
||||
TemplateTaskGenerator = 13
|
||||
TemplateTaskGenerator = 13,
|
||||
|
||||
/// <summary>
|
||||
/// Генератор кэша отчетов Workload
|
||||
/// </summary>
|
||||
WorkloadBuilder = 14
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user