Skip to content

Commit 243607b

Browse files
committed
Simplified the fetching of the league from the settings
1 parent 83379c0 commit 243607b

File tree

10 files changed

+40
-45
lines changed

10 files changed

+40
-45
lines changed

src/Sidekick.Apis.Poe.Account/Stash/StashService.cs

Lines changed: 10 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
using Sidekick.Apis.Poe.Account.Clients;
33
using Sidekick.Apis.Poe.Account.Stash.Models;
44
using Sidekick.Apis.Poe.Trade.Models.Items;
5-
using Sidekick.Common.Extensions;
65
using Sidekick.Common.Game.Items;
76
using Sidekick.Common.Settings;
87

@@ -16,9 +15,9 @@ ISettingsService settingsService
1615
{
1716
public async Task<List<StashTab>> GetStashTabList()
1817
{
19-
var leagueId = await settingsService.GetString(SettingKeys.LeagueId);
20-
var response = await client.Fetch<StashTabListResult>($"stash/{leagueId.GetUrlSlugForLeague()}");
21-
if (response == null || leagueId == null) return [];
18+
var league = await settingsService.GetLeague();
19+
var response = await client.Fetch<StashTabListResult>($"stash/{league}");
20+
if (response == null || league == null) return [];
2221

2322
return FlattenStashTabs(response.Tabs);
2423
}
@@ -41,9 +40,9 @@ private static List<StashTab> FlattenStashTabs(List<StashTab> stashTabs)
4140

4241
public async Task<StashTab?> GetStashDetails(string id)
4342
{
44-
var leagueId = await settingsService.GetString(SettingKeys.LeagueId);
45-
var result = await client.Fetch<StashTabResult>($"stash/{leagueId.GetUrlSlugForLeague()}/{id}");
46-
if (result == null || leagueId == null) return null;
43+
var league = await settingsService.GetLeague();
44+
var result = await client.Fetch<StashTabResult>($"stash/{league}/{id}");
45+
if (result == null || league == null) return null;
4746

4847
if (result.Stash.Type == StashType.Map)
4948
{
@@ -63,8 +62,8 @@ private async Task<List<ApiItem>> FetchStashItems(StashTab tab)
6362

6463
if (tab.Items == null && tab.Children == null)
6564
{
66-
var leagueId = await settingsService.GetString(SettingKeys.LeagueId);
67-
var uri = string.IsNullOrEmpty(tab.Parent) ? $"stash/{leagueId.GetUrlSlugForLeague()}/{tab.Id}" : $"stash/{leagueId}/{tab.Parent}/{tab.Id}";
65+
var league = await settingsService.GetLeague();
66+
var uri = string.IsNullOrEmpty(tab.Parent) ? $"stash/{league}/{tab.Id}" : $"stash/{league}/{tab.Parent}/{tab.Id}";
6867

6968
var wrapper = await client.Fetch<StashTabResult>(uri);
7069
if (wrapper?.Stash.Items != null)
@@ -98,13 +97,8 @@ private async Task<List<ApiItem>> FetchMapStashItems(StashTab tab)
9897
return new();
9998
}
10099

101-
var leagueId = await settingsService.GetString(SettingKeys.LeagueId);
102-
if (leagueId == null)
103-
{
104-
return
105-
[
106-
];
107-
}
100+
var league = await settingsService.GetLeague();
101+
if (league == null) return [];
108102

109103
var items = new List<ApiItem>();
110104
foreach (var childTab in tab.Children)

src/Sidekick.Apis.Poe.Trade/Bulk/BulkTradeService.cs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
using Sidekick.Apis.Poe.Trade.Static;
1010
using Sidekick.Apis.Poe.Trade.Trade.Requests;
1111
using Sidekick.Common.Exceptions;
12-
using Sidekick.Common.Extensions;
1312
using Sidekick.Common.Game;
1413
using Sidekick.Common.Game.Items;
1514
using Sidekick.Common.Game.Languages;
@@ -43,8 +42,8 @@ public async Task<BulkResponseModel> SearchBulk(Item item)
4342
{
4443
logger.LogInformation("[Trade API] Querying Exchange API.");
4544

46-
var leagueId = await settingsService.GetString(SettingKeys.LeagueId);
47-
var uri = $"{await GetBaseApiUrl(item.Header.Game)}exchange/{leagueId.GetUrlSlugForLeague()}";
45+
var league = await settingsService.GetLeague();
46+
var uri = $"{await GetBaseApiUrl(item.Header.Game)}exchange/{league}";
4847

4948
var staticItem = itemStaticDataProvider.Get(item.Header);
5049
if (staticItem == null)
@@ -115,8 +114,8 @@ public async Task<BulkResponseModel> SearchBulk(Item item)
115114
public async Task<Uri> GetTradeUri(Item item, string queryId)
116115
{
117116
var baseUri = new Uri(await GetBaseUrl(item.Header.Game) + "exchange/");
118-
var leagueId = await settingsService.GetString(SettingKeys.LeagueId);
119-
return new Uri(baseUri, $"{leagueId.GetUrlSlugForLeague()}/{queryId}");
117+
var league = await settingsService.GetLeague();
118+
return new Uri(baseUri, $"{league}/{queryId}");
120119
}
121120

122121
private async Task<string> GetBaseApiUrl(GameType game)

src/Sidekick.Apis.Poe.Trade/Trade/TradeSearchService.cs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
using Sidekick.Apis.Poe.Trade.Trade.Results;
1515
using Sidekick.Common.Enums;
1616
using Sidekick.Common.Exceptions;
17-
using Sidekick.Common.Extensions;
1817
using Sidekick.Common.Game;
1918
using Sidekick.Common.Game.Items;
2019
using Sidekick.Common.Game.Languages;
@@ -137,8 +136,8 @@ public async Task<TradeSearchResult<string>> Search(Item item, PropertyFilters?
137136
var status = await settingsService.GetString(statusKey);
138137
query.Status.Option = status ?? Status.Online;
139138

140-
var leagueId = await settingsService.GetString(SettingKeys.LeagueId);
141-
var uri = new Uri($"{await GetBaseApiUrl(metadata.Game)}search/{leagueId.GetUrlSlugForLeague()}");
139+
var league = await settingsService.GetLeague();
140+
var uri = new Uri($"{await GetBaseApiUrl(metadata.Game)}search/{league}");
142141

143142
var request = new QueryRequest()
144143
{
@@ -361,8 +360,8 @@ public async Task<List<TradeResult>> GetResults(GameType game, string queryId, L
361360
public async Task<Uri> GetTradeUri(GameType game, string queryId)
362361
{
363362
var baseUri = new Uri(await GetBaseUrl(game) + "search/");
364-
var leagueId = await settingsService.GetString(SettingKeys.LeagueId);
365-
return new Uri(baseUri, $"{leagueId.GetUrlSlugForLeague()}/{queryId}");
363+
var league = await settingsService.GetLeague();
364+
return new Uri(baseUri, $"{league}/{queryId}");
366365
}
367366

368367
private async Task<string> GetBaseApiUrl(GameType game)

src/Sidekick.Apis.Poe2Scout/Clients/ScoutClient.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
using System.Text.Json;
22
using System.Text.Json.Serialization;
33
using Microsoft.Extensions.Logging;
4-
using Sidekick.Common.Extensions;
54
using Sidekick.Common.Settings;
65
namespace Sidekick.Apis.Poe2Scout.Clients;
76

@@ -40,8 +39,8 @@ private HttpClient GetHttpClient()
4039
where TResponse : class
4140
{
4241
parameters ??= new();
43-
var leagueId = await settingsService.GetString(SettingKeys.LeagueId);
44-
parameters.TryAdd("league", leagueId.GetUrlSlugForLeague());
42+
var league = await settingsService.GetLeague();
43+
parameters.TryAdd("league", league);
4544

4645
var query = string.Join("&", parameters.Select((x) => x.Key + "=" + x.Value?.ToString()));
4746
var url = new Uri($"{apiBaseUrl}{path}?{query}");

src/Sidekick.Apis.PoeNinja/PoeNinjaClient.cs

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
using Sidekick.Apis.PoeNinja.Models;
66
using Sidekick.Common.Cache;
77
using Sidekick.Common.Enums;
8-
using Sidekick.Common.Extensions;
98
using Sidekick.Common.Game.Items;
109
using Sidekick.Common.Settings;
1110

@@ -123,15 +122,14 @@ public async Task<Uri> GetDetailsUri(NinjaPrice ninjaPrice)
123122
return baseUrl;
124123
}
125124

126-
var leagueId = await settingsService.GetString(SettingKeys.LeagueId);
127-
leagueId = leagueId.GetUrlSlugForLeague();
125+
var league = await settingsService.GetLeague();
128126

129127
var ninjaLeagues = await GetLeagues();
130-
var ninjaLeague = ninjaLeagues.FirstOrDefault(x => x.Name == leagueId);
128+
var ninjaLeague = ninjaLeagues.FirstOrDefault(x => x.Name == league);
131129

132130
if (ninjaLeague == null)
133131
{
134-
logger.LogWarning("[PoeNinja] Could not find league {LeagueId} in poe.ninja", leagueId);
132+
logger.LogWarning("[PoeNinja] Could not find league {LeagueId} in poe.ninja", league);
135133
return baseUrl;
136134
}
137135

@@ -230,7 +228,7 @@ private async Task<IList<NinjaEconomyLeague>> GetLeagues()
230228
return leagues.ToList();
231229
}
232230

233-
private async Task<IEnumerable<NinjaEconomyLeague>> FetchLeagues()
231+
private async Task<List<NinjaEconomyLeague>> FetchLeagues()
234232
{
235233
var url = new Uri($"{apiBaseUrl}index-state");
236234

@@ -257,8 +255,8 @@ private async Task<IEnumerable<NinjaEconomyLeague>> FetchLeagues()
257255

258256
private async Task<IEnumerable<NinjaPrice>> FetchItems(ItemType itemType)
259257
{
260-
var leagueId = await settingsService.GetString(SettingKeys.LeagueId);
261-
var url = new Uri($"{apiBaseUrl}itemoverview?league={leagueId.GetUrlSlugForLeague()}&type={itemType}");
258+
var league = await settingsService.GetLeague();
259+
var url = new Uri($"{apiBaseUrl}itemoverview?league={league}&type={itemType}");
262260

263261
try
264262
{
@@ -300,8 +298,8 @@ private async Task<IEnumerable<NinjaPrice>> FetchItems(ItemType itemType)
300298

301299
private async Task<IEnumerable<NinjaPrice>> FetchCurrencies(ItemType itemType)
302300
{
303-
var leagueId = await settingsService.GetString(SettingKeys.LeagueId);
304-
var url = new Uri($"{apiBaseUrl}currencyoverview?league={leagueId.GetUrlSlugForLeague()}&type={itemType}");
301+
var league = await settingsService.GetLeague();
302+
var url = new Uri($"{apiBaseUrl}currencyoverview?league={league}&type={itemType}");
305303

306304
try
307305
{

src/Sidekick.Apis.PoePriceInfo/PoePriceInfoClient.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
using Microsoft.Extensions.Logging;
44
using Sidekick.Apis.PoePriceInfo.Api;
55
using Sidekick.Apis.PoePriceInfo.Models;
6-
using Sidekick.Common.Extensions;
76
using Sidekick.Common.Game.Items;
87
using Sidekick.Common.Settings;
98

@@ -38,10 +37,10 @@ private HttpClient GetHttpClient()
3837

3938
try
4039
{
41-
var leagueId = await settingsService.GetString(SettingKeys.LeagueId);
40+
var league = await settingsService.GetLeague();
4241
var encodedItem = Convert.ToBase64String(Encoding.UTF8.GetBytes(item.Text));
4342
using var client = GetHttpClient();
44-
var response = await client.GetAsync("?l=" + leagueId.GetUrlSlugForLeague() + "&i=" + encodedItem);
43+
var response = await client.GetAsync("?l=" + league + "&i=" + encodedItem);
4544
var content = await response.Content.ReadAsStreamAsync();
4645
var result = await JsonSerializer.DeserializeAsync<PriceInfoResult>(content, JsonSerializerOptions);
4746

src/Sidekick.Common/Settings/ISettingsService.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ public interface ISettingsService
99
/// <param name="keys">The keys of the settings that have changed.</param>
1010
event Action<string[]>? OnSettingsChanged;
1111

12+
Task<string?> GetLeague();
13+
1214
Task<GameType> GetGame();
1315

1416
/// <summary>

src/Sidekick.Common/Settings/SettingsService.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,12 @@ public class SettingsService(
1616
{
1717
public event Action<string[]>? OnSettingsChanged;
1818

19+
public async Task<string?> GetLeague()
20+
{
21+
var leagueId = await GetString(SettingKeys.LeagueId);
22+
return leagueId.GetUrlSlugForLeague();
23+
}
24+
1925
public async Task<GameType> GetGame()
2026
{
2127
var leagueId = await GetString(SettingKeys.LeagueId);

src/Sidekick.Modules.General/Settings/Components/LeagueIdEditor.razor

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
await base.OnInitializedAsync();
3434
}
3535

36-
public async Task RefreshOptions()
36+
private async Task RefreshOptions()
3737
{
3838
var leagues = await LeagueProvider.GetList(true);
3939
Options = leagues

src/Sidekick.Modules.Trade/Components/LeagueText.razor

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,7 @@
1414
{
1515
var leagues = await LeagueProvider.GetList(true);
1616
var leagueId = await SettingsService.GetString(SettingKeys.LeagueId);
17-
Text = leagues.FirstOrDefault(x => x.Id == leagueId)
18-
?.Text;
17+
Text = leagues.FirstOrDefault(x => x.Id == leagueId)?.Text;
1918

2019
await base.OnInitializedAsync();
2120
}

0 commit comments

Comments
 (0)