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