league service

This commit is contained in:
2025-12-16 00:57:31 +01:00
parent 3b566c973d
commit 775d41e055
130 changed files with 4077 additions and 1036 deletions

View File

@@ -1,20 +1,16 @@
import type { Presenter } from '@gridpilot/shared/presentation/Presenter';
export interface LeagueStatsViewModel {
leagueId: string;
totalMembers: number;
totalRaces: number;
completedRaces: number;
scheduledRaces: number;
averageSOF: number | null;
highestSOF: number | null;
lowestSOF: number | null;
averageRating: number;
}
export interface ILeagueStatsPresenter {
present(
leagueId: string,
totalRaces: number,
completedRaces: number,
scheduledRaces: number,
sofValues: number[]
): LeagueStatsViewModel;
getViewModel(): LeagueStatsViewModel;
}
export interface LeagueStatsResultDTO {
totalMembers: number;
totalRaces: number;
averageRating: number;
}
export interface ILeagueStatsPresenter
extends Presenter<LeagueStatsResultDTO, LeagueStatsViewModel> {}