17 lines
581 B
C#
17 lines
581 B
C#
namespace Svrnty.CQRS.Events.Abstractions;
|
|
|
|
/// <summary>
|
|
/// Interface for publishing domain events to external systems.
|
|
/// </summary>
|
|
public interface IDomainEventPublisher
|
|
{
|
|
/// <summary>
|
|
/// Publishes a domain event.
|
|
/// </summary>
|
|
/// <typeparam name="TEvent">The type of event to publish.</typeparam>
|
|
/// <param name="event">The event to publish.</param>
|
|
/// <param name="cancellationToken">Cancellation token.</param>
|
|
Task PublishAsync<TEvent>(TEvent @event, CancellationToken cancellationToken = default)
|
|
where TEvent : IDomainEvent;
|
|
}
|