diff --git a/src/backend/app/routes/http/reverse.py b/src/backend/app/routes/http/reverse.py index 463d689a..019ebde2 100644 --- a/src/backend/app/routes/http/reverse.py +++ b/src/backend/app/routes/http/reverse.py @@ -4,7 +4,7 @@ from urllib.parse import quote from botocore.exceptions import ClientError -from fastapi import APIRouter, Header, HTTPException, UploadFile, status, Request +from fastapi import APIRouter, Header, HTTPException, Request, UploadFile, status from fastapi.responses import StreamingResponse from sqlmodel import col, select from types_aiobotocore_s3.type_defs import CompletedPartTypeDef @@ -20,8 +20,8 @@ RoomOut, ) from app.settings import settings -from app.states.room import RoomState from app.states.app import UploadProgress +from app.states.room import RoomState from app.tasks.clean_file import delete_expired_file from app.tasks.persist_file import persist_file_record @@ -86,7 +86,6 @@ async def add_host( async def upload_file_to_room( room_id: str, file: UploadFile, - file: UploadFile, request: Request, s3: S3Dep, x_host_token: str = Header(), @@ -208,7 +207,7 @@ async def upload_file_to_room( filename=filename, size=uploaded_size, uploaded_at=now, - download_url=f"{settings.ROOT_PATH}/download/{file_key}", + download_url=str(request.app.url_path_for("download_files", key=file_key)), ) # Persist in room state + fan-out event via pub/sub (atomic append)