Files
gridpilot.gg/apps/website/lib/view-models/LeagueScoringPresetViewModel.ts
2025-12-28 12:04:12 +01:00

36 lines
981 B
TypeScript

export type LeagueScoringPresetTimingDefaultsViewModel = {
practiceMinutes: number;
qualifyingMinutes: number;
sprintRaceMinutes: number;
mainRaceMinutes: number;
sessionCount: number;
};
export type LeagueScoringPresetViewModelInput = {
id: string;
name: string;
sessionSummary: string;
bonusSummary?: string;
defaultTimings: LeagueScoringPresetTimingDefaultsViewModel;
};
/**
* LeagueScoringPresetViewModel
*
* View model for league scoring preset configuration
*/
export class LeagueScoringPresetViewModel {
readonly id: string;
readonly name: string;
readonly sessionSummary: string;
readonly bonusSummary?: string;
readonly defaultTimings: LeagueScoringPresetTimingDefaultsViewModel;
constructor(input: LeagueScoringPresetViewModelInput) {
this.id = input.id;
this.name = input.name;
this.sessionSummary = input.sessionSummary;
this.bonusSummary = input.bonusSummary;
this.defaultTimings = input.defaultTimings;
}
}