Some checks failed
CI / lint-typecheck (pull_request) Failing after 12s
CI / tests (pull_request) Has been skipped
CI / contract-tests (pull_request) Has been skipped
CI / e2e-tests (pull_request) Has been skipped
CI / comment-pr (pull_request) Has been skipped
CI / commit-types (pull_request) Has been skipped
49 lines
1.0 KiB
TypeScript
49 lines
1.0 KiB
TypeScript
export interface ScoringSystem {
|
|
// Define scoring system properties based on your domain
|
|
// This is a placeholder - adjust based on actual scoring system structure
|
|
pointsPerPosition?: Record<number, number>;
|
|
bonusPoints?: {
|
|
polePosition?: number;
|
|
fastestLap?: number;
|
|
cleanRace?: number;
|
|
};
|
|
penalties?: {
|
|
timePenalty?: number;
|
|
pointsDeduction?: number;
|
|
};
|
|
}
|
|
|
|
export interface LeagueCreateCommand {
|
|
name: string;
|
|
description?: string;
|
|
visibility: 'public' | 'private';
|
|
ownerId: string;
|
|
|
|
// Structure
|
|
maxDrivers?: number;
|
|
approvalRequired: boolean;
|
|
lateJoinAllowed: boolean;
|
|
|
|
// Schedule
|
|
raceFrequency?: string;
|
|
raceDay?: string;
|
|
raceTime?: string;
|
|
tracks?: string[];
|
|
|
|
// Scoring
|
|
scoringSystem?: ScoringSystem;
|
|
bonusPointsEnabled: boolean;
|
|
penaltiesEnabled: boolean;
|
|
|
|
// Stewarding
|
|
protestsEnabled: boolean;
|
|
appealsEnabled: boolean;
|
|
stewardTeam?: string[];
|
|
|
|
// Tags
|
|
gameType?: string;
|
|
skillLevel?: string;
|
|
category?: string;
|
|
tags?: string[];
|
|
}
|