Files
gridpilot.gg/apps/website/lib/view-models/LeagueSettingsViewModel.ts
2025-12-18 22:19:40 +01:00

38 lines
1.1 KiB
TypeScript

import type { LeagueConfigFormModel } from '@core/racing/application';
import type { LeagueScoringPresetDTO } from '@core/racing/application/ports/LeagueScoringPresetProvider';
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: DriverSummaryViewModel[];
constructor(dto: {
league: {
id: string;
name: string;
ownerId: string;
};
config: LeagueConfigFormModel;
presets: LeagueScoringPresetDTO[];
owner: DriverSummaryViewModel | null;
members: DriverSummaryViewModel[];
}) {
this.league = dto.league;
this.config = dto.config;
this.presets = dto.presets;
this.owner = dto.owner;
this.members = dto.members;
}
}