fix date filters

This commit is contained in:
2026-01-04 14:44:17 +01:00
parent f37744cdac
commit 2504016bdc
2 changed files with 9 additions and 4 deletions

View File

@@ -22,8 +22,8 @@ class TelemetryController:
def sound(self): def sound(self):
try: try:
odata_filter = request.args.get("$filter") odata_filter = request.args.get("$filter")
start_date, end_date = self._extract_dates_from_odata(odata_filter) start_timestamp, end_timestamp = self._extract_dates_from_odata(odata_filter)
return self._database_service.find_by_date("telemetry", start_date, end_date) return self._database_service.find_by_date("telemetry", start_timestamp, end_timestamp)
except Exception as e: except Exception as e:
logger.log_info(e) logger.log_info(e)

View File

@@ -36,7 +36,7 @@ class MongoService:
logger.log_info(e) logger.log_info(e)
def find_by_date(self, collection: str, filters: dict = None, timestamp_field: str = "created_at", def find_by_date(self, collection: str, filters: dict = None, timestamp_field: str = "created_at",
start_time: datetime = None, end_time: datetime = None): start_time: int = None, end_time: int = None):
try: try:
collection = self._db[collection] collection = self._db[collection]
query = filters.copy() if filters else {} query = filters.copy() if filters else {}
@@ -48,7 +48,12 @@ class MongoService:
if end_time: if end_time:
query[timestamp_field]["$lte"] = end_time query[timestamp_field]["$lte"] = end_time
return list(collection.find(query)) results = list(collection.find(query))
for doc in results:
if "_id" in doc:
doc["_id"] = str(doc["_id"])
return results
except Exception as e: except Exception as e:
logger.log_info(e) logger.log_info(e)
return [] return []