XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFESpaceNinjaServer

A simple server for a small space ninja game

公开
关注 0 Fork 0 Star 0
返回提交历史

XFEstudio/XFESpaceNinjaServer

fix: ships having wrong format in inventory response (#2018)

Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/2018 Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com> Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>

b987e018
Sainan <63328889+Sainan@users.noreply.github.com>
提交于

代码差异

3 个文件 +16 -18
Modified src/controllers/api/inventoryController.ts +7 -7
@@ -28,6 +28,7 @@ import { isNemesisCompatibleWithVersion } from "@/src/helpers/nemesisHelpers";
28 28 import { version_compare } from "@/src/services/worldStateService";
29 29 import { getPersonalRooms } from "@/src/services/personalRoomsService";
30 30 import { IPersonalRoomsClient } from "@/src/types/personalRoomsTypes";
31 import { Ship } from "@/src/models/shipModel";
31 32
32 33 export const inventoryController: RequestHandler = async (request, response) => {
33 34 const account = await getAccountForRequest(request);
@@ -133,13 +134,12 @@ export const getInventoryResponse = async (
133 134 xpBasedLevelCapDisabled: boolean,
134 135 buildLabel: string | undefined
135 136 ): Promise<IInventoryClient> => {
136 const inventoryWithLoadOutPresets = await inventory.populate<{ LoadOutPresets: ILoadoutDatabase }>(
137 "LoadOutPresets"
138 );
139 const inventoryWithLoadOutPresetsAndShips = await inventoryWithLoadOutPresets.populate<{ Ships: IShipInventory }>(
140 "Ships"
141 );
142 const inventoryResponse = inventoryWithLoadOutPresetsAndShips.toJSON<IInventoryClient>();
137 const [inventoryWithLoadOutPresets, ships] = await Promise.all([
138 inventory.populate<{ LoadOutPresets: ILoadoutDatabase }>("LoadOutPresets"),
139 Ship.find({ ShipOwnerId: inventory.accountOwnerId })
140 ]);
141 const inventoryResponse = inventoryWithLoadOutPresets.toJSON<IInventoryClient>();
142 inventoryResponse.Ships = ships.map(x => x.toJSON<IShipInventory>());
143 143
144 144 if (config.infiniteCredits) {
145 145 inventoryResponse.RegularCredits = 999999999;
Modified src/models/shipModel.ts +8 -10
@@ -28,17 +28,15 @@ shipSchema.set("toJSON", {
28 28 delete returnedObject._id;
29 29 delete returnedObject.__v;
30 30 delete returnedObject.ShipOwnerId;
31 if (shipDatabase.ShipExteriorColors) {
32 shipResponse.ShipExterior = {
33 Colors: shipDatabase.ShipExteriorColors,
34 ShipAttachments: shipDatabase.ShipAttachments,
35 SkinFlavourItem: shipDatabase.SkinFlavourItem
36 };
37 31
38 delete shipDatabase.ShipExteriorColors;
39 delete shipDatabase.ShipAttachments;
40 delete shipDatabase.SkinFlavourItem;
41 }
32 shipResponse.ShipExterior = {
33 Colors: shipDatabase.ShipExteriorColors,
34 ShipAttachments: shipDatabase.ShipAttachments,
35 SkinFlavourItem: shipDatabase.SkinFlavourItem
36 };
37 delete shipDatabase.ShipExteriorColors;
38 delete shipDatabase.ShipAttachments;
39 delete shipDatabase.SkinFlavourItem;
42 40 }
43 41 });
44 42
Modified src/types/inventoryTypes/inventoryTypes.ts +1 -1
@@ -560,7 +560,7 @@ export interface ICrewShipCustomization {
560 560
561 561 export interface IShipExterior {
562 562 SkinFlavourItem?: string;
563 Colors: IColor;
563 Colors?: IColor;
564 564 ShipAttachments?: IShipAttachments;
565 565 }
566 566