0
0
mirror of https://github.com/sp-tarkov/server.git synced 2025-02-13 09:50:43 -05:00
server/project/src/routers/static/BuildStaticRouter.ts

50 lines
2.2 KiB
TypeScript
Raw Normal View History

import { BuildsCallbacks } from "@spt/callbacks/BuildsCallbacks";
import { RouteAction, StaticRouter } from "@spt/di/Router";
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
import { INullResponseData } from "@spt/models/eft/httpResponse/INullResponseData";
import { IUserBuilds } from "@spt/models/eft/profile/ISptProfile";
import { inject, injectable } from "tsyringe";
2023-12-27 15:05:07 +00:00
@injectable()
export class BuildsStaticRouter extends StaticRouter {
constructor(@inject("BuildsCallbacks") protected buildsCallbacks: BuildsCallbacks) {
2023-12-27 15:05:07 +00:00
super([
new RouteAction(
"/client/builds/list",
async (
url: string,
info: any,
sessionID: string,
output: string,
): Promise<IGetBodyResponseData<IUserBuilds>> => {
2023-12-27 15:05:07 +00:00
return this.buildsCallbacks.getBuilds(url, info, sessionID);
},
),
new RouteAction(
"/client/builds/magazine/save",
async (url: string, info: any, sessionID: string, output: string): Promise<INullResponseData> => {
2023-12-28 12:02:37 +00:00
return this.buildsCallbacks.createMagazineTemplate(url, info, sessionID);
2023-12-27 15:05:07 +00:00
},
),
new RouteAction(
"/client/builds/weapon/save",
async (url: string, info: any, sessionID: string, output: string): Promise<INullResponseData> => {
2023-12-27 15:05:07 +00:00
return this.buildsCallbacks.setWeapon(url, info, sessionID);
},
),
new RouteAction(
"/client/builds/equipment/save",
async (url: string, info: any, sessionID: string, output: string): Promise<INullResponseData> => {
2023-12-27 15:05:07 +00:00
return this.buildsCallbacks.setEquipment(url, info, sessionID);
},
),
new RouteAction(
"/client/builds/delete",
async (url: string, info: any, sessionID: string, output: string): Promise<INullResponseData> => {
2023-12-27 15:05:07 +00:00
return this.buildsCallbacks.deleteBuild(url, info, sessionID);
},
),
]);
}
}