using Knot.Shared.Kernel;
namespace Knot.Contracts.Messaging.Domain;
///
/// Доменное событие: сообщение отправлено.
///
public sealed record MessageSentDomainEvent(Guid MessageId, Guid ChatId, Guid SenderId, string? Content) : IDomainEvent;
///
/// Доменное событие: сообщение удалено.
///
public sealed record MessageDeletedDomainEvent(Guid MessageId, Guid ChatId) : IDomainEvent;
///
/// Доменное событие: сообщение отредактировано.
///
public sealed record MessageEditedDomainEvent(Guid MessageId, Guid ChatId, string NewContent) : IDomainEvent;
///
/// Доменное событие: реакция добавлена.
///
public sealed record MessageReactionAddedDomainEvent(Guid MessageId, Guid ChatId, Guid UserId, string Emoji) : IDomainEvent;
///
/// Доменное событие: реакция удалена.
///
public sealed record MessageReactionRemovedDomainEvent(Guid MessageId, Guid ChatId, Guid UserId, string Emoji) : IDomainEvent;