From b2a1974a84403be09fee395cdb26584831aeec8e Mon Sep 17 00:00:00 2001 From: cv <34649812+cpvalente@users.noreply.github.com> Date: Wed, 27 Oct 2021 22:51:22 +0200 Subject: [PATCH] feat api endpoint create post info endpoint --- server/src/controllers/ontimeController.js | 35 +++++++++++++++++++++- server/src/routes/ontimeRouter.js | 4 +++ 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/server/src/controllers/ontimeController.js b/server/src/controllers/ontimeController.js index e3e38cc35..a3ba51654 100644 --- a/server/src/controllers/ontimeController.js +++ b/server/src/controllers/ontimeController.js @@ -158,19 +158,52 @@ const getNetworkInterfaces = () => { } } } + return results; }; // Create controller for POST request to '/ontime/info' // Returns - -// TODO: Add version export const getInfo = async (req, res) => { + const version = data.settings.version; + const serverPort = data.settings.serverPort; + const oscInPort = data.settings.oscInPort; + const oscOutPort = data.settings.oscOutPort; + const oscOutIP = data.settings.oscOutIP; + + // get nif and inject localhost const ni = getNetworkInterfaces(); + ni.unshift({ name: 'localhost', address: '127.0.0.1' }); + + // send object with network information res.status(200).send({ networkInterfaces: ni, + version, + serverPort, + oscInPort, + oscOutPort, + oscOutIP, }); }; +// Create controller for POST request to '/ontime/info' +// Returns ACK message +export const postInfo = async (req, res) => { + if (!req.body) { + res.status(400).send('No object found in request'); + return; + } + // TODO: validate data + try { + data.settings = { ...data.settings, ...req.body }; + await db.write(); + res.sendStatus(200); + } catch (error) { + res.status(400).send(error); + console.log(error); + } +}; + // Create controller for POST request to '/ontime/db' // Returns - export const dbUpload = async (req, res) => { diff --git a/server/src/routes/ontimeRouter.js b/server/src/routes/ontimeRouter.js index 9602b927a..ba87f9f93 100644 --- a/server/src/routes/ontimeRouter.js +++ b/server/src/routes/ontimeRouter.js @@ -6,6 +6,7 @@ import { dbDownload, dbUpload, getInfo, + postInfo, dbPathToUpload, } from '../controllers/ontimeController.js'; @@ -18,5 +19,8 @@ router.post('/db', uploadJson, dbUpload); // create route between controller and '/ontime/info' endpoint router.get('/info', uploadJson, getInfo); +// create route between controller and '/ontime/info' endpoint +router.post('/info', postInfo); + // create route between controller and '/ontime/dbpath' endpoint router.post('/dbpath', dbPathToUpload);