Implement real-time WebSocket gateway for presence, DM, and world chat (US-4, US-2)

This commit is contained in:
2026-09-15 18:58:19 +00:00
parent 4fc297be43
commit e5bcd61ee4
6 changed files with 773 additions and 1 deletions
+4 -1
View File
@@ -81,6 +81,7 @@ from app.models.chat import Conversation, ConversationParticipant, Message
from app.models.social import Block
from app.models.user import User
from app.rate_limit import rate_limit
from app.services.chat_pubsub import publish_dm_chat_event
from app.services.text_filter import FilterAction, default_text_filter
router = APIRouter()
@@ -264,7 +265,9 @@ async def send_dm(
await db.commit()
await db.refresh(message)
return _to_message_response(message, recipient_id=user_id)
resp = _to_message_response(message, recipient_id=user_id)
await publish_dm_chat_event(conversation.id, resp.model_dump(mode="json"))
return resp
@router.get("/{user_id}/messages", response_model=DMMessageListResponse)