feat(results): add generated video management

This commit is contained in:
Xiaoxia AI
2026-06-24 06:28:06 +08:00
parent 719dc12d3d
commit 8acbd6c8a7
11 changed files with 230 additions and 29 deletions
@@ -8,6 +8,7 @@ from app.schemas.generated_video import (
GeneratedVideoDownloadUrlResponse,
GeneratedVideoResponse,
ListGeneratedVideosResponse,
UpdateGeneratedVideoReviewRequest,
)
from fastapi import APIRouter, Depends, HTTPException
@@ -35,6 +36,9 @@ def _to_generated_video_response(item) -> GeneratedVideoResponse:
width=item.width,
height=item.height,
fps=item.fps,
status=item.status,
review_status=item.review_status,
generation_params=item.generation_params,
)
@@ -70,6 +74,23 @@ def get_generated_video(
return _to_generated_video_response(item)
@router.patch("/{video_id}/review", response_model=GeneratedVideoResponse)
def update_generated_video_review_status(
video_id: str,
request: UpdateGeneratedVideoReviewRequest,
authenticated_user: AuthenticatedUser = Depends(get_current_user),
generated_video_repository: Any = Depends(get_generated_video_repository),
workspace_member_repository: WorkspaceMemberRepository = Depends(get_workspace_member_repository),
) -> GeneratedVideoResponse:
video = generated_video_repository.get(video_id)
if video is None:
raise HTTPException(status_code=404, detail=f"GeneratedVideo {video_id} not found")
require_workspace_member(video.workspace_id, authenticated_user, workspace_member_repository)
video.review_status = request.review_status
updated = generated_video_repository.update(video)
return _to_generated_video_response(updated)
@router.get("/{video_id}/download-url", response_model=GeneratedVideoDownloadUrlResponse)
def get_generated_video_download_url(
video_id: str,