using IM.Application.Chat.Queries; using IM.Infrastructure.Persistence; using MediatR; namespace IM.Application.Chat.Handlers; /// /// 用户会话 ID 查询处理器。供 SignalR 按会话分组订阅。 /// public class GetUserConversationIdsQueryHandler(ImDbContext db) : IRequestHandler> { public async Task> Handle(GetUserConversationIdsQuery request, CancellationToken ct) { return await db.ConversationParticipants .Where(p => p.UserId == request.UserId) .Select(p => p.ConversationId) .ToListAsync(ct); } }