46 lines
980 B
Python
46 lines
980 B
Python
from __future__ import annotations
|
|
|
|
from uuid import UUID
|
|
|
|
from pydantic import BaseModel
|
|
|
|
from .operations import VectorSelectionBBox
|
|
|
|
|
|
class GrbAcquireRequest(BaseModel):
|
|
bbox: VectorSelectionBBox
|
|
area_id: UUID | None = None
|
|
product_key: str = "buildings"
|
|
force_refresh: bool = False
|
|
|
|
|
|
class GrbProductRead(BaseModel):
|
|
key: str
|
|
display_name: str
|
|
reference_layer_name: str
|
|
collections: list[str]
|
|
geometry_types: list[str]
|
|
source_crs: str
|
|
authority_level: str
|
|
catalog_url: str
|
|
attribution: str
|
|
license_note: str
|
|
limitation_message: str
|
|
|
|
|
|
class GrbAcquisitionResult(BaseModel):
|
|
output_dataset_id: UUID
|
|
reused: bool
|
|
provider: str
|
|
product_key: str
|
|
display_name: str
|
|
reference_layer_name: str
|
|
collections: list[str]
|
|
feature_count: int
|
|
candidate_feature_count: int
|
|
page_count: int
|
|
bbox_epsg4326: list[float]
|
|
source_version: str
|
|
attribution: str
|
|
limitation_message: str
|