46 lines
1002 B
TypeScript
46 lines
1002 B
TypeScript
import { ProtestDetailViewData } from '@/lib/view-data/leagues/ProtestDetailViewData';
|
|
|
|
interface ProtestDetailApiDto {
|
|
id: string;
|
|
leagueId: string;
|
|
status: string;
|
|
submittedAt: string;
|
|
incident: {
|
|
lap: number;
|
|
description: string;
|
|
};
|
|
protestingDriver: {
|
|
id: string;
|
|
name: string;
|
|
};
|
|
accusedDriver: {
|
|
id: string;
|
|
name: string;
|
|
};
|
|
race: {
|
|
id: string;
|
|
name: string;
|
|
scheduledAt: string;
|
|
};
|
|
penaltyTypes: Array<{
|
|
type: string;
|
|
label: string;
|
|
description: string;
|
|
}>;
|
|
}
|
|
|
|
export class ProtestDetailViewDataBuilder {
|
|
static build(apiDto: ProtestDetailApiDto): ProtestDetailViewData {
|
|
return {
|
|
protestId: apiDto.id,
|
|
leagueId: apiDto.leagueId,
|
|
status: apiDto.status,
|
|
submittedAt: apiDto.submittedAt,
|
|
incident: apiDto.incident,
|
|
protestingDriver: apiDto.protestingDriver,
|
|
accusedDriver: apiDto.accusedDriver,
|
|
race: apiDto.race,
|
|
penaltyTypes: apiDto.penaltyTypes,
|
|
};
|
|
}
|
|
} |