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

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
Sainan <63328889+Sainan@users.noreply.github.com>
提交于

代码差异

1 个文件 +36 -1
Modified src/controllers/api/sellController.ts +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") {