feat(api): изменены респонсы Job и JobGroup.

This commit is contained in:
Mikhail Kuznetsov
2025-09-09 17:19:41 +10:00
parent 6d021b23e0
commit aa31af8027
11 changed files with 140 additions and 34 deletions

View File

@@ -59,7 +59,7 @@ namespace PARR.API.Controllers.V1
{
var paginationFilter = mapper.Map<PaginationFilter>(paginationQuery);
IQueryable<Job> query = jobService.Get().Include(t => t.Tnk).Include(t=>t.Group);
IQueryable<Job> query = jobService.Get();
query = query.OrderBy(t => t.Name);
@@ -69,6 +69,21 @@ namespace PARR.API.Controllers.V1
if (filter.GroupId.HasValue)
query = query.Where(t => t.GroupId == filter.GroupId.Value);
if (filter.IsFull)
{
query = query
.Include(t => t.Tnk)
.Include(t => t.Group);
query = query
.Include(t => t.UnitFilters)
.ThenInclude(t => t.FieldFilters)
.ThenInclude(t => t.Field)
.Include(t => t.UnitFilters)
.ThenInclude(t => t.RelationshipFilters)
.ThenInclude(t => t.UnitField);
}
var jobs = await jobService.GetPage(query, paginationFilter).ToListAsync();
if (!jobs.Any())
@@ -90,12 +105,21 @@ namespace PARR.API.Controllers.V1
[HttpGet(ApiRoutes.Job.Get)]
public async Task<IActionResult> GetById([FromRoute] Guid id)
{
var job = await jobService.Get().Include(t => t.Tnk).FirstOrDefaultAsync(t => t.Id == id);
var job = await jobService.Get()
.Include(t => t.Tnk)
.Include(t => t.Group)
.Include(t => t.UnitFilters)
.ThenInclude(t => t.FieldFilters)
.ThenInclude(t => t.Field)
.Include(t => t.UnitFilters)
.ThenInclude(t => t.RelationshipFilters)
.FirstOrDefaultAsync(t => t.Id == id);
if (job == null)
return NotFound();
var response = mapper.Map<JobResponse>(job);
response.TemplatesCount = await templateService.Get().CountAsync(t => t.JobId == id);
var statistics = await GetStatisticsAsync(response.Id);
@@ -270,8 +294,8 @@ namespace PARR.API.Controllers.V1
private void BindStatistics(JobResponse job, JobStatModel statistics)
{
job.TemplateStatistics = new TemplateStats { Activated = statistics.TemplateStatistics.Activated, Errors = statistics.TemplateStatistics.Errors, Synchronized = statistics.TemplateStatistics.Synchronized };
job.ScheduleStatistics = new ScheduleStats { Activated = statistics.ScheduleStatistics.Activated, Errors = statistics.ScheduleStatistics.Errors, Synchronized = statistics.ScheduleStatistics.Synchronized };
//job.TemplateStatistics = new TemplateStats { Activated = statistics.TemplateStatistics.Activated, Errors = statistics.TemplateStatistics.Errors, Synchronized = statistics.TemplateStatistics.Synchronized };
//job.ScheduleStatistics = new ScheduleStats { Activated = statistics.ScheduleStatistics.Activated, Errors = statistics.ScheduleStatistics.Errors, Synchronized = statistics.ScheduleStatistics.Synchronized };
}