using SPTarkov.Common.Annotations; using SPTarkov.Server.Core.Controllers; using SPTarkov.Server.Core.Models.Eft.Builds; using SPTarkov.Server.Core.Models.Eft.Common; using SPTarkov.Server.Core.Models.Eft.PresetBuild; using SPTarkov.Server.Core.Utils; namespace SPTarkov.Server.Core.Callbacks; [Injectable] public class BuildsCallbacks( HttpResponseUtil _httpResponseUtil, BuildController _buildController ) { /// /// Handle client/builds/list /// /// public string GetBuilds(string url, EmptyRequestData _, string sessionID) { return _httpResponseUtil.GetBody(_buildController.GetUserBuilds(sessionID)); } /// /// Handle client/builds/magazine/save /// /// /// /// Session/player id /// public string CreateMagazineTemplate(string url, SetMagazineRequest request, string sessionID) { _buildController.CreateMagazineTemplate(sessionID, request); return _httpResponseUtil.NullResponse(); } /// /// Handle client/builds/weapon/save /// /// public string SetWeapon(string url, PresetBuildActionRequestData request, string sessionID) { _buildController.SaveWeaponBuild(sessionID, request); return _httpResponseUtil.NullResponse(); } /// /// Handle client/builds/equipment/save /// /// public string SetEquipment(string url, PresetBuildActionRequestData request, string sessionID) { _buildController.SaveEquipmentBuild(sessionID, request); return _httpResponseUtil.NullResponse(); } /// /// Handle client/builds/delete /// /// public string DeleteBuild(string url, RemoveBuildRequestData request, string sessionID) { _buildController.RemoveBuild(sessionID, request); return _httpResponseUtil.NullResponse(); } }