add get_route_stats method to StorageCollector and corresponding API endpoint for packet stats

This commit is contained in:
Lloyd
2025-11-12 07:08:09 +00:00
parent 49de8e5180
commit 2acd44bcf8
2 changed files with 18 additions and 0 deletions
@@ -75,6 +75,9 @@ class StorageCollector:
logger.warning("Falling back to SQLite for packet type stats")
return self.sqlite_handler.get_packet_type_stats(hours)
def get_route_stats(self, hours: int = 24) -> dict:
return self.sqlite_handler.get_route_stats(hours)
def get_neighbors(self) -> dict:
return self.sqlite_handler.get_neighbors()
+15
View File
@@ -241,6 +241,18 @@ class APIEndpoints:
logger.error(f"Error fetching logs: {e}")
return {"error": str(e), "logs": []}
@cherrypy.expose
@cherrypy.tools.json_out()
@cors_enabled
def packet_stats(self, hours=24):
try:
hours = int(hours)
stats = self._get_storage().get_packet_stats(hours=hours)
return self._success(stats)
except Exception as e:
logger.error(f"Error getting packet stats: {e}")
return self._error(e)
@cherrypy.expose
@cherrypy.tools.json_out()
@cors_enabled
@@ -447,6 +459,7 @@ class APIEndpoints:
@cherrypy.expose
@cherrypy.tools.json_out()
@cherrypy.tools.json_in()
@cors_enabled
def cad_calibration_start(self):
try:
self._require_post()
@@ -463,6 +476,7 @@ class APIEndpoints:
@cherrypy.expose
@cherrypy.tools.json_out()
@cors_enabled
def cad_calibration_stop(self):
try:
self._require_post()
@@ -475,6 +489,7 @@ class APIEndpoints:
@cherrypy.expose
@cherrypy.tools.json_out()
@cherrypy.tools.json_in()
@cors_enabled
def save_cad_settings(self):
try:
self._require_post()