59 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
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
 |