import { ViewModel } from "../contracts/view-models/ViewModel"; export type LeagueScoringPresetTimingDefaultsViewModel = ViewModel & { 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 */ import { ViewModel } from "../contracts/view-models/ViewModel"; export class LeagueScoringPresetViewModel extends ViewModel { 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; } }