chat_back/app/chat/shemas.py
2024-07-12 16:29:31 +04:00

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