Files
family-service/schemas/record.py

50 lines
1.0 KiB
Python

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
liked: bool = False
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")
}
}
class RecordPageResponse(BaseModel):
records: List[RecordResponse]
total: int
page: int
size: int
pages: int