feat: complete Wallonia land cover and terrain sources
This commit is contained in:
@@ -18,6 +18,8 @@ from app.schemas import (
|
||||
BathymetrySourceRead,
|
||||
DatasetList,
|
||||
DhmvProductRead,
|
||||
SpwTerrainAcquireRequest,
|
||||
SpwTerrainProductRead,
|
||||
Envelope,
|
||||
FloodHazardProductRead,
|
||||
FloodHazardSelectionResponse,
|
||||
@@ -88,6 +90,7 @@ from app.services.grb_acquisition_service import GrbAcquisitionService
|
||||
from app.services.official_vector_acquisition_service import OfficialVectorAcquisitionService
|
||||
from app.services.orthophoto_acquisition_service import OrthophotoAcquisitionService
|
||||
from app.services.dhmv_acquisition_service import DhmvAcquisitionService
|
||||
from app.services.spw_terrain_service import SpwTerrainService
|
||||
from app.services.terrain_analysis_service import TerrainAnalysisService
|
||||
from app.services.flood_hazard_acquisition_service import FloodHazardAcquisitionService
|
||||
from app.services.flood_hazard_analysis_service import FloodHazardAnalysisService
|
||||
@@ -243,6 +246,33 @@ def list_dhmv_products(project_id: UUID, db: Session = Depends(get_db)):
|
||||
return envelope({"items": items, "total": len(items)})
|
||||
|
||||
|
||||
@router.post("/datasets/spw-terrain/acquire", response_model=Envelope[JobRead])
|
||||
def acquire_bounded_spw_terrain(
|
||||
project_id: UUID,
|
||||
payload: SpwTerrainAcquireRequest,
|
||||
db: Session = Depends(get_db),
|
||||
):
|
||||
job = JobService.run_sync_job(
|
||||
db=db,
|
||||
project_id=project_id,
|
||||
job_type="raster.spw-terrain.acquire",
|
||||
parameters=payload.model_dump(mode="json"),
|
||||
operation=lambda: SpwTerrainService.acquire(db, project_id, payload),
|
||||
)
|
||||
return envelope(job)
|
||||
|
||||
|
||||
@router.get(
|
||||
"/datasets/spw-terrain/products",
|
||||
response_model=Envelope[ItemList[SpwTerrainProductRead]],
|
||||
)
|
||||
def list_spw_terrain_products(project_id: UUID, db: Session = Depends(get_db)):
|
||||
if not db.get(Project, project_id):
|
||||
raise AppError(code="PROJECT_NOT_FOUND", message="Project not found", status_code=404)
|
||||
items = SpwTerrainService.list_products()
|
||||
return envelope({"items": items, "total": len(items)})
|
||||
|
||||
|
||||
@router.post("/datasets/grb/acquire", response_model=Envelope[JobRead])
|
||||
def acquire_bounded_grb(
|
||||
project_id: UUID,
|
||||
|
||||
Reference in New Issue
Block a user