61 lines
1.7 KiB
Python
61 lines
1.7 KiB
Python
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 {})
|