32 lines
865 B
TypeScript
32 lines
865 B
TypeScript
import type { Protest, ProtestStatus, ProtestIncident } from '../../domain/entities/Protest';
|
|
import type { Presenter } from '@core/shared/presentation/Presenter';
|
|
|
|
export interface RaceProtestViewModel {
|
|
id: string;
|
|
raceId: string;
|
|
protestingDriverId: string;
|
|
protestingDriverName: string;
|
|
accusedDriverId: string;
|
|
accusedDriverName: string;
|
|
incident: ProtestIncident;
|
|
comment?: string;
|
|
proofVideoUrl?: string;
|
|
status: ProtestStatus;
|
|
reviewedBy?: string;
|
|
reviewedByName?: string;
|
|
decisionNotes?: string;
|
|
filedAt: string;
|
|
reviewedAt?: string;
|
|
}
|
|
|
|
export interface RaceProtestsViewModel {
|
|
protests: RaceProtestViewModel[];
|
|
}
|
|
|
|
export interface RaceProtestsResultDTO {
|
|
protests: Protest[];
|
|
driverMap: Map<string, string>;
|
|
}
|
|
|
|
export interface IRaceProtestsPresenter
|
|
extends Presenter<RaceProtestsResultDTO, RaceProtestsViewModel> {} |