File size: 672 Bytes
e317d56
 
 
 
 
 
 
 
 
 
 
46cc63a
e317d56
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
from fastapi import APIRouter

from src.api.schemas import SuggestedVideo, SuggestedVideosResponse
from src.api.youtube import fetch_video_metadata, load_suggested_config

router = APIRouter(tags=["Videos"])


@router.get("/videos/suggested", response_model=SuggestedVideosResponse)
async def suggested_videos():
    cfg = load_suggested_config()
    max_comments = int(cfg.get("max_comments", 15))
    entries = cfg.get("videos") or []
    ids = [e["id"] if isinstance(e, dict) else str(e) for e in entries]
    meta = fetch_video_metadata(ids)
    videos = [SuggestedVideo(**m) for m in meta]
    return SuggestedVideosResponse(videos=videos, max_comments=max_comments)