from app.chat.dao import ChatDAO from app.chat.shemas import SMessage class MessageService: @staticmethod async def send_message(user_id: int, chat_id: int, message: str, image_url: str | None = None) -> SMessage: new_message = await ChatDAO.send_message(user_id=user_id, chat_id=chat_id, message=message, image_url=image_url) return new_message @staticmethod async def add_answer(self_id: int, answer_id: int) -> SMessage: new_message = await ChatDAO.add_answer(self_id=self_id, answer_id=answer_id) return new_message @staticmethod async def delete_message(message_id: int) -> bool: new_message = await ChatDAO.delete_message(message_id=message_id) return new_message @staticmethod async def edit_message(message_id: int, new_message: str, new_image_url: str) -> bool: new_message = await ChatDAO.edit_message(message_id=message_id, new_message=new_message, new_image_url=new_image_url) return new_message @staticmethod async def pin_message(chat_id: int, user_id: int, message_id: int) -> SMessage: pinned_message = await ChatDAO.pin_message(chat_id=chat_id, message_id=message_id, user_id=user_id) return pinned_message @staticmethod async def unpin_message(chat_id: int, message_id: int) -> int: unpinned_message = await ChatDAO.unpin_message(chat_id=chat_id, message_id=message_id) return unpinned_message