Add official source edition probes
This commit is contained in:
@@ -11,6 +11,11 @@ from .source_freshness import (
|
||||
SourceFreshnessSummary,
|
||||
SourceIntegritySummary,
|
||||
)
|
||||
from .source_catalog import (
|
||||
SourceCatalogProbeItem,
|
||||
SourceCatalogProbeReport,
|
||||
SourceCatalogProbeSummary,
|
||||
)
|
||||
from .detection import (
|
||||
DetectionListResponse,
|
||||
DetectionModelCapability,
|
||||
@@ -141,6 +146,9 @@ __all__ = [
|
||||
"SourceFreshnessReport",
|
||||
"SourceFreshnessSummary",
|
||||
"SourceIntegritySummary",
|
||||
"SourceCatalogProbeItem",
|
||||
"SourceCatalogProbeReport",
|
||||
"SourceCatalogProbeSummary",
|
||||
"DetectionListResponse",
|
||||
"DetectionModelCapability",
|
||||
"DetectionModelsResponse",
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from datetime import datetime
|
||||
from typing import Literal
|
||||
from uuid import UUID
|
||||
|
||||
from pydantic import BaseModel
|
||||
|
||||
|
||||
SourceCatalogProbeStatus = Literal["available", "degraded", "unavailable", "disabled"]
|
||||
SourceCatalogComparisonStatus = Literal["same", "different", "not_comparable", "no_local_data", "unavailable"]
|
||||
|
||||
|
||||
class SourceCatalogProbeItem(BaseModel):
|
||||
source_name: str
|
||||
display_name: str
|
||||
service_type: Literal["WFS", "WMS"]
|
||||
endpoint_url: str
|
||||
status: SourceCatalogProbeStatus
|
||||
reachable: bool
|
||||
checked_at: datetime
|
||||
cached: bool = False
|
||||
expected_layers: list[str]
|
||||
matched_layers: list[str]
|
||||
missing_layers: list[str]
|
||||
advertised_layer_count: int
|
||||
metadata_url: str | None = None
|
||||
metadata_identifier: str | None = None
|
||||
remote_title: str | None = None
|
||||
remote_version: str | None = None
|
||||
remote_modified_at: datetime | None = None
|
||||
remote_published_at: datetime | None = None
|
||||
local_source_version: str | None = None
|
||||
comparison_status: SourceCatalogComparisonStatus
|
||||
capabilities_sha256: str | None = None
|
||||
capabilities_etag: str | None = None
|
||||
capabilities_last_modified_at: datetime | None = None
|
||||
message: str
|
||||
error_code: str | None = None
|
||||
|
||||
|
||||
class SourceCatalogProbeSummary(BaseModel):
|
||||
provider_count: int
|
||||
available_count: int
|
||||
degraded_count: int
|
||||
unavailable_count: int
|
||||
disabled_count: int
|
||||
different_version_count: int
|
||||
|
||||
|
||||
class SourceCatalogProbeReport(BaseModel):
|
||||
project_id: UUID
|
||||
generated_at: datetime
|
||||
summary: SourceCatalogProbeSummary
|
||||
items: list[SourceCatalogProbeItem]
|
||||
limitations: list[str]
|
||||
Reference in New Issue
Block a user