2023-06-14 02:26:19 +02:00
|
|
|
import { RequestHandler } from "express";
|
|
|
|
import util from "util";
|
2023-12-14 17:34:15 +01:00
|
|
|
import { ISaveLoadoutRequest } from "@/src/types/saveLoadoutTypes";
|
|
|
|
import { handleInventoryItemConfigChange } from "@/src/services/saveLoadoutService";
|
|
|
|
import { parseString } from "@/src/helpers/general";
|
2023-06-14 02:26:19 +02:00
|
|
|
|
|
|
|
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
|
|
const saveLoadoutController: RequestHandler = async (req, res) => {
|
2023-12-14 17:34:15 +01:00
|
|
|
//validate here
|
|
|
|
const accountId = parseString(req.query.accountId);
|
2023-06-14 02:26:19 +02:00
|
|
|
|
2023-12-14 17:34:15 +01:00
|
|
|
try {
|
|
|
|
const body: ISaveLoadoutRequest = JSON.parse(req.body as string) as ISaveLoadoutRequest;
|
|
|
|
// console.log(util.inspect(body, { showHidden: false, depth: null, colors: true }));
|
|
|
|
|
|
|
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
|
|
const { UpgradeVer, ...equipmentChanges } = body;
|
|
|
|
await handleInventoryItemConfigChange(equipmentChanges, accountId);
|
|
|
|
res.status(200).end();
|
|
|
|
} catch (error: unknown) {
|
|
|
|
if (error instanceof Error) {
|
|
|
|
res.status(400).json({ error: error.message });
|
|
|
|
}
|
|
|
|
}
|
2023-06-14 02:26:19 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
export { saveLoadoutController };
|