feat: add external observation review queue
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user