Files
gridpilot.gg/apps/website/lib/view-models/LeagueScoringPresetViewModel.ts
Marc Mintel d97f50ed72
Some checks failed
Contract Testing / contract-tests (pull_request) Failing after 6m4s
Contract Testing / contract-snapshot (pull_request) Has been skipped
view data fixes
2026-01-23 11:59:49 +01:00

40 lines
1.1 KiB
TypeScript

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;
}
}