From b6813141fdf65eb01b45b0708fc37364ed48100a Mon Sep 17 00:00:00 2001 From: Dev Date: Wed, 27 Dec 2023 20:19:17 +0000 Subject: [PATCH] Changes to get closer to main menu --- project/src/callbacks/BuildsCallbacks.ts | 10 +- project/src/callbacks/PresetBuildCallbacks.ts | 104 +++++++++--------- ...tBuildController.ts => BuildController.ts} | 4 +- project/src/di/Container.ts | 4 +- project/src/models/eft/profile/IAkiProfile.ts | 6 + 5 files changed, 69 insertions(+), 59 deletions(-) rename project/src/controllers/{PresetBuildController.ts => BuildController.ts} (99%) diff --git a/project/src/callbacks/BuildsCallbacks.ts b/project/src/callbacks/BuildsCallbacks.ts index 584fda38..8bacb355 100644 --- a/project/src/callbacks/BuildsCallbacks.ts +++ b/project/src/callbacks/BuildsCallbacks.ts @@ -1,12 +1,16 @@ +import { BuildController } from "@spt-aki/controllers/BuildController"; import { IEmptyRequestData } from "@spt-aki/models/eft/common/IEmptyRequestData"; +import { IGetBodyResponseData } from "@spt-aki/models/eft/httpResponse/IGetBodyResponseData"; import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil"; import { inject, injectable } from "tsyringe"; +import { IUserBuilds } from "x:/SPTDev/ChompServer/project/src/models/eft/profile/IAkiProfile"; @injectable() export class BuildsCallbacks { constructor( @inject("HttpResponseUtil") protected httpResponse: HttpResponseUtil, + @inject("BuildController") protected buildController: BuildController, ) {} @@ -15,9 +19,9 @@ export class BuildsCallbacks * */ // eslint-disable-next-line @typescript-eslint/no-unused-vars - public getBuilds(url: string, info: IEmptyRequestData, sessionID: string): any + public getBuilds(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData { - throw new Error("Not implemented"); + return this.httpResponse.getBody(this.buildController.getUserBuilds(sessionID)); } /** @@ -37,7 +41,7 @@ export class BuildsCallbacks // eslint-disable-next-line @typescript-eslint/no-unused-vars public setWeapon(url: string, info: IEmptyRequestData, sessionID: string): any { - throw new Error("Not implemented"); + //this.httpResponse.getBody(this.buildController.saveWeaponBuild(sessionID, info)); } /** diff --git a/project/src/callbacks/PresetBuildCallbacks.ts b/project/src/callbacks/PresetBuildCallbacks.ts index a7343333..b1750ac4 100644 --- a/project/src/callbacks/PresetBuildCallbacks.ts +++ b/project/src/callbacks/PresetBuildCallbacks.ts @@ -1,6 +1,6 @@ import { inject, injectable } from "tsyringe"; -import { PresetBuildController } from "@spt-aki/controllers/PresetBuildController"; +import { BuildController } from "@spt-aki/controllers/BuildController"; import { IEmptyRequestData } from "@spt-aki/models/eft/common/IEmptyRequestData"; import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; import { IGetBodyResponseData } from "@spt-aki/models/eft/httpResponse/IGetBodyResponseData"; @@ -15,63 +15,63 @@ export class PresetBuildCallbacks { constructor( @inject("HttpResponseUtil") protected httpResponse: HttpResponseUtil, - @inject("PresetBuildController") protected presetBuildController: PresetBuildController, + //@inject("PresetBuildController") protected presetBuildController: BuildController, ) {} - /** Handle client/handbook/builds/my/list */ - public getHandbookUserlist( - url: string, - info: IEmptyRequestData, - sessionID: string, - ): IGetBodyResponseData - { - return this.httpResponse.getBody(this.presetBuildController.getUserBuilds(sessionID)); - } + // /** Handle client/handbook/builds/my/list */ + // public getHandbookUserlist( + // url: string, + // info: IEmptyRequestData, + // sessionID: string, + // ): IGetBodyResponseData + // { + // return this.httpResponse.getBody(this.presetBuildController.getUserBuilds(sessionID)); + // } - /** Handle SaveWeaponBuild event */ - public saveWeaponBuild( - pmcData: IPmcData, - body: IPresetBuildActionRequestData, - sessionID: string, - ): IItemEventRouterResponse - { - return this.presetBuildController.saveWeaponBuild(pmcData, body, sessionID); - } + // /** Handle SaveWeaponBuild event */ + // public saveWeaponBuild( + // pmcData: IPmcData, + // body: IPresetBuildActionRequestData, + // sessionID: string, + // ): IItemEventRouterResponse + // { + // return this.presetBuildController.saveWeaponBuild(pmcData, body, sessionID); + // } - /** Handle removeBuild event*/ - public removeBuild(pmcData: IPmcData, body: IRemoveBuildRequestData, sessionID: string): IItemEventRouterResponse - { - return this.presetBuildController.removeBuild(pmcData, body, sessionID); - } + // /** Handle removeBuild event*/ + // public removeBuild(pmcData: IPmcData, body: IRemoveBuildRequestData, sessionID: string): IItemEventRouterResponse + // { + // return this.presetBuildController.removeBuild(pmcData, body, sessionID); + // } - /** Handle RemoveWeaponBuild event*/ - public removeWeaponBuild( - pmcData: IPmcData, - body: IPresetBuildActionRequestData, - sessionID: string, - ): IItemEventRouterResponse - { - return this.presetBuildController.removeWeaponBuild(pmcData, body, sessionID); - } + // /** Handle RemoveWeaponBuild event*/ + // public removeWeaponBuild( + // pmcData: IPmcData, + // body: IPresetBuildActionRequestData, + // sessionID: string, + // ): IItemEventRouterResponse + // { + // return this.presetBuildController.removeWeaponBuild(pmcData, body, sessionID); + // } - /** Handle SaveEquipmentBuild event */ - public saveEquipmentBuild( - pmcData: IPmcData, - body: IPresetBuildActionRequestData, - sessionID: string, - ): IItemEventRouterResponse - { - return this.presetBuildController.saveEquipmentBuild(pmcData, body, sessionID); - } + // /** Handle SaveEquipmentBuild event */ + // public saveEquipmentBuild( + // pmcData: IPmcData, + // body: IPresetBuildActionRequestData, + // sessionID: string, + // ): IItemEventRouterResponse + // { + // return this.presetBuildController.saveEquipmentBuild(pmcData, body, sessionID); + // } - /** Handle RemoveEquipmentBuild event*/ - public removeEquipmentBuild( - pmcData: IPmcData, - body: IPresetBuildActionRequestData, - sessionID: string, - ): IItemEventRouterResponse - { - return this.presetBuildController.removeEquipmentBuild(pmcData, body, sessionID); - } + // /** Handle RemoveEquipmentBuild event*/ + // public removeEquipmentBuild( + // pmcData: IPmcData, + // body: IPresetBuildActionRequestData, + // sessionID: string, + // ): IItemEventRouterResponse + // { + // return this.presetBuildController.removeEquipmentBuild(pmcData, body, sessionID); + // } } diff --git a/project/src/controllers/PresetBuildController.ts b/project/src/controllers/BuildController.ts similarity index 99% rename from project/src/controllers/PresetBuildController.ts rename to project/src/controllers/BuildController.ts index 6c19797b..942ff20b 100644 --- a/project/src/controllers/PresetBuildController.ts +++ b/project/src/controllers/BuildController.ts @@ -14,7 +14,7 @@ import { HashUtil } from "@spt-aki/utils/HashUtil"; import { JsonUtil } from "@spt-aki/utils/JsonUtil"; @injectable() -export class PresetBuildController +export class BuildController { constructor( @inject("WinstonLogger") protected logger: ILogger, @@ -33,7 +33,7 @@ export class PresetBuildController const profile = this.saveServer.getProfile(sessionID); if (!profile.userbuilds) { - profile.userbuilds = { equipmentBuilds: [], weaponBuilds: [] }; + profile.userbuilds = { equipmentBuilds: [], weaponBuilds: [], magazineBuilds: [] }; } // Ensure the secure container in the default presets match what the player has equipped diff --git a/project/src/di/Container.ts b/project/src/di/Container.ts index 918e3f1e..1920a621 100644 --- a/project/src/di/Container.ts +++ b/project/src/di/Container.ts @@ -37,6 +37,7 @@ import { WishlistCallbacks } from "@spt-aki/callbacks/WishlistCallbacks"; import { ApplicationContext } from "@spt-aki/context/ApplicationContext"; import { AchievementController } from "@spt-aki/controllers/AchievementController"; import { BotController } from "@spt-aki/controllers/BotController"; +import { BuildController } from "@spt-aki/controllers/BuildController"; import { ClientLogController } from "@spt-aki/controllers/ClientLogController"; import { CustomizationController } from "@spt-aki/controllers/CustomizationController"; import { DialogueController } from "@spt-aki/controllers/DialogueController"; @@ -52,7 +53,6 @@ import { LocationController } from "@spt-aki/controllers/LocationController"; import { MatchController } from "@spt-aki/controllers/MatchController"; import { NoteController } from "@spt-aki/controllers/NoteController"; import { NotifierController } from "@spt-aki/controllers/NotifierController"; -import { PresetBuildController } from "@spt-aki/controllers/PresetBuildController"; import { PresetController } from "@spt-aki/controllers/PresetController"; import { ProfileController } from "@spt-aki/controllers/ProfileController"; import { QuestController } from "@spt-aki/controllers/QuestController"; @@ -779,7 +779,7 @@ export class Container depContainer.register("MatchController", MatchController); depContainer.register("NoteController", { useClass: NoteController }); depContainer.register("NotifierController", { useClass: NotifierController }); - depContainer.register("PresetBuildController", { useClass: PresetBuildController }); + depContainer.register("BuildController", { useClass: BuildController }); depContainer.register("PresetController", { useClass: PresetController }); depContainer.register("ProfileController", { useClass: ProfileController }); depContainer.register("QuestController", { useClass: QuestController }); diff --git a/project/src/models/eft/profile/IAkiProfile.ts b/project/src/models/eft/profile/IAkiProfile.ts index ed19575a..fa2d4d72 100644 --- a/project/src/models/eft/profile/IAkiProfile.ts +++ b/project/src/models/eft/profile/IAkiProfile.ts @@ -47,6 +47,7 @@ export interface IUserBuilds { weaponBuilds: IWeaponBuild[]; equipmentBuilds: IEquipmentBuild[]; + magazineBuilds: IMagazineBuild[] } export interface IWeaponBuild @@ -69,6 +70,11 @@ export interface IEquipmentBuild buildType: EquipmentBuildType; } +export interface IMagazineBuild +{ + +} + export interface Dialogue { attachmentsNew: number;