using SPTarkov.Server.Core.Controllers; using SPTarkov.Server.Core.Models.Eft.Common; using SPTarkov.Server.Core.Models.Eft.Customization; using SPTarkov.Server.Core.Models.Eft.ItemEvent; using SPTarkov.Server.Core.Servers; using SPTarkov.Server.Core.Utils; using SPTarkov.Common.Annotations; namespace SPTarkov.Server.Core.Callbacks; [Injectable] public class CustomizationCallbacks( CustomizationController _customizationController, SaveServer _saveServer, HttpResponseUtil _httpResponseUtil ) { /// /// Handle client/trading/customization/storage /// /// public string GetCustomisationUnlocks(string url, EmptyRequestData _, string sessionID) { return _httpResponseUtil.GetBody(_saveServer.GetProfile(sessionID).CustomisationUnlocks); } /// /// Handle client/trading/customization /// /// public string GetTraderSuits(string url, EmptyRequestData _, string sessionID) { var splitUrl = url.Split('/'); var traderId = splitUrl[^3]; return _httpResponseUtil.GetBody(_customizationController.GetTraderSuits(traderId, sessionID)); } /// /// Handle CustomizationBuy event /// /// public ItemEventRouterResponse BuyCustomisation(PmcData pmcData, BuyClothingRequestData request, string sessionID) { return _customizationController.BuyCustomisation(pmcData, request, sessionID); } /// /// Handle client/hideout/customization/offer/list /// /// public string GetHideoutCustomisation(string url, EmptyRequestData _, string sessionID) { return _httpResponseUtil.GetBody(_customizationController.GetHideoutCustomisation(sessionID)); } /// /// Handle client/customization/storage /// /// public string GetStorage(string url, EmptyRequestData _, string sessionID) { return _httpResponseUtil.GetBody(_customizationController.GetCustomisationStorage(sessionID)); } /// /// Handle CustomizationSet /// /// public ItemEventRouterResponse SetCustomisation(PmcData pmcData, CustomizationSetRequest request, string sessionID) { return _customizationController.SetCustomisation(sessionID, request, pmcData); } }