feat: add external observation review queue

This commit is contained in:
ik
2026-09-03 18:47:31 +07:00
parent 53d700126a
commit c4f4deb24b
10 changed files with 429 additions and 13 deletions
+37
View File
@@ -161,3 +161,40 @@ class ModerationUpdate(BaseModel):
if value not in {"approved", "rejected", "pending"}:
raise ValueError("unknown moderation status")
return value
class ExternalObservationOut(BaseModel):
id: UUID
source_system: str
source_external_id: str
source_url: str
fish_name: str
fish_external_id: str | None
waterbody_name: str
waterbody_external_id: str | None
x: int | None
y: int | None
weight_g: int | None
published_at: datetime | None
last_seen_at: datetime
status: str
fish_slug: str | None
waterbody_slug: str | None
catch_report_id: UUID | None
review_note: str | None
class ExternalObservationMapping(BaseModel):
fish_slug: str
waterbody_slug: str
note: str | None = Field(default=None, max_length=1000)
class ExternalObservationDecision(BaseModel):
reason: str = Field(min_length=1, max_length=1000)
class ExternalObservationPublished(BaseModel):
observation_id: UUID
catch_report_id: UUID
status: str