feat: add bulk moderation decisions

This commit is contained in:
ik
2026-09-21 20:25:17 +07:00
parent 2fc4b88a80
commit e74929e7f7
3 changed files with 53 additions and 2 deletions
+22
View File
@@ -326,6 +326,28 @@ class ModerationUpdate(BaseModel):
return value
class ModerationBulkItem(BaseModel):
id: UUID
expected_version: int = Field(ge=0)
class ModerationBulkUpdate(BaseModel):
status: str
reason: str | None = Field(default=None, max_length=1000)
items: list[ModerationBulkItem] = Field(min_length=1, max_length=50)
@field_validator("status")
@classmethod
def known_bulk_status(cls, value: str) -> str:
if value not in {"approved", "rejected", "pending"}:
raise ValueError("unknown moderation status")
return value
class ModerationBulkResult(BaseModel):
updated: int
class ExternalObservationOut(BaseModel):
id: UUID
source_system: str