Ekimart078 commited on
Commit
7ef23aa
·
1 Parent(s): 7bcc3c9

Refactor WebSocket session handling and improve subscription request handling

Browse files
Files changed (1) hide show
  1. main.py +6 -4
main.py CHANGED
@@ -1,6 +1,7 @@
1
  from contextlib import asynccontextmanager
2
  from datetime import datetime
3
  from pathlib import Path
 
4
  from uuid import uuid4
5
 
6
  import uvicorn
@@ -68,7 +69,7 @@ app = FastAPI(
68
  @app.websocket("/ws/{user_id}")
69
  async def websocket_endpoint(websocket: WebSocket, user_id: str):
70
  """Endpoint pour les connexions WebSocket"""
71
- session_id = None
72
 
73
  try:
74
  client_info = ClientInfo(
@@ -104,7 +105,7 @@ async def websocket_endpoint(websocket: WebSocket, user_id: str):
104
 
105
 
106
  # Endpoints REST
107
- @app.get("/", response_class=HTMLResponse)
108
  async def root(request: Request):
109
  # """Page de test pour les connexions WebSocket"""
110
  # return templates.TemplateResponse(
@@ -117,10 +118,11 @@ async def root(request: Request):
117
  @app.post("/subscriptions/{session_id}")
118
  async def add_subscription(
119
  session_id: str = Depends(validate_session),
120
- subscription_request: SubscriptionRequest = None,
121
  ):
122
  """Ajoute un nouvel abonnement pour une session"""
123
- subscription = Subscription(**subscription_request.model_dump())
 
124
 
125
  if not manager.add_subscription(session_id, subscription):
126
  raise HTTPException(status_code=400, detail="Échec de l'ajout de l'abonnement")
 
1
  from contextlib import asynccontextmanager
2
  from datetime import datetime
3
  from pathlib import Path
4
+ from typing import Optional
5
  from uuid import uuid4
6
 
7
  import uvicorn
 
69
  @app.websocket("/ws/{user_id}")
70
  async def websocket_endpoint(websocket: WebSocket, user_id: str):
71
  """Endpoint pour les connexions WebSocket"""
72
+ session_id = ""
73
 
74
  try:
75
  client_info = ClientInfo(
 
105
 
106
 
107
  # Endpoints REST
108
+ @app.get("/")
109
  async def root(request: Request):
110
  # """Page de test pour les connexions WebSocket"""
111
  # return templates.TemplateResponse(
 
118
  @app.post("/subscriptions/{session_id}")
119
  async def add_subscription(
120
  session_id: str = Depends(validate_session),
121
+ subscription_request: Optional[SubscriptionRequest] = None,
122
  ):
123
  """Ajoute un nouvel abonnement pour une session"""
124
+
125
+ subscription = Subscription(**subscription_request.model_dump()) if subscription_request else Subscription(type="default", target="default")
126
 
127
  if not manager.add_subscription(session_id, subscription):
128
  raise HTTPException(status_code=400, detail="Échec de l'ajout de l'abonnement")