53 lines
892 B
Python
53 lines
892 B
Python
from typing import Optional
|
|
from uuid import UUID
|
|
|
|
from schemas.base import BaseSchema, OkMessageSchema
|
|
|
|
|
|
# region Entities
|
|
|
|
class ExternalSendFileSchema(BaseSchema):
|
|
buffer: bytes
|
|
file_name: str
|
|
file_size: int
|
|
|
|
|
|
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
|