Files
SPT-Server-Build/Core/Routers/Static/BuildStaticRouter.cs
T
CWX bb887b0901 Lots of new things (#40)
* callbacks

* controllers

* Router override

* make requests use interface

* create Routers

* extra parts
2025-01-12 15:35:32 +00:00

71 lines
2.1 KiB
C#

using Core.Annotations;
using Core.Callbacks;
using Core.DI;
using Core.Models.Eft.Builds;
using Core.Models.Eft.Common;
using Core.Models.Eft.PresetBuild;
using Core.Utils;
namespace Core.Routers.Static;
[Injectable(InjectableTypeOverride = typeof(StaticRouter))]
public class BuildStaticRouter : StaticRouter
{
protected static BuildsCallbacks _buildsCallbacks;
public BuildStaticRouter(
JsonUtil jsonUtil,
BuildsCallbacks buildsCallbacks
) : base(
jsonUtil,
[
new RouteAction(
"/client/builds/list",
(
url,
info,
sessionID,
output
) => _buildsCallbacks.GetBuilds(url, info as EmptyRequestData, sessionID)),
new RouteAction(
"/client/builds/magazine/save",
(
url,
info,
sessionID,
output
) => _buildsCallbacks.CreateMagazineTemplate(url, info as SetMagazineRequest, sessionID),
typeof(SetMagazineRequest)),
new RouteAction(
"/client/builds/weapon/save",
(
url,
info,
sessionID,
output
) => _buildsCallbacks.SetWeapon(url, info as PresetBuildActionRequestData, sessionID),
typeof(PresetBuildActionRequestData)),
new RouteAction(
"/client/builds/equipment/save",
(
url,
info,
sessionID,
output
) => _buildsCallbacks.SetEquipment(url, info as PresetBuildActionRequestData, sessionID),
typeof(PresetBuildActionRequestData)),
new RouteAction(
"/client/builds/delete",
(
url,
info,
sessionID,
output
) => _buildsCallbacks.DeleteBuild(url, info as RemoveBuildRequestData, sessionID),
typeof(RemoveBuildRequestData)),
]
)
{
_buildsCallbacks = buildsCallbacks;
}
}