130 lines
2.0 KiB
TypeScript
130 lines
2.0 KiB
TypeScript
// NOTE: The "expand" fields might be undefined.
|
|
// I'm not using "expand?" because I won't check for undefined anyways.
|
|
|
|
// Application Data
|
|
|
|
export interface Graphic {
|
|
name: string;
|
|
file: string;
|
|
file_url?: string;
|
|
}
|
|
|
|
export interface User {
|
|
id: string;
|
|
verified: boolean;
|
|
username: string;
|
|
firstname: string;
|
|
email?: string;
|
|
avatar?: string;
|
|
avatar_url?: string;
|
|
admin: boolean;
|
|
}
|
|
|
|
// Season Data
|
|
|
|
export interface Team {
|
|
id: string;
|
|
name: string;
|
|
banner: string;
|
|
banner_url?: string;
|
|
logo: string;
|
|
logo_url?: string;
|
|
color: string;
|
|
}
|
|
|
|
export interface Driver {
|
|
id: string;
|
|
code: string;
|
|
firstname: string;
|
|
lastname: string;
|
|
headshot: string;
|
|
headshot_url?: string;
|
|
team: string;
|
|
active: boolean;
|
|
}
|
|
|
|
export interface Race {
|
|
id: string;
|
|
name: string;
|
|
step: number;
|
|
pictogram: string;
|
|
pictogram_url?: string;
|
|
pxx: number;
|
|
sprintqualidate: string;
|
|
sprintdate: string;
|
|
qualidate: string;
|
|
racedate: string;
|
|
}
|
|
|
|
export interface Substitution {
|
|
id: string;
|
|
substitute: string;
|
|
for: string;
|
|
race: string;
|
|
expand: {
|
|
race: Race;
|
|
};
|
|
}
|
|
|
|
// User Data
|
|
|
|
export interface RacePick {
|
|
id: string;
|
|
user: string;
|
|
race: string;
|
|
pxx?: string;
|
|
dnf?: string;
|
|
expand: {
|
|
user: User;
|
|
};
|
|
}
|
|
|
|
export interface SeasonPick {
|
|
id: string;
|
|
user: string;
|
|
hottake: string;
|
|
wdcwinner: string;
|
|
wccwinner: string;
|
|
mostovertakes: string;
|
|
mostdnfs: string;
|
|
doohanstarts: number;
|
|
teamwinners: string[];
|
|
podiums: string[];
|
|
expand: {
|
|
user: User;
|
|
};
|
|
}
|
|
|
|
export interface Hottake {
|
|
id: string;
|
|
user: string;
|
|
hottake: string;
|
|
}
|
|
|
|
export interface RaceResult {
|
|
id: string;
|
|
race: string;
|
|
pxxs: string[];
|
|
dnfs: string[];
|
|
}
|
|
|
|
export interface CurrentPickedUser {
|
|
id: string;
|
|
username: string;
|
|
firstname: string;
|
|
avatar: string;
|
|
avatar_url?: string;
|
|
admin: boolean;
|
|
picked: string | null;
|
|
}
|
|
|
|
export interface SeasonPickedUser {
|
|
id: string;
|
|
username: string;
|
|
firstname: string;
|
|
avatar: string;
|
|
avatar_url?: string;
|
|
admin: boolean;
|
|
picked: string | null;
|
|
}
|