lib/endpoints/clans/capital/raidseason.ex
defmodule Endpoints.Clans.Capital.Raidseason do
alias Clashofclans.Client
alias Utils.FormatTime
alias Utils.FormatTag
@moduledoc """
Returns all kind of information about a clans raidseason
"""
# the limit here might be increased ...
defp get_raw_raidseason(clantag) do
{:ok, data} =
Client.call_api(
"https://api.clashofclans.com/v1/clans/#{FormatTag.format_tag(clantag)}/capitalraidseasons?limit=2"
)
data
end
def get_raw_capital_defenselog(clantag) do
data = get_raw_raidseason(clantag)
data["items"]
|> Enum.map(& &1["defenseLog"])
end
def get_capital_state(clantag) do
data = get_raw_raidseason(clantag)
data["items"]
|> Enum.map(& &1["state"])
end
def get_capital_attacklog(clantag) do
data = get_raw_raidseason(clantag)
data["items"]
|> Enum.map(& &1["attackLog"])
|> hd()
end
def get_capital_offensive_rewards(clantag) do
data = get_raw_raidseason(clantag)
data["items"]
|> Enum.map(& &1["defensiveReward"])
|> hd()
end
def get_capital_raids_completed(clantag) do
data = get_raw_raidseason(clantag)
data["items"]
|> Enum.map(& &1["raidsCompleted"])
|> hd()
end
def get_capital_defensive_reward(clantag) do
data = get_raw_raidseason(clantag)
data["items"]
|> Enum.map(& &1["defensiveReward"])
|> hd()
end
def get_capital_endtime(clantag) do
data = get_raw_raidseason(clantag)
data["items"]
|> Enum.map(& &1["endTime"])
|> hd()
|> FormatTime.format_time()
end
def get_capital_starttime(clantag) do
data = get_raw_raidseason(clantag)
data["items"]
|> Enum.map(& &1["startTime"])
|> hd()
|> FormatTime.format_time()
end
def get_capital_enemy_district_destroyed(clantag) do
data = get_raw_raidseason(clantag)
data["items"]
|> Enum.map(& &1["enemyDistrictDestroyed"])
|> hd()
end
def get_capital_members(clantag) do
data = get_raw_raidseason(clantag)
data["items"]
|> Enum.map(& &1["members"])
|> hd()
end
def get_capital_total_loot(clantag) do
data = get_raw_raidseason(clantag)
data["items"]
|> Enum.map(& &1["capitalTotalLoot"])
|> hd()
end
def get_capital_total_attacks(clantag) do
data = get_raw_raidseason(clantag)
data["items"]
|> Enum.map(& &1["totalAttacks"])
|> hd()
end
end