48 lines
		
	
	
		
			793 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			793 B
		
	
	
	
		
			Python
		
	
	
	
	
	
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
 |