32 lines
810 B
TypeScript
32 lines
810 B
TypeScript
import type { Penalty, PenaltyType, PenaltyStatus } from '../../domain/entities/Penalty';
|
|
import type { Presenter } from '@gridpilot/shared/presentation/Presenter';
|
|
|
|
export interface RacePenaltyViewModel {
|
|
id: string;
|
|
raceId: string;
|
|
driverId: string;
|
|
driverName: string;
|
|
type: PenaltyType;
|
|
value?: number;
|
|
reason: string;
|
|
protestId?: string;
|
|
issuedBy: string;
|
|
issuedByName: string;
|
|
status: PenaltyStatus;
|
|
description: string;
|
|
issuedAt: string;
|
|
appliedAt?: string;
|
|
notes?: string;
|
|
}
|
|
|
|
export interface RacePenaltiesViewModel {
|
|
penalties: RacePenaltyViewModel[];
|
|
}
|
|
|
|
export interface RacePenaltiesResultDTO {
|
|
penalties: Penalty[];
|
|
driverMap: Map<string, string>;
|
|
}
|
|
|
|
export interface IRacePenaltiesPresenter
|
|
extends Presenter<RacePenaltiesResultDTO, RacePenaltiesViewModel> {} |