Skip to content

Commit 8e0bbca

Browse files
fix: solve scouting update player stats issue
1 parent 738d648 commit 8e0bbca

2 files changed

Lines changed: 15 additions & 3 deletions

File tree

app/controllers/api/v1/scouting/players_controller.rb

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -157,13 +157,16 @@ def perform_sync_from_riot
157157
riot_service = RiotApiService.new
158158
region = @target.region
159159

160+
# Get account info for name (Riot API no longer returns name in summoner endpoint)
161+
account_data = riot_service.get_account_by_puuid(puuid: @target.riot_puuid, region: region)
160162
summoner_data = riot_service.get_summoner_by_puuid(puuid: @target.riot_puuid, region: region)
161-
league_data = riot_service.get_league_entries(summoner_id: summoner_data[:summoner_id], region: region)
163+
# Use PUUID to get league entries (Riot API no longer returns summoner_id)
164+
league_data = riot_service.get_league_entries_by_puuid(puuid: @target.riot_puuid, region: region)
162165
mastery_data = riot_service.get_champion_mastery(puuid: @target.riot_puuid, region: region)
163166

164167
@target.update!(
165-
riot_summoner_id: summoner_data[:summoner_id],
166-
summoner_name: summoner_data[:summoner_name],
168+
# riot_summoner_id is no longer returned by Riot API
169+
summoner_name: "#{account_data[:game_name]}##{account_data[:tag_line]}",
167170
current_tier: league_data[:solo_queue]&.dig(:tier),
168171
current_rank: league_data[:solo_queue]&.dig(:rank),
169172
current_lp: league_data[:solo_queue]&.dig(:lp),

app/services/riot_api_service.rb

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,15 @@ def get_league_entries(summoner_id:, region:)
100100
parse_league_entries(response)
101101
end
102102

103+
# Get league entries by PUUID (new method - Riot API no longer returns summoner_id)
104+
def get_league_entries_by_puuid(puuid:, region:)
105+
platform = platform_for_region(region)
106+
url = "https://#{platform}.api.riotgames.com/lol/league/v4/entries/by-puuid/#{puuid}"
107+
108+
response = make_request(url)
109+
parse_league_entries(response)
110+
end
111+
103112
# Match endpoints
104113
def get_match_history(puuid:, region:, count: 20, start: 0)
105114
regional_route = regional_route_for_region(region)

0 commit comments

Comments
 (0)