feat(api): оптимизация запросов на получение списка шаблонов, обновлен response

This commit is contained in:
Mikhail Trubnikov
2026-01-29 16:53:00 +10:00
parent 3b7213182c
commit 5222d763f9
4 changed files with 216 additions and 89 deletions

View File

@@ -30,6 +30,11 @@ namespace PARR.API.Contracts.V1.Requests.Queries
/// Статус синхронизации шаблонов и расписаний
/// </summary>
public TemplateQuerySyncStatusEnum? SyncStatus { get; set; }
/// <summary>
/// Применять шорткоды
/// </summary>
public bool? ApplyShortcode { get; set; }
}
/// <summary>

View File

@@ -1,6 +1,6 @@
namespace PARR.API.Contracts.V1.Responses
{
public class TemplateResponse
public class TemplateBaseResponse
{
public Guid Id { get; set; }
@@ -10,6 +10,46 @@
public bool IsActiveSchedule { get; set; }
public string? ScheduleEsppId { get; set; }
public DateTimeOffset? LastRun { get; set; }
public DateTimeOffset NextRun { get; set; }
/// <summary>
/// Рабочая группа (формируется из шорткода)
/// </summary>
public string? WorkGroup { get; set; }
/// <summary>
/// ЗО, формируется из шорткода
/// </summary>
public string? ResponseArea { get; set; }
public UnitWithAttributesResponse? Unit { get; set; }
public TemplateStatusTypeResponse? StatusType { get; set; }
public TemplateAgentResponse? Agent { get; set; }
public List<RobotConfigurationResponse>? SyncStatus { get; set; }
public int OrderCount { get; set; }
public bool IsAutoDistributionEnabled { get; set; }
}
public class TemplateListResponse : TemplateBaseResponse
{
}
public class TemplateResponse : TemplateBaseResponse
{
public required string Category { get; set; }
public required string Initiator { get; set; }
@@ -24,29 +64,6 @@
public required string TemplateDuration { get; set; }
/// <summary>
/// Рабочая группа (формируется из шорткода)
/// </summary>
public required string WorkGroup { get; set; }
/// <summary>
/// ЗО, формируется из шорткода
/// </summary>
public required string ResponseArea { get; set; }
public TemplateAgentResponse? Agent { get; set; }
public DateTimeOffset? LastRun { get; set; }
public DateTimeOffset NextRun { get; set; }
public bool IsAutoDistributionEnabled { get; set; }
public string? ScheduleEsppId { get; set; }
//public UnitResponse? Unit { get; set; }
public UnitWithAttributesResponse? Unit { get; set; }
public JobResponse? Job { get; set; }
public ProcessResponse? Process { get; set; }
@@ -55,8 +72,6 @@
public TnkResponse? Tnk { get; set; }
public List<RobotConfigurationResponse>? SyncStatus { get; set; }
/// <summary>
/// Расписание
/// </summary>
@@ -72,10 +87,6 @@
/// </summary>
public ScheduleExcludeTypeCalendarResponse? ScheduleExcludeTypeCalendar { get; set; }
public int OrderCount { get; set; }
public TemplateStatusTypeResponse? StatusType { get; set; }
public JobGroupDistributionConfigResponse? DistributionConfig { get; set; }
}
}