feat: sending and receiving messages with files, editing text messages
This commit is contained in:
		@@ -1,5 +1,5 @@
 | 
			
		||||
from datetime import datetime
 | 
			
		||||
from typing import Optional
 | 
			
		||||
from typing import Optional, List
 | 
			
		||||
 | 
			
		||||
from schemas.base import BaseSchema, OkMessageSchema
 | 
			
		||||
 | 
			
		||||
@@ -13,10 +13,12 @@ class TgUserSchema(BaseSchema):
 | 
			
		||||
    username: str
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class MessageFromTgSchema(BaseSchema):
 | 
			
		||||
    chat_id: int
 | 
			
		||||
    text: str
 | 
			
		||||
    sender: TgUserSchema
 | 
			
		||||
class MessageFileSchema(BaseSchema):
 | 
			
		||||
    id: int
 | 
			
		||||
    file_path: str
 | 
			
		||||
    type: str
 | 
			
		||||
    file_name: str
 | 
			
		||||
    file_size: int
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class BaseMessageSchema(BaseSchema):
 | 
			
		||||
@@ -24,11 +26,21 @@ class BaseMessageSchema(BaseSchema):
 | 
			
		||||
    chat_id: int
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class MessageSchema(BaseMessageSchema):
 | 
			
		||||
class EditMessageSchema(BaseMessageSchema):
 | 
			
		||||
    id: int
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class MessageSchema(EditMessageSchema):
 | 
			
		||||
    created_at: datetime
 | 
			
		||||
    tg_sender: Optional[TgUserSchema]
 | 
			
		||||
    status: str
 | 
			
		||||
    is_edited: bool
 | 
			
		||||
    file: Optional[MessageFileSchema] = None
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class RepeatSendingMessageSchema(BaseMessageSchema):
 | 
			
		||||
    text: str
 | 
			
		||||
    id: int
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class TgGroupSchema(BaseSchema):
 | 
			
		||||
@@ -46,10 +58,18 @@ class ChatSchema(BaseSchema):
 | 
			
		||||
 | 
			
		||||
# region Requests
 | 
			
		||||
 | 
			
		||||
class SendMessageRequest(BaseSchema):
 | 
			
		||||
class SendTextMessageRequest(BaseSchema):
 | 
			
		||||
    message: BaseMessageSchema
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class RepeatSendingTextMessageRequest(BaseSchema):
 | 
			
		||||
    message: RepeatSendingMessageSchema
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class EditMessageRequest(BaseSchema):
 | 
			
		||||
    message: EditMessageSchema
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class GetChatRequest(BaseSchema):
 | 
			
		||||
    client_id: int
 | 
			
		||||
    card_id: Optional[int]
 | 
			
		||||
@@ -69,7 +89,15 @@ class GetMessagesRequest(BaseSchema):
 | 
			
		||||
 | 
			
		||||
# region Responses
 | 
			
		||||
 | 
			
		||||
class SendMessageResponse(OkMessageSchema):
 | 
			
		||||
class SendTextMessageResponse(OkMessageSchema):
 | 
			
		||||
    pass
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class RepeatSendingTextMessageResponse(OkMessageSchema):
 | 
			
		||||
    pass
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class LoadMessagesResponse(OkMessageSchema):
 | 
			
		||||
    pass
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -77,6 +105,10 @@ class DeleteMessageResponse(OkMessageSchema):
 | 
			
		||||
    pass
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class EditMessageResponse(OkMessageSchema):
 | 
			
		||||
    pass
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class GetChatResponse(BaseSchema):
 | 
			
		||||
    chat: Optional[ChatSchema]
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user