fix(api): Task - получение статусов задач, доработка отчетов workload

This commit is contained in:
Mikhail Trubnikov
2026-05-15 16:09:49 +10:00
parent 87db7c5fd6
commit 911e6febcd
22 changed files with 334 additions and 323 deletions

View 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; }
}
}

View 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:
}
}

View 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; }
}
}

View 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; }
}
}