diff --git a/README.md b/README.md index d1c3435..0f46ff6 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ Data structs and endpoints are automatically generated from the ```rust use riven::RiotApi; -use riven::consts::Region; +use riven::consts::PlatformRoute; // Enter tokio async runtime. let mut rt = tokio::runtime::Runtime::new().unwrap(); @@ -37,7 +37,7 @@ rt.block_on(async { // Get summoner data. let summoner = riot_api.summoner_v4() - .get_by_summoner_name(Region::NA, "잘 못").await + .get_by_summoner_name(PlatformRoute::NA1, "잘 못").await .expect("Get summoner failed.") .expect("There is no summoner with that name."); @@ -46,7 +46,7 @@ rt.block_on(async { // Get champion mastery data. let masteries = riot_api.champion_mastery_v4() - .get_all_champion_masteries(Region::NA, &summoner.id).await + .get_all_champion_masteries(PlatformRoute::NA1, &summoner.id).await .expect("Get champion masteries failed."); // Print champioon masteries. diff --git a/src/consts/mod.rs b/src/consts/mod.rs index 0c18507..d71f5bf 100644 --- a/src/consts/mod.rs +++ b/src/consts/mod.rs @@ -31,9 +31,6 @@ pub use queue::*; pub mod ranks; -mod region; // REMOVEME! -pub use region::*; - mod route; pub use route::*; diff --git a/src/consts/ranks.rs b/src/consts/ranks.rs index 8def52b..d8006f4 100644 --- a/src/consts/ranks.rs +++ b/src/consts/ranks.rs @@ -27,7 +27,7 @@ impl Iterator for Iter { self.div_iter = Division::iter(); self.div_iter.next().unwrap() }); - + // Then find the tier. let tier = *self.tier_iter.peek()?; // If its an apex tier go to next tier and reset the divisions. diff --git a/src/consts/region.rs b/src/consts/region.rs deleted file mode 100644 index 5d6863f..0000000 --- a/src/consts/region.rs +++ /dev/null @@ -1,76 +0,0 @@ -use strum_macros::{ EnumString, Display, AsRefStr, IntoStaticStr }; - -/// A region served by a single game server. -/// Each Riot Games API request is directed at a particular region, -/// with tournament API requests directed at the AMERICAS "global" region. -/// -/// Valorant regions are prefixed with `VAL_` due to the name collision with -/// `BR` ("BR1") for LoL and `BR` ("BR") for Valorant. -#[derive(Debug)] -#[derive(PartialEq, Eq, Hash, PartialOrd, Ord)] -#[derive(EnumString, Display, AsRefStr, IntoStaticStr)] -#[derive(Clone, Copy)] -pub enum Region { - #[strum(to_string="BR1", serialize="BR")] - BR, - #[strum(to_string="EUN1", serialize="EUNE")] - EUNE, - #[strum(to_string="EUW1", serialize="EUW")] - EUW, - #[strum(to_string="NA1", serialize="NA")] - NA, - #[strum(to_string="KR")] - KR, - #[strum(to_string="LA1", serialize="LAN")] - LAN, - #[strum(to_string="LA2", serialize="LAS")] - LAS, - #[strum(to_string="OC1", serialize="OCE")] - OCE, - #[strum(to_string="RU")] - RU, - #[strum(to_string="TR1", serialize="TR")] - TR, - #[strum(to_string="JP1", serialize="JP")] - JP, - #[strum(to_string="PBE1", serialize="PBE")] - PBE, - #[strum(to_string="AMERICAS")] - AMERICAS, - #[strum(to_string="EUROPE")] - EUROPE, - #[strum(to_string="ASIA")] - ASIA, - - // Problem: serializing and deserializing these will result in a different - // enum picked, due to naming collision. - #[strum(to_string="AP")] - VAL_AP, - #[strum(to_string="BR")] - VAL_BR, - #[strum(to_string="EU")] - VAL_EU, - #[strum(to_string="KR")] - VAL_KR, - #[strum(to_string="LATAM")] - VAL_LATAM, - #[strum(to_string="NA")] - VAL_NA, -} - -#[cfg(test)] -mod tests { - use super::*; - - #[test] - fn test_basic() { - assert_eq!("BR1", Region::BR.to_string()); - } - - #[test] - fn test_get() { - assert_eq!(Ok(Region::JP), "JP".parse()); - assert_eq!(Ok(Region::NA), "NA1".parse()); - assert!("LA".parse::().is_err()); - } -} \ No newline at end of file diff --git a/src/endpoints.rs b/src/endpoints.rs index 3ca2e81..fbb536d 100644 --- a/src/endpoints.rs +++ b/src/endpoints.rs @@ -19,7 +19,7 @@ use std::vec::Vec; use reqwest::Method; use crate::Result; -use crate::consts::Region; +use crate::consts::{ RegionalRoute, PlatformRoute, ValPlatformRoute }; use crate::riot_api::RiotApi; impl RiotApi { @@ -280,65 +280,69 @@ pub struct AccountV1<'a> { impl<'a> AccountV1<'a> { /// Get account by puuid /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `puuid` /// # Riot Developer API Reference /// `account-v1.getByPuuid` /// /// Note: this method is automatically generated. - pub fn get_by_puuid(&self, region: Region, puuid: &str) + pub fn get_by_puuid(&self, route: RegionalRoute, puuid: &str) -> impl Future> + 'a { - let request = self.base.request(Method::GET, region.into(), &format!("/riot/account/v1/accounts/by-puuid/{}", puuid)); - self.base.execute_val::("account-v1.getByPuuid", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, &format!("/riot/account/v1/accounts/by-puuid/{}", puuid)); + self.base.execute_val::("account-v1.getByPuuid", route_str, request) } /// Get account by riot id /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `tagLine` - When querying for a player by their riot id, the gameName and tagLine query params are required. However not all accounts have a gameName and tagLine associated so these fields may not be included in the response. /// * `gameName` - When querying for a player by their riot id, the gameName and tagLine query params are required. However not all accounts have a gameName and tagLine associated so these fields may not be included in the response. /// # Riot Developer API Reference /// `account-v1.getByRiotId` /// /// Note: this method is automatically generated. - pub fn get_by_riot_id(&self, region: Region, game_name: &str, tag_line: &str) + pub fn get_by_riot_id(&self, route: RegionalRoute, game_name: &str, tag_line: &str) -> impl Future>> + 'a { - let request = self.base.request(Method::GET, region.into(), &format!("/riot/account/v1/accounts/by-riot-id/{}/{}", game_name, tag_line)); - self.base.execute_opt::("account-v1.getByRiotId", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, &format!("/riot/account/v1/accounts/by-riot-id/{}/{}", game_name, tag_line)); + self.base.execute_opt::("account-v1.getByRiotId", route_str, request) } /// Get account by access token /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `Authorization` /// # Riot Developer API Reference /// `account-v1.getByAccessToken` /// /// Note: this method is automatically generated. - pub fn get_by_access_token(&self, region: Region, authorization: &str) + pub fn get_by_access_token(&self, route: RegionalRoute, authorization: &str) -> impl Future> + 'a { - let request = self.base.request(Method::GET, region.into(), "/riot/account/v1/accounts/me"); + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, "/riot/account/v1/accounts/me"); let request = request.header("Authorization", authorization); - self.base.execute_val::("account-v1.getByAccessToken", region.into(), request) + self.base.execute_val::("account-v1.getByAccessToken", route_str, request) } /// Get active shard for a player /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `game` /// * `puuid` /// # Riot Developer API Reference /// `account-v1.getActiveShard` /// /// Note: this method is automatically generated. - pub fn get_active_shard(&self, region: Region, game: &str, puuid: &str) + pub fn get_active_shard(&self, route: RegionalRoute, game: &str, puuid: &str) -> impl Future>> + 'a { - let request = self.base.request(Method::GET, region.into(), &format!("/riot/account/v1/active-shards/by-game/{}/by-puuid/{}", game, puuid)); - self.base.execute_opt::("account-v1.getActiveShard", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, &format!("/riot/account/v1/active-shards/by-game/{}/by-puuid/{}", game, puuid)); + self.base.execute_opt::("account-v1.getActiveShard", route_str, request) } } @@ -355,48 +359,51 @@ pub struct ChampionMasteryV4<'a> { impl<'a> ChampionMasteryV4<'a> { /// Get all champion mastery entries sorted by number of champion points descending, /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `encryptedSummonerId` - Summoner ID associated with the player /// # Riot Developer API Reference /// `champion-mastery-v4.getAllChampionMasteries` /// /// Note: this method is automatically generated. - pub fn get_all_champion_masteries(&self, region: Region, encrypted_summoner_id: &str) + pub fn get_all_champion_masteries(&self, route: PlatformRoute, encrypted_summoner_id: &str) -> impl Future>> + 'a { - let request = self.base.request(Method::GET, region.into(), &format!("/lol/champion-mastery/v4/champion-masteries/by-summoner/{}", encrypted_summoner_id)); - self.base.execute_val::>("champion-mastery-v4.getAllChampionMasteries", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, &format!("/lol/champion-mastery/v4/champion-masteries/by-summoner/{}", encrypted_summoner_id)); + self.base.execute_val::>("champion-mastery-v4.getAllChampionMasteries", route_str, request) } /// Get a champion mastery by player ID and champion ID. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `championId` - Champion ID to retrieve Champion Mastery for /// * `encryptedSummonerId` - Summoner ID associated with the player /// # Riot Developer API Reference /// `champion-mastery-v4.getChampionMastery` /// /// Note: this method is automatically generated. - pub fn get_champion_mastery(&self, region: Region, encrypted_summoner_id: &str, champion_id: crate::consts::Champion) + pub fn get_champion_mastery(&self, route: PlatformRoute, encrypted_summoner_id: &str, champion_id: crate::consts::Champion) -> impl Future>> + 'a { - let request = self.base.request(Method::GET, region.into(), &format!("/lol/champion-mastery/v4/champion-masteries/by-summoner/{}/by-champion/{}", encrypted_summoner_id, champion_id)); - self.base.execute_opt::("champion-mastery-v4.getChampionMastery", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, &format!("/lol/champion-mastery/v4/champion-masteries/by-summoner/{}/by-champion/{}", encrypted_summoner_id, champion_id)); + self.base.execute_opt::("champion-mastery-v4.getChampionMastery", route_str, request) } /// Get a player's total champion mastery score, which is the sum of individual champion mastery levels. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `encryptedSummonerId` - Summoner ID associated with the player /// # Riot Developer API Reference /// `champion-mastery-v4.getChampionMasteryScore` /// /// Note: this method is automatically generated. - pub fn get_champion_mastery_score(&self, region: Region, encrypted_summoner_id: &str) + pub fn get_champion_mastery_score(&self, route: PlatformRoute, encrypted_summoner_id: &str) -> impl Future> + 'a { - let request = self.base.request(Method::GET, region.into(), &format!("/lol/champion-mastery/v4/scores/by-summoner/{}", encrypted_summoner_id)); - self.base.execute_val::("champion-mastery-v4.getChampionMasteryScore", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, &format!("/lol/champion-mastery/v4/scores/by-summoner/{}", encrypted_summoner_id)); + self.base.execute_val::("champion-mastery-v4.getChampionMasteryScore", route_str, request) } } @@ -413,16 +420,17 @@ pub struct ChampionV3<'a> { impl<'a> ChampionV3<'a> { /// Returns champion rotations, including free-to-play and low-level free-to-play rotations (REST) /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// # Riot Developer API Reference /// `champion-v3.getChampionInfo` /// /// Note: this method is automatically generated. - pub fn get_champion_info(&self, region: Region) + pub fn get_champion_info(&self, route: PlatformRoute) -> impl Future> + 'a { - let request = self.base.request(Method::GET, region.into(), "/lol/platform/v3/champion-rotations"); - self.base.execute_val::("champion-v3.getChampionInfo", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, "/lol/platform/v3/champion-rotations"); + self.base.execute_val::("champion-v3.getChampionInfo", route_str, request) } } @@ -441,76 +449,81 @@ impl<'a> ClashV1<'a> { /// ## Implementation Notes /// This endpoint returns a list of active Clash players for a given summoner ID. If a summoner registers for multiple tournaments at the same time (e.g., Saturday and Sunday) then both registrations would appear in this list. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `summonerId` /// # Riot Developer API Reference /// `clash-v1.getPlayersBySummoner` /// /// Note: this method is automatically generated. - pub fn get_players_by_summoner(&self, region: Region, summoner_id: &str) + pub fn get_players_by_summoner(&self, route: PlatformRoute, summoner_id: &str) -> impl Future>> + 'a { - let request = self.base.request(Method::GET, region.into(), &format!("/lol/clash/v1/players/by-summoner/{}", summoner_id)); - self.base.execute_val::>("clash-v1.getPlayersBySummoner", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, &format!("/lol/clash/v1/players/by-summoner/{}", summoner_id)); + self.base.execute_val::>("clash-v1.getPlayersBySummoner", route_str, request) } /// Get team by ID. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `teamId` /// # Riot Developer API Reference /// `clash-v1.getTeamById` /// /// Note: this method is automatically generated. - pub fn get_team_by_id(&self, region: Region, team_id: &str) + pub fn get_team_by_id(&self, route: PlatformRoute, team_id: &str) -> impl Future>> + 'a { - let request = self.base.request(Method::GET, region.into(), &format!("/lol/clash/v1/teams/{}", team_id)); - self.base.execute_opt::("clash-v1.getTeamById", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, &format!("/lol/clash/v1/teams/{}", team_id)); + self.base.execute_opt::("clash-v1.getTeamById", route_str, request) } /// Get all active or upcoming tournaments. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// # Riot Developer API Reference /// `clash-v1.getTournaments` /// /// Note: this method is automatically generated. - pub fn get_tournaments(&self, region: Region) + pub fn get_tournaments(&self, route: PlatformRoute) -> impl Future>> + 'a { - let request = self.base.request(Method::GET, region.into(), "/lol/clash/v1/tournaments"); - self.base.execute_val::>("clash-v1.getTournaments", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, "/lol/clash/v1/tournaments"); + self.base.execute_val::>("clash-v1.getTournaments", route_str, request) } /// Get tournament by team ID. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `teamId` /// # Riot Developer API Reference /// `clash-v1.getTournamentByTeam` /// /// Note: this method is automatically generated. - pub fn get_tournament_by_team(&self, region: Region, team_id: &str) + pub fn get_tournament_by_team(&self, route: PlatformRoute, team_id: &str) -> impl Future>> + 'a { - let request = self.base.request(Method::GET, region.into(), &format!("/lol/clash/v1/tournaments/by-team/{}", team_id)); - self.base.execute_opt::("clash-v1.getTournamentByTeam", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, &format!("/lol/clash/v1/tournaments/by-team/{}", team_id)); + self.base.execute_opt::("clash-v1.getTournamentByTeam", route_str, request) } /// Get tournament by ID. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `tournamentId` /// # Riot Developer API Reference /// `clash-v1.getTournamentById` /// /// Note: this method is automatically generated. - pub fn get_tournament_by_id(&self, region: Region, tournament_id: i32) + pub fn get_tournament_by_id(&self, route: PlatformRoute, tournament_id: i32) -> impl Future>> + 'a { - let request = self.base.request(Method::GET, region.into(), &format!("/lol/clash/v1/tournaments/{}", tournament_id)); - self.base.execute_opt::("clash-v1.getTournamentById", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, &format!("/lol/clash/v1/tournaments/{}", tournament_id)); + self.base.execute_opt::("clash-v1.getTournamentById", route_str, request) } } @@ -527,7 +540,7 @@ pub struct LeagueExpV4<'a> { impl<'a> LeagueExpV4<'a> { /// Get all the league entries. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `queue` - Note that the queue value must be a valid ranked queue. /// * `tier` /// * `division` @@ -536,12 +549,13 @@ impl<'a> LeagueExpV4<'a> { /// `league-exp-v4.getLeagueEntries` /// /// Note: this method is automatically generated. - pub fn get_league_entries(&self, region: Region, queue: crate::consts::QueueType, tier: crate::consts::Tier, division: crate::consts::Division, page: Option) + pub fn get_league_entries(&self, route: PlatformRoute, queue: crate::consts::QueueType, tier: crate::consts::Tier, division: crate::consts::Division, page: Option) -> impl Future>> + 'a { - let request = self.base.request(Method::GET, region.into(), &format!("/lol/league-exp/v4/entries/{}/{}/{}", queue, tier, division)); + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, &format!("/lol/league-exp/v4/entries/{}/{}/{}", queue, tier, division)); let mut request = request; if let Some(page) = page { request = request.query(&[ ("page", page) ]); } - self.base.execute_val::>("league-exp-v4.getLeagueEntries", region.into(), request) + self.base.execute_val::>("league-exp-v4.getLeagueEntries", route_str, request) } } @@ -558,37 +572,39 @@ pub struct LeagueV4<'a> { impl<'a> LeagueV4<'a> { /// Get the challenger league for given queue. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `queue` /// # Riot Developer API Reference /// `league-v4.getChallengerLeague` /// /// Note: this method is automatically generated. - pub fn get_challenger_league(&self, region: Region, queue: crate::consts::QueueType) + pub fn get_challenger_league(&self, route: PlatformRoute, queue: crate::consts::QueueType) -> impl Future> + 'a { - let request = self.base.request(Method::GET, region.into(), &format!("/lol/league/v4/challengerleagues/by-queue/{}", queue)); - self.base.execute_val::("league-v4.getChallengerLeague", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, &format!("/lol/league/v4/challengerleagues/by-queue/{}", queue)); + self.base.execute_val::("league-v4.getChallengerLeague", route_str, request) } /// Get league entries in all queues for a given summoner ID. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `encryptedSummonerId` /// # Riot Developer API Reference /// `league-v4.getLeagueEntriesForSummoner` /// /// Note: this method is automatically generated. - pub fn get_league_entries_for_summoner(&self, region: Region, encrypted_summoner_id: &str) + pub fn get_league_entries_for_summoner(&self, route: PlatformRoute, encrypted_summoner_id: &str) -> impl Future>> + 'a { - let request = self.base.request(Method::GET, region.into(), &format!("/lol/league/v4/entries/by-summoner/{}", encrypted_summoner_id)); - self.base.execute_val::>("league-v4.getLeagueEntriesForSummoner", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, &format!("/lol/league/v4/entries/by-summoner/{}", encrypted_summoner_id)); + self.base.execute_val::>("league-v4.getLeagueEntriesForSummoner", route_str, request) } /// Get all the league entries. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `division` /// * `tier` /// * `queue` - Note that the queue value must be a valid ranked queue. @@ -597,57 +613,61 @@ impl<'a> LeagueV4<'a> { /// `league-v4.getLeagueEntries` /// /// Note: this method is automatically generated. - pub fn get_league_entries(&self, region: Region, queue: crate::consts::QueueType, tier: crate::consts::Tier, division: crate::consts::Division, page: Option) + pub fn get_league_entries(&self, route: PlatformRoute, queue: crate::consts::QueueType, tier: crate::consts::Tier, division: crate::consts::Division, page: Option) -> impl Future>> + 'a { - let request = self.base.request(Method::GET, region.into(), &format!("/lol/league/v4/entries/{}/{}/{}", queue, tier, division)); + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, &format!("/lol/league/v4/entries/{}/{}/{}", queue, tier, division)); let mut request = request; if let Some(page) = page { request = request.query(&[ ("page", page) ]); } - self.base.execute_val::>("league-v4.getLeagueEntries", region.into(), request) + self.base.execute_val::>("league-v4.getLeagueEntries", route_str, request) } /// Get the grandmaster league of a specific queue. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `queue` /// # Riot Developer API Reference /// `league-v4.getGrandmasterLeague` /// /// Note: this method is automatically generated. - pub fn get_grandmaster_league(&self, region: Region, queue: crate::consts::QueueType) + pub fn get_grandmaster_league(&self, route: PlatformRoute, queue: crate::consts::QueueType) -> impl Future> + 'a { - let request = self.base.request(Method::GET, region.into(), &format!("/lol/league/v4/grandmasterleagues/by-queue/{}", queue)); - self.base.execute_val::("league-v4.getGrandmasterLeague", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, &format!("/lol/league/v4/grandmasterleagues/by-queue/{}", queue)); + self.base.execute_val::("league-v4.getGrandmasterLeague", route_str, request) } /// Get league with given ID, including inactive entries. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `leagueId` - The UUID of the league. /// # Riot Developer API Reference /// `league-v4.getLeagueById` /// /// Note: this method is automatically generated. - pub fn get_league_by_id(&self, region: Region, league_id: &str) + pub fn get_league_by_id(&self, route: PlatformRoute, league_id: &str) -> impl Future>> + 'a { - let request = self.base.request(Method::GET, region.into(), &format!("/lol/league/v4/leagues/{}", league_id)); - self.base.execute_opt::("league-v4.getLeagueById", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, &format!("/lol/league/v4/leagues/{}", league_id)); + self.base.execute_opt::("league-v4.getLeagueById", route_str, request) } /// Get the master league for given queue. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `queue` /// # Riot Developer API Reference /// `league-v4.getMasterLeague` /// /// Note: this method is automatically generated. - pub fn get_master_league(&self, region: Region, queue: crate::consts::QueueType) + pub fn get_master_league(&self, route: PlatformRoute, queue: crate::consts::QueueType) -> impl Future> + 'a { - let request = self.base.request(Method::GET, region.into(), &format!("/lol/league/v4/masterleagues/by-queue/{}", queue)); - self.base.execute_val::("league-v4.getMasterLeague", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, &format!("/lol/league/v4/masterleagues/by-queue/{}", queue)); + self.base.execute_val::("league-v4.getMasterLeague", route_str, request) } } @@ -666,16 +686,17 @@ impl<'a> LolStatusV3<'a> { /// ## Rate Limit Notes /// Requests to this API are not counted against the application Rate Limits. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// # Riot Developer API Reference /// `lol-status-v3.getShardData` /// /// Note: this method is automatically generated. - pub fn get_shard_data(&self, region: Region) + pub fn get_shard_data(&self, route: PlatformRoute) -> impl Future> + 'a { - let request = self.base.request(Method::GET, region.into(), "/lol/status/v3/shard-data"); - self.base.execute_val::("lol-status-v3.getShardData", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, "/lol/status/v3/shard-data"); + self.base.execute_val::("lol-status-v3.getShardData", route_str, request) } } @@ -692,16 +713,17 @@ pub struct LolStatusV4<'a> { impl<'a> LolStatusV4<'a> { /// Get League of Legends status for the given platform. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// # Riot Developer API Reference /// `lol-status-v4.getPlatformData` /// /// Note: this method is automatically generated. - pub fn get_platform_data(&self, region: Region) + pub fn get_platform_data(&self, route: PlatformRoute) -> impl Future> + 'a { - let request = self.base.request(Method::GET, region.into(), "/lol/status/v4/platform-data"); - self.base.execute_val::("lol-status-v4.getPlatformData", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, "/lol/status/v4/platform-data"); + self.base.execute_val::("lol-status-v4.getPlatformData", route_str, request) } } @@ -718,35 +740,37 @@ pub struct LorDeckV1<'a> { impl<'a> LorDeckV1<'a> { /// Get a list of the calling user's decks. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `Authorization` /// # Riot Developer API Reference /// `lor-deck-v1.getDecks` /// /// Note: this method is automatically generated. - pub fn get_decks(&self, region: Region, authorization: &str) + pub fn get_decks(&self, route: RegionalRoute, authorization: &str) -> impl Future>> + 'a { - let request = self.base.request(Method::GET, region.into(), "/lor/deck/v1/decks/me"); + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, "/lor/deck/v1/decks/me"); let request = request.header("Authorization", authorization); - self.base.execute_val::>("lor-deck-v1.getDecks", region.into(), request) + self.base.execute_val::>("lor-deck-v1.getDecks", route_str, request) } /// Create a new deck for the calling user. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `Authorization` /// # Riot Developer API Reference /// `lor-deck-v1.createDeck` /// /// Note: this method is automatically generated. - pub fn create_deck(&self, region: Region, body: &lor_deck_v1::NewDeck, authorization: &str) + pub fn create_deck(&self, route: RegionalRoute, body: &lor_deck_v1::NewDeck, authorization: &str) -> impl Future> + 'a { - let request = self.base.request(Method::POST, region.into(), "/lor/deck/v1/decks/me"); + let route_str = route.into(); + let request = self.base.request(Method::POST, route_str, "/lor/deck/v1/decks/me"); let request = request.header("Authorization", authorization); let request = request.body(serde_json::ser::to_vec(body).unwrap()); - self.base.execute_val::("lor-deck-v1.createDeck", region.into(), request) + self.base.execute_val::("lor-deck-v1.createDeck", route_str, request) } } @@ -763,18 +787,19 @@ pub struct LorInventoryV1<'a> { impl<'a> LorInventoryV1<'a> { /// Return a list of cards owned by the calling user. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `Authorization` /// # Riot Developer API Reference /// `lor-inventory-v1.getCards` /// /// Note: this method is automatically generated. - pub fn get_cards(&self, region: Region, authorization: &str) + pub fn get_cards(&self, route: RegionalRoute, authorization: &str) -> impl Future>> + 'a { - let request = self.base.request(Method::GET, region.into(), "/lor/inventory/v1/cards/me"); + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, "/lor/inventory/v1/cards/me"); let request = request.header("Authorization", authorization); - self.base.execute_val::>("lor-inventory-v1.getCards", region.into(), request) + self.base.execute_val::>("lor-inventory-v1.getCards", route_str, request) } } @@ -791,32 +816,34 @@ pub struct LorMatchV1<'a> { impl<'a> LorMatchV1<'a> { /// Get a list of match ids by PUUID /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `puuid` /// # Riot Developer API Reference /// `lor-match-v1.getMatchIdsByPUUID` /// /// Note: this method is automatically generated. - pub fn get_match_ids_by_puuid(&self, region: Region, puuid: &str) + pub fn get_match_ids_by_puuid(&self, route: RegionalRoute, puuid: &str) -> impl Future>> + 'a { - let request = self.base.request(Method::GET, region.into(), &format!("/lor/match/v1/matches/by-puuid/{}/ids", puuid)); - self.base.execute_val::>("lor-match-v1.getMatchIdsByPUUID", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, &format!("/lor/match/v1/matches/by-puuid/{}/ids", puuid)); + self.base.execute_val::>("lor-match-v1.getMatchIdsByPUUID", route_str, request) } /// Get match by id /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `matchId` /// # Riot Developer API Reference /// `lor-match-v1.getMatch` /// /// Note: this method is automatically generated. - pub fn get_match(&self, region: Region, match_id: &str) + pub fn get_match(&self, route: RegionalRoute, match_id: &str) -> impl Future> + 'a { - let request = self.base.request(Method::GET, region.into(), &format!("/lor/match/v1/matches/{}", match_id)); - self.base.execute_val::("lor-match-v1.getMatch", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, &format!("/lor/match/v1/matches/{}", match_id)); + self.base.execute_val::("lor-match-v1.getMatch", route_str, request) } } @@ -833,16 +860,17 @@ pub struct LorRankedV1<'a> { impl<'a> LorRankedV1<'a> { /// Get the players in Master tier. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// # Riot Developer API Reference /// `lor-ranked-v1.getLeaderboards` /// /// Note: this method is automatically generated. - pub fn get_leaderboards(&self, region: Region) + pub fn get_leaderboards(&self, route: RegionalRoute) -> impl Future> + 'a { - let request = self.base.request(Method::GET, region.into(), "/lor/ranked/v1/leaderboards"); - self.base.execute_val::("lor-ranked-v1.getLeaderboards", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, "/lor/ranked/v1/leaderboards"); + self.base.execute_val::("lor-ranked-v1.getLeaderboards", route_str, request) } } @@ -859,16 +887,17 @@ pub struct LorStatusV1<'a> { impl<'a> LorStatusV1<'a> { /// Get Legends of Runeterra status for the given platform. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// # Riot Developer API Reference /// `lor-status-v1.getPlatformData` /// /// Note: this method is automatically generated. - pub fn get_platform_data(&self, region: Region) + pub fn get_platform_data(&self, route: RegionalRoute) -> impl Future> + 'a { - let request = self.base.request(Method::GET, region.into(), "/lor/status/v1/platform-data"); - self.base.execute_val::("lor-status-v1.getPlatformData", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, "/lor/status/v1/platform-data"); + self.base.execute_val::("lor-status-v1.getPlatformData", route_str, request) } } @@ -885,48 +914,51 @@ pub struct MatchV4<'a> { impl<'a> MatchV4<'a> { /// Get match IDs by tournament code. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `tournamentCode` - 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, region: Region, tournament_code: &str) + pub fn get_match_ids_by_tournament_code(&self, route: PlatformRoute, tournament_code: &str) -> impl Future>> + 'a { - let request = self.base.request(Method::GET, region.into(), &format!("/lol/match/v4/matches/by-tournament-code/{}/ids", tournament_code)); - self.base.execute_val::>("match-v4.getMatchIdsByTournamentCode", region.into(), request) + 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)); + self.base.execute_val::>("match-v4.getMatchIdsByTournamentCode", route_str, request) } /// Get match by match ID. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `matchId` - The match ID. /// # Riot Developer API Reference /// `match-v4.getMatch` /// /// Note: this method is automatically generated. - pub fn get_match(&self, region: Region, match_id: i64) + pub fn get_match(&self, route: PlatformRoute, match_id: i64) -> impl Future>> + 'a { - let request = self.base.request(Method::GET, region.into(), &format!("/lol/match/v4/matches/{}", match_id)); - self.base.execute_opt::("match-v4.getMatch", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, &format!("/lol/match/v4/matches/{}", match_id)); + self.base.execute_opt::("match-v4.getMatch", route_str, request) } /// Get match by match ID and tournament code. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `tournamentCode` - The tournament code. /// * `matchId` - The match ID. /// # Riot Developer API Reference /// `match-v4.getMatchByTournamentCode` /// /// Note: this method is automatically generated. - pub fn get_match_by_tournament_code(&self, region: Region, match_id: i64, tournament_code: &str) + pub fn get_match_by_tournament_code(&self, route: PlatformRoute, match_id: i64, tournament_code: &str) -> impl Future> + 'a { - let request = self.base.request(Method::GET, region.into(), &format!("/lol/match/v4/matches/{}/by-tournament-code/{}", match_id, tournament_code)); - self.base.execute_val::("match-v4.getMatchByTournamentCode", region.into(), request) + 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)); + self.base.execute_val::("match-v4.getMatchByTournamentCode", route_str, request) } /// Get matchlist for games played on given account ID and platform ID and filtered using given filter parameters, if any. @@ -937,7 +969,7 @@ impl<'a> MatchV4<'a> { /// /// 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 - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `encryptedAccountId` - The account ID. /// * `champion` (optional) - Set of champion IDs for filtering the matchlist. /// * `queue` (optional) - Set of queue IDs for filtering the matchlist. @@ -950,10 +982,11 @@ impl<'a> MatchV4<'a> { /// `match-v4.getMatchlist` /// /// Note: this method is automatically generated. - pub fn get_matchlist(&self, region: Region, 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]>) + 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 request = self.base.request(Method::GET, region.into(), &format!("/lol/match/v4/matchlists/by-account/{}", encrypted_account_id)); + 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::>()); } @@ -961,24 +994,25 @@ impl<'a> MatchV4<'a> { 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::>()); } - self.base.execute_opt::("match-v4.getMatchlist", region.into(), request) + self.base.execute_opt::("match-v4.getMatchlist", route_str, request) } /// Get match timeline by match ID. /// ## Implementation Notes /// Not all matches have timeline data. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `matchId` - The match ID. /// # Riot Developer API Reference /// `match-v4.getMatchTimeline` /// /// Note: this method is automatically generated. - pub fn get_match_timeline(&self, region: Region, match_id: i64) + pub fn get_match_timeline(&self, route: PlatformRoute, match_id: i64) -> impl Future>> + 'a { - let request = self.base.request(Method::GET, region.into(), &format!("/lol/match/v4/timelines/by-match/{}", match_id)); - self.base.execute_opt::("match-v4.getMatchTimeline", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, &format!("/lol/match/v4/timelines/by-match/{}", match_id)); + self.base.execute_opt::("match-v4.getMatchTimeline", route_str, request) } } @@ -995,7 +1029,7 @@ pub struct MatchV5<'a> { impl<'a> MatchV5<'a> { /// Get a list of match ids by puuid /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `puuid` /// * `start` (optional) - Defaults to 0. Start index. /// * `count` (optional) - Defaults to 20. Valid values: 0 to 100. Match id count. @@ -1003,43 +1037,46 @@ impl<'a> MatchV5<'a> { /// `match-v5.getMatchIdsByPUUID` /// /// Note: this method is automatically generated. - pub fn get_match_ids_by_puuid(&self, region: Region, puuid: &str, count: Option, start: Option) + pub fn get_match_ids_by_puuid(&self, route: RegionalRoute, puuid: &str, count: Option, start: Option) -> impl Future>> + 'a { - let request = self.base.request(Method::GET, region.into(), &format!("/lol/match/v5/matches/by-puuid/{}/ids", puuid)); + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, &format!("/lol/match/v5/matches/by-puuid/{}/ids", puuid)); let mut request = request; if let Some(count) = count { request = request.query(&[ ("count", count) ]); } let mut request = request; if let Some(start) = start { request = request.query(&[ ("start", start) ]); } - self.base.execute_val::>("match-v5.getMatchIdsByPUUID", region.into(), request) + self.base.execute_val::>("match-v5.getMatchIdsByPUUID", route_str, request) } /// Get a match by match id /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `matchId` /// # Riot Developer API Reference /// `match-v5.getMatch` /// /// Note: this method is automatically generated. - pub fn get_match(&self, region: Region, match_id: &str) + pub fn get_match(&self, route: RegionalRoute, match_id: &str) -> impl Future> + 'a { - let request = self.base.request(Method::GET, region.into(), &format!("/lol/match/v5/matches/{}", match_id)); - self.base.execute_val::("match-v5.getMatch", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, &format!("/lol/match/v5/matches/{}", match_id)); + self.base.execute_val::("match-v5.getMatch", route_str, request) } /// Get a match timeline by match id /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `matchId` /// # Riot Developer API Reference /// `match-v5.getTimeline` /// /// Note: this method is automatically generated. - pub fn get_timeline(&self, region: Region, match_id: &str) + pub fn get_timeline(&self, route: RegionalRoute, match_id: &str) -> impl Future> + 'a { - let request = self.base.request(Method::GET, region.into(), &format!("/lol/match/v5/matches/{}/timeline", match_id)); - self.base.execute_val::("match-v5.getTimeline", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, &format!("/lol/match/v5/matches/{}/timeline", match_id)); + self.base.execute_val::("match-v5.getTimeline", route_str, request) } } @@ -1056,31 +1093,33 @@ pub struct SpectatorV4<'a> { impl<'a> SpectatorV4<'a> { /// Get current game information for the given summoner ID. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `encryptedSummonerId` - The ID of the summoner. /// # Riot Developer API Reference /// `spectator-v4.getCurrentGameInfoBySummoner` /// /// Note: this method is automatically generated. - pub fn get_current_game_info_by_summoner(&self, region: Region, encrypted_summoner_id: &str) + pub fn get_current_game_info_by_summoner(&self, route: PlatformRoute, encrypted_summoner_id: &str) -> impl Future>> + 'a { - let request = self.base.request(Method::GET, region.into(), &format!("/lol/spectator/v4/active-games/by-summoner/{}", encrypted_summoner_id)); - self.base.execute_opt::("spectator-v4.getCurrentGameInfoBySummoner", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, &format!("/lol/spectator/v4/active-games/by-summoner/{}", encrypted_summoner_id)); + self.base.execute_opt::("spectator-v4.getCurrentGameInfoBySummoner", route_str, request) } /// Get list of featured games. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// # Riot Developer API Reference /// `spectator-v4.getFeaturedGames` /// /// Note: this method is automatically generated. - pub fn get_featured_games(&self, region: Region) + pub fn get_featured_games(&self, route: PlatformRoute) -> impl Future> + 'a { - let request = self.base.request(Method::GET, region.into(), "/lol/spectator/v4/featured-games"); - self.base.execute_val::("spectator-v4.getFeaturedGames", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, "/lol/spectator/v4/featured-games"); + self.base.execute_val::("spectator-v4.getFeaturedGames", route_str, request) } } @@ -1097,78 +1136,83 @@ pub struct SummonerV4<'a> { impl<'a> SummonerV4<'a> { /// Get a summoner by account ID. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `encryptedAccountId` /// # Riot Developer API Reference /// `summoner-v4.getByAccountId` /// /// Note: this method is automatically generated. - pub fn get_by_account_id(&self, region: Region, encrypted_account_id: &str) + pub fn get_by_account_id(&self, route: PlatformRoute, encrypted_account_id: &str) -> impl Future> + 'a { - let request = self.base.request(Method::GET, region.into(), &format!("/lol/summoner/v4/summoners/by-account/{}", encrypted_account_id)); - self.base.execute_val::("summoner-v4.getByAccountId", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, &format!("/lol/summoner/v4/summoners/by-account/{}", encrypted_account_id)); + self.base.execute_val::("summoner-v4.getByAccountId", route_str, request) } /// Get a summoner by summoner name. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `summonerName` - Summoner Name /// # Riot Developer API Reference /// `summoner-v4.getBySummonerName` /// /// Note: this method is automatically generated. - pub fn get_by_summoner_name(&self, region: Region, summoner_name: &str) + pub fn get_by_summoner_name(&self, route: PlatformRoute, summoner_name: &str) -> impl Future>> + 'a { - let request = self.base.request(Method::GET, region.into(), &format!("/lol/summoner/v4/summoners/by-name/{}", summoner_name)); - self.base.execute_opt::("summoner-v4.getBySummonerName", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, &format!("/lol/summoner/v4/summoners/by-name/{}", summoner_name)); + self.base.execute_opt::("summoner-v4.getBySummonerName", route_str, request) } /// Get a summoner by PUUID. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `encryptedPUUID` - Summoner ID /// # Riot Developer API Reference /// `summoner-v4.getByPUUID` /// /// Note: this method is automatically generated. - pub fn get_by_puuid(&self, region: Region, encrypted_puuid: &str) + pub fn get_by_puuid(&self, route: PlatformRoute, encrypted_puuid: &str) -> impl Future> + 'a { - let request = self.base.request(Method::GET, region.into(), &format!("/lol/summoner/v4/summoners/by-puuid/{}", encrypted_puuid)); - self.base.execute_val::("summoner-v4.getByPUUID", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, &format!("/lol/summoner/v4/summoners/by-puuid/{}", encrypted_puuid)); + self.base.execute_val::("summoner-v4.getByPUUID", route_str, request) } /// Get a summoner by access token. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `Authorization` (optional) - Bearer token /// # Riot Developer API Reference /// `summoner-v4.getByAccessToken` /// /// Note: this method is automatically generated. - pub fn get_by_access_token(&self, region: Region, authorization: Option<&str>) + pub fn get_by_access_token(&self, route: PlatformRoute, authorization: Option<&str>) -> impl Future> + 'a { - let request = self.base.request(Method::GET, region.into(), "/lol/summoner/v4/summoners/me"); + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, "/lol/summoner/v4/summoners/me"); let mut request = request; if let Some(authorization) = authorization { request = request.header("Authorization", authorization); } - self.base.execute_val::("summoner-v4.getByAccessToken", region.into(), request) + self.base.execute_val::("summoner-v4.getByAccessToken", route_str, request) } /// Get a summoner by summoner ID. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `encryptedSummonerId` - Summoner ID /// # Riot Developer API Reference /// `summoner-v4.getBySummonerId` /// /// Note: this method is automatically generated. - pub fn get_by_summoner_id(&self, region: Region, encrypted_summoner_id: &str) + pub fn get_by_summoner_id(&self, route: PlatformRoute, encrypted_summoner_id: &str) -> impl Future> + 'a { - let request = self.base.request(Method::GET, region.into(), &format!("/lol/summoner/v4/summoners/{}", encrypted_summoner_id)); - self.base.execute_val::("summoner-v4.getBySummonerId", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, &format!("/lol/summoner/v4/summoners/{}", encrypted_summoner_id)); + self.base.execute_val::("summoner-v4.getBySummonerId", route_str, request) } } @@ -1185,36 +1229,38 @@ pub struct TftLeagueV1<'a> { impl<'a> TftLeagueV1<'a> { /// Get the challenger league. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// # Riot Developer API Reference /// `tft-league-v1.getChallengerLeague` /// /// Note: this method is automatically generated. - pub fn get_challenger_league(&self, region: Region) + pub fn get_challenger_league(&self, route: PlatformRoute) -> impl Future> + 'a { - let request = self.base.request(Method::GET, region.into(), "/tft/league/v1/challenger"); - self.base.execute_val::("tft-league-v1.getChallengerLeague", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, "/tft/league/v1/challenger"); + self.base.execute_val::("tft-league-v1.getChallengerLeague", route_str, request) } /// Get league entries for a given summoner ID. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `summonerId` /// # Riot Developer API Reference /// `tft-league-v1.getLeagueEntriesForSummoner` /// /// Note: this method is automatically generated. - pub fn get_league_entries_for_summoner(&self, region: Region, summoner_id: &str) + pub fn get_league_entries_for_summoner(&self, route: PlatformRoute, summoner_id: &str) -> impl Future>> + 'a { - let request = self.base.request(Method::GET, region.into(), &format!("/tft/league/v1/entries/by-summoner/{}", summoner_id)); - self.base.execute_val::>("tft-league-v1.getLeagueEntriesForSummoner", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, &format!("/tft/league/v1/entries/by-summoner/{}", summoner_id)); + self.base.execute_val::>("tft-league-v1.getLeagueEntriesForSummoner", route_str, request) } /// Get all the league entries. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `tier` /// * `division` /// * `page` (optional) - Defaults to 1. Starts with page 1. @@ -1222,70 +1268,75 @@ impl<'a> TftLeagueV1<'a> { /// `tft-league-v1.getLeagueEntries` /// /// Note: this method is automatically generated. - pub fn get_league_entries(&self, region: Region, tier: &str, division: &str, page: Option) + pub fn get_league_entries(&self, route: PlatformRoute, tier: &str, division: &str, page: Option) -> impl Future>> + 'a { - let request = self.base.request(Method::GET, region.into(), &format!("/tft/league/v1/entries/{}/{}", tier, division)); + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, &format!("/tft/league/v1/entries/{}/{}", tier, division)); let mut request = request; if let Some(page) = page { request = request.query(&[ ("page", page) ]); } - self.base.execute_val::>("tft-league-v1.getLeagueEntries", region.into(), request) + self.base.execute_val::>("tft-league-v1.getLeagueEntries", route_str, request) } /// Get the grandmaster league. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// # Riot Developer API Reference /// `tft-league-v1.getGrandmasterLeague` /// /// Note: this method is automatically generated. - pub fn get_grandmaster_league(&self, region: Region) + pub fn get_grandmaster_league(&self, route: PlatformRoute) -> impl Future> + 'a { - let request = self.base.request(Method::GET, region.into(), "/tft/league/v1/grandmaster"); - self.base.execute_val::("tft-league-v1.getGrandmasterLeague", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, "/tft/league/v1/grandmaster"); + self.base.execute_val::("tft-league-v1.getGrandmasterLeague", route_str, request) } /// Get league with given ID, including inactive entries. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `leagueId` - The UUID of the league. /// # Riot Developer API Reference /// `tft-league-v1.getLeagueById` /// /// Note: this method is automatically generated. - pub fn get_league_by_id(&self, region: Region, league_id: &str) + pub fn get_league_by_id(&self, route: PlatformRoute, league_id: &str) -> impl Future>> + 'a { - let request = self.base.request(Method::GET, region.into(), &format!("/tft/league/v1/leagues/{}", league_id)); - self.base.execute_opt::("tft-league-v1.getLeagueById", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, &format!("/tft/league/v1/leagues/{}", league_id)); + self.base.execute_opt::("tft-league-v1.getLeagueById", route_str, request) } /// Get the master league. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// # Riot Developer API Reference /// `tft-league-v1.getMasterLeague` /// /// Note: this method is automatically generated. - pub fn get_master_league(&self, region: Region) + pub fn get_master_league(&self, route: PlatformRoute) -> impl Future> + 'a { - let request = self.base.request(Method::GET, region.into(), "/tft/league/v1/master"); - self.base.execute_val::("tft-league-v1.getMasterLeague", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, "/tft/league/v1/master"); + self.base.execute_val::("tft-league-v1.getMasterLeague", route_str, request) } /// Get the top rated ladder for given queue /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `queue` /// # Riot Developer API Reference /// `tft-league-v1.getTopRatedLadder` /// /// Note: this method is automatically generated. - pub fn get_top_rated_ladder(&self, region: Region, queue: crate::consts::QueueType) + pub fn get_top_rated_ladder(&self, route: PlatformRoute, queue: crate::consts::QueueType) -> impl Future>> + 'a { - let request = self.base.request(Method::GET, region.into(), &format!("/tft/league/v1/rated-ladders/{}/top", queue)); - self.base.execute_val::>("tft-league-v1.getTopRatedLadder", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, &format!("/tft/league/v1/rated-ladders/{}/top", queue)); + self.base.execute_val::>("tft-league-v1.getTopRatedLadder", route_str, request) } } @@ -1302,34 +1353,36 @@ pub struct TftMatchV1<'a> { impl<'a> TftMatchV1<'a> { /// Get a list of match ids by PUUID /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `puuid` /// * `count` (optional) - Defaults to 20. /// # Riot Developer API Reference /// `tft-match-v1.getMatchIdsByPUUID` /// /// Note: this method is automatically generated. - pub fn get_match_ids_by_puuid(&self, region: Region, puuid: &str, count: Option) + pub fn get_match_ids_by_puuid(&self, route: RegionalRoute, puuid: &str, count: Option) -> impl Future>> + 'a { - let request = self.base.request(Method::GET, region.into(), &format!("/tft/match/v1/matches/by-puuid/{}/ids", puuid)); + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, &format!("/tft/match/v1/matches/by-puuid/{}/ids", puuid)); let mut request = request; if let Some(count) = count { request = request.query(&[ ("count", count) ]); } - self.base.execute_val::>("tft-match-v1.getMatchIdsByPUUID", region.into(), request) + self.base.execute_val::>("tft-match-v1.getMatchIdsByPUUID", route_str, request) } /// Get a match by match id /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `matchId` /// # Riot Developer API Reference /// `tft-match-v1.getMatch` /// /// Note: this method is automatically generated. - pub fn get_match(&self, region: Region, match_id: &str) + pub fn get_match(&self, route: RegionalRoute, match_id: &str) -> impl Future>> + 'a { - let request = self.base.request(Method::GET, region.into(), &format!("/tft/match/v1/matches/{}", match_id)); - self.base.execute_opt::("tft-match-v1.getMatch", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, &format!("/tft/match/v1/matches/{}", match_id)); + self.base.execute_opt::("tft-match-v1.getMatch", route_str, request) } } @@ -1346,78 +1399,83 @@ pub struct TftSummonerV1<'a> { impl<'a> TftSummonerV1<'a> { /// Get a summoner by account ID. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `encryptedAccountId` /// # Riot Developer API Reference /// `tft-summoner-v1.getByAccountId` /// /// Note: this method is automatically generated. - pub fn get_by_account_id(&self, region: Region, encrypted_account_id: &str) + pub fn get_by_account_id(&self, route: PlatformRoute, encrypted_account_id: &str) -> impl Future> + 'a { - let request = self.base.request(Method::GET, region.into(), &format!("/tft/summoner/v1/summoners/by-account/{}", encrypted_account_id)); - self.base.execute_val::("tft-summoner-v1.getByAccountId", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, &format!("/tft/summoner/v1/summoners/by-account/{}", encrypted_account_id)); + self.base.execute_val::("tft-summoner-v1.getByAccountId", route_str, request) } /// Get a summoner by summoner name. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `summonerName` - Summoner Name /// # Riot Developer API Reference /// `tft-summoner-v1.getBySummonerName` /// /// Note: this method is automatically generated. - pub fn get_by_summoner_name(&self, region: Region, summoner_name: &str) + pub fn get_by_summoner_name(&self, route: PlatformRoute, summoner_name: &str) -> impl Future>> + 'a { - let request = self.base.request(Method::GET, region.into(), &format!("/tft/summoner/v1/summoners/by-name/{}", summoner_name)); - self.base.execute_opt::("tft-summoner-v1.getBySummonerName", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, &format!("/tft/summoner/v1/summoners/by-name/{}", summoner_name)); + self.base.execute_opt::("tft-summoner-v1.getBySummonerName", route_str, request) } /// Get a summoner by PUUID. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `encryptedPUUID` - Summoner ID /// # Riot Developer API Reference /// `tft-summoner-v1.getByPUUID` /// /// Note: this method is automatically generated. - pub fn get_by_puuid(&self, region: Region, encrypted_puuid: &str) + pub fn get_by_puuid(&self, route: PlatformRoute, encrypted_puuid: &str) -> impl Future> + 'a { - let request = self.base.request(Method::GET, region.into(), &format!("/tft/summoner/v1/summoners/by-puuid/{}", encrypted_puuid)); - self.base.execute_val::("tft-summoner-v1.getByPUUID", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, &format!("/tft/summoner/v1/summoners/by-puuid/{}", encrypted_puuid)); + self.base.execute_val::("tft-summoner-v1.getByPUUID", route_str, request) } /// Get a summoner by access token. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `Authorization` (optional) - Bearer token. /// # Riot Developer API Reference /// `tft-summoner-v1.getByAccessToken` /// /// Note: this method is automatically generated. - pub fn get_by_access_token(&self, region: Region, authorization: Option<&str>) + pub fn get_by_access_token(&self, route: PlatformRoute, authorization: Option<&str>) -> impl Future> + 'a { - let request = self.base.request(Method::GET, region.into(), "/tft/summoner/v1/summoners/me"); + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, "/tft/summoner/v1/summoners/me"); let mut request = request; if let Some(authorization) = authorization { request = request.header("Authorization", authorization); } - self.base.execute_val::("tft-summoner-v1.getByAccessToken", region.into(), request) + self.base.execute_val::("tft-summoner-v1.getByAccessToken", route_str, request) } /// Get a summoner by summoner ID. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `encryptedSummonerId` - Summoner ID /// # Riot Developer API Reference /// `tft-summoner-v1.getBySummonerId` /// /// Note: this method is automatically generated. - pub fn get_by_summoner_id(&self, region: Region, encrypted_summoner_id: &str) + pub fn get_by_summoner_id(&self, route: PlatformRoute, encrypted_summoner_id: &str) -> impl Future> + 'a { - let request = self.base.request(Method::GET, region.into(), &format!("/tft/summoner/v1/summoners/{}", encrypted_summoner_id)); - self.base.execute_val::("tft-summoner-v1.getBySummonerId", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, &format!("/tft/summoner/v1/summoners/{}", encrypted_summoner_id)); + self.base.execute_val::("tft-summoner-v1.getBySummonerId", route_str, request) } } @@ -1434,17 +1492,18 @@ pub struct ThirdPartyCodeV4<'a> { impl<'a> ThirdPartyCodeV4<'a> { /// Get third party code for a given summoner ID. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `encryptedSummonerId` /// # Riot Developer API Reference /// `third-party-code-v4.getThirdPartyCodeBySummonerId` /// /// Note: this method is automatically generated. - pub fn get_third_party_code_by_summoner_id(&self, region: Region, encrypted_summoner_id: &str) + pub fn get_third_party_code_by_summoner_id(&self, route: PlatformRoute, encrypted_summoner_id: &str) -> impl Future> + 'a { - let request = self.base.request(Method::GET, region.into(), &format!("/lol/platform/v4/third-party-code/by-summoner/{}", encrypted_summoner_id)); - self.base.execute_val::("third-party-code-v4.getThirdPartyCodeBySummonerId", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, &format!("/lol/platform/v4/third-party-code/by-summoner/{}", encrypted_summoner_id)); + self.base.execute_val::("third-party-code-v4.getThirdPartyCodeBySummonerId", route_str, request) } } @@ -1461,68 +1520,72 @@ pub struct TournamentStubV4<'a> { impl<'a> TournamentStubV4<'a> { /// Create a mock tournament code for the given tournament. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `count` (optional) - The number of codes to create (max 1000) /// * `tournamentId` - The tournament ID /// # Riot Developer API Reference /// `tournament-stub-v4.createTournamentCode` /// /// Note: this method is automatically generated. - pub fn create_tournament_code(&self, region: Region, body: &tournament_stub_v4::TournamentCodeParameters, tournament_id: i64, count: Option) + pub fn create_tournament_code(&self, route: RegionalRoute, body: &tournament_stub_v4::TournamentCodeParameters, tournament_id: i64, count: Option) -> impl Future>> + 'a { - let request = self.base.request(Method::POST, region.into(), "/lol/tournament-stub/v4/codes"); + let route_str = route.into(); + let request = self.base.request(Method::POST, route_str, "/lol/tournament-stub/v4/codes"); let request = request.query(&[ ("tournamentId", tournament_id) ]); let mut request = request; if let Some(count) = count { request = request.query(&[ ("count", count) ]); } let request = request.body(serde_json::ser::to_vec(body).unwrap()); - self.base.execute_val::>("tournament-stub-v4.createTournamentCode", region.into(), request) + self.base.execute_val::>("tournament-stub-v4.createTournamentCode", route_str, request) } /// Gets a mock list of lobby events by tournament code. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `tournamentCode` - The short code to look up lobby events for /// # Riot Developer API Reference /// `tournament-stub-v4.getLobbyEventsByCode` /// /// Note: this method is automatically generated. - pub fn get_lobby_events_by_code(&self, region: Region, tournament_code: &str) + pub fn get_lobby_events_by_code(&self, route: RegionalRoute, tournament_code: &str) -> impl Future> + 'a { - let request = self.base.request(Method::GET, region.into(), &format!("/lol/tournament-stub/v4/lobby-events/by-code/{}", tournament_code)); - self.base.execute_val::("tournament-stub-v4.getLobbyEventsByCode", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, &format!("/lol/tournament-stub/v4/lobby-events/by-code/{}", tournament_code)); + self.base.execute_val::("tournament-stub-v4.getLobbyEventsByCode", route_str, request) } /// Creates a mock tournament provider and returns its ID. /// ## Implementation Notes /// Providers will need to call this endpoint first to register their callback URL and their API key with the tournament system before any other tournament provider endpoints will work. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// # Riot Developer API Reference /// `tournament-stub-v4.registerProviderData` /// /// Note: this method is automatically generated. - pub fn register_provider_data(&self, region: Region, body: &tournament_stub_v4::ProviderRegistrationParameters) + pub fn register_provider_data(&self, route: RegionalRoute, body: &tournament_stub_v4::ProviderRegistrationParameters) -> impl Future> + 'a { - let request = self.base.request(Method::POST, region.into(), "/lol/tournament-stub/v4/providers"); + let route_str = route.into(); + let request = self.base.request(Method::POST, route_str, "/lol/tournament-stub/v4/providers"); let request = request.body(serde_json::ser::to_vec(body).unwrap()); - self.base.execute_val::("tournament-stub-v4.registerProviderData", region.into(), request) + self.base.execute_val::("tournament-stub-v4.registerProviderData", route_str, request) } /// Creates a mock tournament and returns its ID. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// # Riot Developer API Reference /// `tournament-stub-v4.registerTournament` /// /// Note: this method is automatically generated. - pub fn register_tournament(&self, region: Region, body: &tournament_stub_v4::TournamentRegistrationParameters) + pub fn register_tournament(&self, route: RegionalRoute, body: &tournament_stub_v4::TournamentRegistrationParameters) -> impl Future> + 'a { - let request = self.base.request(Method::POST, region.into(), "/lol/tournament-stub/v4/tournaments"); + let route_str = route.into(); + let request = self.base.request(Method::POST, route_str, "/lol/tournament-stub/v4/tournaments"); let request = request.body(serde_json::ser::to_vec(body).unwrap()); - self.base.execute_val::("tournament-stub-v4.registerTournament", region.into(), request) + self.base.execute_val::("tournament-stub-v4.registerTournament", route_str, request) } } @@ -1539,99 +1602,105 @@ pub struct TournamentV4<'a> { impl<'a> TournamentV4<'a> { /// Create a tournament code for the given tournament. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `count` (optional) - The number of codes to create (max 1000) /// * `tournamentId` - The tournament ID /// # Riot Developer API Reference /// `tournament-v4.createTournamentCode` /// /// Note: this method is automatically generated. - pub fn create_tournament_code(&self, region: Region, body: &tournament_v4::TournamentCodeParameters, tournament_id: i64, count: Option) + pub fn create_tournament_code(&self, route: RegionalRoute, body: &tournament_v4::TournamentCodeParameters, tournament_id: i64, count: Option) -> impl Future>> + 'a { - let request = self.base.request(Method::POST, region.into(), "/lol/tournament/v4/codes"); + let route_str = route.into(); + let request = self.base.request(Method::POST, route_str, "/lol/tournament/v4/codes"); let request = request.query(&[ ("tournamentId", tournament_id) ]); let mut request = request; if let Some(count) = count { request = request.query(&[ ("count", count) ]); } let request = request.body(serde_json::ser::to_vec(body).unwrap()); - self.base.execute_val::>("tournament-v4.createTournamentCode", region.into(), request) + self.base.execute_val::>("tournament-v4.createTournamentCode", route_str, request) } /// Returns the tournament code DTO associated with a tournament code string. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `tournamentCode` - The tournament code string. /// # Riot Developer API Reference /// `tournament-v4.getTournamentCode` /// /// Note: this method is automatically generated. - pub fn get_tournament_code(&self, region: Region, tournament_code: &str) + pub fn get_tournament_code(&self, route: RegionalRoute, tournament_code: &str) -> impl Future> + 'a { - let request = self.base.request(Method::GET, region.into(), &format!("/lol/tournament/v4/codes/{}", tournament_code)); - self.base.execute_val::("tournament-v4.getTournamentCode", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, &format!("/lol/tournament/v4/codes/{}", tournament_code)); + self.base.execute_val::("tournament-v4.getTournamentCode", route_str, request) } /// Update the pick type, map, spectator type, or allowed summoners for a code. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `tournamentCode` - The tournament code to update /// # Riot Developer API Reference /// `tournament-v4.updateCode` /// /// Note: this method is automatically generated. - pub fn update_code(&self, region: Region, body: &tournament_v4::TournamentCodeUpdateParameters, tournament_code: &str) + pub fn update_code(&self, route: RegionalRoute, body: &tournament_v4::TournamentCodeUpdateParameters, tournament_code: &str) -> impl Future> + 'a { - let request = self.base.request(Method::PUT, region.into(), &format!("/lol/tournament/v4/codes/{}", tournament_code)); + let route_str = route.into(); + let request = self.base.request(Method::PUT, route_str, &format!("/lol/tournament/v4/codes/{}", tournament_code)); let request = request.body(serde_json::ser::to_vec(body).unwrap()); - self.base.execute("tournament-v4.updateCode", region.into(), request) + self.base.execute("tournament-v4.updateCode", route_str, request) } /// Gets a list of lobby events by tournament code. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `tournamentCode` - The short code to look up lobby events for /// # Riot Developer API Reference /// `tournament-v4.getLobbyEventsByCode` /// /// Note: this method is automatically generated. - pub fn get_lobby_events_by_code(&self, region: Region, tournament_code: &str) + pub fn get_lobby_events_by_code(&self, route: RegionalRoute, tournament_code: &str) -> impl Future> + 'a { - let request = self.base.request(Method::GET, region.into(), &format!("/lol/tournament/v4/lobby-events/by-code/{}", tournament_code)); - self.base.execute_val::("tournament-v4.getLobbyEventsByCode", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, &format!("/lol/tournament/v4/lobby-events/by-code/{}", tournament_code)); + self.base.execute_val::("tournament-v4.getLobbyEventsByCode", route_str, request) } /// Creates a tournament provider and returns its ID. /// ## Implementation Notes /// Providers will need to call this endpoint first to register their callback URL and their API key with the tournament system before any other tournament provider endpoints will work. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// # Riot Developer API Reference /// `tournament-v4.registerProviderData` /// /// Note: this method is automatically generated. - pub fn register_provider_data(&self, region: Region, body: &tournament_v4::ProviderRegistrationParameters) + pub fn register_provider_data(&self, route: RegionalRoute, body: &tournament_v4::ProviderRegistrationParameters) -> impl Future> + 'a { - let request = self.base.request(Method::POST, region.into(), "/lol/tournament/v4/providers"); + let route_str = route.into(); + let request = self.base.request(Method::POST, route_str, "/lol/tournament/v4/providers"); let request = request.body(serde_json::ser::to_vec(body).unwrap()); - self.base.execute_val::("tournament-v4.registerProviderData", region.into(), request) + self.base.execute_val::("tournament-v4.registerProviderData", route_str, request) } /// Creates a tournament and returns its ID. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// # Riot Developer API Reference /// `tournament-v4.registerTournament` /// /// Note: this method is automatically generated. - pub fn register_tournament(&self, region: Region, body: &tournament_v4::TournamentRegistrationParameters) + pub fn register_tournament(&self, route: RegionalRoute, body: &tournament_v4::TournamentRegistrationParameters) -> impl Future> + 'a { - let request = self.base.request(Method::POST, region.into(), "/lol/tournament/v4/tournaments"); + let route_str = route.into(); + let request = self.base.request(Method::POST, route_str, "/lol/tournament/v4/tournaments"); let request = request.body(serde_json::ser::to_vec(body).unwrap()); - self.base.execute_val::("tournament-v4.registerTournament", region.into(), request) + self.base.execute_val::("tournament-v4.registerTournament", route_str, request) } } @@ -1648,18 +1717,19 @@ pub struct ValContentV1<'a> { impl<'a> ValContentV1<'a> { /// Get content optionally filtered by locale /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `locale` (optional) /// # Riot Developer API Reference /// `val-content-v1.getContent` /// /// Note: this method is automatically generated. - pub fn get_content(&self, region: Region, locale: Option<&str>) + pub fn get_content(&self, route: ValPlatformRoute, locale: Option<&str>) -> impl Future> + 'a { - let request = self.base.request(Method::GET, region.into(), "/val/content/v1/contents"); + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, "/val/content/v1/contents"); let mut request = request; if let Some(locale) = locale { request = request.query(&[ ("locale", locale) ]); } - self.base.execute_val::("val-content-v1.getContent", region.into(), request) + self.base.execute_val::("val-content-v1.getContent", route_str, request) } } @@ -1676,49 +1746,52 @@ pub struct ValMatchV1<'a> { impl<'a> ValMatchV1<'a> { /// Get match by id /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `matchId` /// # Riot Developer API Reference /// `val-match-v1.getMatch` /// /// Note: this method is automatically generated. - pub fn get_match(&self, region: Region, match_id: &str) + pub fn get_match(&self, route: ValPlatformRoute, match_id: &str) -> impl Future>> + 'a { - let request = self.base.request(Method::GET, region.into(), &format!("/val/match/v1/matches/{}", match_id)); - self.base.execute_opt::("val-match-v1.getMatch", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, &format!("/val/match/v1/matches/{}", match_id)); + self.base.execute_opt::("val-match-v1.getMatch", route_str, request) } /// Get matchlist for games played by puuid /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `puuid` /// # Riot Developer API Reference /// `val-match-v1.getMatchlist` /// /// Note: this method is automatically generated. - pub fn get_matchlist(&self, region: Region, puuid: &str) + pub fn get_matchlist(&self, route: ValPlatformRoute, puuid: &str) -> impl Future> + 'a { - let request = self.base.request(Method::GET, region.into(), &format!("/val/match/v1/matchlists/by-puuid/{}", puuid)); - self.base.execute_val::("val-match-v1.getMatchlist", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, &format!("/val/match/v1/matchlists/by-puuid/{}", puuid)); + self.base.execute_val::("val-match-v1.getMatchlist", route_str, request) } /// Get recent matches /// ## Implementation Notes /// Returns a list of match ids that have completed in the last 10 minutes for live regions and 12 hours for the esports routing value. NA/LATAM/BR share a match history deployment. As such, recent matches will return a combined list of matches from those three regions. Requests are load balanced so you may see some inconsistencies as matches are added/removed from the list. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `queue` /// # Riot Developer API Reference /// `val-match-v1.getRecent` /// /// Note: this method is automatically generated. - pub fn get_recent(&self, region: Region, queue: &str) + pub fn get_recent(&self, route: ValPlatformRoute, queue: &str) -> impl Future> + 'a { - let request = self.base.request(Method::GET, region.into(), &format!("/val/match/v1/recent-matches/by-queue/{}", queue)); - self.base.execute_val::("val-match-v1.getRecent", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, &format!("/val/match/v1/recent-matches/by-queue/{}", queue)); + self.base.execute_val::("val-match-v1.getRecent", route_str, request) } } @@ -1735,7 +1808,7 @@ pub struct ValRankedV1<'a> { impl<'a> ValRankedV1<'a> { /// Get leaderboard for the competitive queue /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// * `actId` - Act ids can be found using the val-content API. /// * `size` (optional) - Defaults to 200. Valid values: 1 to 200. /// * `startIndex` (optional) - Defaults to 0. @@ -1743,13 +1816,14 @@ impl<'a> ValRankedV1<'a> { /// `val-ranked-v1.getLeaderboard` /// /// Note: this method is automatically generated. - pub fn get_leaderboard(&self, region: Region, act_id: &str, size: Option, start_index: Option) + pub fn get_leaderboard(&self, route: ValPlatformRoute, act_id: &str, size: Option, start_index: Option) -> impl Future>> + 'a { - let request = self.base.request(Method::GET, region.into(), &format!("/val/ranked/v1/leaderboards/by-act/{}", act_id)); + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, &format!("/val/ranked/v1/leaderboards/by-act/{}", act_id)); let mut request = request; if let Some(size) = size { request = request.query(&[ ("size", size) ]); } let mut request = request; if let Some(start_index) = start_index { request = request.query(&[ ("startIndex", start_index) ]); } - self.base.execute_opt::("val-ranked-v1.getLeaderboard", region.into(), request) + self.base.execute_opt::("val-ranked-v1.getLeaderboard", route_str, request) } } @@ -1766,16 +1840,17 @@ pub struct ValStatusV1<'a> { impl<'a> ValStatusV1<'a> { /// Get VALORANT status for the given platform. /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. /// # Riot Developer API Reference /// `val-status-v1.getPlatformData` /// /// Note: this method is automatically generated. - pub fn get_platform_data(&self, region: Region) + pub fn get_platform_data(&self, route: ValPlatformRoute) -> impl Future> + 'a { - let request = self.base.request(Method::GET, region.into(), "/val/status/v1/platform-data"); - self.base.execute_val::("val-status-v1.getPlatformData", region.into(), request) + let route_str = route.into(); + let request = self.base.request(Method::GET, route_str, "/val/status/v1/platform-data"); + self.base.execute_val::("val-status-v1.getPlatformData", route_str, request) } } diff --git a/srcgen/dotUtils.js b/srcgen/dotUtils.js index abe06b1..db0a719 100644 --- a/srcgen/dotUtils.js +++ b/srcgen/dotUtils.js @@ -1,14 +1,5 @@ const changeCase = require('change-case'); -const enumTypeLookup = { - champion: 'i16', - gameMode: 'u8', - gameType: 'u8', - map: 'u8', - queue: 'u16', - season: 'u8', -}; - // flatMap: https://gist.github.com/samgiles/762ee337dff48623e729 // [B](f: (A) ⇒ [B]): [B] ; Although the types in the arrays aren't strict (: Array.prototype.flatMap = function(lambda) { diff --git a/srcgen/endpoints.rs.dt b/srcgen/endpoints.rs.dt index 58b2a5c..8e7b8c4 100644 --- a/srcgen/endpoints.rs.dt +++ b/srcgen/endpoints.rs.dt @@ -16,7 +16,7 @@ use std::vec::Vec; use reqwest::Method; use crate::Result; -use crate::consts::Region; +use crate::consts::{ RegionalRoute, PlatformRoute, ValPlatformRoute }; use crate::riot_api::RiotApi; {{ @@ -103,7 +103,9 @@ impl<'a> {{= endpoint }}<'a> { let descArr = operation.description.split('\n'); /* Build argument comment & string. */ - const argBuilder = []; + const argBuilder = [ + 'route: ', dotUtils.changeCase.pascalCase(operation['x-route-enum']), 'Route' + ]; /* Add body params before path/query. */ if (bodyType) { @@ -155,7 +157,7 @@ impl<'a> {{= endpoint }}<'a> { } }} /// # Parameters - /// * `region` - Region to query. + /// * `route` - Route to query. {{ if (allParams) { @@ -171,10 +173,11 @@ impl<'a> {{= endpoint }}<'a> { /// `{{= operationId }}` /// /// Note: this method is automatically generated. - pub fn {{= method }}(&self, region: Region{{= argBuilder.join('') }}) + pub fn {{= method }}(&self, {{= argBuilder.join('') }}) -> impl Future> + 'a { - let request = self.base.request(Method::{{= verb.toUpperCase() }}, region.into(), {{= routeArgument }}); + let route_str = route.into(); + let request = self.base.request(Method::{{= verb.toUpperCase() }}, route_str, {{= routeArgument }}); {{ for (let queryParam of queryParams) { @@ -194,7 +197,7 @@ impl<'a> {{= endpoint }}<'a> { {{? bodyType }} let request = request.body(serde_json::ser::to_vec(body).unwrap()); {{?}} - self.base.execute{{= hasReturn ? (returnOptional ? '_opt' : '_val') : '' }}{{= returnTypeTurbofish }}("{{= operationId }}", region.into(), request) + self.base.execute{{= hasReturn ? (returnOptional ? '_opt' : '_val') : '' }}{{= returnTypeTurbofish }}("{{= operationId }}", route_str, request) } {{ diff --git a/tests/tests_euw.rs b/tests/tests_euw.rs index dbcae21..14ec710 100644 --- a/tests/tests_euw.rs +++ b/tests/tests_euw.rs @@ -9,39 +9,40 @@ use colored::*; use riven::consts::*; +const ROUTE: PlatformRoute = PlatformRoute::EUW1; async_tests!{ my_runner { // Champion Mastery tests. championmastery_getscore_ma5tery: async { - let sum = RIOT_API.summoner_v4().get_by_summoner_name(Region::EUW, "ma5tery"); + let sum = RIOT_API.summoner_v4().get_by_summoner_name(ROUTE, "ma5tery"); let sum = sum.await.map_err(|e| e.to_string())?.ok_or("Failed to get summoner".to_owned())?; - let p = RIOT_API.champion_mastery_v4().get_champion_mastery_score(Region::EUW, &*sum.id); + let p = RIOT_API.champion_mastery_v4().get_champion_mastery_score(ROUTE, &*sum.id); let s = p.await.map_err(|e| e.to_string())?; rassert!(969 <= s && s <= 1000, "Unexpected ma5tery score: {}.", s); Ok(()) }, championmastery_getall_ma5tery: async { - let sum = RIOT_API.summoner_v4().get_by_summoner_name(Region::EUW, "ma5tery"); + let sum = RIOT_API.summoner_v4().get_by_summoner_name(ROUTE, "ma5tery"); let sum = sum.await.map_err(|e| e.to_string())?.ok_or("Failed to get summoner".to_owned())?; - let p = RIOT_API.champion_mastery_v4().get_all_champion_masteries(Region::EUW, &*sum.id); + let p = RIOT_API.champion_mastery_v4().get_all_champion_masteries(ROUTE, &*sum.id); let s = p.await.map_err(|e| e.to_string())?; rassert!(s.len() >= 142, "Expected masteries: {}.", s.len()); Ok(()) }, spectator_combo: async { - let featured_p = RIOT_API.spectator_v4().get_featured_games(Region::EUW); + let featured_p = RIOT_API.spectator_v4().get_featured_games(ROUTE); let featured = featured_p.await.map_err(|e| e.to_string())?; rassert!(featured.game_list.len() > 0); let summoner_name = &featured.game_list[0].participants[0].summoner_name; - let summoner_p = RIOT_API.summoner_v4().get_by_summoner_name(Region::EUW, summoner_name); + let summoner_p = RIOT_API.summoner_v4().get_by_summoner_name(ROUTE, summoner_name); let summoner = summoner_p.await.map_err(|e| e.to_string())?.ok_or("Failed to get summoner".to_owned())?; - let livegame_p = RIOT_API.spectator_v4().get_current_game_info_by_summoner(Region::EUW, &summoner.id); + let livegame_p = RIOT_API.spectator_v4().get_current_game_info_by_summoner(ROUTE, &summoner.id); let livegame_o = livegame_p.await.map_err(|e| e.to_string())?; if let Some(livegame) = livegame_o { let participant_match = livegame.participants.iter().find(|p| p.summoner_name == *summoner_name); diff --git a/tests/tests_jp.rs b/tests/tests_jp.rs index 0411fc3..cb82714 100644 --- a/tests/tests_jp.rs +++ b/tests/tests_jp.rs @@ -9,12 +9,13 @@ use colored::*; use riven::consts::*; +const ROUTE: PlatformRoute = PlatformRoute::JP1; async_tests!{ my_runner { // Summoner tests. summoner_get_kanjikana: async { - let p = RIOT_API.summoner_v4().get_by_summoner_name(Region::JP, "私の 頭が かたい"); + let p = RIOT_API.summoner_v4().get_by_summoner_name(ROUTE, "私の 頭が かたい"); let s = p.await.map_err(|e| e.to_string())?.ok_or("Failed to get myheadhard".to_owned())?; rassert_eq!("私の頭がかたい", s.name); Ok(()) @@ -32,16 +33,16 @@ async_tests!{ // If we use `get` (instead of `get_optional`) make sure it errors. get_nonoptional_invalid: async { let path_string = format!("/lol/summoner/v4/summoners/by-name/{}", "SUMMONER THAT DOES NOT EXIST"); - let request = RIOT_API.request(reqwest::Method::GET, Region::JP.into(), &path_string); + let request = RIOT_API.request(reqwest::Method::GET, ROUTE.into(), &path_string); let p = RIOT_API.execute_val::( - "summoner-v4.getBySummonerName", Region::JP.into(), request); + "summoner-v4.getBySummonerName", ROUTE.into(), request); let r = p.await; rassert!(r.is_err()); Ok(()) }, // Make sure 403 is handled as expected. tournament_forbidden: async { - let p = RIOT_API.tournament_v4().get_tournament_code(Region::JP, "INVALID_CODE"); + let p = RIOT_API.tournament_v4().get_tournament_code(ROUTE.to_regional(), "INVALID_CODE"); let r = p.await; rassert!(r.is_err()); rassert_eq!(Some(reqwest::StatusCode::FORBIDDEN), r.unwrap_err().status_code()); @@ -51,9 +52,9 @@ async_tests!{ // tft-league-v1.getLeagueEntriesForSummoner // https://github.com/MingweiSamuel/Riven/issues/25 tft_league_getleagueentriesforsummoner: async { - let sp = RIOT_API.summoner_v4().get_by_summoner_name(Region::JP, "Caihonbbt"); + let sp = RIOT_API.summoner_v4().get_by_summoner_name(ROUTE, "Caihonbbt"); let sr = sp.await.map_err(|e| e.to_string())?.ok_or("Failed to get \"Caihonbbt\"".to_owned())?; - let lp = RIOT_API.tft_league_v1().get_league_entries_for_summoner(Region::JP, &sr.id); + let lp = RIOT_API.tft_league_v1().get_league_entries_for_summoner(ROUTE, &sr.id); let lr = lp.await.map_err(|e| e.to_string())?; rassert!(0 < lr.len()); Ok(()) @@ -61,7 +62,7 @@ async_tests!{ // tft-league-v1.getTopRatedLadder // https://github.com/MingweiSamuel/Riven/issues/24 tft_league_gettopratedladder: async { - let lp = RIOT_API.tft_league_v1().get_top_rated_ladder(Region::JP, QueueType::RANKED_TFT_TURBO); + let lp = RIOT_API.tft_league_v1().get_top_rated_ladder(ROUTE, QueueType::RANKED_TFT_TURBO); let lr = lp.await.map_err(|e| e.to_string())?; rassert!(0 < lr.len()); Ok(()) diff --git a/tests/tests_na.rs b/tests/tests_na.rs index eee3375..59bdf4d 100644 --- a/tests/tests_na.rs +++ b/tests/tests_na.rs @@ -17,19 +17,21 @@ fn validate_summoners(s1: Summoner, s2: Summoner) -> Result<(), String> { Ok(()) } +const ROUTE: PlatformRoute = PlatformRoute::NA1; + async_tests!{ my_runner { // Summoner tests. summoner_double: async { - let l1p = RIOT_API.summoner_v4().get_by_summoner_name(Region::NA, "lug nuts k"); - let l2p = RIOT_API.summoner_v4().get_by_summoner_name(Region::NA, "lugnuts k"); + let l1p = RIOT_API.summoner_v4().get_by_summoner_name(ROUTE, "lug nuts k"); + let l2p = RIOT_API.summoner_v4().get_by_summoner_name(ROUTE, "lugnuts k"); let l1 = l1p.await.map_err(|e| e.to_string())?.ok_or("Failed to get l1".to_owned())?; let l2 = l2p.await.map_err(|e| e.to_string())?.ok_or("Failed to get l2".to_owned())?; validate_summoners(l1, l2)?; Ok(()) }, champion_getrotation: async { - let p = RIOT_API.champion_v3().get_champion_info(Region::NA); + let p = RIOT_API.champion_v3().get_champion_info(ROUTE); let d = p.await.map_err(|e| e.to_string())?; let new_len = d.free_champion_ids_for_new_players.len(); let free_len = d.free_champion_ids.len(); @@ -40,7 +42,7 @@ async_tests!{ Ok(()) }, leagueexp_get: async { - let p = RIOT_API.league_exp_v4().get_league_entries(Region::NA, QueueType::RANKED_SOLO_5x5, Tier::CHALLENGER, Division::I, None); + let p = RIOT_API.league_exp_v4().get_league_entries(ROUTE, QueueType::RANKED_SOLO_5x5, Tier::CHALLENGER, Division::I, None); let d = p.await.map_err(|e| e.to_string())?; rassert!(!d.is_empty(), "Challenger shouldn't be empty."); Ok(()) @@ -48,71 +50,71 @@ async_tests!{ matchlist_get: async { - let sp = RIOT_API.summoner_v4().get_by_summoner_name(Region::NA, "haha yes"); + 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(Region::NA, &s.account_id, None, Some(2500), None, None, Some(2600), None, None); + 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(()) }, match_get: async { - let p = RIOT_API.match_v4().get_match(Region::NA, 3190191338); + 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(Region::NA, 3251803350); + 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(Region::NA, 2881976826); + 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(Region::NA, 2961635718); + 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(Region::NA, 3596184782); + 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(Region::NA, 2963663381); + 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(Region::NA, 3432145099); + 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(Region::NA, 3432116214); + 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(Region::NA, 3432156790); + 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(Region::NA, 3190191338); + 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(()) @@ -126,17 +128,17 @@ async_tests!{ // }, // CLASH clash_get_tournaments: async { - let p = RIOT_API.clash_v1().get_tournaments(Region::NA); + let p = RIOT_API.clash_v1().get_tournaments(ROUTE); let tours = p.await.map_err(|e| e.to_string())?; if let Some(tour0) = tours.first() { - let p = RIOT_API.clash_v1().get_tournament_by_id(Region::NA, tour0.id); + let p = RIOT_API.clash_v1().get_tournament_by_id(ROUTE, tour0.id); let tour1 = p.await.map_err(|e| e.to_string())?; assert_eq!(Some(tour0.id), tour1.map(|t| t.id)); } Ok(()) }, clash_get_team_by_id: async { - let p = RIOT_API.clash_v1().get_team_by_id(Region::NA, "00000000-0000-0000-0000-000000000000"); + let p = RIOT_API.clash_v1().get_team_by_id(ROUTE, "00000000-0000-0000-0000-000000000000"); let team = p.await.map_err(|e| e.to_string())?; assert!(team.is_none()); Ok(()) diff --git a/tests/tests_tr.rs b/tests/tests_tr.rs index cfebb60..591664e 100644 --- a/tests/tests_tr.rs +++ b/tests/tests_tr.rs @@ -10,20 +10,20 @@ use colored::*; use riven::consts::*; use riven::models::summoner_v4::Summoner; -const REGION: Region = Region::TR; +const ROUTE: PlatformRoute = PlatformRoute::TR1; async_tests!{ my_runner { league_summoner_bulk_test: async { - let p = RIOT_API.league_v4().get_challenger_league(REGION, QueueType::RANKED_SOLO_5x5); + let p = RIOT_API.league_v4().get_challenger_league(ROUTE, QueueType::RANKED_SOLO_5x5); // let p = future_start(p); let ll = p.await.map_err(|e| e.to_string())?; - println!("{:?} Challenger {} entries.", REGION, ll.entries.len()); + println!("{:?} Challenger {} entries.", ROUTE, ll.entries.len()); let sl = ll.entries.iter().take(50) - .map(|entry| RIOT_API.summoner_v4().get_by_summoner_id(REGION, &entry.summoner_id)) + .map(|entry| RIOT_API.summoner_v4().get_by_summoner_id(ROUTE, &entry.summoner_id)) .map(tokio::spawn) .collect::>(); diff --git a/tests/tests_val_latam.rs b/tests/tests_val_latam.rs index 1c83a00..c5cef3e 100644 --- a/tests/tests_val_latam.rs +++ b/tests/tests_val_latam.rs @@ -9,19 +9,19 @@ use colored::*; use riven::consts::*; -const REGION: Region = Region::VAL_LATAM; +const ROUTE: ValPlatformRoute = ValPlatformRoute::LATAM; async_tests!{ my_runner { val_content_ranked_test: async { - let p = RIOT_API.val_content_v1().get_content(REGION, Some("zh-CN")); + let p = RIOT_API.val_content_v1().get_content(ROUTE, Some("zh-CN")); let contents = p.await.map_err(|e| e.to_string())?; let act = contents.acts.iter().find(|act| act.is_active) .ok_or(format!("No active acts of {} found.", contents.acts.len()))?; - let p = RIOT_API.val_ranked_v1().get_leaderboard(REGION, &act.id, None, None); + let p = RIOT_API.val_ranked_v1().get_leaderboard(ROUTE, &act.id, None, None); let leaderboard = p.await.map_err(|e| e.to_string())? .ok_or(format!("Failed to get act leaderboard {} {}.", act.id, act.name))?;