Files
SPT-Server-Build/Libraries/SPTarkov.Server.Core/Routers/Static/LauncherV2StaticRouter.cs
T
2025-06-18 17:09:20 +00:00

67 lines
2.6 KiB
C#

using SPTarkov.DI.Annotations;
using SPTarkov.Server.Core.Callbacks;
using SPTarkov.Server.Core.DI;
using SPTarkov.Server.Core.Models.Eft.Launcher;
using SPTarkov.Server.Core.Utils;
namespace SPTarkov.Server.Core.Routers.Static;
[Injectable]
public class LauncherV2StaticRouter : StaticRouter
{
public LauncherV2StaticRouter(LauncherV2Callbacks launcherV2Callbacks, JsonUtil jsonUtil)
: base(
jsonUtil,
[
new RouteAction(
"/launcher/v2/ping",
async (url, _, sessionID, _) => await launcherV2Callbacks.Ping()
),
new RouteAction(
"/launcher/v2/types",
async (url, _, sessionID, _) => await launcherV2Callbacks.Types()
),
new RouteAction(
"/launcher/v2/login",
async (url, info, sessionID, _) =>
await launcherV2Callbacks.Login(info as LoginRequestData),
typeof(LoginRequestData)
),
new RouteAction(
"/launcher/v2/register",
async (url, info, sessionID, _) =>
await launcherV2Callbacks.Register(info as RegisterData),
typeof(RegisterData)
),
new RouteAction(
"/launcher/v2/passwordChange",
async (url, info, sessionID, _) =>
await launcherV2Callbacks.PasswordChange(info as ChangeRequestData),
typeof(ChangeRequestData)
),
new RouteAction(
"/launcher/v2/remove",
async (url, info, sessionID, _) =>
await launcherV2Callbacks.Remove(info as LoginRequestData),
typeof(LoginRequestData)
),
new RouteAction(
"/launcher/v2/version",
async (url, _, sessionID, _) => await launcherV2Callbacks.CompatibleVersion()
),
new RouteAction(
"/launcher/v2/mods",
async (url, _, sessionID, _) => await launcherV2Callbacks.Mods()
),
new RouteAction(
"/launcher/v2/profiles",
async (url, _, sessionID, _) => await launcherV2Callbacks.Profiles()
),
new RouteAction(
"/launcher/v2/profile",
async (url, _, sessionID, _) => await launcherV2Callbacks.Profile(sessionID)
),
]
) { }
}