41 lines
1.2 KiB
TypeScript
41 lines
1.2 KiB
TypeScript
export interface LeagueSummaryScoringDTO {
|
||
gameId: string;
|
||
gameName: string;
|
||
primaryChampionshipType: 'driver' | 'team' | 'nations' | 'trophy';
|
||
scoringPresetId: string;
|
||
scoringPresetName: string;
|
||
dropPolicySummary: string;
|
||
/**
|
||
* Human-readable scoring pattern summary combining preset name and drop policy,
|
||
* e.g. "Sprint + Main • Best 6 results of 8 count towards the championship."
|
||
*/
|
||
scoringPatternSummary: string;
|
||
}
|
||
|
||
export interface LeagueSummaryDTO {
|
||
id: string;
|
||
name: string;
|
||
description?: string;
|
||
createdAt: Date;
|
||
ownerId: string;
|
||
maxDrivers?: number;
|
||
usedDriverSlots?: number;
|
||
maxTeams?: number;
|
||
usedTeamSlots?: number;
|
||
/**
|
||
* Human-readable structure summary derived from capacity and (future) team settings,
|
||
* e.g. "Solo • 24 drivers" or "Teams • 12 × 2 drivers".
|
||
*/
|
||
structureSummary?: string;
|
||
/**
|
||
* Human-readable scoring pattern summary for list views,
|
||
* e.g. "Sprint + Main • Best 6 results of 8 count towards the championship."
|
||
*/
|
||
scoringPatternSummary?: string;
|
||
/**
|
||
* Human-readable timing summary for list views,
|
||
* e.g. "30 min Quali • 40 min Race".
|
||
*/
|
||
timingSummary?: string;
|
||
scoring?: LeagueSummaryScoringDTO;
|
||
} |