From 7115c00ac61cf98a7ac5e58275d69e50725ead72 Mon Sep 17 00:00:00 2001
From: Sara <sarasdj@stud.ntnu.no>
Date: Thu, 11 Apr 2024 11:00:27 +0200
Subject: [PATCH] update: url param checking

---
 app/lib/pages/default_page.dart               |   1 +
 app/lib/widgets/choropleth_map.dart           |   1 +
 server/main.py                                |  12 +++++++++---
 .../get_lake_relation.cpython-311.pyc         | Bin 1759 -> 1759 bytes
 .../get_measurements.cpython-311.pyc          | Bin 4970 -> 5053 bytes
 server/map_handler/get_measurements.py        |   3 ++-
 6 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/app/lib/pages/default_page.dart b/app/lib/pages/default_page.dart
index 3e14bd8d..dcce804a 100644
--- a/app/lib/pages/default_page.dart
+++ b/app/lib/pages/default_page.dart
@@ -64,6 +64,7 @@ class _DefaultPageState extends State<DefaultPage> {
                     // Make request only if the selected lake is different from the current selected lake
                     if (result != selectedLake) {
                       setState(() {
+                        print("SetState called!");
                         selectedLake = result;
                       });
                       initialiseState(false);
diff --git a/app/lib/widgets/choropleth_map.dart b/app/lib/widgets/choropleth_map.dart
index 173f860e..c4db7cef 100644
--- a/app/lib/widgets/choropleth_map.dart
+++ b/app/lib/widgets/choropleth_map.dart
@@ -86,6 +86,7 @@ class _ChoroplethMapState extends State<ChoroplethMap> {
 
   @override
   Widget build(BuildContext context) {
+    print("Map built!");
     return Stack(
       children: [
         SfMapsTheme(
diff --git a/server/main.py b/server/main.py
index 566e64f3..b5da7f0b 100644
--- a/server/main.py
+++ b/server/main.py
@@ -9,7 +9,7 @@ from http.server import HTTPServer, BaseHTTPRequestHandler
 from map_handler.add_lake import cut_map
 from server.consts import LAKE_RELATIONS_PATH
 from map_handler.get_lake_relation import get_divided_map
-from map_handler.get_measurements import get_all_markers
+from map_handler.get_measurements import get_measurements
 from map_handler.input_new_data import input_new_Lidar_data
 
 app = Flask(__name__)
@@ -60,14 +60,20 @@ class IceHTTP(BaseHTTPRequestHandler):
                 self.send_response(500)
                 self.send_header('Content-type', 'application/json')
                 self.end_headers()
-        elif self.path.startswith('/update_map'):  # NB: should be POST?
+        elif self.path.startswith('/update_map'):
             parsed_path = urlparse(self.path)
             query_params = parse_qs(parsed_path.query)
 
             lake_name_param = query_params.get('lake', [''])[0]
             lake_name = unquote(lake_name_param)  # Decode url param
 
-            get_all_markers(self, self.cursor, lake_name)  # Get all markers
+            if lake_name_param:
+                get_measurements(self, self.cursor, lake_name)  # Get all markers
+            else:
+                self.send_response(400)
+                self.send_header('Content-type', 'application/json')
+                self.end_headers()
+
             # NB: temporary hardcoded waterBodyName
         elif self.path.startswith('/get_relation'):
             parsed_path = urlparse(self.path)
diff --git a/server/map_handler/__pycache__/get_lake_relation.cpython-311.pyc b/server/map_handler/__pycache__/get_lake_relation.cpython-311.pyc
index 15407de3dee5ad887f2b1a901bf523fecd0dc368..ef3d31476ac6b46bf3c3895ef031e3a381892b01 100644
GIT binary patch
delta 22
ccmcc5d!LtgIWI340}v!E6i*A>$a{$m07h#D761SM

delta 22
bcmcc5d!LtgIWI340|+b-PYc?}dx;GILkI=7

diff --git a/server/map_handler/__pycache__/get_measurements.cpython-311.pyc b/server/map_handler/__pycache__/get_measurements.cpython-311.pyc
index 4428ea3d1cf7782690c3cd887061ae76458f248e..ee5e1ccdccee14f7ee06c06ae61235dc7dc00a14 100644
GIT binary patch
delta 1134
zcmZ`&O=}ZD7@pa$>_>Jtn{ARNX>8i0)*RYuQ7A@)f|tfBUi2VTiOx3mE6R55A<R+_
zf*yJa0}5Ip9;`?egd9A1@K_I0v8RG}@zj5yvuU@Rt#)9C_nCR-dEa^Vo!=)v4{L8#
zRR(m_-=t;-dYf9~^hE)H=Rg7u^w#$Wf|%K00NAA8{(t~6E{kCck|u99H#3m&0#X+A
z<}Y)SP5VUPMzDamE-X^acVUTQp$p3rz#^%@+?ar*U>!?Xrc60laUzFF0Ns(uB9p$X
zpy;~fDma4q6=08J1@kx(oIz?3uRwd?_}v!QxzHb&A;Zi$a*xqsjuJ{}dI?v1)>*97
zAWEzYp4bISS^H4~ZWJY5)lq{JNJnDW#7ki2ldDm#9^$bm^$+ik8*}tPYhLu@Rm2{Z
zb&da1DYG{$jEx4>apPD;1~zaUrBMcDL%zm0Xdi4I_5#}X*Ti~@>y$vA@fvBe$swab
z@9L^+cd_P}esusii6EX=$W^YGL47offpX{s^32mc>)ak3J#ak7CH3GZ0nE2lzqQB;
zqschhDLUcg2<Eb@>_Vq0?WEJ+l_}=OsJ{loS8$W{W4JhhV(;@|izs`(0GvTz4}c=D
zXWW$kJo4TK8o;TS;1v^2MBm7un<U@(G%S#7e2FchA%gh@@<h<dEk1jIC&;u=hQs8k
zP$-<b+UTFIE?D_`b;-)l)$=vWxxHjnmmk{Jl2vz>&*$48gi%i5AJ}tshwRFa+m`YU
zPQ;E9?VGeNuS=G9SO6Y@J?09-XMc+7wl?-L{aq~Yh~;gu+&-&*VN+AwR0M2A<jN?!
zWlWlt68p8pS4P`WLxb`N6|uePH7Ukl^i6p1j5kqT&`Gn)&o17tI`#<JjbD%7VBq*3
L=$dUZX_o#1rXt79

delta 1067
zcmZ`&&rcIU6n-<?-Lkvg-L^}+YzqY}KVpK$5F;e&!NdbWqbDwEgVlk?QjshhOvp?y
z@!*9EnFNiN*o&B`7t#bz9*h^|>dmV+4}?F#*{x+;m6yE9dvCt)&6{s_KaKwyGv6A9
z2Ey*{IEz1>Epy!}C;-nv1%jAFQG@Tv_SQijp&;P56^r*E`zCe+QfMqr6(V)yJtB{F
z<f_Q!j$BiL1{fu(@jGasSEZV$s!`RKftQiPx3P6iBYItBI*n6#4ZKOJQ<=siC`m-|
z8uEru-fc+XMFw$BHzE$dfTxqb+P)Kjm?X_NvAbc{C8}2t>8&e4(@O%f`Mm-xK{Cwn
z^@u@C65quD?}fMQDwIAlQ(&zw946U+aQ9f!H`+XaYP=n95d3#rmij+bAf4{UG_@}J
zurxJDlBQ^y^bwcjgsjI#)4NEFEWBl;rL#?~h7?x#zHIV6DLa~67xOV=^FB5GR2vT9
z+fiKA_;PF{NAlv7B<UvuBoNOEq+`7_@kjZ~v8?4pBq}!&$Dh_VHZ__EhtBwUUXSHB
z@KUI!m-PoCQq^k5q)<WKS76!Y6R<QxtPg|T5(#v*2>wvJAHWEBCFc0WRwdjZL)3W%
zJGlEG1Z0?H`JwEhQ+!1}EfvWKuggnlv?H75HRU3Yi{EBn$>8xD%|qpEj2HE%ioD`I
zSoWK5^mk~?sx0{P<yvk2VcA<+@K(KB;`AQjt6#)3Jb@#89n1OVGvl-5%$%Q@g0EBB
zY(e^luGq7#bl}Rfh30(9MB0Slc)`-(kJB&vr-JlcumrCecKsnQ)*h98Z-Sq(=lbR_
ZnmmGzbtR^u+=~VN+IF=g5V2Ph%->+#wkH4p

diff --git a/server/map_handler/get_measurements.py b/server/map_handler/get_measurements.py
index c97becd2..21c5505a 100644
--- a/server/map_handler/get_measurements.py
+++ b/server/map_handler/get_measurements.py
@@ -5,8 +5,9 @@ from datetime import datetime
 
 # get_markers requests all marker data or valid markers, converts the data to json, and writes
 # the data to the response object
-def get_all_markers(self, cursor, lake_name):
+def get_measurements(self, cursor, lake_name):
     try:
+        print("Lake name in get_measurements: ", lake_name)
         sql_query = '''
             SELECT m.MeasurementID, m.SensorID, m.TimeMeasured, m.CenterLat, m.CenterLon,
                    s.SensorType, s.Active, 
-- 
GitLab