Files
telepost/backend/app/schemas/post.py
T
2026-01-18 21:01:43 +03:00

44 lines
868 B
Python

from pydantic import BaseModel
from datetime import datetime
from typing import Optional
from enum import Enum
class PostStatus(str, Enum):
draft = "draft"
scheduled = "scheduled"
published = "published"
cancelled = "cancelled"
class PostBase(BaseModel):
title: str
content: str
scheduled_time: Optional[datetime] = None
status: PostStatus = PostStatus.draft
class PostCreate(PostBase):
pass
class PostUpdate(BaseModel):
title: Optional[str] = None
content: Optional[str] = None
scheduled_time: Optional[datetime] = None
status: Optional[PostStatus] = None
class PostInDB(PostBase):
id: int
owner_id: int
created_at: datetime
updated_at: Optional[datetime] = None
published_at: Optional[datetime] = None
class Config:
from_attributes = True
class Post(PostInDB):
pass