Files
gridpilot.gg/apps/website/lib/view-models/LeagueSettingsViewModel.ts

39 lines
1.1 KiB
TypeScript

import type { LeagueConfigFormModel } from '../types/LeagueConfigFormModel';
import type { LeagueScoringPresetDTO } from '../types/LeagueScoringPresetDTO';
import type { DriverDTO } from '../types/DriverDTO';
import { LeagueScoringPresetsViewModel } from './LeagueScoringPresetsViewModel';
import { DriverSummaryViewModel } from './DriverSummaryViewModel';
/**
* View Model for league settings page
* Combines league config, presets, owner, and members
*/
export class LeagueSettingsViewModel {
league: {
id: string;
name: string;
ownerId: string;
};
config: LeagueConfigFormModel;
presets: LeagueScoringPresetDTO[];
owner: DriverSummaryViewModel | null;
members: DriverDTO[];
constructor(dto: {
league: {
id: string;
name: string;
ownerId: string;
};
config: LeagueConfigFormModel;
presets: LeagueScoringPresetDTO[];
owner: DriverSummaryViewModel | null;
members: DriverDTO[];
}) {
this.league = dto.league;
this.config = dto.config;
this.presets = dto.presets;
this.owner = dto.owner;
this.members = dto.members;
}
}