60 lines
1000 B
Python
60 lines
1000 B
Python
from typing import Optional
|
|
|
|
from schemas.base import OkMessageSchema, BaseSchema
|
|
|
|
|
|
# region Entities
|
|
|
|
class TelegramUserSchema(BaseSchema):
|
|
id: int
|
|
first_name: str
|
|
last_name: str
|
|
username: str
|
|
|
|
|
|
class MessageFileSchema(BaseSchema):
|
|
file_path: str
|
|
type: str
|
|
file_name: str
|
|
file_size: int
|
|
|
|
|
|
class MessageFromTelegramSchema(BaseSchema):
|
|
group_id: str
|
|
tg_topic_id: int
|
|
text: Optional[str]
|
|
sender: TelegramUserSchema
|
|
file: Optional[MessageFileSchema]
|
|
|
|
|
|
# endregion
|
|
|
|
# region Requests
|
|
|
|
class MessageFromTelegramRequest(BaseSchema):
|
|
message: MessageFromTelegramSchema
|
|
|
|
|
|
# endregion
|
|
|
|
# region Responses
|
|
|
|
class BaseConnectorResponse(OkMessageSchema):
|
|
message_type: int
|
|
|
|
|
|
class SendMessageToConnectorResponse(BaseConnectorResponse):
|
|
message_id: int
|
|
tg_message_id: int
|
|
|
|
|
|
class DeleteMessageResponse(BaseConnectorResponse):
|
|
message_id: int
|
|
|
|
|
|
class EditMessageResponse(BaseConnectorResponse):
|
|
message_id: int
|
|
text: str
|
|
|
|
# endregion
|