dotnet-cqrs/Svrnty.CQRS.Events.Abstractions/EventStore/ICorrelatedEvent.cs

29 lines
857 B
C#

using System;
using Svrnty.CQRS.Events.Abstractions.EventStore;
namespace Svrnty.CQRS.Events.Abstractions.EventStore;
/// <summary>
/// Base interface for all events that can be correlated to a command execution.
/// Events are emitted during command processing and can be subscribed to by clients.
/// </summary>
public interface ICorrelatedEvent
{
/// <summary>
/// Unique identifier for this event occurrence.
/// </summary>
string EventId { get; }
/// <summary>
/// Correlation ID linking this event to the command that caused it.
/// Multiple events can share the same correlation ID.
/// Set by the framework after event emission.
/// </summary>
string CorrelationId { get; set; }
/// <summary>
/// UTC timestamp when this event occurred.
/// </summary>
DateTimeOffset OccurredAt { get; }
}