|
|
|
@ -16,7 +16,7 @@ use crate::models::*;
|
|
|
|
|
use std::future::Future;
|
|
|
|
|
use std::vec::Vec;
|
|
|
|
|
|
|
|
|
|
use url::form_urlencoded::Serializer;
|
|
|
|
|
use reqwest::Method;
|
|
|
|
|
|
|
|
|
|
use crate::Result;
|
|
|
|
|
use crate::consts::Region;
|
|
|
|
@ -273,6 +273,7 @@ impl RiotApi {
|
|
|
|
|
/// <a href="https://developer.riotgames.com/apis#account-v1" target="_blank">`account-v1`</a>
|
|
|
|
|
///
|
|
|
|
|
/// Note: this struct is automatically generated.
|
|
|
|
|
#[repr(transparent)]
|
|
|
|
|
pub struct AccountV1<'a> {
|
|
|
|
|
base: &'a RiotApi,
|
|
|
|
|
}
|
|
|
|
@ -288,8 +289,9 @@ impl<'a> AccountV1<'a> {
|
|
|
|
|
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)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), &format!("/riot/account/v1/accounts/by-puuid/{}", puuid));
|
|
|
|
|
self.base.execute::<account_v1::Account>("account-v1.getByPuuid", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// Get account by riot id
|
|
|
|
@ -304,8 +306,9 @@ impl<'a> AccountV1<'a> {
|
|
|
|
|
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)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), &format!("/riot/account/v1/accounts/by-riot-id/{}/{}", game_name, tag_line));
|
|
|
|
|
self.base.execute_optional::<account_v1::Account>("account-v1.getByRiotId", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// Get active shard for a player
|
|
|
|
@ -320,8 +323,9 @@ impl<'a> AccountV1<'a> {
|
|
|
|
|
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)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), &format!("/riot/account/v1/active-shards/by-game/{}/by-puuid/{}", game, puuid));
|
|
|
|
|
self.base.execute_optional::<account_v1::ActiveShard>("account-v1.getActiveShard", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
@ -331,6 +335,7 @@ impl<'a> AccountV1<'a> {
|
|
|
|
|
/// <a href="https://developer.riotgames.com/apis#champion-mastery-v4" target="_blank">`champion-mastery-v4`</a>
|
|
|
|
|
///
|
|
|
|
|
/// Note: this struct is automatically generated.
|
|
|
|
|
#[repr(transparent)]
|
|
|
|
|
pub struct ChampionMasteryV4<'a> {
|
|
|
|
|
base: &'a RiotApi,
|
|
|
|
|
}
|
|
|
|
@ -346,8 +351,9 @@ impl<'a> ChampionMasteryV4<'a> {
|
|
|
|
|
pub fn get_all_champion_masteries(&self, region: Region, encrypted_summoner_id: &str)
|
|
|
|
|
-> impl Future<Output = Result<Vec<champion_mastery_v4::ChampionMastery>>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = format!("/lol/champion-mastery/v4/champion-masteries/by-summoner/{}", encrypted_summoner_id);
|
|
|
|
|
self.base.get::<Vec<champion_mastery_v4::ChampionMastery>>("champion-mastery-v4.getAllChampionMasteries", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), &format!("/lol/champion-mastery/v4/champion-masteries/by-summoner/{}", encrypted_summoner_id));
|
|
|
|
|
self.base.execute::<Vec<champion_mastery_v4::ChampionMastery>>("champion-mastery-v4.getAllChampionMasteries", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// Get a champion mastery by player ID and champion ID.
|
|
|
|
@ -362,8 +368,9 @@ impl<'a> ChampionMasteryV4<'a> {
|
|
|
|
|
pub fn get_champion_mastery(&self, region: Region, encrypted_summoner_id: &str, champion_id: crate::consts::Champion)
|
|
|
|
|
-> impl Future<Output = Result<Option<champion_mastery_v4::ChampionMastery>>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = format!("/lol/champion-mastery/v4/champion-masteries/by-summoner/{}/by-champion/{}", encrypted_summoner_id, champion_id);
|
|
|
|
|
self.base.get_optional::<champion_mastery_v4::ChampionMastery>("champion-mastery-v4.getChampionMastery", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut 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_optional::<champion_mastery_v4::ChampionMastery>("champion-mastery-v4.getChampionMastery", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// Get a player's total champion mastery score, which is the sum of individual champion mastery levels.
|
|
|
|
@ -377,8 +384,9 @@ impl<'a> ChampionMasteryV4<'a> {
|
|
|
|
|
pub fn get_champion_mastery_score(&self, region: Region, encrypted_summoner_id: &str)
|
|
|
|
|
-> impl Future<Output = Result<i32>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = format!("/lol/champion-mastery/v4/scores/by-summoner/{}", encrypted_summoner_id);
|
|
|
|
|
self.base.get::<i32>("champion-mastery-v4.getChampionMasteryScore", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), &format!("/lol/champion-mastery/v4/scores/by-summoner/{}", encrypted_summoner_id));
|
|
|
|
|
self.base.execute::<i32>("champion-mastery-v4.getChampionMasteryScore", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
@ -388,6 +396,7 @@ impl<'a> ChampionMasteryV4<'a> {
|
|
|
|
|
/// <a href="https://developer.riotgames.com/apis#champion-v3" target="_blank">`champion-v3`</a>
|
|
|
|
|
///
|
|
|
|
|
/// Note: this struct is automatically generated.
|
|
|
|
|
#[repr(transparent)]
|
|
|
|
|
pub struct ChampionV3<'a> {
|
|
|
|
|
base: &'a RiotApi,
|
|
|
|
|
}
|
|
|
|
@ -402,8 +411,9 @@ impl<'a> ChampionV3<'a> {
|
|
|
|
|
pub fn get_champion_info(&self, region: Region)
|
|
|
|
|
-> impl Future<Output = Result<champion_v3::ChampionInfo>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = "/lol/platform/v3/champion-rotations".to_owned();
|
|
|
|
|
self.base.get::<champion_v3::ChampionInfo>("champion-v3.getChampionInfo", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), "/lol/platform/v3/champion-rotations");
|
|
|
|
|
self.base.execute::<champion_v3::ChampionInfo>("champion-v3.getChampionInfo", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
@ -413,6 +423,7 @@ impl<'a> ChampionV3<'a> {
|
|
|
|
|
/// <a href="https://developer.riotgames.com/apis#clash-v1" target="_blank">`clash-v1`</a>
|
|
|
|
|
///
|
|
|
|
|
/// Note: this struct is automatically generated.
|
|
|
|
|
#[repr(transparent)]
|
|
|
|
|
pub struct ClashV1<'a> {
|
|
|
|
|
base: &'a RiotApi,
|
|
|
|
|
}
|
|
|
|
@ -430,8 +441,9 @@ impl<'a> ClashV1<'a> {
|
|
|
|
|
pub fn get_players_by_summoner(&self, region: Region, summoner_id: &str)
|
|
|
|
|
-> impl Future<Output = Result<Vec<clash_v1::Player>>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = format!("/lol/clash/v1/players/by-summoner/{}", summoner_id);
|
|
|
|
|
self.base.get::<Vec<clash_v1::Player>>("clash-v1.getPlayersBySummoner", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), &format!("/lol/clash/v1/players/by-summoner/{}", summoner_id));
|
|
|
|
|
self.base.execute::<Vec<clash_v1::Player>>("clash-v1.getPlayersBySummoner", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// Get team by ID.
|
|
|
|
@ -445,8 +457,9 @@ impl<'a> ClashV1<'a> {
|
|
|
|
|
pub fn get_team_by_id(&self, region: Region, team_id: &str)
|
|
|
|
|
-> impl Future<Output = Result<Option<clash_v1::Team>>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = format!("/lol/clash/v1/teams/{}", team_id);
|
|
|
|
|
self.base.get_optional::<clash_v1::Team>("clash-v1.getTeamById", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), &format!("/lol/clash/v1/teams/{}", team_id));
|
|
|
|
|
self.base.execute_optional::<clash_v1::Team>("clash-v1.getTeamById", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// Get all active or upcoming tournaments.
|
|
|
|
@ -459,8 +472,9 @@ impl<'a> ClashV1<'a> {
|
|
|
|
|
pub fn get_tournaments(&self, region: Region)
|
|
|
|
|
-> impl Future<Output = Result<Vec<clash_v1::Tournament>>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = "/lol/clash/v1/tournaments".to_owned();
|
|
|
|
|
self.base.get::<Vec<clash_v1::Tournament>>("clash-v1.getTournaments", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), "/lol/clash/v1/tournaments");
|
|
|
|
|
self.base.execute::<Vec<clash_v1::Tournament>>("clash-v1.getTournaments", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// Get tournament by team ID.
|
|
|
|
@ -474,8 +488,9 @@ impl<'a> ClashV1<'a> {
|
|
|
|
|
pub fn get_tournament_by_team(&self, region: Region, team_id: &str)
|
|
|
|
|
-> impl Future<Output = Result<Option<clash_v1::Tournament>>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = format!("/lol/clash/v1/tournaments/by-team/{}", team_id);
|
|
|
|
|
self.base.get_optional::<clash_v1::Tournament>("clash-v1.getTournamentByTeam", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), &format!("/lol/clash/v1/tournaments/by-team/{}", team_id));
|
|
|
|
|
self.base.execute_optional::<clash_v1::Tournament>("clash-v1.getTournamentByTeam", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// Get tournament by ID.
|
|
|
|
@ -489,8 +504,9 @@ impl<'a> ClashV1<'a> {
|
|
|
|
|
pub fn get_tournament_by_id(&self, region: Region, tournament_id: i32)
|
|
|
|
|
-> impl Future<Output = Result<Option<clash_v1::Tournament>>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = format!("/lol/clash/v1/tournaments/{}", tournament_id);
|
|
|
|
|
self.base.get_optional::<clash_v1::Tournament>("clash-v1.getTournamentById", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), &format!("/lol/clash/v1/tournaments/{}", tournament_id));
|
|
|
|
|
self.base.execute_optional::<clash_v1::Tournament>("clash-v1.getTournamentById", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
@ -500,6 +516,7 @@ impl<'a> ClashV1<'a> {
|
|
|
|
|
/// <a href="https://developer.riotgames.com/apis#league-exp-v4" target="_blank">`league-exp-v4`</a>
|
|
|
|
|
///
|
|
|
|
|
/// Note: this struct is automatically generated.
|
|
|
|
|
#[repr(transparent)]
|
|
|
|
|
pub struct LeagueExpV4<'a> {
|
|
|
|
|
base: &'a RiotApi,
|
|
|
|
|
}
|
|
|
|
@ -518,11 +535,10 @@ impl<'a> LeagueExpV4<'a> {
|
|
|
|
|
pub fn get_league_entries(&self, region: Region, queue: crate::consts::QueueType, tier: crate::consts::Tier, division: crate::consts::Division, page: Option<i32>)
|
|
|
|
|
-> impl Future<Output = Result<Vec<league_exp_v4::LeagueEntry>>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let mut query_params = Serializer::new(String::new());
|
|
|
|
|
if let Some(page) = page { query_params.append_pair("page", &*page.to_string()); };
|
|
|
|
|
let query_string = query_params.finish();
|
|
|
|
|
let path_string = format!("/lol/league-exp/v4/entries/{}/{}/{}", queue, tier, division);
|
|
|
|
|
self.base.get::<Vec<league_exp_v4::LeagueEntry>>("league-exp-v4.getLeagueEntries", region.into(), path_string, Some(query_string))
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), &format!("/lol/league-exp/v4/entries/{}/{}/{}", queue, tier, division));
|
|
|
|
|
if let Some(page) = page { request = request.query(&[ ("page", page) ]); };
|
|
|
|
|
self.base.execute::<Vec<league_exp_v4::LeagueEntry>>("league-exp-v4.getLeagueEntries", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
@ -532,6 +548,7 @@ impl<'a> LeagueExpV4<'a> {
|
|
|
|
|
/// <a href="https://developer.riotgames.com/apis#league-v4" target="_blank">`league-v4`</a>
|
|
|
|
|
///
|
|
|
|
|
/// Note: this struct is automatically generated.
|
|
|
|
|
#[repr(transparent)]
|
|
|
|
|
pub struct LeagueV4<'a> {
|
|
|
|
|
base: &'a RiotApi,
|
|
|
|
|
}
|
|
|
|
@ -547,8 +564,9 @@ impl<'a> LeagueV4<'a> {
|
|
|
|
|
pub fn get_challenger_league(&self, region: Region, queue: crate::consts::QueueType)
|
|
|
|
|
-> impl Future<Output = Result<league_v4::LeagueList>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = format!("/lol/league/v4/challengerleagues/by-queue/{}", queue);
|
|
|
|
|
self.base.get::<league_v4::LeagueList>("league-v4.getChallengerLeague", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), &format!("/lol/league/v4/challengerleagues/by-queue/{}", queue));
|
|
|
|
|
self.base.execute::<league_v4::LeagueList>("league-v4.getChallengerLeague", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// Get league entries in all queues for a given summoner ID.
|
|
|
|
@ -562,8 +580,9 @@ impl<'a> LeagueV4<'a> {
|
|
|
|
|
pub fn get_league_entries_for_summoner(&self, region: Region, encrypted_summoner_id: &str)
|
|
|
|
|
-> impl Future<Output = Result<Vec<league_v4::LeagueEntry>>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = format!("/lol/league/v4/entries/by-summoner/{}", encrypted_summoner_id);
|
|
|
|
|
self.base.get::<Vec<league_v4::LeagueEntry>>("league-v4.getLeagueEntriesForSummoner", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), &format!("/lol/league/v4/entries/by-summoner/{}", encrypted_summoner_id));
|
|
|
|
|
self.base.execute::<Vec<league_v4::LeagueEntry>>("league-v4.getLeagueEntriesForSummoner", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// Get all the league entries.
|
|
|
|
@ -580,11 +599,10 @@ impl<'a> LeagueV4<'a> {
|
|
|
|
|
pub fn get_league_entries(&self, region: Region, queue: crate::consts::QueueType, tier: crate::consts::Tier, division: crate::consts::Division, page: Option<i32>)
|
|
|
|
|
-> impl Future<Output = Result<Vec<league_v4::LeagueEntry>>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let mut query_params = Serializer::new(String::new());
|
|
|
|
|
if let Some(page) = page { query_params.append_pair("page", &*page.to_string()); };
|
|
|
|
|
let query_string = query_params.finish();
|
|
|
|
|
let path_string = format!("/lol/league/v4/entries/{}/{}/{}", queue, tier, division);
|
|
|
|
|
self.base.get::<Vec<league_v4::LeagueEntry>>("league-v4.getLeagueEntries", region.into(), path_string, Some(query_string))
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), &format!("/lol/league/v4/entries/{}/{}/{}", queue, tier, division));
|
|
|
|
|
if let Some(page) = page { request = request.query(&[ ("page", page) ]); };
|
|
|
|
|
self.base.execute::<Vec<league_v4::LeagueEntry>>("league-v4.getLeagueEntries", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// Get the grandmaster league of a specific queue.
|
|
|
|
@ -598,8 +616,9 @@ impl<'a> LeagueV4<'a> {
|
|
|
|
|
pub fn get_grandmaster_league(&self, region: Region, queue: crate::consts::QueueType)
|
|
|
|
|
-> impl Future<Output = Result<league_v4::LeagueList>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = format!("/lol/league/v4/grandmasterleagues/by-queue/{}", queue);
|
|
|
|
|
self.base.get::<league_v4::LeagueList>("league-v4.getGrandmasterLeague", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), &format!("/lol/league/v4/grandmasterleagues/by-queue/{}", queue));
|
|
|
|
|
self.base.execute::<league_v4::LeagueList>("league-v4.getGrandmasterLeague", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// Get league with given ID, including inactive entries.
|
|
|
|
@ -613,8 +632,9 @@ impl<'a> LeagueV4<'a> {
|
|
|
|
|
pub fn get_league_by_id(&self, region: Region, league_id: &str)
|
|
|
|
|
-> impl Future<Output = Result<Option<league_v4::LeagueList>>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = format!("/lol/league/v4/leagues/{}", league_id);
|
|
|
|
|
self.base.get_optional::<league_v4::LeagueList>("league-v4.getLeagueById", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), &format!("/lol/league/v4/leagues/{}", league_id));
|
|
|
|
|
self.base.execute_optional::<league_v4::LeagueList>("league-v4.getLeagueById", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// Get the master league for given queue.
|
|
|
|
@ -628,8 +648,9 @@ impl<'a> LeagueV4<'a> {
|
|
|
|
|
pub fn get_master_league(&self, region: Region, queue: crate::consts::QueueType)
|
|
|
|
|
-> impl Future<Output = Result<league_v4::LeagueList>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = format!("/lol/league/v4/masterleagues/by-queue/{}", queue);
|
|
|
|
|
self.base.get::<league_v4::LeagueList>("league-v4.getMasterLeague", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), &format!("/lol/league/v4/masterleagues/by-queue/{}", queue));
|
|
|
|
|
self.base.execute::<league_v4::LeagueList>("league-v4.getMasterLeague", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
@ -639,6 +660,7 @@ impl<'a> LeagueV4<'a> {
|
|
|
|
|
/// <a href="https://developer.riotgames.com/apis#lol-status-v3" target="_blank">`lol-status-v3`</a>
|
|
|
|
|
///
|
|
|
|
|
/// Note: this struct is automatically generated.
|
|
|
|
|
#[repr(transparent)]
|
|
|
|
|
pub struct LolStatusV3<'a> {
|
|
|
|
|
base: &'a RiotApi,
|
|
|
|
|
}
|
|
|
|
@ -655,8 +677,9 @@ impl<'a> LolStatusV3<'a> {
|
|
|
|
|
pub fn get_shard_data(&self, region: Region)
|
|
|
|
|
-> impl Future<Output = Result<lol_status_v3::ShardStatus>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = "/lol/status/v3/shard-data".to_owned();
|
|
|
|
|
self.base.get::<lol_status_v3::ShardStatus>("lol-status-v3.getShardData", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), "/lol/status/v3/shard-data");
|
|
|
|
|
self.base.execute::<lol_status_v3::ShardStatus>("lol-status-v3.getShardData", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
@ -666,6 +689,7 @@ impl<'a> LolStatusV3<'a> {
|
|
|
|
|
/// <a href="https://developer.riotgames.com/apis#lol-status-v4" target="_blank">`lol-status-v4`</a>
|
|
|
|
|
///
|
|
|
|
|
/// Note: this struct is automatically generated.
|
|
|
|
|
#[repr(transparent)]
|
|
|
|
|
pub struct LolStatusV4<'a> {
|
|
|
|
|
base: &'a RiotApi,
|
|
|
|
|
}
|
|
|
|
@ -680,8 +704,9 @@ impl<'a> LolStatusV4<'a> {
|
|
|
|
|
pub fn get_platform_data(&self, region: Region)
|
|
|
|
|
-> impl Future<Output = Result<lol_status_v4::PlatformData>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = "/lol/status/v4/platform-data".to_owned();
|
|
|
|
|
self.base.get::<lol_status_v4::PlatformData>("lol-status-v4.getPlatformData", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), "/lol/status/v4/platform-data");
|
|
|
|
|
self.base.execute::<lol_status_v4::PlatformData>("lol-status-v4.getPlatformData", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
@ -691,6 +716,7 @@ impl<'a> LolStatusV4<'a> {
|
|
|
|
|
/// <a href="https://developer.riotgames.com/apis#lor-deck-v1" target="_blank">`lor-deck-v1`</a>
|
|
|
|
|
///
|
|
|
|
|
/// Note: this struct is automatically generated.
|
|
|
|
|
#[repr(transparent)]
|
|
|
|
|
pub struct LorDeckV1<'a> {
|
|
|
|
|
base: &'a RiotApi,
|
|
|
|
|
}
|
|
|
|
@ -702,6 +728,7 @@ impl<'a> LorDeckV1<'a> {
|
|
|
|
|
/// <a href="https://developer.riotgames.com/apis#lor-inventory-v1" target="_blank">`lor-inventory-v1`</a>
|
|
|
|
|
///
|
|
|
|
|
/// Note: this struct is automatically generated.
|
|
|
|
|
#[repr(transparent)]
|
|
|
|
|
pub struct LorInventoryV1<'a> {
|
|
|
|
|
base: &'a RiotApi,
|
|
|
|
|
}
|
|
|
|
@ -713,6 +740,7 @@ impl<'a> LorInventoryV1<'a> {
|
|
|
|
|
/// <a href="https://developer.riotgames.com/apis#lor-match-v1" target="_blank">`lor-match-v1`</a>
|
|
|
|
|
///
|
|
|
|
|
/// Note: this struct is automatically generated.
|
|
|
|
|
#[repr(transparent)]
|
|
|
|
|
pub struct LorMatchV1<'a> {
|
|
|
|
|
base: &'a RiotApi,
|
|
|
|
|
}
|
|
|
|
@ -728,8 +756,9 @@ impl<'a> LorMatchV1<'a> {
|
|
|
|
|
pub fn get_match_ids_by_puuid(&self, region: Region, puuid: &str)
|
|
|
|
|
-> impl Future<Output = Result<Vec<String>>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = format!("/lor/match/v1/matches/by-puuid/{}/ids", puuid);
|
|
|
|
|
self.base.get::<Vec<String>>("lor-match-v1.getMatchIdsByPUUID", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), &format!("/lor/match/v1/matches/by-puuid/{}/ids", puuid));
|
|
|
|
|
self.base.execute::<Vec<String>>("lor-match-v1.getMatchIdsByPUUID", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// Get match by id
|
|
|
|
@ -743,8 +772,9 @@ impl<'a> LorMatchV1<'a> {
|
|
|
|
|
pub fn get_match(&self, region: Region, match_id: &str)
|
|
|
|
|
-> impl Future<Output = Result<lor_match_v1::Match>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = format!("/lor/match/v1/matches/{}", match_id);
|
|
|
|
|
self.base.get::<lor_match_v1::Match>("lor-match-v1.getMatch", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), &format!("/lor/match/v1/matches/{}", match_id));
|
|
|
|
|
self.base.execute::<lor_match_v1::Match>("lor-match-v1.getMatch", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
@ -754,6 +784,7 @@ impl<'a> LorMatchV1<'a> {
|
|
|
|
|
/// <a href="https://developer.riotgames.com/apis#lor-ranked-v1" target="_blank">`lor-ranked-v1`</a>
|
|
|
|
|
///
|
|
|
|
|
/// Note: this struct is automatically generated.
|
|
|
|
|
#[repr(transparent)]
|
|
|
|
|
pub struct LorRankedV1<'a> {
|
|
|
|
|
base: &'a RiotApi,
|
|
|
|
|
}
|
|
|
|
@ -768,8 +799,9 @@ impl<'a> LorRankedV1<'a> {
|
|
|
|
|
pub fn get_leaderboards(&self, region: Region)
|
|
|
|
|
-> impl Future<Output = Result<lor_ranked_v1::Leaderboard>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = "/lor/ranked/v1/leaderboards".to_owned();
|
|
|
|
|
self.base.get::<lor_ranked_v1::Leaderboard>("lor-ranked-v1.getLeaderboards", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), "/lor/ranked/v1/leaderboards");
|
|
|
|
|
self.base.execute::<lor_ranked_v1::Leaderboard>("lor-ranked-v1.getLeaderboards", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
@ -779,6 +811,7 @@ impl<'a> LorRankedV1<'a> {
|
|
|
|
|
/// <a href="https://developer.riotgames.com/apis#lor-status-v1" target="_blank">`lor-status-v1`</a>
|
|
|
|
|
///
|
|
|
|
|
/// Note: this struct is automatically generated.
|
|
|
|
|
#[repr(transparent)]
|
|
|
|
|
pub struct LorStatusV1<'a> {
|
|
|
|
|
base: &'a RiotApi,
|
|
|
|
|
}
|
|
|
|
@ -793,8 +826,9 @@ impl<'a> LorStatusV1<'a> {
|
|
|
|
|
pub fn get_platform_data(&self, region: Region)
|
|
|
|
|
-> impl Future<Output = Result<lor_status_v1::PlatformData>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = "/lor/status/v1/platform-data".to_owned();
|
|
|
|
|
self.base.get::<lor_status_v1::PlatformData>("lor-status-v1.getPlatformData", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), "/lor/status/v1/platform-data");
|
|
|
|
|
self.base.execute::<lor_status_v1::PlatformData>("lor-status-v1.getPlatformData", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
@ -804,6 +838,7 @@ impl<'a> LorStatusV1<'a> {
|
|
|
|
|
/// <a href="https://developer.riotgames.com/apis#match-v4" target="_blank">`match-v4`</a>
|
|
|
|
|
///
|
|
|
|
|
/// Note: this struct is automatically generated.
|
|
|
|
|
#[repr(transparent)]
|
|
|
|
|
pub struct MatchV4<'a> {
|
|
|
|
|
base: &'a RiotApi,
|
|
|
|
|
}
|
|
|
|
@ -819,8 +854,9 @@ impl<'a> MatchV4<'a> {
|
|
|
|
|
pub fn get_match_ids_by_tournament_code(&self, region: Region, tournament_code: &str)
|
|
|
|
|
-> impl Future<Output = Result<Vec<i64>>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = format!("/lol/match/v4/matches/by-tournament-code/{}/ids", tournament_code);
|
|
|
|
|
self.base.get::<Vec<i64>>("match-v4.getMatchIdsByTournamentCode", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), &format!("/lol/match/v4/matches/by-tournament-code/{}/ids", tournament_code));
|
|
|
|
|
self.base.execute::<Vec<i64>>("match-v4.getMatchIdsByTournamentCode", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// Get match by match ID.
|
|
|
|
@ -834,8 +870,9 @@ impl<'a> MatchV4<'a> {
|
|
|
|
|
pub fn get_match(&self, region: Region, match_id: i64)
|
|
|
|
|
-> impl Future<Output = Result<Option<match_v4::Match>>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = format!("/lol/match/v4/matches/{}", match_id);
|
|
|
|
|
self.base.get_optional::<match_v4::Match>("match-v4.getMatch", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), &format!("/lol/match/v4/matches/{}", match_id));
|
|
|
|
|
self.base.execute_optional::<match_v4::Match>("match-v4.getMatch", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// Get match by match ID and tournament code.
|
|
|
|
@ -850,8 +887,9 @@ impl<'a> MatchV4<'a> {
|
|
|
|
|
pub fn get_match_by_tournament_code(&self, region: Region, match_id: i64, tournament_code: &str)
|
|
|
|
|
-> impl Future<Output = Result<match_v4::Match>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = format!("/lol/match/v4/matches/{}/by-tournament-code/{}", match_id, tournament_code);
|
|
|
|
|
self.base.get::<match_v4::Match>("match-v4.getMatchByTournamentCode", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), &format!("/lol/match/v4/matches/{}/by-tournament-code/{}", match_id, tournament_code));
|
|
|
|
|
self.base.execute::<match_v4::Match>("match-v4.getMatchByTournamentCode", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// Get matchlist for games played on given account ID and platform ID and filtered using given filter parameters, if any.
|
|
|
|
@ -878,17 +916,16 @@ impl<'a> MatchV4<'a> {
|
|
|
|
|
pub fn get_matchlist(&self, region: Region, encrypted_account_id: &str, begin_time: Option<i64>, begin_index: Option<i32>, champion: Option<&[crate::consts::Champion]>, end_time: Option<i64>, end_index: Option<i32>, queue: Option<&[crate::consts::Queue]>, season: Option<&[crate::consts::Season]>)
|
|
|
|
|
-> impl Future<Output = Result<Option<match_v4::Matchlist>>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let mut query_params = Serializer::new(String::new());
|
|
|
|
|
if let Some(begin_time) = begin_time { query_params.append_pair("beginTime", &*begin_time.to_string()); };
|
|
|
|
|
if let Some(begin_index) = begin_index { query_params.append_pair("beginIndex", &*begin_index.to_string()); };
|
|
|
|
|
if let Some(champion) = champion { query_params.extend_pairs(champion.iter().map(|w| ("champion", Into::<i16>::into(*w).to_string()))); };
|
|
|
|
|
if let Some(end_time) = end_time { query_params.append_pair("endTime", &*end_time.to_string()); };
|
|
|
|
|
if let Some(end_index) = end_index { query_params.append_pair("endIndex", &*end_index.to_string()); };
|
|
|
|
|
if let Some(queue) = queue { query_params.extend_pairs(queue.iter().map(|w| ("queue", Into::<u16>::into(*w).to_string()))); };
|
|
|
|
|
if let Some(season) = season { query_params.extend_pairs(season.iter().map(|w| ("season", Into::<u8>::into(*w).to_string()))); };
|
|
|
|
|
let query_string = query_params.finish();
|
|
|
|
|
let path_string = format!("/lol/match/v4/matchlists/by-account/{}", encrypted_account_id);
|
|
|
|
|
self.base.get_optional::<match_v4::Matchlist>("match-v4.getMatchlist", region.into(), path_string, Some(query_string))
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), &format!("/lol/match/v4/matchlists/by-account/{}", encrypted_account_id));
|
|
|
|
|
if let Some(begin_time) = begin_time { request = request.query(&[ ("beginTime", begin_time) ]); };
|
|
|
|
|
if let Some(begin_index) = begin_index { request = request.query(&[ ("beginIndex", begin_index) ]); };
|
|
|
|
|
if let Some(champion) = champion { request = request.query(&*champion.iter().map(|w| ( "champion", w )).collect::<Vec<_>>()); };
|
|
|
|
|
if let Some(end_time) = end_time { request = request.query(&[ ("endTime", end_time) ]); };
|
|
|
|
|
if let Some(end_index) = end_index { request = request.query(&[ ("endIndex", end_index) ]); };
|
|
|
|
|
if let Some(queue) = queue { request = request.query(&*queue.iter().map(|w| ( "queue", w )).collect::<Vec<_>>()); };
|
|
|
|
|
if let Some(season) = season { request = request.query(&*season.iter().map(|w| ( "season", w )).collect::<Vec<_>>()); };
|
|
|
|
|
self.base.execute_optional::<match_v4::Matchlist>("match-v4.getMatchlist", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// Get match timeline by match ID.
|
|
|
|
@ -904,8 +941,9 @@ impl<'a> MatchV4<'a> {
|
|
|
|
|
pub fn get_match_timeline(&self, region: Region, match_id: i64)
|
|
|
|
|
-> impl Future<Output = Result<Option<match_v4::MatchTimeline>>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = format!("/lol/match/v4/timelines/by-match/{}", match_id);
|
|
|
|
|
self.base.get_optional::<match_v4::MatchTimeline>("match-v4.getMatchTimeline", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), &format!("/lol/match/v4/timelines/by-match/{}", match_id));
|
|
|
|
|
self.base.execute_optional::<match_v4::MatchTimeline>("match-v4.getMatchTimeline", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
@ -915,6 +953,7 @@ impl<'a> MatchV4<'a> {
|
|
|
|
|
/// <a href="https://developer.riotgames.com/apis#match-v5" target="_blank">`match-v5`</a>
|
|
|
|
|
///
|
|
|
|
|
/// Note: this struct is automatically generated.
|
|
|
|
|
#[repr(transparent)]
|
|
|
|
|
pub struct MatchV5<'a> {
|
|
|
|
|
base: &'a RiotApi,
|
|
|
|
|
}
|
|
|
|
@ -932,12 +971,11 @@ impl<'a> MatchV5<'a> {
|
|
|
|
|
pub fn get_match_ids_by_puuid(&self, region: Region, puuid: &str, count: Option<i32>, start: Option<i32>)
|
|
|
|
|
-> impl Future<Output = Result<Vec<String>>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let mut query_params = Serializer::new(String::new());
|
|
|
|
|
if let Some(count) = count { query_params.append_pair("count", &*count.to_string()); };
|
|
|
|
|
if let Some(start) = start { query_params.append_pair("start", &*start.to_string()); };
|
|
|
|
|
let query_string = query_params.finish();
|
|
|
|
|
let path_string = format!("/lol/match/v5/matches/by-puuid/{}/ids", puuid);
|
|
|
|
|
self.base.get::<Vec<String>>("match-v5.getMatchIdsByPUUID", region.into(), path_string, Some(query_string))
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), &format!("/lol/match/v5/matches/by-puuid/{}/ids", puuid));
|
|
|
|
|
if let Some(count) = count { request = request.query(&[ ("count", count) ]); };
|
|
|
|
|
if let Some(start) = start { request = request.query(&[ ("start", start) ]); };
|
|
|
|
|
self.base.execute::<Vec<String>>("match-v5.getMatchIdsByPUUID", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// Get a match by match id
|
|
|
|
@ -951,8 +989,9 @@ impl<'a> MatchV5<'a> {
|
|
|
|
|
pub fn get_match(&self, region: Region, match_id: &str)
|
|
|
|
|
-> impl Future<Output = Result<match_v5::Match>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = format!("/lol/match/v5/matches/{}", match_id);
|
|
|
|
|
self.base.get::<match_v5::Match>("match-v5.getMatch", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), &format!("/lol/match/v5/matches/{}", match_id));
|
|
|
|
|
self.base.execute::<match_v5::Match>("match-v5.getMatch", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// Get a match timeline by match id
|
|
|
|
@ -966,8 +1005,9 @@ impl<'a> MatchV5<'a> {
|
|
|
|
|
pub fn get_timeline(&self, region: Region, match_id: &str)
|
|
|
|
|
-> impl Future<Output = Result<match_v5::MatchTimeline>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = format!("/lol/match/v5/matches/{}/timeline", match_id);
|
|
|
|
|
self.base.get::<match_v5::MatchTimeline>("match-v5.getTimeline", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), &format!("/lol/match/v5/matches/{}/timeline", match_id));
|
|
|
|
|
self.base.execute::<match_v5::MatchTimeline>("match-v5.getTimeline", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
@ -977,6 +1017,7 @@ impl<'a> MatchV5<'a> {
|
|
|
|
|
/// <a href="https://developer.riotgames.com/apis#spectator-v4" target="_blank">`spectator-v4`</a>
|
|
|
|
|
///
|
|
|
|
|
/// Note: this struct is automatically generated.
|
|
|
|
|
#[repr(transparent)]
|
|
|
|
|
pub struct SpectatorV4<'a> {
|
|
|
|
|
base: &'a RiotApi,
|
|
|
|
|
}
|
|
|
|
@ -992,8 +1033,9 @@ impl<'a> SpectatorV4<'a> {
|
|
|
|
|
pub fn get_current_game_info_by_summoner(&self, region: Region, encrypted_summoner_id: &str)
|
|
|
|
|
-> impl Future<Output = Result<Option<spectator_v4::CurrentGameInfo>>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = format!("/lol/spectator/v4/active-games/by-summoner/{}", encrypted_summoner_id);
|
|
|
|
|
self.base.get_optional::<spectator_v4::CurrentGameInfo>("spectator-v4.getCurrentGameInfoBySummoner", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), &format!("/lol/spectator/v4/active-games/by-summoner/{}", encrypted_summoner_id));
|
|
|
|
|
self.base.execute_optional::<spectator_v4::CurrentGameInfo>("spectator-v4.getCurrentGameInfoBySummoner", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// Get list of featured games.
|
|
|
|
@ -1006,8 +1048,9 @@ impl<'a> SpectatorV4<'a> {
|
|
|
|
|
pub fn get_featured_games(&self, region: Region)
|
|
|
|
|
-> impl Future<Output = Result<spectator_v4::FeaturedGames>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = "/lol/spectator/v4/featured-games".to_owned();
|
|
|
|
|
self.base.get::<spectator_v4::FeaturedGames>("spectator-v4.getFeaturedGames", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), "/lol/spectator/v4/featured-games");
|
|
|
|
|
self.base.execute::<spectator_v4::FeaturedGames>("spectator-v4.getFeaturedGames", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
@ -1017,6 +1060,7 @@ impl<'a> SpectatorV4<'a> {
|
|
|
|
|
/// <a href="https://developer.riotgames.com/apis#summoner-v4" target="_blank">`summoner-v4`</a>
|
|
|
|
|
///
|
|
|
|
|
/// Note: this struct is automatically generated.
|
|
|
|
|
#[repr(transparent)]
|
|
|
|
|
pub struct SummonerV4<'a> {
|
|
|
|
|
base: &'a RiotApi,
|
|
|
|
|
}
|
|
|
|
@ -1032,8 +1076,9 @@ impl<'a> SummonerV4<'a> {
|
|
|
|
|
pub fn get_by_account_id(&self, region: Region, encrypted_account_id: &str)
|
|
|
|
|
-> impl Future<Output = Result<summoner_v4::Summoner>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = format!("/lol/summoner/v4/summoners/by-account/{}", encrypted_account_id);
|
|
|
|
|
self.base.get::<summoner_v4::Summoner>("summoner-v4.getByAccountId", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), &format!("/lol/summoner/v4/summoners/by-account/{}", encrypted_account_id));
|
|
|
|
|
self.base.execute::<summoner_v4::Summoner>("summoner-v4.getByAccountId", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// Get a summoner by summoner name.
|
|
|
|
@ -1047,8 +1092,9 @@ impl<'a> SummonerV4<'a> {
|
|
|
|
|
pub fn get_by_summoner_name(&self, region: Region, summoner_name: &str)
|
|
|
|
|
-> impl Future<Output = Result<Option<summoner_v4::Summoner>>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = format!("/lol/summoner/v4/summoners/by-name/{}", summoner_name);
|
|
|
|
|
self.base.get_optional::<summoner_v4::Summoner>("summoner-v4.getBySummonerName", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), &format!("/lol/summoner/v4/summoners/by-name/{}", summoner_name));
|
|
|
|
|
self.base.execute_optional::<summoner_v4::Summoner>("summoner-v4.getBySummonerName", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// Get a summoner by PUUID.
|
|
|
|
@ -1062,8 +1108,9 @@ impl<'a> SummonerV4<'a> {
|
|
|
|
|
pub fn get_by_puuid(&self, region: Region, encrypted_puuid: &str)
|
|
|
|
|
-> impl Future<Output = Result<summoner_v4::Summoner>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = format!("/lol/summoner/v4/summoners/by-puuid/{}", encrypted_puuid);
|
|
|
|
|
self.base.get::<summoner_v4::Summoner>("summoner-v4.getByPUUID", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), &format!("/lol/summoner/v4/summoners/by-puuid/{}", encrypted_puuid));
|
|
|
|
|
self.base.execute::<summoner_v4::Summoner>("summoner-v4.getByPUUID", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// Get a summoner by summoner ID.
|
|
|
|
@ -1077,8 +1124,9 @@ impl<'a> SummonerV4<'a> {
|
|
|
|
|
pub fn get_by_summoner_id(&self, region: Region, encrypted_summoner_id: &str)
|
|
|
|
|
-> impl Future<Output = Result<summoner_v4::Summoner>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = format!("/lol/summoner/v4/summoners/{}", encrypted_summoner_id);
|
|
|
|
|
self.base.get::<summoner_v4::Summoner>("summoner-v4.getBySummonerId", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), &format!("/lol/summoner/v4/summoners/{}", encrypted_summoner_id));
|
|
|
|
|
self.base.execute::<summoner_v4::Summoner>("summoner-v4.getBySummonerId", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
@ -1088,6 +1136,7 @@ impl<'a> SummonerV4<'a> {
|
|
|
|
|
/// <a href="https://developer.riotgames.com/apis#tft-league-v1" target="_blank">`tft-league-v1`</a>
|
|
|
|
|
///
|
|
|
|
|
/// Note: this struct is automatically generated.
|
|
|
|
|
#[repr(transparent)]
|
|
|
|
|
pub struct TftLeagueV1<'a> {
|
|
|
|
|
base: &'a RiotApi,
|
|
|
|
|
}
|
|
|
|
@ -1102,8 +1151,9 @@ impl<'a> TftLeagueV1<'a> {
|
|
|
|
|
pub fn get_challenger_league(&self, region: Region)
|
|
|
|
|
-> impl Future<Output = Result<tft_league_v1::LeagueList>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = "/tft/league/v1/challenger".to_owned();
|
|
|
|
|
self.base.get::<tft_league_v1::LeagueList>("tft-league-v1.getChallengerLeague", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), "/tft/league/v1/challenger");
|
|
|
|
|
self.base.execute::<tft_league_v1::LeagueList>("tft-league-v1.getChallengerLeague", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// Get league entries for a given summoner ID.
|
|
|
|
@ -1117,8 +1167,9 @@ impl<'a> TftLeagueV1<'a> {
|
|
|
|
|
pub fn get_league_entries_for_summoner(&self, region: Region, summoner_id: &str)
|
|
|
|
|
-> impl Future<Output = Result<Vec<tft_league_v1::LeagueEntry>>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = format!("/tft/league/v1/entries/by-summoner/{}", summoner_id);
|
|
|
|
|
self.base.get::<Vec<tft_league_v1::LeagueEntry>>("tft-league-v1.getLeagueEntriesForSummoner", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), &format!("/tft/league/v1/entries/by-summoner/{}", summoner_id));
|
|
|
|
|
self.base.execute::<Vec<tft_league_v1::LeagueEntry>>("tft-league-v1.getLeagueEntriesForSummoner", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// Get all the league entries.
|
|
|
|
@ -1134,11 +1185,10 @@ impl<'a> TftLeagueV1<'a> {
|
|
|
|
|
pub fn get_league_entries(&self, region: Region, tier: &str, division: &str, page: Option<i32>)
|
|
|
|
|
-> impl Future<Output = Result<Vec<tft_league_v1::LeagueEntry>>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let mut query_params = Serializer::new(String::new());
|
|
|
|
|
if let Some(page) = page { query_params.append_pair("page", &*page.to_string()); };
|
|
|
|
|
let query_string = query_params.finish();
|
|
|
|
|
let path_string = format!("/tft/league/v1/entries/{}/{}", tier, division);
|
|
|
|
|
self.base.get::<Vec<tft_league_v1::LeagueEntry>>("tft-league-v1.getLeagueEntries", region.into(), path_string, Some(query_string))
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), &format!("/tft/league/v1/entries/{}/{}", tier, division));
|
|
|
|
|
if let Some(page) = page { request = request.query(&[ ("page", page) ]); };
|
|
|
|
|
self.base.execute::<Vec<tft_league_v1::LeagueEntry>>("tft-league-v1.getLeagueEntries", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// Get the grandmaster league.
|
|
|
|
@ -1151,8 +1201,9 @@ impl<'a> TftLeagueV1<'a> {
|
|
|
|
|
pub fn get_grandmaster_league(&self, region: Region)
|
|
|
|
|
-> impl Future<Output = Result<tft_league_v1::LeagueList>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = "/tft/league/v1/grandmaster".to_owned();
|
|
|
|
|
self.base.get::<tft_league_v1::LeagueList>("tft-league-v1.getGrandmasterLeague", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), "/tft/league/v1/grandmaster");
|
|
|
|
|
self.base.execute::<tft_league_v1::LeagueList>("tft-league-v1.getGrandmasterLeague", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// Get league with given ID, including inactive entries.
|
|
|
|
@ -1166,8 +1217,9 @@ impl<'a> TftLeagueV1<'a> {
|
|
|
|
|
pub fn get_league_by_id(&self, region: Region, league_id: &str)
|
|
|
|
|
-> impl Future<Output = Result<Option<tft_league_v1::LeagueList>>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = format!("/tft/league/v1/leagues/{}", league_id);
|
|
|
|
|
self.base.get_optional::<tft_league_v1::LeagueList>("tft-league-v1.getLeagueById", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), &format!("/tft/league/v1/leagues/{}", league_id));
|
|
|
|
|
self.base.execute_optional::<tft_league_v1::LeagueList>("tft-league-v1.getLeagueById", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// Get the master league.
|
|
|
|
@ -1180,8 +1232,9 @@ impl<'a> TftLeagueV1<'a> {
|
|
|
|
|
pub fn get_master_league(&self, region: Region)
|
|
|
|
|
-> impl Future<Output = Result<tft_league_v1::LeagueList>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = "/tft/league/v1/master".to_owned();
|
|
|
|
|
self.base.get::<tft_league_v1::LeagueList>("tft-league-v1.getMasterLeague", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), "/tft/league/v1/master");
|
|
|
|
|
self.base.execute::<tft_league_v1::LeagueList>("tft-league-v1.getMasterLeague", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// Get the top rated ladder for given queue
|
|
|
|
@ -1195,8 +1248,9 @@ impl<'a> TftLeagueV1<'a> {
|
|
|
|
|
pub fn get_top_rated_ladder(&self, region: Region, queue: crate::consts::QueueType)
|
|
|
|
|
-> impl Future<Output = Result<Vec<tft_league_v1::TopRatedLadderEntry>>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = format!("/tft/league/v1/rated-ladders/{}/top", queue);
|
|
|
|
|
self.base.get::<Vec<tft_league_v1::TopRatedLadderEntry>>("tft-league-v1.getTopRatedLadder", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), &format!("/tft/league/v1/rated-ladders/{}/top", queue));
|
|
|
|
|
self.base.execute::<Vec<tft_league_v1::TopRatedLadderEntry>>("tft-league-v1.getTopRatedLadder", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
@ -1206,6 +1260,7 @@ impl<'a> TftLeagueV1<'a> {
|
|
|
|
|
/// <a href="https://developer.riotgames.com/apis#tft-match-v1" target="_blank">`tft-match-v1`</a>
|
|
|
|
|
///
|
|
|
|
|
/// Note: this struct is automatically generated.
|
|
|
|
|
#[repr(transparent)]
|
|
|
|
|
pub struct TftMatchV1<'a> {
|
|
|
|
|
base: &'a RiotApi,
|
|
|
|
|
}
|
|
|
|
@ -1222,11 +1277,10 @@ impl<'a> TftMatchV1<'a> {
|
|
|
|
|
pub fn get_match_ids_by_puuid(&self, region: Region, puuid: &str, count: Option<i32>)
|
|
|
|
|
-> impl Future<Output = Result<Vec<String>>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let mut query_params = Serializer::new(String::new());
|
|
|
|
|
if let Some(count) = count { query_params.append_pair("count", &*count.to_string()); };
|
|
|
|
|
let query_string = query_params.finish();
|
|
|
|
|
let path_string = format!("/tft/match/v1/matches/by-puuid/{}/ids", puuid);
|
|
|
|
|
self.base.get::<Vec<String>>("tft-match-v1.getMatchIdsByPUUID", region.into(), path_string, Some(query_string))
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), &format!("/tft/match/v1/matches/by-puuid/{}/ids", puuid));
|
|
|
|
|
if let Some(count) = count { request = request.query(&[ ("count", count) ]); };
|
|
|
|
|
self.base.execute::<Vec<String>>("tft-match-v1.getMatchIdsByPUUID", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// Get a match by match id
|
|
|
|
@ -1240,8 +1294,9 @@ impl<'a> TftMatchV1<'a> {
|
|
|
|
|
pub fn get_match(&self, region: Region, match_id: &str)
|
|
|
|
|
-> impl Future<Output = Result<Option<tft_match_v1::Match>>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = format!("/tft/match/v1/matches/{}", match_id);
|
|
|
|
|
self.base.get_optional::<tft_match_v1::Match>("tft-match-v1.getMatch", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), &format!("/tft/match/v1/matches/{}", match_id));
|
|
|
|
|
self.base.execute_optional::<tft_match_v1::Match>("tft-match-v1.getMatch", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
@ -1251,6 +1306,7 @@ impl<'a> TftMatchV1<'a> {
|
|
|
|
|
/// <a href="https://developer.riotgames.com/apis#tft-summoner-v1" target="_blank">`tft-summoner-v1`</a>
|
|
|
|
|
///
|
|
|
|
|
/// Note: this struct is automatically generated.
|
|
|
|
|
#[repr(transparent)]
|
|
|
|
|
pub struct TftSummonerV1<'a> {
|
|
|
|
|
base: &'a RiotApi,
|
|
|
|
|
}
|
|
|
|
@ -1266,8 +1322,9 @@ impl<'a> TftSummonerV1<'a> {
|
|
|
|
|
pub fn get_by_account_id(&self, region: Region, encrypted_account_id: &str)
|
|
|
|
|
-> impl Future<Output = Result<tft_summoner_v1::Summoner>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = format!("/tft/summoner/v1/summoners/by-account/{}", encrypted_account_id);
|
|
|
|
|
self.base.get::<tft_summoner_v1::Summoner>("tft-summoner-v1.getByAccountId", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), &format!("/tft/summoner/v1/summoners/by-account/{}", encrypted_account_id));
|
|
|
|
|
self.base.execute::<tft_summoner_v1::Summoner>("tft-summoner-v1.getByAccountId", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// Get a summoner by summoner name.
|
|
|
|
@ -1281,8 +1338,9 @@ impl<'a> TftSummonerV1<'a> {
|
|
|
|
|
pub fn get_by_summoner_name(&self, region: Region, summoner_name: &str)
|
|
|
|
|
-> impl Future<Output = Result<Option<tft_summoner_v1::Summoner>>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = format!("/tft/summoner/v1/summoners/by-name/{}", summoner_name);
|
|
|
|
|
self.base.get_optional::<tft_summoner_v1::Summoner>("tft-summoner-v1.getBySummonerName", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), &format!("/tft/summoner/v1/summoners/by-name/{}", summoner_name));
|
|
|
|
|
self.base.execute_optional::<tft_summoner_v1::Summoner>("tft-summoner-v1.getBySummonerName", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// Get a summoner by PUUID.
|
|
|
|
@ -1296,8 +1354,9 @@ impl<'a> TftSummonerV1<'a> {
|
|
|
|
|
pub fn get_by_puuid(&self, region: Region, encrypted_puuid: &str)
|
|
|
|
|
-> impl Future<Output = Result<tft_summoner_v1::Summoner>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = format!("/tft/summoner/v1/summoners/by-puuid/{}", encrypted_puuid);
|
|
|
|
|
self.base.get::<tft_summoner_v1::Summoner>("tft-summoner-v1.getByPUUID", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), &format!("/tft/summoner/v1/summoners/by-puuid/{}", encrypted_puuid));
|
|
|
|
|
self.base.execute::<tft_summoner_v1::Summoner>("tft-summoner-v1.getByPUUID", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// Get a summoner by summoner ID.
|
|
|
|
@ -1311,8 +1370,9 @@ impl<'a> TftSummonerV1<'a> {
|
|
|
|
|
pub fn get_by_summoner_id(&self, region: Region, encrypted_summoner_id: &str)
|
|
|
|
|
-> impl Future<Output = Result<tft_summoner_v1::Summoner>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = format!("/tft/summoner/v1/summoners/{}", encrypted_summoner_id);
|
|
|
|
|
self.base.get::<tft_summoner_v1::Summoner>("tft-summoner-v1.getBySummonerId", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), &format!("/tft/summoner/v1/summoners/{}", encrypted_summoner_id));
|
|
|
|
|
self.base.execute::<tft_summoner_v1::Summoner>("tft-summoner-v1.getBySummonerId", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
@ -1322,6 +1382,7 @@ impl<'a> TftSummonerV1<'a> {
|
|
|
|
|
/// <a href="https://developer.riotgames.com/apis#third-party-code-v4" target="_blank">`third-party-code-v4`</a>
|
|
|
|
|
///
|
|
|
|
|
/// Note: this struct is automatically generated.
|
|
|
|
|
#[repr(transparent)]
|
|
|
|
|
pub struct ThirdPartyCodeV4<'a> {
|
|
|
|
|
base: &'a RiotApi,
|
|
|
|
|
}
|
|
|
|
@ -1337,8 +1398,9 @@ impl<'a> ThirdPartyCodeV4<'a> {
|
|
|
|
|
pub fn get_third_party_code_by_summoner_id(&self, region: Region, encrypted_summoner_id: &str)
|
|
|
|
|
-> impl Future<Output = Result<String>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = format!("/lol/platform/v4/third-party-code/by-summoner/{}", encrypted_summoner_id);
|
|
|
|
|
self.base.get::<String>("third-party-code-v4.getThirdPartyCodeBySummonerId", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), &format!("/lol/platform/v4/third-party-code/by-summoner/{}", encrypted_summoner_id));
|
|
|
|
|
self.base.execute::<String>("third-party-code-v4.getThirdPartyCodeBySummonerId", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
@ -1348,6 +1410,7 @@ impl<'a> ThirdPartyCodeV4<'a> {
|
|
|
|
|
/// <a href="https://developer.riotgames.com/apis#tournament-stub-v4" target="_blank">`tournament-stub-v4`</a>
|
|
|
|
|
///
|
|
|
|
|
/// Note: this struct is automatically generated.
|
|
|
|
|
#[repr(transparent)]
|
|
|
|
|
pub struct TournamentStubV4<'a> {
|
|
|
|
|
base: &'a RiotApi,
|
|
|
|
|
}
|
|
|
|
@ -1363,8 +1426,9 @@ impl<'a> TournamentStubV4<'a> {
|
|
|
|
|
pub fn get_lobby_events_by_code(&self, region: Region, tournament_code: &str)
|
|
|
|
|
-> impl Future<Output = Result<tournament_stub_v4::LobbyEventWrapper>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = format!("/lol/tournament-stub/v4/lobby-events/by-code/{}", tournament_code);
|
|
|
|
|
self.base.get::<tournament_stub_v4::LobbyEventWrapper>("tournament-stub-v4.getLobbyEventsByCode", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), &format!("/lol/tournament-stub/v4/lobby-events/by-code/{}", tournament_code));
|
|
|
|
|
self.base.execute::<tournament_stub_v4::LobbyEventWrapper>("tournament-stub-v4.getLobbyEventsByCode", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
@ -1374,6 +1438,7 @@ impl<'a> TournamentStubV4<'a> {
|
|
|
|
|
/// <a href="https://developer.riotgames.com/apis#tournament-v4" target="_blank">`tournament-v4`</a>
|
|
|
|
|
///
|
|
|
|
|
/// Note: this struct is automatically generated.
|
|
|
|
|
#[repr(transparent)]
|
|
|
|
|
pub struct TournamentV4<'a> {
|
|
|
|
|
base: &'a RiotApi,
|
|
|
|
|
}
|
|
|
|
@ -1389,8 +1454,9 @@ impl<'a> TournamentV4<'a> {
|
|
|
|
|
pub fn get_tournament_code(&self, region: Region, tournament_code: &str)
|
|
|
|
|
-> impl Future<Output = Result<tournament_v4::TournamentCode>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = format!("/lol/tournament/v4/codes/{}", tournament_code);
|
|
|
|
|
self.base.get::<tournament_v4::TournamentCode>("tournament-v4.getTournamentCode", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), &format!("/lol/tournament/v4/codes/{}", tournament_code));
|
|
|
|
|
self.base.execute::<tournament_v4::TournamentCode>("tournament-v4.getTournamentCode", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// Gets a list of lobby events by tournament code.
|
|
|
|
@ -1404,8 +1470,9 @@ impl<'a> TournamentV4<'a> {
|
|
|
|
|
pub fn get_lobby_events_by_code(&self, region: Region, tournament_code: &str)
|
|
|
|
|
-> impl Future<Output = Result<tournament_v4::LobbyEventWrapper>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = format!("/lol/tournament/v4/lobby-events/by-code/{}", tournament_code);
|
|
|
|
|
self.base.get::<tournament_v4::LobbyEventWrapper>("tournament-v4.getLobbyEventsByCode", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), &format!("/lol/tournament/v4/lobby-events/by-code/{}", tournament_code));
|
|
|
|
|
self.base.execute::<tournament_v4::LobbyEventWrapper>("tournament-v4.getLobbyEventsByCode", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
@ -1415,6 +1482,7 @@ impl<'a> TournamentV4<'a> {
|
|
|
|
|
/// <a href="https://developer.riotgames.com/apis#val-content-v1" target="_blank">`val-content-v1`</a>
|
|
|
|
|
///
|
|
|
|
|
/// Note: this struct is automatically generated.
|
|
|
|
|
#[repr(transparent)]
|
|
|
|
|
pub struct ValContentV1<'a> {
|
|
|
|
|
base: &'a RiotApi,
|
|
|
|
|
}
|
|
|
|
@ -1430,11 +1498,10 @@ impl<'a> ValContentV1<'a> {
|
|
|
|
|
pub fn get_content(&self, region: Region, locale: Option<&str>)
|
|
|
|
|
-> impl Future<Output = Result<val_content_v1::Content>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let mut query_params = Serializer::new(String::new());
|
|
|
|
|
if let Some(locale) = locale { query_params.append_pair("locale", locale); };
|
|
|
|
|
let query_string = query_params.finish();
|
|
|
|
|
let path_string = "/val/content/v1/contents".to_owned();
|
|
|
|
|
self.base.get::<val_content_v1::Content>("val-content-v1.getContent", region.into(), path_string, Some(query_string))
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), "/val/content/v1/contents");
|
|
|
|
|
if let Some(locale) = locale { request = request.query(&[ ("locale", locale) ]); };
|
|
|
|
|
self.base.execute::<val_content_v1::Content>("val-content-v1.getContent", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
@ -1444,6 +1511,7 @@ impl<'a> ValContentV1<'a> {
|
|
|
|
|
/// <a href="https://developer.riotgames.com/apis#val-match-v1" target="_blank">`val-match-v1`</a>
|
|
|
|
|
///
|
|
|
|
|
/// Note: this struct is automatically generated.
|
|
|
|
|
#[repr(transparent)]
|
|
|
|
|
pub struct ValMatchV1<'a> {
|
|
|
|
|
base: &'a RiotApi,
|
|
|
|
|
}
|
|
|
|
@ -1459,8 +1527,9 @@ impl<'a> ValMatchV1<'a> {
|
|
|
|
|
pub fn get_match(&self, region: Region, match_id: &str)
|
|
|
|
|
-> impl Future<Output = Result<Option<val_match_v1::Match>>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = format!("/val/match/v1/matches/{}", match_id);
|
|
|
|
|
self.base.get_optional::<val_match_v1::Match>("val-match-v1.getMatch", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), &format!("/val/match/v1/matches/{}", match_id));
|
|
|
|
|
self.base.execute_optional::<val_match_v1::Match>("val-match-v1.getMatch", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// Get matchlist for games played by puuid
|
|
|
|
@ -1474,8 +1543,9 @@ impl<'a> ValMatchV1<'a> {
|
|
|
|
|
pub fn get_matchlist(&self, region: Region, puuid: &str)
|
|
|
|
|
-> impl Future<Output = Result<val_match_v1::Matchlist>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = format!("/val/match/v1/matchlists/by-puuid/{}", puuid);
|
|
|
|
|
self.base.get::<val_match_v1::Matchlist>("val-match-v1.getMatchlist", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), &format!("/val/match/v1/matchlists/by-puuid/{}", puuid));
|
|
|
|
|
self.base.execute::<val_match_v1::Matchlist>("val-match-v1.getMatchlist", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// Get recent matches
|
|
|
|
@ -1491,8 +1561,9 @@ impl<'a> ValMatchV1<'a> {
|
|
|
|
|
pub fn get_recent(&self, region: Region, queue: &str)
|
|
|
|
|
-> impl Future<Output = Result<val_match_v1::RecentMatches>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = format!("/val/match/v1/recent-matches/by-queue/{}", queue);
|
|
|
|
|
self.base.get::<val_match_v1::RecentMatches>("val-match-v1.getRecent", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), &format!("/val/match/v1/recent-matches/by-queue/{}", queue));
|
|
|
|
|
self.base.execute::<val_match_v1::RecentMatches>("val-match-v1.getRecent", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
@ -1502,6 +1573,7 @@ impl<'a> ValMatchV1<'a> {
|
|
|
|
|
/// <a href="https://developer.riotgames.com/apis#val-ranked-v1" target="_blank">`val-ranked-v1`</a>
|
|
|
|
|
///
|
|
|
|
|
/// Note: this struct is automatically generated.
|
|
|
|
|
#[repr(transparent)]
|
|
|
|
|
pub struct ValRankedV1<'a> {
|
|
|
|
|
base: &'a RiotApi,
|
|
|
|
|
}
|
|
|
|
@ -1519,12 +1591,11 @@ impl<'a> ValRankedV1<'a> {
|
|
|
|
|
pub fn get_leaderboard(&self, region: Region, act_id: &str, size: Option<i32>, start_index: Option<i32>)
|
|
|
|
|
-> impl Future<Output = Result<Option<val_ranked_v1::Leaderboard>>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let mut query_params = Serializer::new(String::new());
|
|
|
|
|
if let Some(size) = size { query_params.append_pair("size", &*size.to_string()); };
|
|
|
|
|
if let Some(start_index) = start_index { query_params.append_pair("startIndex", &*start_index.to_string()); };
|
|
|
|
|
let query_string = query_params.finish();
|
|
|
|
|
let path_string = format!("/val/ranked/v1/leaderboards/by-act/{}", act_id);
|
|
|
|
|
self.base.get_optional::<val_ranked_v1::Leaderboard>("val-ranked-v1.getLeaderboard", region.into(), path_string, Some(query_string))
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), &format!("/val/ranked/v1/leaderboards/by-act/{}", act_id));
|
|
|
|
|
if let Some(size) = size { request = request.query(&[ ("size", size) ]); };
|
|
|
|
|
if let Some(start_index) = start_index { request = request.query(&[ ("startIndex", start_index) ]); };
|
|
|
|
|
self.base.execute_optional::<val_ranked_v1::Leaderboard>("val-ranked-v1.getLeaderboard", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
@ -1534,6 +1605,7 @@ impl<'a> ValRankedV1<'a> {
|
|
|
|
|
/// <a href="https://developer.riotgames.com/apis#val-status-v1" target="_blank">`val-status-v1`</a>
|
|
|
|
|
///
|
|
|
|
|
/// Note: this struct is automatically generated.
|
|
|
|
|
#[repr(transparent)]
|
|
|
|
|
pub struct ValStatusV1<'a> {
|
|
|
|
|
base: &'a RiotApi,
|
|
|
|
|
}
|
|
|
|
@ -1548,8 +1620,9 @@ impl<'a> ValStatusV1<'a> {
|
|
|
|
|
pub fn get_platform_data(&self, region: Region)
|
|
|
|
|
-> impl Future<Output = Result<val_status_v1::PlatformData>> + 'a
|
|
|
|
|
{
|
|
|
|
|
let path_string = "/val/status/v1/platform-data".to_owned();
|
|
|
|
|
self.base.get::<val_status_v1::PlatformData>("val-status-v1.getPlatformData", region.into(), path_string, None)
|
|
|
|
|
#[allow(unused_mut)]
|
|
|
|
|
let mut request = self.base.request(Method::GET, region.into(), "/val/status/v1/platform-data");
|
|
|
|
|
self.base.execute::<val_status_v1::PlatformData>("val-status-v1.getPlatformData", region.into(), request)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|