feat: acquire immutable sanctions snapshots
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from datetime import datetime
|
||||
from typing import Any, Literal
|
||||
|
||||
from pydantic import BaseModel, Field, model_validator
|
||||
@@ -69,8 +70,84 @@ class TabularSourceDeleteResponse(BaseModel):
|
||||
source_ref: str
|
||||
|
||||
|
||||
class SanctionsSourceResponse(BaseModel):
|
||||
provider_id: str
|
||||
publisher: str
|
||||
jurisdiction: str
|
||||
list_type: str
|
||||
source_id: str
|
||||
source_url: str | None
|
||||
parser_version: str
|
||||
licence_notes: str
|
||||
trust_notes: str
|
||||
|
||||
|
||||
class SanctionsSourceListResponse(BaseModel):
|
||||
sources: list[SanctionsSourceResponse]
|
||||
|
||||
|
||||
class SanctionsSnapshotResponse(BaseModel):
|
||||
ref: str
|
||||
provider_id: str
|
||||
publisher: str
|
||||
jurisdiction: str
|
||||
list_type: str
|
||||
source_id: str
|
||||
source_version: str
|
||||
publication_at: datetime | None
|
||||
effective_at: datetime | None
|
||||
acquired_at: datetime
|
||||
content_type: str
|
||||
byte_count: int
|
||||
sha256: str
|
||||
parser_version: str
|
||||
raw_evidence_ref: str
|
||||
connector_run_id: str
|
||||
signature_evidence: dict[str, Any]
|
||||
licence_notes: str | None
|
||||
trust_notes: str | None
|
||||
transport_evidence: dict[str, Any]
|
||||
|
||||
|
||||
class SanctionsSnapshotListResponse(BaseModel):
|
||||
snapshots: list[SanctionsSnapshotResponse]
|
||||
|
||||
|
||||
class SanctionsAcquisitionRunResponse(BaseModel):
|
||||
id: str
|
||||
provider_id: str
|
||||
source_id: str
|
||||
status: str
|
||||
attempt_count: int
|
||||
request_evidence: dict[str, Any]
|
||||
response_evidence: dict[str, Any]
|
||||
started_at: datetime
|
||||
finished_at: datetime | None
|
||||
snapshot_id: str | None
|
||||
error: str | None
|
||||
|
||||
|
||||
class SanctionsAcquisitionRunListResponse(BaseModel):
|
||||
runs: list[SanctionsAcquisitionRunResponse]
|
||||
|
||||
|
||||
class SanctionsRefreshResponse(BaseModel):
|
||||
run_id: str
|
||||
provider_id: str
|
||||
status: str
|
||||
snapshot: SanctionsSnapshotResponse | None
|
||||
error: str | None
|
||||
|
||||
|
||||
__all__ = [
|
||||
"SnapshotCreateRequest",
|
||||
"SanctionsAcquisitionRunListResponse",
|
||||
"SanctionsAcquisitionRunResponse",
|
||||
"SanctionsRefreshResponse",
|
||||
"SanctionsSnapshotListResponse",
|
||||
"SanctionsSnapshotResponse",
|
||||
"SanctionsSourceListResponse",
|
||||
"SanctionsSourceResponse",
|
||||
"TabularColumnResponse",
|
||||
"TabularSourceDeleteResponse",
|
||||
"TabularSourceListResponse",
|
||||
|
||||
Reference in New Issue
Block a user