diff --git a/apps/server/src/controllers/ontimeController.ts b/apps/server/src/controllers/ontimeController.ts index 4cc0f2513..406940d4d 100644 --- a/apps/server/src/controllers/ontimeController.ts +++ b/apps/server/src/controllers/ontimeController.ts @@ -207,11 +207,16 @@ export const postSettings = async (req, res) => { const settings = DataProvider.getSettings(); const editorKey = extractPin(req.body?.editorKey, settings.editorKey); const operatorKey = extractPin(req.body?.operatorKey, settings.operatorKey); + const serverPort = Number(req.body?.serverPort); + if (isNaN(serverPort)) { + return res.status(400).send(`Invalid value found for server port: ${req.body?.serverPort}`); + } - if (isDocker && req.body?.serverPort) { + const hasChangedPort = settings.serverPort !== serverPort; + + if (isDocker && hasChangedPort) { return res.status(403).json({ message: 'Can`t change port when running inside docker' }); } - const serverPort = parseInt(req.body?.serverPort ?? settings.serverPort, 10); let timeFormat = settings.timeFormat; if (req.body?.timeFormat === '12' || req.body?.timeFormat === '24') {