using IM_API.Domain.Events; using IM_API.Dtos; using IM_API.Hubs; using IM_API.VOs.Group; using MassTransit; using Microsoft.AspNetCore.SignalR; namespace IM_API.Application.EventHandlers.GroupRequestUpdateHandler { public class RequestUpdateSignalrHandler : IConsumer { private readonly IHubContext _hub; public RequestUpdateSignalrHandler(IHubContext hub) { _hub = hub; } public async Task Consume(ConsumeContext context) { var msg = new HubResponse("Event", new GroupRequestUpdateVo { GroupId = context.Message.GroupId, RequestId = context.Message.RequestId, UserId = context.Message.UserId }); await _hub.Clients.User(context.Message.UserId.ToString()).SendAsync("ReceiveMessage", msg); } } }