From bb6a741d63aeeb1511191a01ebb5a3ef23cdf048 Mon Sep 17 00:00:00 2001 From: mountain Date: Thu, 20 Jul 2023 01:36:55 +0900 Subject: [PATCH] =?UTF-8?q?=EB=A9=A4=EB=B2=84=20=EC=A0=91=EC=86=8D?= =?UTF-8?q?=EC=A2=85=EB=A3=8C=20=EC=95=8C=EB=A6=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/group_memory.go | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/core/group_memory.go b/core/group_memory.go index 4a08dd8..4c34fb1 100644 --- a/core/group_memory.go +++ b/core/group_memory.go @@ -524,14 +524,23 @@ func (gm *groupInMemory) UpdateGroupDocument(gid groupID, frag bson.M) error { } func (gm *groupInMemory) MemberDisconnected(room string, mid primitive.ObjectID) { - midstr := mid.Hex() - deleted, _ := gm.rh.JSONDel(room, "$._members."+midstr) + gid, err := primitive.ObjectIDFromHex(room) + if err != nil { + return + } + gd := &groupDoc{ + id: gid, + rh: gm.rh, + } + + tid := gd.tid(mid) + deleted, _ := gm.rh.JSONDel(room, "$._members."+tid) if deleted > 0 { // 퇴장을 알림 gm.sendUpstreamMessage(&wshandler.UpstreamMessage{ Target: "#" + room, Body: bson.M{ - midstr: bson.M{}, + tid: bson.M{}, }, Tag: []string{"MemberDocFull"}, })