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