SpaceNinjaServer/src/controllers/api/setWeaponSkillTreeController.ts
Sainan fb58aeb07f
Some checks failed
Build / build (20) (push) Has been cancelled
Build Docker image / docker (push) Waiting to run
Build / build (18) (push) Has been cancelled
Build / build (22) (push) Has been cancelled
chore: reimplement setWeaponSkillTree as a mongo query (#1406)
This is faster by like 1-2 ms

Reviewed-on: #1406
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-03-31 09:18:33 -07:00

29 lines
1.0 KiB
TypeScript

import { RequestHandler } from "express";
import { getAccountIdForRequest } from "@/src/services/loginService";
import { getJSONfromString } from "@/src/helpers/stringHelpers";
import { Inventory } from "@/src/models/inventoryModels/inventoryModel";
import { equipmentKeys, TEquipmentKey } from "@/src/types/inventoryTypes/inventoryTypes";
export const setWeaponSkillTreeController: RequestHandler = async (req, res) => {
const accountId = await getAccountIdForRequest(req);
const payload = getJSONfromString<ISetWeaponSkillTreeRequest>(String(req.body));
if (equipmentKeys.indexOf(req.query.Category as TEquipmentKey) != -1) {
await Inventory.updateOne(
{
accountOwnerId: accountId,
[`${req.query.Category as string}._id`]: req.query.ItemId as string
},
{
[`${req.query.Category as string}.$.SkillTree`]: payload.SkillTree
}
);
}
res.end();
};
interface ISetWeaponSkillTreeRequest {
SkillTree: string;
}