From a8a21001d12cb40bcd879c89c1c9af6f638af250 Mon Sep 17 00:00:00 2001 From: Sami Spets <savasp@utu.fi> Date: Sun, 13 Oct 2019 22:31:37 +0300 Subject: [PATCH] Added logic to the config search --- web-service/server/src/index.js | 52 ++++++++++++++++++++++++++------- 1 file changed, 41 insertions(+), 11 deletions(-) diff --git a/web-service/server/src/index.js b/web-service/server/src/index.js index e9dd0ccca..4ee7e187c 100644 --- a/web-service/server/src/index.js +++ b/web-service/server/src/index.js @@ -227,10 +227,11 @@ app.post('/stream/config', async (req, res) => { }) app.get('/stream/config', async(req, res) => { - //example of uri ftlab.utu.fi/stream/config?uri=ftl://utu.fi/stream/configurations/calibrations/ + //example of uri ftlab.utu.fi/stream/config?uri=ftl://utu.fi/stream/configurations/calibrations //example of uri ftlab.utu.fi/stream/config?uri=ftl://utu.fi/stream/configurations/calibrations/board_size/value=1 const wholeURI = encodeURIComponent(req.query.uri) + console.log(wholeURI) // await new Configs({ // URI: wholeURI, @@ -246,18 +247,48 @@ app.get('/stream/config', async(req, res) => { // } // }).save() - const response = await Configs.find({ URI : wholeURI}); + let response = await Configs.find({ URI : wholeURI}); if(response.length){ + console.log(response[0]) return res.status(200).json(response[0].data); } - - const uri = wholeURI.substring(35) - const depth = uri.split("/"); - console.log(depth) - if(depth[depth.length-1].length == 0){ - depth.pop; + const uri = wholeURI.substring(47) + let depth = uri.split("%2F"); + console.log(depth[1]) + if(depth.length == 2){ + const splitted = wholeURI.split(depth[1]) + const uri = splitted[0].substring(0, splitted[0].length-3) + console.log('VAL', uri) + const responseData = await Configs.find({URI : uri}) + const realData = responseData[0].data + const obj = Object.entries(realData); + const helpObj = {} + for(const [key, data] of obj){ + console.log('PIIPPIIP', depth[1] in data) + if(depth[1] in data) { + helpObj[`${key}`] = data + } + } + console.log("HELPOBJECT", helpObj) + const actualData = Object.entries(helpObj) + for(const [key, data] of actualData){ + console.log("KEY2", key) + console.log("DATA2", data) + } + return res.status(200).json(realData) } + + + // if(depth.length ==3){ + // get the value + // save the get the first depth + // save the value with default values into the first depth + // } + console.log(depth) + console.log(wholeURI) + console.log(uri) + console.log(depth) if(depth.length === 1){ @@ -272,9 +303,8 @@ app.get('/stream/config', async(req, res) => { return res.status(500).json('ERROR'); } - console.log(wholeURI) - console.log(uri) - console.log(depth) + + switch(depth.length){ case 1: console.log('DEPTH 1') -- GitLab