SpaceNinjaServer/src/controllers/api/saveSettingsController.ts
Sainan 2b9eb1844d
All checks were successful
Build / build (20) (push) Successful in 1m11s
Build / build (22) (push) Successful in 44s
Build Docker image / docker (push) Successful in 47s
Build / build (18) (push) Successful in 1m25s
chore: use inventory projection for saveSettingsController
2025-03-27 12:49:26 +01:00

23 lines
874 B
TypeScript

import { getAccountIdForRequest } from "@/src/services/loginService";
import { getJSONfromString } from "@/src/helpers/stringHelpers";
import { getInventory } from "@/src/services/inventoryService";
import { RequestHandler } from "express";
import { ISettings } from "../../types/inventoryTypes/inventoryTypes";
interface ISaveSettingsRequest {
Settings: ISettings;
}
const saveSettingsController: RequestHandler = async (req, res): Promise<void> => {
const accountId = await getAccountIdForRequest(req);
const settingResults = getJSONfromString<ISaveSettingsRequest>(String(req.body));
const inventory = await getInventory(accountId, "Settings");
inventory.Settings = Object.assign(inventory.Settings ?? {}, settingResults.Settings);
await inventory.save();
res.json({ Settings: inventory.Settings });
};
export { saveSettingsController };