lol-bio-analytics/include/riot.h
2026-02-17 14:58:38 +00:00

42 lines
882 B
C++

#pragma once
#include <boost/asio.hpp>
#include <cstdint>
#include <string>
#include <string_view>
#include <vector>
namespace asio = boost::asio;
namespace riot {
struct LeagueEntry {
std::string puuid;
};
enum class Division { I, II, III, IV };
enum class Tier { BRONZE, SILVER, GOLD, PLATINUM, DIAMOND };
enum class Region { KR };
class Client {
public:
Client(asio::io_context &, std::string, Region = Region::KR);
asio::awaitable<std::vector<LeagueEntry>> GetIdsInTier(Division, Tier,
uint8_t) const;
private:
asio::io_context &ctx_;
std::string api_key_;
Region region_;
static constexpr std::string_view BASE_URL = "api.riotgames.com";
std::string divisionToString(Division) const;
std::string tierToString(Tier) const;
std::string regionToString(Region) const;
};
} // namespace riot