返回提交历史
Modified
src/controllers/api/sellController.ts
+36
-1
XFEstudio/SpaceNinjaServer
chore: use inventory projection in sellController (#1399)
Yeah, it's not pretty but it's a good amount faster. Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/1399 Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com> Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
054abee6
代码差异
1 个文件
+36
-1
@@ -13,7 +13,42 @@ import { InventorySlot } from "@/src/types/inventoryTypes/inventoryTypes";
13
13
export const sellController: RequestHandler = async (req, res) => {
14
14
const payload = JSON.parse(String(req.body)) as ISellRequest;
15
15
const accountId = await getAccountIdForRequest(req);
16
const inventory = await getInventory(accountId);
16
const requiredFields = new Set();
17
if (payload.SellCurrency == "SC_RegularCredits") {
18
requiredFields.add("RegularCredits");
19
} else if (payload.SellCurrency == "SC_FusionPoints") {
20
requiredFields.add("FusionPoints");
21
} else {
22
requiredFields.add("MiscItems");
23
}
24
for (const key of Object.keys(payload.Items)) {
25
requiredFields.add(key);
26
}
27
if (requiredFields.has("Upgrades")) {
28
requiredFields.add("RawUpgrades");
29
}
30
if (payload.Items.Suits) {
31
requiredFields.add(InventorySlot.SUITS);
32
}
33
if (payload.Items.LongGuns || payload.Items.Pistols || payload.Items.Melee) {
34
requiredFields.add(InventorySlot.WEAPONS);
35
}
36
if (payload.Items.SpaceSuits) {
37
requiredFields.add(InventorySlot.SPACESUITS);
38
}
39
if (payload.Items.SpaceGuns || payload.Items.SpaceMelee) {
40
requiredFields.add(InventorySlot.SPACEWEAPONS);
41
}
42
if (payload.Items.Sentinels || payload.Items.SentinelWeapons) {
43
requiredFields.add(InventorySlot.SENTINELS);
44
}
45
if (payload.Items.OperatorAmps) {
46
requiredFields.add(InventorySlot.AMPS);
47
}
48
if (payload.Items.Hoverboards) {
49
requiredFields.add(InventorySlot.SPACESUITS);
50
}
51
const inventory = await getInventory(accountId, Array.from(requiredFields).join(" "));
17
52
18
53
// Give currency
19
54
if (payload.SellCurrency == "SC_RegularCredits") {