40 lines
1.1 KiB
TypeScript
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;
|
|
}
|
|
} |