82 lines
2.1 KiB
Python
82 lines
2.1 KiB
Python
from __future__ import annotations
|
|
|
|
from datetime import datetime
|
|
from uuid import UUID
|
|
|
|
from pydantic import BaseModel
|
|
|
|
|
|
class DatasetStorageResponse(BaseModel):
|
|
original_filename: str | None = None
|
|
stored_filename: str | None = None
|
|
content_type: str | None = None
|
|
size_bytes: int | None = None
|
|
checksum_sha256: str | None = None
|
|
|
|
|
|
class DatasetVectorSummary(BaseModel):
|
|
feature_count: int | None = None
|
|
geometry_types: list[str] | None = None
|
|
bounds_json: dict | None = None
|
|
approximate_area_m2: float | None = None
|
|
crs: str | None = None
|
|
feature_geometry_count: int | None = None
|
|
invalid_features: int | None = None
|
|
crs_assumed: bool | None = None
|
|
|
|
|
|
class DatasetCreateResponse(BaseModel):
|
|
id: UUID
|
|
name: str
|
|
dataset_type: str
|
|
source: str
|
|
dataset_role: str = "source"
|
|
source_name: str | None = None
|
|
reference_layer_name: str | None = None
|
|
source_metadata: dict | None = None
|
|
provenance_metadata: dict | None = None
|
|
imported_at: datetime | None = None
|
|
project_id: UUID
|
|
area_id: UUID | None = None
|
|
storage_path: str | None = None
|
|
original_filename: str | None = None
|
|
stored_filename: str | None = None
|
|
content_type: str | None = None
|
|
size_bytes: int | None = None
|
|
checksum_sha256: str | None = None
|
|
crs: str | None = None
|
|
bounds_json: dict | None = None
|
|
metadata_json: dict | None = None
|
|
vector_summary: DatasetVectorSummary | None = None
|
|
status: str
|
|
derived_from_dataset_id: UUID | None = None
|
|
created_at: datetime | None = None
|
|
feature_count: int | None = None
|
|
|
|
model_config = {"from_attributes": True}
|
|
|
|
|
|
class DatasetList(BaseModel):
|
|
items: list[DatasetCreateResponse]
|
|
total: int
|
|
limit: int
|
|
offset: int
|
|
|
|
|
|
class DatasetMetadataRefresh(BaseModel):
|
|
feature_count: int | None = None
|
|
geometry_types: list[str] | None = None
|
|
bounds_json: dict | None = None
|
|
crs: str | None = None
|
|
|
|
|
|
class ExportRequest(BaseModel):
|
|
dataset_id: UUID
|
|
name: str | None = None
|
|
|
|
|
|
class ExportRead(BaseModel):
|
|
export_id: UUID
|
|
path: str
|
|
status: str
|