using SPTarkov.DI.Annotations; using SPTarkov.Server.Core.Controllers; using SPTarkov.Server.Core.Models.Eft.Launcher; using SPTarkov.Server.Core.Models.Spt.Launcher; using SPTarkov.Server.Core.Utils; namespace SPTarkov.Server.Core.Callbacks; [Injectable] public class LauncherV2Callbacks( HttpResponseUtil _httpResponseUtil, LauncherV2Controller _launcherV2Controller, ProfileController _profileController ) { public ValueTask Ping() { return new ValueTask(_httpResponseUtil.NoBody( new LauncherV2PingResponse { Response = _launcherV2Controller.Ping() } )); } public ValueTask Types() { return new ValueTask(_httpResponseUtil.NoBody( new LauncherV2TypesResponse { Response = _launcherV2Controller.Types() } )); } public ValueTask Login(LoginRequestData info) { return new ValueTask(_httpResponseUtil.NoBody( new LauncherV2LoginResponse { Response = _launcherV2Controller.Login(info) } )); } public ValueTask Register(RegisterData info) { return new ValueTask(_httpResponseUtil.NoBody( new LauncherV2RegisterResponse { Response = _launcherV2Controller.Register(info), Profiles = _profileController.GetMiniProfiles() } )); } public ValueTask PasswordChange(ChangeRequestData info) { return new ValueTask(_httpResponseUtil.NoBody( new LauncherV2PasswordChangeResponse { Response = _launcherV2Controller.PasswordChange(info), Profiles = _profileController.GetMiniProfiles() } )); } public ValueTask Remove(LoginRequestData info) { return new ValueTask(_httpResponseUtil.NoBody( new LauncherV2RemoveResponse { Response = _launcherV2Controller.Remove(info), Profiles = _profileController.GetMiniProfiles() } )); } public ValueTask CompatibleVersion() { return new ValueTask(_httpResponseUtil.NoBody( new LauncherV2VersionResponse { Response = new LauncherV2CompatibleVersion { SptVersion = _launcherV2Controller.SptVersion(), EftVersion = _launcherV2Controller.EftVersion() } } )); } public ValueTask Mods() { return new ValueTask(_httpResponseUtil.NoBody( new LauncherV2ModsResponse { Response = _launcherV2Controller.LoadedMods() } )); } public ValueTask Profiles() { return new ValueTask(_httpResponseUtil.NoBody( new LauncherV2ProfilesResponse { Response = _profileController.GetMiniProfiles() } )); } public ValueTask Profile(string? sessionId) { return new ValueTask(_httpResponseUtil.NoBody( new LauncherV2ProfileResponse { Response = _launcherV2Controller.GetProfile(sessionId) } )); } }