26 lines
850 B
C#
26 lines
850 B
C#
using GroupService.Domain.Events;
|
|
using IM.Commons.IntegrationEvents;
|
|
using MassTransit;
|
|
using MediatR;
|
|
|
|
namespace GroupService.WebApi.Application.EventHandler
|
|
{
|
|
public class GroupMemberJoinedHandler : INotificationHandler<GroupMemberJoinedDomainEvent>
|
|
{
|
|
private readonly IPublishEndpoint endpoint;
|
|
|
|
public GroupMemberJoinedHandler(IPublishEndpoint endpoint)
|
|
{
|
|
this.endpoint = endpoint;
|
|
}
|
|
|
|
public async Task Handle(GroupMemberJoinedDomainEvent notification, CancellationToken cancellationToken)
|
|
{
|
|
var member = notification.Member;
|
|
await endpoint.Publish(new GroupMemberJoinedEvent(member.Id,
|
|
member.UserId, member.GroupId, member.GroupNickName, member.Avatar,
|
|
member.Role.ToString()), cancellationToken);
|
|
}
|
|
}
|
|
}
|