返回提交历史
Modified
src/controllers/api/inventoryController.ts
+7
-7
Modified
src/models/shipModel.ts
+8
-10
Modified
src/types/inventoryTypes/inventoryTypes.ts
+1
-1
XFEstudio/SpaceNinjaServer
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
代码差异
3 个文件
+16
-18
@@ -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;
@@ -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
@@ -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