test news
This commit is contained in:
28
app/models/news.py
Normal file
28
app/models/news.py
Normal file
@ -0,0 +1,28 @@
|
||||
from pydantic import BaseModel, Field
|
||||
from typing import Optional, List
|
||||
from datetime import datetime
|
||||
|
||||
class NewsBase(BaseModel):
|
||||
title: str = Field(..., max_length=200)
|
||||
markdown: str # полный текст в Markdown
|
||||
preview: Optional[str] = None # краткий текст/анонс (тоже можно в MD)
|
||||
tags: List[str] = []
|
||||
is_published: bool = True
|
||||
|
||||
class NewsCreate(NewsBase):
|
||||
pass
|
||||
|
||||
class NewsUpdate(BaseModel):
|
||||
title: Optional[str] = None
|
||||
markdown: Optional[str] = None
|
||||
preview: Optional[str] = None
|
||||
tags: Optional[List[str]] = None
|
||||
is_published: Optional[bool] = None
|
||||
|
||||
class NewsInDB(NewsBase):
|
||||
id: str
|
||||
created_at: datetime
|
||||
updated_at: datetime
|
||||
|
||||
class Config:
|
||||
orm_mode = True
|
||||
@ -25,6 +25,7 @@ class UserInDB(BaseModel):
|
||||
telegram_id: Optional[str] = None
|
||||
is_verified: bool = False
|
||||
code_expires_at: Optional[datetime] = None
|
||||
is_admin: bool = False
|
||||
class Session(BaseModel):
|
||||
access_token: str
|
||||
client_token: str
|
||||
|
||||
Reference in New Issue
Block a user