26 lines
656 B
TypeScript
26 lines
656 B
TypeScript
/**
|
|
* Application Use Case Interface: IDriverStatsUseCase
|
|
*
|
|
* Use case for computing detailed driver statistics from race results and standings.
|
|
* This is an application layer concern that orchestrates domain data.
|
|
*/
|
|
|
|
export interface DriverStats {
|
|
rating: number;
|
|
safetyRating: number;
|
|
sportsmanshipRating: number;
|
|
totalRaces: number;
|
|
wins: number;
|
|
podiums: number;
|
|
dnfs: number;
|
|
avgFinish: number;
|
|
bestFinish: number;
|
|
worstFinish: number;
|
|
consistency: number;
|
|
experienceLevel: string;
|
|
overallRank: number | null;
|
|
}
|
|
|
|
export interface IDriverStatsUseCase {
|
|
getDriverStats(driverId: string): Promise<DriverStats | null>;
|
|
} |