diff --git a/MapView/datasource.py b/MapView/datasource.py index d7712a9..12ea5fe 100644 --- a/MapView/datasource.py +++ b/MapView/datasource.py @@ -10,6 +10,7 @@ from config import STORE_HOST, STORE_PORT # Pydantic models class ProcessedAgentData(BaseModel): + id: int road_state: str user_id: int x: float @@ -33,10 +34,9 @@ class ProcessedAgentData(BaseModel): class Datasource: - def __init__(self, user_id: int): + def __init__(self): self.websocket: Connection | None = None self.index = 0 - self.user_id = user_id self.connection_status = None self._new_points = [] self._active_markers = [] @@ -49,7 +49,7 @@ class Datasource: return points async def connect_to_server(self): - uri = f"ws://{STORE_HOST}:{STORE_PORT}/ws/{self.user_id}" + uri = f"ws://{STORE_HOST}:{STORE_PORT}/ws" while True: Logger.debug("CONNECT TO SERVER") async with websockets.connect(uri) as websocket: @@ -64,9 +64,9 @@ class Datasource: self.connection_status = "Disconnected" Logger.debug("SERVER DISCONNECT") - def update_db_records(self): + def update_db_record_visibility(self, record_id): if self.websocket: - data = json.dumps({"id": self.user_id}) + data = json.dumps({"id": record_id}) asyncio.ensure_future(self.websocket.send(data)) def map_lat_lon_to_processed_agent_data(self, lat: float, lon: float) -> ProcessedAgentData | None: diff --git a/MapView/main.py b/MapView/main.py index 9b81419..b733e32 100644 --- a/MapView/main.py +++ b/MapView/main.py @@ -33,7 +33,7 @@ class MapViewApp(App): super().__init__(**kwargs) self.mapview: MapView | None = None - self.datasource = Datasource(user_id=1) + self.datasource = Datasource() self.line_layers = dict() self.car_markers = dict() @@ -162,7 +162,7 @@ class MapViewApp(App): elif clicked_marker in self.bump_markers: self.bump_markers.pop(self.bump_markers.index(clicked_marker)) - self.datasource.update_db_records() + self.datasource.update_db_record_visibility(clicked_marker_data.id) def on_touch_down(self, widget, touch): if touch.button == "right": diff --git a/store/main.py b/store/main.py index f1a1a4c..7426fd6 100644 --- a/store/main.py +++ b/store/main.py @@ -39,8 +39,8 @@ subscriptions: Set[WebSocket] = set() # FastAPI WebSocket endpoint -@app.websocket("/ws/{user_id}") -async def websocket_endpoint(websocket: WebSocket, user_id: int): +@app.websocket("/ws") +async def websocket_endpoint(websocket: WebSocket): await websocket.accept() subscriptions.add(websocket)