23 lines
743 B
Python
23 lines
743 B
Python
|
|
from __future__ import annotations
|
||
|
|
|
||
|
|
from yuxi.channel.domain.model.message.peer import Peer
|
||
|
|
from yuxi.channel.domain.model.message.unified_message import UnifiedMessage
|
||
|
|
from yuxi.channel.domain.model.shared.channel_type import ChannelType
|
||
|
|
|
||
|
|
|
||
|
|
class WebTranslator:
|
||
|
|
@staticmethod
|
||
|
|
def translate_message(raw: dict) -> UnifiedMessage:
|
||
|
|
return UnifiedMessage(
|
||
|
|
message_id=raw.get("id", ""),
|
||
|
|
channel_type=ChannelType.WEB,
|
||
|
|
sender=Peer(
|
||
|
|
id=raw.get("sender_id", ""),
|
||
|
|
name=raw.get("sender_name", ""),
|
||
|
|
kind="user",
|
||
|
|
),
|
||
|
|
content=raw.get("content", ""),
|
||
|
|
metadata=raw.get("metadata", {}),
|
||
|
|
raw_payload=raw,
|
||
|
|
)
|