41 lines
986 B
TypeScript
41 lines
986 B
TypeScript
export interface LeagueCreatedEvent {
|
|
type: 'LeagueCreatedEvent';
|
|
leagueId: string;
|
|
ownerId: string;
|
|
timestamp: Date;
|
|
}
|
|
|
|
export interface LeagueUpdatedEvent {
|
|
type: 'LeagueUpdatedEvent';
|
|
leagueId: string;
|
|
updates: Partial<any>;
|
|
timestamp: Date;
|
|
}
|
|
|
|
export interface LeagueDeletedEvent {
|
|
type: 'LeagueDeletedEvent';
|
|
leagueId: string;
|
|
timestamp: Date;
|
|
}
|
|
|
|
export interface LeagueAccessedEvent {
|
|
type: 'LeagueAccessedEvent';
|
|
leagueId: string;
|
|
driverId: string;
|
|
timestamp: Date;
|
|
}
|
|
|
|
export interface LeagueEventPublisher {
|
|
emitLeagueCreated(event: LeagueCreatedEvent): Promise<void>;
|
|
emitLeagueUpdated(event: LeagueUpdatedEvent): Promise<void>;
|
|
emitLeagueDeleted(event: LeagueDeletedEvent): Promise<void>;
|
|
emitLeagueAccessed(event: LeagueAccessedEvent): Promise<void>;
|
|
|
|
getLeagueCreatedEventCount(): number;
|
|
getLeagueUpdatedEventCount(): number;
|
|
getLeagueDeletedEventCount(): number;
|
|
getLeagueAccessedEventCount(): number;
|
|
|
|
clear(): void;
|
|
}
|