25 lines
673 B
C#
25 lines
673 B
C#
using ConnectorService.Dtos;
|
|
using ConnectorService.Hubs;
|
|
using IM.Commons.IntegrationEvents;
|
|
using MassTransit;
|
|
using Microsoft.AspNetCore.SignalR;
|
|
|
|
namespace ConnectorService.Consumers
|
|
{
|
|
public class MessageConsumer : IConsumer<MsgCreatedEvent>
|
|
{
|
|
private readonly IHubContext<ChatHub> hub;
|
|
|
|
public MessageConsumer(IHubContext<ChatHub> hub)
|
|
{
|
|
this.hub = hub;
|
|
}
|
|
|
|
public async Task Consume(ConsumeContext<MsgCreatedEvent> context)
|
|
{
|
|
var @event = context.Message;
|
|
await hub.Clients.Group(@event.StreamKey).SendAsync("ReceiveNewMessage", @event.ToHubResponse());
|
|
}
|
|
}
|
|
}
|