Skip to content

Commit 4e74af0

Browse files
fix: enrich messages
1 parent 6f50f1b commit 4e74af0

File tree

3 files changed

+17
-8
lines changed

3 files changed

+17
-8
lines changed

services/web/server/src/simcore_service_webserver/conversations/_conversation_message_service.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@ async def update_message(
111111
async def delete_message(
112112
app: web.Application,
113113
*,
114+
user_id: UserID,
114115
project_id: ProjectID,
115116
conversation_id: ConversationID,
116117
message_id: ConversationMessageID,
@@ -121,9 +122,12 @@ async def delete_message(
121122
message_id=message_id,
122123
)
123124

125+
_user_group_id = await get_user_primary_group_id(app, user_id=user_id)
126+
124127
await notify_conversation_message_deleted(
125128
app,
126129
recipients=await _get_recipients(app, project_id),
130+
user_group_id=_user_group_id,
127131
project_id=project_id,
128132
conversation_id=conversation_id,
129133
message_id=message_id,

services/web/server/src/simcore_service_webserver/conversations/_socketio.py

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@
66
ConversationID,
77
ConversationMessageGetDB,
88
ConversationMessageID,
9+
ConversationMessageType,
910
)
11+
from models_library.groups import GroupID
1012
from models_library.projects import ProjectID
1113
from models_library.socketio import SocketMessageDict
1214
from models_library.users import UserID
@@ -32,6 +34,8 @@
3234
class BaseConversationMessage(BaseModel):
3335
conversation_id: ConversationID
3436
message_id: ConversationMessageID
37+
user_group_id: GroupID
38+
type: ConversationMessageType
3539

3640
model_config = ConfigDict(
3741
populate_by_name=True,
@@ -42,13 +46,9 @@ class BaseConversationMessage(BaseModel):
4246
)
4347

4448

45-
class ConversationMessageCreated(BaseConversationMessage):
49+
class ConversationMessageCreatedOrUpdated(BaseConversationMessage):
4650
content: str
4751
created: datetime.datetime
48-
49-
50-
class ConversationMessageUpdated(BaseConversationMessage):
51-
content: str
5252
modified: datetime.datetime
5353

5454

@@ -83,7 +83,7 @@ async def notify_conversation_message_created(
8383
event_type=SOCKET_IO_CONVERSATION_MESSAGE_CREATED_EVENT,
8484
data={
8585
"projectId": project_id,
86-
**ConversationMessageCreated(
86+
**ConversationMessageCreatedOrUpdated(
8787
**conversation_message.model_dump()
8888
).model_dump(mode="json", by_alias=True),
8989
},
@@ -104,7 +104,7 @@ async def notify_conversation_message_updated(
104104
event_type=SOCKET_IO_CONVERSATION_MESSAGE_UPDATED_EVENT,
105105
data={
106106
"projectId": project_id,
107-
**ConversationMessageUpdated(
107+
**ConversationMessageCreatedOrUpdated(
108108
**conversation_message.model_dump()
109109
).model_dump(mode="json", by_alias=True),
110110
},
@@ -117,6 +117,7 @@ async def notify_conversation_message_deleted(
117117
app: web.Application,
118118
*,
119119
recipients: set[UserID],
120+
user_group_id: GroupID,
120121
project_id: ProjectID,
121122
conversation_id: ConversationID,
122123
message_id: ConversationMessageID,
@@ -127,7 +128,10 @@ async def notify_conversation_message_deleted(
127128
data={
128129
"projectId": project_id,
129130
**ConversationMessageDeleted(
130-
conversation_id=conversation_id, message_id=message_id
131+
conversation_id=conversation_id,
132+
message_id=message_id,
133+
user_group_id=user_group_id,
134+
type=ConversationMessageType.MESSAGE,
131135
).model_dump(mode="json", by_alias=True),
132136
},
133137
)

services/web/server/src/simcore_service_webserver/projects/_conversations_service.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -247,6 +247,7 @@ async def delete_project_conversation_message(
247247
)
248248
await conversations_service.delete_message(
249249
app,
250+
user_id=user_id,
250251
project_id=project_uuid,
251252
conversation_id=conversation_id,
252253
message_id=message_id,

0 commit comments

Comments
 (0)