Initial public release
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

This commit is contained in:
Jens
2026-08-31 21:56:53 +02:00
commit faeb58ef6d
1386 changed files with 263203 additions and 0 deletions
+56
View File
@@ -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", "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]