using Application.Abstractions.Data; using Application.Abstractions.Messaging; using Microsoft.EntityFrameworkCore; namespace Application.Features.Api.Channel.GetByIds; public sealed class Handler(IAppDbContext db) : IQueryHandler { public async Task Handle(Query request, CancellationToken ct) { if (request.IDs.Count == 0) { return new Response([]); } var list = await db.Channel.AsNoTracking() .Where(c => c.IsActive && c.MemberID != request.MemberID && request.IDs.Contains(c.ID)) .Select(c => new Response.Row( c.ID, c.SID, c.Name, c.Handle, c.ThumbnailUrl, c.SubscriberCount, c.IsVerified, c.DonationCode )) .ToListAsync(ct); return new Response(list); } }