Files
gridpilot.gg/apps/website/lib/view-models/LeagueScoringChampionshipViewModel.ts
2026-01-23 15:30:23 +01:00

24 lines
874 B
TypeScript

import { ViewModel } from "../contracts/view-models/ViewModel";
import type { LeagueScoringChampionshipViewData } from "../view-data/LeagueScoringChampionshipViewData";
export class LeagueScoringChampionshipViewModel extends ViewModel {
readonly id: string;
readonly name: string;
readonly type: string;
readonly sessionTypes: string[];
readonly pointsPreview: Array<{ sessionType: string; position: number; points: number }>;
readonly bonusSummary: string[];
readonly dropPolicyDescription?: string;
constructor(data: LeagueScoringChampionshipViewData) {
super();
this.id = data.id;
this.name = data.name;
this.type = data.type;
this.sessionTypes = data.sessionTypes;
this.pointsPreview = data.pointsPreview ?? [];
this.bonusSummary = data.bonusSummary ?? [];
this.dropPolicyDescription = data.dropPolicyDescription;
}
}