move Server code into more services and use them into blueprints or server

This commit is contained in:
2026-04-06 04:20:07 +02:00
parent 30eb17bb83
commit 98be2fe6fe
8 changed files with 373 additions and 302 deletions
+8 -8
View File
@@ -18,8 +18,8 @@ def create_dashboard_blueprint(server:'Server') -> Blueprint:
@blueprint.get('/dashboard')
async def dashboard_view():
initial_game_id = request.args.get('game_id', '')
initial_summary = await server._get_dashboard_summary()
initial_games = await server._get_dashboard_games(limit=100)
initial_summary = await server.dashboard_query.get_dashboard_summary()
initial_games = await server.dashboard_query.get_dashboard_games(limit=100)
return await render_template(
'dashboard.html',
initial_game_id=initial_game_id,
@@ -42,12 +42,12 @@ def create_dashboard_blueprint(server:'Server') -> Blueprint:
ws_hub = server.dashboard_ws_hub
websocket_task = asyncio.current_task()
if websocket_task is not None:
await server._register_dashboard_ws_task(websocket_task)
await ws_hub.register_task(websocket_task)
subscriber_queue:asyncio.Queue[str] = asyncio.Queue(maxsize=20)
await server._register_dashboard_game_subscriber(subscriber_queue)
await ws_hub.register_subscriber(subscriber_queue)
try:
initial_payload = await server._build_dashboard_games_event()
initial_payload = await server.dashboard_query.build_dashboard_games_event()
await asyncio.wait_for(
websocket.send(json.dumps(initial_payload)), timeout=1.5
)
@@ -76,7 +76,7 @@ def create_dashboard_blueprint(server:'Server') -> Blueprint:
except Exception:
break
response_event = await server._handle_dashboard_ws_request(request_payload_raw)
response_event = await server.dashboard_query.handle_dashboard_ws_request(request_payload_raw)
if response_event is not None:
await asyncio.wait_for(
websocket.send(json.dumps(response_event)),
@@ -112,8 +112,8 @@ def create_dashboard_blueprint(server:'Server') -> Blueprint:
except Exception:
pass
finally:
await server._unregister_dashboard_game_subscriber(subscriber_queue)
await ws_hub.unregister_subscriber(subscriber_queue)
if websocket_task is not None:
await server._unregister_dashboard_ws_task(websocket_task)
await ws_hub.unregister_task(websocket_task)
return blueprint