namespace ChatService.Domain.Events;

using ChatService.Domain.AggregatesModel.UserAggregate;
using MediatR;

/// <summary>
/// EN: Domain event raised when a new chat user is created.
/// VI: Domain event được phát ra khi một chat user mới được tạo.
/// </summary>
public class ChatUserCreatedDomainEvent : INotification
{
    public ChatUser User { get; }

    public ChatUserCreatedDomainEvent(ChatUser user)
    {
        User = user;
    }
}

/// <summary>
/// EN: Domain event raised when user's key bundle is updated.
/// VI: Domain event được phát ra khi key bundle của user được cập nhật.
/// </summary>
public class UserKeyBundleUpdatedDomainEvent : INotification
{
    public ChatUser User { get; }

    public UserKeyBundleUpdatedDomainEvent(ChatUser user)
    {
        User = user;
    }
}
