diff --git a/Core/Callbacks/DataCallbacks.cs b/Core/Callbacks/DataCallbacks.cs index e96f04e4..de89d10c 100644 --- a/Core/Callbacks/DataCallbacks.cs +++ b/Core/Callbacks/DataCallbacks.cs @@ -1,45 +1,19 @@ using Core.Annotations; using Core.Controllers; -using Core.Helpers; using Core.Models.Eft.Common; -using Core.Models.Eft.Common.Tables; -using Core.Models.Eft.Game; -using Core.Models.Eft.Hideout; -using Core.Models.Eft.HttpResponse; -using Core.Models.Spt.Server; using Core.Services; using Core.Utils; namespace Core.Callbacks; [Injectable(InjectableTypeOverride = typeof(DataCallbacks))] -public class DataCallbacks +public class DataCallbacks( + HttpResponseUtil _httpResponseUtil, + DatabaseService _databaseService, + TraderController _traderController, + HideoutController _hideoutController +) { - protected HttpResponseUtil _httpResponseUtil; - protected TimeUtil _timeUtil; - protected TraderHelper _traderHelper; - protected DatabaseService _databaseService; - protected TraderController _traderController; - protected HideoutController _hideoutController; - - public DataCallbacks - ( - HttpResponseUtil httpResponseUtil, - TimeUtil timeUtil, - TraderHelper traderHelper, - DatabaseService databaseService, - TraderController traderController, - HideoutController hideoutController - ) - { - _httpResponseUtil = httpResponseUtil; - _timeUtil = timeUtil; - _traderHelper = traderHelper; - _databaseService = databaseService; - _traderController = traderController; - _hideoutController = hideoutController; - } - /// /// Handle client/settings /// @@ -175,14 +149,14 @@ public class DataCallbacks { var localeId = url.Replace("/client/menu/locale/", ""); var locales = _databaseService.GetLocales(); - var result = locales.Menu[localeId]; - - if (result == null) - result = locales.Menu.FirstOrDefault(m => m.Key == "en").Value; + var result = locales.Menu?[localeId] + ?? locales.Menu?.FirstOrDefault(m => m.Key == "en").Value; if (result == null) + { throw new Exception($"Unable to determine locale for request with {localeId}"); - + } + return _httpResponseUtil.GetBody(result); } @@ -197,10 +171,8 @@ public class DataCallbacks { var localeId = url.Replace("/client/locale/", ""); var locales = _databaseService.GetLocales(); - var result = locales.Global[localeId]; - - if (result == null) - result = locales.Global.FirstOrDefault(m => m.Key == "en").Value; + var result = locales.Global?[localeId] + ?? locales.Global?.FirstOrDefault(m => m.Key == "en").Value; return _httpResponseUtil.GetUnclearedBody(result); } @@ -214,7 +186,7 @@ public class DataCallbacks /// public string GetQteList(string url, EmptyRequestData info, string sessionID) { - return _httpResponseUtil.GetUnclearedBody(_hideoutController.GetQteList(sessionID)); + return _httpResponseUtil.GetUnclearedBody(_hideoutController.GetQteList(sessionID)); } /// @@ -227,7 +199,7 @@ public class DataCallbacks public string GetItemPrices(string url, EmptyRequestData info, string sessionID) { var traderId = url.Replace("/client/items/prices/", ""); - + return _httpResponseUtil.GetBody(_traderController.GetItemPrices(sessionID, traderId)); } }