55from pydantic import BaseModel
66from .websocket import websockets , isConnected
77from ..utils .logger import logger
8- from ..utils .database import SessionDep
8+ from ..utils .database import SessionDep , insert_into_database
99
1010class Message (SQLModel , table = True ):
1111 id : Optional [int ] = Field (default = None , primary_key = True )
@@ -25,24 +25,25 @@ class Message(SQLModel, table=True):
2525async def create_message (client : str , message : Message , session : SessionDep ):
2626 json = message .model_dump ()
2727 message .created = datetime .now ()
28- session .add (message )
29- session .commit ()
30- session .refresh (message )
28+ insert_into_database (session , message )
29+ del json ["id" ]
30+ json ["event_type" ] = "message"
31+
3132 for clientws in websockets :
3233 if clientws == client :
3334 continue
34- json = message .model_dump ()
35- json ["event_type" ] = "message"
3635
3736 try :
3837 await websockets [clientws ]["ws" ].send_json (json )
3938 except RuntimeError :
4039 logger .info (f"Envio pro cliente websocket { clientws } falhou, tornando a conexão como desconectada..." )
4140 websockets [clientws ]["connected" ] = False
42-
41+
42+ del json ["event_type" ]
43+
4344 recipients = isConnected (websockets )
4445 return {
45- "message" : message . model_dump () ,
46+ "message" : json ,
4647 "recipients" : recipients
4748 }
4849
0 commit comments