from typing import Optional from uuid import UUID from schemas.base import BaseSchema, OkMessageSchema # region Entities class ExternalMessageFileSchema(BaseSchema): file_path: str type: str file_name: str file_size: int # endregion # region Requests class ExternalCreateGroupRequest(BaseSchema): title: str class ExternalCreateTopicRequest(BaseSchema): group_id: str title: str icon_emoji_id: Optional[int] = None # endregion # region Responses class ExternalCreateGroupResponse(BaseSchema): tg_group_id: int group_id: UUID tg_invite_link: str class ExternalCreateTopicResponse(BaseSchema): tg_topic_id: int class ExternalSendMessagesWithFilesResponse(OkMessageSchema): files: list[ExternalMessageFileSchema] # endregion