feat(phase7): prefer presigned generated video downloads
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
from fastapi import APIRouter, Depends, HTTPException
|
||||
|
||||
from app.core.storage import MinIOService, get_minio_service
|
||||
from app.dependencies import get_generated_video_repository
|
||||
from app.schemas.generated_video import (
|
||||
GeneratedVideoDownloadUrlResponse,
|
||||
@@ -73,9 +74,11 @@ def get_generated_video(
|
||||
def get_generated_video_download_url(
|
||||
video_id: str,
|
||||
generated_video_repository: SQLAlchemyGeneratedVideoRepository = Depends(get_generated_video_repository),
|
||||
storage_service: MinIOService = Depends(get_minio_service),
|
||||
) -> GeneratedVideoDownloadUrlResponse:
|
||||
use_case = GetGeneratedVideoDownloadUrlUseCase(generated_video_repository)
|
||||
download_url = use_case.execute(video_id)
|
||||
if download_url is None:
|
||||
file_url = use_case.execute(video_id)
|
||||
if file_url is None:
|
||||
raise HTTPException(status_code=404, detail=f"GeneratedVideo {video_id} not found")
|
||||
download_url = storage_service.get_download_url(file_url)
|
||||
return GeneratedVideoDownloadUrlResponse(video_id=video_id, download_url=download_url)
|
||||
|
||||
Reference in New Issue
Block a user