Багфикс
This commit is contained in:
parent
e85079780e
commit
785edd4f5e
3 changed files with 19 additions and 14 deletions
|
@ -5,7 +5,7 @@ from pydantic import BaseModel, HttpUrl
|
|||
|
||||
|
||||
class SMessage(BaseModel):
|
||||
id: int | UUID # TODO: Заменить на UUID
|
||||
id: UUID
|
||||
message: str | None = None
|
||||
image_url: str | None = None
|
||||
chat_id: int
|
||||
|
@ -13,7 +13,7 @@ class SMessage(BaseModel):
|
|||
username: str
|
||||
created_at: datetime
|
||||
avatar_image: str
|
||||
answer_id: int | None | UUID # TODO: Заменить на UUID
|
||||
answer_id: UUID | None
|
||||
answer_message: str | None
|
||||
answer_image_url: str | None
|
||||
|
||||
|
@ -83,26 +83,26 @@ class SSendMessage(BaseModel):
|
|||
class SDeleteMessage(BaseModel):
|
||||
flag: str
|
||||
user_id: int
|
||||
id: int
|
||||
id: UUID
|
||||
|
||||
|
||||
class SEditMessage(BaseModel):
|
||||
flag: str
|
||||
user_id: int
|
||||
id: int
|
||||
id: UUID
|
||||
new_message: str | None
|
||||
new_image_url: str | None
|
||||
|
||||
|
||||
class SPinMessage(BaseModel):
|
||||
flag: str
|
||||
id: int
|
||||
id: UUID
|
||||
user_id: int
|
||||
|
||||
|
||||
class SUnpinMessage(BaseModel):
|
||||
flag: str
|
||||
id: int
|
||||
id: UUID
|
||||
|
||||
|
||||
class Responses:
|
||||
|
|
|
@ -58,6 +58,8 @@ class ConnectionManager:
|
|||
uow=uow, user_id=user_id, chat_id=chat_id, message=message, image_url=message.image_url
|
||||
)
|
||||
new_message = new_message.model_dump()
|
||||
new_message["id"] = str(new_message["id"])
|
||||
new_message["answer_id"] = str(new_message["answer_id"]) if new_message["answer_id"] else None
|
||||
new_message["created_at"] = new_message["created_at"].isoformat()
|
||||
new_message["flag"] = "send"
|
||||
return new_message
|
||||
|
@ -70,7 +72,7 @@ class ConnectionManager:
|
|||
raise UserDontHavePermissionException
|
||||
|
||||
await MessageService.delete_message(uow=uow, message_id=message.id)
|
||||
new_message = {"id": message.id, "flag": "delete"}
|
||||
new_message = {"id": str(message.id), "flag": "delete"}
|
||||
return new_message
|
||||
|
||||
@staticmethod
|
||||
|
@ -85,7 +87,7 @@ class ConnectionManager:
|
|||
)
|
||||
new_message = {
|
||||
"flag": "edit",
|
||||
"id": message.id,
|
||||
"id": str(message.id),
|
||||
"new_message": message.new_message,
|
||||
"new_image_url": message.new_image_url,
|
||||
}
|
||||
|
@ -98,6 +100,8 @@ class ConnectionManager:
|
|||
uow=uow, chat_id=chat_id, user_id=message.user_id, message_id=message.id
|
||||
)
|
||||
new_message = pinned_message.model_dump()
|
||||
new_message["id"] = str(new_message["id"])
|
||||
new_message["answer_id"] = str(new_message["answer_id"]) if new_message["answer_id"] else None
|
||||
new_message["created_at"] = new_message["created_at"].isoformat()
|
||||
new_message["flag"] = "pin"
|
||||
return new_message
|
||||
|
@ -106,7 +110,7 @@ class ConnectionManager:
|
|||
async def _unpin(uow: UnitOfWork, _: int, chat_id: int, message: dict) -> dict:
|
||||
message = SUnpinMessage.model_validate(message)
|
||||
await MessageService.unpin_message(uow=uow, chat_id=chat_id, message_id=message.id)
|
||||
new_message = {"flag": "unpin", "id": message.id}
|
||||
new_message = {"flag": "unpin", "id": str(message.id)}
|
||||
return new_message
|
||||
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
from datetime import datetime, UTC, timedelta
|
||||
from uuid import UUID
|
||||
|
||||
from app.chat.shemas import SMessage, SSendMessage, SPinnedMessages, SMessageList, SMessageRaw, SMessageRawList
|
||||
from app.services.user_service import UserService
|
||||
|
@ -68,19 +69,19 @@ class MessageService:
|
|||
return new_message
|
||||
|
||||
@staticmethod
|
||||
async def delete_message(uow: UnitOfWork, message_id: int) -> None:
|
||||
async def delete_message(uow: UnitOfWork, message_id: UUID) -> None:
|
||||
async with uow:
|
||||
await uow.message.delete_message(message_id=message_id)
|
||||
|
||||
@staticmethod
|
||||
async def edit_message(uow: UnitOfWork, message_id: int, new_message: str, new_image_url: str) -> None:
|
||||
async def edit_message(uow: UnitOfWork, message_id: UUID, new_message: str, new_image_url: str) -> None:
|
||||
async with uow:
|
||||
await uow.message.edit_message(
|
||||
message_id=message_id, new_message=new_message, new_image_url=new_image_url
|
||||
)
|
||||
|
||||
@classmethod
|
||||
async def pin_message(cls, uow: UnitOfWork, chat_id: int, user_id: int, message_id: int) -> SMessage:
|
||||
async def pin_message(cls, uow: UnitOfWork, chat_id: int, user_id: int, message_id: UUID) -> SMessage:
|
||||
async with uow:
|
||||
await uow.chat.pin_message(chat_id=chat_id, message_id=message_id, user_id=user_id)
|
||||
await uow.commit()
|
||||
|
@ -91,13 +92,13 @@ class MessageService:
|
|||
return pinned_message
|
||||
|
||||
@staticmethod
|
||||
async def unpin_message(uow: UnitOfWork, chat_id: int, message_id: int) -> None:
|
||||
async def unpin_message(uow: UnitOfWork, chat_id: int, message_id: UUID) -> None:
|
||||
async with uow:
|
||||
await uow.chat.unpin_message(chat_id=chat_id, message_id=message_id)
|
||||
await uow.commit()
|
||||
|
||||
@classmethod
|
||||
async def get_message_by_id(cls, uow: UnitOfWork, message_id: int) -> SMessage:
|
||||
async def get_message_by_id(cls, uow: UnitOfWork, message_id: UUID) -> SMessage:
|
||||
async with uow:
|
||||
raw_message = await uow.message.get_message_by_id(message_id=message_id)
|
||||
message = await cls.add_avatar_image_and_username_to_message(uow=uow, message=raw_message)
|
||||
|
|
Loading…
Add table
Reference in a new issue