File size: 720 Bytes
aac350d | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | """Provider routes — list/get provider info."""
from __future__ import annotations
from fastapi import APIRouter, Depends, HTTPException
from api.deps import get_provider_service
from services.provider_service import ProviderService
router = APIRouter()
@router.get("")
@router.get("/")
async def list_providers(svc: ProviderService = Depends(get_provider_service)):
return {"providers": svc.list_providers(), "errors": svc.manifest_errors()}
@router.get("/{name}")
async def get_provider(name: str, svc: ProviderService = Depends(get_provider_service)):
info = svc.get_provider(name)
if not info:
raise HTTPException(status_code=404, detail=f"Provider '{name}' not found")
return info
|