view data fixes
This commit is contained in:
@@ -1,20 +1,26 @@
|
||||
import type { LeagueSettingsDTO } from '@/lib/types/generated/LeagueSettingsDTO';
|
||||
'use client';
|
||||
|
||||
import type { LeagueSettingsViewData } from '@/lib/view-data/LeagueSettingsViewData';
|
||||
import type { ViewDataBuilder } from '@/lib/contracts/builders/ViewDataBuilder';
|
||||
|
||||
import { ViewDataBuilder } from "../../contracts/builders/ViewDataBuilder";
|
||||
type LeagueSettingsInputDTO = {
|
||||
league: { id: string; name: string; ownerId: string; createdAt: string };
|
||||
config: any;
|
||||
presets: any[];
|
||||
owner: any | null;
|
||||
members: any[];
|
||||
}
|
||||
|
||||
export class LeagueSettingsViewDataBuilder implements ViewDataBuilder<any, any> {
|
||||
build(input: any): any {
|
||||
return LeagueSettingsViewDataBuilder.build(input);
|
||||
}
|
||||
|
||||
static build(apiDto: LeagueSettingsDTO): LeagueSettingsViewData {
|
||||
export class LeagueSettingsViewDataBuilder {
|
||||
public static build(apiDto: LeagueSettingsInputDTO): LeagueSettingsViewData {
|
||||
return {
|
||||
league: (apiDto as any).league || { id: '', name: '', ownerId: '', createdAt: '' },
|
||||
config: (apiDto as any).config || {},
|
||||
presets: (apiDto as any).presets || [],
|
||||
owner: (apiDto as any).owner || null,
|
||||
members: (apiDto as any).members || [],
|
||||
league: apiDto.league,
|
||||
config: apiDto.config,
|
||||
presets: apiDto.presets,
|
||||
owner: apiDto.owner,
|
||||
members: apiDto.members,
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
LeagueSettingsViewDataBuilder satisfies ViewDataBuilder<LeagueSettingsInputDTO, LeagueSettingsViewData>;
|
||||
Reference in New Issue
Block a user