Files
gridpilot.gg/core/racing/application/use-cases/TeamRankingUseCase.ts
2026-01-16 13:48:18 +01:00

22 lines
575 B
TypeScript

/**
* Application Use Case Interface: ITeamRankingUseCase
*
* Use case for computing team rankings from rating snapshots.
* This is an application layer concern that orchestrates domain data.
*/
export interface TeamRanking {
teamId: string;
teamName: string;
drivingRating: number;
adminTrustRating: number;
overallRating: number;
eventCount: number;
lastUpdated: Date;
overallRank: number | null;
}
export interface TeamRankingUseCase {
getAllTeamRankings(): Promise<TeamRanking[]>;
getTeamRanking(teamId: string): Promise<TeamRanking | null>;
}