55 lines
1.1 KiB
TypeScript
55 lines
1.1 KiB
TypeScript
/**
|
|
* ViewData for RaceStewarding
|
|
* This is the JSON-serializable input for the Template.
|
|
*/
|
|
export interface RaceStewardingViewData {
|
|
race: {
|
|
id: string;
|
|
track: string;
|
|
scheduledAt: string;
|
|
status: string;
|
|
} | null;
|
|
league: {
|
|
id: string;
|
|
name: string;
|
|
} | null;
|
|
pendingProtests: Array<{
|
|
id: string;
|
|
protestingDriverId: string;
|
|
accusedDriverId: string;
|
|
incident: {
|
|
lap: number;
|
|
description: string;
|
|
};
|
|
filedAt: string;
|
|
status: string;
|
|
decisionNotes?: string | null;
|
|
proofVideoUrl?: string | null;
|
|
}>;
|
|
resolvedProtests: Array<{
|
|
id: string;
|
|
protestingDriverId: string;
|
|
accusedDriverId: string;
|
|
incident: {
|
|
lap: number;
|
|
description: string;
|
|
};
|
|
filedAt: string;
|
|
status: string;
|
|
decisionNotes?: string | null;
|
|
proofVideoUrl?: string | null;
|
|
}>;
|
|
penalties: Array<{
|
|
id: string;
|
|
driverId: string;
|
|
type: string;
|
|
value: number;
|
|
reason: string;
|
|
notes?: string | null;
|
|
}>;
|
|
pendingCount: number;
|
|
resolvedCount: number;
|
|
penaltiesCount: number;
|
|
driverMap: Record<string, { id: string; name: string }>;
|
|
}
|