Files
clawfort/backend/schemas.py
2026-02-13 00:49:22 -05:00

49 lines
1.1 KiB
Python

import datetime
from pydantic import BaseModel
class NewsItemResponse(BaseModel):
id: int
headline: str
summary: str
source_url: str | None = None
image_url: str | None = None
image_credit: str | None = None
tldr_points: list[str] | None = None
summary_body: str | None = None
source_citation: str | None = None
summary_image_url: str | None = None
summary_image_credit: str | None = None
published_at: datetime.datetime
created_at: datetime.datetime
language: str
model_config = {"from_attributes": True}
class PaginatedNewsResponse(BaseModel):
items: list[NewsItemResponse]
next_cursor: int | None = None
has_more: bool = False
class NewsTranslationResponse(BaseModel):
id: int
news_item_id: int
language: str
headline: str
summary: str
tldr_points: list[str] | None = None
summary_body: str | None = None
source_citation: str | None = None
created_at: datetime.datetime
model_config = {"from_attributes": True}
class HealthResponse(BaseModel):
status: str
version: str
news_count: int