Add Belgium and North Sea coverage foundation
This commit is contained in:
@@ -7,7 +7,8 @@ from app.core.errors import AppError
|
||||
from app.db.session import get_db
|
||||
from app.models import Area, Project
|
||||
from app.providers.registry import fetch_provider_data, get_provider, import_provider_dataset, list_provider_capabilities
|
||||
from app.schemas import ExternalFetchRequest, ExternalFetchResponse, ProviderImportRequest
|
||||
from app.schemas import CoverageResolveRequest, ExternalFetchRequest, ExternalFetchResponse, ProviderImportRequest
|
||||
from app.services.coverage_registry_service import CoverageRegistryService
|
||||
from app.utils.response import envelope
|
||||
|
||||
router = APIRouter(prefix="/external", tags=["external"])
|
||||
@@ -46,6 +47,22 @@ def list_external_providers() -> dict:
|
||||
})
|
||||
|
||||
|
||||
@router.get("/coverage/catalog")
|
||||
def get_coverage_catalog() -> dict:
|
||||
return envelope(CoverageRegistryService.catalog().model_dump())
|
||||
|
||||
|
||||
@router.post("/coverage/resolve")
|
||||
def resolve_project_coverage(payload: CoverageResolveRequest, db: Session = Depends(get_db)) -> dict:
|
||||
result = CoverageRegistryService.resolve(
|
||||
db,
|
||||
project_id=payload.project_id,
|
||||
bbox=payload.bbox,
|
||||
themes=payload.themes,
|
||||
)
|
||||
return envelope(result.model_dump())
|
||||
|
||||
|
||||
@router.get("/providers/capabilities")
|
||||
def get_external_provider_capabilities() -> dict:
|
||||
return envelope({
|
||||
|
||||
Reference in New Issue
Block a user