Files
SPT-Server-Build/Libraries/SPTarkov.Server.Core/Callbacks/LauncherV2Callbacks.cs
T
2025-10-28 17:02:55 +00:00

114 lines
3.2 KiB
C#

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;
namespace SPTarkov.Server.Core.Callbacks;
[Injectable]
public class LauncherV2Callbacks(
HttpResponseUtil httpResponseUtil,
LauncherV2Controller launcherV2Controller,
ProfileController profileController
)
{
public ValueTask<string> Ping()
{
return new ValueTask<string>(httpResponseUtil.NoBody(new LauncherV2PingResponse
{
Response = launcherV2Controller.Ping()
}));
}
public ValueTask<string> Types()
{
return new ValueTask<string>(httpResponseUtil.NoBody(new LauncherV2TypesResponse
{
Response = launcherV2Controller.Types()
}));
}
public ValueTask<string> Login(LoginRequestData info)
{
return new ValueTask<string>(httpResponseUtil.NoBody(new LauncherV2LoginResponse
{
Response = launcherV2Controller.Login(info)
}));
}
public async ValueTask<string> Register(RegisterData info)
{
return httpResponseUtil.NoBody(
new LauncherV2RegisterResponse
{
Response = await launcherV2Controller.Register(info),
Profiles = profileController.GetMiniProfiles(),
}
);
}
public ValueTask<string> Remove(LoginRequestData info)
{
return new ValueTask<string>(
httpResponseUtil.NoBody(
new LauncherV2RemoveResponse
{
Response = launcherV2Controller.Remove(info),
Profiles = profileController.GetMiniProfiles(),
}
)
);
}
public ValueTask<string> CompatibleVersion()
{
return new ValueTask<string>(
httpResponseUtil.NoBody(new LauncherV2VersionResponse
{
Response = launcherV2Controller.SptVersion()
})
);
}
public ValueTask<string> Mods()
{
return new ValueTask<string>(httpResponseUtil.NoBody(new LauncherV2ModsResponse
{
Response = launcherV2Controller.LoadedMods()
}));
}
public ValueTask<string> Profiles()
{
return new ValueTask<string>(
httpResponseUtil.NoBody(new LauncherV2ProfilesResponse
{
Response = profileController.GetMiniProfiles()
})
);
}
public ValueTask<string> Profile(LoginRequestData username)
{
return new ValueTask<string>(
httpResponseUtil.NoBody(new LauncherV2ProfileResponse
{
Response = launcherV2Controller.GetMiniProfileFromUsername(username)
})
);
}
public ValueTask<string> Wipe(RegisterData info)
{
return new ValueTask<string>(
httpResponseUtil.NoBody(new LauncherV2WipeResponse
{
Response = launcherV2Controller.Wipe(info),
Profiles = profileController.GetMiniProfiles(),
})
);
}
}