SpaceNinjaServer/src/controllers/custom/addItemController.ts
OrdisPrime d091af4778
Basic purchasing + custom purchasing API (#20)
Endpoint for custom API: https://localhost:443/custom/addItem
example request:
{
"type": "Weapon",
"internalName": "/Lotus/Weapons/Grineer/Pistols/GrineerMicrowavegun/GrnMicrowavePistol",
"accountId": "6488fd2e7bec200069ca4242"
}
2023-06-14 02:26:19 +02:00

27 lines
1.0 KiB
TypeScript

import { ItemType, toAddItemRequest } from "@/src/helpers/customHelpers/addItemHelpers";
import { getWeaponType } from "@/src/helpers/purchaseHelpers";
import { addPowerSuit, addWeapon } from "@/src/services/inventoryService";
import { RequestHandler } from "express";
// eslint-disable-next-line @typescript-eslint/no-misused-promises
const addItemController: RequestHandler = async (req, res) => {
const request = toAddItemRequest(req.body);
switch (request.type) {
case ItemType.Powersuit:
const powersuit = await addPowerSuit(request.InternalName, request.accountId);
res.json(powersuit);
return;
case ItemType.Weapon:
const weaponType = getWeaponType(request.InternalName);
const weapon = await addWeapon(weaponType, request.InternalName, request.accountId);
res.json(weapon);
break;
default:
res.status(400).json({ error: "something went wrong" });
break;
}
};
export { addItemController };