feat(chat): 完善聊天

This commit is contained in:
xingc
2025-04-16 14:44:52 +08:00
parent 02a1589833
commit e3f28ad67c
5 changed files with 110 additions and 79 deletions

View File

@@ -17,31 +17,6 @@ class ChatUser(LiteUser):
pass
class Message(BaseModel):
type: Literal[
'chat.new_message', 'chat.message_read'
]
message_guid: UUID4
message_type: MessageType
chat_guid: UUID4
receive_user: Optional[int] = None
body: str
class MessageOut(BaseModel):
type: Literal[
'chat.new_message', 'chat.send_status_reply'
]
code: Optional[int] = 200
status: Optional[Literal['ok', 'error']] = 'ok'
message_id: int
message_guid: UUID4
message_type: MessageType
chat_guid: UUID4
body: Optional[str] = None
friend_user: LiteUser
class Chat(BaseModel):
chat_guid: UUID4
friend_user: LiteUser
@@ -51,10 +26,51 @@ class ChatCreateIn(BaseModel):
recipient_user_id: int
class PreviewMessage(BaseModel):
message_type: MessageType
content: str
class ChatUnreadOut(BaseModel):
chat_guid: UUID4
created_at: str
updated_at: str
recipient_user: LiteUser
last_message: str | None
last_message: PreviewMessage | None
unread_messages_count: int
class MessageOut(BaseModel):
chat_id: int
chat_guid: UUID4
id: int
message_guid: UUID4
message_type: MessageType
content: str
user: LiteUser
created_at: str
updated_at: str
class WSMessage(BaseModel):
type: Literal[
'chat.new_message', 'chat.message_read', 'chat.ping'
]
message_guid: UUID4
message_type: MessageType
chat_guid: UUID4
receive_user: Optional[int] = None
content: str
class WSMessageOut(BaseModel):
type: Literal[
'chat.new_message', 'chat.send_status_reply',
]
status: Optional[Literal['ok', 'error']] = 'ok'
message_id: int
message_guid: UUID4
message_type: MessageType
chat_guid: UUID4
content: Optional[str] = None
friend_user: Optional[LiteUser] = None