Convert routers and callback sessionIds to MongoIds (#453)
Co-authored-by: Chomp <27521899+chompDev@users.noreply.github.com>
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
using SPTarkov.DI.Annotations;
|
||||
using SPTarkov.Server.Core.Controllers;
|
||||
using SPTarkov.Server.Core.Models.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common;
|
||||
using SPTarkov.Server.Core.Utils;
|
||||
|
||||
@@ -7,18 +8,18 @@ namespace SPTarkov.Server.Core.Callbacks;
|
||||
|
||||
[Injectable]
|
||||
public class AchievementCallbacks(
|
||||
AchievementController _achievementController,
|
||||
HttpResponseUtil _httpResponseUtil
|
||||
AchievementController achievementController,
|
||||
HttpResponseUtil httpResponseUtil
|
||||
)
|
||||
{
|
||||
/// <summary>
|
||||
/// Handle client/achievement/list
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GetAchievements(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> GetAchievements(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.GetBody(_achievementController.GetAchievements(sessionID))
|
||||
httpResponseUtil.GetBody(achievementController.GetAchievements(sessionID))
|
||||
);
|
||||
}
|
||||
|
||||
@@ -26,10 +27,10 @@ public class AchievementCallbacks(
|
||||
/// Handle client/achievement/statistic
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> Statistic(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> Statistic(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.GetBody(_achievementController.GetAchievementStatics(sessionID))
|
||||
httpResponseUtil.GetBody(achievementController.GetAchievementStatics(sessionID))
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using SPTarkov.DI.Annotations;
|
||||
using SPTarkov.Server.Core.Controllers;
|
||||
using SPTarkov.Server.Core.Models.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Bot;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common;
|
||||
using SPTarkov.Server.Core.Utils;
|
||||
@@ -7,19 +8,19 @@ using SPTarkov.Server.Core.Utils;
|
||||
namespace SPTarkov.Server.Core.Callbacks;
|
||||
|
||||
[Injectable]
|
||||
public class BotCallbacks(BotController _botController, HttpResponseUtil _httpResponseUtil)
|
||||
public class BotCallbacks(BotController botController, HttpResponseUtil httpResponseUtil)
|
||||
{
|
||||
/// <summary>
|
||||
/// Handle singleplayer/settings/bot/limit
|
||||
/// Is called by client to define each bot roles wave limit
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GetBotLimit(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> GetBotLimit(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
var splitUrl = url.Split('/');
|
||||
var type = splitUrl[^1];
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.NoBody(_botController.GetBotPresetGenerationLimit(type))
|
||||
httpResponseUtil.NoBody(botController.GetBotPresetGenerationLimit(type))
|
||||
);
|
||||
}
|
||||
|
||||
@@ -27,7 +28,7 @@ public class BotCallbacks(BotController _botController, HttpResponseUtil _httpRe
|
||||
/// Handle singleplayer/settings/bot/difficulty
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GetBotDifficulty(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> GetBotDifficulty(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
var splitUrl = url.Split('/');
|
||||
var type = splitUrl[^2].ToLowerInvariant();
|
||||
@@ -35,12 +36,12 @@ public class BotCallbacks(BotController _botController, HttpResponseUtil _httpRe
|
||||
if (difficulty == "core")
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.NoBody(_botController.GetBotCoreDifficulty())
|
||||
httpResponseUtil.NoBody(botController.GetBotCoreDifficulty())
|
||||
);
|
||||
}
|
||||
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.NoBody(_botController.GetBotDifficulty(sessionID, type, difficulty))
|
||||
httpResponseUtil.NoBody(botController.GetBotDifficulty(sessionID, type, difficulty))
|
||||
);
|
||||
}
|
||||
|
||||
@@ -48,10 +49,14 @@ public class BotCallbacks(BotController _botController, HttpResponseUtil _httpRe
|
||||
/// Handle singleplayer/settings/bot/difficulties
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GetAllBotDifficulties(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> GetAllBotDifficulties(
|
||||
string url,
|
||||
EmptyRequestData _,
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.NoBody(_botController.GetAllBotDifficulties())
|
||||
httpResponseUtil.NoBody(botController.GetAllBotDifficulties())
|
||||
);
|
||||
}
|
||||
|
||||
@@ -62,11 +67,11 @@ public class BotCallbacks(BotController _botController, HttpResponseUtil _httpRe
|
||||
public ValueTask<string> GenerateBots(
|
||||
string url,
|
||||
GenerateBotsRequestData info,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.GetBody(_botController.Generate(sessionID, info))
|
||||
httpResponseUtil.GetBody(botController.Generate(sessionID, info))
|
||||
);
|
||||
}
|
||||
|
||||
@@ -74,11 +79,11 @@ public class BotCallbacks(BotController _botController, HttpResponseUtil _httpRe
|
||||
/// Handle singleplayer/settings/bot/maxCap
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GetBotCap(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> GetBotCap(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
var splitUrl = url.Split('/');
|
||||
var location = splitUrl[^1];
|
||||
return new ValueTask<string>(_httpResponseUtil.NoBody(_botController.GetBotCap(location)));
|
||||
return new ValueTask<string>(httpResponseUtil.NoBody(botController.GetBotCap(location)));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -87,6 +92,6 @@ public class BotCallbacks(BotController _botController, HttpResponseUtil _httpRe
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GetBotBehaviours()
|
||||
{
|
||||
return new ValueTask<string>(_httpResponseUtil.NoBody(_botController.GetAiBotBrainTypes()));
|
||||
return new ValueTask<string>(httpResponseUtil.NoBody(botController.GetAiBotBrainTypes()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,15 +14,15 @@ namespace SPTarkov.Server.Core.Callbacks;
|
||||
|
||||
[Injectable(TypePriority = OnUpdateOrder.BtrDeliveryCallbacks)]
|
||||
public class BtrDeliveryCallbacks(
|
||||
ISptLogger<BtrDeliveryCallbacks> _logger,
|
||||
BtrDeliveryService _btrDeliveryService,
|
||||
TimeUtil _timeUtil,
|
||||
ConfigServer _configServer,
|
||||
SaveServer _saveServer
|
||||
ISptLogger<BtrDeliveryCallbacks> logger,
|
||||
BtrDeliveryService btrDeliveryService,
|
||||
TimeUtil timeUtil,
|
||||
ConfigServer configServer,
|
||||
SaveServer saveServer
|
||||
) : IOnUpdate
|
||||
{
|
||||
private readonly BtrDeliveryConfig _btrDeliveryConfig =
|
||||
_configServer.GetConfig<BtrDeliveryConfig>();
|
||||
configServer.GetConfig<BtrDeliveryConfig>();
|
||||
|
||||
public Task<bool> OnUpdate(long secondsSinceLastRun)
|
||||
{
|
||||
@@ -42,7 +42,7 @@ public class BtrDeliveryCallbacks(
|
||||
protected void ProcessDeliveries()
|
||||
{
|
||||
// Process each installed profile.
|
||||
foreach (var sessionId in _saveServer.GetProfiles())
|
||||
foreach (var sessionId in saveServer.GetProfiles())
|
||||
{
|
||||
ProcessDeliveryByProfile(sessionId.Key);
|
||||
}
|
||||
@@ -52,7 +52,7 @@ public class BtrDeliveryCallbacks(
|
||||
/// Process delivery items of a single profile prior to being given back to the player through the mail service
|
||||
/// </summary>
|
||||
/// <param name="sessionId">Player id</param>
|
||||
public void ProcessDeliveryByProfile(string sessionId)
|
||||
public void ProcessDeliveryByProfile(MongoId sessionId)
|
||||
{
|
||||
// Filter out items that don't need to be processed yet.
|
||||
var toBeProcessed = FilterDeliveryItems(sessionId);
|
||||
@@ -71,16 +71,16 @@ public class BtrDeliveryCallbacks(
|
||||
/// </summary>
|
||||
/// <param name="sessionId">Session/Player id</param>
|
||||
/// <returns>All delivery items that are ready to be processed</returns>
|
||||
protected List<BtrDelivery> FilterDeliveryItems(string sessionId)
|
||||
protected List<BtrDelivery> FilterDeliveryItems(MongoId sessionId)
|
||||
{
|
||||
var currentTime = _timeUtil.GetTimeStamp();
|
||||
var currentTime = timeUtil.GetTimeStamp();
|
||||
|
||||
var deliveryList = _saveServer.GetProfile(sessionId).BtrDeliveryList;
|
||||
var deliveryList = saveServer.GetProfile(sessionId).BtrDeliveryList;
|
||||
if (deliveryList != null && deliveryList!.Count > 0)
|
||||
{
|
||||
if (_logger.IsLogEnabled(LogLevel.Debug))
|
||||
if (logger.IsLogEnabled(LogLevel.Debug))
|
||||
{
|
||||
_logger.Debug(
|
||||
logger.Debug(
|
||||
$"Found {deliveryList.Count} BTR delivery package(s) in profile {sessionId}"
|
||||
);
|
||||
}
|
||||
@@ -97,11 +97,11 @@ public class BtrDeliveryCallbacks(
|
||||
/// </summary>
|
||||
/// <param name="packagesToBeDelivered">The delivery items to process</param>
|
||||
/// <param name="sessionId">session ID that should receive the processed items</param>
|
||||
protected void ProcessDeliveryItems(List<BtrDelivery> packagesToBeDelivered, string sessionId)
|
||||
protected void ProcessDeliveryItems(List<BtrDelivery> packagesToBeDelivered, MongoId sessionId)
|
||||
{
|
||||
if (_logger.IsLogEnabled(LogLevel.Debug))
|
||||
if (logger.IsLogEnabled(LogLevel.Debug))
|
||||
{
|
||||
_logger.Debug(
|
||||
logger.Debug(
|
||||
$"Processing {packagesToBeDelivered.Count} BTR delivery package(s), which include a total of: {packagesToBeDelivered.Select(items => items.Items).Count()} items, in profile: {sessionId}"
|
||||
);
|
||||
}
|
||||
@@ -115,10 +115,10 @@ public class BtrDeliveryCallbacks(
|
||||
// Update the delivery items to have the new root parent ID for root/orphaned items
|
||||
package.Items = package.Items.AdoptOrphanedItems(rootItemParentId);
|
||||
|
||||
_btrDeliveryService.SendBTRDelivery(sessionId, package.Items);
|
||||
btrDeliveryService.SendBTRDelivery(sessionId, package.Items);
|
||||
|
||||
// Remove the fully processed BTR delivery package from the profile.
|
||||
_btrDeliveryService.RemoveBTRDeliveryPackageFromProfile(sessionId, package);
|
||||
btrDeliveryService.RemoveBTRDeliveryPackageFromProfile(sessionId, package);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using SPTarkov.DI.Annotations;
|
||||
using SPTarkov.Server.Core.Controllers;
|
||||
using SPTarkov.Server.Core.Models.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Builds;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.PresetBuild;
|
||||
@@ -8,16 +9,16 @@ using SPTarkov.Server.Core.Utils;
|
||||
namespace SPTarkov.Server.Core.Callbacks;
|
||||
|
||||
[Injectable]
|
||||
public class BuildsCallbacks(HttpResponseUtil _httpResponseUtil, BuildController _buildController)
|
||||
public class BuildsCallbacks(HttpResponseUtil httpResponseUtil, BuildController buildController)
|
||||
{
|
||||
/// <summary>
|
||||
/// Handle client/builds/list
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GetBuilds(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> GetBuilds(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.GetBody(_buildController.GetUserBuilds(sessionID))
|
||||
httpResponseUtil.GetBody(buildController.GetUserBuilds(sessionID))
|
||||
);
|
||||
}
|
||||
|
||||
@@ -31,11 +32,11 @@ public class BuildsCallbacks(HttpResponseUtil _httpResponseUtil, BuildController
|
||||
public ValueTask<string> CreateMagazineTemplate(
|
||||
string url,
|
||||
SetMagazineRequest request,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
_buildController.CreateMagazineTemplate(sessionID, request);
|
||||
return new ValueTask<string>(_httpResponseUtil.NullResponse());
|
||||
buildController.CreateMagazineTemplate(sessionID, request);
|
||||
return new ValueTask<string>(httpResponseUtil.NullResponse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -45,11 +46,11 @@ public class BuildsCallbacks(HttpResponseUtil _httpResponseUtil, BuildController
|
||||
public ValueTask<string> SetWeapon(
|
||||
string url,
|
||||
PresetBuildActionRequestData request,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
_buildController.SaveWeaponBuild(sessionID, request);
|
||||
return new ValueTask<string>(_httpResponseUtil.NullResponse());
|
||||
buildController.SaveWeaponBuild(sessionID, request);
|
||||
return new ValueTask<string>(httpResponseUtil.NullResponse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -59,11 +60,11 @@ public class BuildsCallbacks(HttpResponseUtil _httpResponseUtil, BuildController
|
||||
public ValueTask<string> SetEquipment(
|
||||
string url,
|
||||
PresetBuildActionRequestData request,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
_buildController.SaveEquipmentBuild(sessionID, request);
|
||||
return new ValueTask<string>(_httpResponseUtil.NullResponse());
|
||||
buildController.SaveEquipmentBuild(sessionID, request);
|
||||
return new ValueTask<string>(httpResponseUtil.NullResponse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -73,10 +74,10 @@ public class BuildsCallbacks(HttpResponseUtil _httpResponseUtil, BuildController
|
||||
public ValueTask<string> DeleteBuild(
|
||||
string url,
|
||||
RemoveBuildRequestData request,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
_buildController.RemoveBuild(sessionID, request);
|
||||
return new ValueTask<string>(_httpResponseUtil.NullResponse());
|
||||
buildController.RemoveBuild(sessionID, request);
|
||||
return new ValueTask<string>(httpResponseUtil.NullResponse());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,27 +1,28 @@
|
||||
using SPTarkov.DI.Annotations;
|
||||
using SPTarkov.Server.Core.Loaders;
|
||||
using SPTarkov.Server.Core.Models.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common;
|
||||
using SPTarkov.Server.Core.Utils;
|
||||
|
||||
namespace SPTarkov.Server.Core.Callbacks;
|
||||
|
||||
[Injectable]
|
||||
public class BundleCallbacks(HttpResponseUtil _httpResponseUtil, BundleLoader _bundleLoader)
|
||||
public class BundleCallbacks(HttpResponseUtil httpResponseUtil, BundleLoader bundleLoader)
|
||||
{
|
||||
/// <summary>
|
||||
/// Handle singleplayer/bundles
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GetBundles(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> GetBundles(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(_httpResponseUtil.NoBody(_bundleLoader.GetBundles()));
|
||||
return new ValueTask<string>(httpResponseUtil.NoBody(bundleLoader.GetBundles()));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// TODO: what does it do
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GetBundle(string url, object info, string sessionID)
|
||||
public ValueTask<string> GetBundle(string url, object info, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>("BUNDLE");
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using SPTarkov.DI.Annotations;
|
||||
using SPTarkov.Server.Core.Controllers;
|
||||
using SPTarkov.Server.Core.Models.Common;
|
||||
using SPTarkov.Server.Core.Models.Enums;
|
||||
using SPTarkov.Server.Core.Models.Spt.Config;
|
||||
using SPTarkov.Server.Core.Models.Spt.Logging;
|
||||
@@ -12,21 +13,21 @@ namespace SPTarkov.Server.Core.Callbacks;
|
||||
|
||||
[Injectable]
|
||||
public class ClientLogCallbacks(
|
||||
HttpResponseUtil _httpResponseUtil,
|
||||
ClientLogController _clientLogController,
|
||||
ConfigServer _configServer,
|
||||
ServerLocalisationService _serverLocalisationService,
|
||||
IReadOnlyList<SptMod> _loadedMods
|
||||
HttpResponseUtil httpResponseUtil,
|
||||
ClientLogController clientLogController,
|
||||
ConfigServer configServer,
|
||||
ServerLocalisationService serverLocalisationService,
|
||||
IReadOnlyList<SptMod> loadedMods
|
||||
)
|
||||
{
|
||||
/// <summary>
|
||||
/// Handle /singleplayer/log
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> ClientLog(string url, ClientLogRequest request, string sessionID)
|
||||
public ValueTask<string> ClientLog(string url, ClientLogRequest request, MongoId sessionID)
|
||||
{
|
||||
_clientLogController.ClientLog(request);
|
||||
return new ValueTask<string>(_httpResponseUtil.NullResponse());
|
||||
clientLogController.ClientLog(request);
|
||||
return new ValueTask<string>(httpResponseUtil.NullResponse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -35,38 +36,36 @@ public class ClientLogCallbacks(
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> ReleaseNotes()
|
||||
{
|
||||
var data = _configServer.GetConfig<CoreConfig>().Release;
|
||||
var data = configServer.GetConfig<CoreConfig>().Release;
|
||||
|
||||
data.BetaDisclaimerText = ProgramStatics.MODS()
|
||||
? _serverLocalisationService.GetText("release-beta-disclaimer-mods-enabled")
|
||||
: _serverLocalisationService.GetText("release-beta-disclaimer");
|
||||
? serverLocalisationService.GetText("release-beta-disclaimer-mods-enabled")
|
||||
: serverLocalisationService.GetText("release-beta-disclaimer");
|
||||
|
||||
data.BetaDisclaimerAcceptText = _serverLocalisationService.GetText(
|
||||
data.BetaDisclaimerAcceptText = serverLocalisationService.GetText(
|
||||
"release-beta-disclaimer-accept"
|
||||
);
|
||||
data.ServerModsLoadedText = _serverLocalisationService.GetText(
|
||||
"release-server-mods-loaded"
|
||||
);
|
||||
data.ServerModsLoadedDebugText = _serverLocalisationService.GetText(
|
||||
data.ServerModsLoadedText = serverLocalisationService.GetText("release-server-mods-loaded");
|
||||
data.ServerModsLoadedDebugText = serverLocalisationService.GetText(
|
||||
"release-server-mods-debug-message"
|
||||
);
|
||||
data.ClientModsLoadedText = _serverLocalisationService.GetText("release-plugins-loaded");
|
||||
data.ClientModsLoadedDebugText = _serverLocalisationService.GetText(
|
||||
data.ClientModsLoadedText = serverLocalisationService.GetText("release-plugins-loaded");
|
||||
data.ClientModsLoadedDebugText = serverLocalisationService.GetText(
|
||||
"release-plugins-loaded-debug-message"
|
||||
);
|
||||
data.IllegalPluginsLoadedText = _serverLocalisationService.GetText(
|
||||
data.IllegalPluginsLoadedText = serverLocalisationService.GetText(
|
||||
"release-illegal-plugins-loaded"
|
||||
);
|
||||
data.IllegalPluginsExceptionText = _serverLocalisationService.GetText(
|
||||
data.IllegalPluginsExceptionText = serverLocalisationService.GetText(
|
||||
"release-illegal-plugins-exception"
|
||||
);
|
||||
data.ReleaseSummaryText = _serverLocalisationService.GetText("release-summary");
|
||||
data.ReleaseSummaryText = serverLocalisationService.GetText("release-summary");
|
||||
data.IsBeta =
|
||||
ProgramStatics.ENTRY_TYPE() is EntryType.BLEEDING_EDGE or EntryType.BLEEDING_EDGE_MODS;
|
||||
data.IsModdable = ProgramStatics.MODS();
|
||||
data.IsModded = _loadedMods.Count > 0;
|
||||
data.IsModded = loadedMods.Count > 0;
|
||||
|
||||
return new ValueTask<string>(_httpResponseUtil.NoBody(data));
|
||||
return new ValueTask<string>(httpResponseUtil.NoBody(data));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -75,7 +74,7 @@ public class ClientLogCallbacks(
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> BsgLogging()
|
||||
{
|
||||
var data = _configServer.GetConfig<CoreConfig>().BsgLogging;
|
||||
return new ValueTask<string>(_httpResponseUtil.NoBody(data));
|
||||
var data = configServer.GetConfig<CoreConfig>().BsgLogging;
|
||||
return new ValueTask<string>(httpResponseUtil.NoBody(data));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using SPTarkov.DI.Annotations;
|
||||
using SPTarkov.Server.Core.Controllers;
|
||||
using SPTarkov.Server.Core.Models.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Customization;
|
||||
using SPTarkov.Server.Core.Models.Eft.ItemEvent;
|
||||
@@ -22,7 +23,7 @@ public class CustomizationCallbacks(
|
||||
public ValueTask<string> GetCustomisationUnlocks(
|
||||
string url,
|
||||
EmptyRequestData _,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
@@ -34,7 +35,7 @@ public class CustomizationCallbacks(
|
||||
/// Handle client/trading/customization
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GetTraderSuits(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> GetTraderSuits(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
var splitUrl = url.Split('/');
|
||||
var traderId = splitUrl[^3];
|
||||
@@ -51,7 +52,7 @@ public class CustomizationCallbacks(
|
||||
public ItemEventRouterResponse BuyCustomisation(
|
||||
PmcData pmcData,
|
||||
BuyClothingRequestData request,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return _customizationController.BuyCustomisation(pmcData, request, sessionID);
|
||||
@@ -64,7 +65,7 @@ public class CustomizationCallbacks(
|
||||
public ValueTask<string> GetHideoutCustomisation(
|
||||
string url,
|
||||
EmptyRequestData _,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
@@ -76,7 +77,7 @@ public class CustomizationCallbacks(
|
||||
/// Handle client/customization/storage
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GetStorage(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> GetStorage(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.GetBody(_customizationController.GetCustomisationStorage(sessionID))
|
||||
@@ -90,7 +91,7 @@ public class CustomizationCallbacks(
|
||||
public ItemEventRouterResponse SetCustomisation(
|
||||
PmcData pmcData,
|
||||
CustomizationSetRequest request,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return _customizationController.SetCustomisation(sessionID, request, pmcData);
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using SPTarkov.DI.Annotations;
|
||||
using SPTarkov.Server.Core.Controllers;
|
||||
using SPTarkov.Server.Core.Models.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common;
|
||||
using SPTarkov.Server.Core.Services;
|
||||
using SPTarkov.Server.Core.Utils;
|
||||
@@ -8,20 +9,20 @@ namespace SPTarkov.Server.Core.Callbacks;
|
||||
|
||||
[Injectable]
|
||||
public class DataCallbacks(
|
||||
HttpResponseUtil _httpResponseUtil,
|
||||
DatabaseService _databaseService,
|
||||
TraderController _traderController,
|
||||
HideoutController _hideoutController,
|
||||
LocaleService _localeService
|
||||
HttpResponseUtil httpResponseUtil,
|
||||
DatabaseService databaseService,
|
||||
TraderController traderController,
|
||||
HideoutController hideoutController,
|
||||
LocaleService localeService
|
||||
)
|
||||
{
|
||||
/// <summary>
|
||||
/// Handle client/settings
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GetSettings(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> GetSettings(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
var returns = _httpResponseUtil.GetBody(_databaseService.GetSettings());
|
||||
var returns = httpResponseUtil.GetBody(databaseService.GetSettings());
|
||||
return new ValueTask<string>(returns);
|
||||
}
|
||||
|
||||
@@ -29,10 +30,10 @@ public class DataCallbacks(
|
||||
/// Handle client/globals
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GetGlobals(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> GetGlobals(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
var globals = _databaseService.GetGlobals();
|
||||
var returns = _httpResponseUtil.GetBody(globals);
|
||||
var globals = databaseService.GetGlobals();
|
||||
var returns = httpResponseUtil.GetBody(globals);
|
||||
|
||||
return new ValueTask<string>(returns);
|
||||
}
|
||||
@@ -41,30 +42,28 @@ public class DataCallbacks(
|
||||
/// Handle client/items
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GetTemplateItems(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> GetTemplateItems(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.GetUnclearedBody(_databaseService.GetItems())
|
||||
);
|
||||
return new ValueTask<string>(httpResponseUtil.GetUnclearedBody(databaseService.GetItems()));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Handle client/handbook/templates
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GetTemplateHandbook(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> GetTemplateHandbook(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(_httpResponseUtil.GetBody(_databaseService.GetHandbook()));
|
||||
return new ValueTask<string>(httpResponseUtil.GetBody(databaseService.GetHandbook()));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Handle client/customization
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GetTemplateSuits(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> GetTemplateSuits(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.GetBody(_databaseService.GetTemplates().Customization)
|
||||
httpResponseUtil.GetBody(databaseService.GetTemplates().Customization)
|
||||
);
|
||||
}
|
||||
|
||||
@@ -72,10 +71,10 @@ public class DataCallbacks(
|
||||
/// Handle client/account/customization
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GetTemplateCharacter(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> GetTemplateCharacter(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.GetBody(_databaseService.GetTemplates().Character)
|
||||
httpResponseUtil.GetBody(databaseService.GetTemplates().Character)
|
||||
);
|
||||
}
|
||||
|
||||
@@ -83,10 +82,10 @@ public class DataCallbacks(
|
||||
/// Handle client/hideout/settings
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GetHideoutSettings(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> GetHideoutSettings(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.GetBody(_databaseService.GetHideout().Settings)
|
||||
httpResponseUtil.GetBody(databaseService.GetHideout().Settings)
|
||||
);
|
||||
}
|
||||
|
||||
@@ -94,21 +93,19 @@ public class DataCallbacks(
|
||||
/// Handle client/hideout/areas
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GetHideoutAreas(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> GetHideoutAreas(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.GetBody(_databaseService.GetHideout().Areas)
|
||||
);
|
||||
return new ValueTask<string>(httpResponseUtil.GetBody(databaseService.GetHideout().Areas));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Handle client/hideout/production/recipes
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GetHideoutProduction(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> GetHideoutProduction(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.GetBody(_databaseService.GetHideout().Production)
|
||||
httpResponseUtil.GetBody(databaseService.GetHideout().Production)
|
||||
);
|
||||
}
|
||||
|
||||
@@ -116,10 +113,10 @@ public class DataCallbacks(
|
||||
/// Handle client/languages
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GetLocalesLanguages(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> GetLocalesLanguages(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.GetBody(_databaseService.GetLocales().Languages)
|
||||
httpResponseUtil.GetBody(databaseService.GetLocales().Languages)
|
||||
);
|
||||
}
|
||||
|
||||
@@ -127,10 +124,10 @@ public class DataCallbacks(
|
||||
/// Handle client/menu/locale
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GetLocalesMenu(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> GetLocalesMenu(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
var localeId = url.Replace("/client/menu/locale/", "");
|
||||
var locales = _databaseService.GetLocales();
|
||||
var locales = databaseService.GetLocales();
|
||||
var result =
|
||||
locales.Menu?[localeId] ?? locales.Menu?.FirstOrDefault(m => m.Key == "en").Value;
|
||||
|
||||
@@ -139,29 +136,29 @@ public class DataCallbacks(
|
||||
throw new Exception($"Unable to determine locale for request with {localeId}");
|
||||
}
|
||||
|
||||
return new ValueTask<string>(_httpResponseUtil.GetBody(result));
|
||||
return new ValueTask<string>(httpResponseUtil.GetBody(result));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Handle client/locale
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GetLocalesGlobal(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> GetLocalesGlobal(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
var localeId = url.Replace("/client/locale/", "");
|
||||
var locales = _localeService.GetLocaleDb(localeId);
|
||||
var locales = localeService.GetLocaleDb(localeId);
|
||||
|
||||
return new ValueTask<string>(_httpResponseUtil.GetUnclearedBody(locales));
|
||||
return new ValueTask<string>(httpResponseUtil.GetUnclearedBody(locales));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Handle client/hideout/qte/list
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GetQteList(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> GetQteList(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.GetUnclearedBody(_hideoutController.GetQteList(sessionID))
|
||||
httpResponseUtil.GetUnclearedBody(hideoutController.GetQteList(sessionID))
|
||||
);
|
||||
}
|
||||
|
||||
@@ -169,12 +166,12 @@ public class DataCallbacks(
|
||||
/// Handle client/items/prices/
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GetItemPrices(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> GetItemPrices(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
var traderId = url.Replace("/client/items/prices/", "");
|
||||
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.GetBody(_traderController.GetItemPrices(sessionID, traderId))
|
||||
httpResponseUtil.GetBody(traderController.GetItemPrices(sessionID, traderId))
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using SPTarkov.DI.Annotations;
|
||||
using SPTarkov.Server.Core.Controllers;
|
||||
using SPTarkov.Server.Core.DI;
|
||||
using SPTarkov.Server.Core.Models.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common.Request;
|
||||
using SPTarkov.Server.Core.Models.Eft.Dialog;
|
||||
@@ -10,14 +11,14 @@ namespace SPTarkov.Server.Core.Callbacks;
|
||||
|
||||
[Injectable(TypePriority = OnUpdateOrder.DialogueCallbacks)]
|
||||
public class DialogueCallbacks(
|
||||
TimeUtil _timeUtil,
|
||||
HttpResponseUtil _httpResponseUtil,
|
||||
DialogueController _dialogueController
|
||||
TimeUtil timeUtil,
|
||||
HttpResponseUtil httpResponseUtil,
|
||||
DialogueController dialogueController
|
||||
) : IOnUpdate
|
||||
{
|
||||
public Task<bool> OnUpdate(long timeSinceLastRun)
|
||||
{
|
||||
_dialogueController.Update();
|
||||
dialogueController.Update();
|
||||
return Task.FromResult(true);
|
||||
}
|
||||
|
||||
@@ -25,10 +26,14 @@ public class DialogueCallbacks(
|
||||
/// Handle client/friend/list
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public virtual ValueTask<string> GetFriendList(string url, EmptyRequestData _, string sessionID)
|
||||
public virtual ValueTask<string> GetFriendList(
|
||||
string url,
|
||||
EmptyRequestData _,
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.GetBody(_dialogueController.GetFriendList(sessionID))
|
||||
httpResponseUtil.GetBody(dialogueController.GetFriendList(sessionID))
|
||||
);
|
||||
}
|
||||
|
||||
@@ -39,7 +44,7 @@ public class DialogueCallbacks(
|
||||
public virtual ValueTask<string> GetChatServerList(
|
||||
string url,
|
||||
GetChatServerListRequestData request,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
var chatServer = new List<ChatServer>
|
||||
@@ -48,7 +53,7 @@ public class DialogueCallbacks(
|
||||
{
|
||||
Id = new Models.Common.MongoId(),
|
||||
RegistrationId = 20,
|
||||
DateTime = _timeUtil.GetTimeStamp(),
|
||||
DateTime = timeUtil.GetTimeStamp(),
|
||||
IsDeveloper = true,
|
||||
Regions = ["EUR"],
|
||||
VersionId = request.VersionId,
|
||||
@@ -58,7 +63,7 @@ public class DialogueCallbacks(
|
||||
},
|
||||
};
|
||||
|
||||
return new ValueTask<string>(_httpResponseUtil.GetBody(chatServer));
|
||||
return new ValueTask<string>(httpResponseUtil.GetBody(chatServer));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -69,12 +74,12 @@ public class DialogueCallbacks(
|
||||
public virtual ValueTask<string> GetMailDialogList(
|
||||
string url,
|
||||
GetMailDialogListRequestData request,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.GetBody(
|
||||
_dialogueController.GenerateDialogueList(sessionID),
|
||||
httpResponseUtil.GetBody(
|
||||
dialogueController.GenerateDialogueList(sessionID),
|
||||
0,
|
||||
null,
|
||||
false
|
||||
@@ -92,12 +97,12 @@ public class DialogueCallbacks(
|
||||
public virtual ValueTask<string> GetMailDialogView(
|
||||
string url,
|
||||
GetMailDialogViewRequestData request,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.GetBody(
|
||||
_dialogueController.GenerateDialogueView(request, sessionID),
|
||||
httpResponseUtil.GetBody(
|
||||
dialogueController.GenerateDialogueView(request, sessionID),
|
||||
0,
|
||||
null,
|
||||
false
|
||||
@@ -112,12 +117,12 @@ public class DialogueCallbacks(
|
||||
public virtual ValueTask<string> GetMailDialogInfo(
|
||||
string url,
|
||||
GetMailDialogInfoRequestData request,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.GetBody(
|
||||
_dialogueController.GetDialogueInfo(request.DialogId, sessionID)
|
||||
httpResponseUtil.GetBody(
|
||||
dialogueController.GetDialogueInfo(request.DialogId, sessionID)
|
||||
)
|
||||
);
|
||||
}
|
||||
@@ -129,11 +134,11 @@ public class DialogueCallbacks(
|
||||
public virtual ValueTask<string> RemoveDialog(
|
||||
string url,
|
||||
RemoveDialogRequestData request,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
_dialogueController.RemoveDialogue(request.DialogId, sessionID);
|
||||
return new ValueTask<string>(_httpResponseUtil.EmptyArrayResponse());
|
||||
dialogueController.RemoveDialogue(request.DialogId, sessionID);
|
||||
return new ValueTask<string>(httpResponseUtil.EmptyArrayResponse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -143,11 +148,11 @@ public class DialogueCallbacks(
|
||||
public virtual ValueTask<string> PinDialog(
|
||||
string url,
|
||||
PinDialogRequestData request,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
_dialogueController.SetDialoguePin(request.DialogId, true, sessionID);
|
||||
return new ValueTask<string>(_httpResponseUtil.EmptyArrayResponse());
|
||||
dialogueController.SetDialoguePin(request.DialogId, true, sessionID);
|
||||
return new ValueTask<string>(httpResponseUtil.EmptyArrayResponse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -157,11 +162,11 @@ public class DialogueCallbacks(
|
||||
public virtual ValueTask<string> UnpinDialog(
|
||||
string url,
|
||||
PinDialogRequestData request,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
_dialogueController.SetDialoguePin(request.DialogId, false, sessionID);
|
||||
return new ValueTask<string>(_httpResponseUtil.EmptyArrayResponse());
|
||||
dialogueController.SetDialoguePin(request.DialogId, false, sessionID);
|
||||
return new ValueTask<string>(httpResponseUtil.EmptyArrayResponse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -171,11 +176,11 @@ public class DialogueCallbacks(
|
||||
public virtual ValueTask<string> SetRead(
|
||||
string url,
|
||||
SetDialogReadRequestData request,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
_dialogueController.SetRead(request.Dialogs, sessionID);
|
||||
return new ValueTask<string>(_httpResponseUtil.EmptyArrayResponse());
|
||||
dialogueController.SetRead(request.Dialogs, sessionID);
|
||||
return new ValueTask<string>(httpResponseUtil.EmptyArrayResponse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -185,12 +190,12 @@ public class DialogueCallbacks(
|
||||
public virtual ValueTask<string> GetAllAttachments(
|
||||
string url,
|
||||
GetAllAttachmentsRequestData request,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.GetBody(
|
||||
_dialogueController.GetAllAttachments(request.DialogId, sessionID)
|
||||
httpResponseUtil.GetBody(
|
||||
dialogueController.GetAllAttachments(request.DialogId, sessionID)
|
||||
)
|
||||
);
|
||||
}
|
||||
@@ -202,28 +207,28 @@ public class DialogueCallbacks(
|
||||
public virtual async ValueTask<string> SendMessage(
|
||||
string url,
|
||||
SendMessageRequest request,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return _httpResponseUtil.GetBody(await _dialogueController.SendMessage(sessionID, request));
|
||||
return httpResponseUtil.GetBody(await dialogueController.SendMessage(sessionID, request));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Handle client/friend/request/list/outbox
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public virtual ValueTask<string> ListOutbox(string url, EmptyRequestData _, string sessionID)
|
||||
public virtual ValueTask<string> ListOutbox(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(_httpResponseUtil.EmptyArrayResponse());
|
||||
return new ValueTask<string>(httpResponseUtil.EmptyArrayResponse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Handle client/friend/request/list/inbox
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public virtual ValueTask<string> ListInbox(string url, EmptyRequestData _, string sessionID)
|
||||
public virtual ValueTask<string> ListInbox(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(_httpResponseUtil.EmptyArrayResponse());
|
||||
return new ValueTask<string>(httpResponseUtil.EmptyArrayResponse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -233,11 +238,11 @@ public class DialogueCallbacks(
|
||||
public virtual ValueTask<string> SendFriendRequest(
|
||||
string url,
|
||||
FriendRequestData request,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.GetBody(_dialogueController.SendFriendRequest(sessionID, request))
|
||||
httpResponseUtil.GetBody(dialogueController.SendFriendRequest(sessionID, request))
|
||||
);
|
||||
}
|
||||
|
||||
@@ -248,10 +253,10 @@ public class DialogueCallbacks(
|
||||
public virtual ValueTask<string> AcceptAllFriendRequests(
|
||||
string url,
|
||||
EmptyRequestData _,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return new ValueTask<string>(_httpResponseUtil.NullResponse());
|
||||
return new ValueTask<string>(httpResponseUtil.NullResponse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -261,10 +266,10 @@ public class DialogueCallbacks(
|
||||
public virtual ValueTask<string> AcceptFriendRequest(
|
||||
string url,
|
||||
AcceptFriendRequestData request,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return new ValueTask<string>(_httpResponseUtil.GetBody(true));
|
||||
return new ValueTask<string>(httpResponseUtil.GetBody(true));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -274,10 +279,10 @@ public class DialogueCallbacks(
|
||||
public virtual ValueTask<string> DeclineFriendRequest(
|
||||
string url,
|
||||
DeclineFriendRequestData request,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return new ValueTask<string>(_httpResponseUtil.GetBody(true));
|
||||
return new ValueTask<string>(httpResponseUtil.GetBody(true));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -287,10 +292,10 @@ public class DialogueCallbacks(
|
||||
public virtual ValueTask<string> CancelFriendRequest(
|
||||
string url,
|
||||
CancelFriendRequestData request,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return new ValueTask<string>(_httpResponseUtil.GetBody(true));
|
||||
return new ValueTask<string>(httpResponseUtil.GetBody(true));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -300,11 +305,11 @@ public class DialogueCallbacks(
|
||||
public virtual ValueTask<string> DeleteFriend(
|
||||
string url,
|
||||
DeleteFriendRequest request,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
_dialogueController.DeleteFriend(sessionID, request);
|
||||
return new ValueTask<string>(_httpResponseUtil.NullResponse());
|
||||
dialogueController.DeleteFriend(sessionID, request);
|
||||
return new ValueTask<string>(httpResponseUtil.NullResponse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -314,10 +319,10 @@ public class DialogueCallbacks(
|
||||
public virtual ValueTask<string> IgnoreFriend(
|
||||
string url,
|
||||
UIDRequestData request,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return new ValueTask<string>(_httpResponseUtil.NullResponse());
|
||||
return new ValueTask<string>(httpResponseUtil.NullResponse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -327,36 +332,36 @@ public class DialogueCallbacks(
|
||||
public virtual ValueTask<string> UnIgnoreFriend(
|
||||
string url,
|
||||
UIDRequestData request,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return new ValueTask<string>(_httpResponseUtil.NullResponse());
|
||||
return new ValueTask<string>(httpResponseUtil.NullResponse());
|
||||
}
|
||||
|
||||
public virtual ValueTask<string> ClearMail(
|
||||
string url,
|
||||
ClearMailMessageRequest request,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
_dialogueController.ClearMessages(sessionID, request);
|
||||
dialogueController.ClearMessages(sessionID, request);
|
||||
|
||||
return new ValueTask<string>(_httpResponseUtil.EmptyArrayResponse());
|
||||
return new ValueTask<string>(httpResponseUtil.EmptyArrayResponse());
|
||||
}
|
||||
|
||||
public virtual ValueTask<string> CreateGroupMail(
|
||||
string url,
|
||||
CreateGroupMailRequest request,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return new ValueTask<string>(_httpResponseUtil.EmptyArrayResponse());
|
||||
return new ValueTask<string>(httpResponseUtil.EmptyArrayResponse());
|
||||
}
|
||||
|
||||
public virtual ValueTask<string> ChangeMailGroupOwner(
|
||||
string url,
|
||||
ChangeGroupMailOwnerRequest request,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return new ValueTask<string>("Not Implemented!"); // Not implemented in Node
|
||||
@@ -365,7 +370,7 @@ public class DialogueCallbacks(
|
||||
public virtual ValueTask<string> AddUserToMail(
|
||||
string url,
|
||||
AddUserGroupMailRequest request,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return new ValueTask<string>("Not Implemented!"); // Not implemented in Node
|
||||
@@ -374,7 +379,7 @@ public class DialogueCallbacks(
|
||||
public virtual ValueTask<string> RemoveUserFromMail(
|
||||
string url,
|
||||
RemoveUserGroupMailRequest request,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return new ValueTask<string>("Not Implemented!"); // Not implemented in Node
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using SPTarkov.DI.Annotations;
|
||||
using SPTarkov.Server.Core.Controllers;
|
||||
using SPTarkov.Server.Core.DI;
|
||||
using SPTarkov.Server.Core.Models.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common.Request;
|
||||
using SPTarkov.Server.Core.Models.Eft.Game;
|
||||
@@ -11,16 +12,16 @@ namespace SPTarkov.Server.Core.Callbacks;
|
||||
|
||||
[Injectable(TypePriority = OnLoadOrder.GameCallbacks)]
|
||||
public class GameCallbacks(
|
||||
HttpResponseUtil _httpResponseUtil,
|
||||
Watermark _watermark,
|
||||
SaveServer _saveServer,
|
||||
GameController _gameController,
|
||||
TimeUtil _timeUtil
|
||||
HttpResponseUtil httpResponseUtil,
|
||||
Watermark watermark,
|
||||
SaveServer saveServer,
|
||||
GameController gameController,
|
||||
TimeUtil timeUtil
|
||||
) : IOnLoad
|
||||
{
|
||||
public Task OnLoad()
|
||||
{
|
||||
_gameController.Load();
|
||||
gameController.Load();
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
@@ -31,22 +32,22 @@ public class GameCallbacks(
|
||||
public ValueTask<string> VersionValidate(
|
||||
string url,
|
||||
VersionValidateRequestData info,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return new ValueTask<string>(_httpResponseUtil.NullResponse());
|
||||
return new ValueTask<string>(httpResponseUtil.NullResponse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Handle client/game/start
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GameStart(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> GameStart(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
var startTimestampSec = _timeUtil.GetTimeStamp();
|
||||
_gameController.GameStart(url, sessionID, startTimestampSec);
|
||||
var startTimestampSec = timeUtil.GetTimeStamp();
|
||||
gameController.GameStart(url, sessionID, startTimestampSec);
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.GetBody(new GameStartResponse { UtcTime = startTimestampSec })
|
||||
httpResponseUtil.GetBody(new GameStartResponse { UtcTime = startTimestampSec })
|
||||
);
|
||||
}
|
||||
|
||||
@@ -55,10 +56,10 @@ public class GameCallbacks(
|
||||
/// Save profiles on game close
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public async ValueTask<string> GameLogout(string url, EmptyRequestData _, string sessionID)
|
||||
public async ValueTask<string> GameLogout(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
await _saveServer.SaveProfileAsync(sessionID);
|
||||
return _httpResponseUtil.GetBody(new GameLogoutResponseData { Status = "ok" });
|
||||
await saveServer.SaveProfileAsync(sessionID);
|
||||
return httpResponseUtil.GetBody(new GameLogoutResponseData { Status = "ok" });
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -68,11 +69,11 @@ public class GameCallbacks(
|
||||
public ValueTask<string> GetGameConfig(
|
||||
string url,
|
||||
GameEmptyCrcRequestData info,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.GetBody(_gameController.GetGameConfig(sessionID))
|
||||
httpResponseUtil.GetBody(gameController.GetGameConfig(sessionID))
|
||||
);
|
||||
}
|
||||
|
||||
@@ -80,19 +81,19 @@ public class GameCallbacks(
|
||||
/// Handle client/putHWMetrics
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> PutHwMetrics(string url, EmptyRequestData info, string sessionID)
|
||||
public ValueTask<string> PutHwMetrics(string url, EmptyRequestData info, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(_httpResponseUtil.GetBody<string>(null!));
|
||||
return new ValueTask<string>(httpResponseUtil.GetBody<string>(null!));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Handle client/game/mode
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GetGameMode(string url, GameModeRequestData info, string sessionID)
|
||||
public ValueTask<string> GetGameMode(string url, GameModeRequestData info, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.GetBody(_gameController.GetGameMode(sessionID, info))
|
||||
httpResponseUtil.GetBody(gameController.GetGameMode(sessionID, info))
|
||||
);
|
||||
}
|
||||
|
||||
@@ -100,21 +101,19 @@ public class GameCallbacks(
|
||||
/// Handle client/server/list
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GetServer(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> GetServer(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.GetBody(_gameController.GetServer(sessionID))
|
||||
);
|
||||
return new ValueTask<string>(httpResponseUtil.GetBody(gameController.GetServer(sessionID)));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Handle client/match/group/current
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GetCurrentGroup(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> GetCurrentGroup(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.GetBody(_gameController.GetCurrentGroup(sessionID))
|
||||
httpResponseUtil.GetBody(gameController.GetCurrentGroup(sessionID))
|
||||
);
|
||||
}
|
||||
|
||||
@@ -122,10 +121,10 @@ public class GameCallbacks(
|
||||
/// Handle client/checkVersion
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> ValidateGameVersion(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> ValidateGameVersion(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.GetBody(_gameController.GetValidGameVersion(sessionID))
|
||||
httpResponseUtil.GetBody(gameController.GetValidGameVersion(sessionID))
|
||||
);
|
||||
}
|
||||
|
||||
@@ -133,10 +132,10 @@ public class GameCallbacks(
|
||||
/// Handle client/game/keepalive
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GameKeepalive(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> GameKeepalive(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.GetBody(_gameController.GetKeepAlive(sessionID))
|
||||
httpResponseUtil.GetBody(gameController.GetKeepAlive(sessionID))
|
||||
);
|
||||
}
|
||||
|
||||
@@ -144,11 +143,11 @@ public class GameCallbacks(
|
||||
/// Handle singleplayer/settings/version
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GetVersion(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> GetVersion(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
// change to be a proper type
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.NoBody(new { Version = _watermark.GetInGameVersionLabel() })
|
||||
httpResponseUtil.NoBody(new { Version = watermark.GetInGameVersionLabel() })
|
||||
);
|
||||
}
|
||||
|
||||
@@ -156,19 +155,19 @@ public class GameCallbacks(
|
||||
/// Handle /client/report/send & /client/reports/lobby/send
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> ReportNickname(string url, UIDRequestData request, string sessionID)
|
||||
public ValueTask<string> ReportNickname(string url, UIDRequestData request, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(_httpResponseUtil.NullResponse());
|
||||
return new ValueTask<string>(httpResponseUtil.NullResponse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Handle singleplayer/settings/getRaidTime
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GetRaidTime(string url, GetRaidTimeRequest request, string sessionID)
|
||||
public ValueTask<string> GetRaidTime(string url, GetRaidTimeRequest request, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.NoBody(_gameController.GetRaidTime(sessionID, request))
|
||||
httpResponseUtil.NoBody(gameController.GetRaidTime(sessionID, request))
|
||||
);
|
||||
}
|
||||
|
||||
@@ -176,11 +175,9 @@ public class GameCallbacks(
|
||||
/// Handle /client/survey
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GetSurvey(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> GetSurvey(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.GetBody(_gameController.GetSurvey(sessionID))
|
||||
);
|
||||
return new ValueTask<string>(httpResponseUtil.GetBody(gameController.GetSurvey(sessionID)));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -190,10 +187,10 @@ public class GameCallbacks(
|
||||
public ValueTask<string> GetSurveyView(
|
||||
string url,
|
||||
SendSurveyOpinionRequest request,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return new ValueTask<string>(_httpResponseUtil.NullResponse());
|
||||
return new ValueTask<string>(httpResponseUtil.NullResponse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -203,9 +200,9 @@ public class GameCallbacks(
|
||||
public ValueTask<string> SendSurveyOpinion(
|
||||
string url,
|
||||
SendSurveyOpinionRequest request,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return new ValueTask<string>(_httpResponseUtil.NullResponse());
|
||||
return new ValueTask<string>(httpResponseUtil.NullResponse());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,11 +5,11 @@ using SPTarkov.Server.Core.DI;
|
||||
namespace SPTarkov.Server.Core.Callbacks;
|
||||
|
||||
[Injectable(TypePriority = OnLoadOrder.HandbookCallbacks)]
|
||||
public class HandbookCallbacks(HandBookController _handBookController) : IOnLoad
|
||||
public class HandbookCallbacks(HandBookController handBookController) : IOnLoad
|
||||
{
|
||||
public Task OnLoad()
|
||||
{
|
||||
_handBookController.Load();
|
||||
handBookController.Load();
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using SPTarkov.DI.Annotations;
|
||||
using SPTarkov.Server.Core.Controllers;
|
||||
using SPTarkov.Server.Core.Helpers;
|
||||
using SPTarkov.Server.Core.Models.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Health;
|
||||
using SPTarkov.Server.Core.Models.Eft.ItemEvent;
|
||||
@@ -10,9 +11,9 @@ namespace SPTarkov.Server.Core.Callbacks;
|
||||
|
||||
[Injectable]
|
||||
public class HealthCallbacks(
|
||||
HttpResponseUtil _httpResponseUtil,
|
||||
ProfileHelper _profileHelper,
|
||||
HealthController _healthController
|
||||
HttpResponseUtil httpResponseUtil,
|
||||
ProfileHelper profileHelper,
|
||||
HealthController healthController
|
||||
)
|
||||
{
|
||||
/// <summary>
|
||||
@@ -22,14 +23,14 @@ public class HealthCallbacks(
|
||||
/// <param name="info">HealthListener.Instance.CurrentHealth class</param>
|
||||
/// <param name="sessionID">session id</param>
|
||||
/// <returns>empty response, no data sent back to client</returns>
|
||||
public ValueTask<string> HandleWorkoutEffects(string url, WorkoutData info, string sessionID)
|
||||
public ValueTask<string> HandleWorkoutEffects(string url, WorkoutData info, MongoId sessionID)
|
||||
{
|
||||
_healthController.ApplyWorkoutChanges(
|
||||
_profileHelper.GetPmcProfile(sessionID),
|
||||
healthController.ApplyWorkoutChanges(
|
||||
profileHelper.GetPmcProfile(sessionID),
|
||||
info,
|
||||
sessionID
|
||||
);
|
||||
return new ValueTask<string>(_httpResponseUtil.EmptyResponse());
|
||||
return new ValueTask<string>(httpResponseUtil.EmptyResponse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -42,10 +43,10 @@ public class HealthCallbacks(
|
||||
public ItemEventRouterResponse OffraidEat(
|
||||
PmcData pmcData,
|
||||
OffraidEatRequestData info,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return _healthController.OffRaidEat(pmcData, info, sessionID);
|
||||
return healthController.OffRaidEat(pmcData, info, sessionID);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -58,10 +59,10 @@ public class HealthCallbacks(
|
||||
public ItemEventRouterResponse OffraidHeal(
|
||||
PmcData pmcData,
|
||||
OffraidHealRequestData info,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return _healthController.OffRaidHeal(pmcData, info, sessionID);
|
||||
return healthController.OffRaidHeal(pmcData, info, sessionID);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -74,9 +75,9 @@ public class HealthCallbacks(
|
||||
public ItemEventRouterResponse HealthTreatment(
|
||||
PmcData pmcData,
|
||||
HealthTreatmentRequestData info,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return _healthController.HealthTreatment(pmcData, info, sessionID);
|
||||
return healthController.HealthTreatment(pmcData, info, sessionID);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using SPTarkov.DI.Annotations;
|
||||
using SPTarkov.Server.Core.Controllers;
|
||||
using SPTarkov.Server.Core.DI;
|
||||
using SPTarkov.Server.Core.Models.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Hideout;
|
||||
using SPTarkov.Server.Core.Models.Eft.ItemEvent;
|
||||
@@ -10,10 +11,10 @@ using SPTarkov.Server.Core.Servers;
|
||||
namespace SPTarkov.Server.Core.Callbacks;
|
||||
|
||||
[Injectable(TypePriority = OnUpdateOrder.HideoutCallbacks)]
|
||||
public class HideoutCallbacks(HideoutController _hideoutController, ConfigServer _configServer)
|
||||
public class HideoutCallbacks(HideoutController hideoutController, ConfigServer configServer)
|
||||
: IOnUpdate
|
||||
{
|
||||
private readonly HideoutConfig _hideoutConfig = _configServer.GetConfig<HideoutConfig>();
|
||||
private readonly HideoutConfig _hideoutConfig = configServer.GetConfig<HideoutConfig>();
|
||||
|
||||
public Task<bool> OnUpdate(long secondsSinceLastRun)
|
||||
{
|
||||
@@ -23,7 +24,7 @@ public class HideoutCallbacks(HideoutController _hideoutController, ConfigServer
|
||||
return Task.FromResult(false);
|
||||
}
|
||||
|
||||
_hideoutController.Update();
|
||||
hideoutController.Update();
|
||||
|
||||
return Task.FromResult(true);
|
||||
}
|
||||
@@ -34,11 +35,11 @@ public class HideoutCallbacks(HideoutController _hideoutController, ConfigServer
|
||||
public ItemEventRouterResponse Upgrade(
|
||||
PmcData pmcData,
|
||||
HideoutUpgradeRequestData request,
|
||||
string sessionID,
|
||||
MongoId sessionID,
|
||||
ItemEventRouterResponse output
|
||||
)
|
||||
{
|
||||
_hideoutController.StartUpgrade(pmcData, request, sessionID, output);
|
||||
hideoutController.StartUpgrade(pmcData, request, sessionID, output);
|
||||
|
||||
return output;
|
||||
}
|
||||
@@ -49,11 +50,11 @@ public class HideoutCallbacks(HideoutController _hideoutController, ConfigServer
|
||||
public ItemEventRouterResponse UpgradeComplete(
|
||||
PmcData pmcData,
|
||||
HideoutUpgradeCompleteRequestData request,
|
||||
string sessionID,
|
||||
MongoId sessionID,
|
||||
ItemEventRouterResponse output
|
||||
)
|
||||
{
|
||||
_hideoutController.UpgradeComplete(pmcData, request, sessionID, output);
|
||||
hideoutController.UpgradeComplete(pmcData, request, sessionID, output);
|
||||
|
||||
return output;
|
||||
}
|
||||
@@ -64,10 +65,10 @@ public class HideoutCallbacks(HideoutController _hideoutController, ConfigServer
|
||||
public ItemEventRouterResponse PutItemsInAreaSlots(
|
||||
PmcData pmcData,
|
||||
HideoutPutItemInRequestData request,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return _hideoutController.PutItemsInAreaSlots(pmcData, request, sessionID);
|
||||
return hideoutController.PutItemsInAreaSlots(pmcData, request, sessionID);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -76,10 +77,10 @@ public class HideoutCallbacks(HideoutController _hideoutController, ConfigServer
|
||||
public ItemEventRouterResponse TakeItemsFromAreaSlots(
|
||||
PmcData pmcData,
|
||||
HideoutTakeItemOutRequestData request,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return _hideoutController.TakeItemsFromAreaSlots(pmcData, request, sessionID);
|
||||
return hideoutController.TakeItemsFromAreaSlots(pmcData, request, sessionID);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -88,10 +89,10 @@ public class HideoutCallbacks(HideoutController _hideoutController, ConfigServer
|
||||
public ItemEventRouterResponse ToggleArea(
|
||||
PmcData pmcData,
|
||||
HideoutToggleAreaRequestData request,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return _hideoutController.ToggleArea(pmcData, request, sessionID);
|
||||
return hideoutController.ToggleArea(pmcData, request, sessionID);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -100,10 +101,10 @@ public class HideoutCallbacks(HideoutController _hideoutController, ConfigServer
|
||||
public ItemEventRouterResponse SingleProductionStart(
|
||||
PmcData pmcData,
|
||||
HideoutSingleProductionStartRequestData request,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return _hideoutController.SingleProductionStart(pmcData, request, sessionID);
|
||||
return hideoutController.SingleProductionStart(pmcData, request, sessionID);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -112,10 +113,10 @@ public class HideoutCallbacks(HideoutController _hideoutController, ConfigServer
|
||||
public ItemEventRouterResponse ScavCaseProductionStart(
|
||||
PmcData pmcData,
|
||||
HideoutScavCaseStartRequestData request,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return _hideoutController.ScavCaseProductionStart(pmcData, request, sessionID);
|
||||
return hideoutController.ScavCaseProductionStart(pmcData, request, sessionID);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -124,10 +125,10 @@ public class HideoutCallbacks(HideoutController _hideoutController, ConfigServer
|
||||
public ItemEventRouterResponse ContinuousProductionStart(
|
||||
PmcData pmcData,
|
||||
HideoutContinuousProductionStartRequestData request,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return _hideoutController.ContinuousProductionStart(pmcData, request, sessionID);
|
||||
return hideoutController.ContinuousProductionStart(pmcData, request, sessionID);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -136,10 +137,10 @@ public class HideoutCallbacks(HideoutController _hideoutController, ConfigServer
|
||||
public ItemEventRouterResponse TakeProduction(
|
||||
PmcData pmcData,
|
||||
HideoutTakeProductionRequestData request,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return _hideoutController.TakeProduction(pmcData, request, sessionID);
|
||||
return hideoutController.TakeProduction(pmcData, request, sessionID);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -148,11 +149,11 @@ public class HideoutCallbacks(HideoutController _hideoutController, ConfigServer
|
||||
public ItemEventRouterResponse HandleQTEEvent(
|
||||
PmcData pmcData,
|
||||
HandleQTEEventRequestData request,
|
||||
string sessionID,
|
||||
MongoId sessionID,
|
||||
ItemEventRouterResponse output
|
||||
)
|
||||
{
|
||||
_hideoutController.HandleQTEEventOutcome(sessionID, pmcData, request, output);
|
||||
hideoutController.HandleQTEEventOutcome(sessionID, pmcData, request, output);
|
||||
|
||||
return output;
|
||||
}
|
||||
@@ -163,11 +164,11 @@ public class HideoutCallbacks(HideoutController _hideoutController, ConfigServer
|
||||
public ItemEventRouterResponse RecordShootingRangePoints(
|
||||
PmcData pmcData,
|
||||
RecordShootingRangePoints request,
|
||||
string sessionID,
|
||||
MongoId sessionID,
|
||||
ItemEventRouterResponse output
|
||||
)
|
||||
{
|
||||
_hideoutController.RecordShootingRangePoints(sessionID, pmcData, request);
|
||||
hideoutController.RecordShootingRangePoints(sessionID, pmcData, request);
|
||||
|
||||
return output;
|
||||
}
|
||||
@@ -178,10 +179,10 @@ public class HideoutCallbacks(HideoutController _hideoutController, ConfigServer
|
||||
public ItemEventRouterResponse ImproveArea(
|
||||
PmcData pmcData,
|
||||
HideoutImproveAreaRequestData request,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return _hideoutController.ImproveArea(sessionID, pmcData, request);
|
||||
return hideoutController.ImproveArea(sessionID, pmcData, request);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -190,10 +191,10 @@ public class HideoutCallbacks(HideoutController _hideoutController, ConfigServer
|
||||
public ItemEventRouterResponse CancelProduction(
|
||||
PmcData pmcData,
|
||||
HideoutCancelProductionRequestData request,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return _hideoutController.CancelProduction(sessionID, pmcData, request);
|
||||
return hideoutController.CancelProduction(sessionID, pmcData, request);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -202,10 +203,10 @@ public class HideoutCallbacks(HideoutController _hideoutController, ConfigServer
|
||||
public ItemEventRouterResponse CicleOfCultistProductionStart(
|
||||
PmcData pmcData,
|
||||
HideoutCircleOfCultistProductionStartRequestData request,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return _hideoutController.CicleOfCultistProductionStart(sessionID, pmcData, request);
|
||||
return hideoutController.CicleOfCultistProductionStart(sessionID, pmcData, request);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -214,10 +215,10 @@ public class HideoutCallbacks(HideoutController _hideoutController, ConfigServer
|
||||
public ItemEventRouterResponse HideoutDeleteProductionCommand(
|
||||
PmcData pmcData,
|
||||
HideoutDeleteProductionRequestData request,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return _hideoutController.HideoutDeleteProductionCommand(sessionID, pmcData, request);
|
||||
return hideoutController.HideoutDeleteProductionCommand(sessionID, pmcData, request);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -226,10 +227,10 @@ public class HideoutCallbacks(HideoutController _hideoutController, ConfigServer
|
||||
public ItemEventRouterResponse HideoutCustomizationApplyCommand(
|
||||
PmcData pmcData,
|
||||
HideoutCustomizationApplyRequestData request,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return _hideoutController.HideoutCustomizationApply(sessionID, pmcData, request);
|
||||
return hideoutController.HideoutCustomizationApply(sessionID, pmcData, request);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -239,9 +240,9 @@ public class HideoutCallbacks(HideoutController _hideoutController, ConfigServer
|
||||
public ItemEventRouterResponse HideoutCustomizationSetMannequinPose(
|
||||
PmcData pmcData,
|
||||
HideoutCustomizationSetMannequinPoseRequest request,
|
||||
string sessionId
|
||||
MongoId sessionId
|
||||
)
|
||||
{
|
||||
return _hideoutController.HideoutCustomizationSetMannequinPose(sessionId, pmcData, request);
|
||||
return hideoutController.HideoutCustomizationSetMannequinPose(sessionId, pmcData, request);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,11 +5,11 @@ using SPTarkov.Server.Core.Servers;
|
||||
namespace SPTarkov.Server.Core.Callbacks;
|
||||
|
||||
[Injectable(InjectionType.Singleton, TypePriority = OnLoadOrder.HttpCallbacks)]
|
||||
public class HttpCallbacks(HttpServer _httpServer) : IOnLoad
|
||||
public class HttpCallbacks(HttpServer httpServer) : IOnLoad
|
||||
{
|
||||
public Task OnLoad()
|
||||
{
|
||||
_httpServer.Load();
|
||||
httpServer.Load();
|
||||
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using SPTarkov.DI.Annotations;
|
||||
using SPTarkov.Server.Core.Controllers;
|
||||
using SPTarkov.Server.Core.Models.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.InRaid;
|
||||
using SPTarkov.Server.Core.Utils;
|
||||
@@ -7,7 +8,7 @@ using SPTarkov.Server.Core.Utils;
|
||||
namespace SPTarkov.Server.Core.Callbacks;
|
||||
|
||||
[Injectable]
|
||||
public class InraidCallbacks(InRaidController _inRaidController, HttpResponseUtil _httpResponseUtil)
|
||||
public class InraidCallbacks(InRaidController inRaidController, HttpResponseUtil httpResponseUtil)
|
||||
{
|
||||
/// <summary>
|
||||
/// Handle client/location/getLocalloot
|
||||
@@ -20,11 +21,11 @@ public class InraidCallbacks(InRaidController _inRaidController, HttpResponseUti
|
||||
public ValueTask<string> RegisterPlayer(
|
||||
string url,
|
||||
RegisterPlayerRequestData info,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
_inRaidController.AddPlayer(sessionID, info);
|
||||
return new ValueTask<string>(_httpResponseUtil.NullResponse());
|
||||
inRaidController.AddPlayer(sessionID, info);
|
||||
return new ValueTask<string>(httpResponseUtil.NullResponse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -34,10 +35,10 @@ public class InraidCallbacks(InRaidController _inRaidController, HttpResponseUti
|
||||
/// <param name="info">Save progress request</param>
|
||||
/// <param name="sessionID">Session id</param>
|
||||
/// <returns>Null http response</returns>
|
||||
public ValueTask<string> SaveProgress(string url, ScavSaveRequestData info, string sessionID)
|
||||
public ValueTask<string> SaveProgress(string url, ScavSaveRequestData info, MongoId sessionID)
|
||||
{
|
||||
_inRaidController.SavePostRaidProfileForScav(info, sessionID);
|
||||
return new ValueTask<string>(_httpResponseUtil.NullResponse());
|
||||
inRaidController.SavePostRaidProfileForScav(info, sessionID);
|
||||
return new ValueTask<string>(httpResponseUtil.NullResponse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -47,7 +48,7 @@ public class InraidCallbacks(InRaidController _inRaidController, HttpResponseUti
|
||||
public ValueTask<string> GetRaidMenuSettings()
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.NoBody(_inRaidController.GetInRaidConfig().RaidMenuSettings)
|
||||
httpResponseUtil.NoBody(inRaidController.GetInRaidConfig().RaidMenuSettings)
|
||||
);
|
||||
}
|
||||
|
||||
@@ -58,11 +59,11 @@ public class InraidCallbacks(InRaidController _inRaidController, HttpResponseUti
|
||||
public ValueTask<string> GetTraitorScavHostileChance(
|
||||
string url,
|
||||
EmptyRequestData _,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.NoBody(_inRaidController.GetTraitorScavHostileChance(url, sessionID))
|
||||
httpResponseUtil.NoBody(inRaidController.GetTraitorScavHostileChance(url, sessionID))
|
||||
);
|
||||
}
|
||||
|
||||
@@ -70,10 +71,10 @@ public class InraidCallbacks(InRaidController _inRaidController, HttpResponseUti
|
||||
/// Handle singleplayer/bosstypes
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GetBossTypes(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> GetBossTypes(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.NoBody(_inRaidController.GetBossTypes(url, sessionID))
|
||||
httpResponseUtil.NoBody(inRaidController.GetBossTypes(url, sessionID))
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using SPTarkov.DI.Annotations;
|
||||
using SPTarkov.Server.Core.Controllers;
|
||||
using SPTarkov.Server.Core.DI;
|
||||
using SPTarkov.Server.Core.Models.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Insurance;
|
||||
using SPTarkov.Server.Core.Models.Eft.ItemEvent;
|
||||
@@ -12,12 +13,12 @@ namespace SPTarkov.Server.Core.Callbacks;
|
||||
|
||||
[Injectable(TypePriority = OnUpdateOrder.InsuranceCallbacks)]
|
||||
public class InsuranceCallbacks(
|
||||
InsuranceController _insuranceController,
|
||||
HttpResponseUtil _httpResponseUtil,
|
||||
ConfigServer _configServer
|
||||
InsuranceController insuranceController,
|
||||
HttpResponseUtil httpResponseUtil,
|
||||
ConfigServer configServer
|
||||
) : IOnUpdate
|
||||
{
|
||||
private readonly InsuranceConfig _insuranceConfig = _configServer.GetConfig<InsuranceConfig>();
|
||||
private readonly InsuranceConfig _insuranceConfig = configServer.GetConfig<InsuranceConfig>();
|
||||
|
||||
public Task<bool> OnUpdate(long secondsSinceLastRun)
|
||||
{
|
||||
@@ -26,7 +27,7 @@ public class InsuranceCallbacks(
|
||||
return Task.FromResult(false);
|
||||
}
|
||||
|
||||
_insuranceController.ProcessReturn();
|
||||
insuranceController.ProcessReturn();
|
||||
|
||||
return Task.FromResult(true);
|
||||
}
|
||||
@@ -41,11 +42,11 @@ public class InsuranceCallbacks(
|
||||
public ValueTask<string> GetInsuranceCost(
|
||||
string url,
|
||||
GetInsuranceCostRequestData info,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.GetBody(_insuranceController.Cost(info, sessionID))
|
||||
httpResponseUtil.GetBody(insuranceController.Cost(info, sessionID))
|
||||
);
|
||||
}
|
||||
|
||||
@@ -56,8 +57,12 @@ public class InsuranceCallbacks(
|
||||
/// <param name="info"></param>
|
||||
/// <param name="sessionID">Session/player id</param>
|
||||
/// <returns></returns>
|
||||
public ItemEventRouterResponse Insure(PmcData pmcData, InsureRequestData info, string sessionID)
|
||||
public ItemEventRouterResponse Insure(
|
||||
PmcData pmcData,
|
||||
InsureRequestData info,
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return _insuranceController.Insure(pmcData, info, sessionID);
|
||||
return insuranceController.Insure(pmcData, info, sessionID);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using SPTarkov.DI.Annotations;
|
||||
using SPTarkov.Server.Core.Controllers;
|
||||
using SPTarkov.Server.Core.Models.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Inventory;
|
||||
using SPTarkov.Server.Core.Models.Eft.ItemEvent;
|
||||
@@ -9,8 +10,8 @@ namespace SPTarkov.Server.Core.Callbacks;
|
||||
|
||||
[Injectable]
|
||||
public class InventoryCallbacks(
|
||||
InventoryController _inventoryController,
|
||||
QuestController _questController
|
||||
InventoryController inventoryController,
|
||||
QuestController questController
|
||||
)
|
||||
{
|
||||
/// <summary>
|
||||
@@ -24,11 +25,11 @@ public class InventoryCallbacks(
|
||||
public ItemEventRouterResponse MoveItem(
|
||||
PmcData pmcData,
|
||||
InventoryMoveRequestData info,
|
||||
string sessionID,
|
||||
MongoId sessionID,
|
||||
ItemEventRouterResponse output
|
||||
)
|
||||
{
|
||||
_inventoryController.MoveItem(pmcData, info, sessionID, output);
|
||||
inventoryController.MoveItem(pmcData, info, sessionID, output);
|
||||
return output;
|
||||
}
|
||||
|
||||
@@ -43,11 +44,11 @@ public class InventoryCallbacks(
|
||||
public ItemEventRouterResponse RemoveItem(
|
||||
PmcData pmcData,
|
||||
InventoryRemoveRequestData info,
|
||||
string sessionID,
|
||||
MongoId sessionID,
|
||||
ItemEventRouterResponse output
|
||||
)
|
||||
{
|
||||
_inventoryController.DiscardItem(pmcData, info, sessionID, output);
|
||||
inventoryController.DiscardItem(pmcData, info, sessionID, output);
|
||||
return output;
|
||||
}
|
||||
|
||||
@@ -62,11 +63,11 @@ public class InventoryCallbacks(
|
||||
public ItemEventRouterResponse SplitItem(
|
||||
PmcData pmcData,
|
||||
InventorySplitRequestData info,
|
||||
string sessionID,
|
||||
MongoId sessionID,
|
||||
ItemEventRouterResponse output
|
||||
)
|
||||
{
|
||||
_inventoryController.SplitItem(pmcData, info, sessionID, output);
|
||||
inventoryController.SplitItem(pmcData, info, sessionID, output);
|
||||
return output;
|
||||
}
|
||||
|
||||
@@ -80,11 +81,11 @@ public class InventoryCallbacks(
|
||||
public ItemEventRouterResponse MergeItem(
|
||||
PmcData pmcData,
|
||||
InventoryMergeRequestData info,
|
||||
string sessionID,
|
||||
MongoId sessionID,
|
||||
ItemEventRouterResponse output
|
||||
)
|
||||
{
|
||||
_inventoryController.MergeItem(pmcData, info, sessionID, output);
|
||||
inventoryController.MergeItem(pmcData, info, sessionID, output);
|
||||
return output;
|
||||
}
|
||||
|
||||
@@ -98,11 +99,11 @@ public class InventoryCallbacks(
|
||||
public ItemEventRouterResponse TransferItem(
|
||||
PmcData pmcData,
|
||||
InventoryTransferRequestData info,
|
||||
string sessionID,
|
||||
MongoId sessionID,
|
||||
ItemEventRouterResponse output
|
||||
)
|
||||
{
|
||||
_inventoryController.TransferItem(pmcData, info, sessionID, output);
|
||||
inventoryController.TransferItem(pmcData, info, sessionID, output);
|
||||
return output;
|
||||
}
|
||||
|
||||
@@ -116,10 +117,10 @@ public class InventoryCallbacks(
|
||||
public ItemEventRouterResponse SwapItem(
|
||||
PmcData pmcData,
|
||||
InventorySwapRequestData info,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return _inventoryController.SwapItem(pmcData, info, sessionID);
|
||||
return inventoryController.SwapItem(pmcData, info, sessionID);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -131,10 +132,10 @@ public class InventoryCallbacks(
|
||||
public ItemEventRouterResponse FoldItem(
|
||||
PmcData pmcData,
|
||||
InventoryFoldRequestData info,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return _inventoryController.FoldItem(pmcData, info, sessionID);
|
||||
return inventoryController.FoldItem(pmcData, info, sessionID);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -146,10 +147,10 @@ public class InventoryCallbacks(
|
||||
public ItemEventRouterResponse ToggleItem(
|
||||
PmcData pmcData,
|
||||
InventoryToggleRequestData info,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return _inventoryController.ToggleItem(pmcData, info, sessionID);
|
||||
return inventoryController.ToggleItem(pmcData, info, sessionID);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -161,10 +162,10 @@ public class InventoryCallbacks(
|
||||
public ItemEventRouterResponse TagItem(
|
||||
PmcData pmcData,
|
||||
InventoryTagRequestData request,
|
||||
string sessionId
|
||||
MongoId sessionId
|
||||
)
|
||||
{
|
||||
return _inventoryController.TagItem(pmcData, request, sessionId);
|
||||
return inventoryController.TagItem(pmcData, request, sessionId);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -177,11 +178,11 @@ public class InventoryCallbacks(
|
||||
public ItemEventRouterResponse BindItem(
|
||||
PmcData pmcData,
|
||||
InventoryBindRequestData info,
|
||||
string sessionID,
|
||||
MongoId sessionID,
|
||||
ItemEventRouterResponse output
|
||||
)
|
||||
{
|
||||
_inventoryController.BindItem(pmcData, info, sessionID, output);
|
||||
inventoryController.BindItem(pmcData, info, sessionID, output);
|
||||
return output;
|
||||
}
|
||||
|
||||
@@ -195,11 +196,11 @@ public class InventoryCallbacks(
|
||||
public ItemEventRouterResponse UnBindItem(
|
||||
PmcData pmcData,
|
||||
InventoryBindRequestData info,
|
||||
string sessionID,
|
||||
MongoId sessionID,
|
||||
ItemEventRouterResponse output
|
||||
)
|
||||
{
|
||||
_inventoryController.UnBindItem(pmcData, info, sessionID, output);
|
||||
inventoryController.UnBindItem(pmcData, info, sessionID, output);
|
||||
return output;
|
||||
}
|
||||
|
||||
@@ -213,11 +214,11 @@ public class InventoryCallbacks(
|
||||
public ItemEventRouterResponse ExamineItem(
|
||||
PmcData pmcData,
|
||||
InventoryExamineRequestData info,
|
||||
string sessionID,
|
||||
MongoId sessionID,
|
||||
ItemEventRouterResponse output
|
||||
)
|
||||
{
|
||||
_inventoryController.ExamineItem(pmcData, info, sessionID, output);
|
||||
inventoryController.ExamineItem(pmcData, info, sessionID, output);
|
||||
return output;
|
||||
}
|
||||
|
||||
@@ -231,10 +232,10 @@ public class InventoryCallbacks(
|
||||
public ItemEventRouterResponse ReadEncyclopedia(
|
||||
PmcData pmcData,
|
||||
InventoryReadEncyclopediaRequestData info,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return _inventoryController.ReadEncyclopedia(pmcData, info, sessionID);
|
||||
return inventoryController.ReadEncyclopedia(pmcData, info, sessionID);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -248,11 +249,11 @@ public class InventoryCallbacks(
|
||||
public ItemEventRouterResponse SortInventory(
|
||||
PmcData pmcData,
|
||||
InventorySortRequestData info,
|
||||
string sessionID,
|
||||
MongoId sessionID,
|
||||
ItemEventRouterResponse output
|
||||
)
|
||||
{
|
||||
_inventoryController.SortInventory(pmcData, info, sessionID, output);
|
||||
inventoryController.SortInventory(pmcData, info, sessionID, output);
|
||||
return output;
|
||||
}
|
||||
|
||||
@@ -266,11 +267,11 @@ public class InventoryCallbacks(
|
||||
public ItemEventRouterResponse CreateMapMarker(
|
||||
PmcData pmcData,
|
||||
InventoryCreateMarkerRequestData info,
|
||||
string sessionID,
|
||||
MongoId sessionID,
|
||||
ItemEventRouterResponse output
|
||||
)
|
||||
{
|
||||
_inventoryController.CreateMapMarker(pmcData, info, sessionID, output);
|
||||
inventoryController.CreateMapMarker(pmcData, info, sessionID, output);
|
||||
return output;
|
||||
}
|
||||
|
||||
@@ -284,11 +285,11 @@ public class InventoryCallbacks(
|
||||
public ItemEventRouterResponse DeleteMapMarker(
|
||||
PmcData pmcData,
|
||||
InventoryDeleteMarkerRequestData info,
|
||||
string sessionID,
|
||||
MongoId sessionID,
|
||||
ItemEventRouterResponse output
|
||||
)
|
||||
{
|
||||
_inventoryController.DeleteMapMarker(pmcData, info, sessionID, output);
|
||||
inventoryController.DeleteMapMarker(pmcData, info, sessionID, output);
|
||||
return output;
|
||||
}
|
||||
|
||||
@@ -302,11 +303,11 @@ public class InventoryCallbacks(
|
||||
public ItemEventRouterResponse EditMapMarker(
|
||||
PmcData pmcData,
|
||||
InventoryEditMarkerRequestData info,
|
||||
string sessionID,
|
||||
MongoId sessionID,
|
||||
ItemEventRouterResponse output
|
||||
)
|
||||
{
|
||||
_inventoryController.EditMapMarker(pmcData, info, sessionID, output);
|
||||
inventoryController.EditMapMarker(pmcData, info, sessionID, output);
|
||||
return output;
|
||||
}
|
||||
|
||||
@@ -321,11 +322,11 @@ public class InventoryCallbacks(
|
||||
public ItemEventRouterResponse OpenRandomLootContainer(
|
||||
PmcData pmcData,
|
||||
OpenRandomLootContainerRequestData info,
|
||||
string sessionID,
|
||||
MongoId sessionID,
|
||||
ItemEventRouterResponse output
|
||||
)
|
||||
{
|
||||
_inventoryController.OpenRandomLootContainer(pmcData, info, sessionID, output);
|
||||
inventoryController.OpenRandomLootContainer(pmcData, info, sessionID, output);
|
||||
return output;
|
||||
}
|
||||
|
||||
@@ -339,11 +340,11 @@ public class InventoryCallbacks(
|
||||
public ItemEventRouterResponse RedeemProfileReward(
|
||||
PmcData pmcData,
|
||||
RedeemProfileRequestData info,
|
||||
string sessionID,
|
||||
MongoId sessionID,
|
||||
ItemEventRouterResponse output
|
||||
)
|
||||
{
|
||||
_inventoryController.RedeemProfileReward(pmcData, info, sessionID);
|
||||
inventoryController.RedeemProfileReward(pmcData, info, sessionID);
|
||||
return output;
|
||||
}
|
||||
|
||||
@@ -358,11 +359,11 @@ public class InventoryCallbacks(
|
||||
public ItemEventRouterResponse SetFavoriteItem(
|
||||
PmcData pmcData,
|
||||
SetFavoriteItems info,
|
||||
string sessionID,
|
||||
MongoId sessionID,
|
||||
ItemEventRouterResponse output
|
||||
)
|
||||
{
|
||||
_inventoryController.SetFavoriteItem(pmcData, info, sessionID);
|
||||
inventoryController.SetFavoriteItem(pmcData, info, sessionID);
|
||||
return output;
|
||||
}
|
||||
|
||||
@@ -378,11 +379,11 @@ public class InventoryCallbacks(
|
||||
public ItemEventRouterResponse FailQuest(
|
||||
PmcData pmcData,
|
||||
FailQuestRequestData info,
|
||||
string sessionID,
|
||||
MongoId sessionID,
|
||||
ItemEventRouterResponse output
|
||||
)
|
||||
{
|
||||
_questController.FailQuest(pmcData, info, sessionID, output);
|
||||
questController.FailQuest(pmcData, info, sessionID, output);
|
||||
return output;
|
||||
}
|
||||
|
||||
@@ -396,11 +397,11 @@ public class InventoryCallbacks(
|
||||
public ItemEventRouterResponse PinOrLock(
|
||||
PmcData pmcData,
|
||||
PinOrLockItemRequest info,
|
||||
string sessionID,
|
||||
MongoId sessionID,
|
||||
ItemEventRouterResponse output
|
||||
)
|
||||
{
|
||||
_inventoryController.PinOrLock(pmcData, info, sessionID, output);
|
||||
inventoryController.PinOrLock(pmcData, info, sessionID, output);
|
||||
return output;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using SPTarkov.DI.Annotations;
|
||||
using SPTarkov.Server.Core.Models.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.ItemEvent;
|
||||
using SPTarkov.Server.Core.Models.Enums;
|
||||
using SPTarkov.Server.Core.Routers;
|
||||
@@ -7,25 +8,22 @@ using SPTarkov.Server.Core.Utils;
|
||||
namespace SPTarkov.Server.Core.Callbacks;
|
||||
|
||||
[Injectable]
|
||||
public class ItemEventCallbacks(
|
||||
HttpResponseUtil _httpResponseUtil,
|
||||
ItemEventRouter _itemEventRouter
|
||||
)
|
||||
public class ItemEventCallbacks(HttpResponseUtil httpResponseUtil, ItemEventRouter itemEventRouter)
|
||||
{
|
||||
public async ValueTask<string> HandleEvents(
|
||||
string url,
|
||||
ItemEventRouterRequest info,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
var eventResponse = await _itemEventRouter.HandleEvents(info, sessionID);
|
||||
var eventResponse = await itemEventRouter.HandleEvents(info, sessionID);
|
||||
var result = IsCriticalError(eventResponse.Warnings)
|
||||
? _httpResponseUtil.GetBody(
|
||||
? httpResponseUtil.GetBody(
|
||||
eventResponse,
|
||||
GetErrorCode(eventResponse.Warnings),
|
||||
eventResponse.Warnings[0].ErrorMessage
|
||||
)
|
||||
: _httpResponseUtil.GetBody(eventResponse);
|
||||
: httpResponseUtil.GetBody(eventResponse);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using SPTarkov.DI.Annotations;
|
||||
using SPTarkov.Server.Core.Controllers;
|
||||
using SPTarkov.Server.Core.Models.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Launcher;
|
||||
using SPTarkov.Server.Core.Servers;
|
||||
@@ -9,92 +10,90 @@ namespace SPTarkov.Server.Core.Callbacks;
|
||||
|
||||
[Injectable]
|
||||
public class LauncherCallbacks(
|
||||
HttpResponseUtil _httpResponseUtil,
|
||||
LauncherController _launcherController,
|
||||
SaveServer _saveServer,
|
||||
Watermark _watermark
|
||||
HttpResponseUtil httpResponseUtil,
|
||||
LauncherController launcherController,
|
||||
SaveServer saveServer,
|
||||
Watermark watermark
|
||||
)
|
||||
{
|
||||
public ValueTask<string> Connect()
|
||||
{
|
||||
return new ValueTask<string>(_httpResponseUtil.NoBody(_launcherController.Connect()));
|
||||
return new ValueTask<string>(httpResponseUtil.NoBody(launcherController.Connect()));
|
||||
}
|
||||
|
||||
public ValueTask<string> Login(string url, LoginRequestData info, string sessionID)
|
||||
public ValueTask<string> Login(string url, LoginRequestData info, MongoId sessionID)
|
||||
{
|
||||
var output = _launcherController.Login(info);
|
||||
var output = launcherController.Login(info);
|
||||
return new ValueTask<string>(output ?? "FAILED");
|
||||
}
|
||||
|
||||
public async ValueTask<string> Register(string url, RegisterData info, string sessionID)
|
||||
public async ValueTask<string> Register(string url, RegisterData info, MongoId sessionID)
|
||||
{
|
||||
var output = await _launcherController.Register(info);
|
||||
var output = await launcherController.Register(info);
|
||||
return string.IsNullOrEmpty(output) ? "FAILED" : "OK";
|
||||
}
|
||||
|
||||
public ValueTask<string> Get(string url, LoginRequestData info, string sessionID)
|
||||
public ValueTask<string> Get(string url, LoginRequestData info, MongoId sessionID)
|
||||
{
|
||||
var output = _launcherController.Find(_launcherController.Login(info));
|
||||
return new ValueTask<string>(_httpResponseUtil.NoBody(output));
|
||||
var output = launcherController.Find(launcherController.Login(info));
|
||||
return new ValueTask<string>(httpResponseUtil.NoBody(output));
|
||||
}
|
||||
|
||||
public ValueTask<string> ChangeUsername(string url, ChangeRequestData info, string sessionID)
|
||||
public ValueTask<string> ChangeUsername(string url, ChangeRequestData info, MongoId sessionID)
|
||||
{
|
||||
var output = _launcherController.ChangeUsername(info);
|
||||
var output = launcherController.ChangeUsername(info);
|
||||
return new ValueTask<string>(string.IsNullOrEmpty(output) ? "FAILED" : "OK");
|
||||
}
|
||||
|
||||
public ValueTask<string> ChangePassword(string url, ChangeRequestData info, string sessionID)
|
||||
public ValueTask<string> ChangePassword(string url, ChangeRequestData info, MongoId sessionID)
|
||||
{
|
||||
var output = _launcherController.ChangePassword(info);
|
||||
var output = launcherController.ChangePassword(info);
|
||||
return new ValueTask<string>(string.IsNullOrEmpty(output) ? "FAILED" : "OK");
|
||||
}
|
||||
|
||||
public ValueTask<string> Wipe(string url, RegisterData info, string sessionID)
|
||||
public ValueTask<string> Wipe(string url, RegisterData info, MongoId sessionID)
|
||||
{
|
||||
var output = _launcherController.Wipe(info);
|
||||
var output = launcherController.Wipe(info);
|
||||
return new ValueTask<string>(string.IsNullOrEmpty(output) ? "FAILED" : "OK");
|
||||
}
|
||||
|
||||
public ValueTask<string> GetServerVersion()
|
||||
{
|
||||
return new ValueTask<string>(_httpResponseUtil.NoBody(_watermark.GetVersionTag()));
|
||||
return new ValueTask<string>(httpResponseUtil.NoBody(watermark.GetVersionTag()));
|
||||
}
|
||||
|
||||
public ValueTask<string> Ping(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> Ping(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(_httpResponseUtil.NoBody("pong!"));
|
||||
return new ValueTask<string>(httpResponseUtil.NoBody("pong!"));
|
||||
}
|
||||
|
||||
public ValueTask<string> RemoveProfile(string url, RemoveProfileData info, string sessionID)
|
||||
public ValueTask<string> RemoveProfile(string url, RemoveProfileData info, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.NoBody(_saveServer.RemoveProfile(sessionID))
|
||||
);
|
||||
return new ValueTask<string>(httpResponseUtil.NoBody(saveServer.RemoveProfile(sessionID)));
|
||||
}
|
||||
|
||||
public ValueTask<string> GetCompatibleTarkovVersion()
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.NoBody(_launcherController.GetCompatibleTarkovVersion())
|
||||
httpResponseUtil.NoBody(launcherController.GetCompatibleTarkovVersion())
|
||||
);
|
||||
}
|
||||
|
||||
public ValueTask<string> GetLoadedServerMods()
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.NoBody(_launcherController.GetLoadedServerMods())
|
||||
httpResponseUtil.NoBody(launcherController.GetLoadedServerMods())
|
||||
);
|
||||
}
|
||||
|
||||
public ValueTask<string> GetServerModsProfileUsed(
|
||||
string url,
|
||||
EmptyRequestData _,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.NoBody(_launcherController.GetServerModsProfileUsed(sessionID))
|
||||
httpResponseUtil.NoBody(launcherController.GetServerModsProfileUsed(sessionID))
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using SPTarkov.DI.Annotations;
|
||||
using SPTarkov.Server.Core.Controllers;
|
||||
using SPTarkov.Server.Core.Models.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Launcher;
|
||||
using SPTarkov.Server.Core.Models.Spt.Launcher;
|
||||
using SPTarkov.Server.Core.Utils;
|
||||
@@ -8,16 +9,16 @@ namespace SPTarkov.Server.Core.Callbacks;
|
||||
|
||||
[Injectable]
|
||||
public class LauncherV2Callbacks(
|
||||
HttpResponseUtil _httpResponseUtil,
|
||||
LauncherV2Controller _launcherV2Controller,
|
||||
ProfileController _profileController
|
||||
HttpResponseUtil httpResponseUtil,
|
||||
LauncherV2Controller launcherV2Controller,
|
||||
ProfileController profileController
|
||||
)
|
||||
{
|
||||
public ValueTask<string> Ping()
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.NoBody(
|
||||
new LauncherV2PingResponse { Response = _launcherV2Controller.Ping() }
|
||||
httpResponseUtil.NoBody(
|
||||
new LauncherV2PingResponse { Response = launcherV2Controller.Ping() }
|
||||
)
|
||||
);
|
||||
}
|
||||
@@ -25,8 +26,8 @@ public class LauncherV2Callbacks(
|
||||
public ValueTask<string> Types()
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.NoBody(
|
||||
new LauncherV2TypesResponse { Response = _launcherV2Controller.Types() }
|
||||
httpResponseUtil.NoBody(
|
||||
new LauncherV2TypesResponse { Response = launcherV2Controller.Types() }
|
||||
)
|
||||
);
|
||||
}
|
||||
@@ -34,30 +35,30 @@ public class LauncherV2Callbacks(
|
||||
public ValueTask<string> Login(LoginRequestData info)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.NoBody(
|
||||
new LauncherV2LoginResponse { Response = _launcherV2Controller.Login(info) }
|
||||
httpResponseUtil.NoBody(
|
||||
new LauncherV2LoginResponse { Response = launcherV2Controller.Login(info) }
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
public async ValueTask<string> Register(RegisterData info)
|
||||
{
|
||||
return _httpResponseUtil.NoBody(
|
||||
return httpResponseUtil.NoBody(
|
||||
new LauncherV2RegisterResponse
|
||||
{
|
||||
Response = await _launcherV2Controller.Register(info),
|
||||
Profiles = _profileController.GetMiniProfiles(),
|
||||
Response = await launcherV2Controller.Register(info),
|
||||
Profiles = profileController.GetMiniProfiles(),
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
public async ValueTask<string> PasswordChange(ChangeRequestData info)
|
||||
{
|
||||
return _httpResponseUtil.NoBody(
|
||||
return httpResponseUtil.NoBody(
|
||||
new LauncherV2PasswordChangeResponse
|
||||
{
|
||||
Response = await _launcherV2Controller.PasswordChange(info),
|
||||
Profiles = _profileController.GetMiniProfiles(),
|
||||
Response = await launcherV2Controller.PasswordChange(info),
|
||||
Profiles = profileController.GetMiniProfiles(),
|
||||
}
|
||||
);
|
||||
}
|
||||
@@ -65,11 +66,11 @@ public class LauncherV2Callbacks(
|
||||
public ValueTask<string> Remove(LoginRequestData info)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.NoBody(
|
||||
httpResponseUtil.NoBody(
|
||||
new LauncherV2RemoveResponse
|
||||
{
|
||||
Response = _launcherV2Controller.Remove(info),
|
||||
Profiles = _profileController.GetMiniProfiles(),
|
||||
Response = launcherV2Controller.Remove(info),
|
||||
Profiles = profileController.GetMiniProfiles(),
|
||||
}
|
||||
)
|
||||
);
|
||||
@@ -78,13 +79,13 @@ public class LauncherV2Callbacks(
|
||||
public ValueTask<string> CompatibleVersion()
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.NoBody(
|
||||
httpResponseUtil.NoBody(
|
||||
new LauncherV2VersionResponse
|
||||
{
|
||||
Response = new LauncherV2CompatibleVersion
|
||||
{
|
||||
SptVersion = _launcherV2Controller.SptVersion(),
|
||||
EftVersion = _launcherV2Controller.EftVersion(),
|
||||
SptVersion = launcherV2Controller.SptVersion(),
|
||||
EftVersion = launcherV2Controller.EftVersion(),
|
||||
},
|
||||
}
|
||||
)
|
||||
@@ -94,8 +95,8 @@ public class LauncherV2Callbacks(
|
||||
public ValueTask<string> Mods()
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.NoBody(
|
||||
new LauncherV2ModsResponse { Response = _launcherV2Controller.LoadedMods() }
|
||||
httpResponseUtil.NoBody(
|
||||
new LauncherV2ModsResponse { Response = launcherV2Controller.LoadedMods() }
|
||||
)
|
||||
);
|
||||
}
|
||||
@@ -103,19 +104,19 @@ public class LauncherV2Callbacks(
|
||||
public ValueTask<string> Profiles()
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.NoBody(
|
||||
new LauncherV2ProfilesResponse { Response = _profileController.GetMiniProfiles() }
|
||||
httpResponseUtil.NoBody(
|
||||
new LauncherV2ProfilesResponse { Response = profileController.GetMiniProfiles() }
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
public ValueTask<string> Profile(string? sessionId)
|
||||
public ValueTask<string> Profile(MongoId? sessionId)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.NoBody(
|
||||
httpResponseUtil.NoBody(
|
||||
new LauncherV2ProfileResponse
|
||||
{
|
||||
Response = _launcherV2Controller.GetProfile(sessionId),
|
||||
Response = launcherV2Controller.GetProfile(sessionId),
|
||||
}
|
||||
)
|
||||
);
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using SPTarkov.DI.Annotations;
|
||||
using SPTarkov.Server.Core.Controllers;
|
||||
using SPTarkov.Server.Core.Models.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Location;
|
||||
using SPTarkov.Server.Core.Utils;
|
||||
@@ -8,18 +9,18 @@ namespace SPTarkov.Server.Core.Callbacks;
|
||||
|
||||
[Injectable]
|
||||
public class LocationCallbacks(
|
||||
HttpResponseUtil _httpResponseUtil,
|
||||
LocationController _locationController
|
||||
HttpResponseUtil httpResponseUtil,
|
||||
LocationController locationController
|
||||
)
|
||||
{
|
||||
/// <summary>
|
||||
/// Handle client/locations
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GetLocationData(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> GetLocationData(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.GetBody(_locationController.GenerateAll(sessionID))
|
||||
httpResponseUtil.GetBody(locationController.GenerateAll(sessionID))
|
||||
);
|
||||
}
|
||||
|
||||
@@ -30,11 +31,11 @@ public class LocationCallbacks(
|
||||
public ValueTask<string> GetAirdropLoot(
|
||||
string url,
|
||||
GetAirdropLootRequest info,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.GetBody(_locationController.GetAirDropLoot(info))
|
||||
httpResponseUtil.GetBody(locationController.GetAirDropLoot(info))
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using SPTarkov.DI.Annotations;
|
||||
using SPTarkov.Server.Core.Controllers;
|
||||
using SPTarkov.Server.Core.Models.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Match;
|
||||
using SPTarkov.Server.Core.Services;
|
||||
@@ -10,9 +11,9 @@ namespace SPTarkov.Server.Core.Callbacks;
|
||||
|
||||
[Injectable]
|
||||
public class MatchCallbacks(
|
||||
HttpResponseUtil _httpResponseUtil,
|
||||
MatchController _matchController,
|
||||
DatabaseService _databaseService
|
||||
HttpResponseUtil httpResponseUtil,
|
||||
MatchController matchController,
|
||||
DatabaseService databaseService
|
||||
)
|
||||
{
|
||||
/// <summary>
|
||||
@@ -22,9 +23,9 @@ public class MatchCallbacks(
|
||||
/// <param name="info"></param>
|
||||
/// <param name="sessionID">Session/player id</param>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> UpdatePing(string url, UpdatePingRequestData info, string sessionID)
|
||||
public ValueTask<string> UpdatePing(string url, UpdatePingRequestData info, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(_httpResponseUtil.NullResponse());
|
||||
return new ValueTask<string>(httpResponseUtil.NullResponse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -34,28 +35,28 @@ public class MatchCallbacks(
|
||||
/// <param name="info"></param>
|
||||
/// <param name="sessionID">Session/player id</param>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> ExitMatch(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> ExitMatch(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(_httpResponseUtil.NullResponse());
|
||||
return new ValueTask<string>(httpResponseUtil.NullResponse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Handle client/match/group/exit_from_menu
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> ExitFromMenu(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> ExitFromMenu(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(_httpResponseUtil.NullResponse());
|
||||
return new ValueTask<string>(httpResponseUtil.NullResponse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Handle client/match/group/current
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GroupCurrent(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> GroupCurrent(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.GetBody(new MatchGroupCurrentResponse { Squad = [] })
|
||||
httpResponseUtil.GetBody(new MatchGroupCurrentResponse { Squad = [] })
|
||||
);
|
||||
}
|
||||
|
||||
@@ -63,18 +64,18 @@ public class MatchCallbacks(
|
||||
/// Handle client/match/group/looking/start
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> StartGroupSearch(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> StartGroupSearch(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(_httpResponseUtil.NullResponse());
|
||||
return new ValueTask<string>(httpResponseUtil.NullResponse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Handle client/match/group/looking/stop
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> StopGroupSearch(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> StopGroupSearch(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(_httpResponseUtil.NullResponse());
|
||||
return new ValueTask<string>(httpResponseUtil.NullResponse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -84,19 +85,19 @@ public class MatchCallbacks(
|
||||
public ValueTask<string> SendGroupInvite(
|
||||
string url,
|
||||
MatchGroupInviteSendRequest info,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return new ValueTask<string>(_httpResponseUtil.GetBody("2427943f23698ay9f2863735"));
|
||||
return new ValueTask<string>(httpResponseUtil.GetBody("2427943f23698ay9f2863735"));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Handle client/match/group/invite/accept
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> AcceptGroupInvite(string url, RequestIdRequest info, string sessionID)
|
||||
public ValueTask<string> AcceptGroupInvite(string url, RequestIdRequest info, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(_httpResponseUtil.GetBody(new List<GroupCharacter> { new() }));
|
||||
return new ValueTask<string>(httpResponseUtil.GetBody(new List<GroupCharacter> { new() }));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -106,9 +107,13 @@ public class MatchCallbacks(
|
||||
/// <param name="info"></param>
|
||||
/// <param name="sessionID">Session/player id</param>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> DeclineGroupInvite(string url, RequestIdRequest info, string sessionID)
|
||||
public ValueTask<string> DeclineGroupInvite(
|
||||
string url,
|
||||
RequestIdRequest info,
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return new ValueTask<string>(_httpResponseUtil.GetBody(true));
|
||||
return new ValueTask<string>(httpResponseUtil.GetBody(true));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -118,9 +123,9 @@ public class MatchCallbacks(
|
||||
/// <param name="info"></param>
|
||||
/// <param name="sessionID">Session/player id</param>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> CancelGroupInvite(string url, RequestIdRequest info, string sessionID)
|
||||
public ValueTask<string> CancelGroupInvite(string url, RequestIdRequest info, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(_httpResponseUtil.GetBody(true));
|
||||
return new ValueTask<string>(httpResponseUtil.GetBody(true));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -133,28 +138,28 @@ public class MatchCallbacks(
|
||||
public ValueTask<string> TransferGroup(
|
||||
string url,
|
||||
MatchGroupTransferRequest info,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return new ValueTask<string>(_httpResponseUtil.GetBody(true));
|
||||
return new ValueTask<string>(httpResponseUtil.GetBody(true));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Handle client/match/group/invite/cancel-all
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> CancelAllGroupInvite(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> CancelAllGroupInvite(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(_httpResponseUtil.GetBody(true));
|
||||
return new ValueTask<string>(httpResponseUtil.GetBody(true));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Handle client/putMetrics
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> PutMetrics(string url, PutMetricsRequestData info, string sessionID)
|
||||
public ValueTask<string> PutMetrics(string url, PutMetricsRequestData info, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(_httpResponseUtil.NullResponse());
|
||||
return new ValueTask<string>(httpResponseUtil.NullResponse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -167,26 +172,26 @@ public class MatchCallbacks(
|
||||
string sessionID
|
||||
)
|
||||
{
|
||||
return new ValueTask<string>(_httpResponseUtil.NullResponse());
|
||||
return new ValueTask<string>(httpResponseUtil.NullResponse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Handle client/match/available
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> ServerAvailable(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> ServerAvailable(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(_httpResponseUtil.GetBody(_matchController.GetEnabled()));
|
||||
return new ValueTask<string>(httpResponseUtil.GetBody(matchController.GetEnabled()));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Handle match/group/start_game
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> JoinMatch(string url, MatchGroupJoinRequest request, string sessionID)
|
||||
public ValueTask<string> JoinMatch(string url, MatchGroupJoinRequest request, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.GetBody(_matchController.JoinMatch(request, sessionID))
|
||||
httpResponseUtil.GetBody(matchController.JoinMatch(request, sessionID))
|
||||
);
|
||||
}
|
||||
|
||||
@@ -194,11 +199,9 @@ public class MatchCallbacks(
|
||||
/// Handle client/getMetricsConfig
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GetMetrics(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> GetMetrics(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.GetBody(_databaseService.GetMatch().Metrics)
|
||||
);
|
||||
return new ValueTask<string>(httpResponseUtil.GetBody(databaseService.GetMatch().Metrics));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -209,11 +212,11 @@ public class MatchCallbacks(
|
||||
public ValueTask<string> GetGroupStatus(
|
||||
string url,
|
||||
MatchGroupStatusRequest info,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.GetBody(_matchController.GetGroupStatus(info))
|
||||
httpResponseUtil.GetBody(matchController.GetGroupStatus(info))
|
||||
);
|
||||
}
|
||||
|
||||
@@ -221,19 +224,19 @@ public class MatchCallbacks(
|
||||
/// Handle client/match/group/delete
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> DeleteGroup(string url, DeleteGroupRequest info, string sessionID)
|
||||
public ValueTask<string> DeleteGroup(string url, DeleteGroupRequest info, MongoId sessionID)
|
||||
{
|
||||
_matchController.DeleteGroup(info);
|
||||
return new ValueTask<string>(_httpResponseUtil.GetBody(true));
|
||||
matchController.DeleteGroup(info);
|
||||
return new ValueTask<string>(httpResponseUtil.GetBody(true));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Handle client/match/group/leave
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> LeaveGroup(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> LeaveGroup(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(_httpResponseUtil.GetBody(true));
|
||||
return new ValueTask<string>(httpResponseUtil.GetBody(true));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -243,10 +246,10 @@ public class MatchCallbacks(
|
||||
public ValueTask<string> RemovePlayerFromGroup(
|
||||
string url,
|
||||
MatchGroupPlayerRemoveRequest info,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return new ValueTask<string>(_httpResponseUtil.GetBody(true));
|
||||
return new ValueTask<string>(httpResponseUtil.GetBody(true));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -256,11 +259,11 @@ public class MatchCallbacks(
|
||||
public ValueTask<string> StartLocalRaid(
|
||||
string url,
|
||||
StartLocalRaidRequestData info,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.GetBody(_matchController.StartLocalRaid(sessionID, info))
|
||||
httpResponseUtil.GetBody(matchController.StartLocalRaid(sessionID, info))
|
||||
);
|
||||
}
|
||||
|
||||
@@ -271,11 +274,11 @@ public class MatchCallbacks(
|
||||
public ValueTask<string> EndLocalRaid(
|
||||
string url,
|
||||
EndLocalRaidRequestData info,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
_matchController.EndLocalRaid(sessionID, info);
|
||||
return new ValueTask<string>(_httpResponseUtil.NullResponse());
|
||||
matchController.EndLocalRaid(sessionID, info);
|
||||
return new ValueTask<string>(httpResponseUtil.NullResponse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -285,11 +288,11 @@ public class MatchCallbacks(
|
||||
public ValueTask<string> GetRaidConfiguration(
|
||||
string url,
|
||||
GetRaidConfigurationRequestData info,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
_matchController.ConfigureOfflineRaid(info, sessionID);
|
||||
return new ValueTask<string>(_httpResponseUtil.NullResponse());
|
||||
matchController.ConfigureOfflineRaid(info, sessionID);
|
||||
return new ValueTask<string>(httpResponseUtil.NullResponse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -302,19 +305,19 @@ public class MatchCallbacks(
|
||||
public ValueTask<string> GetConfigurationByProfile(
|
||||
string url,
|
||||
GetRaidConfigurationRequestData info,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return new ValueTask<string>(_httpResponseUtil.NullResponse());
|
||||
return new ValueTask<string>(httpResponseUtil.NullResponse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Handle client/match/group/raid/ready
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> RaidReady(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> RaidReady(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(_httpResponseUtil.GetBody(true));
|
||||
return new ValueTask<string>(httpResponseUtil.GetBody(true));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -324,9 +327,9 @@ public class MatchCallbacks(
|
||||
/// <param name="info"></param>
|
||||
/// <param name="sessionID">Session/player id</param>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> NotRaidReady(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> NotRaidReady(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(_httpResponseUtil.GetBody(true));
|
||||
return new ValueTask<string>(httpResponseUtil.GetBody(true));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -335,7 +338,7 @@ public class MatchCallbacks(
|
||||
public Task<string> StartGameAsGroupLeader(
|
||||
string url,
|
||||
MatchGroupStartGameRequest? request,
|
||||
string? sessionId
|
||||
MongoId? sessionId
|
||||
)
|
||||
{
|
||||
// returns a ProfileStatusResponse object
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using SPTarkov.DI.Annotations;
|
||||
using SPTarkov.Server.Core.Controllers;
|
||||
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.Notes;
|
||||
@@ -7,7 +8,7 @@ using SPTarkov.Server.Core.Models.Eft.Notes;
|
||||
namespace SPTarkov.Server.Core.Callbacks;
|
||||
|
||||
[Injectable]
|
||||
public class NoteCallbacks(NoteController _noteController)
|
||||
public class NoteCallbacks(NoteController noteController)
|
||||
{
|
||||
/// <summary>
|
||||
/// Handle AddNote event
|
||||
@@ -19,10 +20,10 @@ public class NoteCallbacks(NoteController _noteController)
|
||||
public ItemEventRouterResponse AddNote(
|
||||
PmcData pmcData,
|
||||
NoteActionRequest request,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return _noteController.AddNote(pmcData, request, sessionID);
|
||||
return noteController.AddNote(pmcData, request, sessionID);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -35,10 +36,10 @@ public class NoteCallbacks(NoteController _noteController)
|
||||
public ItemEventRouterResponse EditNote(
|
||||
PmcData pmcData,
|
||||
NoteActionRequest request,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return _noteController.EditNote(pmcData, request, sessionID);
|
||||
return noteController.EditNote(pmcData, request, sessionID);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -51,9 +52,9 @@ public class NoteCallbacks(NoteController _noteController)
|
||||
public ItemEventRouterResponse DeleteNote(
|
||||
PmcData pmcData,
|
||||
NoteActionRequest request,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return _noteController.DeleteNote(pmcData, request, sessionID);
|
||||
return noteController.DeleteNote(pmcData, request, sessionID);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using SPTarkov.DI.Annotations;
|
||||
using SPTarkov.Server.Core.Controllers;
|
||||
using SPTarkov.Server.Core.Helpers;
|
||||
using SPTarkov.Server.Core.Models.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common.Request;
|
||||
using SPTarkov.Server.Core.Models.Eft.Notifier;
|
||||
@@ -11,8 +12,8 @@ namespace SPTarkov.Server.Core.Callbacks;
|
||||
|
||||
[Injectable]
|
||||
public class NotifierCallbacks(
|
||||
HttpResponseUtil _httpResponseUtil,
|
||||
NotifierController _notifierController,
|
||||
HttpResponseUtil httpResponseUtil,
|
||||
NotifierController notifierController,
|
||||
JsonUtil jsonUtil,
|
||||
HttpServerHelper httpServerHelper
|
||||
)
|
||||
@@ -23,7 +24,7 @@ public class NotifierCallbacks(
|
||||
/// until we actually have something to send because otherwise we'd spam the client
|
||||
/// and the client would abort the connection due to spam.
|
||||
/// </summary>
|
||||
public void SendNotification(string sessionID, HttpRequest req, HttpResponse resp, object data)
|
||||
public void SendNotification(MongoId sessionID, HttpRequest req, HttpResponse resp, object data)
|
||||
{
|
||||
var splittedUrl = req.Path.Value.Split("/");
|
||||
var tmpSessionID = splittedUrl[^1].Split("?last_id")[0];
|
||||
@@ -32,7 +33,7 @@ public class NotifierCallbacks(
|
||||
* Take our array of JSON message objects and cast them to JSON strings, so that they can then
|
||||
* be sent to client as NEWLINE separated strings... yup.
|
||||
*/
|
||||
_notifierController
|
||||
notifierController
|
||||
.NotifyAsync(tmpSessionID)
|
||||
.ContinueWith(messages =>
|
||||
messages.Result.Select(message => string.Join("\n", jsonUtil.Serialize(message)))
|
||||
@@ -46,19 +47,23 @@ public class NotifierCallbacks(
|
||||
/// Handle push/notifier/getwebsocket
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GetNotifier(string url, IRequestData info, string sessionID)
|
||||
public ValueTask<string> GetNotifier(string url, IRequestData info, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(_httpResponseUtil.EmptyArrayResponse());
|
||||
return new ValueTask<string>(httpResponseUtil.EmptyArrayResponse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Handle client/notifier/channel/create
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> CreateNotifierChannel(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> CreateNotifierChannel(
|
||||
string url,
|
||||
EmptyRequestData _,
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.GetBody(_notifierController.GetChannel(sessionID))
|
||||
httpResponseUtil.GetBody(notifierController.GetChannel(sessionID))
|
||||
);
|
||||
}
|
||||
|
||||
@@ -66,17 +71,17 @@ public class NotifierCallbacks(
|
||||
/// Handle client/game/profile/select
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> SelectProfile(string url, UIDRequestData info, string sessionID)
|
||||
public ValueTask<string> SelectProfile(string url, UIDRequestData info, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.GetBody(new SelectProfileResponse { Status = "ok" })
|
||||
httpResponseUtil.GetBody(new SelectProfileResponse { Status = "ok" })
|
||||
);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> Notify(string url, object info, string sessionID)
|
||||
public ValueTask<string> Notify(string url, object info, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>("NOTIFY");
|
||||
}
|
||||
|
||||
@@ -5,11 +5,11 @@ using SPTarkov.Server.Core.DI;
|
||||
namespace SPTarkov.Server.Core.Callbacks;
|
||||
|
||||
[Injectable(TypePriority = OnLoadOrder.PresetCallbacks)]
|
||||
public class PresetCallbacks(PresetController _presetController) : IOnLoad
|
||||
public class PresetCallbacks(PresetController presetController) : IOnLoad
|
||||
{
|
||||
public Task OnLoad()
|
||||
{
|
||||
_presetController.Initialize();
|
||||
presetController.Initialize();
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using SPTarkov.DI.Annotations;
|
||||
using SPTarkov.Server.Core.Controllers;
|
||||
using SPTarkov.Server.Core.Models.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Prestige;
|
||||
using SPTarkov.Server.Core.Utils;
|
||||
@@ -8,8 +9,8 @@ namespace SPTarkov.Server.Core.Callbacks;
|
||||
|
||||
[Injectable]
|
||||
public class PrestigeCallbacks(
|
||||
HttpResponseUtil _httpResponseUtil,
|
||||
PrestigeController _prestigeController
|
||||
HttpResponseUtil httpResponseUtil,
|
||||
PrestigeController prestigeController
|
||||
)
|
||||
{
|
||||
/// <summary>
|
||||
@@ -19,10 +20,10 @@ public class PrestigeCallbacks(
|
||||
/// <param name="info"></param>
|
||||
/// <param name="sessionID">Session/player id</param>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GetPrestige(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> GetPrestige(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.GetBody(_prestigeController.GetPrestige(sessionID))
|
||||
httpResponseUtil.GetBody(prestigeController.GetPrestige(sessionID))
|
||||
);
|
||||
}
|
||||
|
||||
@@ -36,11 +37,11 @@ public class PrestigeCallbacks(
|
||||
public async ValueTask<string> ObtainPrestige(
|
||||
string url,
|
||||
ObtainPrestigeRequestList info,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
await _prestigeController.ObtainPrestige(sessionID, info);
|
||||
await prestigeController.ObtainPrestige(sessionID, info);
|
||||
|
||||
return _httpResponseUtil.NullResponse();
|
||||
return httpResponseUtil.NullResponse();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using SPTarkov.DI.Annotations;
|
||||
using SPTarkov.Server.Core.Controllers;
|
||||
using SPTarkov.Server.Core.Helpers;
|
||||
using SPTarkov.Server.Core.Models.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Launcher;
|
||||
using SPTarkov.Server.Core.Models.Eft.Profile;
|
||||
@@ -12,10 +13,10 @@ namespace SPTarkov.Server.Core.Callbacks;
|
||||
|
||||
[Injectable]
|
||||
public class ProfileCallbacks(
|
||||
HttpResponseUtil _httpResponse,
|
||||
TimeUtil _timeUtil,
|
||||
ProfileController _profileController,
|
||||
ProfileHelper _profileHelper
|
||||
HttpResponseUtil httpResponse,
|
||||
TimeUtil timeUtil,
|
||||
ProfileController profileController,
|
||||
ProfileHelper profileHelper
|
||||
)
|
||||
{
|
||||
/// <summary>
|
||||
@@ -25,11 +26,11 @@ public class ProfileCallbacks(
|
||||
public async ValueTask<string> CreateProfile(
|
||||
string url,
|
||||
ProfileCreateRequestData info,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
var id = await _profileController.CreateProfile(info, sessionID);
|
||||
return _httpResponse.GetBody(new CreateProfileResponse { UserId = id });
|
||||
var id = await profileController.CreateProfile(info, sessionID);
|
||||
return httpResponse.GetBody(new CreateProfileResponse { UserId = id });
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -37,10 +38,10 @@ public class ProfileCallbacks(
|
||||
/// Get the complete player profile (scav + pmc character)
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GetProfileData(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> GetProfileData(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponse.GetBody(_profileController.GetCompleteProfile(sessionID))
|
||||
httpResponse.GetBody(profileController.GetCompleteProfile(sessionID))
|
||||
);
|
||||
}
|
||||
|
||||
@@ -50,11 +51,11 @@ public class ProfileCallbacks(
|
||||
/// Occurs post-raid and when profile first created immediately after character details are confirmed by player
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> RegenerateScav(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> RegenerateScav(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponse.GetBody(
|
||||
new List<PmcData> { _profileController.GeneratePlayerScav(sessionID) }
|
||||
httpResponse.GetBody(
|
||||
new List<PmcData> { profileController.GeneratePlayerScav(sessionID) }
|
||||
)
|
||||
);
|
||||
}
|
||||
@@ -66,11 +67,11 @@ public class ProfileCallbacks(
|
||||
public ValueTask<string> ChangeVoice(
|
||||
string url,
|
||||
ProfileChangeVoiceRequestData info,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
_profileController.ChangeVoice(info, sessionID);
|
||||
return new ValueTask<string>(_httpResponse.NullResponse());
|
||||
profileController.ChangeVoice(info, sessionID);
|
||||
return new ValueTask<string>(httpResponse.NullResponse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -81,30 +82,30 @@ public class ProfileCallbacks(
|
||||
public ValueTask<string> ChangeNickname(
|
||||
string url,
|
||||
ProfileChangeNicknameRequestData info,
|
||||
string sessionId
|
||||
MongoId sessionId
|
||||
)
|
||||
{
|
||||
var output = _profileController.ChangeNickname(info, sessionId);
|
||||
var output = profileController.ChangeNickname(info, sessionId);
|
||||
|
||||
return output switch
|
||||
{
|
||||
NicknameValidationResult.Taken => new ValueTask<string>(
|
||||
_httpResponse.GetBody<object?>(
|
||||
httpResponse.GetBody<object?>(
|
||||
null,
|
||||
BackendErrorCodes.NicknameNotUnique,
|
||||
$"{BackendErrorCodes.NicknameNotUnique} - "
|
||||
)
|
||||
),
|
||||
NicknameValidationResult.Short => new ValueTask<string>(
|
||||
_httpResponse.GetBody<object?>(
|
||||
httpResponse.GetBody<object?>(
|
||||
null,
|
||||
BackendErrorCodes.NicknameNotValid,
|
||||
$"{BackendErrorCodes.NicknameNotValid} - "
|
||||
)
|
||||
),
|
||||
_ => new ValueTask<string>(
|
||||
_httpResponse.GetBody<object>(
|
||||
new { status = 0, NicknameChangeDate = _timeUtil.GetTimeStamp() }
|
||||
httpResponse.GetBody<object>(
|
||||
new { status = 0, NicknameChangeDate = timeUtil.GetTimeStamp() }
|
||||
)
|
||||
),
|
||||
};
|
||||
@@ -117,26 +118,26 @@ public class ProfileCallbacks(
|
||||
public ValueTask<string> ValidateNickname(
|
||||
string url,
|
||||
ValidateNicknameRequestData info,
|
||||
string sessionId
|
||||
MongoId sessionId
|
||||
)
|
||||
{
|
||||
return _profileController.ValidateNickname(info, sessionId) switch
|
||||
return profileController.ValidateNickname(info, sessionId) switch
|
||||
{
|
||||
NicknameValidationResult.Taken => new ValueTask<string>(
|
||||
_httpResponse.GetBody<object?>(
|
||||
httpResponse.GetBody<object?>(
|
||||
null,
|
||||
BackendErrorCodes.NicknameNotUnique,
|
||||
$"{BackendErrorCodes.NicknameNotUnique} - "
|
||||
)
|
||||
),
|
||||
NicknameValidationResult.Short => new ValueTask<string>(
|
||||
_httpResponse.GetBody<object?>(
|
||||
httpResponse.GetBody<object?>(
|
||||
null,
|
||||
BackendErrorCodes.NicknameNotValid,
|
||||
$"{BackendErrorCodes.NicknameNotValid} - "
|
||||
)
|
||||
),
|
||||
_ => new ValueTask<string>(_httpResponse.GetBody(new { status = "ok" })),
|
||||
_ => new ValueTask<string>(httpResponse.GetBody(new { status = "ok" })),
|
||||
};
|
||||
}
|
||||
|
||||
@@ -144,16 +145,16 @@ public class ProfileCallbacks(
|
||||
/// Handle client/game/profile/nickname/reserved
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GetReservedNickname(string url, EmptyRequestData _, string sessionId)
|
||||
public ValueTask<string> GetReservedNickname(string url, EmptyRequestData _, MongoId sessionId)
|
||||
{
|
||||
var fullProfile = _profileHelper.GetFullProfile(sessionId);
|
||||
var fullProfile = profileHelper.GetFullProfile(sessionId);
|
||||
if (fullProfile?.ProfileInfo?.Username is not null)
|
||||
{
|
||||
// Send players name back to them
|
||||
return new ValueTask<string>(_httpResponse.GetBody(fullProfile?.ProfileInfo?.Username));
|
||||
return new ValueTask<string>(httpResponse.GetBody(fullProfile?.ProfileInfo?.Username));
|
||||
}
|
||||
|
||||
return new ValueTask<string>(_httpResponse.GetBody("SPTarkov"));
|
||||
return new ValueTask<string>(httpResponse.GetBody("SPTarkov"));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -161,10 +162,10 @@ public class ProfileCallbacks(
|
||||
/// Called when creating a character when choosing a character face/voice
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GetProfileStatus(string url, EmptyRequestData _, string sessionId)
|
||||
public ValueTask<string> GetProfileStatus(string url, EmptyRequestData _, MongoId sessionId)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponse.GetBody(_profileController.GetProfileStatus(sessionId))
|
||||
httpResponse.GetBody(profileController.GetProfileStatus(sessionId))
|
||||
);
|
||||
}
|
||||
|
||||
@@ -176,11 +177,11 @@ public class ProfileCallbacks(
|
||||
public ValueTask<string> GetOtherProfile(
|
||||
string url,
|
||||
GetOtherProfileRequest request,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponse.GetBody(_profileController.GetOtherProfile(sessionID, request))
|
||||
httpResponse.GetBody(profileController.GetOtherProfile(sessionID, request))
|
||||
);
|
||||
}
|
||||
|
||||
@@ -191,11 +192,11 @@ public class ProfileCallbacks(
|
||||
public ValueTask<string> GetProfileSettings(
|
||||
string url,
|
||||
GetProfileSettingsRequest info,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponse.GetBody(_profileController.SetChosenProfileIcon(sessionID, info))
|
||||
httpResponse.GetBody(profileController.SetChosenProfileIcon(sessionID, info))
|
||||
);
|
||||
}
|
||||
|
||||
@@ -206,11 +207,11 @@ public class ProfileCallbacks(
|
||||
public ValueTask<string> SearchProfiles(
|
||||
string url,
|
||||
SearchProfilesRequestData info,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponse.GetBody(_profileController.SearchProfiles(info, sessionID))
|
||||
httpResponse.GetBody(profileController.SearchProfiles(info, sessionID))
|
||||
);
|
||||
}
|
||||
|
||||
@@ -221,11 +222,11 @@ public class ProfileCallbacks(
|
||||
public ValueTask<string> GetMiniProfile(
|
||||
string url,
|
||||
GetMiniProfileRequestData info,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponse.NoBody(_profileController.GetMiniProfile(sessionID))
|
||||
httpResponse.NoBody(profileController.GetMiniProfile(sessionID))
|
||||
);
|
||||
}
|
||||
|
||||
@@ -233,8 +234,8 @@ public class ProfileCallbacks(
|
||||
/// Handle /launcher/profiles
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GetAllMiniProfiles(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> GetAllMiniProfiles(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(_httpResponse.NoBody(_profileController.GetMiniProfiles()));
|
||||
return new ValueTask<string>(httpResponse.NoBody(profileController.GetMiniProfiles()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using SPTarkov.DI.Annotations;
|
||||
using SPTarkov.Server.Core.Controllers;
|
||||
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.Quests;
|
||||
@@ -9,9 +10,9 @@ namespace SPTarkov.Server.Core.Callbacks;
|
||||
|
||||
[Injectable]
|
||||
public class QuestCallbacks(
|
||||
HttpResponseUtil _httpResponseUtil,
|
||||
QuestController _questController,
|
||||
RepeatableQuestController _repeatableQuestController
|
||||
HttpResponseUtil httpResponseUtil,
|
||||
QuestController questController,
|
||||
RepeatableQuestController repeatableQuestController
|
||||
)
|
||||
{
|
||||
/// <summary>
|
||||
@@ -24,10 +25,10 @@ public class QuestCallbacks(
|
||||
public ItemEventRouterResponse ChangeRepeatableQuest(
|
||||
PmcData pmcData,
|
||||
RepeatableQuestChangeRequest info,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return _repeatableQuestController.ChangeRepeatableQuest(pmcData, info, sessionID);
|
||||
return repeatableQuestController.ChangeRepeatableQuest(pmcData, info, sessionID);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -40,15 +41,15 @@ public class QuestCallbacks(
|
||||
public ItemEventRouterResponse AcceptQuest(
|
||||
PmcData pmcData,
|
||||
AcceptQuestRequestData info,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
if (info.Type == "repeatable")
|
||||
{
|
||||
return _repeatableQuestController.AcceptRepeatableQuest(pmcData, info, sessionID);
|
||||
return repeatableQuestController.AcceptRepeatableQuest(pmcData, info, sessionID);
|
||||
}
|
||||
|
||||
return _questController.AcceptQuest(pmcData, info, sessionID);
|
||||
return questController.AcceptQuest(pmcData, info, sessionID);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -61,10 +62,10 @@ public class QuestCallbacks(
|
||||
public ItemEventRouterResponse CompleteQuest(
|
||||
PmcData pmcData,
|
||||
CompleteQuestRequestData info,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return _questController.CompleteQuest(pmcData, info, sessionID);
|
||||
return questController.CompleteQuest(pmcData, info, sessionID);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -77,10 +78,10 @@ public class QuestCallbacks(
|
||||
public ItemEventRouterResponse HandoverQuest(
|
||||
PmcData pmcData,
|
||||
HandoverQuestRequestData info,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return _questController.HandoverQuest(pmcData, info, sessionID);
|
||||
return questController.HandoverQuest(pmcData, info, sessionID);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -90,10 +91,10 @@ public class QuestCallbacks(
|
||||
/// <param name="info"></param>
|
||||
/// <param name="sessionID">Session/player id</param>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> ListQuests(string url, ListQuestsRequestData info, string sessionID)
|
||||
public ValueTask<string> ListQuests(string url, ListQuestsRequestData info, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.GetBody(_questController.GetClientQuests(sessionID))
|
||||
httpResponseUtil.GetBody(questController.GetClientQuests(sessionID))
|
||||
);
|
||||
}
|
||||
|
||||
@@ -104,12 +105,10 @@ public class QuestCallbacks(
|
||||
/// <param name="info"></param>
|
||||
/// <param name="sessionID">Session/player id</param>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> ActivityPeriods(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> ActivityPeriods(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.GetBody(
|
||||
_repeatableQuestController.GetClientRepeatableQuests(sessionID)
|
||||
)
|
||||
httpResponseUtil.GetBody(repeatableQuestController.GetClientRepeatableQuests(sessionID))
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using SPTarkov.DI.Annotations;
|
||||
using SPTarkov.Server.Core.Controllers;
|
||||
using SPTarkov.Server.Core.DI;
|
||||
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.Ragfair;
|
||||
@@ -13,20 +14,20 @@ namespace SPTarkov.Server.Core.Callbacks;
|
||||
|
||||
[Injectable(TypePriority = OnLoadOrder.RagfairCallbacks)]
|
||||
public class RagfairCallbacks(
|
||||
HttpResponseUtil _httpResponseUtil,
|
||||
RagfairServer _ragfairServer,
|
||||
RagfairController _ragfairController,
|
||||
RagfairTaxService _ragfairTaxService,
|
||||
RagfairPriceService _ragfairPriceService,
|
||||
ConfigServer _configServer
|
||||
HttpResponseUtil httpResponseUtil,
|
||||
RagfairServer ragfairServer,
|
||||
RagfairController ragfairController,
|
||||
RagfairTaxService ragfairTaxService,
|
||||
RagfairPriceService ragfairPriceService,
|
||||
ConfigServer configServer
|
||||
) : IOnLoad, IOnUpdate
|
||||
{
|
||||
private readonly RagfairConfig _ragfairConfig = _configServer.GetConfig<RagfairConfig>();
|
||||
private readonly RagfairConfig _ragfairConfig = configServer.GetConfig<RagfairConfig>();
|
||||
|
||||
public Task OnLoad()
|
||||
{
|
||||
_ragfairServer.Load();
|
||||
_ragfairPriceService.Load();
|
||||
ragfairServer.Load();
|
||||
ragfairPriceService.Load();
|
||||
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
@@ -40,13 +41,13 @@ public class RagfairCallbacks(
|
||||
}
|
||||
|
||||
// There is a flag inside this class that only makes it run once.
|
||||
_ragfairServer.AddPlayerOffers();
|
||||
ragfairServer.AddPlayerOffers();
|
||||
|
||||
// Check player offers and mail payment to player if sold
|
||||
_ragfairController.Update();
|
||||
ragfairController.Update();
|
||||
|
||||
// Process all offers / expire offers
|
||||
_ragfairServer.Update();
|
||||
ragfairServer.Update();
|
||||
|
||||
return Task.FromResult(true);
|
||||
}
|
||||
@@ -59,10 +60,10 @@ public class RagfairCallbacks(
|
||||
/// <param name="info"></param>
|
||||
/// <param name="sessionID">Session/player id</param>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> Search(string url, SearchRequestData info, string sessionID)
|
||||
public ValueTask<string> Search(string url, SearchRequestData info, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.GetBody(_ragfairController.GetOffers(sessionID, info))
|
||||
httpResponseUtil.GetBody(ragfairController.GetOffers(sessionID, info))
|
||||
);
|
||||
}
|
||||
|
||||
@@ -76,11 +77,11 @@ public class RagfairCallbacks(
|
||||
public ValueTask<string> GetMarketPrice(
|
||||
string url,
|
||||
GetMarketPriceRequestData info,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.GetBody(_ragfairController.GetItemMinAvgMaxFleaPriceValues(info))
|
||||
httpResponseUtil.GetBody(ragfairController.GetItemMinAvgMaxFleaPriceValues(info))
|
||||
);
|
||||
}
|
||||
|
||||
@@ -94,10 +95,10 @@ public class RagfairCallbacks(
|
||||
public ItemEventRouterResponse AddOffer(
|
||||
PmcData pmcData,
|
||||
AddOfferRequestData info,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return _ragfairController.AddPlayerOffer(pmcData, info, sessionID);
|
||||
return ragfairController.AddPlayerOffer(pmcData, info, sessionID);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -110,10 +111,10 @@ public class RagfairCallbacks(
|
||||
public ItemEventRouterResponse RemoveOffer(
|
||||
PmcData pmcData,
|
||||
RemoveOfferRequestData info,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return _ragfairController.FlagOfferForRemoval(info.OfferId, sessionID);
|
||||
return ragfairController.FlagOfferForRemoval(info.OfferId, sessionID);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -126,10 +127,10 @@ public class RagfairCallbacks(
|
||||
public ItemEventRouterResponse ExtendOffer(
|
||||
PmcData pmcData,
|
||||
ExtendOfferRequestData info,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return _ragfairController.ExtendOffer(info, sessionID);
|
||||
return ragfairController.ExtendOffer(info, sessionID);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -140,10 +141,10 @@ public class RagfairCallbacks(
|
||||
/// <param name="info"></param>
|
||||
/// <param name="sessionID">Session/player id</param>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GetFleaPrices(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> GetFleaPrices(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.GetBody(_ragfairController.GetAllFleaPrices())
|
||||
httpResponseUtil.GetBody(ragfairController.GetAllFleaPrices())
|
||||
);
|
||||
}
|
||||
|
||||
@@ -157,20 +158,20 @@ public class RagfairCallbacks(
|
||||
public ValueTask<string> SendReport(
|
||||
string url,
|
||||
SendRagfairReportRequestData info,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return new ValueTask<string>(_httpResponseUtil.NullResponse());
|
||||
return new ValueTask<string>(httpResponseUtil.NullResponse());
|
||||
}
|
||||
|
||||
public ValueTask<string> StorePlayerOfferTaxAmount(
|
||||
string url,
|
||||
StorePlayerOfferTaxAmountRequestData info,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
_ragfairTaxService.StoreClientOfferTaxValue(sessionID, info);
|
||||
return new ValueTask<string>(_httpResponseUtil.NullResponse());
|
||||
ragfairTaxService.StoreClientOfferTaxValue(sessionID, info);
|
||||
return new ValueTask<string>(httpResponseUtil.NullResponse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -183,11 +184,11 @@ public class RagfairCallbacks(
|
||||
public ValueTask<string> GetFleaOfferById(
|
||||
string url,
|
||||
GetRagfairOfferByIdRequest info,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.GetBody(_ragfairController.GetOfferByInternalId(sessionID, info))
|
||||
httpResponseUtil.GetBody(ragfairController.GetOfferByInternalId(sessionID, info))
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using SPTarkov.DI.Annotations;
|
||||
using SPTarkov.Server.Core.Controllers;
|
||||
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.Repair;
|
||||
@@ -20,7 +21,7 @@ public class RepairCallbacks(RepairController _repairController)
|
||||
public ItemEventRouterResponse TraderRepair(
|
||||
PmcData pmcData,
|
||||
TraderRepairActionDataRequest info,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return _repairController.TraderRepair(sessionID, info, pmcData);
|
||||
@@ -37,7 +38,7 @@ public class RepairCallbacks(RepairController _repairController)
|
||||
public ItemEventRouterResponse Repair(
|
||||
PmcData pmcData,
|
||||
RepairActionDataRequest info,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return _repairController.RepairWithKit(sessionID, info, pmcData);
|
||||
|
||||
@@ -8,17 +8,17 @@ namespace SPTarkov.Server.Core.Callbacks;
|
||||
|
||||
[Injectable(TypePriority = OnLoadOrder.SaveCallbacks)]
|
||||
public class SaveCallbacks(
|
||||
SaveServer _saveServer,
|
||||
ConfigServer _configServer,
|
||||
BackupService _backupService
|
||||
SaveServer saveServer,
|
||||
ConfigServer configServer,
|
||||
BackupService backupService
|
||||
) : IOnLoad, IOnUpdate
|
||||
{
|
||||
private readonly CoreConfig _coreConfig = _configServer.GetConfig<CoreConfig>();
|
||||
private readonly CoreConfig _coreConfig = configServer.GetConfig<CoreConfig>();
|
||||
|
||||
public async Task OnLoad()
|
||||
{
|
||||
await _backupService.StartBackupSystem();
|
||||
await _saveServer.LoadAsync();
|
||||
await backupService.StartBackupSystem();
|
||||
await saveServer.LoadAsync();
|
||||
}
|
||||
|
||||
public async Task<bool> OnUpdate(long secondsSinceLastRun)
|
||||
@@ -29,7 +29,7 @@ public class SaveCallbacks(
|
||||
return false;
|
||||
}
|
||||
|
||||
await _saveServer.SaveAsync();
|
||||
await saveServer.SaveAsync();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using SPTarkov.DI.Annotations;
|
||||
using SPTarkov.Server.Core.Controllers;
|
||||
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.Trade;
|
||||
@@ -7,7 +8,7 @@ using SPTarkov.Server.Core.Models.Eft.Trade;
|
||||
namespace SPTarkov.Server.Core.Callbacks;
|
||||
|
||||
[Injectable]
|
||||
public class TradeCallbacks(TradeController _tradeController)
|
||||
public class TradeCallbacks(TradeController tradeController)
|
||||
{
|
||||
/// <summary>
|
||||
/// Handle client/game/profile/items/moving TradingConfirm event
|
||||
@@ -19,10 +20,10 @@ public class TradeCallbacks(TradeController _tradeController)
|
||||
public ItemEventRouterResponse ProcessTrade(
|
||||
PmcData pmcData,
|
||||
ProcessBaseTradeRequestData info,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return _tradeController.ConfirmTrading(pmcData, info, sessionID);
|
||||
return tradeController.ConfirmTrading(pmcData, info, sessionID);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -35,10 +36,10 @@ public class TradeCallbacks(TradeController _tradeController)
|
||||
public ItemEventRouterResponse ProcessRagfairTrade(
|
||||
PmcData pmcData,
|
||||
ProcessRagfairTradeRequestData info,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return _tradeController.ConfirmRagfairTrading(pmcData, info, sessionID);
|
||||
return tradeController.ConfirmRagfairTrading(pmcData, info, sessionID);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -51,9 +52,9 @@ public class TradeCallbacks(TradeController _tradeController)
|
||||
public ItemEventRouterResponse SellAllFromSavage(
|
||||
PmcData pmcData,
|
||||
SellScavItemsToFenceRequestData info,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return _tradeController.SellScavItemsToFence(pmcData, info, sessionID);
|
||||
return tradeController.SellScavItemsToFence(pmcData, info, sessionID);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using SPTarkov.DI.Annotations;
|
||||
using SPTarkov.Server.Core.Controllers;
|
||||
using SPTarkov.Server.Core.DI;
|
||||
using SPTarkov.Server.Core.Models.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common;
|
||||
using SPTarkov.Server.Core.Models.Spt.Config;
|
||||
using SPTarkov.Server.Core.Servers;
|
||||
@@ -10,22 +11,22 @@ namespace SPTarkov.Server.Core.Callbacks;
|
||||
|
||||
[Injectable(TypePriority = OnLoadOrder.TraderCallbacks)]
|
||||
public class TraderCallbacks(
|
||||
HttpResponseUtil _httpResponseUtil,
|
||||
TraderController _traderController,
|
||||
ConfigServer _configServer
|
||||
HttpResponseUtil httpResponseUtil,
|
||||
TraderController traderController,
|
||||
ConfigServer configServer
|
||||
) : IOnLoad, IOnUpdate
|
||||
{
|
||||
private readonly TraderConfig _traderConfig = _configServer.GetConfig<TraderConfig>();
|
||||
private readonly TraderConfig _traderConfig = configServer.GetConfig<TraderConfig>();
|
||||
|
||||
public Task OnLoad()
|
||||
{
|
||||
_traderController.Load();
|
||||
traderController.Load();
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
public Task<bool> OnUpdate(long _)
|
||||
{
|
||||
_traderController.Update();
|
||||
traderController.Update();
|
||||
|
||||
return Task.FromResult(true);
|
||||
}
|
||||
@@ -33,21 +34,21 @@ public class TraderCallbacks(
|
||||
/// <summary>
|
||||
/// Handle client/trading/api/traderSettings
|
||||
/// </summary>
|
||||
public ValueTask<string> GetTraderSettings(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> GetTraderSettings(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.GetBody(_traderController.GetAllTraders(sessionID))
|
||||
httpResponseUtil.GetBody(traderController.GetAllTraders(sessionID))
|
||||
);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Handle client/trading/api/getTrader
|
||||
/// </summary>
|
||||
public ValueTask<string> GetTrader(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> GetTrader(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
var traderID = url.Replace("/client/trading/api/getTrader/", "");
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.GetBody(_traderController.GetTrader(sessionID, traderID))
|
||||
httpResponseUtil.GetBody(traderController.GetTrader(sessionID, traderID))
|
||||
);
|
||||
}
|
||||
|
||||
@@ -55,11 +56,11 @@ public class TraderCallbacks(
|
||||
/// Handle client/trading/api/getTraderAssort
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GetAssort(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> GetAssort(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
var traderID = url.Replace("/client/trading/api/getTraderAssort/", "");
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.GetBody(_traderController.GetAssort(sessionID, traderID))
|
||||
httpResponseUtil.GetBody(traderController.GetAssort(sessionID, traderID))
|
||||
);
|
||||
}
|
||||
|
||||
@@ -70,8 +71,8 @@ public class TraderCallbacks(
|
||||
/// <param name="info"></param>
|
||||
/// <param name="sessionID">Session/player id</param>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GetModdedTraderData(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> GetModdedTraderData(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(_httpResponseUtil.NoBody(_traderConfig.ModdedTraders));
|
||||
return new ValueTask<string>(httpResponseUtil.NoBody(_traderConfig.ModdedTraders));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using SPTarkov.DI.Annotations;
|
||||
using SPTarkov.Server.Core.Controllers;
|
||||
using SPTarkov.Server.Core.Models.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common;
|
||||
using SPTarkov.Server.Core.Utils;
|
||||
|
||||
@@ -7,8 +8,8 @@ namespace SPTarkov.Server.Core.Callbacks;
|
||||
|
||||
[Injectable]
|
||||
public class WeatherCallbacks(
|
||||
HttpResponseUtil _httpResponseUtil,
|
||||
WeatherController _weatherController
|
||||
HttpResponseUtil httpResponseUtil,
|
||||
WeatherController weatherController
|
||||
)
|
||||
{
|
||||
/// <summary>
|
||||
@@ -18,9 +19,9 @@ public class WeatherCallbacks(
|
||||
/// <param name="info"></param>
|
||||
/// <param name="sessionID">Session/player id</param>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GetWeather(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> GetWeather(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(_httpResponseUtil.GetBody(_weatherController.Generate()));
|
||||
return new ValueTask<string>(httpResponseUtil.GetBody(weatherController.Generate()));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -30,10 +31,10 @@ public class WeatherCallbacks(
|
||||
/// <param name="info"></param>
|
||||
/// <param name="sessionID">Session/player id</param>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GetLocalWeather(string url, EmptyRequestData _, string sessionID)
|
||||
public ValueTask<string> GetLocalWeather(string url, EmptyRequestData _, MongoId sessionID)
|
||||
{
|
||||
return new ValueTask<string>(
|
||||
_httpResponseUtil.GetBody(_weatherController.GenerateLocal(sessionID))
|
||||
httpResponseUtil.GetBody(weatherController.GenerateLocal(sessionID))
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using SPTarkov.DI.Annotations;
|
||||
using SPTarkov.Server.Core.Controllers;
|
||||
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;
|
||||
@@ -7,7 +8,7 @@ using SPTarkov.Server.Core.Models.Eft.Wishlist;
|
||||
namespace SPTarkov.Server.Core.Callbacks;
|
||||
|
||||
[Injectable]
|
||||
public class WishlistCallbacks(WishlistController _wishlistController)
|
||||
public class WishlistCallbacks(WishlistController wishlistController)
|
||||
{
|
||||
/// <summary>
|
||||
/// Handle AddToWishList event
|
||||
@@ -19,10 +20,10 @@ public class WishlistCallbacks(WishlistController _wishlistController)
|
||||
public ItemEventRouterResponse AddToWishlist(
|
||||
PmcData pmcData,
|
||||
AddToWishlistRequest info,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return _wishlistController.AddToWishList(pmcData, info, sessionID);
|
||||
return wishlistController.AddToWishList(pmcData, info, sessionID);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -35,10 +36,10 @@ public class WishlistCallbacks(WishlistController _wishlistController)
|
||||
public ItemEventRouterResponse RemoveFromWishlist(
|
||||
PmcData pmcData,
|
||||
RemoveFromWishlistRequest info,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return _wishlistController.RemoveFromWishList(pmcData, info, sessionID);
|
||||
return wishlistController.RemoveFromWishList(pmcData, info, sessionID);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -51,9 +52,9 @@ public class WishlistCallbacks(WishlistController _wishlistController)
|
||||
public ItemEventRouterResponse ChangeWishlistItemCategory(
|
||||
PmcData pmcData,
|
||||
ChangeWishlistItemCategoryRequest info,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
return _wishlistController.ChangeWishListItemCategory(pmcData, info, sessionID);
|
||||
return wishlistController.ChangeWishListItemCategory(pmcData, info, sessionID);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
using SPTarkov.Server.Core.Models.Common;
|
||||
|
||||
namespace SPTarkov.Server.Core.DI;
|
||||
|
||||
public interface ISerializer
|
||||
{
|
||||
public Task Serialize(string sessionID, HttpRequest req, HttpResponse resp, object? body);
|
||||
public Task Serialize(MongoId sessionID, HttpRequest req, HttpResponse resp, object? body);
|
||||
public bool CanHandle(string route);
|
||||
}
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
using SPTarkov.Server.Core.Models.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common.Request;
|
||||
using SPTarkov.Server.Core.Models.Eft.ItemEvent;
|
||||
@@ -53,7 +54,7 @@ public abstract class StaticRouter : Router
|
||||
public async ValueTask<object> HandleStatic(
|
||||
string url,
|
||||
string? body,
|
||||
string sessionID,
|
||||
MongoId sessionId,
|
||||
string output
|
||||
)
|
||||
{
|
||||
@@ -65,7 +66,7 @@ public abstract class StaticRouter : Router
|
||||
info = (IRequestData?)_jsonUtil.Deserialize(body, type);
|
||||
}
|
||||
|
||||
return await action.action(url, info, sessionID, output);
|
||||
return await action.action(url, info, sessionId, output);
|
||||
}
|
||||
|
||||
protected override List<HandledRoute> GetHandledRoutes()
|
||||
@@ -88,7 +89,7 @@ public abstract class DynamicRouter : Router
|
||||
public async ValueTask<object> HandleDynamic(
|
||||
string url,
|
||||
string? body,
|
||||
string sessionID,
|
||||
MongoId sessionID,
|
||||
string output
|
||||
)
|
||||
{
|
||||
@@ -117,7 +118,7 @@ public abstract class ItemEventRouterDefinition : Router
|
||||
string url,
|
||||
PmcData pmcData,
|
||||
BaseInteractionRequestData body,
|
||||
string sessionID,
|
||||
MongoId sessionID,
|
||||
ItemEventRouterResponse output
|
||||
);
|
||||
}
|
||||
@@ -131,7 +132,7 @@ public record HandledRoute(string route, bool dynamic);
|
||||
|
||||
public record RouteAction(
|
||||
string url,
|
||||
Func<string, IRequestData?, string?, string?, ValueTask<object>> action,
|
||||
Func<string, IRequestData?, MongoId, string?, ValueTask<object>> action,
|
||||
Type? bodyType = null
|
||||
);
|
||||
//public action: (url: string, info: any, sessionID: string, output: string) => Promise<any>,
|
||||
|
||||
@@ -812,7 +812,7 @@ public class HideoutHelper(
|
||||
}
|
||||
|
||||
var modifiedProductionTime = recipe.ProductionTime - timeReductionSeconds;
|
||||
if (modifiedProductionTime > 0 && _profileHelper.IsDeveloperAccount(pmcData.Id))
|
||||
if (modifiedProductionTime > 0 && _profileHelper.IsDeveloperAccount(pmcData.Id.Value))
|
||||
{
|
||||
modifiedProductionTime = 40;
|
||||
}
|
||||
|
||||
@@ -62,7 +62,7 @@ public class ProfileHelper(
|
||||
/// Get all profiles from server
|
||||
/// </summary>
|
||||
/// <returns>Dictionary of profiles</returns>
|
||||
public Dictionary<string, SptProfile> GetProfiles()
|
||||
public Dictionary<MongoId, SptProfile> GetProfiles()
|
||||
{
|
||||
return _saveServer.GetProfiles();
|
||||
}
|
||||
@@ -72,7 +72,7 @@ public class ProfileHelper(
|
||||
/// </summary>
|
||||
/// <param name="sessionId">Session/Player id</param>
|
||||
/// <returns>Array of PmcData objects</returns>
|
||||
public List<PmcData> GetCompleteProfile(string sessionId)
|
||||
public List<PmcData> GetCompleteProfile(MongoId sessionId)
|
||||
{
|
||||
var output = new List<PmcData>();
|
||||
|
||||
@@ -113,7 +113,7 @@ public class ProfileHelper(
|
||||
/// <param name="nicknameRequest">nickname request object</param>
|
||||
/// <param name="sessionID">Session id</param>
|
||||
/// <returns>True if already in use</returns>
|
||||
public bool IsNicknameTaken(ValidateNicknameRequestData nicknameRequest, string sessionID)
|
||||
public bool IsNicknameTaken(ValidateNicknameRequestData nicknameRequest, MongoId sessionID)
|
||||
{
|
||||
var allProfiles = _saveServer.GetProfiles().Values;
|
||||
|
||||
@@ -144,7 +144,7 @@ public class ProfileHelper(
|
||||
/// </summary>
|
||||
/// <param name="sessionID">Session id</param>
|
||||
/// <param name="experienceToAdd">Experience to add to PMC character</param>
|
||||
public void AddExperienceToPmc(string sessionID, int experienceToAdd)
|
||||
public void AddExperienceToPmc(MongoId sessionID, int experienceToAdd)
|
||||
{
|
||||
var pmcData = GetPmcProfile(sessionID);
|
||||
if (pmcData != null)
|
||||
@@ -228,7 +228,7 @@ public class ProfileHelper(
|
||||
/// </summary>
|
||||
/// <param name="sessionID">Profile id to get</param>
|
||||
/// <returns>SptProfile object</returns>
|
||||
public SptProfile? GetFullProfile(string sessionID)
|
||||
public SptProfile? GetFullProfile(MongoId sessionID)
|
||||
{
|
||||
return _saveServer.ProfileExists(sessionID) ? _saveServer.GetProfile(sessionID) : null;
|
||||
}
|
||||
@@ -257,7 +257,7 @@ public class ProfileHelper(
|
||||
/// </summary>
|
||||
/// <param name="sessionID">The session ID to return the profile for</param>
|
||||
/// <returns></returns>
|
||||
public SearchFriendResponse? GetChatRoomMemberFromSessionId(string sessionID)
|
||||
public SearchFriendResponse? GetChatRoomMemberFromSessionId(MongoId sessionID)
|
||||
{
|
||||
var pmcProfile = GetFullProfile(sessionID)?.CharacterData?.PmcData;
|
||||
if (pmcProfile == null)
|
||||
@@ -295,7 +295,7 @@ public class ProfileHelper(
|
||||
/// </summary>
|
||||
/// <param name="sessionID">Profile id to return</param>
|
||||
/// <returns>PmcData object</returns>
|
||||
public PmcData? GetPmcProfile(string sessionID)
|
||||
public PmcData? GetPmcProfile(MongoId sessionID)
|
||||
{
|
||||
return GetFullProfile(sessionID)?.CharacterData?.PmcData;
|
||||
}
|
||||
@@ -306,7 +306,7 @@ public class ProfileHelper(
|
||||
/// <param name="userId">Id to validate</param>
|
||||
/// <returns>True is a player</returns>
|
||||
/// UNUSED?
|
||||
public bool IsPlayer(string userId)
|
||||
public bool IsPlayer(MongoId userId)
|
||||
{
|
||||
return _saveServer.ProfileExists(userId);
|
||||
}
|
||||
@@ -316,9 +316,9 @@ public class ProfileHelper(
|
||||
/// </summary>
|
||||
/// <param name="sessionID">Profiles id</param>
|
||||
/// <returns>IPmcData object</returns>
|
||||
public PmcData? GetScavProfile(string sessionID)
|
||||
public PmcData? GetScavProfile(MongoId sessionID)
|
||||
{
|
||||
return _saveServer.GetProfile(sessionID)?.CharacterData?.ScavData;
|
||||
return _saveServer.GetProfile(sessionID).CharacterData?.ScavData;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -360,7 +360,7 @@ public class ProfileHelper(
|
||||
/// <param name="sessionID">Profile id</param>
|
||||
/// <returns>True if profile is to be wiped of data/progress</returns>
|
||||
/// TODO: logic doesn't feel right to have IsWiped being nullable
|
||||
protected bool IsWiped(string sessionID)
|
||||
protected bool IsWiped(MongoId sessionID)
|
||||
{
|
||||
return _saveServer.GetProfile(sessionID)?.ProfileInfo?.IsWiped ?? false;
|
||||
}
|
||||
@@ -397,7 +397,7 @@ public class ProfileHelper(
|
||||
/// <param name="playerId">Player to add gift flag to</param>
|
||||
/// <param name="giftId">Gift player received</param>
|
||||
/// <param name="maxCount">Limit of how many of this gift a player can have</param>
|
||||
public void FlagGiftReceivedInProfile(string playerId, string giftId, int maxCount)
|
||||
public void FlagGiftReceivedInProfile(MongoId playerId, string giftId, int maxCount)
|
||||
{
|
||||
var profileToUpdate = GetFullProfile(playerId);
|
||||
profileToUpdate.SptData.ReceivedGifts ??= [];
|
||||
@@ -430,7 +430,7 @@ public class ProfileHelper(
|
||||
/// <param name="giftId">Gift to check for</param>
|
||||
/// <param name="maxGiftCount">Max times gift can be given to player</param>
|
||||
/// <returns>True if player has received gift previously</returns>
|
||||
public bool PlayerHasReceivedMaxNumberOfGift(string playerId, string giftId, int maxGiftCount)
|
||||
public bool PlayerHasReceivedMaxNumberOfGift(MongoId playerId, string giftId, int maxGiftCount)
|
||||
{
|
||||
var profile = GetFullProfile(playerId);
|
||||
if (profile == null)
|
||||
@@ -561,7 +561,7 @@ public class ProfileHelper(
|
||||
/// </summary>
|
||||
/// <param name="sessionID">Profile id to check</param>
|
||||
/// <returns>True if account is developer</returns>
|
||||
public bool IsDeveloperAccount(string sessionID)
|
||||
public bool IsDeveloperAccount(MongoId sessionID)
|
||||
{
|
||||
return GetFullProfile(sessionID)
|
||||
?.ProfileInfo?.Edition?.ToLowerInvariant()
|
||||
@@ -573,7 +573,7 @@ public class ProfileHelper(
|
||||
/// </summary>
|
||||
/// <param name="sessionId">Profile id to give rows to</param>
|
||||
/// <param name="rowsToAdd">How many rows to give profile</param>
|
||||
public void AddStashRowsBonusToProfile(string sessionId, int rowsToAdd)
|
||||
public void AddStashRowsBonusToProfile(MongoId sessionId, int rowsToAdd)
|
||||
{
|
||||
var profile = GetPmcProfile(sessionId);
|
||||
if (profile?.Bonuses is null)
|
||||
|
||||
@@ -77,7 +77,7 @@ public class RewardHelper(
|
||||
break;
|
||||
case RewardType.Experience:
|
||||
_profileHelper.AddExperienceToPmc(
|
||||
sessionId,
|
||||
sessionId.Value,
|
||||
int.Parse(reward.Value.ToString())
|
||||
); // this must occur first as the output object needs to take the modified profile exp value
|
||||
// Recalculate level in event player leveled up
|
||||
@@ -101,7 +101,7 @@ public class RewardHelper(
|
||||
AddAchievementToProfile(fullProfile, reward.Target);
|
||||
break;
|
||||
case RewardType.StashRows:
|
||||
_profileHelper.AddStashRowsBonusToProfile(sessionId, (int)reward.Value); // Add specified stash rows from reward - requires client restart
|
||||
_profileHelper.AddStashRowsBonusToProfile(sessionId.Value, (int)reward.Value); // Add specified stash rows from reward - requires client restart
|
||||
break;
|
||||
case RewardType.ProductionScheme:
|
||||
FindAndAddHideoutProductionIdToProfile(
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using SPTarkov.DI.Annotations;
|
||||
using SPTarkov.Server.Core.Helpers;
|
||||
using SPTarkov.Server.Core.Models.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common.Tables;
|
||||
using SPTarkov.Server.Core.Models.Eft.ItemEvent;
|
||||
@@ -17,16 +18,16 @@ public class EventOutputHolder(
|
||||
ICloner cloner
|
||||
)
|
||||
{
|
||||
protected readonly Dictionary<string, Dictionary<string, bool>> _clientActiveSessionStorage =
|
||||
protected readonly Dictionary<MongoId, Dictionary<string, bool>> _clientActiveSessionStorage =
|
||||
new();
|
||||
protected readonly Dictionary<string, ItemEventRouterResponse> _outputStore = new();
|
||||
protected readonly Dictionary<MongoId, ItemEventRouterResponse> _outputStore = new();
|
||||
|
||||
/// <summary>
|
||||
/// Get a fresh/empty response to send to the client
|
||||
/// </summary>
|
||||
/// <param name="sessionId">Player id</param>
|
||||
/// <returns>ItemEventRouterResponse</returns>
|
||||
public ItemEventRouterResponse GetOutput(string sessionId)
|
||||
public ItemEventRouterResponse GetOutput(MongoId sessionId)
|
||||
{
|
||||
if (_outputStore.TryGetValue(sessionId, out var result))
|
||||
{
|
||||
@@ -40,7 +41,7 @@ public class EventOutputHolder(
|
||||
return result;
|
||||
}
|
||||
|
||||
public void ResetOutput(string sessionId)
|
||||
public void ResetOutput(MongoId sessionId)
|
||||
{
|
||||
var pmcProfile = profileHelper.GetPmcProfile(sessionId);
|
||||
|
||||
@@ -92,7 +93,7 @@ public class EventOutputHolder(
|
||||
/// Update output object with most recent values from player profile
|
||||
/// </summary>
|
||||
/// <param name="sessionId"> Session id </param>
|
||||
public void UpdateOutputProperties(string sessionId)
|
||||
public void UpdateOutputProperties(MongoId sessionId)
|
||||
{
|
||||
var pmcData = profileHelper.GetPmcProfile(sessionId);
|
||||
var profileChanges = _outputStore[sessionId].ProfileChanges[sessionId];
|
||||
@@ -187,7 +188,7 @@ public class EventOutputHolder(
|
||||
/// <returns> Dictionary of hideout productions </returns>
|
||||
protected Dictionary<string, Production>? GetProductionsFromProfileAndFlagComplete(
|
||||
Dictionary<string, Production>? productions,
|
||||
string sessionId
|
||||
MongoId sessionId
|
||||
)
|
||||
{
|
||||
foreach (var production in productions)
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using SPTarkov.DI.Annotations;
|
||||
using SPTarkov.Server.Core.DI;
|
||||
using SPTarkov.Server.Core.Models.Common;
|
||||
|
||||
namespace SPTarkov.Server.Core.Routers;
|
||||
|
||||
@@ -34,7 +35,7 @@ public class HttpRouter
|
||||
}
|
||||
*/
|
||||
|
||||
public async ValueTask<string?> GetResponse(HttpRequest req, string sessionID, string? body)
|
||||
public async ValueTask<string?> GetResponse(HttpRequest req, MongoId sessionID, string? body)
|
||||
{
|
||||
var wrapper = new ResponseWrapper("");
|
||||
|
||||
@@ -49,7 +50,7 @@ public class HttpRouter
|
||||
|
||||
protected async ValueTask<bool> HandleRoute(
|
||||
HttpRequest request,
|
||||
string sessionID,
|
||||
MongoId sessionID,
|
||||
ResponseWrapper wrapper,
|
||||
IEnumerable<Router> routers,
|
||||
bool dynamic,
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using SPTarkov.DI.Annotations;
|
||||
using SPTarkov.Server.Core.Models.Common;
|
||||
using SPTarkov.Server.Core.Models.Utils;
|
||||
using SPTarkov.Server.Core.Services.Image;
|
||||
using SPTarkov.Server.Core.Utils;
|
||||
@@ -6,45 +7,32 @@ using SPTarkov.Server.Core.Utils;
|
||||
namespace SPTarkov.Server.Core.Routers;
|
||||
|
||||
[Injectable]
|
||||
public class ImageRouter
|
||||
public class ImageRouter(
|
||||
FileUtil fileUtil,
|
||||
ImageRouterService imageRouterService,
|
||||
HttpFileUtil httpFileUtil,
|
||||
ISptLogger<ImageRouter> logger
|
||||
)
|
||||
{
|
||||
private readonly ISptLogger<ImageRouter> _logger;
|
||||
protected FileUtil _fileUtil;
|
||||
protected HttpFileUtil _httpFileUtil;
|
||||
protected ImageRouterService _imageRouterService;
|
||||
|
||||
public ImageRouter(
|
||||
FileUtil fileUtil,
|
||||
ImageRouterService imageRouteService,
|
||||
HttpFileUtil httpFileUtil,
|
||||
ISptLogger<ImageRouter> logger
|
||||
)
|
||||
{
|
||||
_fileUtil = fileUtil;
|
||||
_imageRouterService = imageRouteService;
|
||||
_httpFileUtil = httpFileUtil;
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
public void AddRoute(string key, string valueToAdd)
|
||||
{
|
||||
_imageRouterService.AddRoute(key.ToLowerInvariant(), valueToAdd);
|
||||
imageRouterService.AddRoute(key.ToLowerInvariant(), valueToAdd);
|
||||
}
|
||||
|
||||
public async Task SendImage(string sessionId, HttpRequest req, HttpResponse resp, object body)
|
||||
public async Task SendImage(MongoId sessionId, HttpRequest req, HttpResponse resp, object body)
|
||||
{
|
||||
// remove file extension
|
||||
var url = _fileUtil.StripExtension(req.Path, true);
|
||||
var url = fileUtil.StripExtension(req.Path, true);
|
||||
|
||||
// Send image
|
||||
var urlKeyLower = url.ToLowerInvariant();
|
||||
if (_imageRouterService.ExistsByKey(urlKeyLower))
|
||||
if (imageRouterService.ExistsByKey(urlKeyLower))
|
||||
{
|
||||
await _httpFileUtil.SendFile(resp, _imageRouterService.GetByKey(urlKeyLower));
|
||||
await httpFileUtil.SendFile(resp, imageRouterService.GetByKey(urlKeyLower));
|
||||
return;
|
||||
}
|
||||
|
||||
_logger.Warning($"IMAGE: {url} not found");
|
||||
logger.Warning($"IMAGE: {url} not found");
|
||||
}
|
||||
|
||||
public ValueTask<string> GetImage()
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using SPTarkov.DI.Annotations;
|
||||
using SPTarkov.Server.Core.DI;
|
||||
using SPTarkov.Server.Core.Helpers;
|
||||
using SPTarkov.Server.Core.Models.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.ItemEvent;
|
||||
using SPTarkov.Server.Core.Models.Utils;
|
||||
using SPTarkov.Server.Core.Services;
|
||||
@@ -31,7 +32,7 @@ public class ItemEventRouter(
|
||||
/// <returns> Item response </returns>
|
||||
public async ValueTask<ItemEventRouterResponse> HandleEvents(
|
||||
ItemEventRouterRequest info,
|
||||
string sessionID
|
||||
MongoId sessionID
|
||||
)
|
||||
{
|
||||
var output = eventOutputHolder.GetOutput(sessionID);
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using SPTarkov.DI.Annotations;
|
||||
using SPTarkov.Server.Core.Callbacks;
|
||||
using SPTarkov.Server.Core.DI;
|
||||
using SPTarkov.Server.Core.Models.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common.Request;
|
||||
using SPTarkov.Server.Core.Models.Eft.Customization;
|
||||
@@ -11,20 +12,11 @@ using SPTarkov.Server.Core.Models.Utils;
|
||||
namespace SPTarkov.Server.Core.Routers.ItemEvents;
|
||||
|
||||
[Injectable]
|
||||
public class CustomizationItemEventRouter : ItemEventRouterDefinition
|
||||
public class CustomizationItemEventRouter(
|
||||
ISptLogger<CustomizationItemEventRouter> logger,
|
||||
CustomizationCallbacks customizationCallbacks
|
||||
) : ItemEventRouterDefinition
|
||||
{
|
||||
protected CustomizationCallbacks _customizationCallbacks;
|
||||
protected ISptLogger<CustomizationItemEventRouter> _logger;
|
||||
|
||||
public CustomizationItemEventRouter(
|
||||
ISptLogger<CustomizationItemEventRouter> logger,
|
||||
CustomizationCallbacks customizationCallbacks
|
||||
)
|
||||
{
|
||||
_logger = logger;
|
||||
_customizationCallbacks = customizationCallbacks;
|
||||
}
|
||||
|
||||
protected override List<HandledRoute> GetHandledRoutes()
|
||||
{
|
||||
return new List<HandledRoute>
|
||||
@@ -38,7 +30,7 @@ public class CustomizationItemEventRouter : ItemEventRouterDefinition
|
||||
string url,
|
||||
PmcData pmcData,
|
||||
BaseInteractionRequestData body,
|
||||
string sessionID,
|
||||
MongoId sessionID,
|
||||
ItemEventRouterResponse output
|
||||
)
|
||||
{
|
||||
@@ -46,7 +38,7 @@ public class CustomizationItemEventRouter : ItemEventRouterDefinition
|
||||
{
|
||||
case ItemEventActions.CUSTOMIZATION_BUY:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_customizationCallbacks.BuyCustomisation(
|
||||
customizationCallbacks.BuyCustomisation(
|
||||
pmcData,
|
||||
body as BuyClothingRequestData,
|
||||
sessionID
|
||||
@@ -54,7 +46,7 @@ public class CustomizationItemEventRouter : ItemEventRouterDefinition
|
||||
);
|
||||
case ItemEventActions.CUSTOMIZATION_SET:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_customizationCallbacks.SetCustomisation(
|
||||
customizationCallbacks.SetCustomisation(
|
||||
pmcData,
|
||||
body as CustomizationSetRequest,
|
||||
sessionID
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using SPTarkov.DI.Annotations;
|
||||
using SPTarkov.Server.Core.Callbacks;
|
||||
using SPTarkov.Server.Core.DI;
|
||||
using SPTarkov.Server.Core.Models.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common.Request;
|
||||
using SPTarkov.Server.Core.Models.Eft.Health;
|
||||
@@ -10,15 +11,8 @@ using SPTarkov.Server.Core.Models.Enums;
|
||||
namespace SPTarkov.Server.Core.Routers.ItemEvents;
|
||||
|
||||
[Injectable]
|
||||
public class HealthItemEventRouter : ItemEventRouterDefinition
|
||||
public class HealthItemEventRouter(HealthCallbacks healthCallbacks) : ItemEventRouterDefinition
|
||||
{
|
||||
protected HealthCallbacks _healthCallbacks;
|
||||
|
||||
public HealthItemEventRouter(HealthCallbacks healthCallbacks)
|
||||
{
|
||||
_healthCallbacks = healthCallbacks;
|
||||
}
|
||||
|
||||
protected override List<HandledRoute> GetHandledRoutes()
|
||||
{
|
||||
return
|
||||
@@ -33,7 +27,7 @@ public class HealthItemEventRouter : ItemEventRouterDefinition
|
||||
string url,
|
||||
PmcData pmcData,
|
||||
BaseInteractionRequestData body,
|
||||
string sessionID,
|
||||
MongoId sessionID,
|
||||
ItemEventRouterResponse output
|
||||
)
|
||||
{
|
||||
@@ -41,15 +35,15 @@ public class HealthItemEventRouter : ItemEventRouterDefinition
|
||||
{
|
||||
case ItemEventActions.EAT:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_healthCallbacks.OffraidEat(pmcData, body as OffraidEatRequestData, sessionID)
|
||||
healthCallbacks.OffraidEat(pmcData, body as OffraidEatRequestData, sessionID)
|
||||
);
|
||||
case ItemEventActions.HEAL:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_healthCallbacks.OffraidHeal(pmcData, body as OffraidHealRequestData, sessionID)
|
||||
healthCallbacks.OffraidHeal(pmcData, body as OffraidHealRequestData, sessionID)
|
||||
);
|
||||
case ItemEventActions.RESTORE_HEALTH:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_healthCallbacks.HealthTreatment(
|
||||
healthCallbacks.HealthTreatment(
|
||||
pmcData,
|
||||
body as HealthTreatmentRequestData,
|
||||
sessionID
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using SPTarkov.DI.Annotations;
|
||||
using SPTarkov.Server.Core.Callbacks;
|
||||
using SPTarkov.Server.Core.DI;
|
||||
using SPTarkov.Server.Core.Models.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common.Request;
|
||||
using SPTarkov.Server.Core.Models.Eft.Hideout;
|
||||
@@ -10,15 +11,8 @@ using SPTarkov.Server.Core.Models.Enums;
|
||||
namespace SPTarkov.Server.Core.Routers.ItemEvents;
|
||||
|
||||
[Injectable]
|
||||
public class HideoutItemEventRouter : ItemEventRouterDefinition
|
||||
public class HideoutItemEventRouter(HideoutCallbacks hideoutCallbacks) : ItemEventRouterDefinition
|
||||
{
|
||||
protected HideoutCallbacks _hideoutCallbacks;
|
||||
|
||||
public HideoutItemEventRouter(HideoutCallbacks hideoutCallbacks)
|
||||
{
|
||||
_hideoutCallbacks = hideoutCallbacks;
|
||||
}
|
||||
|
||||
protected override List<HandledRoute> GetHandledRoutes()
|
||||
{
|
||||
return
|
||||
@@ -46,7 +40,7 @@ public class HideoutItemEventRouter : ItemEventRouterDefinition
|
||||
string url,
|
||||
PmcData pmcData,
|
||||
BaseInteractionRequestData body,
|
||||
string sessionID,
|
||||
MongoId sessionID,
|
||||
ItemEventRouterResponse output
|
||||
)
|
||||
{
|
||||
@@ -54,7 +48,7 @@ public class HideoutItemEventRouter : ItemEventRouterDefinition
|
||||
{
|
||||
case HideoutEventActions.HIDEOUT_UPGRADE:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_hideoutCallbacks.Upgrade(
|
||||
hideoutCallbacks.Upgrade(
|
||||
pmcData,
|
||||
body as HideoutUpgradeRequestData,
|
||||
sessionID,
|
||||
@@ -63,7 +57,7 @@ public class HideoutItemEventRouter : ItemEventRouterDefinition
|
||||
);
|
||||
case HideoutEventActions.HIDEOUT_UPGRADE_COMPLETE:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_hideoutCallbacks.UpgradeComplete(
|
||||
hideoutCallbacks.UpgradeComplete(
|
||||
pmcData,
|
||||
body as HideoutUpgradeCompleteRequestData,
|
||||
sessionID,
|
||||
@@ -72,7 +66,7 @@ public class HideoutItemEventRouter : ItemEventRouterDefinition
|
||||
);
|
||||
case HideoutEventActions.HIDEOUT_PUT_ITEMS_IN_AREA_SLOTS:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_hideoutCallbacks.PutItemsInAreaSlots(
|
||||
hideoutCallbacks.PutItemsInAreaSlots(
|
||||
pmcData,
|
||||
body as HideoutPutItemInRequestData,
|
||||
sessionID
|
||||
@@ -80,7 +74,7 @@ public class HideoutItemEventRouter : ItemEventRouterDefinition
|
||||
);
|
||||
case HideoutEventActions.HIDEOUT_TAKE_ITEMS_FROM_AREA_SLOTS:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_hideoutCallbacks.TakeItemsFromAreaSlots(
|
||||
hideoutCallbacks.TakeItemsFromAreaSlots(
|
||||
pmcData,
|
||||
body as HideoutTakeItemOutRequestData,
|
||||
sessionID
|
||||
@@ -88,7 +82,7 @@ public class HideoutItemEventRouter : ItemEventRouterDefinition
|
||||
);
|
||||
case HideoutEventActions.HIDEOUT_TOGGLE_AREA:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_hideoutCallbacks.ToggleArea(
|
||||
hideoutCallbacks.ToggleArea(
|
||||
pmcData,
|
||||
body as HideoutToggleAreaRequestData,
|
||||
sessionID
|
||||
@@ -96,7 +90,7 @@ public class HideoutItemEventRouter : ItemEventRouterDefinition
|
||||
);
|
||||
case HideoutEventActions.HIDEOUT_SINGLE_PRODUCTION_START:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_hideoutCallbacks.SingleProductionStart(
|
||||
hideoutCallbacks.SingleProductionStart(
|
||||
pmcData,
|
||||
body as HideoutSingleProductionStartRequestData,
|
||||
sessionID
|
||||
@@ -104,7 +98,7 @@ public class HideoutItemEventRouter : ItemEventRouterDefinition
|
||||
);
|
||||
case HideoutEventActions.HIDEOUT_SCAV_CASE_PRODUCTION_START:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_hideoutCallbacks.ScavCaseProductionStart(
|
||||
hideoutCallbacks.ScavCaseProductionStart(
|
||||
pmcData,
|
||||
body as HideoutScavCaseStartRequestData,
|
||||
sessionID
|
||||
@@ -112,7 +106,7 @@ public class HideoutItemEventRouter : ItemEventRouterDefinition
|
||||
);
|
||||
case HideoutEventActions.HIDEOUT_CONTINUOUS_PRODUCTION_START:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_hideoutCallbacks.ContinuousProductionStart(
|
||||
hideoutCallbacks.ContinuousProductionStart(
|
||||
pmcData,
|
||||
body as HideoutContinuousProductionStartRequestData,
|
||||
sessionID
|
||||
@@ -120,7 +114,7 @@ public class HideoutItemEventRouter : ItemEventRouterDefinition
|
||||
);
|
||||
case HideoutEventActions.HIDEOUT_TAKE_PRODUCTION:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_hideoutCallbacks.TakeProduction(
|
||||
hideoutCallbacks.TakeProduction(
|
||||
pmcData,
|
||||
body as HideoutTakeProductionRequestData,
|
||||
sessionID
|
||||
@@ -128,7 +122,7 @@ public class HideoutItemEventRouter : ItemEventRouterDefinition
|
||||
);
|
||||
case HideoutEventActions.HIDEOUT_RECORD_SHOOTING_RANGE_POINTS:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_hideoutCallbacks.RecordShootingRangePoints(
|
||||
hideoutCallbacks.RecordShootingRangePoints(
|
||||
pmcData,
|
||||
body as RecordShootingRangePoints,
|
||||
sessionID,
|
||||
@@ -137,7 +131,7 @@ public class HideoutItemEventRouter : ItemEventRouterDefinition
|
||||
);
|
||||
case HideoutEventActions.HIDEOUT_IMPROVE_AREA:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_hideoutCallbacks.ImproveArea(
|
||||
hideoutCallbacks.ImproveArea(
|
||||
pmcData,
|
||||
body as HideoutImproveAreaRequestData,
|
||||
sessionID
|
||||
@@ -145,7 +139,7 @@ public class HideoutItemEventRouter : ItemEventRouterDefinition
|
||||
);
|
||||
case HideoutEventActions.HIDEOUT_CANCEL_PRODUCTION_COMMAND:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_hideoutCallbacks.CancelProduction(
|
||||
hideoutCallbacks.CancelProduction(
|
||||
pmcData,
|
||||
body as HideoutCancelProductionRequestData,
|
||||
sessionID
|
||||
@@ -153,7 +147,7 @@ public class HideoutItemEventRouter : ItemEventRouterDefinition
|
||||
);
|
||||
case HideoutEventActions.HIDEOUT_CIRCLE_OF_CULTIST_PRODUCTION_START:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_hideoutCallbacks.CicleOfCultistProductionStart(
|
||||
hideoutCallbacks.CicleOfCultistProductionStart(
|
||||
pmcData,
|
||||
body as HideoutCircleOfCultistProductionStartRequestData,
|
||||
sessionID
|
||||
@@ -161,7 +155,7 @@ public class HideoutItemEventRouter : ItemEventRouterDefinition
|
||||
);
|
||||
case HideoutEventActions.HIDEOUT_DELETE_PRODUCTION_COMMAND:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_hideoutCallbacks.HideoutDeleteProductionCommand(
|
||||
hideoutCallbacks.HideoutDeleteProductionCommand(
|
||||
pmcData,
|
||||
body as HideoutDeleteProductionRequestData,
|
||||
sessionID
|
||||
@@ -169,7 +163,7 @@ public class HideoutItemEventRouter : ItemEventRouterDefinition
|
||||
);
|
||||
case HideoutEventActions.HIDEOUT_CUSTOMIZATION_APPLY_COMMAND:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_hideoutCallbacks.HideoutCustomizationApplyCommand(
|
||||
hideoutCallbacks.HideoutCustomizationApplyCommand(
|
||||
pmcData,
|
||||
body as HideoutCustomizationApplyRequestData,
|
||||
sessionID
|
||||
@@ -177,7 +171,7 @@ public class HideoutItemEventRouter : ItemEventRouterDefinition
|
||||
);
|
||||
case HideoutEventActions.HIDEOUT_CUSTOMIZATION_SET_MANNEQUIN_POSE:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_hideoutCallbacks.HideoutCustomizationSetMannequinPose(
|
||||
hideoutCallbacks.HideoutCustomizationSetMannequinPose(
|
||||
pmcData,
|
||||
body as HideoutCustomizationSetMannequinPoseRequest,
|
||||
sessionID
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using SPTarkov.DI.Annotations;
|
||||
using SPTarkov.Server.Core.Callbacks;
|
||||
using SPTarkov.Server.Core.DI;
|
||||
using SPTarkov.Server.Core.Models.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common.Request;
|
||||
using SPTarkov.Server.Core.Models.Eft.Insurance;
|
||||
@@ -10,15 +11,9 @@ using SPTarkov.Server.Core.Models.Enums;
|
||||
namespace SPTarkov.Server.Core.Routers.ItemEvents;
|
||||
|
||||
[Injectable]
|
||||
public class InsuranceItemEventRouter : ItemEventRouterDefinition
|
||||
public class InsuranceItemEventRouter(InsuranceCallbacks insuranceCallbacks)
|
||||
: ItemEventRouterDefinition
|
||||
{
|
||||
protected InsuranceCallbacks _insuranceCallbacks;
|
||||
|
||||
public InsuranceItemEventRouter(InsuranceCallbacks insuranceCallbacks)
|
||||
{
|
||||
_insuranceCallbacks = insuranceCallbacks;
|
||||
}
|
||||
|
||||
protected override List<HandledRoute> GetHandledRoutes()
|
||||
{
|
||||
return new List<HandledRoute> { new(ItemEventActions.INSURE, false) };
|
||||
@@ -28,7 +23,7 @@ public class InsuranceItemEventRouter : ItemEventRouterDefinition
|
||||
string url,
|
||||
PmcData pmcData,
|
||||
BaseInteractionRequestData body,
|
||||
string sessionID,
|
||||
MongoId sessionID,
|
||||
ItemEventRouterResponse output
|
||||
)
|
||||
{
|
||||
@@ -36,7 +31,7 @@ public class InsuranceItemEventRouter : ItemEventRouterDefinition
|
||||
{
|
||||
case ItemEventActions.INSURE:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_insuranceCallbacks.Insure(pmcData, body as InsureRequestData, sessionID)
|
||||
insuranceCallbacks.Insure(pmcData, body as InsureRequestData, sessionID)
|
||||
);
|
||||
default:
|
||||
throw new Exception(
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using SPTarkov.DI.Annotations;
|
||||
using SPTarkov.Server.Core.Callbacks;
|
||||
using SPTarkov.Server.Core.DI;
|
||||
using SPTarkov.Server.Core.Models.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common.Request;
|
||||
using SPTarkov.Server.Core.Models.Eft.Hideout;
|
||||
@@ -12,20 +13,11 @@ using SPTarkov.Server.Core.Models.Enums;
|
||||
namespace SPTarkov.Server.Core.Routers.ItemEvents;
|
||||
|
||||
[Injectable]
|
||||
public class InventoryItemEventRouter : ItemEventRouterDefinition
|
||||
public class InventoryItemEventRouter(
|
||||
InventoryCallbacks inventoryCallbacks,
|
||||
HideoutCallbacks hideoutCallbacks
|
||||
) : ItemEventRouterDefinition
|
||||
{
|
||||
protected HideoutCallbacks _hideoutCallbacks;
|
||||
protected InventoryCallbacks _inventoryCallbacks;
|
||||
|
||||
public InventoryItemEventRouter(
|
||||
InventoryCallbacks inventoryCallbacks,
|
||||
HideoutCallbacks hideoutCallbacks
|
||||
)
|
||||
{
|
||||
_inventoryCallbacks = inventoryCallbacks;
|
||||
_hideoutCallbacks = hideoutCallbacks;
|
||||
}
|
||||
|
||||
protected override List<HandledRoute> GetHandledRoutes()
|
||||
{
|
||||
return new List<HandledRoute>
|
||||
@@ -60,7 +52,7 @@ public class InventoryItemEventRouter : ItemEventRouterDefinition
|
||||
string url,
|
||||
PmcData pmcData,
|
||||
BaseInteractionRequestData body,
|
||||
string sessionID,
|
||||
MongoId sessionID,
|
||||
ItemEventRouterResponse output
|
||||
)
|
||||
{
|
||||
@@ -68,7 +60,7 @@ public class InventoryItemEventRouter : ItemEventRouterDefinition
|
||||
{
|
||||
case ItemEventActions.MOVE:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_inventoryCallbacks.MoveItem(
|
||||
inventoryCallbacks.MoveItem(
|
||||
pmcData,
|
||||
body as InventoryMoveRequestData,
|
||||
sessionID,
|
||||
@@ -77,7 +69,7 @@ public class InventoryItemEventRouter : ItemEventRouterDefinition
|
||||
);
|
||||
case ItemEventActions.REMOVE:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_inventoryCallbacks.RemoveItem(
|
||||
inventoryCallbacks.RemoveItem(
|
||||
pmcData,
|
||||
body as InventoryRemoveRequestData,
|
||||
sessionID,
|
||||
@@ -86,7 +78,7 @@ public class InventoryItemEventRouter : ItemEventRouterDefinition
|
||||
);
|
||||
case ItemEventActions.SPLIT:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_inventoryCallbacks.SplitItem(
|
||||
inventoryCallbacks.SplitItem(
|
||||
pmcData,
|
||||
body as InventorySplitRequestData,
|
||||
sessionID,
|
||||
@@ -95,7 +87,7 @@ public class InventoryItemEventRouter : ItemEventRouterDefinition
|
||||
);
|
||||
case ItemEventActions.MERGE:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_inventoryCallbacks.MergeItem(
|
||||
inventoryCallbacks.MergeItem(
|
||||
pmcData,
|
||||
body as InventoryMergeRequestData,
|
||||
sessionID,
|
||||
@@ -104,7 +96,7 @@ public class InventoryItemEventRouter : ItemEventRouterDefinition
|
||||
);
|
||||
case ItemEventActions.TRANSFER:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_inventoryCallbacks.TransferItem(
|
||||
inventoryCallbacks.TransferItem(
|
||||
pmcData,
|
||||
body as InventoryTransferRequestData,
|
||||
sessionID,
|
||||
@@ -113,7 +105,7 @@ public class InventoryItemEventRouter : ItemEventRouterDefinition
|
||||
);
|
||||
case ItemEventActions.SWAP:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_inventoryCallbacks.SwapItem(
|
||||
inventoryCallbacks.SwapItem(
|
||||
pmcData,
|
||||
body as InventorySwapRequestData,
|
||||
sessionID
|
||||
@@ -121,7 +113,7 @@ public class InventoryItemEventRouter : ItemEventRouterDefinition
|
||||
);
|
||||
case ItemEventActions.FOLD:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_inventoryCallbacks.FoldItem(
|
||||
inventoryCallbacks.FoldItem(
|
||||
pmcData,
|
||||
body as InventoryFoldRequestData,
|
||||
sessionID
|
||||
@@ -129,7 +121,7 @@ public class InventoryItemEventRouter : ItemEventRouterDefinition
|
||||
);
|
||||
case ItemEventActions.TOGGLE:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_inventoryCallbacks.ToggleItem(
|
||||
inventoryCallbacks.ToggleItem(
|
||||
pmcData,
|
||||
body as InventoryToggleRequestData,
|
||||
sessionID
|
||||
@@ -137,11 +129,11 @@ public class InventoryItemEventRouter : ItemEventRouterDefinition
|
||||
);
|
||||
case ItemEventActions.TAG:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_inventoryCallbacks.TagItem(pmcData, body as InventoryTagRequestData, sessionID)
|
||||
inventoryCallbacks.TagItem(pmcData, body as InventoryTagRequestData, sessionID)
|
||||
);
|
||||
case ItemEventActions.BIND:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_inventoryCallbacks.BindItem(
|
||||
inventoryCallbacks.BindItem(
|
||||
pmcData,
|
||||
body as InventoryBindRequestData,
|
||||
sessionID,
|
||||
@@ -150,7 +142,7 @@ public class InventoryItemEventRouter : ItemEventRouterDefinition
|
||||
);
|
||||
case ItemEventActions.UNBIND:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_inventoryCallbacks.UnBindItem(
|
||||
inventoryCallbacks.UnBindItem(
|
||||
pmcData,
|
||||
body as InventoryBindRequestData,
|
||||
sessionID,
|
||||
@@ -159,7 +151,7 @@ public class InventoryItemEventRouter : ItemEventRouterDefinition
|
||||
);
|
||||
case ItemEventActions.EXAMINE:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_inventoryCallbacks.ExamineItem(
|
||||
inventoryCallbacks.ExamineItem(
|
||||
pmcData,
|
||||
body as InventoryExamineRequestData,
|
||||
sessionID,
|
||||
@@ -168,7 +160,7 @@ public class InventoryItemEventRouter : ItemEventRouterDefinition
|
||||
);
|
||||
case ItemEventActions.READ_ENCYCLOPEDIA:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_inventoryCallbacks.ReadEncyclopedia(
|
||||
inventoryCallbacks.ReadEncyclopedia(
|
||||
pmcData,
|
||||
body as InventoryReadEncyclopediaRequestData,
|
||||
sessionID
|
||||
@@ -176,7 +168,7 @@ public class InventoryItemEventRouter : ItemEventRouterDefinition
|
||||
);
|
||||
case ItemEventActions.APPLY_INVENTORY_CHANGES:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_inventoryCallbacks.SortInventory(
|
||||
inventoryCallbacks.SortInventory(
|
||||
pmcData,
|
||||
body as InventorySortRequestData,
|
||||
sessionID,
|
||||
@@ -185,7 +177,7 @@ public class InventoryItemEventRouter : ItemEventRouterDefinition
|
||||
);
|
||||
case ItemEventActions.CREATE_MAP_MARKER:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_inventoryCallbacks.CreateMapMarker(
|
||||
inventoryCallbacks.CreateMapMarker(
|
||||
pmcData,
|
||||
body as InventoryCreateMarkerRequestData,
|
||||
sessionID,
|
||||
@@ -194,7 +186,7 @@ public class InventoryItemEventRouter : ItemEventRouterDefinition
|
||||
);
|
||||
case ItemEventActions.DELETE_MAP_MARKER:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_inventoryCallbacks.DeleteMapMarker(
|
||||
inventoryCallbacks.DeleteMapMarker(
|
||||
pmcData,
|
||||
body as InventoryDeleteMarkerRequestData,
|
||||
sessionID,
|
||||
@@ -203,7 +195,7 @@ public class InventoryItemEventRouter : ItemEventRouterDefinition
|
||||
);
|
||||
case ItemEventActions.EDIT_MAP_MARKER:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_inventoryCallbacks.EditMapMarker(
|
||||
inventoryCallbacks.EditMapMarker(
|
||||
pmcData,
|
||||
body as InventoryEditMarkerRequestData,
|
||||
sessionID,
|
||||
@@ -212,7 +204,7 @@ public class InventoryItemEventRouter : ItemEventRouterDefinition
|
||||
);
|
||||
case ItemEventActions.OPEN_RANDOM_LOOT_CONTAINER:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_inventoryCallbacks.OpenRandomLootContainer(
|
||||
inventoryCallbacks.OpenRandomLootContainer(
|
||||
pmcData,
|
||||
body as OpenRandomLootContainerRequestData,
|
||||
sessionID,
|
||||
@@ -221,7 +213,7 @@ public class InventoryItemEventRouter : ItemEventRouterDefinition
|
||||
);
|
||||
case ItemEventActions.HIDEOUT_QTE_EVENT:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_hideoutCallbacks.HandleQTEEvent(
|
||||
hideoutCallbacks.HandleQTEEvent(
|
||||
pmcData,
|
||||
body as HandleQTEEventRequestData,
|
||||
sessionID,
|
||||
@@ -230,7 +222,7 @@ public class InventoryItemEventRouter : ItemEventRouterDefinition
|
||||
);
|
||||
case ItemEventActions.REDEEM_PROFILE_REWARD:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_inventoryCallbacks.RedeemProfileReward(
|
||||
inventoryCallbacks.RedeemProfileReward(
|
||||
pmcData,
|
||||
body as RedeemProfileRequestData,
|
||||
sessionID,
|
||||
@@ -239,7 +231,7 @@ public class InventoryItemEventRouter : ItemEventRouterDefinition
|
||||
);
|
||||
case ItemEventActions.SET_FAVORITE_ITEMS:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_inventoryCallbacks.SetFavoriteItem(
|
||||
inventoryCallbacks.SetFavoriteItem(
|
||||
pmcData,
|
||||
body as SetFavoriteItems,
|
||||
sessionID,
|
||||
@@ -248,7 +240,7 @@ public class InventoryItemEventRouter : ItemEventRouterDefinition
|
||||
);
|
||||
case ItemEventActions.QUEST_FAIL:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_inventoryCallbacks.FailQuest(
|
||||
inventoryCallbacks.FailQuest(
|
||||
pmcData,
|
||||
body as FailQuestRequestData,
|
||||
sessionID,
|
||||
@@ -257,7 +249,7 @@ public class InventoryItemEventRouter : ItemEventRouterDefinition
|
||||
);
|
||||
case ItemEventActions.PIN_LOCK:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_inventoryCallbacks.PinOrLock(
|
||||
inventoryCallbacks.PinOrLock(
|
||||
pmcData,
|
||||
body as PinOrLockItemRequest,
|
||||
sessionID,
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using SPTarkov.DI.Annotations;
|
||||
using SPTarkov.Server.Core.Callbacks;
|
||||
using SPTarkov.Server.Core.DI;
|
||||
using SPTarkov.Server.Core.Models.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common.Request;
|
||||
using SPTarkov.Server.Core.Models.Eft.ItemEvent;
|
||||
@@ -10,15 +11,8 @@ using SPTarkov.Server.Core.Models.Enums;
|
||||
namespace SPTarkov.Server.Core.Routers.ItemEvents;
|
||||
|
||||
[Injectable]
|
||||
public class NoteItemEventRouter : ItemEventRouterDefinition
|
||||
public class NoteItemEventRouter(NoteCallbacks noteCallbacks) : ItemEventRouterDefinition
|
||||
{
|
||||
protected NoteCallbacks _noteCallbacks;
|
||||
|
||||
public NoteItemEventRouter(NoteCallbacks noteCallbacks)
|
||||
{
|
||||
_noteCallbacks = noteCallbacks;
|
||||
}
|
||||
|
||||
protected override List<HandledRoute> GetHandledRoutes()
|
||||
{
|
||||
return new List<HandledRoute>
|
||||
@@ -33,7 +27,7 @@ public class NoteItemEventRouter : ItemEventRouterDefinition
|
||||
string url,
|
||||
PmcData pmcData,
|
||||
BaseInteractionRequestData body,
|
||||
string sessionID,
|
||||
MongoId sessionID,
|
||||
ItemEventRouterResponse output
|
||||
)
|
||||
{
|
||||
@@ -41,15 +35,15 @@ public class NoteItemEventRouter : ItemEventRouterDefinition
|
||||
{
|
||||
case ItemEventActions.ADD_NOTE:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_noteCallbacks.AddNote(pmcData, body as NoteActionRequest, sessionID)
|
||||
noteCallbacks.AddNote(pmcData, body as NoteActionRequest, sessionID)
|
||||
);
|
||||
case ItemEventActions.EDIT_NOTE:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_noteCallbacks.EditNote(pmcData, body as NoteActionRequest, sessionID)
|
||||
noteCallbacks.EditNote(pmcData, body as NoteActionRequest, sessionID)
|
||||
);
|
||||
case ItemEventActions.DELETE_NOTE:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_noteCallbacks.DeleteNote(pmcData, body as NoteActionRequest, sessionID)
|
||||
noteCallbacks.DeleteNote(pmcData, body as NoteActionRequest, sessionID)
|
||||
);
|
||||
default:
|
||||
throw new Exception(
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using SPTarkov.DI.Annotations;
|
||||
using SPTarkov.Server.Core.Callbacks;
|
||||
using SPTarkov.Server.Core.DI;
|
||||
using SPTarkov.Server.Core.Models.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common.Request;
|
||||
using SPTarkov.Server.Core.Models.Eft.ItemEvent;
|
||||
@@ -10,15 +11,8 @@ using SPTarkov.Server.Core.Models.Enums;
|
||||
namespace SPTarkov.Server.Core.Routers.ItemEvents;
|
||||
|
||||
[Injectable]
|
||||
public class QuestItemEventRouter : ItemEventRouterDefinition
|
||||
public class QuestItemEventRouter(QuestCallbacks questCallbacks) : ItemEventRouterDefinition
|
||||
{
|
||||
protected QuestCallbacks _questCallbacks;
|
||||
|
||||
public QuestItemEventRouter(QuestCallbacks questCallbacks)
|
||||
{
|
||||
_questCallbacks = questCallbacks;
|
||||
}
|
||||
|
||||
protected override List<HandledRoute> GetHandledRoutes()
|
||||
{
|
||||
return new List<HandledRoute>
|
||||
@@ -34,7 +28,7 @@ public class QuestItemEventRouter : ItemEventRouterDefinition
|
||||
string url,
|
||||
PmcData pmcData,
|
||||
BaseInteractionRequestData body,
|
||||
string sessionID,
|
||||
MongoId sessionID,
|
||||
ItemEventRouterResponse output
|
||||
)
|
||||
{
|
||||
@@ -42,11 +36,11 @@ public class QuestItemEventRouter : ItemEventRouterDefinition
|
||||
{
|
||||
case ItemEventActions.QUEST_ACCEPT:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_questCallbacks.AcceptQuest(pmcData, body as AcceptQuestRequestData, sessionID)
|
||||
questCallbacks.AcceptQuest(pmcData, body as AcceptQuestRequestData, sessionID)
|
||||
);
|
||||
case ItemEventActions.QUEST_COMPLETE:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_questCallbacks.CompleteQuest(
|
||||
questCallbacks.CompleteQuest(
|
||||
pmcData,
|
||||
body as CompleteQuestRequestData,
|
||||
sessionID
|
||||
@@ -54,7 +48,7 @@ public class QuestItemEventRouter : ItemEventRouterDefinition
|
||||
);
|
||||
case ItemEventActions.QUEST_HANDOVER:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_questCallbacks.HandoverQuest(
|
||||
questCallbacks.HandoverQuest(
|
||||
pmcData,
|
||||
body as HandoverQuestRequestData,
|
||||
sessionID
|
||||
@@ -62,7 +56,7 @@ public class QuestItemEventRouter : ItemEventRouterDefinition
|
||||
);
|
||||
case ItemEventActions.REPEATABLE_QUEST_CHANGE:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_questCallbacks.ChangeRepeatableQuest(
|
||||
questCallbacks.ChangeRepeatableQuest(
|
||||
pmcData,
|
||||
body as RepeatableQuestChangeRequest,
|
||||
sessionID
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using SPTarkov.DI.Annotations;
|
||||
using SPTarkov.Server.Core.Callbacks;
|
||||
using SPTarkov.Server.Core.DI;
|
||||
using SPTarkov.Server.Core.Models.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common.Request;
|
||||
using SPTarkov.Server.Core.Models.Eft.ItemEvent;
|
||||
@@ -10,15 +11,8 @@ using SPTarkov.Server.Core.Models.Enums;
|
||||
namespace SPTarkov.Server.Core.Routers.ItemEvents;
|
||||
|
||||
[Injectable]
|
||||
public class RagfairItemEventRouter : ItemEventRouterDefinition
|
||||
public class RagfairItemEventRouter(RagfairCallbacks ragfairCallbacks) : ItemEventRouterDefinition
|
||||
{
|
||||
protected RagfairCallbacks _ragfairCallbacks;
|
||||
|
||||
public RagfairItemEventRouter(RagfairCallbacks ragfairCallbacks)
|
||||
{
|
||||
_ragfairCallbacks = ragfairCallbacks;
|
||||
}
|
||||
|
||||
protected override List<HandledRoute> GetHandledRoutes()
|
||||
{
|
||||
return new List<HandledRoute>
|
||||
@@ -33,7 +27,7 @@ public class RagfairItemEventRouter : ItemEventRouterDefinition
|
||||
string url,
|
||||
PmcData pmcData,
|
||||
BaseInteractionRequestData body,
|
||||
string sessionID,
|
||||
MongoId sessionID,
|
||||
ItemEventRouterResponse output
|
||||
)
|
||||
{
|
||||
@@ -41,23 +35,15 @@ public class RagfairItemEventRouter : ItemEventRouterDefinition
|
||||
{
|
||||
case ItemEventActions.RAGFAIR_ADD_OFFER:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_ragfairCallbacks.AddOffer(pmcData, body as AddOfferRequestData, sessionID)
|
||||
ragfairCallbacks.AddOffer(pmcData, body as AddOfferRequestData, sessionID)
|
||||
);
|
||||
case ItemEventActions.RAGFAIR_REMOVE_OFFER:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_ragfairCallbacks.RemoveOffer(
|
||||
pmcData,
|
||||
body as RemoveOfferRequestData,
|
||||
sessionID
|
||||
)
|
||||
ragfairCallbacks.RemoveOffer(pmcData, body as RemoveOfferRequestData, sessionID)
|
||||
);
|
||||
case ItemEventActions.RAGFAIR_RENEW_OFFER:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_ragfairCallbacks.ExtendOffer(
|
||||
pmcData,
|
||||
body as ExtendOfferRequestData,
|
||||
sessionID
|
||||
)
|
||||
ragfairCallbacks.ExtendOffer(pmcData, body as ExtendOfferRequestData, sessionID)
|
||||
);
|
||||
default:
|
||||
throw new Exception(
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using SPTarkov.DI.Annotations;
|
||||
using SPTarkov.Server.Core.Callbacks;
|
||||
using SPTarkov.Server.Core.DI;
|
||||
using SPTarkov.Server.Core.Models.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common.Request;
|
||||
using SPTarkov.Server.Core.Models.Eft.ItemEvent;
|
||||
@@ -10,15 +11,8 @@ using SPTarkov.Server.Core.Models.Enums;
|
||||
namespace SPTarkov.Server.Core.Routers.ItemEvents;
|
||||
|
||||
[Injectable]
|
||||
public class RepairItemEventRouter : ItemEventRouterDefinition
|
||||
public class RepairItemEventRouter(RepairCallbacks repairCallbacks) : ItemEventRouterDefinition
|
||||
{
|
||||
protected RepairCallbacks _repairCallbacks;
|
||||
|
||||
public RepairItemEventRouter(RepairCallbacks repairCallbacks)
|
||||
{
|
||||
_repairCallbacks = repairCallbacks;
|
||||
}
|
||||
|
||||
protected override List<HandledRoute> GetHandledRoutes()
|
||||
{
|
||||
return new List<HandledRoute>
|
||||
@@ -32,7 +26,7 @@ public class RepairItemEventRouter : ItemEventRouterDefinition
|
||||
string url,
|
||||
PmcData pmcData,
|
||||
BaseInteractionRequestData body,
|
||||
string sessionID,
|
||||
MongoId sessionID,
|
||||
ItemEventRouterResponse output
|
||||
)
|
||||
{
|
||||
@@ -40,11 +34,11 @@ public class RepairItemEventRouter : ItemEventRouterDefinition
|
||||
{
|
||||
case ItemEventActions.REPAIR:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_repairCallbacks.Repair(pmcData, body as RepairActionDataRequest, sessionID)
|
||||
repairCallbacks.Repair(pmcData, body as RepairActionDataRequest, sessionID)
|
||||
);
|
||||
case ItemEventActions.TRADER_REPAIR:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_repairCallbacks.TraderRepair(
|
||||
repairCallbacks.TraderRepair(
|
||||
pmcData,
|
||||
body as TraderRepairActionDataRequest,
|
||||
sessionID
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using SPTarkov.DI.Annotations;
|
||||
using SPTarkov.Server.Core.Callbacks;
|
||||
using SPTarkov.Server.Core.DI;
|
||||
using SPTarkov.Server.Core.Models.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common.Request;
|
||||
using SPTarkov.Server.Core.Models.Eft.ItemEvent;
|
||||
@@ -10,15 +11,8 @@ using SPTarkov.Server.Core.Models.Enums;
|
||||
namespace SPTarkov.Server.Core.Routers.ItemEvents;
|
||||
|
||||
[Injectable]
|
||||
public class TradeItemEventRouter : ItemEventRouterDefinition
|
||||
public class TradeItemEventRouter(TradeCallbacks tradeCallbacks) : ItemEventRouterDefinition
|
||||
{
|
||||
protected TradeCallbacks _tradeCallbacks;
|
||||
|
||||
public TradeItemEventRouter(TradeCallbacks tradeCallbacks)
|
||||
{
|
||||
_tradeCallbacks = tradeCallbacks;
|
||||
}
|
||||
|
||||
protected override List<HandledRoute> GetHandledRoutes()
|
||||
{
|
||||
return new List<HandledRoute>
|
||||
@@ -33,7 +27,7 @@ public class TradeItemEventRouter : ItemEventRouterDefinition
|
||||
string url,
|
||||
PmcData pmcData,
|
||||
BaseInteractionRequestData body,
|
||||
string sessionID,
|
||||
MongoId sessionID,
|
||||
ItemEventRouterResponse output
|
||||
)
|
||||
{
|
||||
@@ -41,7 +35,7 @@ public class TradeItemEventRouter : ItemEventRouterDefinition
|
||||
{
|
||||
case ItemEventActions.TRADING_CONFIRM:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_tradeCallbacks.ProcessTrade(
|
||||
tradeCallbacks.ProcessTrade(
|
||||
pmcData,
|
||||
body as ProcessBaseTradeRequestData,
|
||||
sessionID
|
||||
@@ -49,7 +43,7 @@ public class TradeItemEventRouter : ItemEventRouterDefinition
|
||||
);
|
||||
case ItemEventActions.RAGFAIR_BUY_OFFER:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_tradeCallbacks.ProcessRagfairTrade(
|
||||
tradeCallbacks.ProcessRagfairTrade(
|
||||
pmcData,
|
||||
body as ProcessRagfairTradeRequestData,
|
||||
sessionID
|
||||
@@ -57,7 +51,7 @@ public class TradeItemEventRouter : ItemEventRouterDefinition
|
||||
);
|
||||
case ItemEventActions.SELL_ALL_FROM_SAVAGE:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_tradeCallbacks.SellAllFromSavage(
|
||||
tradeCallbacks.SellAllFromSavage(
|
||||
pmcData,
|
||||
body as SellScavItemsToFenceRequestData,
|
||||
sessionID
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using SPTarkov.DI.Annotations;
|
||||
using SPTarkov.Server.Core.Callbacks;
|
||||
using SPTarkov.Server.Core.DI;
|
||||
using SPTarkov.Server.Core.Models.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common.Request;
|
||||
using SPTarkov.Server.Core.Models.Eft.ItemEvent;
|
||||
@@ -10,15 +11,9 @@ using SPTarkov.Server.Core.Models.Enums;
|
||||
namespace SPTarkov.Server.Core.Routers.ItemEvents;
|
||||
|
||||
[Injectable]
|
||||
public class WishlistItemEventRouter : ItemEventRouterDefinition
|
||||
public class WishlistItemEventRouter(WishlistCallbacks wishlistCallbacks)
|
||||
: ItemEventRouterDefinition
|
||||
{
|
||||
protected WishlistCallbacks _wishlistCallbacks;
|
||||
|
||||
public WishlistItemEventRouter(WishlistCallbacks wishlistCallbacks)
|
||||
{
|
||||
_wishlistCallbacks = wishlistCallbacks;
|
||||
}
|
||||
|
||||
protected override List<HandledRoute> GetHandledRoutes()
|
||||
{
|
||||
return new List<HandledRoute>
|
||||
@@ -33,7 +28,7 @@ public class WishlistItemEventRouter : ItemEventRouterDefinition
|
||||
string url,
|
||||
PmcData pmcData,
|
||||
BaseInteractionRequestData body,
|
||||
string sessionID,
|
||||
MongoId sessionID,
|
||||
ItemEventRouterResponse output
|
||||
)
|
||||
{
|
||||
@@ -41,7 +36,7 @@ public class WishlistItemEventRouter : ItemEventRouterDefinition
|
||||
{
|
||||
case ItemEventActions.ADD_TO_WISHLIST:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_wishlistCallbacks.AddToWishlist(
|
||||
wishlistCallbacks.AddToWishlist(
|
||||
pmcData,
|
||||
body as AddToWishlistRequest,
|
||||
sessionID
|
||||
@@ -49,7 +44,7 @@ public class WishlistItemEventRouter : ItemEventRouterDefinition
|
||||
);
|
||||
case ItemEventActions.REMOVE_FROM_WISHLIST:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_wishlistCallbacks.RemoveFromWishlist(
|
||||
wishlistCallbacks.RemoveFromWishlist(
|
||||
pmcData,
|
||||
body as RemoveFromWishlistRequest,
|
||||
sessionID
|
||||
@@ -57,7 +52,7 @@ public class WishlistItemEventRouter : ItemEventRouterDefinition
|
||||
);
|
||||
case ItemEventActions.CHANGE_WISHLIST_ITEM_CATEGORY:
|
||||
return new ValueTask<ItemEventRouterResponse>(
|
||||
_wishlistCallbacks.ChangeWishlistItemCategory(
|
||||
wishlistCallbacks.ChangeWishlistItemCategory(
|
||||
pmcData,
|
||||
body as ChangeWishlistItemCategoryRequest,
|
||||
sessionID
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using SPTarkov.DI.Annotations;
|
||||
using SPTarkov.Server.Core.DI;
|
||||
using SPTarkov.Server.Core.Loaders;
|
||||
using SPTarkov.Server.Core.Models.Common;
|
||||
using SPTarkov.Server.Core.Models.Utils;
|
||||
using SPTarkov.Server.Core.Utils;
|
||||
|
||||
@@ -13,7 +14,7 @@ public class BundleSerializer(
|
||||
HttpFileUtil httpFileUtil
|
||||
) : ISerializer
|
||||
{
|
||||
public async Task Serialize(string sessionID, HttpRequest req, HttpResponse resp, object? body)
|
||||
public async Task Serialize(MongoId sessionID, HttpRequest req, HttpResponse resp, object? body)
|
||||
{
|
||||
var key = req.Path.Value.Split("/bundle/")[1];
|
||||
var bundle = bundleLoader.GetBundle(key);
|
||||
|
||||
@@ -1,21 +1,15 @@
|
||||
using SPTarkov.DI.Annotations;
|
||||
using SPTarkov.Server.Core.DI;
|
||||
using SPTarkov.Server.Core.Models.Common;
|
||||
|
||||
namespace SPTarkov.Server.Core.Routers.Serializers;
|
||||
|
||||
[Injectable]
|
||||
public class ImageSerializer : ISerializer
|
||||
public class ImageSerializer(ImageRouter imageRouter) : ISerializer
|
||||
{
|
||||
protected ImageRouter _imageRouter;
|
||||
|
||||
public ImageSerializer(ImageRouter imageRouter)
|
||||
public async Task Serialize(MongoId sessionID, HttpRequest req, HttpResponse resp, object? body)
|
||||
{
|
||||
_imageRouter = imageRouter;
|
||||
}
|
||||
|
||||
public async Task Serialize(string sessionID, HttpRequest req, HttpResponse resp, object? body)
|
||||
{
|
||||
await _imageRouter.SendImage(sessionID, req, resp, body);
|
||||
await imageRouter.SendImage(sessionID, req, resp, body);
|
||||
}
|
||||
|
||||
public bool CanHandle(string route)
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
using SPTarkov.Server.Core.Controllers;
|
||||
using SPTarkov.Server.Core.DI;
|
||||
using SPTarkov.Server.Core.Helpers;
|
||||
using SPTarkov.Server.Core.Models.Common;
|
||||
using SPTarkov.Server.Core.Utils;
|
||||
|
||||
namespace SPTarkov.Server.Core.Routers.Serializers;
|
||||
@@ -13,7 +14,7 @@ public class NotifySerializer(
|
||||
HttpServerHelper httpServerHelper
|
||||
) : ISerializer
|
||||
{
|
||||
public async Task Serialize(string sessionID, HttpRequest req, HttpResponse resp, object? body)
|
||||
public async Task Serialize(MongoId sessionID, HttpRequest req, HttpResponse resp, object? body)
|
||||
{
|
||||
var splittedUrl = req.Path.Value.Split("/");
|
||||
var tmpSessionID = splittedUrl[^1].Split("?last_id")[0];
|
||||
|
||||
@@ -10,14 +10,14 @@ namespace SPTarkov.Server.Core.Routers.Static;
|
||||
[Injectable]
|
||||
public class InraidStaticRouter : StaticRouter
|
||||
{
|
||||
public InraidStaticRouter(InraidCallbacks inraidCallbacks, JsonUtil jsonUtil)
|
||||
public InraidStaticRouter(InraidCallbacks inRaidCallbacks, JsonUtil jsonUtil)
|
||||
: base(
|
||||
jsonUtil,
|
||||
[
|
||||
new RouteAction(
|
||||
"/raid/profile/scavsave",
|
||||
async (url, info, sessionID, output) =>
|
||||
await inraidCallbacks.SaveProgress(
|
||||
await inRaidCallbacks.SaveProgress(
|
||||
url,
|
||||
info as ScavSaveRequestData,
|
||||
sessionID
|
||||
@@ -27,12 +27,12 @@ public class InraidStaticRouter : StaticRouter
|
||||
new RouteAction(
|
||||
"/singleplayer/settings/raid/menu",
|
||||
async (url, info, sessionID, output) =>
|
||||
await inraidCallbacks.GetRaidMenuSettings()
|
||||
await inRaidCallbacks.GetRaidMenuSettings()
|
||||
),
|
||||
new RouteAction(
|
||||
"/singleplayer/scav/traitorscavhostile",
|
||||
async (url, info, sessionID, output) =>
|
||||
await inraidCallbacks.GetTraitorScavHostileChance(
|
||||
await inRaidCallbacks.GetTraitorScavHostileChance(
|
||||
url,
|
||||
info as EmptyRequestData,
|
||||
sessionID
|
||||
@@ -41,7 +41,7 @@ public class InraidStaticRouter : StaticRouter
|
||||
new RouteAction(
|
||||
"/singleplayer/bosstypes",
|
||||
async (url, info, sessionID, output) =>
|
||||
await inraidCallbacks.GetBossTypes(url, info as EmptyRequestData, sessionID)
|
||||
await inRaidCallbacks.GetBossTypes(url, info as EmptyRequestData, sessionID)
|
||||
),
|
||||
]
|
||||
) { }
|
||||
|
||||
@@ -2,6 +2,7 @@ using System.Collections.Concurrent;
|
||||
using System.Diagnostics;
|
||||
using SPTarkov.DI.Annotations;
|
||||
using SPTarkov.Server.Core.DI;
|
||||
using SPTarkov.Server.Core.Models.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Common;
|
||||
using SPTarkov.Server.Core.Models.Eft.Profile;
|
||||
using SPTarkov.Server.Core.Models.Spt.Config;
|
||||
@@ -14,13 +15,13 @@ namespace SPTarkov.Server.Core.Servers;
|
||||
|
||||
[Injectable(InjectionType.Singleton)]
|
||||
public class SaveServer(
|
||||
FileUtil _fileUtil,
|
||||
IEnumerable<SaveLoadRouter> _saveLoadRouters,
|
||||
JsonUtil _jsonUtil,
|
||||
HashUtil _hashUtil,
|
||||
ServerLocalisationService _serverLocalisationService,
|
||||
ISptLogger<SaveServer> _logger,
|
||||
ConfigServer _configServer
|
||||
FileUtil fileUtil,
|
||||
IEnumerable<SaveLoadRouter> saveLoadRouters,
|
||||
JsonUtil jsonUtil,
|
||||
HashUtil hashUtil,
|
||||
ServerLocalisationService serverLocalisationService,
|
||||
ISptLogger<SaveServer> logger,
|
||||
ConfigServer configServer
|
||||
)
|
||||
{
|
||||
protected const string profileFilepath = "user/profiles/";
|
||||
@@ -29,8 +30,8 @@ public class SaveServer(
|
||||
protected readonly Dictionary<string, Func<SptProfile, SptProfile>> onBeforeSaveCallbacks =
|
||||
new();
|
||||
|
||||
protected readonly ConcurrentDictionary<string, SptProfile> profiles = new();
|
||||
protected readonly ConcurrentDictionary<string, string> saveMd5 = new();
|
||||
protected readonly ConcurrentDictionary<MongoId, SptProfile> profiles = new();
|
||||
protected readonly ConcurrentDictionary<MongoId, string> saveMd5 = new();
|
||||
|
||||
/// <summary>
|
||||
/// Add callback to occur prior to saving profile changes
|
||||
@@ -60,26 +61,26 @@ public class SaveServer(
|
||||
public async Task LoadAsync()
|
||||
{
|
||||
// get files to load
|
||||
if (!_fileUtil.DirectoryExists(profileFilepath))
|
||||
if (!fileUtil.DirectoryExists(profileFilepath))
|
||||
{
|
||||
_fileUtil.CreateDirectory(profileFilepath);
|
||||
fileUtil.CreateDirectory(profileFilepath);
|
||||
}
|
||||
|
||||
var files = _fileUtil
|
||||
var files = fileUtil
|
||||
.GetFiles(profileFilepath)
|
||||
.Where(item => _fileUtil.GetFileExtension(item) == "json");
|
||||
.Where(item => fileUtil.GetFileExtension(item) == "json");
|
||||
|
||||
// load profiles
|
||||
var stopwatch = Stopwatch.StartNew();
|
||||
foreach (var file in files)
|
||||
{
|
||||
await LoadProfileAsync(_fileUtil.StripExtension(file));
|
||||
await LoadProfileAsync(fileUtil.StripExtension(file));
|
||||
}
|
||||
|
||||
stopwatch.Stop();
|
||||
if (_logger.IsLogEnabled(LogLevel.Debug))
|
||||
if (logger.IsLogEnabled(LogLevel.Debug))
|
||||
{
|
||||
_logger.Debug(
|
||||
logger.Debug(
|
||||
$"{files.Count()} Profiles took: {stopwatch.ElapsedMilliseconds}ms to load."
|
||||
);
|
||||
}
|
||||
@@ -97,9 +98,9 @@ public class SaveServer(
|
||||
totalTime += await SaveProfileAsync(sessionID.Key);
|
||||
}
|
||||
|
||||
if (_logger.IsLogEnabled(LogLevel.Debug))
|
||||
if (logger.IsLogEnabled(LogLevel.Debug))
|
||||
{
|
||||
_logger.Debug($"Saved {profiles.Count} profiles, took: {totalTime}ms");
|
||||
logger.Debug($"Saved {profiles.Count} profiles, took: {totalTime}ms");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -109,16 +110,16 @@ public class SaveServer(
|
||||
/// <param name="sessionId"> Session ID </param>
|
||||
/// <returns> SptProfile of the player </returns>
|
||||
/// <exception cref="Exception"> Thrown when sessionId is null / empty or no profiles with that ID are found </exception>
|
||||
public SptProfile GetProfile(string sessionId)
|
||||
public SptProfile GetProfile(MongoId sessionId)
|
||||
{
|
||||
if (string.IsNullOrEmpty(sessionId))
|
||||
if (sessionId.IsEmpty())
|
||||
{
|
||||
throw new Exception(
|
||||
"session id provided was empty, did you restart the server while the game was running?"
|
||||
);
|
||||
}
|
||||
|
||||
if (profiles == null || profiles.Count == 0)
|
||||
if (profiles == null || profiles.IsEmpty)
|
||||
{
|
||||
throw new Exception($"no profiles found in saveServer with id: {sessionId}");
|
||||
}
|
||||
@@ -131,7 +132,7 @@ public class SaveServer(
|
||||
return sptProfile;
|
||||
}
|
||||
|
||||
public bool ProfileExists(string id)
|
||||
public bool ProfileExists(MongoId id)
|
||||
{
|
||||
return profiles.ContainsKey(id);
|
||||
}
|
||||
@@ -140,7 +141,7 @@ public class SaveServer(
|
||||
/// Gets all profiles from memory
|
||||
/// </summary>
|
||||
/// <returns> Dictionary of Profiles with their ID as Keys. </returns>
|
||||
public Dictionary<string, SptProfile> GetProfiles()
|
||||
public Dictionary<MongoId, SptProfile> GetProfiles()
|
||||
{
|
||||
return profiles.ToDictionary();
|
||||
}
|
||||
@@ -150,7 +151,7 @@ public class SaveServer(
|
||||
/// </summary>
|
||||
/// <param name="sessionID"> ID of profile to remove </param>
|
||||
/// <returns> True when deleted, false when profile not found </returns>
|
||||
public bool DeleteProfileById(string sessionID)
|
||||
public bool DeleteProfileById(MongoId sessionID)
|
||||
{
|
||||
if (profiles.ContainsKey(sessionID))
|
||||
{
|
||||
@@ -170,13 +171,22 @@ public class SaveServer(
|
||||
/// <exception cref="Exception"> Thrown when profile already exists </exception>
|
||||
public void CreateProfile(Info profileInfo)
|
||||
{
|
||||
if (profiles.ContainsKey(profileInfo.ProfileId))
|
||||
if (!profileInfo.ProfileId.HasValue)
|
||||
{
|
||||
throw new Exception($"profile already exists for sessionId: {profileInfo.ProfileId}");
|
||||
// TODO: Localize me
|
||||
throw new Exception("Creating profile failed: profile has no sessionId");
|
||||
}
|
||||
|
||||
if (profiles.ContainsKey(profileInfo.ProfileId.Value))
|
||||
{
|
||||
// TODO: Localize me
|
||||
throw new Exception(
|
||||
$"Creating profile failed: profile already exists for sessionId: {profileInfo.ProfileId}"
|
||||
);
|
||||
}
|
||||
|
||||
profiles.TryAdd(
|
||||
profileInfo.ProfileId,
|
||||
profileInfo.ProfileId.Value,
|
||||
new SptProfile
|
||||
{
|
||||
ProfileInfo = profileInfo,
|
||||
@@ -195,7 +205,7 @@ public class SaveServer(
|
||||
/// <param name="profileDetails"> Profile to save </param>
|
||||
public void AddProfile(SptProfile profileDetails)
|
||||
{
|
||||
profiles.TryAdd(profileDetails.ProfileInfo.ProfileId, profileDetails);
|
||||
profiles.TryAdd(profileDetails.ProfileInfo!.ProfileId!.Value, profileDetails);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -203,18 +213,18 @@ public class SaveServer(
|
||||
/// Execute saveLoadRouters callbacks after being loaded into memory.
|
||||
/// </summary>
|
||||
/// <param name="sessionID"> ID of profile to store in memory </param>
|
||||
public async Task LoadProfileAsync(string sessionID)
|
||||
public async Task LoadProfileAsync(MongoId sessionID)
|
||||
{
|
||||
var filename = $"{sessionID}.json";
|
||||
var filename = $"{sessionID.ToString()}.json";
|
||||
var filePath = $"{profileFilepath}{filename}";
|
||||
if (_fileUtil.FileExists(filePath))
|
||||
if (fileUtil.FileExists(filePath))
|
||||
// File found, store in profiles[]
|
||||
{
|
||||
profiles[sessionID] = await _jsonUtil.DeserializeFromFileAsync<SptProfile>(filePath);
|
||||
profiles[sessionID] = await jsonUtil.DeserializeFromFileAsync<SptProfile>(filePath);
|
||||
}
|
||||
|
||||
// Run callbacks
|
||||
foreach (var callback in _saveLoadRouters) // HealthSaveLoadRouter, InraidSaveLoadRouter, InsuranceSaveLoadRouter, ProfileSaveLoadRouter. THESE SHOULD EXIST IN HERE
|
||||
foreach (var callback in saveLoadRouters) // HealthSaveLoadRouter, InraidSaveLoadRouter, InsuranceSaveLoadRouter, ProfileSaveLoadRouter. THESE SHOULD EXIST IN HERE
|
||||
{
|
||||
profiles[sessionID] = callback.HandleLoad(GetProfile(sessionID));
|
||||
}
|
||||
@@ -226,9 +236,9 @@ public class SaveServer(
|
||||
/// </summary>
|
||||
/// <param name="sessionID"> Profile id (user/profiles/id.json) </param>
|
||||
/// <returns> Time taken to save the profile in seconds </returns>
|
||||
public async Task<long> SaveProfileAsync(string sessionID)
|
||||
public async Task<long> SaveProfileAsync(MongoId sessionID)
|
||||
{
|
||||
var filePath = $"{profileFilepath}{sessionID}.json";
|
||||
var filePath = $"{profileFilepath}{sessionID.ToString()}.json";
|
||||
|
||||
// Run pre-save callbacks before we save into json
|
||||
foreach (var callback in onBeforeSaveCallbacks)
|
||||
@@ -240,8 +250,8 @@ public class SaveServer(
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
_logger.Error(
|
||||
_serverLocalisationService.GetText(
|
||||
logger.Error(
|
||||
serverLocalisationService.GetText(
|
||||
"profile_save_callback_error",
|
||||
new { callback, error = e }
|
||||
)
|
||||
@@ -251,16 +261,16 @@ public class SaveServer(
|
||||
}
|
||||
|
||||
var start = Stopwatch.StartNew();
|
||||
var jsonProfile = _jsonUtil.Serialize(
|
||||
var jsonProfile = jsonUtil.Serialize(
|
||||
profiles[sessionID],
|
||||
!_configServer.GetConfig<CoreConfig>().Features.CompressProfile
|
||||
!configServer.GetConfig<CoreConfig>().Features.CompressProfile
|
||||
);
|
||||
var fmd5 = await _hashUtil.GenerateHashForDataAsync(HashingAlgorithm.MD5, jsonProfile);
|
||||
var fmd5 = await hashUtil.GenerateHashForDataAsync(HashingAlgorithm.MD5, jsonProfile);
|
||||
if (!saveMd5.TryGetValue(sessionID, out var currentMd5) || currentMd5 != fmd5)
|
||||
{
|
||||
saveMd5[sessionID] = fmd5;
|
||||
// save profile to disk
|
||||
await _fileUtil.WriteFileAsync(filePath, jsonProfile);
|
||||
await fileUtil.WriteFileAsync(filePath, jsonProfile);
|
||||
}
|
||||
|
||||
start.Stop();
|
||||
@@ -272,18 +282,18 @@ public class SaveServer(
|
||||
/// </summary>
|
||||
/// <param name="sessionID"> Profile ID to remove </param>
|
||||
/// <returns> True if successful </returns>
|
||||
public bool RemoveProfile(string sessionID)
|
||||
public bool RemoveProfile(MongoId sessionID)
|
||||
{
|
||||
var file = $"{profileFilepath}{sessionID}.json";
|
||||
if (profiles.ContainsKey(sessionID))
|
||||
{
|
||||
profiles.TryRemove(sessionID, out _);
|
||||
if (!_fileUtil.DeleteFile(file))
|
||||
if (!fileUtil.DeleteFile(file))
|
||||
{
|
||||
_logger.Error($"Unable to delete file, not found: {file}");
|
||||
logger.Error($"Unable to delete file, not found: {file}");
|
||||
}
|
||||
}
|
||||
|
||||
return !_fileUtil.FileExists(file);
|
||||
return !fileUtil.FileExists(file);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user