view data fixes
This commit is contained in:
@@ -1,3 +1,9 @@
|
||||
/**
|
||||
* Races View Data Builder
|
||||
*
|
||||
* Transforms API DTO to ViewData for templates.
|
||||
*/
|
||||
|
||||
import { DateFormatter } from '@/lib/formatters/DateFormatter';
|
||||
import { RaceStatusFormatter } from '@/lib/formatters/RaceStatusFormatter';
|
||||
import { RelativeTimeFormatter } from '@/lib/formatters/RelativeTimeFormatter';
|
||||
@@ -6,14 +12,16 @@ import type { RacesViewData, RaceViewData } from '@/lib/view-data/RacesViewData'
|
||||
|
||||
import { ViewDataBuilder } from "../../contracts/builders/ViewDataBuilder";
|
||||
|
||||
export class RacesViewDataBuilder implements ViewDataBuilder<any, any> {
|
||||
build(input: any): any {
|
||||
return RacesViewDataBuilder.build(input);
|
||||
}
|
||||
|
||||
static build(apiDto: RacesPageDataDTO): RacesViewData {
|
||||
export class RacesViewDataBuilder {
|
||||
/**
|
||||
* Transform API DTO to ViewData
|
||||
*
|
||||
* @param apiDto - The DTO from the service
|
||||
* @returns ViewData for the races page
|
||||
*/
|
||||
public static build(apiDto: RacesPageDataDTO): RacesViewData {
|
||||
const now = new Date();
|
||||
const races = apiDto.races.map((race): RaceViewData => {
|
||||
const races = (apiDto.races || []).map((race): RaceViewData => {
|
||||
return {
|
||||
id: race.id,
|
||||
track: race.track,
|
||||
@@ -73,3 +81,5 @@ export class RacesViewDataBuilder implements ViewDataBuilder<any, any> {
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
RacesViewDataBuilder satisfies ViewDataBuilder<RacesPageDataDTO, RacesViewData>;
|
||||
|
||||
Reference in New Issue
Block a user