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

XFESpaceNinjaServer

A simple server for a small space ninja game

公开
关注 0 Fork 0 Star 0
UTF-8
import { RequestHandler } from "express";
import { IUpgradesRequest } from "@/src/types/requestTypes";
import { getAccountIdForRequest } from "@/src/services/loginService";
import { getInventory } from "@/src/services/inventoryService";

// eslint-disable-next-line @typescript-eslint/no-misused-promises
export const upgradesController: RequestHandler = async (req, res) => {
    const accountId = await getAccountIdForRequest(req);
    const payload = JSON.parse(String(req.body)) as IUpgradesRequest;
    const inventory = await getInventory(accountId);
    console.log(req.body);
    for (const item of payload.UpgradesToAttach) {
        for (const upgrade of inventory.Upgrades) {
            if (upgrade._id?.toString() == item.ItemId.$id) {
                upgrade.UpgradeFingerprint = item.UpgradeFingerprint;
                upgrade.Slot = item.Slot;
                upgrade.ParentId = payload.Weapon.ItemId;
            }
        }
    }

    for (const item of payload.UpgradesToDetach) {
        for (const upgrade of inventory.Upgrades) {
            if (upgrade._id?.toString() == item.ItemId.$id) {
                upgrade.UpgradeFingerprint = undefined;
                upgrade.Slot = undefined;
                upgrade.ParentId = undefined;
            }
        }
    }

    await inventory.save();
    res.json({});
};