view data fixes
This commit is contained in:
@@ -1,40 +1,20 @@
|
||||
import type { LeagueConfigFormModel } from '@/lib/types/LeagueConfigFormModel';
|
||||
import type { LeagueScoringPresetDTO } from '@/lib/types/generated/LeagueScoringPresetDTO';
|
||||
import { DriverSummaryViewModel } from './DriverSummaryViewModel';
|
||||
|
||||
/**
|
||||
* View Model for league settings page
|
||||
* Combines league config, presets, owner, and members
|
||||
*/
|
||||
import { ViewModel } from "../contracts/view-models/ViewModel";
|
||||
import type { LeagueSettingsViewData } from "../view-data/LeagueSettingsViewData";
|
||||
|
||||
export class LeagueSettingsViewModel extends ViewModel {
|
||||
league: {
|
||||
id: string;
|
||||
name: string;
|
||||
ownerId: string;
|
||||
};
|
||||
config: LeagueConfigFormModel;
|
||||
presets: LeagueScoringPresetDTO[];
|
||||
owner: DriverSummaryViewModel | null;
|
||||
members: DriverSummaryViewModel[];
|
||||
private readonly data: LeagueSettingsViewData;
|
||||
readonly owner: DriverSummaryViewModel | null;
|
||||
readonly members: DriverSummaryViewModel[];
|
||||
|
||||
constructor(dto: {
|
||||
league: {
|
||||
id: string;
|
||||
name: string;
|
||||
ownerId: string;
|
||||
createdAt: 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;
|
||||
constructor(data: LeagueSettingsViewData) {
|
||||
super();
|
||||
this.data = data;
|
||||
this.owner = data.owner ? new DriverSummaryViewModel(data.owner) : null;
|
||||
this.members = data.members.map(m => new DriverSummaryViewModel(m));
|
||||
}
|
||||
|
||||
get league() { return this.data.league; }
|
||||
get config() { return this.data.config; }
|
||||
get presets() { return this.data.presets; }
|
||||
}
|
||||
Reference in New Issue
Block a user