forked from mirror/Riven
Regen for Naafiri, removed champion-mastery-v4 by-puuid endpoints, off-season nullables
parent
d15d43797e
commit
2aa493abfe
|
@ -97,6 +97,7 @@ newtype_enum! {
|
||||||
/// `MISS_FORTUNE` | "Miss Fortune" | "MissFortune" | 21
|
/// `MISS_FORTUNE` | "Miss Fortune" | "MissFortune" | 21
|
||||||
/// `MORDEKAISER` | "Mordekaiser" | "Mordekaiser" | 82
|
/// `MORDEKAISER` | "Mordekaiser" | "Mordekaiser" | 82
|
||||||
/// `MORGANA` | "Morgana" | "Morgana" | 25
|
/// `MORGANA` | "Morgana" | "Morgana" | 25
|
||||||
|
/// `NAAFIRI` | "Naafiri" | "Naafiri" | 950
|
||||||
/// `NAMI` | "Nami" | "Nami" | 267
|
/// `NAMI` | "Nami" | "Nami" | 267
|
||||||
/// `NASUS` | "Nasus" | "Nasus" | 75
|
/// `NASUS` | "Nasus" | "Nasus" | 75
|
||||||
/// `NAUTILUS` | "Nautilus" | "Nautilus" | 111
|
/// `NAUTILUS` | "Nautilus" | "Nautilus" | 111
|
||||||
|
@ -345,6 +346,8 @@ newtype_enum! {
|
||||||
MORDEKAISER = 82,
|
MORDEKAISER = 82,
|
||||||
/// `25`.
|
/// `25`.
|
||||||
MORGANA = 25,
|
MORGANA = 25,
|
||||||
|
/// `950`.
|
||||||
|
NAAFIRI = 950,
|
||||||
/// `267`.
|
/// `267`.
|
||||||
NAMI = 267,
|
NAMI = 267,
|
||||||
/// `75`.
|
/// `75`.
|
||||||
|
@ -597,6 +600,7 @@ impl Champion {
|
||||||
Self::MISS_FORTUNE => Some("Miss Fortune"),
|
Self::MISS_FORTUNE => Some("Miss Fortune"),
|
||||||
Self::MORDEKAISER => Some("Mordekaiser"),
|
Self::MORDEKAISER => Some("Mordekaiser"),
|
||||||
Self::MORGANA => Some("Morgana"),
|
Self::MORGANA => Some("Morgana"),
|
||||||
|
Self::NAAFIRI => Some("Naafiri"),
|
||||||
Self::NAMI => Some("Nami"),
|
Self::NAMI => Some("Nami"),
|
||||||
Self::NASUS => Some("Nasus"),
|
Self::NASUS => Some("Nasus"),
|
||||||
Self::NAUTILUS => Some("Nautilus"),
|
Self::NAUTILUS => Some("Nautilus"),
|
||||||
|
@ -784,6 +788,7 @@ impl Champion {
|
||||||
Self::MISS_FORTUNE => Some("MissFortune"),
|
Self::MISS_FORTUNE => Some("MissFortune"),
|
||||||
Self::MORDEKAISER => Some("Mordekaiser"),
|
Self::MORDEKAISER => Some("Mordekaiser"),
|
||||||
Self::MORGANA => Some("Morgana"),
|
Self::MORGANA => Some("Morgana"),
|
||||||
|
Self::NAAFIRI => Some("Naafiri"),
|
||||||
Self::NAMI => Some("Nami"),
|
Self::NAMI => Some("Nami"),
|
||||||
Self::NASUS => Some("Nasus"),
|
Self::NASUS => Some("Nasus"),
|
||||||
Self::NAUTILUS => Some("Nautilus"),
|
Self::NAUTILUS => Some("Nautilus"),
|
||||||
|
@ -1009,6 +1014,7 @@ impl std::str::FromStr for Champion {
|
||||||
/* MISS */ [ 'M', 'I', 'S', 'S'] => Ok(Champion::MISS_FORTUNE),
|
/* MISS */ [ 'M', 'I', 'S', 'S'] => Ok(Champion::MISS_FORTUNE),
|
||||||
/* MORD */ [ 'M', 'O', 'R', 'D'] => Ok(Champion::MORDEKAISER),
|
/* MORD */ [ 'M', 'O', 'R', 'D'] => Ok(Champion::MORDEKAISER),
|
||||||
/* MORG */ [ 'M', 'O', 'R', 'G'] => Ok(Champion::MORGANA),
|
/* MORG */ [ 'M', 'O', 'R', 'G'] => Ok(Champion::MORGANA),
|
||||||
|
/* NAAF */ [ 'N', 'A', 'A', 'F'] => Ok(Champion::NAAFIRI),
|
||||||
/* NAMI */ [ 'N', 'A', 'M', 'I'] => Ok(Champion::NAMI),
|
/* NAMI */ [ 'N', 'A', 'M', 'I'] => Ok(Champion::NAMI),
|
||||||
/* NASU */ [ 'N', 'A', 'S', 'U'] => Ok(Champion::NASUS),
|
/* NASU */ [ 'N', 'A', 'S', 'U'] => Ok(Champion::NASUS),
|
||||||
/* NAUT */ [ 'N', 'A', 'U', 'T'] => Ok(Champion::NAUTILUS),
|
/* NAUT */ [ 'N', 'A', 'U', 'T'] => Ok(Champion::NAUTILUS),
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
///////////////////////////////////////////////
|
///////////////////////////////////////////////
|
||||||
|
|
||||||
// http://www.mingweisamuel.com/riotapi-schema/tool/
|
// http://www.mingweisamuel.com/riotapi-schema/tool/
|
||||||
// Version 54c6fd7144adb63e54515df33a6a557eed0f17ba
|
// Version 7d71fe40a50ce14ad12ed6db791a4d0bae0f810e
|
||||||
|
|
||||||
//! Automatically generated endpoint handles.
|
//! Automatically generated endpoint handles.
|
||||||
#![allow(clippy::let_and_return, clippy::too_many_arguments)]
|
#![allow(clippy::let_and_return, clippy::too_many_arguments)]
|
||||||
|
@ -372,66 +372,6 @@ pub struct ChampionMasteryV4<'a> {
|
||||||
base: &'a RiotApi,
|
base: &'a RiotApi,
|
||||||
}
|
}
|
||||||
impl<'a> ChampionMasteryV4<'a> {
|
impl<'a> ChampionMasteryV4<'a> {
|
||||||
/// Get all champion mastery entries sorted by number of champion points descending.
|
|
||||||
/// # Parameters
|
|
||||||
/// * `route` - Route to query.
|
|
||||||
/// * `encrypted_puuid` (required, in path)
|
|
||||||
/// # Riot Developer API Reference
|
|
||||||
/// <a href="https://developer.riotgames.com/api-methods/#champion-mastery-v4/GET_getAllChampionMasteriesByPUUID" target="_blank">`champion-mastery-v4.getAllChampionMasteriesByPUUID`</a>
|
|
||||||
///
|
|
||||||
/// Note: this method is automatically generated.
|
|
||||||
pub fn get_all_champion_masteries_by_puuid(&self, route: PlatformRoute, encrypted_puuid: &str)
|
|
||||||
-> impl Future<Output = Result<Vec<champion_mastery_v4::ChampionMastery>>> + 'a
|
|
||||||
{
|
|
||||||
let route_str = route.into();
|
|
||||||
let request = self.base.request(Method::GET, route_str, &format!("/lol/champion-mastery/v4/champion-masteries/by-puuid/{}", encrypted_puuid));
|
|
||||||
let future = self.base.execute_val::<Vec<champion_mastery_v4::ChampionMastery>>("champion-mastery-v4.getAllChampionMasteriesByPUUID", route_str, request);
|
|
||||||
#[cfg(feature = "tracing")]
|
|
||||||
let future = future.instrument(tracing::info_span!("champion-mastery-v4.getAllChampionMasteriesByPUUID"));
|
|
||||||
future
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Get a champion mastery by puuid and champion ID.
|
|
||||||
/// # Parameters
|
|
||||||
/// * `route` - Route to query.
|
|
||||||
/// * `encrypted_puuid` (required, in path)
|
|
||||||
/// * `champion_id` (required, in path) - Champion ID to retrieve Champion Mastery.
|
|
||||||
/// # Riot Developer API Reference
|
|
||||||
/// <a href="https://developer.riotgames.com/api-methods/#champion-mastery-v4/GET_getChampionMasteryByPUUID" target="_blank">`champion-mastery-v4.getChampionMasteryByPUUID`</a>
|
|
||||||
///
|
|
||||||
/// Note: this method is automatically generated.
|
|
||||||
pub fn get_champion_mastery_by_puuid(&self, route: PlatformRoute, encrypted_puuid: &str, champion_id: &str)
|
|
||||||
-> impl Future<Output = Result<champion_mastery_v4::ChampionMastery>> + 'a
|
|
||||||
{
|
|
||||||
let route_str = route.into();
|
|
||||||
let request = self.base.request(Method::GET, route_str, &format!("/lol/champion-mastery/v4/champion-masteries/by-puuid/{}/by-champion/{}", encrypted_puuid, champion_id));
|
|
||||||
let future = self.base.execute_val::<champion_mastery_v4::ChampionMastery>("champion-mastery-v4.getChampionMasteryByPUUID", route_str, request);
|
|
||||||
#[cfg(feature = "tracing")]
|
|
||||||
let future = future.instrument(tracing::info_span!("champion-mastery-v4.getChampionMasteryByPUUID"));
|
|
||||||
future
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Get specified number of top champion mastery entries sorted by number of champion points descending.
|
|
||||||
/// # Parameters
|
|
||||||
/// * `route` - Route to query.
|
|
||||||
/// * `encrypted_puuid` (required, in path)
|
|
||||||
/// * `count` (optional, in query) - Number of entries to retrieve, defaults to 3.
|
|
||||||
/// # Riot Developer API Reference
|
|
||||||
/// <a href="https://developer.riotgames.com/api-methods/#champion-mastery-v4/GET_getTopChampionMasteriesByPUUID" target="_blank">`champion-mastery-v4.getTopChampionMasteriesByPUUID`</a>
|
|
||||||
///
|
|
||||||
/// Note: this method is automatically generated.
|
|
||||||
pub fn get_top_champion_masteries_by_puuid(&self, route: PlatformRoute, encrypted_puuid: &str, count: Option<i32>)
|
|
||||||
-> impl Future<Output = Result<Vec<champion_mastery_v4::ChampionMastery>>> + 'a
|
|
||||||
{
|
|
||||||
let route_str = route.into();
|
|
||||||
let request = self.base.request(Method::GET, route_str, &format!("/lol/champion-mastery/v4/champion-masteries/by-puuid/{}/top", encrypted_puuid));
|
|
||||||
let mut request = request; if let Some(count) = count { request = request.query(&[ ("count", count) ]); }
|
|
||||||
let future = self.base.execute_val::<Vec<champion_mastery_v4::ChampionMastery>>("champion-mastery-v4.getTopChampionMasteriesByPUUID", route_str, request);
|
|
||||||
#[cfg(feature = "tracing")]
|
|
||||||
let future = future.instrument(tracing::info_span!("champion-mastery-v4.getTopChampionMasteriesByPUUID"));
|
|
||||||
future
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Get all champion mastery entries sorted by number of champion points descending,
|
/// Get all champion mastery entries sorted by number of champion points descending,
|
||||||
/// # Parameters
|
/// # Parameters
|
||||||
/// * `route` - Route to query.
|
/// * `route` - Route to query.
|
||||||
|
@ -492,25 +432,6 @@ impl<'a> ChampionMasteryV4<'a> {
|
||||||
future
|
future
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Get a player's total champion mastery score, which is the sum of individual champion mastery levels.
|
|
||||||
/// # Parameters
|
|
||||||
/// * `route` - Route to query.
|
|
||||||
/// * `encrypted_puuid` (required, in path)
|
|
||||||
/// # Riot Developer API Reference
|
|
||||||
/// <a href="https://developer.riotgames.com/api-methods/#champion-mastery-v4/GET_getChampionMasteryScoreByPUUID" target="_blank">`champion-mastery-v4.getChampionMasteryScoreByPUUID`</a>
|
|
||||||
///
|
|
||||||
/// Note: this method is automatically generated.
|
|
||||||
pub fn get_champion_mastery_score_by_puuid(&self, route: PlatformRoute, encrypted_puuid: &str)
|
|
||||||
-> impl Future<Output = Result<i32>> + 'a
|
|
||||||
{
|
|
||||||
let route_str = route.into();
|
|
||||||
let request = self.base.request(Method::GET, route_str, &format!("/lol/champion-mastery/v4/scores/by-puuid/{}", encrypted_puuid));
|
|
||||||
let future = self.base.execute_val::<i32>("champion-mastery-v4.getChampionMasteryScoreByPUUID", route_str, request);
|
|
||||||
#[cfg(feature = "tracing")]
|
|
||||||
let future = future.instrument(tracing::info_span!("champion-mastery-v4.getChampionMasteryScoreByPUUID"));
|
|
||||||
future
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Get a player's total champion mastery score, which is the sum of individual champion mastery levels.
|
/// Get a player's total champion mastery score, which is the sum of individual champion mastery levels.
|
||||||
/// # Parameters
|
/// # Parameters
|
||||||
/// * `route` - Route to query.
|
/// * `route` - Route to query.
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
///////////////////////////////////////////////
|
///////////////////////////////////////////////
|
||||||
|
|
||||||
// http://www.mingweisamuel.com/riotapi-schema/tool/
|
// http://www.mingweisamuel.com/riotapi-schema/tool/
|
||||||
// Version 54c6fd7144adb63e54515df33a6a557eed0f17ba
|
// Version 7d71fe40a50ce14ad12ed6db791a4d0bae0f810e
|
||||||
|
|
||||||
//! Metadata about the Riot API and Riven.
|
//! Metadata about the Riot API and Riven.
|
||||||
//!
|
//!
|
||||||
|
@ -15,18 +15,14 @@
|
||||||
|
|
||||||
/// Metadata for endpoints. Each tuple corresponds to one endpoint and contains
|
/// Metadata for endpoints. Each tuple corresponds to one endpoint and contains
|
||||||
/// the HTTP [`Method`](reqwest::Method), `str` path, and the method's `str` ID.
|
/// the HTTP [`Method`](reqwest::Method), `str` path, and the method's `str` ID.
|
||||||
pub static ALL_ENDPOINTS: [(reqwest::Method, &str, &str); 83] = [
|
pub static ALL_ENDPOINTS: [(reqwest::Method, &str, &str); 79] = [
|
||||||
(reqwest::Method::GET, "/riot/account/v1/accounts/by-puuid/{puuid}", "account-v1.getByPuuid"),
|
(reqwest::Method::GET, "/riot/account/v1/accounts/by-puuid/{puuid}", "account-v1.getByPuuid"),
|
||||||
(reqwest::Method::GET, "/riot/account/v1/accounts/by-riot-id/{gameName}/{tagLine}", "account-v1.getByRiotId"),
|
(reqwest::Method::GET, "/riot/account/v1/accounts/by-riot-id/{gameName}/{tagLine}", "account-v1.getByRiotId"),
|
||||||
(reqwest::Method::GET, "/riot/account/v1/accounts/me", "account-v1.getByAccessToken"),
|
(reqwest::Method::GET, "/riot/account/v1/accounts/me", "account-v1.getByAccessToken"),
|
||||||
(reqwest::Method::GET, "/riot/account/v1/active-shards/by-game/{game}/by-puuid/{puuid}", "account-v1.getActiveShard"),
|
(reqwest::Method::GET, "/riot/account/v1/active-shards/by-game/{game}/by-puuid/{puuid}", "account-v1.getActiveShard"),
|
||||||
(reqwest::Method::GET, "/lol/champion-mastery/v4/champion-masteries/by-puuid/{encryptedPUUID}", "champion-mastery-v4.getAllChampionMasteriesByPUUID"),
|
|
||||||
(reqwest::Method::GET, "/lol/champion-mastery/v4/champion-masteries/by-puuid/{encryptedPUUID}/by-champion/{championId}", "champion-mastery-v4.getChampionMasteryByPUUID"),
|
|
||||||
(reqwest::Method::GET, "/lol/champion-mastery/v4/champion-masteries/by-puuid/{encryptedPUUID}/top", "champion-mastery-v4.getTopChampionMasteriesByPUUID"),
|
|
||||||
(reqwest::Method::GET, "/lol/champion-mastery/v4/champion-masteries/by-summoner/{encryptedSummonerId}", "champion-mastery-v4.getAllChampionMasteries"),
|
(reqwest::Method::GET, "/lol/champion-mastery/v4/champion-masteries/by-summoner/{encryptedSummonerId}", "champion-mastery-v4.getAllChampionMasteries"),
|
||||||
(reqwest::Method::GET, "/lol/champion-mastery/v4/champion-masteries/by-summoner/{encryptedSummonerId}/by-champion/{championId}", "champion-mastery-v4.getChampionMastery"),
|
(reqwest::Method::GET, "/lol/champion-mastery/v4/champion-masteries/by-summoner/{encryptedSummonerId}/by-champion/{championId}", "champion-mastery-v4.getChampionMastery"),
|
||||||
(reqwest::Method::GET, "/lol/champion-mastery/v4/champion-masteries/by-summoner/{encryptedSummonerId}/top", "champion-mastery-v4.getTopChampionMasteries"),
|
(reqwest::Method::GET, "/lol/champion-mastery/v4/champion-masteries/by-summoner/{encryptedSummonerId}/top", "champion-mastery-v4.getTopChampionMasteries"),
|
||||||
(reqwest::Method::GET, "/lol/champion-mastery/v4/scores/by-puuid/{encryptedPUUID}", "champion-mastery-v4.getChampionMasteryScoreByPUUID"),
|
|
||||||
(reqwest::Method::GET, "/lol/champion-mastery/v4/scores/by-summoner/{encryptedSummonerId}", "champion-mastery-v4.getChampionMasteryScore"),
|
(reqwest::Method::GET, "/lol/champion-mastery/v4/scores/by-summoner/{encryptedSummonerId}", "champion-mastery-v4.getChampionMasteryScore"),
|
||||||
(reqwest::Method::GET, "/lol/platform/v3/champion-rotations", "champion-v3.getChampionInfo"),
|
(reqwest::Method::GET, "/lol/platform/v3/champion-rotations", "champion-v3.getChampionInfo"),
|
||||||
(reqwest::Method::GET, "/lol/clash/v1/players/by-puuid/{encryptedPUUID}", "clash-v1.getPlayersByPUUID"),
|
(reqwest::Method::GET, "/lol/clash/v1/players/by-puuid/{encryptedPUUID}", "clash-v1.getPlayersByPUUID"),
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
///////////////////////////////////////////////
|
///////////////////////////////////////////////
|
||||||
|
|
||||||
// http://www.mingweisamuel.com/riotapi-schema/tool/
|
// http://www.mingweisamuel.com/riotapi-schema/tool/
|
||||||
// Version 54c6fd7144adb63e54515df33a6a557eed0f17ba
|
// Version 7d71fe40a50ce14ad12ed6db791a4d0bae0f810e
|
||||||
|
|
||||||
#![allow(missing_docs)]
|
#![allow(missing_docs)]
|
||||||
|
|
||||||
|
@ -269,15 +269,18 @@ pub mod league_v4 {
|
||||||
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
|
#[cfg_attr(feature = "deny-unknown-fields", serde(deny_unknown_fields))]
|
||||||
pub struct LeagueList {
|
pub struct LeagueList {
|
||||||
#[serde(rename = "leagueId")]
|
#[serde(rename = "leagueId")]
|
||||||
pub league_id: String,
|
#[serde(skip_serializing_if = "Option::is_none")]
|
||||||
|
pub league_id: Option<String>,
|
||||||
#[serde(rename = "entries")]
|
#[serde(rename = "entries")]
|
||||||
pub entries: std::vec::Vec<LeagueItem>,
|
pub entries: std::vec::Vec<LeagueItem>,
|
||||||
#[serde(rename = "tier")]
|
#[serde(rename = "tier")]
|
||||||
pub tier: crate::consts::Tier,
|
pub tier: crate::consts::Tier,
|
||||||
#[serde(rename = "name")]
|
#[serde(rename = "name")]
|
||||||
pub name: String,
|
#[serde(skip_serializing_if = "Option::is_none")]
|
||||||
|
pub name: Option<String>,
|
||||||
#[serde(rename = "queue")]
|
#[serde(rename = "queue")]
|
||||||
pub queue: crate::consts::QueueType,
|
#[serde(skip_serializing_if = "Option::is_none")]
|
||||||
|
pub queue: Option<crate::consts::QueueType>,
|
||||||
}
|
}
|
||||||
/// LeagueItem data object.
|
/// LeagueItem data object.
|
||||||
#[derive(Clone, Debug)]
|
#[derive(Clone, Debug)]
|
||||||
|
|
|
@ -49,7 +49,9 @@ async_tests! {
|
||||||
leagueexp_get: async {
|
leagueexp_get: async {
|
||||||
let p = RIOT_API.league_exp_v4().get_league_entries(ROUTE, 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())?;
|
let d = p.await.map_err(|e| e.to_string())?;
|
||||||
rassert!(!d.is_empty(), "Challenger shouldn't be empty.");
|
if d.is_empty() {
|
||||||
|
eprintln!("Off-season, challenger league is empty.");
|
||||||
|
}
|
||||||
Ok(())
|
Ok(())
|
||||||
},
|
},
|
||||||
champion_mastery_v4: async {
|
champion_mastery_v4: async {
|
||||||
|
|
|
@ -25,8 +25,14 @@ pub async fn league_v4_match_v5_latest_combo(route: PlatformRoute) -> Result<(),
|
||||||
.await
|
.await
|
||||||
.map_err(|e| format!("Failed to get challenger league: {}", e))?;
|
.map_err(|e| format!("Failed to get challenger league: {}", e))?;
|
||||||
|
|
||||||
if QueueType::RANKED_SOLO_5x5 != challenger_league.queue {
|
let Some(queue) = challenger_league.queue else {
|
||||||
return Err(format!("Unexpected `queue`: {}", challenger_league.queue));
|
assert!(challenger_league.entries.is_empty());
|
||||||
|
eprintln!("Off-season, challenger league is empty.");
|
||||||
|
return Ok(());
|
||||||
|
};
|
||||||
|
|
||||||
|
if QueueType::RANKED_SOLO_5x5 != queue {
|
||||||
|
return Err(format!("Unexpected `queue`: {:?}", queue));
|
||||||
}
|
}
|
||||||
if challenger_league.entries.is_empty() {
|
if challenger_league.entries.is_empty() {
|
||||||
return Err("Challenger league is unexpectedly empty!".to_owned());
|
return Err("Challenger league is unexpectedly empty!".to_owned());
|
||||||
|
|
Loading…
Reference in New Issue