From 39e4a6e676029986e3c58290843c14c71422e607 Mon Sep 17 00:00:00 2001 From: Chomp Date: Mon, 7 Jul 2025 09:53:43 +0100 Subject: [PATCH] Fixed server error on adding item to wishlist --- .../SPTarkov.Server.Core/Controllers/WishlistController.cs | 5 ++++- .../SPTarkov.Server.Core/Services/CreateProfileService.cs | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Libraries/SPTarkov.Server.Core/Controllers/WishlistController.cs b/Libraries/SPTarkov.Server.Core/Controllers/WishlistController.cs index 8e7a662a..dacdc16c 100644 --- a/Libraries/SPTarkov.Server.Core/Controllers/WishlistController.cs +++ b/Libraries/SPTarkov.Server.Core/Controllers/WishlistController.cs @@ -1,8 +1,10 @@ using SPTarkov.DI.Annotations; +using SPTarkov.Server.Core.Models.Common; using SPTarkov.Server.Core.Models.Eft.Common; using SPTarkov.Server.Core.Models.Eft.ItemEvent; using SPTarkov.Server.Core.Models.Eft.Wishlist; using SPTarkov.Server.Core.Routers; +using SPTarkov.Server.Core.Utils.Json; namespace SPTarkov.Server.Core.Controllers; @@ -19,9 +21,10 @@ public class WishlistController(EventOutputHolder _eventOutputHolder) public ItemEventRouterResponse AddToWishList( PmcData pmcData, AddToWishlistRequest request, - string sessionId + MongoId sessionId ) { + pmcData.WishList ??= new DictionaryOrList(new Dictionary(), []); foreach (var item in request.Items) { pmcData.WishList.Dictionary.Add(item.Key, item.Value); diff --git a/Libraries/SPTarkov.Server.Core/Services/CreateProfileService.cs b/Libraries/SPTarkov.Server.Core/Services/CreateProfileService.cs index 7af9e43d..780ad248 100644 --- a/Libraries/SPTarkov.Server.Core/Services/CreateProfileService.cs +++ b/Libraries/SPTarkov.Server.Core/Services/CreateProfileService.cs @@ -14,6 +14,7 @@ using SPTarkov.Server.Core.Routers; using SPTarkov.Server.Core.Servers; using SPTarkov.Server.Core.Utils; using SPTarkov.Server.Core.Utils.Cloners; +using SPTarkov.Server.Core.Utils.Json; namespace SPTarkov.Server.Core.Services; @@ -72,6 +73,8 @@ public class CreateProfileService( pmcData.CoopExtractCounts = new Dictionary(); pmcData.Achievements = new Dictionary(); + pmcData.WishList = new DictionaryOrList(new Dictionary(), []); + // Process handling if the account has been forced to wipe // BSG keeps both the achievements, prestige level and the total in-game time in a wipe if (account.CharacterData.PmcData.Achievements is not null)