71 lines
2.1 KiB
C#
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;
|
|
}
|
|
}
|