88 lines
1.3 KiB
Python
88 lines
1.3 KiB
Python
from datetime import datetime
|
|
|
|
from pydantic import BaseModel, HttpUrl
|
|
|
|
|
|
class SMessage(BaseModel):
|
|
id: int
|
|
message: str | None = None
|
|
image_url: str | None = None
|
|
chat_id: int
|
|
user_id: int
|
|
username: str
|
|
created_at: datetime
|
|
avatar_image: str
|
|
answer_id: int | None
|
|
answer_message: str | None
|
|
answer_image_url: str | None
|
|
|
|
|
|
class SMessageList(BaseModel):
|
|
messages: list[SMessage] | None
|
|
|
|
|
|
class SLastMessages(BaseModel):
|
|
messages_loaded: int
|
|
messages_to_get: int
|
|
|
|
|
|
class SChat(BaseModel):
|
|
chat_id: int
|
|
chat_for: int
|
|
chat_name: str
|
|
created_by: int
|
|
avatar_image: str
|
|
|
|
|
|
class SChangeData(BaseModel):
|
|
chat_id: int
|
|
chat_name: str
|
|
avatar_image: HttpUrl
|
|
|
|
|
|
class SChatId(BaseModel):
|
|
chat_id: int
|
|
|
|
|
|
class SAllowedChats(BaseModel):
|
|
allowed_chats: list[SChat] | None
|
|
|
|
|
|
class SPinnedChats(BaseModel):
|
|
pinned_chats: list[SChat] | None
|
|
|
|
|
|
class SPinnedMessages(BaseModel):
|
|
pinned_messages: list[SMessage] | None
|
|
|
|
|
|
class SSendMessage(BaseModel):
|
|
flag: str
|
|
message: str
|
|
image_url: str | None
|
|
answer: int | None
|
|
|
|
|
|
class SDeleteMessage(BaseModel):
|
|
flag: str
|
|
user_id: int
|
|
id: int
|
|
|
|
|
|
class SEditMessage(BaseModel):
|
|
flag: str
|
|
user_id: int
|
|
id: int
|
|
new_message: str | None
|
|
new_image_url: str | None
|
|
|
|
|
|
class SPinMessage(BaseModel):
|
|
flag: str
|
|
id: int
|
|
user_id: int
|
|
|
|
|
|
class SUnpinMessage(BaseModel):
|
|
flag: str
|
|
id: int
|