Compare commits
5 Commits
wshandler_
...
454aae5294
| Author | SHA1 | Date | |
|---|---|---|---|
| 454aae5294 | |||
| 30005ea0e3 | |||
| 9df68a4d07 | |||
| 8f2860165b | |||
| 3a1d0da531 |
@ -415,7 +415,6 @@ type groupInMemory struct {
|
||||
sendUpstreamMessage func(*wshandler.UpstreamMessage)
|
||||
sendEnterRoomMessage func(groupID, accountID)
|
||||
sendLeaveRoomMessage func(groupID, accountID)
|
||||
sendCloseMessage func(accountID, string)
|
||||
groups groupContainer
|
||||
}
|
||||
|
||||
@ -745,7 +744,7 @@ func (gm *groupInMemory) PauseMember(gid primitive.ObjectID, mid primitive.Objec
|
||||
// 접속은 끊기지만 그룹에서 제거하지는 않는 상태
|
||||
rconn.unregistOnCloseFunc("member_remove")
|
||||
rconn.unregistOnCloseFunc("member_remove_invite")
|
||||
gm.sendCloseMessage(mid, "pause")
|
||||
gm.sendLeaveRoomMessage(gid, mid)
|
||||
|
||||
gd := gm.groups.find(gid)
|
||||
if gd == nil {
|
||||
@ -971,9 +970,6 @@ func (cfg *groupConfig) prepareInMemory(ctx context.Context, typename string, su
|
||||
sendLeaveRoomMessage: func(gid groupID, accid accountID) {
|
||||
wsh.LeaveRoom(region, gid.Hex(), accid)
|
||||
},
|
||||
sendCloseMessage: func(target accountID, text string) {
|
||||
wsh.SendCloseMessage(region, target.Hex(), text)
|
||||
},
|
||||
}
|
||||
|
||||
rpc.RegistReceiver(gm)
|
||||
|
||||
@ -2,6 +2,7 @@ package core
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"io"
|
||||
"net"
|
||||
@ -271,6 +272,28 @@ func (sub *subTavern) clientMessageReceived(sender *wshandler.Sender, messageTyp
|
||||
sub.cm.add(sender.Accid, sender.Alias)
|
||||
} else if messageType == wshandler.Disconnected {
|
||||
sub.cm.remove(sender.Accid)
|
||||
} else if messageType == wshandler.BinaryMessage {
|
||||
var msg map[string][]any
|
||||
dec := json.NewDecoder(body)
|
||||
if err := dec.Decode(&msg); err == nil {
|
||||
for cmd, args := range msg {
|
||||
switch cmd {
|
||||
case "EnterChannel":
|
||||
sub.wsh.EnterRoom(sub.region, args[0].(string), sender.Accid)
|
||||
|
||||
case "LeaveChannel":
|
||||
sub.wsh.LeaveRoom(sub.region, args[0].(string), sender.Accid)
|
||||
|
||||
case "UpdateGroupMemberDocument":
|
||||
typename := args[0].(string)
|
||||
gidobj, _ := primitive.ObjectIDFromHex(args[1].(string))
|
||||
doc := args[2].(map[string]any)
|
||||
if group := sub.groups[typename]; group != nil {
|
||||
group.UpdateMemberDocument(gidobj, sender.Accid, doc)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
4
go.mod
4
go.mod
@ -1,11 +1,11 @@
|
||||
module repositories.action2quare.com/ayo/tavern
|
||||
|
||||
go 1.19
|
||||
go 1.20
|
||||
|
||||
require (
|
||||
github.com/go-redis/redis/v8 v8.11.5
|
||||
go.mongodb.org/mongo-driver v1.11.7
|
||||
repositories.action2quare.com/ayo/gocommon v0.0.0-20230711062613-74829b93ac1b
|
||||
repositories.action2quare.com/ayo/gocommon v0.0.0-20230713080645-269fa0f8700e
|
||||
)
|
||||
|
||||
require (
|
||||
|
||||
6
go.sum
6
go.sum
@ -116,3 +116,9 @@ repositories.action2quare.com/ayo/gocommon v0.0.0-20230711053010-4acb81a20d9c h1
|
||||
repositories.action2quare.com/ayo/gocommon v0.0.0-20230711053010-4acb81a20d9c/go.mod h1:ng62uGMGXyQSeuxePG5gJAMtip4Rnspu5Tu7hgvaXns=
|
||||
repositories.action2quare.com/ayo/gocommon v0.0.0-20230711062613-74829b93ac1b h1:04rlgT+zeKSpekyleb8Mfi8kENIoka5DYJLuk65wqxc=
|
||||
repositories.action2quare.com/ayo/gocommon v0.0.0-20230711062613-74829b93ac1b/go.mod h1:ng62uGMGXyQSeuxePG5gJAMtip4Rnspu5Tu7hgvaXns=
|
||||
repositories.action2quare.com/ayo/gocommon v0.0.0-20230711084112-d48d4c0f2189 h1:4ugcv2AlTYjTEtw8ekjCfVzp+xNnNTOHpfWWRbugxvw=
|
||||
repositories.action2quare.com/ayo/gocommon v0.0.0-20230711084112-d48d4c0f2189/go.mod h1:ng62uGMGXyQSeuxePG5gJAMtip4Rnspu5Tu7hgvaXns=
|
||||
repositories.action2quare.com/ayo/gocommon v0.0.0-20230713064012-522bd4a597bc h1:ToHccG1AAGFoAVldbJxCv+yBh/GvNyCd74sBp1Hf7YY=
|
||||
repositories.action2quare.com/ayo/gocommon v0.0.0-20230713064012-522bd4a597bc/go.mod h1:PdpZ16O1czKKxCxn+0AFNaEX/0kssYwC3G8jR0V7ybw=
|
||||
repositories.action2quare.com/ayo/gocommon v0.0.0-20230713080645-269fa0f8700e h1:94hUQRdZYbsYaTqm/cTI0pEBdp8zdfOSEfkxdO9kS9o=
|
||||
repositories.action2quare.com/ayo/gocommon v0.0.0-20230713080645-269fa0f8700e/go.mod h1:PdpZ16O1czKKxCxn+0AFNaEX/0kssYwC3G8jR0V7ybw=
|
||||
|
||||
Reference in New Issue
Block a user