10 lines
250 B
TypeScript
10 lines
250 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>;
|
|
} |