from datetime import datetime from pydantic import BaseModel class JokeBase(BaseModel): title: str content: str type_id: int | None = None crowd_id: int | None = None class JokeCreate(JokeBase): pass class JokeUpdate(BaseModel): title: str | None = None content: str | None = None type_id: int | None = None crowd_id: int | None = None status: str | None = None class JokeResponse(JokeBase): id: int status: str view_count: int like_count: int created_at: datetime updated_at: datetime type_name: str | None = None crowd_name: str | None = None class Config: from_attributes = True class PaginatedJokeResponse(BaseModel): items: list[JokeResponse] total: int page: int page_size: int