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);
}
}