13 lines
356 B
TypeScript
13 lines
356 B
TypeScript
export interface DomainEvent<T = unknown> {
|
|
readonly eventType: string;
|
|
readonly aggregateId: string;
|
|
readonly eventData: T;
|
|
readonly occurredAt: Date;
|
|
}
|
|
|
|
export interface DomainEventPublisher {
|
|
publish(event: DomainEvent): Promise<void>;
|
|
}
|
|
|
|
// Alias for backward compatibility
|
|
export interface IDomainEvent<T = unknown> extends DomainEvent<T> {} |