forked from mirror/Riven
Update for account-v1 endpoint, fix for missing match-v4.PlayerDto.summonerId on bot games
Also adds test with bot game.v/1.x.x
parent
bdba6bb70c
commit
1a88ae6365
|
@ -310,6 +310,8 @@ pub enum Champion {
|
||||||
#[strum(to_string="Xin Zhao", serialize="XinZhao")] XinZhao = 5,
|
#[strum(to_string="Xin Zhao", serialize="XinZhao")] XinZhao = 5,
|
||||||
/// Yasuo (`Yasuo`, 157).
|
/// Yasuo (`Yasuo`, 157).
|
||||||
#[strum(to_string="Yasuo", serialize="Yasuo")] Yasuo = 157,
|
#[strum(to_string="Yasuo", serialize="Yasuo")] Yasuo = 157,
|
||||||
|
/// Yone (`Yone`, 777).
|
||||||
|
#[strum(to_string="Yone", serialize="Yone")] Yone = 777,
|
||||||
/// Yorick (`Yorick`, 83).
|
/// Yorick (`Yorick`, 83).
|
||||||
#[strum(to_string="Yorick", serialize="Yorick")] Yorick = 83,
|
#[strum(to_string="Yorick", serialize="Yorick")] Yorick = 83,
|
||||||
/// Yuumi (`Yuumi`, 350).
|
/// Yuumi (`Yuumi`, 350).
|
||||||
|
@ -495,6 +497,7 @@ impl Champion {
|
||||||
Self::Xerath => "Xerath",
|
Self::Xerath => "Xerath",
|
||||||
Self::XinZhao => "XinZhao",
|
Self::XinZhao => "XinZhao",
|
||||||
Self::Yasuo => "Yasuo",
|
Self::Yasuo => "Yasuo",
|
||||||
|
Self::Yone => "Yone",
|
||||||
Self::Yorick => "Yorick",
|
Self::Yorick => "Yorick",
|
||||||
Self::Yuumi => "Yuumi",
|
Self::Yuumi => "Yuumi",
|
||||||
Self::Zac => "Zac",
|
Self::Zac => "Zac",
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
///////////////////////////////////////////////
|
///////////////////////////////////////////////
|
||||||
|
|
||||||
// http://www.mingweisamuel.com/riotapi-schema/tool/
|
// http://www.mingweisamuel.com/riotapi-schema/tool/
|
||||||
// Version af29e140a03aabbd77664b926746eecaae877d2b
|
// Version d1d3a7a4176fd7b1ca98b43811dbe6ac3951b9b6
|
||||||
|
|
||||||
//! Automatically generated endpoint handles.
|
//! Automatically generated endpoint handles.
|
||||||
|
|
||||||
|
@ -23,6 +23,15 @@ use crate::consts::Region;
|
||||||
use crate::riot_api::RiotApi;
|
use crate::riot_api::RiotApi;
|
||||||
|
|
||||||
impl RiotApi {
|
impl RiotApi {
|
||||||
|
/// Returns a handle for accessing [AccountV1](crate::endpoints::AccountV1) endpoints.
|
||||||
|
/// # Riot Developer API Reference
|
||||||
|
/// <a href="https://developer.riotgames.com/apis#account-v1" target="_blank">`account-v1`</a>
|
||||||
|
///
|
||||||
|
/// Note: this method is automatically generated.
|
||||||
|
#[inline]
|
||||||
|
pub fn account_v1(&self) -> AccountV1 {
|
||||||
|
AccountV1 { base: self }
|
||||||
|
}
|
||||||
/// Returns a handle for accessing [ChampionMasteryV4](crate::endpoints::ChampionMasteryV4) endpoints.
|
/// Returns a handle for accessing [ChampionMasteryV4](crate::endpoints::ChampionMasteryV4) endpoints.
|
||||||
/// # Riot Developer API Reference
|
/// # Riot Developer API Reference
|
||||||
/// <a href="https://developer.riotgames.com/apis#champion-mastery-v4" target="_blank">`champion-mastery-v4`</a>
|
/// <a href="https://developer.riotgames.com/apis#champion-mastery-v4" target="_blank">`champion-mastery-v4`</a>
|
||||||
|
@ -187,6 +196,64 @@ impl RiotApi {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// AccountV1 endpoints handle, accessed by calling [`account_v1()`](crate::RiotApi::account_v1) on a [`RiotApi`](crate::RiotApi) instance.
|
||||||
|
/// # Riot Developer API Reference
|
||||||
|
/// <a href="https://developer.riotgames.com/apis#account-v1" target="_blank">`account-v1`</a>
|
||||||
|
///
|
||||||
|
/// Note: this struct is automatically generated.
|
||||||
|
pub struct AccountV1<'a> {
|
||||||
|
base: &'a RiotApi,
|
||||||
|
}
|
||||||
|
impl<'a> AccountV1<'a> {
|
||||||
|
/// Get account by puuid
|
||||||
|
/// # Parameters
|
||||||
|
/// * `region` - Region to query.
|
||||||
|
/// * `puuid`
|
||||||
|
/// # Riot Developer API Reference
|
||||||
|
/// <a href="https://developer.riotgames.com/api-methods/#account-v1/GET_getByPuuid" target="_blank">`account-v1.getByPuuid`</a>
|
||||||
|
///
|
||||||
|
/// Note: this method is automatically generated.
|
||||||
|
pub fn get_by_puuid(&self, region: Region, puuid: &str)
|
||||||
|
-> impl Future<Output = Result<account_v1::Account>> + 'a
|
||||||
|
{
|
||||||
|
let path_string = format!("/riot/account/v1/accounts/by-puuid/{}", puuid);
|
||||||
|
self.base.get::<account_v1::Account>("account-v1.getByPuuid", region.into(), path_string, None)
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Get account by riot id
|
||||||
|
/// # Parameters
|
||||||
|
/// * `region` - Region to query.
|
||||||
|
/// * `tagLine`
|
||||||
|
/// * `gameName`
|
||||||
|
/// # Riot Developer API Reference
|
||||||
|
/// <a href="https://developer.riotgames.com/api-methods/#account-v1/GET_getByRiotId" target="_blank">`account-v1.getByRiotId`</a>
|
||||||
|
///
|
||||||
|
/// Note: this method is automatically generated.
|
||||||
|
pub fn get_by_riot_id(&self, region: Region, game_name: &str, tag_line: &str)
|
||||||
|
-> impl Future<Output = Result<Option<account_v1::Account>>> + 'a
|
||||||
|
{
|
||||||
|
let path_string = format!("/riot/account/v1/accounts/by-riot-id/{}/{}", game_name, tag_line);
|
||||||
|
self.base.get_optional::<account_v1::Account>("account-v1.getByRiotId", region.into(), path_string, None)
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Get active shard for a player
|
||||||
|
/// # Parameters
|
||||||
|
/// * `region` - Region to query.
|
||||||
|
/// * `puuid`
|
||||||
|
/// * `game`
|
||||||
|
/// # Riot Developer API Reference
|
||||||
|
/// <a href="https://developer.riotgames.com/api-methods/#account-v1/GET_getActiveShard" target="_blank">`account-v1.getActiveShard`</a>
|
||||||
|
///
|
||||||
|
/// Note: this method is automatically generated.
|
||||||
|
pub fn get_active_shard(&self, region: Region, game: &str, puuid: &str)
|
||||||
|
-> impl Future<Output = Result<Option<account_v1::ActiveShard>>> + 'a
|
||||||
|
{
|
||||||
|
let path_string = format!("/riot/account/v1/active-shards/by-game/{}/by-puuid/{}", game, puuid);
|
||||||
|
self.base.get_optional::<account_v1::ActiveShard>("account-v1.getActiveShard", region.into(), path_string, None)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/// ChampionMasteryV4 endpoints handle, accessed by calling [`champion_mastery_v4()`](crate::RiotApi::champion_mastery_v4) on a [`RiotApi`](crate::RiotApi) instance.
|
/// ChampionMasteryV4 endpoints handle, accessed by calling [`champion_mastery_v4()`](crate::RiotApi::champion_mastery_v4) on a [`RiotApi`](crate::RiotApi) instance.
|
||||||
/// # Riot Developer API Reference
|
/// # Riot Developer API Reference
|
||||||
/// <a href="https://developer.riotgames.com/apis#champion-mastery-v4" target="_blank">`champion-mastery-v4`</a>
|
/// <a href="https://developer.riotgames.com/apis#champion-mastery-v4" target="_blank">`champion-mastery-v4`</a>
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
///////////////////////////////////////////////
|
///////////////////////////////////////////////
|
||||||
|
|
||||||
// http://www.mingweisamuel.com/riotapi-schema/tool/
|
// http://www.mingweisamuel.com/riotapi-schema/tool/
|
||||||
// Version af29e140a03aabbd77664b926746eecaae877d2b
|
// Version d1d3a7a4176fd7b1ca98b43811dbe6ac3951b9b6
|
||||||
|
|
||||||
//! Metadata about the Riot API and Riven.
|
//! Metadata about the Riot API and Riven.
|
||||||
//!
|
//!
|
||||||
|
@ -20,6 +20,9 @@ use lazy_static::lazy_static;
|
||||||
lazy_static! {
|
lazy_static! {
|
||||||
pub static ref ENDPOINT_PATH_METHODID: HashMap<&'static str, &'static str> = {
|
pub static ref ENDPOINT_PATH_METHODID: HashMap<&'static str, &'static str> = {
|
||||||
let mut map = HashMap::new();
|
let mut map = HashMap::new();
|
||||||
|
map.insert("/riot/account/v1/accounts/by-puuid/{puuid}", "account-v1.getByPuuid");
|
||||||
|
map.insert("/riot/account/v1/accounts/by-riot-id/{gameName}/{tagLine}", "account-v1.getByRiotId");
|
||||||
|
map.insert("/riot/account/v1/active-shards/by-game/{game}/by-puuid/{puuid}", "account-v1.getActiveShard");
|
||||||
map.insert("/lol/champion-mastery/v4/champion-masteries/by-summoner/{encryptedSummonerId}", "champion-mastery-v4.getAllChampionMasteries");
|
map.insert("/lol/champion-mastery/v4/champion-masteries/by-summoner/{encryptedSummonerId}", "champion-mastery-v4.getAllChampionMasteries");
|
||||||
map.insert("/lol/champion-mastery/v4/champion-masteries/by-summoner/{encryptedSummonerId}/by-champion/{championId}", "champion-mastery-v4.getChampionMastery");
|
map.insert("/lol/champion-mastery/v4/champion-masteries/by-summoner/{encryptedSummonerId}/by-champion/{championId}", "champion-mastery-v4.getChampionMastery");
|
||||||
map.insert("/lol/champion-mastery/v4/scores/by-summoner/{encryptedSummonerId}", "champion-mastery-v4.getChampionMasteryScore");
|
map.insert("/lol/champion-mastery/v4/scores/by-summoner/{encryptedSummonerId}", "champion-mastery-v4.getChampionMasteryScore");
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
///////////////////////////////////////////////
|
///////////////////////////////////////////////
|
||||||
|
|
||||||
// http://www.mingweisamuel.com/riotapi-schema/tool/
|
// http://www.mingweisamuel.com/riotapi-schema/tool/
|
||||||
// Version af29e140a03aabbd77664b926746eecaae877d2b
|
// Version d1d3a7a4176fd7b1ca98b43811dbe6ac3951b9b6
|
||||||
|
|
||||||
//! Data transfer structs.
|
//! Data transfer structs.
|
||||||
//!
|
//!
|
||||||
|
@ -16,6 +16,35 @@
|
||||||
//!
|
//!
|
||||||
//! Note: these modules are automatically generated.
|
//! Note: these modules are automatically generated.
|
||||||
|
|
||||||
|
/// Data structs used by [`AccountV1`](crate::endpoints::AccountV1).
|
||||||
|
///
|
||||||
|
/// Note: this module is automatically generated.
|
||||||
|
#[allow(dead_code)]
|
||||||
|
pub mod account_v1 {
|
||||||
|
/// Account data object.
|
||||||
|
#[derive(Debug)]
|
||||||
|
#[derive(serde::Serialize, serde::Deserialize)]
|
||||||
|
pub struct Account {
|
||||||
|
#[serde(rename = "puuid")]
|
||||||
|
pub puuid: String,
|
||||||
|
#[serde(rename = "gameName")]
|
||||||
|
pub game_name: String,
|
||||||
|
#[serde(rename = "tagLine")]
|
||||||
|
pub tag_line: String,
|
||||||
|
}
|
||||||
|
/// ActiveShard data object.
|
||||||
|
#[derive(Debug)]
|
||||||
|
#[derive(serde::Serialize, serde::Deserialize)]
|
||||||
|
pub struct ActiveShard {
|
||||||
|
#[serde(rename = "puuid")]
|
||||||
|
pub puuid: String,
|
||||||
|
#[serde(rename = "game")]
|
||||||
|
pub game: String,
|
||||||
|
#[serde(rename = "activeShard")]
|
||||||
|
pub active_shard: String,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// Data structs used by [`ChampionMasteryV4`](crate::endpoints::ChampionMasteryV4).
|
/// Data structs used by [`ChampionMasteryV4`](crate::endpoints::ChampionMasteryV4).
|
||||||
///
|
///
|
||||||
/// Note: this module is automatically generated.
|
/// Note: this module is automatically generated.
|
||||||
|
@ -494,7 +523,7 @@ pub mod match_v4 {
|
||||||
pub summoner_name: String,
|
pub summoner_name: String,
|
||||||
/// Player's summonerId (Encrypted)
|
/// Player's summonerId (Encrypted)
|
||||||
#[serde(rename = "summonerId")]
|
#[serde(rename = "summonerId")]
|
||||||
pub summoner_id: String,
|
pub summoner_id: Option<String>,
|
||||||
/// Player's original platformId.
|
/// Player's original platformId.
|
||||||
#[serde(rename = "platformId")]
|
#[serde(rename = "platformId")]
|
||||||
pub platform_id: String,
|
pub platform_id: String,
|
||||||
|
|
|
@ -51,6 +51,12 @@ async_tests!{
|
||||||
rassert!(!m.participants.is_empty(), "Match should have participants.");
|
rassert!(!m.participants.is_empty(), "Match should have participants.");
|
||||||
Ok(())
|
Ok(())
|
||||||
},
|
},
|
||||||
|
match_get_bots: async {
|
||||||
|
let p = RIOT_API.match_v4().get_match(Region::NA, 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_gettimeline: async {
|
match_gettimeline: async {
|
||||||
let p = RIOT_API.match_v4().get_match_timeline(Region::NA, 3190191338);
|
let p = RIOT_API.match_v4().get_match_timeline(Region::NA, 3190191338);
|
||||||
let m = p.await.map_err(|e| e.to_string())?.ok_or("Match timeline not found.".to_owned())?;
|
let m = p.await.map_err(|e| e.to_string())?.ok_or("Match timeline not found.".to_owned())?;
|
||||||
|
|
Loading…
Reference in New Issue