From 9c13d126a60bed9bd3bfd70d83197e2c48a8cc8d Mon Sep 17 00:00:00 2001 From: Mingwei Samuel Date: Mon, 27 Sep 2021 18:59:07 -0700 Subject: [PATCH] Regen for match-v4 removal - Comment out match-v4 tests. --- riven/src/endpoints.rs | 141 +-- riven/src/meta.rs | 9 +- riven/src/models.rs | 744 +------------ riven/srcgen/.spec.json | 2214 +-------------------------------------- riven/tests/tests_na.rs | 154 +-- 5 files changed, 84 insertions(+), 3178 deletions(-) diff --git a/riven/src/endpoints.rs b/riven/src/endpoints.rs index b40bf84..695e2d8 100644 --- a/riven/src/endpoints.rs +++ b/riven/src/endpoints.rs @@ -7,7 +7,7 @@ /////////////////////////////////////////////// // http://www.mingweisamuel.com/riotapi-schema/tool/ -// Version 595cfab83bc31def1d3d161df5ca26f99033f539 +// Version 0715d17267a9bec35845651ad3fb702c5bcbdaa1 //! Automatically generated endpoint handles. @@ -142,15 +142,6 @@ impl RiotApi { pub fn lor_status_v1(&self) -> LorStatusV1 { LorStatusV1 { base: self } } - /// Returns a handle for accessing [MatchV4](crate::endpoints::MatchV4) endpoints. - /// # Riot Developer API Reference - /// `match-v4` - /// - /// Note: this method is automatically generated. - #[inline] - pub fn match_v4(&self) -> MatchV4 { - MatchV4 { base: self } - } /// Returns a handle for accessing [MatchV5](crate::endpoints::MatchV5) endpoints. /// # Riot Developer API Reference /// `match-v5` @@ -991,136 +982,6 @@ impl<'a> LorStatusV1<'a> { } -/// MatchV4 endpoints handle, accessed by calling [`match_v4()`](crate::RiotApi::match_v4) on a [`RiotApi`](crate::RiotApi) instance. -/// # Riot Developer API Reference -/// `match-v4` -/// -/// Note: this struct is automatically generated. -#[repr(transparent)] -pub struct MatchV4<'a> { - base: &'a RiotApi, -} -impl<'a> MatchV4<'a> { - /// Get match IDs by tournament code. - /// # Parameters - /// * `route` - Route to query. - /// * `tournament_code` (required, in path) - The tournament code. - /// # Riot Developer API Reference - /// `match-v4.getMatchIdsByTournamentCode` - /// - /// Note: this method is automatically generated. - pub fn get_match_ids_by_tournament_code(&self, route: PlatformRoute, tournament_code: &str) - -> impl Future>> + 'a - { - let route_str = route.into(); - let request = self.base.request(Method::GET, route_str, &format!("/lol/match/v4/matches/by-tournament-code/{}/ids", tournament_code)); - let future = self.base.execute_val::>("match-v4.getMatchIdsByTournamentCode", route_str, request); - #[cfg(feature = "tracing")] - let future = future.instrument(tracing::info_span!("match-v4.getMatchIdsByTournamentCode")); - future - } - - /// Get match by match ID. - /// # Parameters - /// * `route` - Route to query. - /// * `match_id` (required, in path) - The match ID. - /// # Riot Developer API Reference - /// `match-v4.getMatch` - /// - /// Note: this method is automatically generated. - pub fn get_match(&self, route: PlatformRoute, match_id: i64) - -> impl Future>> + 'a - { - let route_str = route.into(); - let request = self.base.request(Method::GET, route_str, &format!("/lol/match/v4/matches/{}", match_id)); - let future = self.base.execute_opt::("match-v4.getMatch", route_str, request); - #[cfg(feature = "tracing")] - let future = future.instrument(tracing::info_span!("match-v4.getMatch")); - future - } - - /// Get match by match ID and tournament code. - /// # Parameters - /// * `route` - Route to query. - /// * `tournament_code` (required, in path) - The tournament code. - /// * `match_id` (required, in path) - The match ID. - /// # Riot Developer API Reference - /// `match-v4.getMatchByTournamentCode` - /// - /// Note: this method is automatically generated. - pub fn get_match_by_tournament_code(&self, route: PlatformRoute, match_id: i64, tournament_code: &str) - -> impl Future> + 'a - { - let route_str = route.into(); - let request = self.base.request(Method::GET, route_str, &format!("/lol/match/v4/matches/{}/by-tournament-code/{}", match_id, tournament_code)); - let future = self.base.execute_val::("match-v4.getMatchByTournamentCode", route_str, request); - #[cfg(feature = "tracing")] - let future = future.instrument(tracing::info_span!("match-v4.getMatchByTournamentCode")); - future - } - - /// Get matchlist for games played on given account ID and platform ID and filtered using given filter parameters, if any. - /// ## Implementation Notes - /// A number of optional parameters are provided for filtering. It is up to the caller to ensure that the combination of filter parameters provided is valid for the requested account, otherwise, no matches may be returned. - /// - /// If beginIndex is specified, but not endIndex, then endIndex defaults to beginIndex+100. If endIndex is specified, but not beginIndex, then beginIndex defaults to 0. If both are specified, then endIndex must be greater than beginIndex. The maximum range allowed is 100, otherwise a 400 error code is returned. - /// - /// If beginTime is specified, but not endTime, then endTime defaults to the the current unix timestamp in milliseconds (the maximum time range limitation is not observed in this specific case). If endTime is specified, but not beginTime, then beginTime defaults to the start of the account's match history returning a 400 due to the maximum time range limitation. If both are specified, then endTime should be greater than beginTime. The maximum time range allowed is one week, otherwise a 400 error code is returned. - /// # Parameters - /// * `route` - Route to query. - /// * `encrypted_account_id` (required, in path) - The account ID. - /// * `champion` (optional, in query) - Set of champion IDs for filtering the matchlist. - /// * `queue` (optional, in query) - Set of queue IDs for filtering the matchlist. - /// * `season` (optional, in query) - [DEPRECATED] This field should not be considered reliable for the purposes of filtering matches by season. - /// * `end_time` (optional, in query) - The end time to use for filtering matchlist specified as epoch milliseconds. If beginTime is specified, but not endTime, then endTime defaults to the the current unix timestamp in milliseconds (the maximum time range limitation is not observed in this specific case). If endTime is specified, but not beginTime, then beginTime defaults to the start of the account's match history returning a 400 due to the maximum time range limitation. If both are specified, then endTime should be greater than beginTime. The maximum time range allowed is one week, otherwise a 400 error code is returned. - /// * `begin_time` (optional, in query) - The begin time to use for filtering matchlist specified as epoch milliseconds. If beginTime is specified, but not endTime, then endTime defaults to the the current unix timestamp in milliseconds (the maximum time range limitation is not observed in this specific case). If endTime is specified, but not beginTime, then beginTime defaults to the start of the account's match history returning a 400 due to the maximum time range limitation. If both are specified, then endTime should be greater than beginTime. The maximum time range allowed is one week, otherwise a 400 error code is returned. - /// * `end_index` (optional, in query) - The end index to use for filtering matchlist. If beginIndex is specified, but not endIndex, then endIndex defaults to beginIndex+100. If endIndex is specified, but not beginIndex, then beginIndex defaults to 0. If both are specified, then endIndex must be greater than beginIndex. The maximum range allowed is 100, otherwise a 400 error code is returned. - /// * `begin_index` (optional, in query) - The begin index to use for filtering matchlist. If beginIndex is specified, but not endIndex, then endIndex defaults to beginIndex+100. If endIndex is specified, but not beginIndex, then beginIndex defaults to 0. If both are specified, then endIndex must be greater than beginIndex. The maximum range allowed is 100, otherwise a 400 error code is returned. - /// # Riot Developer API Reference - /// `match-v4.getMatchlist` - /// - /// Note: this method is automatically generated. - pub fn get_matchlist(&self, route: PlatformRoute, encrypted_account_id: &str, begin_time: Option, begin_index: Option, champion: Option<&[crate::consts::Champion]>, end_time: Option, end_index: Option, queue: Option<&[crate::consts::Queue]>, season: Option<&[crate::consts::Season]>) - -> impl Future>> + 'a - { - let route_str = route.into(); - let request = self.base.request(Method::GET, route_str, &format!("/lol/match/v4/matchlists/by-account/{}", encrypted_account_id)); - let mut request = request; if let Some(begin_time) = begin_time { request = request.query(&[ ("beginTime", begin_time) ]); } - let mut request = request; if let Some(begin_index) = begin_index { request = request.query(&[ ("beginIndex", begin_index) ]); } - let mut request = request; if let Some(champion) = champion { request = request.query(&*champion.iter().map(|w| ( "champion", w )).collect::>()); } - let mut request = request; if let Some(end_time) = end_time { request = request.query(&[ ("endTime", end_time) ]); } - let mut request = request; if let Some(end_index) = end_index { request = request.query(&[ ("endIndex", end_index) ]); } - let mut request = request; if let Some(queue) = queue { request = request.query(&*queue.iter().map(|w| ( "queue", w )).collect::>()); } - let mut request = request; if let Some(season) = season { request = request.query(&*season.iter().map(|w| ( "season", w )).collect::>()); } - let future = self.base.execute_opt::("match-v4.getMatchlist", route_str, request); - #[cfg(feature = "tracing")] - let future = future.instrument(tracing::info_span!("match-v4.getMatchlist")); - future - } - - /// Get match timeline by match ID. - /// ## Implementation Notes - /// Not all matches have timeline data. - /// # Parameters - /// * `route` - Route to query. - /// * `match_id` (required, in path) - The match ID. - /// # Riot Developer API Reference - /// `match-v4.getMatchTimeline` - /// - /// Note: this method is automatically generated. - pub fn get_match_timeline(&self, route: PlatformRoute, match_id: i64) - -> impl Future>> + 'a - { - let route_str = route.into(); - let request = self.base.request(Method::GET, route_str, &format!("/lol/match/v4/timelines/by-match/{}", match_id)); - let future = self.base.execute_opt::("match-v4.getMatchTimeline", route_str, request); - #[cfg(feature = "tracing")] - let future = future.instrument(tracing::info_span!("match-v4.getMatchTimeline")); - future - } - -} - /// MatchV5 endpoints handle, accessed by calling [`match_v5()`](crate::RiotApi::match_v5) on a [`RiotApi`](crate::RiotApi) instance. /// # Riot Developer API Reference /// `match-v5` diff --git a/riven/src/meta.rs b/riven/src/meta.rs index cf03839..bad9ce6 100644 --- a/riven/src/meta.rs +++ b/riven/src/meta.rs @@ -7,13 +7,13 @@ /////////////////////////////////////////////// // http://www.mingweisamuel.com/riotapi-schema/tool/ -// Version 595cfab83bc31def1d3d161df5ca26f99033f539 +// Version 0715d17267a9bec35845651ad3fb702c5bcbdaa1 //! Metadata about the Riot API and Riven. //! //! Note: this modules is automatically generated. -pub static ALL_ENDPOINTS: [(reqwest::Method, &'static str, &'static str); 75] = [ +pub static ALL_ENDPOINTS: [(reqwest::Method, &'static str, &'static str); 70] = [ (reqwest::Method::GET, "/riot/account/v1/accounts/by-puuid/{puuid}", "account-v1.getByPuuid"), (reqwest::Method::GET, "/riot/account/v1/accounts/by-riot-id/{gameName}/{tagLine}", "account-v1.getByRiotId"), (reqwest::Method::GET, "/riot/account/v1/accounts/me", "account-v1.getByAccessToken"), @@ -43,11 +43,6 @@ pub static ALL_ENDPOINTS: [(reqwest::Method, &'static str, &'static str); 75] = (reqwest::Method::GET, "/lor/match/v1/matches/{matchId}", "lor-match-v1.getMatch"), (reqwest::Method::GET, "/lor/ranked/v1/leaderboards", "lor-ranked-v1.getLeaderboards"), (reqwest::Method::GET, "/lor/status/v1/platform-data", "lor-status-v1.getPlatformData"), - (reqwest::Method::GET, "/lol/match/v4/matches/by-tournament-code/{tournamentCode}/ids", "match-v4.getMatchIdsByTournamentCode"), - (reqwest::Method::GET, "/lol/match/v4/matches/{matchId}", "match-v4.getMatch"), - (reqwest::Method::GET, "/lol/match/v4/matches/{matchId}/by-tournament-code/{tournamentCode}", "match-v4.getMatchByTournamentCode"), - (reqwest::Method::GET, "/lol/match/v4/matchlists/by-account/{encryptedAccountId}", "match-v4.getMatchlist"), - (reqwest::Method::GET, "/lol/match/v4/timelines/by-match/{matchId}", "match-v4.getMatchTimeline"), (reqwest::Method::GET, "/lol/match/v5/matches/by-puuid/{puuid}/ids", "match-v5.getMatchIdsByPUUID"), (reqwest::Method::GET, "/lol/match/v5/matches/{matchId}", "match-v5.getMatch"), (reqwest::Method::GET, "/lol/match/v5/matches/{matchId}/timeline", "match-v5.getTimeline"), diff --git a/riven/src/models.rs b/riven/src/models.rs index ee5fa56..9ae616b 100644 --- a/riven/src/models.rs +++ b/riven/src/models.rs @@ -7,7 +7,7 @@ /////////////////////////////////////////////// // http://www.mingweisamuel.com/riotapi-schema/tool/ -// Version 595cfab83bc31def1d3d161df5ca26f99033f539 +// Version 0715d17267a9bec35845651ad3fb702c5bcbdaa1 //! Data transfer structs. //! @@ -724,748 +724,6 @@ pub mod lor_status_v1 { } } -/// Data structs used by [`MatchV4`](crate::endpoints::MatchV4). -/// -/// Note: this module is automatically generated. -#[allow(dead_code)] -pub mod match_v4 { - /// Match data object. - #[derive(Debug)] - #[derive(serde::Serialize, serde::Deserialize)] - pub struct Match { - #[serde(rename = "gameId")] - pub game_id: i64, - /// Participant identity information. Participant identity information is purposefully excluded for custom games. - #[serde(rename = "participantIdentities")] - pub participant_identities: std::vec::Vec, - /// Refer to the Game Constants documentation. - #[serde(rename = "queueId")] - pub queue_id: crate::consts::Queue, - /// Refer to the Game Constants documentation. - #[serde(rename = "gameType")] - pub game_type: crate::consts::GameType, - /// Match duration in seconds. - #[serde(rename = "gameDuration")] - pub game_duration: i64, - /// Team information. - #[serde(rename = "teams")] - pub teams: std::vec::Vec, - /// Platform where the match was played. - #[serde(rename = "platformId")] - pub platform_id: String, - /// Designates the timestamp when champion select ended and the loading screen appeared, NOT when the game timer was at 0:00. - #[serde(rename = "gameCreation")] - pub game_creation: i64, - /// Refer to the Game Constants documentation. - #[serde(rename = "seasonId")] - pub season_id: crate::consts::Season, - /// The major.minor version typically indicates the patch the match was played on. - #[serde(rename = "gameVersion")] - pub game_version: String, - /// Refer to the Game Constants documentation. - #[serde(rename = "mapId")] - pub map_id: crate::consts::Map, - /// Refer to the Game Constants documentation. - #[serde(rename = "gameMode")] - pub game_mode: crate::consts::GameMode, - /// Participant information. - #[serde(rename = "participants")] - pub participants: std::vec::Vec, - } - /// ParticipantIdentity data object. - #[derive(Debug)] - #[derive(serde::Serialize, serde::Deserialize)] - pub struct ParticipantIdentity { - #[serde(rename = "participantId")] - pub participant_id: i32, - /// Player information not included in the response for custom matches. Custom matches are considered private unless a tournament code was used to create the match. - #[serde(rename = "player")] - pub player: Player, - } - /// Player data object. - #[derive(Debug)] - #[derive(serde::Serialize, serde::Deserialize)] - pub struct Player { - #[serde(rename = "profileIcon")] - pub profile_icon: i32, - /// Player's original accountId. - #[serde(rename = "accountId")] - pub account_id: String, - #[serde(rename = "matchHistoryUri")] - pub match_history_uri: String, - /// Player's current accountId when the match was played. - #[serde(rename = "currentAccountId")] - pub current_account_id: String, - /// Player's current platformId when the match was played. - #[serde(rename = "currentPlatformId")] - pub current_platform_id: String, - #[serde(rename = "summonerName")] - pub summoner_name: String, - /// Player's summonerId (Encrypted) - #[serde(rename = "summonerId")] - #[serde(skip_serializing_if = "Option::is_none")] - pub summoner_id: Option, - /// Player's original platformId. - #[serde(rename = "platformId")] - pub platform_id: String, - } - /// TeamStats data object. - #[derive(Debug)] - #[derive(serde::Serialize, serde::Deserialize)] - pub struct TeamStats { - /// Number of towers the team destroyed. - #[serde(rename = "towerKills")] - pub tower_kills: i32, - /// Number of times the team killed Rift Herald. - #[serde(rename = "riftHeraldKills")] - pub rift_herald_kills: i32, - /// Flag indicating whether or not the team scored the first blood. - #[serde(rename = "firstBlood")] - pub first_blood: bool, - /// Number of inhibitors the team destroyed. - #[serde(rename = "inhibitorKills")] - pub inhibitor_kills: i32, - /// If match queueId has a draft, contains banned champion data, otherwise empty. - #[serde(rename = "bans")] - pub bans: std::vec::Vec, - /// Flag indicating whether or not the team scored the first Baron kill. - #[serde(rename = "firstBaron")] - pub first_baron: bool, - /// Flag indicating whether or not the team scored the first Dragon kill. - #[serde(rename = "firstDragon")] - pub first_dragon: bool, - /// For Dominion matches, specifies the points the team had at game end. - #[serde(rename = "dominionVictoryScore")] - pub dominion_victory_score: i32, - /// Number of times the team killed Dragon. - #[serde(rename = "dragonKills")] - pub dragon_kills: i32, - /// Number of times the team killed Baron. - #[serde(rename = "baronKills")] - pub baron_kills: i32, - /// Flag indicating whether or not the team destroyed the first inhibitor. - #[serde(rename = "firstInhibitor")] - pub first_inhibitor: bool, - /// Flag indicating whether or not the team destroyed the first tower. - #[serde(rename = "firstTower")] - pub first_tower: bool, - /// Number of times the team killed Vilemaw. - #[serde(rename = "vilemawKills")] - pub vilemaw_kills: i32, - /// Flag indicating whether or not the team scored the first Rift Herald kill. - #[serde(rename = "firstRiftHerald")] - pub first_rift_herald: bool, - /// 100 for blue side. 200 for red side. - #[serde(rename = "teamId")] - pub team_id: crate::consts::Team, - /// String indicating whether or not the team won. There are only two values visibile in public match history.
- /// (Legal values: Fail, Win) - #[serde(rename = "win")] - #[serde(skip_serializing_if = "Option::is_none")] - pub win: Option, - } - /// TeamBans data object. - #[derive(Debug)] - #[derive(serde::Serialize, serde::Deserialize)] - pub struct TeamBans { - /// Banned championId. - #[serde(rename = "championId")] - pub champion_id: crate::consts::Champion, - /// Turn during which the champion was banned. - #[serde(rename = "pickTurn")] - pub pick_turn: i32, - } - /// Participant data object. - #[derive(Debug)] - #[derive(serde::Serialize, serde::Deserialize)] - pub struct Participant { - #[serde(rename = "participantId")] - pub participant_id: i32, - #[serde(rename = "championId")] - pub champion_id: crate::consts::Champion, - /// List of legacy Rune information. Not included for matches played with Runes Reforged. - #[serde(rename = "runes")] - #[serde(skip_serializing_if = "Option::is_none")] - pub runes: Option>, - /// Participant statistics. - #[serde(rename = "stats")] - pub stats: ParticipantStats, - /// 100 for blue side. 200 for red side. - #[serde(rename = "teamId")] - pub team_id: crate::consts::Team, - /// Participant timeline data. - #[serde(rename = "timeline")] - #[serde(skip_serializing_if = "Option::is_none")] - pub timeline: Option, - /// First Summoner Spell id. - #[serde(rename = "spell1Id")] - pub spell1_id: i32, - /// Second Summoner Spell id. - #[serde(rename = "spell2Id")] - pub spell2_id: i32, - /// Highest ranked tier achieved for the previous season in a specific subset of queueIds, if any, otherwise null. Used to display border in game loading screen. Please refer to the Ranked Info documentation.
- /// (Legal values: CHALLENGER, MASTER, DIAMOND, PLATINUM, GOLD, SILVER, BRONZE, UNRANKED) - #[serde(rename = "highestAchievedSeasonTier")] - #[serde(skip_serializing_if = "Option::is_none")] - pub highest_achieved_season_tier: Option, - /// List of legacy Mastery information. Not included for matches played with Runes Reforged. - #[serde(rename = "masteries")] - #[serde(skip_serializing_if = "Option::is_none")] - pub masteries: Option>, - } - /// Rune data object. - #[derive(Debug)] - #[derive(serde::Serialize, serde::Deserialize)] - pub struct Rune { - #[serde(rename = "runeId")] - pub rune_id: i32, - #[serde(rename = "rank")] - pub rank: i32, - } - /// ParticipantStats data object. - #[derive(Debug)] - #[derive(serde::Serialize, serde::Deserialize)] - pub struct ParticipantStats { - #[serde(rename = "item0")] - pub item0: i32, - #[serde(rename = "item2")] - pub item2: i32, - #[serde(rename = "totalUnitsHealed")] - pub total_units_healed: i32, - #[serde(rename = "item1")] - pub item1: i32, - #[serde(rename = "largestMultiKill")] - pub largest_multi_kill: i32, - #[serde(rename = "goldEarned")] - pub gold_earned: i32, - #[serde(rename = "firstInhibitorKill")] - #[serde(skip_serializing_if = "Option::is_none")] - pub first_inhibitor_kill: Option, - #[serde(rename = "physicalDamageTaken")] - pub physical_damage_taken: i64, - #[serde(rename = "nodeNeutralizeAssist")] - #[serde(skip_serializing_if = "Option::is_none")] - pub node_neutralize_assist: Option, - #[serde(rename = "totalPlayerScore")] - #[serde(skip_serializing_if = "Option::is_none")] - pub total_player_score: Option, - #[serde(rename = "champLevel")] - pub champ_level: i32, - #[serde(rename = "damageDealtToObjectives")] - pub damage_dealt_to_objectives: i64, - #[serde(rename = "totalDamageTaken")] - pub total_damage_taken: i64, - #[serde(rename = "neutralMinionsKilled")] - pub neutral_minions_killed: i32, - #[serde(rename = "deaths")] - pub deaths: i32, - #[serde(rename = "tripleKills")] - pub triple_kills: i32, - #[serde(rename = "magicDamageDealtToChampions")] - pub magic_damage_dealt_to_champions: i64, - #[serde(rename = "wardsKilled")] - #[serde(skip_serializing_if = "Option::is_none")] - pub wards_killed: Option, - #[serde(rename = "pentaKills")] - pub penta_kills: i32, - #[serde(rename = "damageSelfMitigated")] - pub damage_self_mitigated: i64, - #[serde(rename = "largestCriticalStrike")] - pub largest_critical_strike: i32, - #[serde(rename = "nodeNeutralize")] - #[serde(skip_serializing_if = "Option::is_none")] - pub node_neutralize: Option, - #[serde(rename = "totalTimeCrowdControlDealt")] - pub total_time_crowd_control_dealt: i32, - #[serde(rename = "firstTowerKill")] - #[serde(skip_serializing_if = "Option::is_none")] - pub first_tower_kill: Option, - #[serde(rename = "magicDamageDealt")] - pub magic_damage_dealt: i64, - #[serde(rename = "totalScoreRank")] - #[serde(skip_serializing_if = "Option::is_none")] - pub total_score_rank: Option, - #[serde(rename = "nodeCapture")] - #[serde(skip_serializing_if = "Option::is_none")] - pub node_capture: Option, - #[serde(rename = "wardsPlaced")] - #[serde(skip_serializing_if = "Option::is_none")] - pub wards_placed: Option, - #[serde(rename = "totalDamageDealt")] - pub total_damage_dealt: i64, - #[serde(rename = "timeCCingOthers")] - pub time_c_cing_others: i64, - #[serde(rename = "magicalDamageTaken")] - pub magical_damage_taken: i64, - #[serde(rename = "largestKillingSpree")] - pub largest_killing_spree: i32, - #[serde(rename = "totalDamageDealtToChampions")] - pub total_damage_dealt_to_champions: i64, - #[serde(rename = "physicalDamageDealtToChampions")] - pub physical_damage_dealt_to_champions: i64, - #[serde(rename = "neutralMinionsKilledTeamJungle")] - #[serde(skip_serializing_if = "Option::is_none")] - pub neutral_minions_killed_team_jungle: Option, - #[serde(rename = "totalMinionsKilled")] - pub total_minions_killed: i32, - #[serde(rename = "firstInhibitorAssist")] - #[serde(skip_serializing_if = "Option::is_none")] - pub first_inhibitor_assist: Option, - #[serde(rename = "visionWardsBoughtInGame")] - pub vision_wards_bought_in_game: i32, - #[serde(rename = "objectivePlayerScore")] - #[serde(skip_serializing_if = "Option::is_none")] - pub objective_player_score: Option, - #[serde(rename = "kills")] - pub kills: i32, - #[serde(rename = "firstTowerAssist")] - #[serde(skip_serializing_if = "Option::is_none")] - pub first_tower_assist: Option, - #[serde(rename = "combatPlayerScore")] - #[serde(skip_serializing_if = "Option::is_none")] - pub combat_player_score: Option, - #[serde(rename = "inhibitorKills")] - #[serde(skip_serializing_if = "Option::is_none")] - pub inhibitor_kills: Option, - #[serde(rename = "turretKills")] - #[serde(skip_serializing_if = "Option::is_none")] - pub turret_kills: Option, - #[serde(rename = "participantId")] - pub participant_id: i32, - #[serde(rename = "trueDamageTaken")] - pub true_damage_taken: i64, - #[serde(rename = "firstBloodAssist")] - #[serde(skip_serializing_if = "Option::is_none")] - pub first_blood_assist: Option, - #[serde(rename = "nodeCaptureAssist")] - #[serde(skip_serializing_if = "Option::is_none")] - pub node_capture_assist: Option, - #[serde(rename = "assists")] - pub assists: i32, - #[serde(rename = "teamObjective")] - #[serde(skip_serializing_if = "Option::is_none")] - pub team_objective: Option, - #[serde(rename = "altarsNeutralized")] - #[serde(skip_serializing_if = "Option::is_none")] - pub altars_neutralized: Option, - #[serde(rename = "goldSpent")] - pub gold_spent: i32, - #[serde(rename = "damageDealtToTurrets")] - pub damage_dealt_to_turrets: i64, - #[serde(rename = "altarsCaptured")] - #[serde(skip_serializing_if = "Option::is_none")] - pub altars_captured: Option, - #[serde(rename = "win")] - pub win: bool, - #[serde(rename = "totalHeal")] - pub total_heal: i64, - #[serde(rename = "unrealKills")] - pub unreal_kills: i32, - #[serde(rename = "visionScore")] - #[serde(skip_serializing_if = "Option::is_none")] - pub vision_score: Option, - #[serde(rename = "physicalDamageDealt")] - pub physical_damage_dealt: i64, - #[serde(rename = "firstBloodKill")] - #[serde(skip_serializing_if = "Option::is_none")] - pub first_blood_kill: Option, - #[serde(rename = "longestTimeSpentLiving")] - pub longest_time_spent_living: i32, - #[serde(rename = "killingSprees")] - pub killing_sprees: i32, - #[serde(rename = "sightWardsBoughtInGame")] - #[serde(skip_serializing_if = "Option::is_none")] - pub sight_wards_bought_in_game: Option, - #[serde(rename = "trueDamageDealtToChampions")] - pub true_damage_dealt_to_champions: i64, - #[serde(rename = "neutralMinionsKilledEnemyJungle")] - #[serde(skip_serializing_if = "Option::is_none")] - pub neutral_minions_killed_enemy_jungle: Option, - #[serde(rename = "doubleKills")] - pub double_kills: i32, - #[serde(rename = "trueDamageDealt")] - pub true_damage_dealt: i64, - #[serde(rename = "quadraKills")] - pub quadra_kills: i32, - #[serde(rename = "item4")] - pub item4: i32, - #[serde(rename = "item3")] - pub item3: i32, - #[serde(rename = "item6")] - pub item6: i32, - #[serde(rename = "item5")] - pub item5: i32, - #[serde(rename = "playerScore0")] - #[serde(skip_serializing_if = "Option::is_none")] - pub player_score0: Option, - #[serde(rename = "playerScore1")] - #[serde(skip_serializing_if = "Option::is_none")] - pub player_score1: Option, - #[serde(rename = "playerScore2")] - #[serde(skip_serializing_if = "Option::is_none")] - pub player_score2: Option, - #[serde(rename = "playerScore3")] - #[serde(skip_serializing_if = "Option::is_none")] - pub player_score3: Option, - #[serde(rename = "playerScore4")] - #[serde(skip_serializing_if = "Option::is_none")] - pub player_score4: Option, - #[serde(rename = "playerScore5")] - #[serde(skip_serializing_if = "Option::is_none")] - pub player_score5: Option, - #[serde(rename = "playerScore6")] - #[serde(skip_serializing_if = "Option::is_none")] - pub player_score6: Option, - #[serde(rename = "playerScore7")] - #[serde(skip_serializing_if = "Option::is_none")] - pub player_score7: Option, - #[serde(rename = "playerScore8")] - #[serde(skip_serializing_if = "Option::is_none")] - pub player_score8: Option, - #[serde(rename = "playerScore9")] - #[serde(skip_serializing_if = "Option::is_none")] - pub player_score9: Option, - /// Primary path keystone rune. - #[serde(rename = "perk0")] - #[serde(skip_serializing_if = "Option::is_none")] - pub perk0: Option, - /// Post game rune stats. - #[serde(rename = "perk0Var1")] - #[serde(skip_serializing_if = "Option::is_none")] - pub perk0_var1: Option, - /// Post game rune stats. - #[serde(rename = "perk0Var2")] - #[serde(skip_serializing_if = "Option::is_none")] - pub perk0_var2: Option, - /// Post game rune stats. - #[serde(rename = "perk0Var3")] - #[serde(skip_serializing_if = "Option::is_none")] - pub perk0_var3: Option, - /// Primary path rune. - #[serde(rename = "perk1")] - #[serde(skip_serializing_if = "Option::is_none")] - pub perk1: Option, - /// Post game rune stats. - #[serde(rename = "perk1Var1")] - #[serde(skip_serializing_if = "Option::is_none")] - pub perk1_var1: Option, - /// Post game rune stats. - #[serde(rename = "perk1Var2")] - #[serde(skip_serializing_if = "Option::is_none")] - pub perk1_var2: Option, - /// Post game rune stats. - #[serde(rename = "perk1Var3")] - #[serde(skip_serializing_if = "Option::is_none")] - pub perk1_var3: Option, - /// Primary path rune. - #[serde(rename = "perk2")] - #[serde(skip_serializing_if = "Option::is_none")] - pub perk2: Option, - /// Post game rune stats. - #[serde(rename = "perk2Var1")] - #[serde(skip_serializing_if = "Option::is_none")] - pub perk2_var1: Option, - /// Post game rune stats. - #[serde(rename = "perk2Var2")] - #[serde(skip_serializing_if = "Option::is_none")] - pub perk2_var2: Option, - /// Post game rune stats. - #[serde(rename = "perk2Var3")] - #[serde(skip_serializing_if = "Option::is_none")] - pub perk2_var3: Option, - /// Primary path rune. - #[serde(rename = "perk3")] - #[serde(skip_serializing_if = "Option::is_none")] - pub perk3: Option, - /// Post game rune stats. - #[serde(rename = "perk3Var1")] - #[serde(skip_serializing_if = "Option::is_none")] - pub perk3_var1: Option, - /// Post game rune stats. - #[serde(rename = "perk3Var2")] - #[serde(skip_serializing_if = "Option::is_none")] - pub perk3_var2: Option, - /// Post game rune stats. - #[serde(rename = "perk3Var3")] - #[serde(skip_serializing_if = "Option::is_none")] - pub perk3_var3: Option, - /// Secondary path rune. - #[serde(rename = "perk4")] - #[serde(skip_serializing_if = "Option::is_none")] - pub perk4: Option, - /// Post game rune stats. - #[serde(rename = "perk4Var1")] - #[serde(skip_serializing_if = "Option::is_none")] - pub perk4_var1: Option, - /// Post game rune stats. - #[serde(rename = "perk4Var2")] - #[serde(skip_serializing_if = "Option::is_none")] - pub perk4_var2: Option, - /// Post game rune stats. - #[serde(rename = "perk4Var3")] - #[serde(skip_serializing_if = "Option::is_none")] - pub perk4_var3: Option, - /// Secondary path rune. - #[serde(rename = "perk5")] - #[serde(skip_serializing_if = "Option::is_none")] - pub perk5: Option, - /// Post game rune stats. - #[serde(rename = "perk5Var1")] - #[serde(skip_serializing_if = "Option::is_none")] - pub perk5_var1: Option, - /// Post game rune stats. - #[serde(rename = "perk5Var2")] - #[serde(skip_serializing_if = "Option::is_none")] - pub perk5_var2: Option, - /// Post game rune stats. - #[serde(rename = "perk5Var3")] - #[serde(skip_serializing_if = "Option::is_none")] - pub perk5_var3: Option, - /// Primary rune path - #[serde(rename = "perkPrimaryStyle")] - #[serde(skip_serializing_if = "Option::is_none")] - pub perk_primary_style: Option, - /// Secondary rune path - #[serde(rename = "perkSubStyle")] - #[serde(skip_serializing_if = "Option::is_none")] - pub perk_sub_style: Option, - /// Stat rune - #[serde(rename = "statPerk0")] - #[serde(skip_serializing_if = "Option::is_none")] - pub stat_perk0: Option, - /// Stat rune - #[serde(rename = "statPerk1")] - #[serde(skip_serializing_if = "Option::is_none")] - pub stat_perk1: Option, - /// Stat rune - #[serde(rename = "statPerk2")] - #[serde(skip_serializing_if = "Option::is_none")] - pub stat_perk2: Option, - } - /// ParticipantTimeline data object. - #[derive(Debug)] - #[derive(serde::Serialize, serde::Deserialize)] - pub struct ParticipantTimeline { - #[serde(rename = "participantId")] - #[serde(skip_serializing_if = "Option::is_none")] - pub participant_id: Option, - /// Creep score difference versus the calculated lane opponent(s) for a specified period. - #[serde(rename = "csDiffPerMinDeltas")] - #[serde(skip_serializing_if = "Option::is_none")] - pub cs_diff_per_min_deltas: Option>, - /// Damage taken for a specified period. - #[serde(rename = "damageTakenPerMinDeltas")] - #[serde(skip_serializing_if = "Option::is_none")] - pub damage_taken_per_min_deltas: Option>, - /// Participant's calculated role.
- /// (Legal values: DUO, NONE, SOLO, DUO_CARRY, DUO_SUPPORT) - #[serde(rename = "role")] - #[serde(skip_serializing_if = "Option::is_none")] - pub role: Option, - /// Damage taken difference versus the calculated lane opponent(s) for a specified period. - #[serde(rename = "damageTakenDiffPerMinDeltas")] - #[serde(skip_serializing_if = "Option::is_none")] - pub damage_taken_diff_per_min_deltas: Option>, - /// Experience change for a specified period. - #[serde(rename = "xpPerMinDeltas")] - #[serde(skip_serializing_if = "Option::is_none")] - pub xp_per_min_deltas: Option>, - /// Experience difference versus the calculated lane opponent(s) for a specified period. - #[serde(rename = "xpDiffPerMinDeltas")] - #[serde(skip_serializing_if = "Option::is_none")] - pub xp_diff_per_min_deltas: Option>, - /// Participant's calculated lane. MID and BOT are legacy values.
- /// (Legal values: MID, MIDDLE, TOP, JUNGLE, BOT, BOTTOM) - #[serde(rename = "lane")] - #[serde(skip_serializing_if = "Option::is_none")] - pub lane: Option, - /// Creeps for a specified period. - #[serde(rename = "creepsPerMinDeltas")] - #[serde(skip_serializing_if = "Option::is_none")] - pub creeps_per_min_deltas: Option>, - /// Gold for a specified period. - #[serde(rename = "goldPerMinDeltas")] - #[serde(skip_serializing_if = "Option::is_none")] - pub gold_per_min_deltas: Option>, - } - /// Mastery data object. - #[derive(Debug)] - #[derive(serde::Serialize, serde::Deserialize)] - pub struct Mastery { - #[serde(rename = "rank")] - pub rank: i32, - #[serde(rename = "masteryId")] - pub mastery_id: i32, - } - /// Matchlist data object. - #[derive(Debug)] - #[derive(serde::Serialize, serde::Deserialize)] - pub struct Matchlist { - #[serde(rename = "startIndex")] - pub start_index: i32, - /// There is a known issue that this field doesn't correctly return the total number of games that match the parameters of the request. Please paginate using beginIndex until you reach the end of a player's matchlist. - #[serde(rename = "totalGames")] - pub total_games: i32, - #[serde(rename = "endIndex")] - pub end_index: i32, - #[serde(rename = "matches")] - pub matches: std::vec::Vec, - } - /// MatchReference data object. - #[derive(Debug)] - #[derive(serde::Serialize, serde::Deserialize)] - pub struct MatchReference { - #[serde(rename = "gameId")] - pub game_id: i64, - #[serde(rename = "role")] - #[serde(skip_serializing_if = "Option::is_none")] - pub role: Option, - #[serde(rename = "season")] - pub season: i32, - #[serde(rename = "platformId")] - pub platform_id: String, - #[serde(rename = "champion")] - pub champion: crate::consts::Champion, - #[serde(rename = "queue")] - pub queue: crate::consts::Queue, - #[serde(rename = "lane")] - #[serde(skip_serializing_if = "Option::is_none")] - pub lane: Option, - #[serde(rename = "timestamp")] - pub timestamp: i64, - } - /// MatchTimeline data object. - #[derive(Debug)] - #[derive(serde::Serialize, serde::Deserialize)] - pub struct MatchTimeline { - #[serde(rename = "frames")] - pub frames: std::vec::Vec, - #[serde(rename = "frameInterval")] - pub frame_interval: i64, - } - /// MatchFrame data object. - #[derive(Debug)] - #[derive(serde::Serialize, serde::Deserialize)] - pub struct MatchFrame { - #[serde(rename = "participantFrames")] - pub participant_frames: std::collections::HashMap, - #[serde(rename = "events")] - pub events: std::vec::Vec, - #[serde(rename = "timestamp")] - pub timestamp: i64, - } - /// MatchParticipantFrame data object. - #[derive(Debug)] - #[derive(serde::Serialize, serde::Deserialize)] - pub struct MatchParticipantFrame { - #[serde(rename = "participantId")] - pub participant_id: i32, - #[serde(rename = "minionsKilled")] - pub minions_killed: i32, - #[serde(rename = "teamScore")] - #[serde(skip_serializing_if = "Option::is_none")] - pub team_score: Option, - #[serde(rename = "dominionScore")] - #[serde(skip_serializing_if = "Option::is_none")] - pub dominion_score: Option, - #[serde(rename = "totalGold")] - pub total_gold: i32, - #[serde(rename = "level")] - pub level: i32, - #[serde(rename = "xp")] - pub xp: i32, - #[serde(rename = "currentGold")] - pub current_gold: i32, - #[serde(rename = "position")] - #[serde(skip_serializing_if = "Option::is_none")] - pub position: Option, - #[serde(rename = "jungleMinionsKilled")] - pub jungle_minions_killed: i32, - } - /// MatchPosition data object. - #[derive(Debug)] - #[derive(serde::Serialize, serde::Deserialize)] - pub struct MatchPosition { - #[serde(rename = "x")] - pub x: i32, - #[serde(rename = "y")] - pub y: i32, - } - /// MatchEvent data object. - #[derive(Debug)] - #[derive(serde::Serialize, serde::Deserialize)] - pub struct MatchEvent { - #[serde(rename = "laneType")] - #[serde(skip_serializing_if = "Option::is_none")] - pub lane_type: Option, - #[serde(rename = "skillSlot")] - #[serde(skip_serializing_if = "Option::is_none")] - pub skill_slot: Option, - #[serde(rename = "ascendedType")] - #[serde(skip_serializing_if = "Option::is_none")] - pub ascended_type: Option, - #[serde(rename = "creatorId")] - #[serde(skip_serializing_if = "Option::is_none")] - pub creator_id: Option, - #[serde(rename = "afterId")] - #[serde(skip_serializing_if = "Option::is_none")] - pub after_id: Option, - #[serde(rename = "eventType")] - #[serde(skip_serializing_if = "Option::is_none")] - pub event_type: Option, - /// (Legal values: CHAMPION_KILL, WARD_PLACED, WARD_KILL, BUILDING_KILL, ELITE_MONSTER_KILL, ITEM_PURCHASED, ITEM_SOLD, ITEM_DESTROYED, ITEM_UNDO, SKILL_LEVEL_UP, ASCENDED_EVENT, CAPTURE_POINT, PORO_KING_SUMMON) - #[serde(rename = "type")] - pub r#type: String, - #[serde(rename = "levelUpType")] - #[serde(skip_serializing_if = "Option::is_none")] - pub level_up_type: Option, - #[serde(rename = "wardType")] - #[serde(skip_serializing_if = "Option::is_none")] - pub ward_type: Option, - #[serde(rename = "participantId")] - #[serde(skip_serializing_if = "Option::is_none")] - pub participant_id: Option, - #[serde(rename = "towerType")] - #[serde(skip_serializing_if = "Option::is_none")] - pub tower_type: Option, - #[serde(rename = "itemId")] - #[serde(skip_serializing_if = "Option::is_none")] - pub item_id: Option, - #[serde(rename = "beforeId")] - #[serde(skip_serializing_if = "Option::is_none")] - pub before_id: Option, - #[serde(rename = "pointCaptured")] - #[serde(skip_serializing_if = "Option::is_none")] - pub point_captured: Option, - #[serde(rename = "monsterType")] - #[serde(skip_serializing_if = "Option::is_none")] - pub monster_type: Option, - #[serde(rename = "monsterSubType")] - #[serde(skip_serializing_if = "Option::is_none")] - pub monster_sub_type: Option, - #[serde(rename = "teamId")] - #[serde(skip_serializing_if = "Option::is_none")] - pub team_id: Option, - #[serde(rename = "position")] - #[serde(skip_serializing_if = "Option::is_none")] - pub position: Option, - #[serde(rename = "killerId")] - #[serde(skip_serializing_if = "Option::is_none")] - pub killer_id: Option, - #[serde(rename = "timestamp")] - pub timestamp: i64, - #[serde(rename = "assistingParticipantIds")] - #[serde(skip_serializing_if = "Option::is_none")] - pub assisting_participant_ids: Option>, - #[serde(rename = "buildingType")] - #[serde(skip_serializing_if = "Option::is_none")] - pub building_type: Option, - #[serde(rename = "victimId")] - #[serde(skip_serializing_if = "Option::is_none")] - pub victim_id: Option, - } -} - /// Data structs used by [`MatchV5`](crate::endpoints::MatchV5). /// /// Note: this module is automatically generated. diff --git a/riven/srcgen/.spec.json b/riven/srcgen/.spec.json index eca1bb0..fa57b73 100644 --- a/riven/srcgen/.spec.json +++ b/riven/srcgen/.spec.json @@ -4,8 +4,8 @@ "title": "Riot API", "description": "\nOpenAPI/Swagger version of the [Riot API](https://developer.riotgames.com/). Automatically generated daily.\n## OpenAPI Spec File\nThe following versions of the Riot API spec file are available:\n- `openapi-3.0.0.json` ([view file](../openapi-3.0.0.json), [ui select](?url=../openapi-3.0.0.json))\n- `openapi-3.0.0.min.json` ([view file](../openapi-3.0.0.min.json), [ui select](?url=../openapi-3.0.0.min.json))\n- `openapi-3.0.0.yml` ([view file](../openapi-3.0.0.yml), [ui select](?url=../openapi-3.0.0.yml))\n- `openapi-3.0.0.min.yml` ([view file](../openapi-3.0.0.min.yml), [ui select](?url=../openapi-3.0.0.min.yml))\n- `swaggerspec-2.0.json` ([view file](../swaggerspec-2.0.json), [ui select](?url=../swaggerspec-2.0.json))\n- `swaggerspec-2.0.min.json` ([view file](../swaggerspec-2.0.min.json), [ui select](?url=../swaggerspec-2.0.min.json))\n- `swaggerspec-2.0.yml` ([view file](../swaggerspec-2.0.yml), [ui select](?url=../swaggerspec-2.0.yml))\n- `swaggerspec-2.0.min.yml` ([view file](../swaggerspec-2.0.min.yml), [ui select](?url=../swaggerspec-2.0.min.yml))\n## Other Files\n- Missing DTOs: [`missing.json`](../missing.json)\n- [Enum Files](../enums/)\n## Source Code\nSource code on [GitHub](https://github.com/MingweiSamuel/riotapi-schema). Pull requests welcome!\n## Automatically Generated\nRebuilt on [Travis CI](https://travis-ci.com/MingweiSamuel/riotapi-schema/builds) daily.\n***\n", "termsOfService": "https://developer.riotgames.com/terms", - "version": "595cfab83bc31def1d3d161df5ca26f99033f539", - "x-hash": "595cfab83bc31def1d3d161df5ca26f99033f539c8c941dd94e4ffc441a7a82f0cb5c90ee9d1e0f9", + "version": "0715d17267a9bec35845651ad3fb702c5bcbdaa1", + "x-hash": "0715d17267a9bec35845651ad3fb702c5bcbdaa1c8c941dd94e4ffc441a7a82f0cb5c90ee9d1e0f9", "x-enumsHash": "c8c941dd94e4ffc441a7a82f0cb5c90ee9d1e0f9" }, "servers": [ @@ -2975,632 +2975,6 @@ ], "x-route-enum": "regional" }, - "/lol/match/v4/matches/by-tournament-code/{tournamentCode}/ids": { - "get": { - "tags": [ - "match-v4" - ], - "summary": "Get match IDs by tournament code.", - "externalDocs": { - "description": "Official API Reference", - "url": "https://developer.riotgames.com/api-methods/#match-v4/GET_getMatchIdsByTournamentCode" - }, - "responses": { - "200": { - "description": "Success", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "type": "integer", - "format": "int64", - "x-type": "long" - }, - "x-type": "List[long]" - } - } - } - }, - "400": { - "description": "Bad request" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Data not found" - }, - "405": { - "description": "Method not allowed" - }, - "415": { - "description": "Unsupported media type" - }, - "429": { - "description": "Rate limit exceeded" - }, - "500": { - "description": "Internal server error" - }, - "502": { - "description": "Bad gateway" - }, - "503": { - "description": "Service unavailable" - }, - "504": { - "description": "Gateway timeout" - } - }, - "operationId": "match-v4.getMatchIdsByTournamentCode", - "description": "Get match IDs by tournament code.", - "parameters": [ - { - "name": "tournamentCode", - "in": "path", - "required": true, - "schema": { - "type": "string", - "x-type": "string" - }, - "description": "The tournament code." - } - ], - "x-endpoint": "match-v4", - "x-platforms-available": [ - "br1", - "eun1", - "euw1", - "jp1", - "kr", - "la1", - "la2", - "na1", - "oc1", - "ru", - "tr1" - ], - "x-route-enum": "platform" - }, - "x-endpoint": "match-v4", - "x-platforms-available": [ - "br1", - "eun1", - "euw1", - "jp1", - "kr", - "la1", - "la2", - "na1", - "oc1", - "ru", - "tr1" - ], - "x-route-enum": "platform" - }, - "/lol/match/v4/matches/{matchId}": { - "get": { - "tags": [ - "match-v4" - ], - "summary": "Get match by match ID.", - "externalDocs": { - "description": "Official API Reference", - "url": "https://developer.riotgames.com/api-methods/#match-v4/GET_getMatch" - }, - "responses": { - "200": { - "description": "Success", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/match-v4.MatchDto", - "x-type": "MatchDto" - } - } - } - }, - "400": { - "description": "Bad request" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Data not found" - }, - "405": { - "description": "Method not allowed" - }, - "415": { - "description": "Unsupported media type" - }, - "429": { - "description": "Rate limit exceeded" - }, - "500": { - "description": "Internal server error" - }, - "502": { - "description": "Bad gateway" - }, - "503": { - "description": "Service unavailable" - }, - "504": { - "description": "Gateway timeout" - } - }, - "operationId": "match-v4.getMatch", - "x-nullable-404": true, - "description": "Get match by match ID.", - "parameters": [ - { - "name": "matchId", - "in": "path", - "required": true, - "schema": { - "type": "integer", - "format": "int64", - "x-type": "long" - }, - "description": "The match ID." - } - ], - "x-endpoint": "match-v4", - "x-platforms-available": [ - "br1", - "eun1", - "euw1", - "jp1", - "kr", - "la1", - "la2", - "na1", - "oc1", - "ru", - "tr1" - ], - "x-route-enum": "platform" - }, - "x-endpoint": "match-v4", - "x-platforms-available": [ - "br1", - "eun1", - "euw1", - "jp1", - "kr", - "la1", - "la2", - "na1", - "oc1", - "ru", - "tr1" - ], - "x-route-enum": "platform" - }, - "/lol/match/v4/matches/{matchId}/by-tournament-code/{tournamentCode}": { - "get": { - "tags": [ - "match-v4" - ], - "summary": "Get match by match ID and tournament code.", - "externalDocs": { - "description": "Official API Reference", - "url": "https://developer.riotgames.com/api-methods/#match-v4/GET_getMatchByTournamentCode" - }, - "responses": { - "200": { - "description": "Success", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/match-v4.MatchDto", - "x-type": "MatchDto" - } - } - } - }, - "400": { - "description": "Bad request" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Data not found" - }, - "405": { - "description": "Method not allowed" - }, - "415": { - "description": "Unsupported media type" - }, - "429": { - "description": "Rate limit exceeded" - }, - "500": { - "description": "Internal server error" - }, - "502": { - "description": "Bad gateway" - }, - "503": { - "description": "Service unavailable" - }, - "504": { - "description": "Gateway timeout" - } - }, - "operationId": "match-v4.getMatchByTournamentCode", - "description": "Get match by match ID and tournament code.", - "parameters": [ - { - "name": "tournamentCode", - "in": "path", - "required": true, - "schema": { - "type": "string", - "x-type": "string" - }, - "description": "The tournament code." - }, - { - "name": "matchId", - "in": "path", - "required": true, - "schema": { - "type": "integer", - "format": "int64", - "x-type": "long" - }, - "description": "The match ID." - } - ], - "x-endpoint": "match-v4", - "x-platforms-available": [ - "br1", - "eun1", - "euw1", - "jp1", - "kr", - "la1", - "la2", - "na1", - "oc1", - "ru", - "tr1" - ], - "x-route-enum": "platform" - }, - "x-endpoint": "match-v4", - "x-platforms-available": [ - "br1", - "eun1", - "euw1", - "jp1", - "kr", - "la1", - "la2", - "na1", - "oc1", - "ru", - "tr1" - ], - "x-route-enum": "platform" - }, - "/lol/match/v4/matchlists/by-account/{encryptedAccountId}": { - "get": { - "tags": [ - "match-v4" - ], - "summary": "Get matchlist for games played on given account ID and platform ID and filtered using given filter parameters, if any.", - "externalDocs": { - "description": "Official API Reference", - "url": "https://developer.riotgames.com/api-methods/#match-v4/GET_getMatchlist" - }, - "responses": { - "200": { - "description": "Success", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/match-v4.MatchlistDto", - "x-type": "MatchlistDto" - } - } - } - }, - "400": { - "description": "Bad request" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Data not found" - }, - "405": { - "description": "Method not allowed" - }, - "415": { - "description": "Unsupported media type" - }, - "429": { - "description": "Rate limit exceeded" - }, - "500": { - "description": "Internal server error" - }, - "502": { - "description": "Bad gateway" - }, - "503": { - "description": "Service unavailable" - }, - "504": { - "description": "Gateway timeout" - } - }, - "operationId": "match-v4.getMatchlist", - "x-nullable-404": true, - "description": "Get matchlist for games played on given account ID and platform ID and filtered using given filter parameters, if any.\n## Implementation Notes\nA number of optional parameters are provided for filtering. It is up to the caller to ensure that the combination of filter parameters provided is valid for the requested account, otherwise, no matches may be returned.\n\nIf beginIndex is specified, but not endIndex, then endIndex defaults to beginIndex+100. If endIndex is specified, but not beginIndex, then beginIndex defaults to 0. If both are specified, then endIndex must be greater than beginIndex. The maximum range allowed is 100, otherwise a 400 error code is returned.\n\nIf beginTime is specified, but not endTime, then endTime defaults to the the current unix timestamp in milliseconds (the maximum time range limitation is not observed in this specific case). If endTime is specified, but not beginTime, then beginTime defaults to the start of the account's match history returning a 400 due to the maximum time range limitation. If both are specified, then endTime should be greater than beginTime. The maximum time range allowed is one week, otherwise a 400 error code is returned.", - "parameters": [ - { - "name": "encryptedAccountId", - "in": "path", - "required": true, - "schema": { - "type": "string", - "x-type": "string" - }, - "description": "The account ID." - }, - { - "name": "champion", - "in": "query", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "integer", - "format": "int32", - "x-type": "int", - "x-enum": "champion" - }, - "x-type": "Set[int]" - }, - "description": "Set of champion IDs for filtering the matchlist.", - "explode": true - }, - { - "name": "queue", - "in": "query", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "integer", - "format": "int32", - "x-type": "int", - "x-enum": "queue" - }, - "x-type": "Set[int]" - }, - "description": "Set of queue IDs for filtering the matchlist.", - "explode": true - }, - { - "name": "season", - "in": "query", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "integer", - "format": "int32", - "x-type": "int", - "x-enum": "season" - }, - "x-type": "Set[int]" - }, - "description": "[DEPRECATED] This field should not be considered reliable for the purposes of filtering matches by season.", - "explode": true - }, - { - "name": "endTime", - "in": "query", - "required": false, - "schema": { - "type": "integer", - "format": "int64", - "x-type": "long" - }, - "description": "The end time to use for filtering matchlist specified as epoch milliseconds. If beginTime is specified, but not endTime, then endTime defaults to the the current unix timestamp in milliseconds (the maximum time range limitation is not observed in this specific case). If endTime is specified, but not beginTime, then beginTime defaults to the start of the account's match history returning a 400 due to the maximum time range limitation. If both are specified, then endTime should be greater than beginTime. The maximum time range allowed is one week, otherwise a 400 error code is returned." - }, - { - "name": "beginTime", - "in": "query", - "required": false, - "schema": { - "type": "integer", - "format": "int64", - "x-type": "long" - }, - "description": "The begin time to use for filtering matchlist specified as epoch milliseconds. If beginTime is specified, but not endTime, then endTime defaults to the the current unix timestamp in milliseconds (the maximum time range limitation is not observed in this specific case). If endTime is specified, but not beginTime, then beginTime defaults to the start of the account's match history returning a 400 due to the maximum time range limitation. If both are specified, then endTime should be greater than beginTime. The maximum time range allowed is one week, otherwise a 400 error code is returned." - }, - { - "name": "endIndex", - "in": "query", - "required": false, - "schema": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "description": "The end index to use for filtering matchlist. If beginIndex is specified, but not endIndex, then endIndex defaults to beginIndex+100. If endIndex is specified, but not beginIndex, then beginIndex defaults to 0. If both are specified, then endIndex must be greater than beginIndex. The maximum range allowed is 100, otherwise a 400 error code is returned." - }, - { - "name": "beginIndex", - "in": "query", - "required": false, - "schema": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "description": "The begin index to use for filtering matchlist. If beginIndex is specified, but not endIndex, then endIndex defaults to beginIndex+100. If endIndex is specified, but not beginIndex, then beginIndex defaults to 0. If both are specified, then endIndex must be greater than beginIndex. The maximum range allowed is 100, otherwise a 400 error code is returned." - } - ], - "x-endpoint": "match-v4", - "x-platforms-available": [ - "br1", - "eun1", - "euw1", - "jp1", - "kr", - "la1", - "la2", - "na1", - "oc1", - "ru", - "tr1" - ], - "x-route-enum": "platform" - }, - "x-endpoint": "match-v4", - "x-platforms-available": [ - "br1", - "eun1", - "euw1", - "jp1", - "kr", - "la1", - "la2", - "na1", - "oc1", - "ru", - "tr1" - ], - "x-route-enum": "platform" - }, - "/lol/match/v4/timelines/by-match/{matchId}": { - "get": { - "tags": [ - "match-v4" - ], - "summary": "Get match timeline by match ID.", - "externalDocs": { - "description": "Official API Reference", - "url": "https://developer.riotgames.com/api-methods/#match-v4/GET_getMatchTimeline" - }, - "responses": { - "200": { - "description": "Success", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/match-v4.MatchTimelineDto", - "x-type": "MatchTimelineDto" - } - } - } - }, - "400": { - "description": "Bad request" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Data not found" - }, - "405": { - "description": "Method not allowed" - }, - "415": { - "description": "Unsupported media type" - }, - "429": { - "description": "Rate limit exceeded" - }, - "500": { - "description": "Internal server error" - }, - "502": { - "description": "Bad gateway" - }, - "503": { - "description": "Service unavailable" - }, - "504": { - "description": "Gateway timeout" - } - }, - "operationId": "match-v4.getMatchTimeline", - "x-nullable-404": true, - "description": "Get match timeline by match ID.\n## Implementation Notes\nNot all matches have timeline data.", - "parameters": [ - { - "name": "matchId", - "in": "path", - "required": true, - "schema": { - "type": "integer", - "format": "int64", - "x-type": "long" - }, - "description": "The match ID." - } - ], - "x-endpoint": "match-v4", - "x-platforms-available": [ - "br1", - "eun1", - "euw1", - "jp1", - "kr", - "la1", - "la2", - "na1", - "oc1", - "ru", - "tr1" - ], - "x-route-enum": "platform" - }, - "x-endpoint": "match-v4", - "x-platforms-available": [ - "br1", - "eun1", - "euw1", - "jp1", - "kr", - "la1", - "la2", - "na1", - "oc1", - "ru", - "tr1" - ], - "x-route-enum": "platform" - }, "/lol/match/v5/matches/by-puuid/{puuid}/ids": { "get": { "tags": [ @@ -9165,1590 +8539,6 @@ "updated_at" ] }, - "match-v4.MatchDto": { - "type": "object", - "title": "MatchDto", - "properties": { - "gameId": { - "type": "integer", - "format": "int64", - "x-type": "long" - }, - "participantIdentities": { - "type": "array", - "items": { - "$ref": "#/components/schemas/match-v4.ParticipantIdentityDto", - "x-type": "ParticipantIdentityDto" - }, - "x-type": "List[ParticipantIdentityDto]", - "description": "Participant identity information. Participant identity information is purposefully excluded for custom games." - }, - "queueId": { - "type": "integer", - "format": "int32", - "x-type": "int", - "description": "Refer to the Game Constants documentation.", - "x-enum": "queue" - }, - "gameType": { - "type": "string", - "x-type": "string", - "description": "Refer to the Game Constants documentation.", - "x-enum": "gameType" - }, - "gameDuration": { - "type": "integer", - "format": "int64", - "x-type": "long", - "description": "Match duration in seconds." - }, - "teams": { - "type": "array", - "items": { - "$ref": "#/components/schemas/match-v4.TeamStatsDto", - "x-type": "TeamStatsDto" - }, - "x-type": "List[TeamStatsDto]", - "description": "Team information." - }, - "platformId": { - "type": "string", - "x-type": "string", - "description": "Platform where the match was played." - }, - "gameCreation": { - "type": "integer", - "format": "int64", - "x-type": "long", - "description": "Designates the timestamp when champion select ended and the loading screen appeared, NOT when the game timer was at 0:00." - }, - "seasonId": { - "type": "integer", - "format": "int32", - "x-type": "int", - "description": "Refer to the Game Constants documentation.", - "x-enum": "season" - }, - "gameVersion": { - "type": "string", - "x-type": "string", - "description": "The major.minor version typically indicates the patch the match was played on." - }, - "mapId": { - "type": "integer", - "format": "int32", - "x-type": "int", - "description": "Refer to the Game Constants documentation.", - "x-enum": "map" - }, - "gameMode": { - "type": "string", - "x-type": "string", - "description": "Refer to the Game Constants documentation.", - "x-enum": "gameMode" - }, - "participants": { - "type": "array", - "items": { - "$ref": "#/components/schemas/match-v4.ParticipantDto", - "x-type": "ParticipantDto" - }, - "x-type": "List[ParticipantDto]", - "description": "Participant information." - } - }, - "required": [ - "gameId", - "participantIdentities", - "queueId", - "gameType", - "gameDuration", - "teams", - "platformId", - "gameCreation", - "seasonId", - "gameVersion", - "mapId", - "gameMode", - "participants" - ] - }, - "match-v4.ParticipantIdentityDto": { - "type": "object", - "title": "ParticipantIdentityDto", - "properties": { - "participantId": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "player": { - "$ref": "#/components/schemas/match-v4.PlayerDto", - "x-type": "PlayerDto", - "description": "Player information not included in the response for custom matches. Custom matches are considered private unless a tournament code was used to create the match." - } - }, - "required": [ - "participantId", - "player" - ] - }, - "match-v4.PlayerDto": { - "type": "object", - "title": "PlayerDto", - "properties": { - "profileIcon": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "accountId": { - "type": "string", - "x-type": "string", - "description": "Player's original accountId." - }, - "matchHistoryUri": { - "type": "string", - "x-type": "string" - }, - "currentAccountId": { - "type": "string", - "x-type": "string", - "description": "Player's current accountId when the match was played." - }, - "currentPlatformId": { - "type": "string", - "x-type": "string", - "description": "Player's current platformId when the match was played." - }, - "summonerName": { - "type": "string", - "x-type": "string" - }, - "summonerId": { - "type": "string", - "x-type": "string", - "description": "Player's summonerId (Encrypted)" - }, - "platformId": { - "type": "string", - "x-type": "string", - "description": "Player's original platformId." - } - }, - "required": [ - "profileIcon", - "accountId", - "matchHistoryUri", - "currentAccountId", - "currentPlatformId", - "summonerName", - "platformId" - ] - }, - "match-v4.TeamStatsDto": { - "type": "object", - "title": "TeamStatsDto", - "properties": { - "towerKills": { - "type": "integer", - "format": "int32", - "x-type": "int", - "description": "Number of towers the team destroyed." - }, - "riftHeraldKills": { - "type": "integer", - "format": "int32", - "x-type": "int", - "description": "Number of times the team killed Rift Herald." - }, - "firstBlood": { - "type": "boolean", - "x-type": "boolean", - "description": "Flag indicating whether or not the team scored the first blood." - }, - "inhibitorKills": { - "type": "integer", - "format": "int32", - "x-type": "int", - "description": "Number of inhibitors the team destroyed." - }, - "bans": { - "type": "array", - "items": { - "$ref": "#/components/schemas/match-v4.TeamBansDto", - "x-type": "TeamBansDto" - }, - "x-type": "List[TeamBansDto]", - "description": "If match queueId has a draft, contains banned champion data, otherwise empty." - }, - "firstBaron": { - "type": "boolean", - "x-type": "boolean", - "description": "Flag indicating whether or not the team scored the first Baron kill." - }, - "firstDragon": { - "type": "boolean", - "x-type": "boolean", - "description": "Flag indicating whether or not the team scored the first Dragon kill." - }, - "dominionVictoryScore": { - "type": "integer", - "format": "int32", - "x-type": "int", - "description": "For Dominion matches, specifies the points the team had at game end." - }, - "dragonKills": { - "type": "integer", - "format": "int32", - "x-type": "int", - "description": "Number of times the team killed Dragon." - }, - "baronKills": { - "type": "integer", - "format": "int32", - "x-type": "int", - "description": "Number of times the team killed Baron." - }, - "firstInhibitor": { - "type": "boolean", - "x-type": "boolean", - "description": "Flag indicating whether or not the team destroyed the first inhibitor." - }, - "firstTower": { - "type": "boolean", - "x-type": "boolean", - "description": "Flag indicating whether or not the team destroyed the first tower." - }, - "vilemawKills": { - "type": "integer", - "format": "int32", - "x-type": "int", - "description": "Number of times the team killed Vilemaw." - }, - "firstRiftHerald": { - "type": "boolean", - "x-type": "boolean", - "description": "Flag indicating whether or not the team scored the first Rift Herald kill." - }, - "teamId": { - "type": "integer", - "format": "int32", - "x-type": "int", - "description": "100 for blue side. 200 for red side.", - "x-enum": "team" - }, - "win": { - "type": "string", - "x-type": "string", - "enum": [ - "Fail", - "Win" - ], - "description": "String indicating whether or not the team won. There are only two values visibile in public match history.\n (Legal values: Fail, Win)" - } - }, - "required": [ - "towerKills", - "riftHeraldKills", - "firstBlood", - "inhibitorKills", - "bans", - "firstBaron", - "firstDragon", - "dominionVictoryScore", - "dragonKills", - "baronKills", - "firstInhibitor", - "firstTower", - "vilemawKills", - "firstRiftHerald", - "teamId" - ] - }, - "match-v4.TeamBansDto": { - "type": "object", - "title": "TeamBansDto", - "properties": { - "championId": { - "type": "integer", - "format": "int32", - "x-type": "int", - "description": "Banned championId.", - "x-enum": "champion" - }, - "pickTurn": { - "type": "integer", - "format": "int32", - "x-type": "int", - "description": "Turn during which the champion was banned." - } - }, - "required": [ - "championId", - "pickTurn" - ] - }, - "match-v4.ParticipantDto": { - "type": "object", - "title": "ParticipantDto", - "properties": { - "participantId": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "championId": { - "type": "integer", - "format": "int32", - "x-type": "int", - "x-enum": "champion" - }, - "runes": { - "type": "array", - "items": { - "$ref": "#/components/schemas/match-v4.RuneDto", - "x-type": "RuneDto" - }, - "x-type": "List[RuneDto]", - "description": "List of legacy Rune information. Not included for matches played with Runes Reforged." - }, - "stats": { - "$ref": "#/components/schemas/match-v4.ParticipantStatsDto", - "x-type": "ParticipantStatsDto", - "description": "Participant statistics." - }, - "teamId": { - "type": "integer", - "format": "int32", - "x-type": "int", - "description": "100 for blue side. 200 for red side.", - "x-enum": "team" - }, - "timeline": { - "$ref": "#/components/schemas/match-v4.ParticipantTimelineDto", - "x-type": "ParticipantTimelineDto", - "description": "Participant timeline data." - }, - "spell1Id": { - "type": "integer", - "format": "int32", - "x-type": "int", - "description": "First Summoner Spell id." - }, - "spell2Id": { - "type": "integer", - "format": "int32", - "x-type": "int", - "description": "Second Summoner Spell id." - }, - "highestAchievedSeasonTier": { - "type": "string", - "x-type": "string", - "enum": [ - "CHALLENGER", - "MASTER", - "DIAMOND", - "PLATINUM", - "GOLD", - "SILVER", - "BRONZE", - "UNRANKED" - ], - "description": "Highest ranked tier achieved for the previous season in a specific subset of queueIds, if any, otherwise null. Used to display border in game loading screen. Please refer to the Ranked Info documentation.\n (Legal values: CHALLENGER, MASTER, DIAMOND, PLATINUM, GOLD, SILVER, BRONZE, UNRANKED)", - "x-enum": "tier" - }, - "masteries": { - "type": "array", - "items": { - "$ref": "#/components/schemas/match-v4.MasteryDto", - "x-type": "MasteryDto" - }, - "x-type": "List[MasteryDto]", - "description": "List of legacy Mastery information. Not included for matches played with Runes Reforged." - } - }, - "required": [ - "participantId", - "championId", - "stats", - "teamId", - "spell1Id", - "spell2Id" - ] - }, - "match-v4.RuneDto": { - "type": "object", - "title": "RuneDto", - "properties": { - "runeId": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "rank": { - "type": "integer", - "format": "int32", - "x-type": "int" - } - }, - "required": [ - "runeId", - "rank" - ] - }, - "match-v4.ParticipantStatsDto": { - "type": "object", - "title": "ParticipantStatsDto", - "properties": { - "item0": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "item2": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "totalUnitsHealed": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "item1": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "largestMultiKill": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "goldEarned": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "firstInhibitorKill": { - "type": "boolean", - "x-type": "boolean" - }, - "physicalDamageTaken": { - "type": "integer", - "format": "int64", - "x-type": "long" - }, - "nodeNeutralizeAssist": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "totalPlayerScore": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "champLevel": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "damageDealtToObjectives": { - "type": "integer", - "format": "int64", - "x-type": "long" - }, - "totalDamageTaken": { - "type": "integer", - "format": "int64", - "x-type": "long" - }, - "neutralMinionsKilled": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "deaths": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "tripleKills": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "magicDamageDealtToChampions": { - "type": "integer", - "format": "int64", - "x-type": "long" - }, - "wardsKilled": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "pentaKills": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "damageSelfMitigated": { - "type": "integer", - "format": "int64", - "x-type": "long" - }, - "largestCriticalStrike": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "nodeNeutralize": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "totalTimeCrowdControlDealt": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "firstTowerKill": { - "type": "boolean", - "x-type": "boolean" - }, - "magicDamageDealt": { - "type": "integer", - "format": "int64", - "x-type": "long" - }, - "totalScoreRank": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "nodeCapture": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "wardsPlaced": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "totalDamageDealt": { - "type": "integer", - "format": "int64", - "x-type": "long" - }, - "timeCCingOthers": { - "type": "integer", - "format": "int64", - "x-type": "long" - }, - "magicalDamageTaken": { - "type": "integer", - "format": "int64", - "x-type": "long" - }, - "largestKillingSpree": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "totalDamageDealtToChampions": { - "type": "integer", - "format": "int64", - "x-type": "long" - }, - "physicalDamageDealtToChampions": { - "type": "integer", - "format": "int64", - "x-type": "long" - }, - "neutralMinionsKilledTeamJungle": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "totalMinionsKilled": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "firstInhibitorAssist": { - "type": "boolean", - "x-type": "boolean" - }, - "visionWardsBoughtInGame": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "objectivePlayerScore": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "kills": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "firstTowerAssist": { - "type": "boolean", - "x-type": "boolean" - }, - "combatPlayerScore": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "inhibitorKills": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "turretKills": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "participantId": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "trueDamageTaken": { - "type": "integer", - "format": "int64", - "x-type": "long" - }, - "firstBloodAssist": { - "type": "boolean", - "x-type": "boolean" - }, - "nodeCaptureAssist": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "assists": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "teamObjective": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "altarsNeutralized": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "goldSpent": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "damageDealtToTurrets": { - "type": "integer", - "format": "int64", - "x-type": "long" - }, - "altarsCaptured": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "win": { - "type": "boolean", - "x-type": "boolean" - }, - "totalHeal": { - "type": "integer", - "format": "int64", - "x-type": "long" - }, - "unrealKills": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "visionScore": { - "type": "integer", - "format": "int64", - "x-type": "long" - }, - "physicalDamageDealt": { - "type": "integer", - "format": "int64", - "x-type": "long" - }, - "firstBloodKill": { - "type": "boolean", - "x-type": "boolean" - }, - "longestTimeSpentLiving": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "killingSprees": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "sightWardsBoughtInGame": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "trueDamageDealtToChampions": { - "type": "integer", - "format": "int64", - "x-type": "long" - }, - "neutralMinionsKilledEnemyJungle": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "doubleKills": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "trueDamageDealt": { - "type": "integer", - "format": "int64", - "x-type": "long" - }, - "quadraKills": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "item4": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "item3": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "item6": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "item5": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "playerScore0": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "playerScore1": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "playerScore2": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "playerScore3": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "playerScore4": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "playerScore5": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "playerScore6": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "playerScore7": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "playerScore8": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "playerScore9": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "perk0": { - "type": "integer", - "format": "int32", - "x-type": "int", - "description": "Primary path keystone rune." - }, - "perk0Var1": { - "type": "integer", - "format": "int32", - "x-type": "int", - "description": "Post game rune stats." - }, - "perk0Var2": { - "type": "integer", - "format": "int32", - "x-type": "int", - "description": "Post game rune stats." - }, - "perk0Var3": { - "type": "integer", - "format": "int32", - "x-type": "int", - "description": "Post game rune stats." - }, - "perk1": { - "type": "integer", - "format": "int32", - "x-type": "int", - "description": "Primary path rune." - }, - "perk1Var1": { - "type": "integer", - "format": "int32", - "x-type": "int", - "description": "Post game rune stats." - }, - "perk1Var2": { - "type": "integer", - "format": "int32", - "x-type": "int", - "description": "Post game rune stats." - }, - "perk1Var3": { - "type": "integer", - "format": "int32", - "x-type": "int", - "description": "Post game rune stats." - }, - "perk2": { - "type": "integer", - "format": "int32", - "x-type": "int", - "description": "Primary path rune." - }, - "perk2Var1": { - "type": "integer", - "format": "int32", - "x-type": "int", - "description": "Post game rune stats." - }, - "perk2Var2": { - "type": "integer", - "format": "int32", - "x-type": "int", - "description": "Post game rune stats." - }, - "perk2Var3": { - "type": "integer", - "format": "int32", - "x-type": "int", - "description": "Post game rune stats." - }, - "perk3": { - "type": "integer", - "format": "int32", - "x-type": "int", - "description": "Primary path rune." - }, - "perk3Var1": { - "type": "integer", - "format": "int32", - "x-type": "int", - "description": "Post game rune stats." - }, - "perk3Var2": { - "type": "integer", - "format": "int32", - "x-type": "int", - "description": "Post game rune stats." - }, - "perk3Var3": { - "type": "integer", - "format": "int32", - "x-type": "int", - "description": "Post game rune stats." - }, - "perk4": { - "type": "integer", - "format": "int32", - "x-type": "int", - "description": "Secondary path rune." - }, - "perk4Var1": { - "type": "integer", - "format": "int32", - "x-type": "int", - "description": "Post game rune stats." - }, - "perk4Var2": { - "type": "integer", - "format": "int32", - "x-type": "int", - "description": "Post game rune stats." - }, - "perk4Var3": { - "type": "integer", - "format": "int32", - "x-type": "int", - "description": "Post game rune stats." - }, - "perk5": { - "type": "integer", - "format": "int32", - "x-type": "int", - "description": "Secondary path rune." - }, - "perk5Var1": { - "type": "integer", - "format": "int32", - "x-type": "int", - "description": "Post game rune stats." - }, - "perk5Var2": { - "type": "integer", - "format": "int32", - "x-type": "int", - "description": "Post game rune stats." - }, - "perk5Var3": { - "type": "integer", - "format": "int32", - "x-type": "int", - "description": "Post game rune stats." - }, - "perkPrimaryStyle": { - "type": "integer", - "format": "int32", - "x-type": "int", - "description": "Primary rune path" - }, - "perkSubStyle": { - "type": "integer", - "format": "int32", - "x-type": "int", - "description": "Secondary rune path" - }, - "statPerk0": { - "type": "integer", - "format": "int32", - "x-type": "int", - "description": "Stat rune" - }, - "statPerk1": { - "type": "integer", - "format": "int32", - "x-type": "int", - "description": "Stat rune" - }, - "statPerk2": { - "type": "integer", - "format": "int32", - "x-type": "int", - "description": "Stat rune" - } - }, - "required": [ - "item0", - "item2", - "totalUnitsHealed", - "item1", - "largestMultiKill", - "goldEarned", - "physicalDamageTaken", - "champLevel", - "damageDealtToObjectives", - "totalDamageTaken", - "neutralMinionsKilled", - "deaths", - "tripleKills", - "magicDamageDealtToChampions", - "pentaKills", - "damageSelfMitigated", - "largestCriticalStrike", - "totalTimeCrowdControlDealt", - "magicDamageDealt", - "totalDamageDealt", - "timeCCingOthers", - "magicalDamageTaken", - "largestKillingSpree", - "totalDamageDealtToChampions", - "physicalDamageDealtToChampions", - "totalMinionsKilled", - "visionWardsBoughtInGame", - "kills", - "participantId", - "trueDamageTaken", - "assists", - "goldSpent", - "damageDealtToTurrets", - "win", - "totalHeal", - "unrealKills", - "physicalDamageDealt", - "longestTimeSpentLiving", - "killingSprees", - "trueDamageDealtToChampions", - "doubleKills", - "trueDamageDealt", - "quadraKills", - "item4", - "item3", - "item6", - "item5" - ] - }, - "match-v4.ParticipantTimelineDto": { - "type": "object", - "title": "ParticipantTimelineDto", - "properties": { - "participantId": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "csDiffPerMinDeltas": { - "type": "object", - "x-key": { - "type": "string", - "x-type": "String" - }, - "additionalProperties": { - "type": "number", - "format": "double", - "x-type": "double" - }, - "x-type": "Map[String, double]", - "description": "Creep score difference versus the calculated lane opponent(s) for a specified period." - }, - "damageTakenPerMinDeltas": { - "type": "object", - "x-key": { - "type": "string", - "x-type": "String" - }, - "additionalProperties": { - "type": "number", - "format": "double", - "x-type": "double" - }, - "x-type": "Map[String, double]", - "description": "Damage taken for a specified period." - }, - "role": { - "type": "string", - "x-type": "string", - "enum": [ - "DUO", - "NONE", - "SOLO", - "DUO_CARRY", - "DUO_SUPPORT" - ], - "description": "Participant's calculated role.\n (Legal values: DUO, NONE, SOLO, DUO_CARRY, DUO_SUPPORT)" - }, - "damageTakenDiffPerMinDeltas": { - "type": "object", - "x-key": { - "type": "string", - "x-type": "String" - }, - "additionalProperties": { - "type": "number", - "format": "double", - "x-type": "double" - }, - "x-type": "Map[String, double]", - "description": "Damage taken difference versus the calculated lane opponent(s) for a specified period." - }, - "xpPerMinDeltas": { - "type": "object", - "x-key": { - "type": "string", - "x-type": "String" - }, - "additionalProperties": { - "type": "number", - "format": "double", - "x-type": "double" - }, - "x-type": "Map[String, double]", - "description": "Experience change for a specified period." - }, - "xpDiffPerMinDeltas": { - "type": "object", - "x-key": { - "type": "string", - "x-type": "String" - }, - "additionalProperties": { - "type": "number", - "format": "double", - "x-type": "double" - }, - "x-type": "Map[String, double]", - "description": "Experience difference versus the calculated lane opponent(s) for a specified period." - }, - "lane": { - "type": "string", - "x-type": "string", - "enum": [ - "MID", - "MIDDLE", - "TOP", - "JUNGLE", - "BOT", - "BOTTOM" - ], - "description": "Participant's calculated lane. MID and BOT are legacy values.\n (Legal values: MID, MIDDLE, TOP, JUNGLE, BOT, BOTTOM)" - }, - "creepsPerMinDeltas": { - "type": "object", - "x-key": { - "type": "string", - "x-type": "String" - }, - "additionalProperties": { - "type": "number", - "format": "double", - "x-type": "double" - }, - "x-type": "Map[String, double]", - "description": "Creeps for a specified period." - }, - "goldPerMinDeltas": { - "type": "object", - "x-key": { - "type": "string", - "x-type": "String" - }, - "additionalProperties": { - "type": "number", - "format": "double", - "x-type": "double" - }, - "x-type": "Map[String, double]", - "description": "Gold for a specified period." - } - } - }, - "match-v4.MasteryDto": { - "type": "object", - "title": "MasteryDto", - "properties": { - "rank": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "masteryId": { - "type": "integer", - "format": "int32", - "x-type": "int" - } - }, - "required": [ - "rank", - "masteryId" - ] - }, - "match-v4.MatchlistDto": { - "type": "object", - "title": "MatchlistDto", - "properties": { - "startIndex": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "totalGames": { - "type": "integer", - "format": "int32", - "x-type": "int", - "description": "There is a known issue that this field doesn't correctly return the total number of games that match the parameters of the request. Please paginate using beginIndex until you reach the end of a player's matchlist." - }, - "endIndex": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "matches": { - "type": "array", - "items": { - "$ref": "#/components/schemas/match-v4.MatchReferenceDto", - "x-type": "MatchReferenceDto" - }, - "x-type": "List[MatchReferenceDto]" - } - }, - "required": [ - "startIndex", - "totalGames", - "endIndex", - "matches" - ] - }, - "match-v4.MatchReferenceDto": { - "type": "object", - "title": "MatchReferenceDto", - "properties": { - "gameId": { - "type": "integer", - "format": "int64", - "x-type": "long" - }, - "role": { - "type": "string", - "x-type": "string" - }, - "season": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "platformId": { - "type": "string", - "x-type": "string" - }, - "champion": { - "type": "integer", - "format": "int32", - "x-type": "int", - "x-enum": "champion" - }, - "queue": { - "type": "integer", - "format": "int32", - "x-type": "int", - "x-enum": "queue" - }, - "lane": { - "type": "string", - "x-type": "string" - }, - "timestamp": { - "type": "integer", - "format": "int64", - "x-type": "long" - } - }, - "required": [ - "gameId", - "season", - "platformId", - "champion", - "queue", - "timestamp" - ] - }, - "match-v4.MatchTimelineDto": { - "type": "object", - "title": "MatchTimelineDto", - "properties": { - "frames": { - "type": "array", - "items": { - "$ref": "#/components/schemas/match-v4.MatchFrameDto", - "x-type": "MatchFrameDto" - }, - "x-type": "List[MatchFrameDto]" - }, - "frameInterval": { - "type": "integer", - "format": "int64", - "x-type": "long" - } - }, - "required": [ - "frames", - "frameInterval" - ] - }, - "match-v4.MatchFrameDto": { - "type": "object", - "title": "MatchFrameDto", - "properties": { - "participantFrames": { - "type": "object", - "x-key": { - "type": "string", - "x-type": "String" - }, - "additionalProperties": { - "$ref": "#/components/schemas/match-v4.MatchParticipantFrameDto", - "x-type": "MatchParticipantFrameDto" - }, - "x-type": "Map[String, MatchParticipantFrameDto]" - }, - "events": { - "type": "array", - "items": { - "$ref": "#/components/schemas/match-v4.MatchEventDto", - "x-type": "MatchEventDto" - }, - "x-type": "List[MatchEventDto]" - }, - "timestamp": { - "type": "integer", - "format": "int64", - "x-type": "long" - } - }, - "required": [ - "participantFrames", - "events", - "timestamp" - ] - }, - "match-v4.MatchParticipantFrameDto": { - "type": "object", - "title": "MatchParticipantFrameDto", - "properties": { - "participantId": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "minionsKilled": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "teamScore": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "dominionScore": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "totalGold": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "level": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "xp": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "currentGold": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "position": { - "$ref": "#/components/schemas/match-v4.MatchPositionDto", - "x-type": "MatchPositionDto" - }, - "jungleMinionsKilled": { - "type": "integer", - "format": "int32", - "x-type": "int" - } - }, - "required": [ - "participantId", - "minionsKilled", - "totalGold", - "level", - "xp", - "currentGold", - "jungleMinionsKilled" - ] - }, - "match-v4.MatchPositionDto": { - "type": "object", - "title": "MatchPositionDto", - "properties": { - "x": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "y": { - "type": "integer", - "format": "int32", - "x-type": "int" - } - }, - "required": [ - "x", - "y" - ] - }, - "match-v4.MatchEventDto": { - "type": "object", - "title": "MatchEventDto", - "properties": { - "laneType": { - "type": "string", - "x-type": "string" - }, - "skillSlot": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "ascendedType": { - "type": "string", - "x-type": "string" - }, - "creatorId": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "afterId": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "eventType": { - "type": "string", - "x-type": "string" - }, - "type": { - "type": "string", - "x-type": "string", - "enum": [ - "CHAMPION_KILL", - "WARD_PLACED", - "WARD_KILL", - "BUILDING_KILL", - "ELITE_MONSTER_KILL", - "ITEM_PURCHASED", - "ITEM_SOLD", - "ITEM_DESTROYED", - "ITEM_UNDO", - "SKILL_LEVEL_UP", - "ASCENDED_EVENT", - "CAPTURE_POINT", - "PORO_KING_SUMMON" - ], - "description": "(Legal values: CHAMPION_KILL, WARD_PLACED, WARD_KILL, BUILDING_KILL, ELITE_MONSTER_KILL, ITEM_PURCHASED, ITEM_SOLD, ITEM_DESTROYED, ITEM_UNDO, SKILL_LEVEL_UP, ASCENDED_EVENT, CAPTURE_POINT, PORO_KING_SUMMON)" - }, - "levelUpType": { - "type": "string", - "x-type": "string" - }, - "wardType": { - "type": "string", - "x-type": "string" - }, - "participantId": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "towerType": { - "type": "string", - "x-type": "string" - }, - "itemId": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "beforeId": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "pointCaptured": { - "type": "string", - "x-type": "string" - }, - "monsterType": { - "type": "string", - "x-type": "string" - }, - "monsterSubType": { - "type": "string", - "x-type": "string" - }, - "teamId": { - "type": "integer", - "format": "int32", - "x-type": "int", - "x-enum": "team" - }, - "position": { - "$ref": "#/components/schemas/match-v4.MatchPositionDto", - "x-type": "MatchPositionDto" - }, - "killerId": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "timestamp": { - "type": "integer", - "format": "int64", - "x-type": "long" - }, - "assistingParticipantIds": { - "type": "array", - "items": { - "type": "integer", - "format": "int32", - "x-type": "int" - }, - "x-type": "List[int]" - }, - "buildingType": { - "type": "string", - "x-type": "string" - }, - "victimId": { - "type": "integer", - "format": "int32", - "x-type": "int" - } - }, - "required": [ - "type", - "timestamp" - ] - }, "match-v5.MatchDto": { "type": "object", "title": "MatchDto", diff --git a/riven/tests/tests_na.rs b/riven/tests/tests_na.rs index b1c4f7b..4bb2783 100644 --- a/riven/tests/tests_na.rs +++ b/riven/tests/tests_na.rs @@ -48,84 +48,86 @@ async_tests!{ Ok(()) }, - matchlist_get: async { - let sp = RIOT_API.summoner_v4().get_by_summoner_name(ROUTE, "haha yes"); - let s = sp.await.map_err(|e| e.to_string())?.ok_or("Failed to get \"haha yes\"".to_owned())?; - let mp = RIOT_API.match_v4().get_matchlist(ROUTE, &s.account_id, None, Some(2500), None, None, Some(2600), None, None); - let m = mp.await.map_err(|e| e.to_string())?.ok_or("Failed to get matchlist".to_owned())?; - rassert!(m.matches.len() > 0, "Matchlist should not be empty"); - Ok(()) - }, - matchlist_get2: async { - let sp = RIOT_API.summoner_v4().get_by_summoner_name(ROUTE, "haha yes"); - let s = sp.await.map_err(|e| e.to_string())?.ok_or("Failed to get \"haha yes\"".to_owned())?; - let mp = RIOT_API.match_v4().get_matchlist(ROUTE, &s.account_id, None, None, Some(&[ Champion::SION, Champion::SIVIR, Champion::CASSIOPEIA ]), None, None, None, None); - let m = mp.await.map_err(|e| e.to_string())?.ok_or("Failed to get matchlist".to_owned())?; - rassert!(m.matches.len() > 0, "Matchlist should not be empty"); - Ok(()) - }, + // TODO: MATCH-V4 REMOVED. + // matchlist_get: async { + // let sp = RIOT_API.summoner_v4().get_by_summoner_name(ROUTE, "haha yes"); + // let s = sp.await.map_err(|e| e.to_string())?.ok_or("Failed to get \"haha yes\"".to_owned())?; + // let mp = RIOT_API.match_v4().get_matchlist(ROUTE, &s.account_id, None, Some(2500), None, None, Some(2600), None, None); + // let m = mp.await.map_err(|e| e.to_string())?.ok_or("Failed to get matchlist".to_owned())?; + // rassert!(m.matches.len() > 0, "Matchlist should not be empty"); + // Ok(()) + // }, + // matchlist_get2: async { + // let sp = RIOT_API.summoner_v4().get_by_summoner_name(ROUTE, "haha yes"); + // let s = sp.await.map_err(|e| e.to_string())?.ok_or("Failed to get \"haha yes\"".to_owned())?; + // let mp = RIOT_API.match_v4().get_matchlist(ROUTE, &s.account_id, None, None, Some(&[ Champion::SION, Champion::SIVIR, Champion::CASSIOPEIA ]), None, None, None, None); + // let m = mp.await.map_err(|e| e.to_string())?.ok_or("Failed to get matchlist".to_owned())?; + // rassert!(m.matches.len() > 0, "Matchlist should not be empty"); + // Ok(()) + // }, - match_get: async { - let p = RIOT_API.match_v4().get_match(ROUTE, 3190191338); - let m = p.await.map_err(|e| e.to_string())?.ok_or("Match not found.".to_owned())?; - rassert!(!m.participants.is_empty(), "Match should have participants."); - Ok(()) - }, - match_get_bots: async { - let p = RIOT_API.match_v4().get_match(ROUTE, 3251803350); - let m = p.await.map_err(|e| e.to_string())?.ok_or("Match not found.".to_owned())?; - rassert!(!m.participants.is_empty(), "Match should have participants."); - Ok(()) - }, - match_get_odyssey: async { - let p = RIOT_API.match_v4().get_match(ROUTE, 2881976826); - let m = p.await.map_err(|e| e.to_string())?.ok_or("Match not found.".to_owned())?; - rassert!(!m.participants.is_empty(), "Match should have participants."); - Ok(()) - }, - match_get_aram: async { - let p = RIOT_API.match_v4().get_match(ROUTE, 2961635718); - let m = p.await.map_err(|e| e.to_string())?.ok_or("Failed to get match.".to_owned())?; - rassert!(!m.participants.is_empty(), "Match should have participants."); - Ok(()) - }, - match_get_aram2: async { - let p = RIOT_API.match_v4().get_match(ROUTE, 3596184782); - let m = p.await.map_err(|e| e.to_string())?.ok_or("Match not found.".to_owned())?; - rassert!(!m.participants.is_empty(), "Match should have participants."); - Ok(()) - }, - match_get_urf900: async { - let p = RIOT_API.match_v4().get_match(ROUTE, 2963663381); - let m = p.await.map_err(|e| e.to_string())?.ok_or("Failed to get match.".to_owned())?; - rassert!(!m.participants.is_empty(), "Match should have participants."); - Ok(()) - }, - match_get_tutorial1: async { - let p = RIOT_API.match_v4().get_match(ROUTE, 3432145099); - let m = p.await.map_err(|e| e.to_string())?.ok_or("Failed to get match.".to_owned())?; - rassert!(!m.participants.is_empty(), "Match should have participants."); - Ok(()) - }, - match_get_tutorial2: async { - let p = RIOT_API.match_v4().get_match(ROUTE, 3432116214); - let m = p.await.map_err(|e| e.to_string())?.ok_or("Failed to get match.".to_owned())?; - rassert!(!m.participants.is_empty(), "Match should have participants."); - Ok(()) - }, - match_get_tutorial3: async { - let p = RIOT_API.match_v4().get_match(ROUTE, 3432156790); - let m = p.await.map_err(|e| e.to_string())?.ok_or("Failed to get match.".to_owned())?; - rassert!(!m.participants.is_empty(), "Match should have participants."); - Ok(()) - }, + // match_get: async { + // let p = RIOT_API.match_v4().get_match(ROUTE, 3190191338); + // let m = p.await.map_err(|e| e.to_string())?.ok_or("Match not found.".to_owned())?; + // rassert!(!m.participants.is_empty(), "Match should have participants."); + // Ok(()) + // }, + // match_get_bots: async { + // let p = RIOT_API.match_v4().get_match(ROUTE, 3251803350); + // let m = p.await.map_err(|e| e.to_string())?.ok_or("Match not found.".to_owned())?; + // rassert!(!m.participants.is_empty(), "Match should have participants."); + // Ok(()) + // }, + // match_get_odyssey: async { + // let p = RIOT_API.match_v4().get_match(ROUTE, 2881976826); + // let m = p.await.map_err(|e| e.to_string())?.ok_or("Match not found.".to_owned())?; + // rassert!(!m.participants.is_empty(), "Match should have participants."); + // Ok(()) + // }, + // match_get_aram: async { + // let p = RIOT_API.match_v4().get_match(ROUTE, 2961635718); + // let m = p.await.map_err(|e| e.to_string())?.ok_or("Failed to get match.".to_owned())?; + // rassert!(!m.participants.is_empty(), "Match should have participants."); + // Ok(()) + // }, + // match_get_aram2: async { + // let p = RIOT_API.match_v4().get_match(ROUTE, 3596184782); + // let m = p.await.map_err(|e| e.to_string())?.ok_or("Match not found.".to_owned())?; + // rassert!(!m.participants.is_empty(), "Match should have participants."); + // Ok(()) + // }, + // match_get_urf900: async { + // let p = RIOT_API.match_v4().get_match(ROUTE, 2963663381); + // let m = p.await.map_err(|e| e.to_string())?.ok_or("Failed to get match.".to_owned())?; + // rassert!(!m.participants.is_empty(), "Match should have participants."); + // Ok(()) + // }, + // match_get_tutorial1: async { + // let p = RIOT_API.match_v4().get_match(ROUTE, 3432145099); + // let m = p.await.map_err(|e| e.to_string())?.ok_or("Failed to get match.".to_owned())?; + // rassert!(!m.participants.is_empty(), "Match should have participants."); + // Ok(()) + // }, + // match_get_tutorial2: async { + // let p = RIOT_API.match_v4().get_match(ROUTE, 3432116214); + // let m = p.await.map_err(|e| e.to_string())?.ok_or("Failed to get match.".to_owned())?; + // rassert!(!m.participants.is_empty(), "Match should have participants."); + // Ok(()) + // }, + // match_get_tutorial3: async { + // let p = RIOT_API.match_v4().get_match(ROUTE, 3432156790); + // let m = p.await.map_err(|e| e.to_string())?.ok_or("Failed to get match.".to_owned())?; + // rassert!(!m.participants.is_empty(), "Match should have participants."); + // Ok(()) + // }, + + // match_gettimeline: async { + // let p = RIOT_API.match_v4().get_match_timeline(ROUTE, 3190191338); + // let m = p.await.map_err(|e| e.to_string())?.ok_or("Match timeline not found.".to_owned())?; + // rassert!(!m.frames.is_empty(), "Match timeline should have frames."); + // Ok(()) + // }, - match_gettimeline: async { - let p = RIOT_API.match_v4().get_match_timeline(ROUTE, 3190191338); - let m = p.await.map_err(|e| e.to_string())?.ok_or("Match timeline not found.".to_owned())?; - rassert!(!m.frames.is_empty(), "Match timeline should have frames."); - Ok(()) - }, // Commented out, requires special API key. // // LOR // lor_ranked_get_leaderboards: async {