GeoIntel release gates / Compile, test, contracts and builds (push) Successful in 1m49s
GeoIntel release gates / Python and npm vulnerability policy (push) Successful in 21s
GeoIntel release gates / Production AI image, SBOM and container scan (push) Successful in 5m39s
GeoIntel release gates / Deploy exact gated revision to Unraid (push) Failing after 58m43s
57 lines
1.6 KiB
Python
57 lines
1.6 KiB
Python
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", "HTML", "DCAT"]
|
|
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]
|