From c643194e9229d176737d334b06b863c4bd10541c Mon Sep 17 00:00:00 2001
From: 21geem1bif <21geem1bif@hft-stuttgart.de>
Date: Sun, 1 Jun 2025 22:42:56 +0200
Subject: [PATCH] Added List Room Endpoint

---
 backend/app/urls.py  |  2 ++
 backend/app/views.py | 18 ++++++++++++++++++
 2 files changed, 20 insertions(+)

diff --git a/backend/app/urls.py b/backend/app/urls.py
index b28a79d..04e3c88 100644
--- a/backend/app/urls.py
+++ b/backend/app/urls.py
@@ -7,4 +7,6 @@ urlpatterns = [
     path("api/logout", views.logout_view, name="logout"),
     path("api/user", views.user, name="user"),
     path("api/register", views.register, name="register"),
+    path("api/room_data_range", views.room_data_range, name="room_data_range"),
+    path("api/get_rooms", views.get_rooms, name="get_rooms"),
 ]
diff --git a/backend/app/views.py b/backend/app/views.py
index cac6be3..9712f56 100644
--- a/backend/app/views.py
+++ b/backend/app/views.py
@@ -102,3 +102,21 @@ def room_data_range(request):
         return JsonResponse(
             {"success": False, "message": "Invalid JSON"}, status=400
         )
+    
+@require_http_methods(["GET"])
+def get_rooms(request):
+        
+    client = InfluxDBHelper(
+            url=os.getenv("INFLUXDB_URL"),
+            token=os.getenv("INFLUXDB_TOKEN"),
+            org=os.getenv("INFLUXDB_ORG"),
+            bucket=os.getenv("INFLUXDB_BUCKET"),
+    )
+
+    tables = client.list_rooms()
+    rooms = set()
+    for table in tables:
+        for record in table.records:
+            rooms.add(record.get_value())
+
+    return JsonResponse({"rooms": sorted(rooms)})
-- 
GitLab