diff --git a/src/controllers/custom/getConfigDataController.ts b/src/controllers/custom/getConfigDataController.ts index 9a8684ca..12208527 100644 --- a/src/controllers/custom/getConfigDataController.ts +++ b/src/controllers/custom/getConfigDataController.ts @@ -1,8 +1,14 @@ import { RequestHandler } from "express"; import { config } from "@/src/services/configService"; +import { getAccountForRequest, isAdministrator } from "@/src/services/loginService"; -const getConfigDataController: RequestHandler = (_req, res) => { - res.json(config); +const getConfigDataController: RequestHandler = async (req, res) => { + const account = await getAccountForRequest(req); + if (isAdministrator(account)) { + res.json(config); + } else { + res.status(401).end(); + } }; export { getConfigDataController }; diff --git a/src/controllers/custom/updateConfigDataController.ts b/src/controllers/custom/updateConfigDataController.ts index 3fdcc8e8..961cccb1 100644 --- a/src/controllers/custom/updateConfigDataController.ts +++ b/src/controllers/custom/updateConfigDataController.ts @@ -1,9 +1,15 @@ import { RequestHandler } from "express"; import { updateConfig } from "@/src/services/configService"; +import { getAccountForRequest, isAdministrator } from "@/src/services/loginService"; const updateConfigDataController: RequestHandler = async (req, res) => { - await updateConfig(String(req.body)); - res.end(); + const account = await getAccountForRequest(req); + if (isAdministrator(account)) { + await updateConfig(String(req.body)); + res.end(); + } else { + res.status(401).end(); + } }; export { updateConfigDataController }; diff --git a/static/webui/index.html b/static/webui/index.html index 2ab99f23..eb89f400 100644 --- a/static/webui/index.html +++ b/static/webui/index.html @@ -198,75 +198,80 @@