93 lines
2.1 KiB
TypeScript
93 lines
2.1 KiB
TypeScript
export interface LeagueConfigFormModel {
|
|
basics?: {
|
|
name?: string;
|
|
description?: string;
|
|
visibility?: string;
|
|
gameId?: string;
|
|
};
|
|
structure?: {
|
|
mode?: string;
|
|
maxDrivers?: number;
|
|
};
|
|
championships?: {
|
|
enableDriverChampionship?: boolean;
|
|
enableTeamChampionship?: boolean;
|
|
enableNationsChampionship?: boolean;
|
|
enableTrophyChampionship?: boolean;
|
|
};
|
|
scoring?: {
|
|
patternId?: string;
|
|
customScoringEnabled?: boolean;
|
|
};
|
|
dropPolicy?: {
|
|
strategy?: string;
|
|
n?: number;
|
|
};
|
|
timings?: {
|
|
qualifyingMinutes?: number;
|
|
mainRaceMinutes?: number;
|
|
sessionCount?: number;
|
|
roundsPlanned?: number;
|
|
seasonStartDate?: string;
|
|
raceStartTime?: string;
|
|
timezoneId?: string;
|
|
recurrenceStrategy?: string;
|
|
weekdays?: string[];
|
|
intervalWeeks?: number;
|
|
monthlyOrdinal?: number;
|
|
monthlyWeekday?: string;
|
|
};
|
|
stewarding?: {
|
|
decisionMode?: string;
|
|
requiredVotes?: number;
|
|
requireDefense?: boolean;
|
|
defenseTimeLimit?: number;
|
|
voteTimeLimit?: number;
|
|
protestDeadlineHours?: number;
|
|
stewardingClosesHours?: number;
|
|
notifyAccusedOnProtest?: boolean;
|
|
notifyOnVoteRequired?: boolean;
|
|
};
|
|
}
|
|
|
|
export interface LeagueStructureFormDTO {
|
|
name: string;
|
|
description: string;
|
|
ownerId: string;
|
|
}
|
|
|
|
export interface LeagueChampionshipsFormDTO {
|
|
pointsSystem: string;
|
|
customPoints?: Record<number, number>;
|
|
}
|
|
|
|
export interface LeagueScoringFormDTO {
|
|
pointsSystem: string;
|
|
customPoints?: Record<number, number>;
|
|
}
|
|
|
|
export interface LeagueDropPolicyFormDTO {
|
|
dropWeeks?: number;
|
|
bestResults?: number;
|
|
}
|
|
|
|
export interface LeagueStructureMode {
|
|
mode: 'simple' | 'advanced';
|
|
}
|
|
|
|
export interface LeagueTimingsFormDTO {
|
|
sessionDuration?: number;
|
|
qualifyingFormat?: string;
|
|
}
|
|
|
|
export interface LeagueStewardingFormDTO {
|
|
decisionMode: string;
|
|
requiredVotes?: number;
|
|
requireDefense?: boolean;
|
|
defenseTimeLimit?: number;
|
|
voteTimeLimit?: number;
|
|
protestDeadlineHours?: number;
|
|
stewardingClosesHours?: number;
|
|
notifyAccusedOnProtest?: boolean;
|
|
notifyOnVoteRequired?: boolean;
|
|
} |