diff --git a/backend/app/urls.py b/backend/app/urls.py index b28a79d9e112d335bd1a6889b3de4b561a234a29..04e3c88160ba9116ab1e2d4b0c4b7a63f6613e37 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 cac6be3190eb6cde1b2d57185446c1dff11b9c2b..9712f56c282f35600ddcede4f428e979d2498386 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)})