feat: 初始化工程
This commit is contained in:
31
schemas/comment.py
Normal file
31
schemas/comment.py
Normal file
@@ -0,0 +1,31 @@
|
||||
from datetime import datetime
|
||||
|
||||
from pydantic import BaseModel
|
||||
|
||||
from schemas.user import UserResponse
|
||||
|
||||
|
||||
class CommentCreate(BaseModel):
|
||||
record_id: int
|
||||
user_id: int
|
||||
content: str
|
||||
|
||||
|
||||
class CommentUpdate(BaseModel):
|
||||
content: str
|
||||
|
||||
|
||||
class CommentResponse(BaseModel):
|
||||
id: int
|
||||
record_id: int
|
||||
user: UserResponse
|
||||
content: str
|
||||
create_time: datetime
|
||||
update_time: datetime
|
||||
|
||||
model_config = {
|
||||
"from_attributes": True,
|
||||
"json_encoders": {
|
||||
datetime: lambda dt: dt.strftime("%Y-%m-%d %H:%M:%S")
|
||||
}
|
||||
}
|
||||
6
schemas/like.py
Normal file
6
schemas/like.py
Normal file
@@ -0,0 +1,6 @@
|
||||
from pydantic import BaseModel
|
||||
|
||||
|
||||
class LikeCreate(BaseModel):
|
||||
record_id: int
|
||||
user_id: int
|
||||
40
schemas/record.py
Normal file
40
schemas/record.py
Normal file
@@ -0,0 +1,40 @@
|
||||
from datetime import datetime
|
||||
|
||||
from pydantic import BaseModel
|
||||
from typing import Optional, List
|
||||
|
||||
from schemas.comment import CommentResponse
|
||||
from schemas.user import UserResponse
|
||||
|
||||
|
||||
class RecordCreate(BaseModel):
|
||||
user_id: int
|
||||
content: str
|
||||
image_list: List[str] = []
|
||||
video_list: List[str] = []
|
||||
|
||||
|
||||
class RecordUpdate(BaseModel):
|
||||
content: Optional[str] = None
|
||||
image_list: Optional[List[str]] = None
|
||||
video_list: Optional[List[str]] = None
|
||||
|
||||
|
||||
class RecordResponse(BaseModel):
|
||||
id: int
|
||||
user: UserResponse
|
||||
content: str
|
||||
image_list: List[str]
|
||||
video_list: List[str]
|
||||
like_count: int
|
||||
comment_count: int
|
||||
comments: List[CommentResponse] = []
|
||||
create_time: datetime
|
||||
update_time: datetime
|
||||
|
||||
model_config = {
|
||||
"from_attributes": True,
|
||||
"json_encoders": {
|
||||
datetime: lambda dt: dt.strftime("%Y-%m-%d %H:%M:%S")
|
||||
}
|
||||
}
|
||||
29
schemas/user.py
Normal file
29
schemas/user.py
Normal file
@@ -0,0 +1,29 @@
|
||||
from datetime import datetime
|
||||
|
||||
from pydantic import BaseModel
|
||||
from typing import Optional
|
||||
|
||||
|
||||
class UserCreate(BaseModel):
|
||||
name: str
|
||||
avatar: Optional[str] = None
|
||||
|
||||
|
||||
class UserUpdate(BaseModel):
|
||||
name: Optional[str] = None
|
||||
avatar: Optional[str] = None
|
||||
|
||||
|
||||
class UserResponse(BaseModel):
|
||||
id: int
|
||||
name: str
|
||||
avatar: Optional[str] = None
|
||||
create_time: datetime
|
||||
update_time: datetime
|
||||
|
||||
model_config = {
|
||||
"from_attributes": True,
|
||||
"json_encoders": {
|
||||
datetime: lambda dt: dt.strftime("%Y-%m-%d %H:%M:%S")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user