Skip to content

Commit 4317bbc

Browse files
author
Moons
committed
fix(vendors): not refreshing properly
1 parent 5e02e98 commit 4317bbc

File tree

5 files changed

+48
-11
lines changed

5 files changed

+48
-11
lines changed

API.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
<PackageReference Include="DotNetBungieAPI" Version="2.12.2" />
2727
<PackageReference Include="DotNetBungieAPI.AspNet.Security.OAuth.Providers" Version="1.0.2" />
2828
<PackageReference Include="DotNetBungieAPI.DefinitionProvider.Sqlite" Version="1.5.3" />
29-
<PackageReference Include="DotNetBungieAPI.HashReferences" Version="1.22.0" />
29+
<PackageReference Include="DotNetBungieAPI.HashReferences" Version="1.22.1" />
3030
<PackageReference Include="DotNetBungieAPI.Models" Version="2.11.3" />
3131
<PackageReference Include="DotNetBungieAPI.Service.Abstractions" Version="2.11.1" />
3232
<PackageReference Include="Microsoft.Data.Sqlite.Core" Version="8.0.0" />

Tasks/VendorsAdepts.cs

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,11 @@
44
using API.Util;
55
using DotNetBungieAPI.Extensions;
66
using DotNetBungieAPI.Models.Destiny;
7+
using DotNetBungieAPI.Models.Destiny.Definitions.InventoryItems;
78
using DotNetBungieAPI.Service.Abstractions;
89
using Microsoft.EntityFrameworkCore;
910
using static DotNetBungieAPI.HashReferences.DefinitionHashes;
11+
using UserExtensions = API.Util.UserExtensions;
1012

1113
namespace API.Tasks;
1214

@@ -35,6 +37,9 @@ protected override async Task ExecuteAsync(CancellationToken stoppingToken)
3537

3638
TaskSchedulerService.Tasks.First(t => t.Name == ServiceName).IsRunning = true;
3739

40+
var nfAdept = string.Empty;
41+
var trialsAdept = string.Empty;
42+
3843
try
3944
{
4045
var vendorUser = db.Users.Include(u => u.BungieProfiles)
@@ -120,6 +125,23 @@ protected override async Task ExecuteAsync(CancellationToken stoppingToken)
120125
"FetchWeaponVendors", vendorWeapon);
121126

122127
db.WeaponSales.Add(vendorItem);
128+
129+
var validDef = bungieClient.TryGetDefinition<DestinyInventoryItemDefinition>(
130+
vendorWeapon, out var adeptWeaponDef);
131+
132+
switch (vendor.Key)
133+
{
134+
case Vendors.FocusedDecoding_502095006:
135+
trialsAdept = validDef
136+
? adeptWeaponDef.DisplayProperties.Name
137+
: "Unknown";
138+
break;
139+
case Vendors.FocusedDecoding_2232145065:
140+
nfAdept = validDef
141+
? adeptWeaponDef.DisplayProperties.Name
142+
: "Unknown";
143+
break;
144+
}
123145
}
124146
else
125147
{
@@ -140,10 +162,23 @@ protected override async Task ExecuteAsync(CancellationToken stoppingToken)
140162
logger.LogInformation("[{service}]: No adept weapon found.", "FetchWeaponVendors");
141163

142164
db.WeaponSales.Add(vendorItem);
165+
166+
switch (vendor.Value)
167+
{
168+
case Vendors.FocusedDecoding_502095006:
169+
trialsAdept = "None";
170+
break;
171+
case Vendors.FocusedDecoding_2232145065:
172+
nfAdept = "None";
173+
break;
174+
}
143175
}
144176
}
145177

146178
await db.SaveChangesAsync(stoppingToken);
179+
180+
await DiscordTools.SendMessage(DiscordTools.WebhookChannel.Vendors,
181+
$"**Trials Adept:** {trialsAdept}\n**Nightfall Adept:** {nfAdept}");
147182
}
148183
}
149184
catch (Exception e)
@@ -154,7 +189,7 @@ protected override async Task ExecuteAsync(CancellationToken stoppingToken)
154189
TaskSchedulerService.Tasks.First(t => t.Name == ServiceName).IsRunning = false;
155190
TaskSchedulerService.Tasks.First(t => t.Name == ServiceName).LastRun = DateTime.UtcNow;
156191

157-
await Task.Delay(DateTimeExtensions.GetRoundTimeSpan(60), stoppingToken);
192+
await bungieClient.ResetService.WaitForNextDailyReset(TimeSpan.FromMinutes(1), stoppingToken);
158193
}
159194
}
160195
}

Util/UserExtensions.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,9 @@ public static async Task RefreshToken(
7070
var refreshedUser = await bungieClient.Authorization.RenewToken(user.GetTokenData());
7171

7272
user.OauthToken = refreshedUser.AccessToken;
73-
user.TokenExpires = nowTime.AddSeconds(refreshedUser.ExpiresIn);
73+
user.TokenExpires = nowTime + TimeSpan.FromSeconds(refreshedUser.ExpiresIn);
7474
user.RefreshToken = refreshedUser.RefreshToken;
75-
user.RefreshExpires = nowTime.AddSeconds(refreshedUser.RefreshExpiresIn);
75+
user.RefreshExpires = nowTime + TimeSpan.FromSeconds(refreshedUser.RefreshExpiresIn);
7676

7777
if (user.DestinyMembershipId == 0) await user.UpdateMembership(bungieClient);
7878

Util/VendorTools.cs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,19 +57,25 @@ public static async Task SingleVendorUpdate(
5757
if (existingWeapon is { IsAvailable: false })
5858
continue;
5959

60+
var addWeapon = true;
61+
6062
if (existingWeapon != null)
6163
{
6264
if (existingWeapon.ItemPerks != vendorItem.ItemPerks)
65+
{
6366
existingWeapon.IsAvailable = false;
67+
}
6468
else
69+
{
6570
existingWeapon.QueryTime = queryTime;
71+
addWeapon = false;
72+
}
6673

6774
db.WeaponSales.Update(existingWeapon);
6875
}
69-
else
70-
{
76+
77+
if (addWeapon)
7178
db.WeaponSales.Add(vendorItem);
72-
}
7379
}
7480

7581
await db.SaveChangesAsync(stoppingToken);

Util/WeaponTools.cs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
11
using DotNetBungieAPI.Extensions;
2-
using DotNetBungieAPI.HashReferences;
32
using DotNetBungieAPI.Models;
4-
using DotNetBungieAPI.Models.Destiny.Definitions.InventoryItems;
5-
using DotNetBungieAPI.Models.Destiny;
63
using DotNetBungieAPI.Models.Destiny.Responses;
7-
using DotNetBungieAPI.Service.Abstractions;
84
using static DotNetBungieAPI.HashReferences.DefinitionHashes.InventoryItems;
95

106
namespace API.Util;

0 commit comments

Comments
 (0)