from __future__ import annotations from fastapi import APIRouter, Depends from sqlmodel import Session from ..db.session import get_session from ..services import media_pipeline_service from .connector_runtime import load_connector_runtime router = APIRouter(prefix='/api/media-pipeline', dependencies=[Depends(load_connector_runtime)]) @router.get('/summary') def summary(refresh: bool = False, session: Session = Depends(get_session)): return media_pipeline_service.summary(session, force_refresh=refresh) @router.get('/health') def health(refresh: bool = False, session: Session = Depends(get_session)): return media_pipeline_service.summary(session, force_refresh=refresh) @router.get('/flow') def flow(session: Session = Depends(get_session)): return media_pipeline_service.flow(session) @router.get('/issues') def issues(session: Session = Depends(get_session)): return media_pipeline_service.issues(session) @router.get('/downloads') def downloads(session: Session = Depends(get_session)): return media_pipeline_service.downloads(session) @router.get('/library') def library(session: Session = Depends(get_session)): return media_pipeline_service.library(session) @router.get('/activity') def activity(): return media_pipeline_service.activity() @router.get('/recommendations') def recommendations(session: Session = Depends(get_session)): return media_pipeline_service.recommendations(session) @router.post('/check') def check(session: Session = Depends(get_session)): return media_pipeline_service.check(session) @router.post('/diagnose') def diagnose(payload: dict | None = None, session: Session = Depends(get_session)): return media_pipeline_service.diagnose(session, payload or {})