#pragma once #include #include #include #include #include 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> 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