44 lines
812 B
Python
44 lines
812 B
Python
from datetime import datetime
|
|
|
|
from pydantic import BaseModel
|
|
|
|
|
|
class TimelineCreate(BaseModel):
|
|
title: str
|
|
content: str | None = None
|
|
|
|
|
|
class TimelineUpdate(BaseModel):
|
|
title: str | None = None
|
|
content: str | None = None
|
|
|
|
|
|
class TimelineCommentCreate(BaseModel):
|
|
content: str
|
|
|
|
|
|
class TimelineCommentOut(BaseModel):
|
|
id: int
|
|
post_id: int
|
|
author_id: int
|
|
author_name: str
|
|
content: str
|
|
created_at: datetime
|
|
updated_at: datetime
|
|
|
|
|
|
class TimelineOut(BaseModel):
|
|
id: int
|
|
class_id: int
|
|
author_id: int
|
|
author_name: str
|
|
title: str
|
|
content: str | None
|
|
image_urls: list[str] | None
|
|
like_count: int
|
|
has_liked: bool
|
|
comment_count: int
|
|
comments: list[TimelineCommentOut] | None = None
|
|
created_at: datetime
|
|
updated_at: datetime
|