feat(api): add Pydantic schemas

This commit is contained in:
bwstudio
2026-05-21 20:45:41 +08:00
parent 16baff934a
commit 29e06517cb
12 changed files with 120 additions and 1 deletions
+43
View File
@@ -0,0 +1,43 @@
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