lol-analytics/apps/lol_api/lib/api/account_api.ex
Álvaro 6dd8eea3d3
All checks were successful
ci / docker (push) Successful in 7m38s
Fix warnings, remove analyzers and create fact for champion played game
2024-06-06 20:20:45 +02:00

27 lines
788 B
Elixir

defmodule LoLAPI.AccountApi do
require Logger
@get_puuid_endpoint "https://europe.api.riotgames.com/riot/account/v1/accounts/by-riot-id/%{gameName}/%{tagLine}"
@spec get_puuid(String.t(), String.t()) :: {:ok, String.t()} | {:error, String.t()}
def get_puuid(name, tag) do
url =
@get_puuid_endpoint
|> String.replace("%{gameName}", name)
|> String.replace("%{tagLine}", tag)
api_key = System.get_env("RIOT_API_KEY")
headers = [{"X-Riot-Token", api_key}]
response = HTTPoison.get!(url, headers, timeout: 5000)
case response.status_code do
200 ->
{:ok, Poison.decode(response.body)}
_code ->
Logger.error("Error getting puuid from player #{name} \##{tag}")
{:err, response.status_code}
end
end
end