from typing import Optional from schemas.base import OkMessageSchema, BaseSchema # region Entities class TelegramUserSchema(BaseSchema): id: int first_name: Optional[str] = None last_name: Optional[str] = None username: Optional[str] = None 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 message_id: int class SendMessageToConnectorResponse(BaseConnectorResponse): tg_message_id: Optional[int] = None class DeleteMessageResponse(BaseConnectorResponse): pass class EditMessageResponse(BaseConnectorResponse): text: str # endregion