feat(phase7): add generated video download endpoint
CI/CD Pipeline / Code Quality Check (push) Failing after 46s
CI/CD Pipeline / Run Tests (push) Has been skipped
CI/CD Pipeline / Build Summary (push) Has been skipped

This commit is contained in:
Xiaoxia AI
2026-06-18 20:33:14 +08:00
parent 938ba71869
commit bd078438c0
5 changed files with 67 additions and 8 deletions
+22 -2
View File
@@ -1,9 +1,17 @@
from fastapi import APIRouter, Depends, HTTPException
from app.dependencies import get_generated_video_repository
from app.schemas.generated_video import GeneratedVideoResponse, ListGeneratedVideosResponse
from app.schemas.generated_video import (
GeneratedVideoDownloadUrlResponse,
GeneratedVideoResponse,
ListGeneratedVideosResponse,
)
from packages.adapters.sqlalchemy_impl import SQLAlchemyGeneratedVideoRepository
from packages.application import GetGeneratedVideoUseCase, ListGeneratedVideosUseCase
from packages.application import (
GetGeneratedVideoDownloadUrlUseCase,
GetGeneratedVideoUseCase,
ListGeneratedVideosUseCase,
)
router = APIRouter()
@@ -59,3 +67,15 @@ def get_generated_video(
height=item.height,
fps=item.fps,
)
@router.get("/{video_id}/download-url", response_model=GeneratedVideoDownloadUrlResponse)
def get_generated_video_download_url(
video_id: str,
generated_video_repository: SQLAlchemyGeneratedVideoRepository = Depends(get_generated_video_repository),
) -> GeneratedVideoDownloadUrlResponse:
use_case = GetGeneratedVideoDownloadUrlUseCase(generated_video_repository)
download_url = use_case.execute(video_id)
if download_url is None:
raise HTTPException(status_code=404, detail=f"GeneratedVideo {video_id} not found")
return GeneratedVideoDownloadUrlResponse(video_id=video_id, download_url=download_url)