feat:重新初始化
This commit is contained in:
105
schemas/blog.py
Normal file
105
schemas/blog.py
Normal file
@@ -0,0 +1,105 @@
|
||||
from typing import Optional
|
||||
|
||||
from pydantic import BaseModel, Field
|
||||
from datetime import datetime
|
||||
|
||||
|
||||
class BlogQuery(BaseModel):
|
||||
# 类别
|
||||
category: Optional[str] = None
|
||||
# 标题
|
||||
title: Optional[str] = None
|
||||
# 年份
|
||||
year: Optional[int] = None
|
||||
|
||||
|
||||
class BlogBase(BaseModel):
|
||||
title: str
|
||||
topValue: int
|
||||
isGreat: bool
|
||||
category: str
|
||||
content: Optional[str] = None
|
||||
|
||||
|
||||
class BlogCreate(BlogBase):
|
||||
pass
|
||||
|
||||
|
||||
class BlogUpdate(BlogBase):
|
||||
pass
|
||||
|
||||
|
||||
class BlogResponse(BlogBase):
|
||||
id: Optional[int] = None
|
||||
summary: Optional[str] = None
|
||||
wordCount: Optional[int] = None
|
||||
readDuration: Optional[float] = None
|
||||
visitCount: Optional[int] = None
|
||||
createTime: Optional[datetime] = None
|
||||
updateTime: Optional[datetime] = None
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
json_encoders = {
|
||||
# 自定义 datetime 类型的序列化格式
|
||||
datetime: lambda dt: dt.strftime('%Y-%m-%d %H:%M:%S')
|
||||
}
|
||||
|
||||
|
||||
class BlogCategoryResponse(BaseModel):
|
||||
name: str
|
||||
count: int
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
|
||||
class BlogStatsResponse(BaseModel):
|
||||
blogCount: int
|
||||
categoryCount: int
|
||||
wordCount: int
|
||||
|
||||
|
||||
class BlogVisitResponse(BaseModel):
|
||||
ip: str
|
||||
os: str
|
||||
browser: str
|
||||
uri: str
|
||||
title: Optional[str] = None
|
||||
visitTime: datetime
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
json_encoders = {
|
||||
datetime: lambda dt: dt.strftime('%Y-%m-%d %H:%M:%S')
|
||||
}
|
||||
|
||||
|
||||
class BlogLatestResponse(BaseModel):
|
||||
id: int
|
||||
title: str
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
|
||||
class BlogCommentCreate(BaseModel):
|
||||
blogId: int
|
||||
parentId: int
|
||||
name: str
|
||||
website: Optional[str] = None
|
||||
content: str
|
||||
|
||||
|
||||
class BlogCommentResponse(BlogCommentCreate):
|
||||
id: int
|
||||
ipAddress: str
|
||||
userAgent: str
|
||||
createTime: datetime
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
json_encoders = {
|
||||
# 自定义 datetime 类型的序列化格式
|
||||
datetime: lambda dt: dt.strftime('%Y-%m-%d %H:%M:%S')
|
||||
}
|
||||
Reference in New Issue
Block a user