22 lines
576 B
TypeScript
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>;
|
|
} |