2024-06-15 00:38:12 +02:00
|
|
|
import { RequestHandler } from "express";
|
2025-06-18 11:05:07 -07:00
|
|
|
import { saveConfig } from "@/src/services/configWatcherService";
|
2024-12-23 22:44:01 +01:00
|
|
|
import { getAccountForRequest, isAdministrator } from "@/src/services/loginService";
|
2025-06-18 11:05:07 -07:00
|
|
|
import { config, IConfig } from "@/src/services/configService";
|
2024-06-15 00:38:12 +02:00
|
|
|
|
2025-06-18 11:05:07 -07:00
|
|
|
export const updateConfigDataController: RequestHandler = async (req, res) => {
|
2024-12-23 22:44:01 +01:00
|
|
|
const account = await getAccountForRequest(req);
|
|
|
|
if (isAdministrator(account)) {
|
2025-06-18 11:05:07 -07:00
|
|
|
const data = req.body as IUpdateConfigDataRequest;
|
|
|
|
config[data.key] = data.value;
|
|
|
|
await saveConfig();
|
2024-12-23 22:44:01 +01:00
|
|
|
res.end();
|
|
|
|
} else {
|
|
|
|
res.status(401).end();
|
|
|
|
}
|
2024-06-15 00:38:12 +02:00
|
|
|
};
|
|
|
|
|
2025-06-18 11:05:07 -07:00
|
|
|
interface IUpdateConfigDataRequest {
|
|
|
|
key: keyof IConfig;
|
|
|
|
value: never;
|
|
|
|
}
|