Update scheduling parameters and refactor channel endpoints: extend HorizonDays to 7 and RetentionDays to 90 in appsettings.json. Consolidate channel-related endpoint logic by removing obsolete files and enhancing the ShowEndpoints with audience and genre management capabilities. Improve error handling and streamline command handlers for channel operations.
build / backend (push) Successful in 7m40s
build / frontend (push) Failing after 39s
tests / backend-tests (push) Successful in 6m9s

This commit is contained in:
Leonid Pershin
2026-07-26 13:32:13 +03:00
parent c4ef954dea
commit 66040a8841
272 changed files with 27944 additions and 8699 deletions
@@ -0,0 +1,32 @@
using LiteCqrs;
using Microsoft.EntityFrameworkCore;
using TeleWave.Application.Common.Interfaces;
namespace TeleWave.Application.Programming.Groups.ListGroups;
public sealed class ListGroupsQueryHandler(IAppDbContext dbContext)
: IQueryHandler<ListGroupsQuery, IReadOnlyList<GroupSummaryDto>>
{
public async Task<IReadOnlyList<GroupSummaryDto>> Handle(
ListGroupsQuery query,
CancellationToken cancellationToken
)
{
// Список читает кэш статистики, не пересчитывая его: пересчёт идёт при правке состава.
return await dbContext
.Groups.AsNoTracking()
.OrderBy(g => g.Name)
.Select(g => new GroupSummaryDto(
g.Id,
g.Name,
g.Description,
g.ItemCount,
g.UnitCount,
g.TotalDuration.TotalSeconds,
g.FilterJson != null,
g.StatsComputedAt,
g.CreatedAt
))
.ToListAsync(cancellationToken);
}
}