返回提交历史
Modified
package-lock.json
+27
-27
Modified
src/controllers/api/inventoryController.ts
+2
-2
Modified
src/helpers/inventoryHelpers.ts
+2
-2
Modified
src/services/inventoryService.ts
+3
-3
Modified
src/types/shipTypes.ts
+2
-1
XFEstudio/XFESpaceNinjaServer
chore: npm audit fix (#579)
259bfa13
代码差异
5 个文件
+36
-35
@@ -235,9 +235,9 @@
235
235
}
236
236
},
237
237
"node_modules/@mongodb-js/saslprep": {
238
"version": "1.1.7",
239
"resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.7.tgz",
240
"integrity": "sha512-dCHW/oEX0KJ4NjDULBo3JiOaK5+6axtpBbS+ao2ZInoAL9/YRQLhXzSNAFz7hP4nzLkIqsfYAK/PDE3+XHny0Q==",
238
"version": "1.1.9",
239
"resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.9.tgz",
240
"integrity": "sha512-tVkljjeEaAhCqTzajSdgbQ6gE6f3oneVwa3iXR6csiEwXXOFsiC6Uh9iAjAhXPtqa/XMDHWjjeNH/77m/Yq2dw==",
241
241
"dependencies": {
242
242
"sparse-bitfield": "^3.0.3"
243
243
}
@@ -980,9 +980,9 @@
980
980
}
981
981
},
982
982
"node_modules/bson": {
983
"version": "6.8.0",
984
"resolved": "https://registry.npmjs.org/bson/-/bson-6.8.0.tgz",
985
"integrity": "sha512-iOJg8pr7wq2tg/zSlCCHMi3hMm5JTOxLTagf3zxhcenHsFp+c6uOs6K7W5UE7A4QIJGtqh/ZovFNMP4mOPJynQ==",
983
"version": "6.10.1",
984
"resolved": "https://registry.npmjs.org/bson/-/bson-6.10.1.tgz",
985
"integrity": "sha512-P92xmHDQjSKPLHqFxefqMxASNq/aWJMEZugpCjf+AF/pgcUpMMQCg7t7+ewko0/u8AapvF3luf/FoehddEK+sA==",
986
986
"engines": {
987
987
"node": ">=16.20.1"
988
988
}
@@ -1174,9 +1174,9 @@
1174
1174
}
1175
1175
},
1176
1176
"node_modules/cookie": {
1177
"version": "0.6.0",
1178
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz",
1179
"integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==",
1177
"version": "0.7.1",
1178
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz",
1179
"integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==",
1180
1180
"engines": {
1181
1181
"node": ">= 0.6"
1182
1182
}
@@ -1219,9 +1219,9 @@
1219
1219
"dev": true
1220
1220
},
1221
1221
"node_modules/cross-spawn": {
1222
"version": "7.0.3",
1223
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
1224
"integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
1222
"version": "7.0.6",
1223
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
1224
"integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
1225
1225
"dev": true,
1226
1226
"dependencies": {
1227
1227
"path-key": "^3.1.0",
@@ -1592,15 +1592,15 @@
1592
1592
}
1593
1593
},
1594
1594
"node_modules/express": {
1595
"version": "5.0.0",
1596
"resolved": "https://registry.npmjs.org/express/-/express-5.0.0.tgz",
1597
"integrity": "sha512-V4UkHQc+B7ldh1YC84HCXHwf60M4BOMvp9rkvTUWCK5apqDC1Esnbid4wm6nFyVuDy8XMfETsJw5lsIGBWyo0A==",
1595
"version": "5.0.1",
1596
"resolved": "https://registry.npmjs.org/express/-/express-5.0.1.tgz",
1597
"integrity": "sha512-ORF7g6qGnD+YtUG9yx4DFoqCShNMmUKiXuT5oWMHiOvt/4WFbHC6yCwQMTSBMno7AqntNCAzzcnnjowRkTL9eQ==",
1598
1598
"dependencies": {
1599
1599
"accepts": "^2.0.0",
1600
1600
"body-parser": "^2.0.1",
1601
1601
"content-disposition": "^1.0.0",
1602
1602
"content-type": "~1.0.4",
1603
"cookie": "0.6.0",
1603
"cookie": "0.7.1",
1604
1604
"cookie-signature": "^1.2.1",
1605
1605
"debug": "4.3.6",
1606
1606
"depd": "2.0.0",
@@ -2453,12 +2453,12 @@
2453
2453
}
2454
2454
},
2455
2455
"node_modules/mongodb": {
2456
"version": "6.6.2",
2457
"resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.6.2.tgz",
2458
"integrity": "sha512-ZF9Ugo2JCG/GfR7DEb4ypfyJJyiKbg5qBYKRintebj8+DNS33CyGMkWbrS9lara+u+h+yEOGSRiLhFO/g1s1aw==",
2456
"version": "6.12.0",
2457
"resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.12.0.tgz",
2458
"integrity": "sha512-RM7AHlvYfS7jv7+BXund/kR64DryVI+cHbVAy9P61fnb1RcWZqOW1/Wj2YhqMCx+MuYhqTRGv7AwHBzmsCKBfA==",
2459
2459
"dependencies": {
2460
"@mongodb-js/saslprep": "^1.1.5",
2461
"bson": "^6.7.0",
2460
"@mongodb-js/saslprep": "^1.1.9",
2461
"bson": "^6.10.1",
2462
2462
"mongodb-connection-string-url": "^3.0.0"
2463
2463
},
2464
2464
"engines": {
@@ -2466,7 +2466,7 @@
2466
2466
},
2467
2467
"peerDependencies": {
2468
2468
"@aws-sdk/credential-providers": "^3.188.0",
2469
"@mongodb-js/zstd": "^1.1.0",
2469
"@mongodb-js/zstd": "^1.1.0 || ^2.0.0",
2470
2470
"gcp-metadata": "^5.2.0",
2471
2471
"kerberos": "^2.0.1",
2472
2472
"mongodb-client-encryption": ">=6.0.0 <7",
@@ -2507,13 +2507,13 @@
2507
2507
}
2508
2508
},
2509
2509
"node_modules/mongoose": {
2510
"version": "8.4.5",
2511
"resolved": "https://registry.npmjs.org/mongoose/-/mongoose-8.4.5.tgz",
2512
"integrity": "sha512-E5KjBThxST2uFSKKXuiMa9H9Zx4DLTSLuxodAnIzJRixNwc1ARTlJUK1m0a80EB+ZKGP4QNTasyUYRG9DUSHOA==",
2510
"version": "8.9.0",
2511
"resolved": "https://registry.npmjs.org/mongoose/-/mongoose-8.9.0.tgz",
2512
"integrity": "sha512-b58zY3PLNBcoz6ZXFckr0leJcVVBMAOBvD+7Bj2ZjghAwntXmNnqwlDixTKQU3UYoQIGTv+AQx/0ThsvaeVrCA==",
2513
2513
"dependencies": {
2514
"bson": "^6.7.0",
2514
"bson": "^6.10.1",
2515
2515
"kareem": "2.6.3",
2516
"mongodb": "6.6.2",
2516
"mongodb": "~6.12.0",
2517
2517
"mpath": "0.9.0",
2518
2518
"mquery": "5.0.0",
2519
2519
"ms": "2.1.3",
@@ -6,7 +6,7 @@ import { config } from "@/src/services/configService";
6
6
import allDialogue from "@/static/fixed_responses/allDialogue.json";
7
7
import allMissions from "@/static/fixed_responses/allMissions.json";
8
8
import { ILoadoutDatabase } from "@/src/types/saveLoadoutTypes";
9
import { IInventoryDatabase, IShipInventory, equipmentKeys } from "@/src/types/inventoryTypes/inventoryTypes";
9
import { IShipInventory, equipmentKeys } from "@/src/types/inventoryTypes/inventoryTypes";
10
10
import { IPolarity, ArtifactPolarity } from "@/src/types/inventoryTypes/commonInventoryTypes";
11
11
import { ExportCustoms, ExportFlavour, ExportKeys, ExportResources } from "warframe-public-export-plus";
12
12
@@ -30,7 +30,7 @@ const inventoryController: RequestHandler = async (request, response) => {
30
30
}
31
31
32
32
//TODO: make a function that converts from database representation to client
33
const inventoryJSON: IInventoryDatabase = inventory.toJSON();
33
const inventoryJSON = inventory.toJSON();
34
34
35
35
const inventoryResponse = toInventoryResponse(inventoryJSON);
36
36
@@ -1,9 +1,9 @@
1
1
import { IOid } from "@/src/types/commonTypes";
2
import { IInventoryDatabase, IInventoryResponse } from "@/src/types/inventoryTypes/inventoryTypes";
2
import { IInventoryResponse } from "@/src/types/inventoryTypes/inventoryTypes";
3
3
import { Types } from "mongoose";
4
4
5
5
//TODO: this needs to be addressed: a schema's toJSON is responsible for changing Oid and Date to their corresponding Response versions __id to "ItemId":{"$oid":"6450f720bc562ebf030222d4"}, and a Date to "date":{"$date":{"$numberLong":"unix timestamp"})
6
export const toInventoryResponse = (inventoryDatabase: IInventoryDatabase): IInventoryResponse => {
6
export const toInventoryResponse = (inventoryDatabase: { accountOwnerId: Types.ObjectId }): IInventoryResponse => {
7
7
// eslint-disable-next-line @typescript-eslint/no-unused-vars
8
8
const { accountOwnerId, ...inventoryResponse } = inventoryDatabase;
9
9
return inventoryResponse as unknown as IInventoryResponse;
@@ -369,7 +369,7 @@ export const addPowerSuit = async (powersuitName: string, accountId: string): Pr
369
369
const inventory = await getInventory(accountId);
370
370
const suitIndex = inventory.Suits.push({ ItemType: powersuitName, Configs: [], UpgradeVer: 101, XP: 0 });
371
371
const changedInventory = await inventory.save();
372
return changedInventory.Suits[suitIndex - 1].toJSON();
372
return changedInventory.Suits[suitIndex - 1].toJSON() as object as IEquipmentClient;
373
373
};
374
374
375
375
export const addMechSuit = async (mechsuitName: string, accountId: string) => {
@@ -527,7 +527,7 @@ export const addEquipment = async (
527
527
});
528
528
529
529
const changedInventory = await inventory.save();
530
return changedInventory[category][index - 1].toJSON();
530
return changedInventory[category][index - 1].toJSON() as object as IEquipmentClient;
531
531
};
532
532
533
533
export const addCustomization = async (customizatonName: string, accountId: string): Promise<IFlavourItem> => {
@@ -541,7 +541,7 @@ export const addSkin = async (typeName: string, accountId: string): Promise<IWea
541
541
const inventory = await getInventory(accountId);
542
542
const index = inventory.WeaponSkins.push({ ItemType: typeName }) - 1;
543
543
const changedInventory = await inventory.save();
544
return changedInventory.WeaponSkins[index].toJSON();
544
return changedInventory.WeaponSkins[index].toJSON() as object as IWeaponSkinClient;
545
545
};
546
546
547
547
const addGearExpByCategory = (
@@ -1,12 +1,13 @@
1
1
import { Schema, Types } from "mongoose";
2
2
import { IOid } from "@/src/types/commonTypes";
3
3
import { IColor } from "@/src/types/inventoryTypes/commonInventoryTypes";
4
import { ILoadoutClient } from "./saveLoadoutTypes";
4
5
5
6
export interface IGetShipResponse {
6
7
ShipOwnerId: string;
7
8
Ship: IShip;
8
9
Apartment: IApartment;
9
LoadOutInventory: { LoadOutPresets: Types.ObjectId };
10
LoadOutInventory: { LoadOutPresets: ILoadoutClient };
10
11
}
11
12
12
13
export interface IShipAttachments {