diff --git a/project/src/callbacks/CustomizationCallbacks.ts b/project/src/callbacks/CustomizationCallbacks.ts index b2bbf266..003ae6e2 100644 --- a/project/src/callbacks/CustomizationCallbacks.ts +++ b/project/src/callbacks/CustomizationCallbacks.ts @@ -10,6 +10,7 @@ import type { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEv import { SaveServer } from "@spt/servers/SaveServer"; import { HttpResponseUtil } from "@spt/utils/HttpResponseUtil"; import { inject, injectable } from "tsyringe"; +import type { ICustomisationStorage } from "../models/eft/common/tables/ICustomisationStorage"; @injectable() export class CustomizationCallbacks { @@ -58,6 +59,10 @@ export class CustomizationCallbacks { } public getHideoutCustomisation(url: string, info: any, sessionID: string): IGetBodyResponseData { - return this.customizationController.getHideoutCustomisation(sessionID, info); + return this.httpResponse.getBody(this.customizationController.getHideoutCustomisation(sessionID, info)); + } + + getStorage(url: string, info: any, sessionID: string): IGetBodyResponseData { + return this.httpResponse.getBody(this.customizationController.getCustomisationStoage(sessionID, info)); } } diff --git a/project/src/controllers/CustomizationController.ts b/project/src/controllers/CustomizationController.ts index c97cd80d..f08888e1 100644 --- a/project/src/controllers/CustomizationController.ts +++ b/project/src/controllers/CustomizationController.ts @@ -13,6 +13,8 @@ import { SaveServer } from "@spt/servers/SaveServer"; import { DatabaseService } from "@spt/services/DatabaseService"; import { LocalisationService } from "@spt/services/LocalisationService"; import { inject, injectable } from "tsyringe"; +import type { ICustomisationStorage } from "../models/eft/common/tables/ICustomisationStorage"; +import type { IHideoutCustomisation } from "../models/eft/hideout/IHideoutCustomisation"; @injectable() export class CustomizationController { @@ -239,7 +241,11 @@ export class CustomizationController { return result; } - public getHideoutCustomisation(sessionID: string, info: any) { + public getHideoutCustomisation(sessionID: string, info: any): IHideoutCustomisation { return this.databaseService.getHideout().customisation; } + + public getCustomisationStoage(sessionID: string, info: any): ICustomisationStorage[] { + return this.databaseService.getTemplates().customisationStoage; + } } diff --git a/project/src/models/spt/templates/ITemplates.ts b/project/src/models/spt/templates/ITemplates.ts index 2f7cea85..ba8bb3b3 100644 --- a/project/src/models/spt/templates/ITemplates.ts +++ b/project/src/models/spt/templates/ITemplates.ts @@ -1,4 +1,5 @@ import type { IAchievement } from "@spt/models/eft/common/tables/IAchievement"; +import type { ICustomisationStorage } from "@spt/models/eft/common/tables/ICustomisationStorage"; import type { ICustomizationItem } from "@spt/models/eft/common/tables/ICustomizationItem"; import type { IHandbookBase } from "@spt/models/eft/common/tables/IHandbookBase"; import type { ILocationServices } from "@spt/models/eft/common/tables/ILocationServices"; @@ -11,6 +12,7 @@ import type { IDefaultEquipmentPreset } from "@spt/models/eft/profile/ISptProfil export interface ITemplates { character: string[]; + customisationStoage: ICustomisationStorage[]; items: Record; prestige: IPrestige; quests: Record; diff --git a/project/src/routers/static/CustomizationStaticRouter.ts b/project/src/routers/static/CustomizationStaticRouter.ts index 3b3b240e..bc412dbd 100644 --- a/project/src/routers/static/CustomizationStaticRouter.ts +++ b/project/src/routers/static/CustomizationStaticRouter.ts @@ -30,6 +30,17 @@ export class CustomizationStaticRouter extends StaticRouter { return this.customizationCallbacks.getHideoutCustomisation(url, info, sessionID); }, ), + new RouteAction( + "/client/customization/storage", + async ( + url: string, + info: any, + sessionID: string, + output: string, + ): Promise> => { + return this.customizationCallbacks.getStorage(url, info, sessionID); + }, + ), ]); } }