#![cfg_attr(any(), rustfmt::skip)]
#![allow(missing_docs)]
#[allow(dead_code)]
pub mod account_v1 {
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Account {
#[serde(rename = "puuid")]
pub puuid: String,
#[serde(rename = "gameName")]
#[serde(skip_serializing_if = "Option::is_none")]
pub game_name: Option<String>,
#[serde(rename = "tagLine")]
#[serde(skip_serializing_if = "Option::is_none")]
pub tag_line: Option<String>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct ActiveShard {
#[serde(rename = "puuid")]
pub puuid: String,
#[serde(rename = "game")]
pub game: String,
#[serde(rename = "activeShard")]
pub active_shard: String,
}
}
#[allow(dead_code)]
pub mod champion_mastery_v4 {
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct ChampionMastery {
#[serde(rename = "puuid")]
pub puuid: String,
#[serde(rename = "championPointsUntilNextLevel")]
pub champion_points_until_next_level: i64,
#[serde(rename = "chestGranted")]
#[serde(skip_serializing_if = "Option::is_none")]
pub chest_granted: Option<bool>,
#[serde(rename = "championId")]
pub champion_id: crate::consts::Champion,
#[serde(rename = "lastPlayTime")]
pub last_play_time: i64,
#[serde(rename = "championLevel")]
pub champion_level: i32,
#[serde(rename = "championPoints")]
pub champion_points: i32,
#[serde(rename = "championPointsSinceLastLevel")]
pub champion_points_since_last_level: i64,
#[serde(rename = "tokensEarned")]
pub tokens_earned: i32,
#[serde(rename = "markRequiredForNextLevel")]
pub mark_required_for_next_level: i32,
#[serde(rename = "championSeasonMilestone")]
pub champion_season_milestone: i32,
#[serde(rename = "milestoneGrades")]
#[serde(skip_serializing_if = "Option::is_none")]
pub milestone_grades: Option<std::vec::Vec<String>>,
#[serde(rename = "nextSeasonMilestone")]
pub next_season_milestone: NextSeasonMilestone,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct NextSeasonMilestone {
#[serde(rename = "requireGradeCounts")]
pub require_grade_counts: std::collections::HashMap<String, i32>,
#[serde(rename = "rewardMarks")]
pub reward_marks: i32,
#[serde(rename = "bonus")]
pub bonus: bool,
#[serde(rename = "rewardConfig")]
#[serde(skip_serializing_if = "Option::is_none")]
pub reward_config: Option<RewardConfig>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct RewardConfig {
#[serde(rename = "rewardValue")]
pub reward_value: String,
#[serde(rename = "rewardType")]
pub reward_type: String,
#[serde(rename = "maximumReward")]
pub maximum_reward: i32,
}
}
#[allow(dead_code)]
pub mod champion_v3 {
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct ChampionInfo {
#[serde(rename = "maxNewPlayerLevel")]
pub max_new_player_level: i32,
#[serde(rename = "freeChampionIdsForNewPlayers")]
pub free_champion_ids_for_new_players: std::vec::Vec<crate::consts::Champion>,
#[serde(rename = "freeChampionIds")]
pub free_champion_ids: std::vec::Vec<crate::consts::Champion>,
}
}
#[allow(dead_code)]
pub mod clash_v1 {
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Player {
#[serde(rename = "summonerId")]
pub summoner_id: String,
#[serde(rename = "teamId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub team_id: Option<String>,
#[serde(rename = "position")]
pub position: String,
#[serde(rename = "role")]
pub role: String,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Team {
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "tournamentId")]
pub tournament_id: i32,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "iconId")]
pub icon_id: i32,
#[serde(rename = "tier")]
pub tier: i32,
#[serde(rename = "captain")]
pub captain: String,
#[serde(rename = "abbreviation")]
pub abbreviation: String,
#[serde(rename = "players")]
pub players: std::vec::Vec<Player>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Tournament {
#[serde(rename = "id")]
pub id: i32,
#[serde(rename = "themeId")]
pub theme_id: i32,
#[serde(rename = "nameKey")]
pub name_key: String,
#[serde(rename = "nameKeySecondary")]
pub name_key_secondary: String,
#[serde(rename = "schedule")]
pub schedule: std::vec::Vec<TournamentPhase>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct TournamentPhase {
#[serde(rename = "id")]
pub id: i32,
#[serde(rename = "registrationTime")]
pub registration_time: i64,
#[serde(rename = "startTime")]
pub start_time: i64,
#[serde(rename = "cancelled")]
pub cancelled: bool,
}
}
#[allow(dead_code)]
pub mod league_exp_v4 {
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct LeagueEntry {
#[serde(rename = "leagueId")]
pub league_id: String,
#[serde(rename = "summonerId")]
pub summoner_id: String,
#[serde(rename = "queueType")]
pub queue_type: crate::consts::QueueType,
#[serde(rename = "tier")]
pub tier: crate::consts::Tier,
#[serde(rename = "rank")]
pub rank: crate::consts::Division,
#[serde(rename = "leaguePoints")]
pub league_points: i32,
#[serde(rename = "wins")]
pub wins: i32,
#[serde(rename = "losses")]
pub losses: i32,
#[serde(rename = "hotStreak")]
pub hot_streak: bool,
#[serde(rename = "veteran")]
pub veteran: bool,
#[serde(rename = "freshBlood")]
pub fresh_blood: bool,
#[serde(rename = "inactive")]
pub inactive: bool,
#[serde(rename = "miniSeries")]
#[serde(skip_serializing_if = "Option::is_none")]
pub mini_series: Option<MiniSeries>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct MiniSeries {
#[serde(rename = "losses")]
pub losses: i32,
#[serde(rename = "progress")]
pub progress: String,
#[serde(rename = "target")]
pub target: i32,
#[serde(rename = "wins")]
pub wins: i32,
}
}
#[allow(dead_code)]
pub mod league_v4 {
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct LeagueList {
#[serde(rename = "leagueId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub league_id: Option<String>,
#[serde(rename = "entries")]
pub entries: std::vec::Vec<LeagueItem>,
#[serde(rename = "tier")]
pub tier: crate::consts::Tier,
#[serde(rename = "name")]
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "queue")]
#[serde(skip_serializing_if = "Option::is_none")]
pub queue: Option<crate::consts::QueueType>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct LeagueItem {
#[serde(rename = "freshBlood")]
pub fresh_blood: bool,
#[serde(rename = "wins")]
pub wins: i32,
#[serde(rename = "miniSeries")]
#[serde(skip_serializing_if = "Option::is_none")]
pub mini_series: Option<MiniSeries>,
#[serde(rename = "inactive")]
pub inactive: bool,
#[serde(rename = "veteran")]
pub veteran: bool,
#[serde(rename = "hotStreak")]
pub hot_streak: bool,
#[serde(rename = "rank")]
pub rank: crate::consts::Division,
#[serde(rename = "leaguePoints")]
pub league_points: i32,
#[serde(rename = "losses")]
pub losses: i32,
#[serde(rename = "summonerId")]
pub summoner_id: String,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct MiniSeries {
#[serde(rename = "losses")]
pub losses: i32,
#[serde(rename = "progress")]
pub progress: String,
#[serde(rename = "target")]
pub target: i32,
#[serde(rename = "wins")]
pub wins: i32,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct LeagueEntry {
#[serde(rename = "leagueId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub league_id: Option<String>,
#[serde(rename = "summonerId")]
pub summoner_id: String,
#[serde(rename = "queueType")]
pub queue_type: crate::consts::QueueType,
#[serde(rename = "tier")]
#[serde(skip_serializing_if = "Option::is_none")]
pub tier: Option<crate::consts::Tier>,
#[serde(rename = "rank")]
#[serde(skip_serializing_if = "Option::is_none")]
pub rank: Option<crate::consts::Division>,
#[serde(rename = "leaguePoints")]
pub league_points: i32,
#[serde(rename = "wins")]
pub wins: i32,
#[serde(rename = "losses")]
pub losses: i32,
#[serde(rename = "hotStreak")]
pub hot_streak: bool,
#[serde(rename = "veteran")]
pub veteran: bool,
#[serde(rename = "freshBlood")]
pub fresh_blood: bool,
#[serde(rename = "inactive")]
pub inactive: bool,
#[serde(rename = "miniSeries")]
#[serde(skip_serializing_if = "Option::is_none")]
pub mini_series: Option<MiniSeries>,
}
}
#[allow(dead_code)]
pub mod lol_challenges_v1 {
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct ChallengeConfigInfo {
#[serde(rename = "id")]
pub id: i64,
#[serde(rename = "localizedNames")]
pub localized_names: std::collections::HashMap<String, std::collections::HashMap<String, String>>,
#[serde(rename = "state")]
pub state: String,
#[serde(rename = "tracking")]
#[serde(skip_serializing_if = "Option::is_none")]
pub tracking: Option<String>,
#[serde(rename = "startTimestamp")]
#[serde(skip_serializing_if = "Option::is_none")]
pub start_timestamp: Option<i64>,
#[serde(rename = "endTimestamp")]
#[serde(skip_serializing_if = "Option::is_none")]
pub end_timestamp: Option<i64>,
#[serde(rename = "leaderboard")]
pub leaderboard: bool,
#[serde(rename = "thresholds")]
pub thresholds: std::collections::HashMap<String, f64>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct State {
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Tracking {
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct ApexPlayerInfo {
#[serde(rename = "puuid")]
pub puuid: String,
#[serde(rename = "value")]
pub value: f64,
#[serde(rename = "position")]
pub position: i32,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Level {
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct PlayerInfo {
#[serde(rename = "challenges")]
pub challenges: std::vec::Vec<ChallengeInfo>,
#[serde(rename = "preferences")]
pub preferences: PlayerClientPreferences,
#[serde(rename = "totalPoints")]
pub total_points: ChallengePoints,
#[serde(rename = "categoryPoints")]
pub category_points: std::collections::HashMap<String, ChallengePoints>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct ChallengeInfo {
#[serde(rename = "challengeId")]
pub challenge_id: i64,
#[serde(rename = "percentile")]
pub percentile: f64,
#[serde(rename = "level")]
pub level: crate::consts::Tier,
#[serde(rename = "value")]
pub value: f64,
#[serde(rename = "achievedTime")]
#[serde(skip_serializing_if = "Option::is_none")]
pub achieved_time: Option<i64>,
#[serde(rename = "position")]
#[serde(skip_serializing_if = "Option::is_none")]
pub position: Option<i64>,
#[serde(rename = "playersInLevel")]
#[serde(skip_serializing_if = "Option::is_none")]
pub players_in_level: Option<i64>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct PlayerClientPreferences {
#[serde(rename = "bannerAccent")]
#[serde(skip_serializing_if = "Option::is_none")]
pub banner_accent: Option<String>,
#[serde(rename = "title")]
#[serde(skip_serializing_if = "Option::is_none")]
pub title: Option<String>,
#[serde(rename = "challengeIds")]
#[serde(skip_serializing_if = "Option::is_none")]
pub challenge_ids: Option<std::vec::Vec<i64>>,
#[serde(rename = "crestBorder")]
#[serde(skip_serializing_if = "Option::is_none")]
pub crest_border: Option<String>,
#[serde(rename = "prestigeCrestBorderLevel")]
#[serde(skip_serializing_if = "Option::is_none")]
pub prestige_crest_border_level: Option<i32>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct ChallengePoints {
#[serde(rename = "level")]
pub level: crate::consts::Tier,
#[serde(rename = "current")]
pub current: i64,
#[serde(rename = "max")]
pub max: i64,
#[serde(rename = "percentile")]
#[serde(skip_serializing_if = "Option::is_none")]
pub percentile: Option<f64>,
}
}
#[allow(dead_code)]
pub mod lol_status_v4 {
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct PlatformData {
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "locales")]
pub locales: std::vec::Vec<String>,
#[serde(rename = "maintenances")]
pub maintenances: std::vec::Vec<Status>,
#[serde(rename = "incidents")]
pub incidents: std::vec::Vec<Status>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Status {
#[serde(rename = "id")]
pub id: i32,
#[serde(rename = "maintenance_status")]
#[serde(skip_serializing_if = "Option::is_none")]
pub maintenance_status: Option<String>,
#[serde(rename = "incident_severity")]
#[serde(skip_serializing_if = "Option::is_none")]
pub incident_severity: Option<String>,
#[serde(rename = "titles")]
pub titles: std::vec::Vec<Content>,
#[serde(rename = "updates")]
pub updates: std::vec::Vec<Update>,
#[serde(rename = "created_at")]
pub created_at: String,
#[serde(rename = "archive_at")]
#[serde(skip_serializing_if = "Option::is_none")]
pub archive_at: Option<String>,
#[serde(rename = "updated_at")]
#[serde(skip_serializing_if = "Option::is_none")]
pub updated_at: Option<String>,
#[serde(rename = "platforms")]
pub platforms: std::vec::Vec<String>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Content {
#[serde(rename = "locale")]
pub locale: String,
#[serde(rename = "content")]
pub content: String,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Update {
#[serde(rename = "id")]
pub id: i32,
#[serde(rename = "author")]
pub author: String,
#[serde(rename = "publish")]
pub publish: bool,
#[serde(rename = "publish_locations")]
pub publish_locations: std::vec::Vec<String>,
#[serde(rename = "translations")]
pub translations: std::vec::Vec<Content>,
#[serde(rename = "created_at")]
pub created_at: String,
#[serde(rename = "updated_at")]
pub updated_at: String,
}
}
#[allow(dead_code)]
pub mod lor_deck_v1 {
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Deck {
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "code")]
pub code: String,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct NewDeck {
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "code")]
pub code: String,
}
}
#[allow(dead_code)]
pub mod lor_inventory_v1 {
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Card {
#[serde(rename = "code")]
pub code: String,
#[serde(rename = "count")]
pub count: String,
}
}
#[allow(dead_code)]
pub mod lor_match_v1 {
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Match {
#[serde(rename = "metadata")]
pub metadata: Metadata,
#[serde(rename = "info")]
pub info: Info,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Metadata {
#[serde(rename = "data_version")]
pub data_version: String,
#[serde(rename = "match_id")]
pub match_id: String,
#[serde(rename = "participants")]
pub participants: std::vec::Vec<String>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Info {
#[serde(rename = "game_mode")]
pub game_mode: String,
#[serde(rename = "game_type")]
pub game_type: String,
#[serde(rename = "game_start_time_utc")]
pub game_start_time_utc: String,
#[serde(rename = "game_version")]
pub game_version: String,
#[serde(rename = "game_format")]
pub game_format: String,
#[serde(rename = "players")]
pub players: std::vec::Vec<Player>,
#[serde(rename = "total_turn_count")]
pub total_turn_count: i32,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Player {
#[serde(rename = "puuid")]
pub puuid: String,
#[serde(rename = "deck_id")]
pub deck_id: String,
#[serde(rename = "deck_code")]
pub deck_code: String,
#[serde(rename = "factions")]
pub factions: std::vec::Vec<String>,
#[serde(rename = "game_outcome")]
pub game_outcome: String,
#[serde(rename = "order_of_play")]
pub order_of_play: i32,
}
}
#[allow(dead_code)]
pub mod lor_ranked_v1 {
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Leaderboard {
#[serde(rename = "players")]
pub players: std::vec::Vec<Player>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Player {
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "rank")]
pub rank: i32,
#[serde(rename = "lp")]
pub lp: i32,
}
}
#[allow(dead_code)]
pub mod lor_status_v1 {
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct PlatformData {
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "locales")]
pub locales: std::vec::Vec<String>,
#[serde(rename = "maintenances")]
pub maintenances: std::vec::Vec<Status>,
#[serde(rename = "incidents")]
pub incidents: std::vec::Vec<Status>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Status {
#[serde(rename = "id")]
pub id: i32,
#[serde(rename = "maintenance_status")]
pub maintenance_status: String,
#[serde(rename = "incident_severity")]
pub incident_severity: String,
#[serde(rename = "titles")]
pub titles: std::vec::Vec<Content>,
#[serde(rename = "updates")]
pub updates: std::vec::Vec<Update>,
#[serde(rename = "created_at")]
pub created_at: String,
#[serde(rename = "archive_at")]
pub archive_at: String,
#[serde(rename = "updated_at")]
pub updated_at: String,
#[serde(rename = "platforms")]
pub platforms: std::vec::Vec<String>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Content {
#[serde(rename = "locale")]
pub locale: String,
#[serde(rename = "content")]
pub content: String,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Update {
#[serde(rename = "id")]
pub id: i32,
#[serde(rename = "author")]
pub author: String,
#[serde(rename = "publish")]
pub publish: bool,
#[serde(rename = "publish_locations")]
pub publish_locations: std::vec::Vec<String>,
#[serde(rename = "translations")]
pub translations: std::vec::Vec<Content>,
#[serde(rename = "created_at")]
pub created_at: String,
#[serde(rename = "updated_at")]
pub updated_at: String,
}
}
#[allow(dead_code)]
pub mod match_v5 {
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Match {
#[serde(rename = "metadata")]
pub metadata: Metadata,
#[serde(rename = "info")]
pub info: Info,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Metadata {
#[serde(rename = "dataVersion")]
pub data_version: String,
#[serde(rename = "matchId")]
pub match_id: String,
#[serde(rename = "participants")]
pub participants: std::vec::Vec<String>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Info {
#[serde(rename = "endOfGameResult")]
#[serde(skip_serializing_if = "Option::is_none")]
pub end_of_game_result: Option<String>,
#[serde(rename = "gameCreation")]
pub game_creation: i64,
#[serde(rename = "gameDuration")]
pub game_duration: i64,
#[serde(rename = "gameEndTimestamp")]
#[serde(skip_serializing_if = "Option::is_none")]
pub game_end_timestamp: Option<i64>,
#[serde(rename = "gameId")]
pub game_id: i64,
#[serde(rename = "gameMode")]
pub game_mode: crate::consts::GameMode,
#[serde(rename = "gameName")]
pub game_name: String,
#[serde(rename = "gameStartTimestamp")]
pub game_start_timestamp: i64,
#[serde(rename = "gameType")]
#[serde(serialize_with = "crate::consts::serialize_empty_string_none")]
#[serde(deserialize_with = "crate::consts::deserialize_empty_string_none")]
pub game_type: Option<crate::consts::GameType>,
#[serde(rename = "gameVersion")]
pub game_version: String,
#[serde(rename = "mapId")]
pub map_id: crate::consts::Map,
#[serde(rename = "participants")]
pub participants: std::vec::Vec<Participant>,
#[serde(rename = "platformId")]
pub platform_id: String,
#[serde(rename = "queueId")]
pub queue_id: crate::consts::Queue,
#[serde(rename = "teams")]
pub teams: std::vec::Vec<Team>,
#[serde(rename = "tournamentCode")]
#[serde(skip_serializing_if = "Option::is_none")]
pub tournament_code: Option<String>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Participant {
#[serde(rename = "allInPings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub all_in_pings: Option<i32>,
#[serde(rename = "assistMePings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub assist_me_pings: Option<i32>,
#[serde(rename = "assists")]
pub assists: i32,
#[serde(rename = "baronKills")]
pub baron_kills: i32,
#[serde(rename = "bountyLevel")]
pub bounty_level: i32,
#[serde(rename = "champExperience")]
pub champ_experience: i32,
#[serde(rename = "champLevel")]
pub champ_level: i32,
#[serde(rename = "championId")]
#[deprecated(since = "2.5.0", note = "Use `Participant.champion()` instead. Riot sometimes returns corrupted data for this field: https://github.com/RiotGames/developer-relations/issues/553")]
#[serde(serialize_with = "crate::consts::Champion::serialize_result")]
#[serde(deserialize_with = "crate::consts::Champion::deserialize_result")]
pub champion_id: Result<crate::consts::Champion, std::num::TryFromIntError>,
#[serde(rename = "championName")]
pub champion_name: String,
#[serde(rename = "commandPings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub command_pings: Option<i32>,
#[serde(rename = "championTransform")]
pub champion_transform: i32,
#[serde(rename = "consumablesPurchased")]
pub consumables_purchased: i32,
#[serde(rename = "challenges")]
#[serde(skip_serializing_if = "Option::is_none")]
pub challenges: Option<Challenges>,
#[serde(rename = "damageDealtToBuildings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub damage_dealt_to_buildings: Option<i32>,
#[serde(rename = "damageDealtToObjectives")]
pub damage_dealt_to_objectives: i32,
#[serde(rename = "damageDealtToTurrets")]
pub damage_dealt_to_turrets: i32,
#[serde(rename = "dangerPings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub danger_pings: Option<i32>,
#[serde(rename = "damageSelfMitigated")]
pub damage_self_mitigated: i32,
#[serde(rename = "deaths")]
pub deaths: i32,
#[serde(rename = "detectorWardsPlaced")]
pub detector_wards_placed: i32,
#[serde(rename = "doubleKills")]
pub double_kills: i32,
#[serde(rename = "dragonKills")]
pub dragon_kills: i32,
#[serde(rename = "eligibleForProgression")]
#[serde(skip_serializing_if = "Option::is_none")]
pub eligible_for_progression: Option<bool>,
#[serde(rename = "enemyMissingPings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub enemy_missing_pings: Option<i32>,
#[serde(rename = "enemyVisionPings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub enemy_vision_pings: Option<i32>,
#[serde(rename = "firstBloodAssist")]
pub first_blood_assist: bool,
#[serde(rename = "firstBloodKill")]
pub first_blood_kill: bool,
#[serde(rename = "firstTowerAssist")]
pub first_tower_assist: bool,
#[serde(rename = "firstTowerKill")]
pub first_tower_kill: bool,
#[serde(rename = "gameEndedInEarlySurrender")]
pub game_ended_in_early_surrender: bool,
#[serde(rename = "gameEndedInSurrender")]
pub game_ended_in_surrender: bool,
#[serde(rename = "holdPings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub hold_pings: Option<i32>,
#[serde(rename = "getBackPings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub get_back_pings: Option<i32>,
#[serde(rename = "goldEarned")]
pub gold_earned: i32,
#[serde(rename = "goldSpent")]
pub gold_spent: i32,
#[serde(rename = "individualPosition")]
pub individual_position: String,
#[serde(rename = "inhibitorKills")]
pub inhibitor_kills: i32,
#[serde(rename = "inhibitorTakedowns")]
#[serde(skip_serializing_if = "Option::is_none")]
pub inhibitor_takedowns: Option<i32>,
#[serde(rename = "inhibitorsLost")]
#[serde(skip_serializing_if = "Option::is_none")]
pub inhibitors_lost: Option<i32>,
#[serde(rename = "item0")]
pub item0: i32,
#[serde(rename = "item1")]
pub item1: i32,
#[serde(rename = "item2")]
pub item2: i32,
#[serde(rename = "item3")]
pub item3: i32,
#[serde(rename = "item4")]
pub item4: i32,
#[serde(rename = "item5")]
pub item5: i32,
#[serde(rename = "item6")]
pub item6: i32,
#[serde(rename = "itemsPurchased")]
pub items_purchased: i32,
#[serde(rename = "killingSprees")]
pub killing_sprees: i32,
#[serde(rename = "kills")]
pub kills: i32,
#[serde(rename = "lane")]
pub lane: String,
#[serde(rename = "largestCriticalStrike")]
pub largest_critical_strike: i32,
#[serde(rename = "largestKillingSpree")]
pub largest_killing_spree: i32,
#[serde(rename = "largestMultiKill")]
pub largest_multi_kill: i32,
#[serde(rename = "longestTimeSpentLiving")]
pub longest_time_spent_living: i32,
#[serde(rename = "magicDamageDealt")]
pub magic_damage_dealt: i32,
#[serde(rename = "magicDamageDealtToChampions")]
pub magic_damage_dealt_to_champions: i32,
#[serde(rename = "magicDamageTaken")]
pub magic_damage_taken: i32,
#[serde(rename = "missions")]
#[serde(skip_serializing_if = "Option::is_none")]
pub missions: Option<Missions>,
#[serde(rename = "neutralMinionsKilled")]
pub neutral_minions_killed: i32,
#[serde(rename = "needVisionPings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub need_vision_pings: Option<i32>,
#[serde(rename = "nexusKills")]
pub nexus_kills: i32,
#[serde(rename = "nexusTakedowns")]
#[serde(skip_serializing_if = "Option::is_none")]
pub nexus_takedowns: Option<i32>,
#[serde(rename = "nexusLost")]
#[serde(skip_serializing_if = "Option::is_none")]
pub nexus_lost: Option<i32>,
#[serde(rename = "objectivesStolen")]
pub objectives_stolen: i32,
#[serde(rename = "objectivesStolenAssists")]
pub objectives_stolen_assists: i32,
#[serde(rename = "onMyWayPings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub on_my_way_pings: Option<i32>,
#[serde(rename = "participantId")]
pub participant_id: i32,
#[serde(rename = "pentaKills")]
pub penta_kills: i32,
#[serde(rename = "perks")]
pub perks: Perks,
#[serde(rename = "physicalDamageDealt")]
pub physical_damage_dealt: i32,
#[serde(rename = "physicalDamageDealtToChampions")]
pub physical_damage_dealt_to_champions: i32,
#[serde(rename = "physicalDamageTaken")]
pub physical_damage_taken: i32,
#[serde(rename = "placement")]
#[serde(skip_serializing_if = "Option::is_none")]
pub placement: Option<i32>,
#[serde(rename = "playerAugment1")]
#[serde(skip_serializing_if = "Option::is_none")]
pub player_augment1: Option<i32>,
#[serde(rename = "playerAugment2")]
#[serde(skip_serializing_if = "Option::is_none")]
pub player_augment2: Option<i32>,
#[serde(rename = "playerAugment3")]
#[serde(skip_serializing_if = "Option::is_none")]
pub player_augment3: Option<i32>,
#[serde(rename = "playerAugment4")]
#[serde(skip_serializing_if = "Option::is_none")]
pub player_augment4: Option<i32>,
#[serde(rename = "playerSubteamId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub player_subteam_id: Option<i32>,
#[serde(rename = "pushPings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub push_pings: Option<i32>,
#[serde(rename = "profileIcon")]
pub profile_icon: i32,
#[serde(rename = "puuid")]
pub puuid: String,
#[serde(rename = "quadraKills")]
pub quadra_kills: i32,
#[serde(rename = "riotIdGameName")]
#[serde(skip_serializing_if = "Option::is_none")]
pub riot_id_game_name: Option<String>,
#[serde(rename = "riotIdName")]
#[serde(skip_serializing_if = "Option::is_none")]
pub riot_id_name: Option<String>,
#[serde(rename = "riotIdTagline")]
pub riot_id_tagline: String,
#[serde(rename = "role")]
pub role: String,
#[serde(rename = "sightWardsBoughtInGame")]
pub sight_wards_bought_in_game: i32,
#[serde(rename = "spell1Casts")]
pub spell1_casts: i32,
#[serde(rename = "spell2Casts")]
pub spell2_casts: i32,
#[serde(rename = "spell3Casts")]
pub spell3_casts: i32,
#[serde(rename = "spell4Casts")]
pub spell4_casts: i32,
#[serde(rename = "subteamPlacement")]
#[serde(skip_serializing_if = "Option::is_none")]
pub subteam_placement: Option<i32>,
#[serde(rename = "summoner1Casts")]
pub summoner1_casts: i32,
#[serde(rename = "summoner1Id")]
pub summoner1_id: i32,
#[serde(rename = "summoner2Casts")]
pub summoner2_casts: i32,
#[serde(rename = "summoner2Id")]
pub summoner2_id: i32,
#[serde(rename = "summonerId")]
pub summoner_id: String,
#[serde(rename = "summonerLevel")]
pub summoner_level: i32,
#[serde(rename = "summonerName")]
pub summoner_name: String,
#[serde(rename = "teamEarlySurrendered")]
pub team_early_surrendered: bool,
#[serde(rename = "teamId")]
pub team_id: crate::consts::Team,
#[serde(rename = "teamPosition")]
pub team_position: String,
#[serde(rename = "timeCCingOthers")]
pub time_c_cing_others: i32,
#[serde(rename = "timePlayed")]
pub time_played: i32,
#[serde(rename = "totalAllyJungleMinionsKilled")]
#[serde(skip_serializing_if = "Option::is_none")]
pub total_ally_jungle_minions_killed: Option<i32>,
#[serde(rename = "totalDamageDealt")]
pub total_damage_dealt: i32,
#[serde(rename = "totalDamageDealtToChampions")]
pub total_damage_dealt_to_champions: i32,
#[serde(rename = "totalDamageShieldedOnTeammates")]
pub total_damage_shielded_on_teammates: i32,
#[serde(rename = "totalDamageTaken")]
pub total_damage_taken: i32,
#[serde(rename = "totalEnemyJungleMinionsKilled")]
#[serde(skip_serializing_if = "Option::is_none")]
pub total_enemy_jungle_minions_killed: Option<i32>,
#[serde(rename = "totalHeal")]
pub total_heal: i32,
#[serde(rename = "totalHealsOnTeammates")]
pub total_heals_on_teammates: i32,
#[serde(rename = "totalMinionsKilled")]
pub total_minions_killed: i32,
#[serde(rename = "totalTimeCCDealt")]
pub total_time_cc_dealt: i32,
#[serde(rename = "totalTimeSpentDead")]
pub total_time_spent_dead: i32,
#[serde(rename = "totalUnitsHealed")]
pub total_units_healed: i32,
#[serde(rename = "tripleKills")]
pub triple_kills: i32,
#[serde(rename = "trueDamageDealt")]
pub true_damage_dealt: i32,
#[serde(rename = "trueDamageDealtToChampions")]
pub true_damage_dealt_to_champions: i32,
#[serde(rename = "trueDamageTaken")]
pub true_damage_taken: i32,
#[serde(rename = "turretKills")]
pub turret_kills: i32,
#[serde(rename = "turretTakedowns")]
#[serde(skip_serializing_if = "Option::is_none")]
pub turret_takedowns: Option<i32>,
#[serde(rename = "turretsLost")]
#[serde(skip_serializing_if = "Option::is_none")]
pub turrets_lost: Option<i32>,
#[serde(rename = "unrealKills")]
pub unreal_kills: i32,
#[serde(rename = "visionScore")]
pub vision_score: i32,
#[serde(rename = "visionClearedPings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub vision_cleared_pings: Option<i32>,
#[serde(rename = "visionWardsBoughtInGame")]
pub vision_wards_bought_in_game: i32,
#[serde(rename = "wardsKilled")]
pub wards_killed: i32,
#[serde(rename = "wardsPlaced")]
pub wards_placed: i32,
#[serde(rename = "win")]
pub win: bool,
#[serde(rename = "baitPings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub bait_pings: Option<i32>,
#[serde(rename = "basicPings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub basic_pings: Option<i32>,
#[serde(rename = "playerScore0")]
#[serde(skip_serializing_if = "Option::is_none")]
pub player_score0: Option<i32>,
#[serde(rename = "playerScore1")]
#[serde(skip_serializing_if = "Option::is_none")]
pub player_score1: Option<i32>,
#[serde(rename = "playerScore10")]
#[serde(skip_serializing_if = "Option::is_none")]
pub player_score10: Option<i32>,
#[serde(rename = "playerScore11")]
#[serde(skip_serializing_if = "Option::is_none")]
pub player_score11: Option<i32>,
#[serde(rename = "playerScore2")]
#[serde(skip_serializing_if = "Option::is_none")]
pub player_score2: Option<i32>,
#[serde(rename = "playerScore3")]
#[serde(skip_serializing_if = "Option::is_none")]
pub player_score3: Option<i32>,
#[serde(rename = "playerScore4")]
#[serde(skip_serializing_if = "Option::is_none")]
pub player_score4: Option<i32>,
#[serde(rename = "playerScore5")]
#[serde(skip_serializing_if = "Option::is_none")]
pub player_score5: Option<i32>,
#[serde(rename = "playerScore6")]
#[serde(skip_serializing_if = "Option::is_none")]
pub player_score6: Option<i32>,
#[serde(rename = "playerScore7")]
#[serde(skip_serializing_if = "Option::is_none")]
pub player_score7: Option<i32>,
#[serde(rename = "playerScore8")]
#[serde(skip_serializing_if = "Option::is_none")]
pub player_score8: Option<i32>,
#[serde(rename = "playerScore9")]
#[serde(skip_serializing_if = "Option::is_none")]
pub player_score9: Option<i32>,
#[serde(rename = "playerAugment5")]
#[serde(skip_serializing_if = "Option::is_none")]
pub player_augment5: Option<i32>,
#[serde(rename = "playerAugment6")]
#[serde(skip_serializing_if = "Option::is_none")]
pub player_augment6: Option<i32>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Challenges {
#[serde(rename = "12AssistStreakCount")]
#[serde(skip_serializing_if = "Option::is_none")]
pub x12_assist_streak_count: Option<i32>,
#[serde(rename = "abilityUses")]
#[serde(skip_serializing_if = "Option::is_none")]
pub ability_uses: Option<i32>,
#[serde(rename = "acesBefore15Minutes")]
#[serde(skip_serializing_if = "Option::is_none")]
pub aces_before15_minutes: Option<i32>,
#[serde(rename = "alliedJungleMonsterKills")]
#[serde(skip_serializing_if = "Option::is_none")]
pub allied_jungle_monster_kills: Option<f64>,
#[serde(rename = "baronTakedowns")]
#[serde(skip_serializing_if = "Option::is_none")]
pub baron_takedowns: Option<i32>,
#[serde(rename = "blastConeOppositeOpponentCount")]
#[serde(skip_serializing_if = "Option::is_none")]
pub blast_cone_opposite_opponent_count: Option<i32>,
#[serde(rename = "bountyGold")]
#[serde(skip_serializing_if = "Option::is_none")]
pub bounty_gold: Option<i32>,
#[serde(rename = "buffsStolen")]
#[serde(skip_serializing_if = "Option::is_none")]
pub buffs_stolen: Option<i32>,
#[serde(rename = "completeSupportQuestInTime")]
#[serde(skip_serializing_if = "Option::is_none")]
pub complete_support_quest_in_time: Option<i32>,
#[serde(rename = "controlWardsPlaced")]
#[serde(skip_serializing_if = "Option::is_none")]
pub control_wards_placed: Option<i32>,
#[serde(rename = "damagePerMinute")]
#[serde(skip_serializing_if = "Option::is_none")]
pub damage_per_minute: Option<f64>,
#[serde(rename = "damageTakenOnTeamPercentage")]
#[serde(skip_serializing_if = "Option::is_none")]
pub damage_taken_on_team_percentage: Option<f64>,
#[serde(rename = "dancedWithRiftHerald")]
#[serde(skip_serializing_if = "Option::is_none")]
pub danced_with_rift_herald: Option<i32>,
#[serde(rename = "deathsByEnemyChamps")]
#[serde(skip_serializing_if = "Option::is_none")]
pub deaths_by_enemy_champs: Option<i32>,
#[serde(rename = "dodgeSkillShotsSmallWindow")]
#[serde(skip_serializing_if = "Option::is_none")]
pub dodge_skill_shots_small_window: Option<i32>,
#[serde(rename = "doubleAces")]
#[serde(skip_serializing_if = "Option::is_none")]
pub double_aces: Option<i32>,
#[serde(rename = "dragonTakedowns")]
#[serde(skip_serializing_if = "Option::is_none")]
pub dragon_takedowns: Option<i32>,
#[serde(rename = "legendaryItemUsed")]
#[serde(skip_serializing_if = "Option::is_none")]
pub legendary_item_used: Option<std::vec::Vec<i32>>,
#[serde(rename = "effectiveHealAndShielding")]
#[serde(skip_serializing_if = "Option::is_none")]
pub effective_heal_and_shielding: Option<f32>,
#[serde(rename = "elderDragonKillsWithOpposingSoul")]
#[serde(skip_serializing_if = "Option::is_none")]
pub elder_dragon_kills_with_opposing_soul: Option<i32>,
#[serde(rename = "elderDragonMultikills")]
#[serde(skip_serializing_if = "Option::is_none")]
pub elder_dragon_multikills: Option<i32>,
#[serde(rename = "enemyChampionImmobilizations")]
#[serde(skip_serializing_if = "Option::is_none")]
pub enemy_champion_immobilizations: Option<i32>,
#[serde(rename = "enemyJungleMonsterKills")]
#[serde(skip_serializing_if = "Option::is_none")]
pub enemy_jungle_monster_kills: Option<f64>,
#[serde(rename = "epicMonsterKillsNearEnemyJungler")]
#[serde(skip_serializing_if = "Option::is_none")]
pub epic_monster_kills_near_enemy_jungler: Option<i32>,
#[serde(rename = "epicMonsterKillsWithin30SecondsOfSpawn")]
#[serde(skip_serializing_if = "Option::is_none")]
pub epic_monster_kills_within30_seconds_of_spawn: Option<i32>,
#[serde(rename = "epicMonsterSteals")]
#[serde(skip_serializing_if = "Option::is_none")]
pub epic_monster_steals: Option<i32>,
#[serde(rename = "epicMonsterStolenWithoutSmite")]
#[serde(skip_serializing_if = "Option::is_none")]
pub epic_monster_stolen_without_smite: Option<i32>,
#[serde(rename = "firstTurretKilled")]
#[serde(skip_serializing_if = "Option::is_none")]
pub first_turret_killed: Option<f64>,
#[serde(rename = "firstTurretKilledTime")]
#[serde(skip_serializing_if = "Option::is_none")]
pub first_turret_killed_time: Option<f32>,
#[serde(rename = "flawlessAces")]
#[serde(skip_serializing_if = "Option::is_none")]
pub flawless_aces: Option<i32>,
#[serde(rename = "fullTeamTakedown")]
#[serde(skip_serializing_if = "Option::is_none")]
pub full_team_takedown: Option<i32>,
#[serde(rename = "gameLength")]
#[serde(skip_serializing_if = "Option::is_none")]
pub game_length: Option<f64>,
#[serde(rename = "getTakedownsInAllLanesEarlyJungleAsLaner")]
#[serde(skip_serializing_if = "Option::is_none")]
pub get_takedowns_in_all_lanes_early_jungle_as_laner: Option<i32>,
#[serde(rename = "goldPerMinute")]
#[serde(skip_serializing_if = "Option::is_none")]
pub gold_per_minute: Option<f64>,
#[serde(rename = "hadOpenNexus")]
#[serde(skip_serializing_if = "Option::is_none")]
pub had_open_nexus: Option<i32>,
#[serde(rename = "immobilizeAndKillWithAlly")]
#[serde(skip_serializing_if = "Option::is_none")]
pub immobilize_and_kill_with_ally: Option<i32>,
#[serde(rename = "initialBuffCount")]
#[serde(skip_serializing_if = "Option::is_none")]
pub initial_buff_count: Option<i32>,
#[serde(rename = "initialCrabCount")]
#[serde(skip_serializing_if = "Option::is_none")]
pub initial_crab_count: Option<i32>,
#[serde(rename = "jungleCsBefore10Minutes")]
#[serde(skip_serializing_if = "Option::is_none")]
pub jungle_cs_before10_minutes: Option<f64>,
#[serde(rename = "junglerTakedownsNearDamagedEpicMonster")]
#[serde(skip_serializing_if = "Option::is_none")]
pub jungler_takedowns_near_damaged_epic_monster: Option<i32>,
#[serde(rename = "kda")]
#[serde(skip_serializing_if = "Option::is_none")]
pub kda: Option<f64>,
#[serde(rename = "killAfterHiddenWithAlly")]
#[serde(skip_serializing_if = "Option::is_none")]
pub kill_after_hidden_with_ally: Option<i32>,
#[serde(rename = "killedChampTookFullTeamDamageSurvived")]
#[serde(skip_serializing_if = "Option::is_none")]
pub killed_champ_took_full_team_damage_survived: Option<i32>,
#[serde(rename = "killingSprees")]
#[serde(skip_serializing_if = "Option::is_none")]
pub killing_sprees: Option<i32>,
#[serde(rename = "killParticipation")]
#[serde(skip_serializing_if = "Option::is_none")]
pub kill_participation: Option<f64>,
#[serde(rename = "killsNearEnemyTurret")]
#[serde(skip_serializing_if = "Option::is_none")]
pub kills_near_enemy_turret: Option<i32>,
#[serde(rename = "killsOnOtherLanesEarlyJungleAsLaner")]
#[serde(skip_serializing_if = "Option::is_none")]
pub kills_on_other_lanes_early_jungle_as_laner: Option<i32>,
#[serde(rename = "killsOnRecentlyHealedByAramPack")]
#[serde(skip_serializing_if = "Option::is_none")]
pub kills_on_recently_healed_by_aram_pack: Option<i32>,
#[serde(rename = "killsUnderOwnTurret")]
#[serde(skip_serializing_if = "Option::is_none")]
pub kills_under_own_turret: Option<i32>,
#[serde(rename = "killsWithHelpFromEpicMonster")]
#[serde(skip_serializing_if = "Option::is_none")]
pub kills_with_help_from_epic_monster: Option<i32>,
#[serde(rename = "knockEnemyIntoTeamAndKill")]
#[serde(skip_serializing_if = "Option::is_none")]
pub knock_enemy_into_team_and_kill: Option<i32>,
#[serde(rename = "kTurretsDestroyedBeforePlatesFall")]
#[serde(skip_serializing_if = "Option::is_none")]
pub k_turrets_destroyed_before_plates_fall: Option<i32>,
#[serde(rename = "landSkillShotsEarlyGame")]
#[serde(skip_serializing_if = "Option::is_none")]
pub land_skill_shots_early_game: Option<i32>,
#[serde(rename = "laneMinionsFirst10Minutes")]
#[serde(skip_serializing_if = "Option::is_none")]
pub lane_minions_first10_minutes: Option<i32>,
#[serde(rename = "lostAnInhibitor")]
#[serde(skip_serializing_if = "Option::is_none")]
pub lost_an_inhibitor: Option<i32>,
#[serde(rename = "maxKillDeficit")]
#[serde(skip_serializing_if = "Option::is_none")]
pub max_kill_deficit: Option<i32>,
#[serde(rename = "mejaisFullStackInTime")]
#[serde(skip_serializing_if = "Option::is_none")]
pub mejais_full_stack_in_time: Option<i32>,
#[serde(rename = "moreEnemyJungleThanOpponent")]
#[serde(skip_serializing_if = "Option::is_none")]
pub more_enemy_jungle_than_opponent: Option<f64>,
#[serde(rename = "multiKillOneSpell")]
#[serde(skip_serializing_if = "Option::is_none")]
pub multi_kill_one_spell: Option<i32>,
#[serde(rename = "multikills")]
#[serde(skip_serializing_if = "Option::is_none")]
pub multikills: Option<i32>,
#[serde(rename = "multikillsAfterAggressiveFlash")]
#[serde(skip_serializing_if = "Option::is_none")]
pub multikills_after_aggressive_flash: Option<i32>,
#[serde(rename = "multiTurretRiftHeraldCount")]
#[serde(skip_serializing_if = "Option::is_none")]
pub multi_turret_rift_herald_count: Option<i32>,
#[serde(rename = "outerTurretExecutesBefore10Minutes")]
#[serde(skip_serializing_if = "Option::is_none")]
pub outer_turret_executes_before10_minutes: Option<i32>,
#[serde(rename = "outnumberedKills")]
#[serde(skip_serializing_if = "Option::is_none")]
pub outnumbered_kills: Option<i32>,
#[serde(rename = "outnumberedNexusKill")]
#[serde(skip_serializing_if = "Option::is_none")]
pub outnumbered_nexus_kill: Option<i32>,
#[serde(rename = "perfectDragonSoulsTaken")]
#[serde(skip_serializing_if = "Option::is_none")]
pub perfect_dragon_souls_taken: Option<i32>,
#[serde(rename = "perfectGame")]
#[serde(skip_serializing_if = "Option::is_none")]
pub perfect_game: Option<i32>,
#[serde(rename = "pickKillWithAlly")]
#[serde(skip_serializing_if = "Option::is_none")]
pub pick_kill_with_ally: Option<i32>,
#[serde(rename = "poroExplosions")]
#[serde(skip_serializing_if = "Option::is_none")]
pub poro_explosions: Option<i32>,
#[serde(rename = "quickCleanse")]
#[serde(skip_serializing_if = "Option::is_none")]
pub quick_cleanse: Option<i32>,
#[serde(rename = "quickFirstTurret")]
#[serde(skip_serializing_if = "Option::is_none")]
pub quick_first_turret: Option<i32>,
#[serde(rename = "quickSoloKills")]
#[serde(skip_serializing_if = "Option::is_none")]
pub quick_solo_kills: Option<i32>,
#[serde(rename = "riftHeraldTakedowns")]
#[serde(skip_serializing_if = "Option::is_none")]
pub rift_herald_takedowns: Option<i32>,
#[serde(rename = "saveAllyFromDeath")]
#[serde(skip_serializing_if = "Option::is_none")]
pub save_ally_from_death: Option<i32>,
#[serde(rename = "scuttleCrabKills")]
#[serde(skip_serializing_if = "Option::is_none")]
pub scuttle_crab_kills: Option<i32>,
#[serde(rename = "shortestTimeToAceFromFirstTakedown")]
#[serde(skip_serializing_if = "Option::is_none")]
pub shortest_time_to_ace_from_first_takedown: Option<f32>,
#[serde(rename = "skillshotsDodged")]
#[serde(skip_serializing_if = "Option::is_none")]
pub skillshots_dodged: Option<i32>,
#[serde(rename = "skillshotsHit")]
#[serde(skip_serializing_if = "Option::is_none")]
pub skillshots_hit: Option<i32>,
#[serde(rename = "snowballsHit")]
#[serde(skip_serializing_if = "Option::is_none")]
pub snowballs_hit: Option<i32>,
#[serde(rename = "soloBaronKills")]
#[serde(skip_serializing_if = "Option::is_none")]
pub solo_baron_kills: Option<i32>,
#[serde(rename = "soloKills")]
#[serde(skip_serializing_if = "Option::is_none")]
pub solo_kills: Option<i32>,
#[serde(rename = "stealthWardsPlaced")]
#[serde(skip_serializing_if = "Option::is_none")]
pub stealth_wards_placed: Option<i32>,
#[serde(rename = "survivedSingleDigitHpCount")]
#[serde(skip_serializing_if = "Option::is_none")]
pub survived_single_digit_hp_count: Option<i32>,
#[serde(rename = "survivedThreeImmobilizesInFight")]
#[serde(skip_serializing_if = "Option::is_none")]
pub survived_three_immobilizes_in_fight: Option<i32>,
#[serde(rename = "takedownOnFirstTurret")]
#[serde(skip_serializing_if = "Option::is_none")]
pub takedown_on_first_turret: Option<i32>,
#[serde(rename = "takedowns")]
#[serde(skip_serializing_if = "Option::is_none")]
pub takedowns: Option<i32>,
#[serde(rename = "takedownsAfterGainingLevelAdvantage")]
#[serde(skip_serializing_if = "Option::is_none")]
pub takedowns_after_gaining_level_advantage: Option<i32>,
#[serde(rename = "takedownsBeforeJungleMinionSpawn")]
#[serde(skip_serializing_if = "Option::is_none")]
pub takedowns_before_jungle_minion_spawn: Option<i32>,
#[serde(rename = "takedownsFirstXMinutes")]
#[serde(skip_serializing_if = "Option::is_none")]
pub takedowns_first_x_minutes: Option<i32>,
#[serde(rename = "takedownsInAlcove")]
#[serde(skip_serializing_if = "Option::is_none")]
pub takedowns_in_alcove: Option<i32>,
#[serde(rename = "takedownsInEnemyFountain")]
#[serde(skip_serializing_if = "Option::is_none")]
pub takedowns_in_enemy_fountain: Option<i32>,
#[serde(rename = "teamBaronKills")]
#[serde(skip_serializing_if = "Option::is_none")]
pub team_baron_kills: Option<i32>,
#[serde(rename = "teamDamagePercentage")]
#[serde(skip_serializing_if = "Option::is_none")]
pub team_damage_percentage: Option<f64>,
#[serde(rename = "teamElderDragonKills")]
#[serde(skip_serializing_if = "Option::is_none")]
pub team_elder_dragon_kills: Option<i32>,
#[serde(rename = "teamRiftHeraldKills")]
#[serde(skip_serializing_if = "Option::is_none")]
pub team_rift_herald_kills: Option<i32>,
#[serde(rename = "tookLargeDamageSurvived")]
#[serde(skip_serializing_if = "Option::is_none")]
pub took_large_damage_survived: Option<i32>,
#[serde(rename = "turretPlatesTaken")]
#[serde(skip_serializing_if = "Option::is_none")]
pub turret_plates_taken: Option<i32>,
#[serde(rename = "turretsTakenWithRiftHerald")]
#[serde(skip_serializing_if = "Option::is_none")]
pub turrets_taken_with_rift_herald: Option<i32>,
#[serde(rename = "turretTakedowns")]
#[serde(skip_serializing_if = "Option::is_none")]
pub turret_takedowns: Option<i32>,
#[serde(rename = "twentyMinionsIn3SecondsCount")]
#[serde(skip_serializing_if = "Option::is_none")]
pub twenty_minions_in3_seconds_count: Option<i32>,
#[serde(rename = "twoWardsOneSweeperCount")]
#[serde(skip_serializing_if = "Option::is_none")]
pub two_wards_one_sweeper_count: Option<i32>,
#[serde(rename = "unseenRecalls")]
#[serde(skip_serializing_if = "Option::is_none")]
pub unseen_recalls: Option<i32>,
#[serde(rename = "visionScorePerMinute")]
#[serde(skip_serializing_if = "Option::is_none")]
pub vision_score_per_minute: Option<f64>,
#[serde(rename = "wardsGuarded")]
#[serde(skip_serializing_if = "Option::is_none")]
pub wards_guarded: Option<i32>,
#[serde(rename = "wardTakedowns")]
#[serde(skip_serializing_if = "Option::is_none")]
pub ward_takedowns: Option<i32>,
#[serde(rename = "wardTakedownsBefore20M")]
#[serde(skip_serializing_if = "Option::is_none")]
pub ward_takedowns_before20_m: Option<i32>,
#[serde(rename = "baronBuffGoldAdvantageOverThreshold")]
#[serde(skip_serializing_if = "Option::is_none")]
pub baron_buff_gold_advantage_over_threshold: Option<f64>,
#[serde(rename = "controlWardTimeCoverageInRiverOrEnemyHalf")]
#[serde(skip_serializing_if = "Option::is_none")]
pub control_ward_time_coverage_in_river_or_enemy_half: Option<f64>,
#[serde(rename = "earliestBaron")]
#[serde(skip_serializing_if = "Option::is_none")]
pub earliest_baron: Option<f64>,
#[serde(rename = "earliestDragonTakedown")]
#[serde(skip_serializing_if = "Option::is_none")]
pub earliest_dragon_takedown: Option<f64>,
#[serde(rename = "earliestElderDragon")]
#[serde(skip_serializing_if = "Option::is_none")]
pub earliest_elder_dragon: Option<f64>,
#[serde(rename = "earlyLaningPhaseGoldExpAdvantage")]
#[serde(skip_serializing_if = "Option::is_none")]
pub early_laning_phase_gold_exp_advantage: Option<f64>,
#[serde(rename = "fasterSupportQuestCompletion")]
#[serde(skip_serializing_if = "Option::is_none")]
pub faster_support_quest_completion: Option<f64>,
#[serde(rename = "fastestLegendary")]
#[serde(skip_serializing_if = "Option::is_none")]
pub fastest_legendary: Option<f64>,
#[serde(rename = "hadAfkTeammate")]
#[serde(skip_serializing_if = "Option::is_none")]
pub had_afk_teammate: Option<f64>,
#[serde(rename = "highestChampionDamage")]
#[serde(skip_serializing_if = "Option::is_none")]
pub highest_champion_damage: Option<f64>,
#[serde(rename = "highestCrowdControlScore")]
#[serde(skip_serializing_if = "Option::is_none")]
pub highest_crowd_control_score: Option<f64>,
#[serde(rename = "highestWardKills")]
#[serde(skip_serializing_if = "Option::is_none")]
pub highest_ward_kills: Option<f64>,
#[serde(rename = "junglerKillsEarlyJungle")]
#[serde(skip_serializing_if = "Option::is_none")]
pub jungler_kills_early_jungle: Option<f64>,
#[serde(rename = "killsOnLanersEarlyJungleAsJungler")]
#[serde(skip_serializing_if = "Option::is_none")]
pub kills_on_laners_early_jungle_as_jungler: Option<f64>,
#[serde(rename = "laningPhaseGoldExpAdvantage")]
#[serde(skip_serializing_if = "Option::is_none")]
pub laning_phase_gold_exp_advantage: Option<f64>,
#[serde(rename = "legendaryCount")]
#[serde(skip_serializing_if = "Option::is_none")]
pub legendary_count: Option<f64>,
#[serde(rename = "maxCsAdvantageOnLaneOpponent")]
#[serde(skip_serializing_if = "Option::is_none")]
pub max_cs_advantage_on_lane_opponent: Option<f64>,
#[serde(rename = "maxLevelLeadLaneOpponent")]
#[serde(skip_serializing_if = "Option::is_none")]
pub max_level_lead_lane_opponent: Option<f64>,
#[serde(rename = "mostWardsDestroyedOneSweeper")]
#[serde(skip_serializing_if = "Option::is_none")]
pub most_wards_destroyed_one_sweeper: Option<f64>,
#[serde(rename = "mythicItemUsed")]
#[serde(skip_serializing_if = "Option::is_none")]
pub mythic_item_used: Option<f64>,
#[serde(rename = "playedChampSelectPosition")]
#[serde(skip_serializing_if = "Option::is_none")]
pub played_champ_select_position: Option<f64>,
#[serde(rename = "soloTurretsLategame")]
#[serde(skip_serializing_if = "Option::is_none")]
pub solo_turrets_lategame: Option<f64>,
#[serde(rename = "takedownsFirst25Minutes")]
#[serde(skip_serializing_if = "Option::is_none")]
pub takedowns_first25_minutes: Option<f64>,
#[serde(rename = "teleportTakedowns")]
#[serde(skip_serializing_if = "Option::is_none")]
pub teleport_takedowns: Option<f64>,
#[serde(rename = "thirdInhibitorDestroyedTime")]
#[serde(skip_serializing_if = "Option::is_none")]
pub third_inhibitor_destroyed_time: Option<f64>,
#[serde(rename = "threeWardsOneSweeperCount")]
#[serde(skip_serializing_if = "Option::is_none")]
pub three_wards_one_sweeper_count: Option<f64>,
#[serde(rename = "visionScoreAdvantageLaneOpponent")]
#[serde(skip_serializing_if = "Option::is_none")]
pub vision_score_advantage_lane_opponent: Option<f64>,
#[serde(rename = "InfernalScalePickup")]
#[serde(skip_serializing_if = "Option::is_none")]
pub infernal_scale_pickup: Option<f64>,
#[serde(rename = "fistBumpParticipation")]
#[serde(skip_serializing_if = "Option::is_none")]
pub fist_bump_participation: Option<i32>,
#[serde(rename = "voidMonsterKill")]
#[serde(skip_serializing_if = "Option::is_none")]
pub void_monster_kill: Option<i32>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Missions {
#[serde(rename = "playerScore0")]
#[serde(skip_serializing_if = "Option::is_none")]
pub player_score0: Option<i32>,
#[serde(rename = "playerScore1")]
#[serde(skip_serializing_if = "Option::is_none")]
pub player_score1: Option<i32>,
#[serde(rename = "playerScore2")]
#[serde(skip_serializing_if = "Option::is_none")]
pub player_score2: Option<i32>,
#[serde(rename = "playerScore3")]
#[serde(skip_serializing_if = "Option::is_none")]
pub player_score3: Option<i32>,
#[serde(rename = "playerScore4")]
#[serde(skip_serializing_if = "Option::is_none")]
pub player_score4: Option<i32>,
#[serde(rename = "playerScore5")]
#[serde(skip_serializing_if = "Option::is_none")]
pub player_score5: Option<i32>,
#[serde(rename = "playerScore6")]
#[serde(skip_serializing_if = "Option::is_none")]
pub player_score6: Option<i32>,
#[serde(rename = "playerScore7")]
#[serde(skip_serializing_if = "Option::is_none")]
pub player_score7: Option<i32>,
#[serde(rename = "playerScore8")]
#[serde(skip_serializing_if = "Option::is_none")]
pub player_score8: Option<i32>,
#[serde(rename = "playerScore9")]
#[serde(skip_serializing_if = "Option::is_none")]
pub player_score9: Option<i32>,
#[serde(rename = "playerScore10")]
#[serde(skip_serializing_if = "Option::is_none")]
pub player_score10: Option<i32>,
#[serde(rename = "playerScore11")]
#[serde(skip_serializing_if = "Option::is_none")]
pub player_score11: Option<i32>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Perks {
#[serde(rename = "statPerks")]
pub stat_perks: PerkStats,
#[serde(rename = "styles")]
pub styles: std::vec::Vec<PerkStyle>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct PerkStats {
#[serde(rename = "defense")]
pub defense: i32,
#[serde(rename = "flex")]
pub flex: i32,
#[serde(rename = "offense")]
pub offense: i32,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct PerkStyle {
#[serde(rename = "description")]
pub description: String,
#[serde(rename = "selections")]
pub selections: std::vec::Vec<PerkStyleSelection>,
#[serde(rename = "style")]
pub style: i32,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct PerkStyleSelection {
#[serde(rename = "perk")]
pub perk: i32,
#[serde(rename = "var1")]
pub var1: i32,
#[serde(rename = "var2")]
pub var2: i32,
#[serde(rename = "var3")]
pub var3: i32,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Team {
#[serde(rename = "bans")]
pub bans: std::vec::Vec<Ban>,
#[serde(rename = "objectives")]
pub objectives: Objectives,
#[serde(rename = "teamId")]
pub team_id: crate::consts::Team,
#[serde(rename = "win")]
pub win: bool,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Ban {
#[serde(rename = "championId")]
pub champion_id: crate::consts::Champion,
#[serde(rename = "pickTurn")]
pub pick_turn: i32,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Objectives {
#[serde(rename = "baron")]
pub baron: Objective,
#[serde(rename = "champion")]
pub champion: Objective,
#[serde(rename = "dragon")]
pub dragon: Objective,
#[serde(rename = "horde")]
#[serde(skip_serializing_if = "Option::is_none")]
pub horde: Option<Objective>,
#[serde(rename = "inhibitor")]
pub inhibitor: Objective,
#[serde(rename = "riftHerald")]
pub rift_herald: Objective,
#[serde(rename = "tower")]
pub tower: Objective,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Objective {
#[serde(rename = "first")]
pub first: bool,
#[serde(rename = "kills")]
pub kills: i32,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Timeline {
#[serde(rename = "metadata")]
pub metadata: MetadataTimeLine,
#[serde(rename = "info")]
pub info: InfoTimeLine,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct MetadataTimeLine {
#[serde(rename = "dataVersion")]
pub data_version: String,
#[serde(rename = "matchId")]
pub match_id: String,
#[serde(rename = "participants")]
pub participants: std::vec::Vec<String>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct InfoTimeLine {
#[serde(rename = "endOfGameResult")]
#[serde(skip_serializing_if = "Option::is_none")]
pub end_of_game_result: Option<String>,
#[serde(rename = "frameInterval")]
pub frame_interval: i64,
#[serde(rename = "gameId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub game_id: Option<i64>,
#[serde(rename = "participants")]
#[serde(skip_serializing_if = "Option::is_none")]
pub participants: Option<std::vec::Vec<ParticipantTimeLine>>,
#[serde(rename = "frames")]
pub frames: std::vec::Vec<FramesTimeLine>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct ParticipantTimeLine {
#[serde(rename = "participantId")]
pub participant_id: i32,
#[serde(rename = "puuid")]
pub puuid: String,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct FramesTimeLine {
#[serde(rename = "events")]
pub events: std::vec::Vec<EventsTimeLine>,
#[serde(rename = "participantFrames")]
#[serde(skip_serializing_if = "Option::is_none")]
pub participant_frames: Option<std::collections::HashMap<i32, ParticipantFrame>>,
#[serde(rename = "timestamp")]
pub timestamp: i32,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct EventsTimeLine {
#[serde(rename = "timestamp")]
pub timestamp: i64,
#[serde(rename = "realTimestamp")]
#[serde(skip_serializing_if = "Option::is_none")]
pub real_timestamp: Option<i64>,
#[serde(rename = "type")]
pub r#type: String,
#[serde(rename = "itemId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub item_id: Option<i32>,
#[serde(rename = "participantId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub participant_id: Option<i32>,
#[serde(rename = "levelUpType")]
#[serde(skip_serializing_if = "Option::is_none")]
pub level_up_type: Option<String>,
#[serde(rename = "skillSlot")]
#[serde(skip_serializing_if = "Option::is_none")]
pub skill_slot: Option<i32>,
#[serde(rename = "creatorId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub creator_id: Option<i32>,
#[serde(rename = "wardType")]
#[serde(skip_serializing_if = "Option::is_none")]
pub ward_type: Option<String>,
#[serde(rename = "level")]
#[serde(skip_serializing_if = "Option::is_none")]
pub level: Option<i32>,
#[serde(rename = "assistingParticipantIds")]
#[serde(skip_serializing_if = "Option::is_none")]
pub assisting_participant_ids: Option<std::vec::Vec<i32>>,
#[serde(rename = "bounty")]
#[serde(skip_serializing_if = "Option::is_none")]
pub bounty: Option<i32>,
#[serde(rename = "killStreakLength")]
#[serde(skip_serializing_if = "Option::is_none")]
pub kill_streak_length: Option<i32>,
#[serde(rename = "killerId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub killer_id: Option<i32>,
#[serde(rename = "position")]
#[serde(skip_serializing_if = "Option::is_none")]
pub position: Option<Position>,
#[serde(rename = "victimDamageDealt")]
#[serde(skip_serializing_if = "Option::is_none")]
pub victim_damage_dealt: Option<std::vec::Vec<MatchTimelineVictimDamage>>,
#[serde(rename = "victimDamageReceived")]
#[serde(skip_serializing_if = "Option::is_none")]
pub victim_damage_received: Option<std::vec::Vec<MatchTimelineVictimDamage>>,
#[serde(rename = "victimId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub victim_id: Option<i32>,
#[serde(rename = "killType")]
#[serde(skip_serializing_if = "Option::is_none")]
pub kill_type: Option<String>,
#[serde(rename = "laneType")]
#[serde(skip_serializing_if = "Option::is_none")]
pub lane_type: Option<String>,
#[serde(rename = "teamId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub team_id: Option<crate::consts::Team>,
#[serde(rename = "multiKillLength")]
#[serde(skip_serializing_if = "Option::is_none")]
pub multi_kill_length: Option<i32>,
#[serde(rename = "killerTeamId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub killer_team_id: Option<crate::consts::Team>,
#[serde(rename = "monsterType")]
#[serde(skip_serializing_if = "Option::is_none")]
pub monster_type: Option<String>,
#[serde(rename = "monsterSubType")]
#[serde(skip_serializing_if = "Option::is_none")]
pub monster_sub_type: Option<String>,
#[serde(rename = "buildingType")]
#[serde(skip_serializing_if = "Option::is_none")]
pub building_type: Option<String>,
#[serde(rename = "towerType")]
#[serde(skip_serializing_if = "Option::is_none")]
pub tower_type: Option<String>,
#[serde(rename = "afterId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub after_id: Option<i32>,
#[serde(rename = "beforeId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub before_id: Option<i32>,
#[serde(rename = "goldGain")]
#[serde(skip_serializing_if = "Option::is_none")]
pub gold_gain: Option<i32>,
#[serde(rename = "gameId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub game_id: Option<i64>,
#[serde(rename = "winningTeam")]
#[serde(skip_serializing_if = "Option::is_none")]
pub winning_team: Option<i32>,
#[serde(rename = "transformType")]
#[serde(skip_serializing_if = "Option::is_none")]
pub transform_type: Option<String>,
#[serde(rename = "name")]
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "shutdownBounty")]
#[serde(skip_serializing_if = "Option::is_none")]
pub shutdown_bounty: Option<i32>,
#[serde(rename = "actualStartTime")]
#[serde(skip_serializing_if = "Option::is_none")]
pub actual_start_time: Option<i64>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct ParticipantFrames {
#[serde(rename = "1")]
pub x1: ParticipantFrame,
#[serde(rename = "2")]
pub x2: ParticipantFrame,
#[serde(rename = "3")]
pub x3: ParticipantFrame,
#[serde(rename = "4")]
pub x4: ParticipantFrame,
#[serde(rename = "5")]
pub x5: ParticipantFrame,
#[serde(rename = "6")]
pub x6: ParticipantFrame,
#[serde(rename = "7")]
pub x7: ParticipantFrame,
#[serde(rename = "8")]
pub x8: ParticipantFrame,
#[serde(rename = "9")]
pub x9: ParticipantFrame,
#[serde(rename = "10")]
pub x10: ParticipantFrame,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct ParticipantFrame {
#[serde(rename = "championStats")]
pub champion_stats: ChampionStats,
#[serde(rename = "currentGold")]
pub current_gold: i32,
#[serde(rename = "damageStats")]
pub damage_stats: DamageStats,
#[serde(rename = "goldPerSecond")]
pub gold_per_second: i32,
#[serde(rename = "jungleMinionsKilled")]
pub jungle_minions_killed: i32,
#[serde(rename = "level")]
pub level: i32,
#[serde(rename = "minionsKilled")]
pub minions_killed: i32,
#[serde(rename = "participantId")]
pub participant_id: i32,
#[serde(rename = "position")]
pub position: Position,
#[serde(rename = "timeEnemySpentControlled")]
pub time_enemy_spent_controlled: i32,
#[serde(rename = "totalGold")]
pub total_gold: i32,
#[serde(rename = "xp")]
pub xp: i32,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct ChampionStats {
#[serde(rename = "abilityHaste")]
#[serde(skip_serializing_if = "Option::is_none")]
pub ability_haste: Option<i32>,
#[serde(rename = "abilityPower")]
pub ability_power: i32,
#[serde(rename = "armor")]
pub armor: i32,
#[serde(rename = "armorPen")]
pub armor_pen: i32,
#[serde(rename = "armorPenPercent")]
pub armor_pen_percent: i32,
#[serde(rename = "attackDamage")]
pub attack_damage: i32,
#[serde(rename = "attackSpeed")]
pub attack_speed: i32,
#[serde(rename = "bonusArmorPenPercent")]
pub bonus_armor_pen_percent: i32,
#[serde(rename = "bonusMagicPenPercent")]
pub bonus_magic_pen_percent: i32,
#[serde(rename = "ccReduction")]
pub cc_reduction: i32,
#[serde(rename = "cooldownReduction")]
pub cooldown_reduction: i32,
#[serde(rename = "health")]
pub health: i32,
#[serde(rename = "healthMax")]
pub health_max: i32,
#[serde(rename = "healthRegen")]
pub health_regen: i32,
#[serde(rename = "lifesteal")]
pub lifesteal: i32,
#[serde(rename = "magicPen")]
pub magic_pen: i32,
#[serde(rename = "magicPenPercent")]
pub magic_pen_percent: i32,
#[serde(rename = "magicResist")]
pub magic_resist: i32,
#[serde(rename = "movementSpeed")]
pub movement_speed: i32,
#[serde(rename = "omnivamp")]
#[serde(skip_serializing_if = "Option::is_none")]
pub omnivamp: Option<i32>,
#[serde(rename = "physicalVamp")]
#[serde(skip_serializing_if = "Option::is_none")]
pub physical_vamp: Option<i32>,
#[serde(rename = "power")]
pub power: i32,
#[serde(rename = "powerMax")]
pub power_max: i32,
#[serde(rename = "powerRegen")]
pub power_regen: i32,
#[serde(rename = "spellVamp")]
pub spell_vamp: i32,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct DamageStats {
#[serde(rename = "magicDamageDone")]
pub magic_damage_done: i32,
#[serde(rename = "magicDamageDoneToChampions")]
pub magic_damage_done_to_champions: i32,
#[serde(rename = "magicDamageTaken")]
pub magic_damage_taken: i32,
#[serde(rename = "physicalDamageDone")]
pub physical_damage_done: i32,
#[serde(rename = "physicalDamageDoneToChampions")]
pub physical_damage_done_to_champions: i32,
#[serde(rename = "physicalDamageTaken")]
pub physical_damage_taken: i32,
#[serde(rename = "totalDamageDone")]
pub total_damage_done: i32,
#[serde(rename = "totalDamageDoneToChampions")]
pub total_damage_done_to_champions: i32,
#[serde(rename = "totalDamageTaken")]
pub total_damage_taken: i32,
#[serde(rename = "trueDamageDone")]
pub true_damage_done: i32,
#[serde(rename = "trueDamageDoneToChampions")]
pub true_damage_done_to_champions: i32,
#[serde(rename = "trueDamageTaken")]
pub true_damage_taken: i32,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Position {
#[serde(rename = "x")]
pub x: i32,
#[serde(rename = "y")]
pub y: i32,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct MatchTimelineVictimDamage {
#[serde(rename = "basic")]
pub basic: bool,
#[serde(rename = "magicDamage")]
pub magic_damage: i32,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "participantId")]
pub participant_id: i32,
#[serde(rename = "physicalDamage")]
pub physical_damage: i32,
#[serde(rename = "spellName")]
pub spell_name: String,
#[serde(rename = "spellSlot")]
pub spell_slot: i32,
#[serde(rename = "trueDamage")]
pub true_damage: i32,
#[serde(rename = "type")]
pub r#type: String,
}
}
#[allow(dead_code)]
pub mod spectator_tft_v5 {
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct CurrentGameInfo {
#[serde(rename = "gameId")]
pub game_id: i64,
#[serde(rename = "gameType")]
pub game_type: crate::consts::GameType,
#[serde(rename = "gameStartTime")]
pub game_start_time: i64,
#[serde(rename = "mapId")]
pub map_id: crate::consts::Map,
#[serde(rename = "gameLength")]
pub game_length: i64,
#[serde(rename = "platformId")]
pub platform_id: String,
#[serde(rename = "gameMode")]
pub game_mode: crate::consts::GameMode,
#[serde(rename = "bannedChampions")]
pub banned_champions: std::vec::Vec<BannedChampion>,
#[serde(rename = "gameQueueConfigId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub game_queue_config_id: Option<crate::consts::Queue>,
#[serde(rename = "observers")]
pub observers: Observer,
#[serde(rename = "participants")]
pub participants: std::vec::Vec<CurrentGameParticipant>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct BannedChampion {
#[serde(rename = "pickTurn")]
pub pick_turn: i32,
#[serde(rename = "championId")]
pub champion_id: crate::consts::Champion,
#[serde(rename = "teamId")]
pub team_id: crate::consts::Team,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Observer {
#[serde(rename = "encryptionKey")]
pub encryption_key: String,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct CurrentGameParticipant {
#[serde(rename = "championId")]
pub champion_id: crate::consts::Champion,
#[serde(rename = "perks")]
#[serde(skip_serializing_if = "Option::is_none")]
pub perks: Option<Perks>,
#[serde(rename = "profileIconId")]
pub profile_icon_id: i64,
#[serde(rename = "teamId")]
pub team_id: crate::consts::Team,
#[serde(rename = "summonerId")]
pub summoner_id: String,
#[serde(rename = "puuid")]
#[serde(skip_serializing_if = "Option::is_none")]
pub puuid: Option<String>,
#[serde(rename = "spell1Id")]
pub spell1_id: i64,
#[serde(rename = "spell2Id")]
pub spell2_id: i64,
#[serde(rename = "gameCustomizationObjects")]
pub game_customization_objects: std::vec::Vec<GameCustomizationObject>,
#[serde(rename = "riotId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub riot_id: Option<String>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Perks {
#[serde(rename = "perkIds")]
pub perk_ids: std::vec::Vec<i64>,
#[serde(rename = "perkStyle")]
pub perk_style: i64,
#[serde(rename = "perkSubStyle")]
pub perk_sub_style: i64,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct GameCustomizationObject {
#[serde(rename = "category")]
pub category: String,
#[serde(rename = "content")]
pub content: String,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct FeaturedGames {
#[serde(rename = "gameList")]
pub game_list: std::vec::Vec<FeaturedGameInfo>,
#[serde(rename = "clientRefreshInterval")]
#[serde(skip_serializing_if = "Option::is_none")]
pub client_refresh_interval: Option<i64>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct FeaturedGameInfo {
#[serde(rename = "gameMode")]
pub game_mode: crate::consts::GameMode,
#[serde(rename = "gameLength")]
pub game_length: i64,
#[serde(rename = "mapId")]
pub map_id: crate::consts::Map,
#[serde(rename = "gameType")]
pub game_type: crate::consts::GameType,
#[serde(rename = "bannedChampions")]
pub banned_champions: std::vec::Vec<BannedChampion>,
#[serde(rename = "gameId")]
pub game_id: i64,
#[serde(rename = "observers")]
pub observers: Observer,
#[serde(rename = "gameQueueConfigId")]
pub game_queue_config_id: crate::consts::Queue,
#[serde(rename = "participants")]
pub participants: std::vec::Vec<Participant>,
#[serde(rename = "platformId")]
pub platform_id: String,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Participant {
#[serde(rename = "spell2Id")]
pub spell2_id: i64,
#[serde(rename = "profileIconId")]
pub profile_icon_id: i64,
#[serde(rename = "summonerId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub summoner_id: Option<String>,
#[serde(rename = "puuid")]
#[serde(skip_serializing_if = "Option::is_none")]
pub puuid: Option<String>,
#[serde(rename = "championId")]
pub champion_id: crate::consts::Champion,
#[serde(rename = "teamId")]
pub team_id: crate::consts::Team,
#[serde(rename = "spell1Id")]
pub spell1_id: i64,
#[serde(rename = "riotId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub riot_id: Option<String>,
}
}
#[allow(dead_code)]
pub mod spectator_v5 {
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct CurrentGameInfo {
#[serde(rename = "gameId")]
pub game_id: i64,
#[serde(rename = "gameType")]
pub game_type: crate::consts::GameType,
#[serde(rename = "gameStartTime")]
pub game_start_time: i64,
#[serde(rename = "mapId")]
pub map_id: crate::consts::Map,
#[serde(rename = "gameLength")]
pub game_length: i64,
#[serde(rename = "platformId")]
pub platform_id: String,
#[serde(rename = "gameMode")]
pub game_mode: crate::consts::GameMode,
#[serde(rename = "bannedChampions")]
pub banned_champions: std::vec::Vec<BannedChampion>,
#[serde(rename = "gameQueueConfigId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub game_queue_config_id: Option<crate::consts::Queue>,
#[serde(rename = "observers")]
pub observers: Observer,
#[serde(rename = "participants")]
pub participants: std::vec::Vec<CurrentGameParticipant>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct BannedChampion {
#[serde(rename = "pickTurn")]
pub pick_turn: i32,
#[serde(rename = "championId")]
pub champion_id: crate::consts::Champion,
#[serde(rename = "teamId")]
pub team_id: crate::consts::Team,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Observer {
#[serde(rename = "encryptionKey")]
pub encryption_key: String,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct CurrentGameParticipant {
#[serde(rename = "championId")]
pub champion_id: crate::consts::Champion,
#[serde(rename = "perks")]
#[serde(skip_serializing_if = "Option::is_none")]
pub perks: Option<Perks>,
#[serde(rename = "profileIconId")]
pub profile_icon_id: i64,
#[serde(rename = "bot")]
pub bot: bool,
#[serde(rename = "teamId")]
pub team_id: crate::consts::Team,
#[serde(rename = "summonerId")]
pub summoner_id: String,
#[serde(rename = "puuid")]
#[serde(skip_serializing_if = "Option::is_none")]
pub puuid: Option<String>,
#[serde(rename = "spell1Id")]
pub spell1_id: i64,
#[serde(rename = "spell2Id")]
pub spell2_id: i64,
#[serde(rename = "gameCustomizationObjects")]
pub game_customization_objects: std::vec::Vec<GameCustomizationObject>,
#[serde(rename = "riotId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub riot_id: Option<String>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Perks {
#[serde(rename = "perkIds")]
pub perk_ids: std::vec::Vec<i64>,
#[serde(rename = "perkStyle")]
pub perk_style: i64,
#[serde(rename = "perkSubStyle")]
pub perk_sub_style: i64,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct GameCustomizationObject {
#[serde(rename = "category")]
pub category: String,
#[serde(rename = "content")]
pub content: String,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct FeaturedGames {
#[serde(rename = "gameList")]
pub game_list: std::vec::Vec<FeaturedGameInfo>,
#[serde(rename = "clientRefreshInterval")]
#[serde(skip_serializing_if = "Option::is_none")]
pub client_refresh_interval: Option<i64>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct FeaturedGameInfo {
#[serde(rename = "gameMode")]
pub game_mode: crate::consts::GameMode,
#[serde(rename = "gameLength")]
pub game_length: i64,
#[serde(rename = "mapId")]
pub map_id: crate::consts::Map,
#[serde(rename = "gameType")]
pub game_type: crate::consts::GameType,
#[serde(rename = "bannedChampions")]
pub banned_champions: std::vec::Vec<BannedChampion>,
#[serde(rename = "gameId")]
pub game_id: i64,
#[serde(rename = "observers")]
pub observers: Observer,
#[serde(rename = "gameQueueConfigId")]
pub game_queue_config_id: crate::consts::Queue,
#[serde(rename = "participants")]
pub participants: std::vec::Vec<Participant>,
#[serde(rename = "platformId")]
pub platform_id: String,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Participant {
#[serde(rename = "bot")]
pub bot: bool,
#[serde(rename = "spell2Id")]
pub spell2_id: i64,
#[serde(rename = "profileIconId")]
pub profile_icon_id: i64,
#[serde(rename = "summonerId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub summoner_id: Option<String>,
#[serde(rename = "puuid")]
#[serde(skip_serializing_if = "Option::is_none")]
pub puuid: Option<String>,
#[serde(rename = "championId")]
pub champion_id: crate::consts::Champion,
#[serde(rename = "teamId")]
pub team_id: crate::consts::Team,
#[serde(rename = "spell1Id")]
pub spell1_id: i64,
#[serde(rename = "riotId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub riot_id: Option<String>,
}
}
#[allow(dead_code)]
pub mod summoner_v4 {
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Summoner {
#[serde(rename = "accountId")]
pub account_id: String,
#[serde(rename = "profileIconId")]
pub profile_icon_id: i32,
#[serde(rename = "revisionDate")]
pub revision_date: i64,
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "puuid")]
pub puuid: String,
#[serde(rename = "summonerLevel")]
pub summoner_level: i64,
}
}
#[allow(dead_code)]
pub mod tft_league_v1 {
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct LeagueList {
#[serde(rename = "leagueId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub league_id: Option<String>,
#[serde(rename = "entries")]
pub entries: std::vec::Vec<LeagueItem>,
#[serde(rename = "tier")]
pub tier: crate::consts::Tier,
#[serde(rename = "name")]
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "queue")]
#[serde(skip_serializing_if = "Option::is_none")]
pub queue: Option<crate::consts::QueueType>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct LeagueItem {
#[serde(rename = "freshBlood")]
pub fresh_blood: bool,
#[serde(rename = "wins")]
pub wins: i32,
#[serde(rename = "miniSeries")]
#[serde(skip_serializing_if = "Option::is_none")]
pub mini_series: Option<MiniSeries>,
#[serde(rename = "inactive")]
pub inactive: bool,
#[serde(rename = "veteran")]
pub veteran: bool,
#[serde(rename = "hotStreak")]
pub hot_streak: bool,
#[serde(rename = "rank")]
pub rank: crate::consts::Division,
#[serde(rename = "leaguePoints")]
pub league_points: i32,
#[serde(rename = "losses")]
pub losses: i32,
#[serde(rename = "summonerId")]
pub summoner_id: String,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct MiniSeries {
#[serde(rename = "losses")]
pub losses: i32,
#[serde(rename = "progress")]
pub progress: String,
#[serde(rename = "target")]
pub target: i32,
#[serde(rename = "wins")]
pub wins: i32,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct LeagueEntry {
#[serde(rename = "puuid")]
#[serde(skip_serializing_if = "Option::is_none")]
pub puuid: Option<String>,
#[serde(rename = "leagueId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub league_id: Option<String>,
#[serde(rename = "summonerId")]
pub summoner_id: String,
#[serde(rename = "queueType")]
pub queue_type: crate::consts::QueueType,
#[serde(rename = "ratedTier")]
#[serde(skip_serializing_if = "Option::is_none")]
pub rated_tier: Option<String>,
#[serde(rename = "ratedRating")]
#[serde(skip_serializing_if = "Option::is_none")]
pub rated_rating: Option<i32>,
#[serde(rename = "tier")]
#[serde(skip_serializing_if = "Option::is_none")]
pub tier: Option<crate::consts::Tier>,
#[serde(rename = "rank")]
#[serde(skip_serializing_if = "Option::is_none")]
pub rank: Option<crate::consts::Division>,
#[serde(rename = "leaguePoints")]
#[serde(skip_serializing_if = "Option::is_none")]
pub league_points: Option<i32>,
#[serde(rename = "wins")]
pub wins: i32,
#[serde(rename = "losses")]
pub losses: i32,
#[serde(rename = "hotStreak")]
#[serde(skip_serializing_if = "Option::is_none")]
pub hot_streak: Option<bool>,
#[serde(rename = "veteran")]
#[serde(skip_serializing_if = "Option::is_none")]
pub veteran: Option<bool>,
#[serde(rename = "freshBlood")]
#[serde(skip_serializing_if = "Option::is_none")]
pub fresh_blood: Option<bool>,
#[serde(rename = "inactive")]
#[serde(skip_serializing_if = "Option::is_none")]
pub inactive: Option<bool>,
#[serde(rename = "miniSeries")]
#[serde(skip_serializing_if = "Option::is_none")]
pub mini_series: Option<MiniSeries>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct TopRatedLadderEntry {
#[serde(rename = "summonerId")]
pub summoner_id: String,
#[serde(rename = "ratedTier")]
pub rated_tier: String,
#[serde(rename = "ratedRating")]
pub rated_rating: i32,
#[serde(rename = "wins")]
pub wins: i32,
#[serde(rename = "previousUpdateLadderPosition")]
pub previous_update_ladder_position: i32,
}
}
#[allow(dead_code)]
pub mod tft_match_v1 {
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Match {
#[serde(rename = "metadata")]
pub metadata: Metadata,
#[serde(rename = "info")]
pub info: Info,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Metadata {
#[serde(rename = "data_version")]
pub data_version: String,
#[serde(rename = "match_id")]
pub match_id: String,
#[serde(rename = "participants")]
pub participants: std::vec::Vec<String>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Info {
#[serde(rename = "game_datetime")]
pub game_datetime: i64,
#[serde(rename = "game_length")]
pub game_length: f32,
#[serde(rename = "game_variation")]
#[serde(skip_serializing_if = "Option::is_none")]
pub game_variation: Option<String>,
#[serde(rename = "game_version")]
pub game_version: String,
#[serde(rename = "participants")]
pub participants: std::vec::Vec<Participant>,
#[serde(rename = "queue_id")]
pub queue_id: crate::consts::Queue,
#[serde(rename = "tft_set_number")]
pub tft_set_number: i32,
#[serde(rename = "tft_game_type")]
#[serde(skip_serializing_if = "Option::is_none")]
pub tft_game_type: Option<String>,
#[serde(rename = "tft_set_core_name")]
#[serde(skip_serializing_if = "Option::is_none")]
pub tft_set_core_name: Option<String>,
#[serde(rename = "endOfGameResult")]
#[serde(skip_serializing_if = "Option::is_none")]
pub end_of_game_result: Option<String>,
#[serde(rename = "gameCreation")]
#[serde(skip_serializing_if = "Option::is_none")]
pub game_creation: Option<i64>,
#[serde(rename = "gameId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub game_id: Option<i64>,
#[serde(rename = "mapId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub map_id: Option<i64>,
#[serde(rename = "queueId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub queue_id_: Option<crate::consts::Queue>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Participant {
#[serde(rename = "companion")]
pub companion: Companion,
#[serde(rename = "gold_left")]
pub gold_left: i32,
#[serde(rename = "last_round")]
pub last_round: i32,
#[serde(rename = "level")]
pub level: i32,
#[serde(rename = "placement")]
pub placement: i32,
#[serde(rename = "players_eliminated")]
pub players_eliminated: i32,
#[serde(rename = "puuid")]
pub puuid: String,
#[serde(rename = "time_eliminated")]
pub time_eliminated: f32,
#[serde(rename = "total_damage_to_players")]
pub total_damage_to_players: i32,
#[serde(rename = "traits")]
pub traits: std::vec::Vec<Trait>,
#[serde(rename = "units")]
pub units: std::vec::Vec<Unit>,
#[serde(rename = "augments")]
#[serde(skip_serializing_if = "Option::is_none")]
pub augments: Option<std::vec::Vec<String>>,
#[serde(rename = "partner_group_id")]
#[serde(skip_serializing_if = "Option::is_none")]
pub partner_group_id: Option<i32>,
#[serde(rename = "missions")]
#[serde(skip_serializing_if = "Option::is_none")]
pub missions: Option<ParticipantMissions>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Trait {
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "num_units")]
pub num_units: i32,
#[serde(rename = "style")]
#[serde(skip_serializing_if = "Option::is_none")]
pub style: Option<i32>,
#[serde(rename = "tier_current")]
pub tier_current: i32,
#[serde(rename = "tier_total")]
#[serde(skip_serializing_if = "Option::is_none")]
pub tier_total: Option<i32>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Unit {
#[serde(rename = "items")]
#[serde(skip_serializing_if = "Option::is_none")]
pub items: Option<std::vec::Vec<i32>>,
#[serde(rename = "character_id")]
pub character_id: String,
#[serde(rename = "chosen")]
#[serde(skip_serializing_if = "Option::is_none")]
pub chosen: Option<String>,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "rarity")]
pub rarity: i32,
#[serde(rename = "tier")]
pub tier: i32,
#[serde(rename = "itemNames")]
#[serde(skip_serializing_if = "Option::is_none")]
pub item_names: Option<std::vec::Vec<String>>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Companion {
#[serde(rename = "item_ID")]
#[serde(skip_serializing_if = "Option::is_none")]
pub item_id: Option<i32>,
#[serde(rename = "skin_ID")]
pub skin_id: i32,
#[serde(rename = "content_ID")]
pub content_id: String,
#[serde(rename = "species")]
pub species: String,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct ParticipantMissions {
#[serde(rename = "Assists")]
#[serde(skip_serializing_if = "Option::is_none")]
pub assists: Option<i32>,
#[serde(rename = "DamageDealt")]
#[serde(skip_serializing_if = "Option::is_none")]
pub damage_dealt: Option<i32>,
#[serde(rename = "DamageDealtToObjectives")]
#[serde(skip_serializing_if = "Option::is_none")]
pub damage_dealt_to_objectives: Option<i32>,
#[serde(rename = "DamageDealtToTurrets")]
#[serde(skip_serializing_if = "Option::is_none")]
pub damage_dealt_to_turrets: Option<i32>,
#[serde(rename = "DamageTaken")]
#[serde(skip_serializing_if = "Option::is_none")]
pub damage_taken: Option<i32>,
#[serde(rename = "DoubleKills")]
#[serde(skip_serializing_if = "Option::is_none")]
pub double_kills: Option<i32>,
#[serde(rename = "GoldEarned")]
#[serde(skip_serializing_if = "Option::is_none")]
pub gold_earned: Option<i32>,
#[serde(rename = "GoldSpent")]
#[serde(skip_serializing_if = "Option::is_none")]
pub gold_spent: Option<i32>,
#[serde(rename = "InhibitorsDestroyed")]
#[serde(skip_serializing_if = "Option::is_none")]
pub inhibitors_destroyed: Option<i32>,
#[serde(rename = "Kills")]
#[serde(skip_serializing_if = "Option::is_none")]
pub kills: Option<i32>,
#[serde(rename = "LargestKillingSpree")]
#[serde(skip_serializing_if = "Option::is_none")]
pub largest_killing_spree: Option<i32>,
#[serde(rename = "LargestMultiKill")]
#[serde(skip_serializing_if = "Option::is_none")]
pub largest_multi_kill: Option<i32>,
#[serde(rename = "MagicDamageDealt")]
#[serde(skip_serializing_if = "Option::is_none")]
pub magic_damage_dealt: Option<i32>,
#[serde(rename = "MagicDamageDealtToChampions")]
#[serde(skip_serializing_if = "Option::is_none")]
pub magic_damage_dealt_to_champions: Option<i32>,
#[serde(rename = "NeutralMinionsKilledTeamJungle")]
#[serde(skip_serializing_if = "Option::is_none")]
pub neutral_minions_killed_team_jungle: Option<i32>,
#[serde(rename = "PhysicalDamageDealt")]
#[serde(skip_serializing_if = "Option::is_none")]
pub physical_damage_dealt: Option<i32>,
#[serde(rename = "PhysicalDamageTaken")]
#[serde(skip_serializing_if = "Option::is_none")]
pub physical_damage_taken: Option<i32>,
#[serde(rename = "PlayerScore0")]
#[serde(skip_serializing_if = "Option::is_none")]
pub player_score0: Option<i32>,
#[serde(rename = "PlayerScore1")]
#[serde(skip_serializing_if = "Option::is_none")]
pub player_score1: Option<i32>,
#[serde(rename = "PlayerScore2")]
#[serde(skip_serializing_if = "Option::is_none")]
pub player_score2: Option<i32>,
#[serde(rename = "PlayerScore3")]
#[serde(skip_serializing_if = "Option::is_none")]
pub player_score3: Option<i32>,
#[serde(rename = "PlayerScore4")]
#[serde(skip_serializing_if = "Option::is_none")]
pub player_score4: Option<i32>,
#[serde(rename = "PlayerScore5")]
#[serde(skip_serializing_if = "Option::is_none")]
pub player_score5: Option<i32>,
#[serde(rename = "PlayerScore6")]
#[serde(skip_serializing_if = "Option::is_none")]
pub player_score6: Option<i32>,
#[serde(rename = "PlayerScore9")]
#[serde(skip_serializing_if = "Option::is_none")]
pub player_score9: Option<i32>,
#[serde(rename = "PlayerScore10")]
#[serde(skip_serializing_if = "Option::is_none")]
pub player_score10: Option<i32>,
#[serde(rename = "PlayerScore11")]
#[serde(skip_serializing_if = "Option::is_none")]
pub player_score11: Option<i32>,
#[serde(rename = "QuadraKills")]
#[serde(skip_serializing_if = "Option::is_none")]
pub quadra_kills: Option<i32>,
#[serde(rename = "Spell1Casts")]
#[serde(skip_serializing_if = "Option::is_none")]
pub spell1_casts: Option<i32>,
#[serde(rename = "Spell2Casts")]
#[serde(skip_serializing_if = "Option::is_none")]
pub spell2_casts: Option<i32>,
#[serde(rename = "Spell3Casts")]
#[serde(skip_serializing_if = "Option::is_none")]
pub spell3_casts: Option<i32>,
#[serde(rename = "Spell4Casts")]
#[serde(skip_serializing_if = "Option::is_none")]
pub spell4_casts: Option<i32>,
#[serde(rename = "SummonerSpell1Casts")]
#[serde(skip_serializing_if = "Option::is_none")]
pub summoner_spell1_casts: Option<i32>,
#[serde(rename = "TimeCCOthers")]
#[serde(skip_serializing_if = "Option::is_none")]
pub time_cc_others: Option<i32>,
#[serde(rename = "TotalMinionsKilled")]
#[serde(skip_serializing_if = "Option::is_none")]
pub total_minions_killed: Option<i32>,
#[serde(rename = "TrueDamageDealtToChampions")]
#[serde(skip_serializing_if = "Option::is_none")]
pub true_damage_dealt_to_champions: Option<i32>,
#[serde(rename = "UnrealKills")]
#[serde(skip_serializing_if = "Option::is_none")]
pub unreal_kills: Option<i32>,
#[serde(rename = "VisionScore")]
#[serde(skip_serializing_if = "Option::is_none")]
pub vision_score: Option<i32>,
#[serde(rename = "WardsKilled")]
#[serde(skip_serializing_if = "Option::is_none")]
pub wards_killed: Option<i32>,
#[serde(rename = "Deaths")]
#[serde(skip_serializing_if = "Option::is_none")]
pub deaths: Option<i32>,
#[serde(rename = "KillingSprees")]
#[serde(skip_serializing_if = "Option::is_none")]
pub killing_sprees: Option<i32>,
#[serde(rename = "MagicDamageTaken")]
#[serde(skip_serializing_if = "Option::is_none")]
pub magic_damage_taken: Option<i32>,
#[serde(rename = "PentaKills")]
#[serde(skip_serializing_if = "Option::is_none")]
pub penta_kills: Option<i32>,
#[serde(rename = "PhysicalDamageDealtToChampions")]
#[serde(skip_serializing_if = "Option::is_none")]
pub physical_damage_dealt_to_champions: Option<i32>,
#[serde(rename = "TotalDamageDealtToChampions")]
#[serde(skip_serializing_if = "Option::is_none")]
pub total_damage_dealt_to_champions: Option<i32>,
#[serde(rename = "TripleKills")]
#[serde(skip_serializing_if = "Option::is_none")]
pub triple_kills: Option<i32>,
#[serde(rename = "TrueDamageDealt")]
#[serde(skip_serializing_if = "Option::is_none")]
pub true_damage_dealt: Option<i32>,
#[serde(rename = "TrueDamageTaken")]
#[serde(skip_serializing_if = "Option::is_none")]
pub true_damage_taken: Option<i32>,
}
}
#[allow(dead_code)]
pub mod tft_status_v1 {
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct PlatformData {
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "locales")]
pub locales: std::vec::Vec<String>,
#[serde(rename = "maintenances")]
pub maintenances: std::vec::Vec<Status>,
#[serde(rename = "incidents")]
pub incidents: std::vec::Vec<Status>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Status {
#[serde(rename = "id")]
pub id: i32,
#[serde(rename = "maintenance_status")]
pub maintenance_status: String,
#[serde(rename = "incident_severity")]
pub incident_severity: String,
#[serde(rename = "titles")]
pub titles: std::vec::Vec<Content>,
#[serde(rename = "updates")]
pub updates: std::vec::Vec<Update>,
#[serde(rename = "created_at")]
pub created_at: String,
#[serde(rename = "archive_at")]
pub archive_at: String,
#[serde(rename = "updated_at")]
pub updated_at: String,
#[serde(rename = "platforms")]
pub platforms: std::vec::Vec<String>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Content {
#[serde(rename = "locale")]
pub locale: String,
#[serde(rename = "content")]
pub content: String,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Update {
#[serde(rename = "id")]
pub id: i32,
#[serde(rename = "author")]
pub author: String,
#[serde(rename = "publish")]
pub publish: bool,
#[serde(rename = "publish_locations")]
pub publish_locations: std::vec::Vec<String>,
#[serde(rename = "translations")]
pub translations: std::vec::Vec<Content>,
#[serde(rename = "created_at")]
pub created_at: String,
#[serde(rename = "updated_at")]
pub updated_at: String,
}
}
#[allow(dead_code)]
pub mod tft_summoner_v1 {
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Summoner {
#[serde(rename = "accountId")]
pub account_id: String,
#[serde(rename = "profileIconId")]
pub profile_icon_id: i32,
#[serde(rename = "revisionDate")]
pub revision_date: i64,
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "puuid")]
pub puuid: String,
#[serde(rename = "summonerLevel")]
pub summoner_level: i64,
}
}
#[allow(dead_code)]
pub mod tournament_stub_v5 {
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct TournamentCodeParametersV5 {
#[serde(rename = "allowedParticipants")]
#[serde(skip_serializing_if = "Option::is_none")]
pub allowed_participants: Option<std::vec::Vec<String>>,
#[serde(rename = "metadata")]
#[serde(skip_serializing_if = "Option::is_none")]
pub metadata: Option<String>,
#[serde(rename = "teamSize")]
pub team_size: i32,
#[serde(rename = "pickType")]
pub pick_type: String,
#[serde(rename = "mapType")]
pub map_type: String,
#[serde(rename = "spectatorType")]
pub spectator_type: String,
#[serde(rename = "enoughPlayers")]
pub enough_players: bool,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct TournamentCodeV5 {
#[serde(rename = "code")]
pub code: String,
#[serde(rename = "spectators")]
pub spectators: String,
#[serde(rename = "lobbyName")]
pub lobby_name: String,
#[serde(rename = "metaData")]
pub meta_data: String,
#[serde(rename = "password")]
pub password: String,
#[serde(rename = "teamSize")]
pub team_size: i32,
#[serde(rename = "providerId")]
pub provider_id: i32,
#[serde(rename = "pickType")]
pub pick_type: String,
#[serde(rename = "tournamentId")]
pub tournament_id: i32,
#[serde(rename = "id")]
pub id: i32,
#[serde(rename = "region")]
pub region: String,
#[serde(rename = "map")]
pub map: String,
#[serde(rename = "participants")]
pub participants: std::vec::Vec<String>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct LobbyEventV5Wrapper {
#[serde(rename = "eventList")]
pub event_list: std::vec::Vec<LobbyEventV5>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct LobbyEventV5 {
#[serde(rename = "timestamp")]
pub timestamp: String,
#[serde(rename = "eventType")]
pub event_type: String,
#[serde(rename = "puuid")]
pub puuid: String,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct ProviderRegistrationParametersV5 {
#[serde(rename = "region")]
pub region: String,
#[serde(rename = "url")]
pub url: String,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct TournamentRegistrationParametersV5 {
#[serde(rename = "providerId")]
pub provider_id: i32,
#[serde(rename = "name")]
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
}
#[allow(dead_code)]
pub mod tournament_v5 {
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct TournamentCodeParametersV5 {
#[serde(rename = "allowedParticipants")]
#[serde(skip_serializing_if = "Option::is_none")]
pub allowed_participants: Option<std::vec::Vec<String>>,
#[serde(rename = "metadata")]
#[serde(skip_serializing_if = "Option::is_none")]
pub metadata: Option<String>,
#[serde(rename = "teamSize")]
pub team_size: i32,
#[serde(rename = "pickType")]
pub pick_type: String,
#[serde(rename = "mapType")]
pub map_type: String,
#[serde(rename = "spectatorType")]
pub spectator_type: String,
#[serde(rename = "enoughPlayers")]
pub enough_players: bool,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct TournamentCodeV5 {
#[serde(rename = "code")]
pub code: String,
#[serde(rename = "spectators")]
pub spectators: String,
#[serde(rename = "lobbyName")]
pub lobby_name: String,
#[serde(rename = "metaData")]
pub meta_data: String,
#[serde(rename = "password")]
pub password: String,
#[serde(rename = "teamSize")]
pub team_size: i32,
#[serde(rename = "providerId")]
pub provider_id: i32,
#[serde(rename = "pickType")]
pub pick_type: String,
#[serde(rename = "tournamentId")]
pub tournament_id: i32,
#[serde(rename = "id")]
pub id: i32,
#[serde(rename = "region")]
pub region: String,
#[serde(rename = "map")]
pub map: String,
#[serde(rename = "participants")]
pub participants: std::vec::Vec<String>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct TournamentCodeUpdateParametersV5 {
#[serde(rename = "allowedParticipants")]
#[serde(skip_serializing_if = "Option::is_none")]
pub allowed_participants: Option<std::vec::Vec<String>>,
#[serde(rename = "pickType")]
pub pick_type: String,
#[serde(rename = "mapType")]
pub map_type: String,
#[serde(rename = "spectatorType")]
pub spectator_type: String,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct TournamentGamesV5 {
#[serde(rename = "winningTeam")]
pub winning_team: std::vec::Vec<TournamentTeamV5>,
#[serde(rename = "losingTeam")]
pub losing_team: std::vec::Vec<TournamentTeamV5>,
#[serde(rename = "shortCode")]
pub short_code: String,
#[serde(rename = "metaData")]
#[serde(skip_serializing_if = "Option::is_none")]
pub meta_data: Option<String>,
#[serde(rename = "gameId")]
pub game_id: i64,
#[serde(rename = "gameName")]
pub game_name: String,
#[serde(rename = "gameType")]
pub game_type: String,
#[serde(rename = "gameMap")]
pub game_map: i32,
#[serde(rename = "gameMode")]
pub game_mode: String,
#[serde(rename = "region")]
pub region: String,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct TournamentTeamV5 {
#[serde(rename = "puuid")]
pub puuid: String,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct LobbyEventV5Wrapper {
#[serde(rename = "eventList")]
pub event_list: std::vec::Vec<LobbyEventV5>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct LobbyEventV5 {
#[serde(rename = "timestamp")]
pub timestamp: String,
#[serde(rename = "eventType")]
pub event_type: String,
#[serde(rename = "puuid")]
pub puuid: String,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct ProviderRegistrationParametersV5 {
#[serde(rename = "region")]
pub region: String,
#[serde(rename = "url")]
pub url: String,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct TournamentRegistrationParametersV5 {
#[serde(rename = "providerId")]
pub provider_id: i32,
#[serde(rename = "name")]
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
}
#[allow(dead_code)]
pub mod val_content_v1 {
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Content {
#[serde(rename = "version")]
pub version: String,
#[serde(rename = "characters")]
pub characters: std::vec::Vec<ContentItem>,
#[serde(rename = "maps")]
pub maps: std::vec::Vec<ContentItem>,
#[serde(rename = "chromas")]
pub chromas: std::vec::Vec<ContentItem>,
#[serde(rename = "skins")]
pub skins: std::vec::Vec<ContentItem>,
#[serde(rename = "skinLevels")]
pub skin_levels: std::vec::Vec<ContentItem>,
#[serde(rename = "equips")]
pub equips: std::vec::Vec<ContentItem>,
#[serde(rename = "gameModes")]
pub game_modes: std::vec::Vec<ContentItem>,
#[serde(rename = "sprays")]
pub sprays: std::vec::Vec<ContentItem>,
#[serde(rename = "sprayLevels")]
pub spray_levels: std::vec::Vec<ContentItem>,
#[serde(rename = "charms")]
pub charms: std::vec::Vec<ContentItem>,
#[serde(rename = "charmLevels")]
pub charm_levels: std::vec::Vec<ContentItem>,
#[serde(rename = "playerCards")]
pub player_cards: std::vec::Vec<ContentItem>,
#[serde(rename = "playerTitles")]
pub player_titles: std::vec::Vec<ContentItem>,
#[serde(rename = "acts")]
pub acts: std::vec::Vec<Act>,
#[serde(rename = "ceremonies")]
#[serde(skip_serializing_if = "Option::is_none")]
pub ceremonies: Option<std::vec::Vec<ContentItem>>,
#[serde(rename = "totems")]
#[serde(skip_serializing_if = "Option::is_none")]
pub totems: Option<std::vec::Vec<String>>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct ContentItem {
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "localizedNames")]
#[serde(skip_serializing_if = "Option::is_none")]
pub localized_names: Option<LocalizedNames>,
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "assetName")]
pub asset_name: String,
#[serde(rename = "assetPath")]
#[serde(skip_serializing_if = "Option::is_none")]
pub asset_path: Option<String>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct LocalizedNames {
#[serde(rename = "ar-AE")]
pub ar_ae: String,
#[serde(rename = "de-DE")]
pub de_de: String,
#[serde(rename = "en-GB")]
#[serde(skip_serializing_if = "Option::is_none")]
pub en_gb: Option<String>,
#[serde(rename = "en-US")]
pub en_us: String,
#[serde(rename = "es-ES")]
pub es_es: String,
#[serde(rename = "es-MX")]
pub es_mx: String,
#[serde(rename = "fr-FR")]
pub fr_fr: String,
#[serde(rename = "id-ID")]
pub id_id: String,
#[serde(rename = "it-IT")]
pub it_it: String,
#[serde(rename = "ja-JP")]
pub ja_jp: String,
#[serde(rename = "ko-KR")]
pub ko_kr: String,
#[serde(rename = "pl-PL")]
pub pl_pl: String,
#[serde(rename = "pt-BR")]
pub pt_br: String,
#[serde(rename = "ru-RU")]
pub ru_ru: String,
#[serde(rename = "th-TH")]
pub th_th: String,
#[serde(rename = "tr-TR")]
pub tr_tr: String,
#[serde(rename = "vi-VN")]
pub vi_vn: String,
#[serde(rename = "zh-CN")]
pub zh_cn: String,
#[serde(rename = "zh-TW")]
pub zh_tw: String,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Act {
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "localizedNames")]
#[serde(skip_serializing_if = "Option::is_none")]
pub localized_names: Option<LocalizedNames>,
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "isActive")]
pub is_active: bool,
#[serde(rename = "parentId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub parent_id: Option<String>,
#[serde(rename = "type")]
#[serde(skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
}
}
#[allow(dead_code)]
pub mod val_match_v1 {
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Match {
#[serde(rename = "matchInfo")]
pub match_info: MatchInfo,
#[serde(rename = "players")]
pub players: std::vec::Vec<Player>,
#[serde(rename = "coaches")]
pub coaches: std::vec::Vec<Coach>,
#[serde(rename = "teams")]
pub teams: std::vec::Vec<Team>,
#[serde(rename = "roundResults")]
pub round_results: std::vec::Vec<RoundResult>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct MatchInfo {
#[serde(rename = "matchId")]
pub match_id: String,
#[serde(rename = "mapId")]
pub map_id: String,
#[serde(rename = "gameLengthMillis")]
pub game_length_millis: i32,
#[serde(rename = "gameStartMillis")]
pub game_start_millis: i64,
#[serde(rename = "provisioningFlowId")]
pub provisioning_flow_id: String,
#[serde(rename = "isCompleted")]
pub is_completed: bool,
#[serde(rename = "customGameName")]
pub custom_game_name: String,
#[serde(rename = "queueId")]
pub queue_id: String,
#[serde(rename = "gameMode")]
pub game_mode: String,
#[serde(rename = "isRanked")]
pub is_ranked: bool,
#[serde(rename = "seasonId")]
pub season_id: String,
#[serde(rename = "gameVersion")]
pub game_version: String,
#[serde(rename = "region")]
pub region: String,
#[serde(rename = "premierMatchInfo")]
pub premier_match_info: serde_json::Map<String, serde_json::Value>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Player {
#[serde(rename = "puuid")]
pub puuid: String,
#[serde(rename = "gameName")]
pub game_name: String,
#[serde(rename = "tagLine")]
pub tag_line: String,
#[serde(rename = "teamId")]
pub team_id: String,
#[serde(rename = "partyId")]
pub party_id: String,
#[serde(rename = "characterId")]
pub character_id: String,
#[serde(rename = "stats")]
pub stats: PlayerStats,
#[serde(rename = "competitiveTier")]
pub competitive_tier: i32,
#[serde(rename = "playerCard")]
pub player_card: String,
#[serde(rename = "playerTitle")]
pub player_title: String,
#[serde(rename = "isObserver")]
pub is_observer: bool,
#[serde(rename = "accountLevel")]
pub account_level: i32,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct PlayerStats {
#[serde(rename = "score")]
pub score: i32,
#[serde(rename = "roundsPlayed")]
pub rounds_played: i32,
#[serde(rename = "kills")]
pub kills: i32,
#[serde(rename = "deaths")]
pub deaths: i32,
#[serde(rename = "assists")]
pub assists: i32,
#[serde(rename = "playtimeMillis")]
pub playtime_millis: i32,
#[serde(rename = "abilityCasts")]
#[serde(skip_serializing_if = "Option::is_none")]
pub ability_casts: Option<AbilityCasts>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct AbilityCasts {
#[serde(rename = "grenadeCasts")]
pub grenade_casts: i32,
#[serde(rename = "ability1Casts")]
pub ability1_casts: i32,
#[serde(rename = "ability2Casts")]
pub ability2_casts: i32,
#[serde(rename = "ultimateCasts")]
pub ultimate_casts: i32,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Coach {
#[serde(rename = "puuid")]
pub puuid: String,
#[serde(rename = "teamId")]
pub team_id: String,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Team {
#[serde(rename = "teamId")]
pub team_id: String,
#[serde(rename = "won")]
pub won: bool,
#[serde(rename = "roundsPlayed")]
pub rounds_played: i32,
#[serde(rename = "roundsWon")]
pub rounds_won: i32,
#[serde(rename = "numPoints")]
pub num_points: i32,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct RoundResult {
#[serde(rename = "roundNum")]
pub round_num: i32,
#[serde(rename = "roundResult")]
pub round_result: String,
#[serde(rename = "roundCeremony")]
pub round_ceremony: String,
#[serde(rename = "winningTeam")]
pub winning_team: String,
#[serde(rename = "bombPlanter")]
#[serde(skip_serializing_if = "Option::is_none")]
pub bomb_planter: Option<String>,
#[serde(rename = "bombDefuser")]
#[serde(skip_serializing_if = "Option::is_none")]
pub bomb_defuser: Option<String>,
#[serde(rename = "plantRoundTime")]
pub plant_round_time: i32,
#[serde(rename = "plantPlayerLocations")]
#[serde(skip_serializing_if = "Option::is_none")]
pub plant_player_locations: Option<std::vec::Vec<PlayerLocations>>,
#[serde(rename = "plantLocation")]
pub plant_location: Location,
#[serde(rename = "plantSite")]
pub plant_site: String,
#[serde(rename = "defuseRoundTime")]
pub defuse_round_time: i32,
#[serde(rename = "defusePlayerLocations")]
#[serde(skip_serializing_if = "Option::is_none")]
pub defuse_player_locations: Option<std::vec::Vec<PlayerLocations>>,
#[serde(rename = "defuseLocation")]
pub defuse_location: Location,
#[serde(rename = "playerStats")]
pub player_stats: std::vec::Vec<PlayerRoundStats>,
#[serde(rename = "roundResultCode")]
pub round_result_code: String,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct PlayerLocations {
#[serde(rename = "puuid")]
pub puuid: String,
#[serde(rename = "viewRadians")]
pub view_radians: f32,
#[serde(rename = "location")]
pub location: Location,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Location {
#[serde(rename = "x")]
pub x: i32,
#[serde(rename = "y")]
pub y: i32,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct PlayerRoundStats {
#[serde(rename = "puuid")]
pub puuid: String,
#[serde(rename = "kills")]
pub kills: std::vec::Vec<Kill>,
#[serde(rename = "damage")]
pub damage: std::vec::Vec<Damage>,
#[serde(rename = "score")]
pub score: i32,
#[serde(rename = "economy")]
pub economy: Economy,
#[serde(rename = "ability")]
pub ability: Ability,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Kill {
#[serde(rename = "timeSinceGameStartMillis")]
pub time_since_game_start_millis: i32,
#[serde(rename = "timeSinceRoundStartMillis")]
pub time_since_round_start_millis: i32,
#[serde(rename = "killer")]
pub killer: String,
#[serde(rename = "victim")]
pub victim: String,
#[serde(rename = "victimLocation")]
pub victim_location: Location,
#[serde(rename = "assistants")]
pub assistants: std::vec::Vec<String>,
#[serde(rename = "playerLocations")]
pub player_locations: std::vec::Vec<PlayerLocations>,
#[serde(rename = "finishingDamage")]
pub finishing_damage: FinishingDamage,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct FinishingDamage {
#[serde(rename = "damageType")]
pub damage_type: String,
#[serde(rename = "damageItem")]
pub damage_item: String,
#[serde(rename = "isSecondaryFireMode")]
pub is_secondary_fire_mode: bool,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Damage {
#[serde(rename = "receiver")]
pub receiver: String,
#[serde(rename = "damage")]
pub damage: i32,
#[serde(rename = "legshots")]
pub legshots: i32,
#[serde(rename = "bodyshots")]
pub bodyshots: i32,
#[serde(rename = "headshots")]
pub headshots: i32,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Economy {
#[serde(rename = "loadoutValue")]
pub loadout_value: i32,
#[serde(rename = "weapon")]
pub weapon: String,
#[serde(rename = "armor")]
pub armor: String,
#[serde(rename = "remaining")]
pub remaining: i32,
#[serde(rename = "spent")]
pub spent: i32,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Ability {
#[serde(rename = "grenadeEffects")]
#[serde(skip_serializing_if = "Option::is_none")]
pub grenade_effects: Option<String>,
#[serde(rename = "ability1Effects")]
#[serde(skip_serializing_if = "Option::is_none")]
pub ability1_effects: Option<String>,
#[serde(rename = "ability2Effects")]
#[serde(skip_serializing_if = "Option::is_none")]
pub ability2_effects: Option<String>,
#[serde(rename = "ultimateEffects")]
#[serde(skip_serializing_if = "Option::is_none")]
pub ultimate_effects: Option<String>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Matchlist {
#[serde(rename = "puuid")]
pub puuid: String,
#[serde(rename = "history")]
pub history: std::vec::Vec<MatchlistEntry>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct MatchlistEntry {
#[serde(rename = "matchId")]
pub match_id: String,
#[serde(rename = "gameStartTimeMillis")]
pub game_start_time_millis: i64,
#[serde(rename = "queueId")]
pub queue_id: String,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct RecentMatches {
#[serde(rename = "currentTime")]
pub current_time: i64,
#[serde(rename = "matchIds")]
pub match_ids: std::vec::Vec<String>,
}
}
#[allow(dead_code)]
pub mod val_ranked_v1 {
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Leaderboard {
#[serde(rename = "shard")]
pub shard: String,
#[serde(rename = "actId")]
pub act_id: String,
#[serde(rename = "totalPlayers")]
pub total_players: i64,
#[serde(rename = "players")]
pub players: std::vec::Vec<Player>,
#[serde(rename = "immortalStartingPage")]
#[serde(skip_serializing_if = "Option::is_none")]
pub immortal_starting_page: Option<i64>,
#[serde(rename = "immortalStartingIndex")]
#[serde(skip_serializing_if = "Option::is_none")]
pub immortal_starting_index: Option<i64>,
#[serde(rename = "topTierRRThreshold")]
#[serde(skip_serializing_if = "Option::is_none")]
pub top_tier_rr_threshold: Option<i64>,
#[serde(rename = "tierDetails")]
#[serde(skip_serializing_if = "Option::is_none")]
pub tier_details: Option<std::collections::HashMap<i64, TierDetail>>,
#[serde(rename = "startIndex")]
#[serde(skip_serializing_if = "Option::is_none")]
pub start_index: Option<i64>,
#[serde(rename = "query")]
#[serde(skip_serializing_if = "Option::is_none")]
pub query: Option<String>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Player {
#[serde(rename = "puuid")]
#[serde(skip_serializing_if = "Option::is_none")]
pub puuid: Option<String>,
#[serde(rename = "gameName")]
#[serde(skip_serializing_if = "Option::is_none")]
pub game_name: Option<String>,
#[serde(rename = "tagLine")]
#[serde(skip_serializing_if = "Option::is_none")]
pub tag_line: Option<String>,
#[serde(rename = "leaderboardRank")]
pub leaderboard_rank: i64,
#[serde(rename = "rankedRating")]
pub ranked_rating: i64,
#[serde(rename = "numberOfWins")]
pub number_of_wins: i64,
#[serde(rename = "competitiveTier")]
#[serde(skip_serializing_if = "Option::is_none")]
pub competitive_tier: Option<i64>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct TierDetail {
#[serde(rename = "rankedRatingThreshold")]
pub ranked_rating_threshold: i64,
#[serde(rename = "startingPage")]
pub starting_page: i64,
#[serde(rename = "startingIndex")]
pub starting_index: i64,
}
}
#[allow(dead_code)]
pub mod val_status_v1 {
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct PlatformData {
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "locales")]
pub locales: std::vec::Vec<String>,
#[serde(rename = "maintenances")]
pub maintenances: std::vec::Vec<Status>,
#[serde(rename = "incidents")]
pub incidents: std::vec::Vec<Status>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Status {
#[serde(rename = "id")]
pub id: i32,
#[serde(rename = "maintenance_status")]
pub maintenance_status: String,
#[serde(rename = "incident_severity")]
pub incident_severity: String,
#[serde(rename = "titles")]
pub titles: std::vec::Vec<Content>,
#[serde(rename = "updates")]
pub updates: std::vec::Vec<Update>,
#[serde(rename = "created_at")]
pub created_at: String,
#[serde(rename = "archive_at")]
pub archive_at: String,
#[serde(rename = "updated_at")]
pub updated_at: String,
#[serde(rename = "platforms")]
pub platforms: std::vec::Vec<String>,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Content {
#[serde(rename = "locale")]
pub locale: String,
#[serde(rename = "content")]
pub content: String,
}
#[derive(Clone, Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
pub struct Update {
#[serde(rename = "id")]
pub id: i32,
#[serde(rename = "author")]
pub author: String,
#[serde(rename = "publish")]
pub publish: bool,
#[serde(rename = "publish_locations")]
pub publish_locations: std::vec::Vec<String>,
#[serde(rename = "translations")]
pub translations: std::vec::Vec<Content>,
#[serde(rename = "created_at")]
pub created_at: String,
#[serde(rename = "updated_at")]
pub updated_at: String,
}
}