Files
gridpilot.gg/core/racing/application/use-cases/ITeamRankingUseCase.ts
2025-12-30 12:25:45 +01:00

22 lines
576 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 ITeamRankingUseCase {
getAllTeamRankings(): Promise<TeamRanking[]>;
getTeamRanking(teamId: string): Promise<TeamRanking | null>;
}