Files
tavern/core/group_memory.go

578 lines
13 KiB
Go
Raw Normal View History

2023-05-24 16:10:00 +09:00
package core
import (
"context"
"encoding/gob"
"encoding/json"
"errors"
"fmt"
"net/url"
"time"
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
"github.com/go-redis/redis/v8"
"repositories.action2quare.com/ayo/gocommon"
2023-05-24 16:10:00 +09:00
"repositories.action2quare.com/ayo/gocommon/logger"
"repositories.action2quare.com/ayo/gocommon/wshandler"
"go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/bson/primitive"
)
type accountID = primitive.ObjectID
type ticketID = primitive.ObjectID
type groupID = primitive.ObjectID
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
func init() {
gob.Register(memberDoc{})
gob.Register(groupDoc{})
gob.Register(Invitation{})
gob.Register(InvitationFail{})
2023-05-24 16:10:00 +09:00
}
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
func makeTid(gid groupID, in accountID) string {
var out primitive.ObjectID
for i := range in {
out[12-i-1] = gid[i] ^ in[12-i-1]
}
return out.Hex()
2023-05-24 16:10:00 +09:00
}
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
type Invitation struct {
GroupID groupID `json:"_gid"`
TicketID string `json:"_tid"`
Inviter bson.M `json:"_inviter"` // memberDoc.Body
ExpireAtUTC int64 `json:"_expire_at_utc"`
2023-05-24 16:10:00 +09:00
}
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
// 플레이어한테 공유하는 멤버 정보
type memberDoc struct {
Body bson.M `json:"_body"`
Invite bool `json:"_invite"`
InviteExpire int64 `json:"_invite_exp"`
2023-05-24 16:10:00 +09:00
}
type InvitationFail bson.M
type groupDoc struct {
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
Members map[string]any `json:"_members"`
InCharge string `json:"_incharge"`
Gid string `json:"_gid"`
2023-05-24 16:10:00 +09:00
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
rh *gocommon.RedisonHandler
id groupID
2023-05-24 16:10:00 +09:00
}
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
func (gd *groupDoc) loadMemberFull(tid string) (bson.M, error) {
full, err := gd.rh.JSONGet(gd.strid(), "$._members."+tid)
2023-05-24 16:10:00 +09:00
if err != nil {
return nil, err
}
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
bt := []byte(full.(string))
bt = bt[1 : len(bt)-1]
2023-05-24 16:10:00 +09:00
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
var doc bson.M
if err = json.Unmarshal(bt, &doc); err != nil {
return nil, err
2023-05-24 16:10:00 +09:00
}
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
return doc, nil
2023-05-24 16:10:00 +09:00
}
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
func (gd *groupDoc) loadFull() (doc bson.M) {
// 새 멤버에 그룹 전체를 알림
full, err := gd.rh.JSONGet(gd.strid(), "$")
if err == nil {
bt := []byte(full.(string))
bt = bt[1 : len(bt)-1]
err = json.Unmarshal(bt, &doc)
if err != nil {
logger.Println("loadFull err :", err)
2023-05-24 16:10:00 +09:00
}
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
} else {
logger.Println("loadFull err :", err)
2023-05-24 16:10:00 +09:00
}
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
return
2023-05-24 16:10:00 +09:00
}
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
func (gd *groupDoc) strid() string {
if len(gd.Gid) == 0 {
gd.Gid = gd.id.Hex()
2023-05-24 16:10:00 +09:00
}
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
return gd.Gid
2023-05-24 16:10:00 +09:00
}
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
func (gd *groupDoc) tid(in accountID) string {
return makeTid(gd.id, in)
2023-05-24 16:10:00 +09:00
}
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
func (gd *groupDoc) mid(tid string) accountID {
tidobj, _ := primitive.ObjectIDFromHex(tid)
var out primitive.ObjectID
for i := range tidobj {
out[12-i-1] = gd.id[i] ^ tidobj[12-i-1]
2023-05-24 16:10:00 +09:00
}
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
return out
2023-05-24 16:10:00 +09:00
}
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
func (gd *groupDoc) addInvite(inviteeDoc bson.M, ttl time.Duration, max int) (*memberDoc, error) {
targetmid := inviteeDoc["_mid"].(accountID)
targetbody := inviteeDoc["body"].(bson.M)
2023-05-24 16:10:00 +09:00
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
// 초대 가능한 빈 자리가 있나
tids, err := gd.rh.JSONObjKeys(gd.strid(), "$._members")
if err != nil {
return nil, err
2023-05-24 16:10:00 +09:00
}
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
now := time.Now().UTC()
createNewDoc := func() *memberDoc {
return &memberDoc{
Body: targetbody,
Invite: true,
InviteExpire: now.Add(ttl).Unix(),
2023-05-24 16:10:00 +09:00
}
}
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
newtid := gd.tid(targetmid)
if len(tids) < max {
// 빈자리를 찾았다.
newdoc := createNewDoc()
_, err := gd.rh.JSONSet(gd.strid(), "$._members."+newtid, newdoc)
return newdoc, err
2023-05-24 16:10:00 +09:00
}
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
expires, err := gd.rh.JSONGetInt64(gd.strid(), "$._members.._invite_exp")
if err != nil {
return nil, err
}
2023-05-24 16:10:00 +09:00
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
var delpaths []string
for i, expire := range expires {
if expire < now.Unix() {
// 만료된 초대가 있네? 지우자
delpaths = append(delpaths, "$._members."+tids[i])
2023-05-24 16:10:00 +09:00
}
}
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
if len(delpaths) == 0 {
// 빈자리가 없다
return nil, nil
2023-05-24 16:10:00 +09:00
}
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
if err := gd.rh.JSONMDel(gd.strid(), delpaths); err != nil {
return nil, err
2023-05-24 16:10:00 +09:00
}
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
newdoc := createNewDoc()
_, err = gd.rh.JSONSet(gd.strid(), "$._members."+newtid, newdoc)
return newdoc, err
2023-05-24 16:10:00 +09:00
}
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
func (gd *groupDoc) addMember(mid accountID, doc bson.M) (bson.M, error) {
tid := gd.tid(mid)
prefix := "$._members." + tid
if _, err := gd.rh.JSONMerge(gd.strid(), prefix+"._body", doc, gocommon.RedisonSetOptionXX); err != nil {
return nil, err
2023-05-24 16:10:00 +09:00
}
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
if err := gd.rh.JSONMDel(gd.strid(), []string{prefix + "._invite", prefix + "._invite_exp"}); err != nil {
return nil, err
2023-05-24 16:10:00 +09:00
}
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
return gd.loadMemberFull(tid)
2023-05-24 16:10:00 +09:00
}
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
func (gd *groupDoc) removeMember(mid accountID) error {
_, err := gd.rh.JSONDel(gd.strid(), "$._members."+gd.tid(mid))
return err
2023-05-24 16:10:00 +09:00
}
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
func (gd *groupDoc) getMembers() (map[string]any, error) {
res, err := gd.rh.JSONGet(gd.strid(), "$._members")
if err != nil {
return nil, err
}
2023-05-24 16:10:00 +09:00
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
var temp []map[string]any
err = json.Unmarshal([]byte(res.(string)), &temp)
if err != nil {
return nil, err
2023-05-24 16:10:00 +09:00
}
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
out := make(map[string]any)
for k, v := range temp[0] {
body := v.(map[string]any)["_body"]
out[gd.mid(k).Hex()] = body
2023-07-11 14:33:38 +09:00
}
2023-05-24 16:10:00 +09:00
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
return out, nil
2023-05-24 16:10:00 +09:00
}
type groupInMemory struct {
*groupConfig
2023-07-11 11:08:31 +09:00
sendUpstreamMessage func(*wshandler.UpstreamMessage)
sendEnterRoomMessage func(groupID, accountID)
sendLeaveRoomMessage func(groupID, accountID)
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
rh *gocommon.RedisonHandler
2023-05-24 16:10:00 +09:00
}
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
func (gm *groupInMemory) createGroup(newid groupID, charge accountID, chargeDoc bson.M) (*groupDoc, error) {
tid := makeTid(newid, charge)
2023-05-24 16:10:00 +09:00
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
gd := &groupDoc{
Members: map[string]any{
tid: &memberDoc{
Body: chargeDoc,
Invite: false,
InviteExpire: 0,
},
},
InCharge: tid,
2023-05-24 16:10:00 +09:00
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
rh: gm.rh,
id: newid,
2023-05-24 16:10:00 +09:00
}
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
_, err := gm.rh.JSONSet(gd.strid(), "$", gd, gocommon.RedisonSetOptionNX)
if err != nil {
return nil, err
}
return gd, nil
2023-05-24 16:10:00 +09:00
}
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
func (gm *groupInMemory) find(id groupID) (*groupDoc, error) {
if id.IsZero() {
return nil, nil
}
2023-05-24 16:10:00 +09:00
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
_, err := gm.rh.JSONObjLen(id.Hex(), "$")
if err == redis.Nil {
return nil, nil
}
if err != nil {
return nil, err
2023-05-24 16:10:00 +09:00
}
return &groupDoc{
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
rh: gm.rh,
id: id,
}, nil
2023-05-24 16:10:00 +09:00
}
func (gm *groupInMemory) Create(form url.Values, base bson.M) (groupID, error) {
return primitive.NilObjectID, nil
}
func (gm *groupInMemory) Candidate(gid groupID, mid accountID, doc bson.M) error {
logger.Error("not implemented func : Canidate")
return nil
}
var errGroupNotExist = errors.New("group does not exist")
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
func (gm *groupInMemory) Join(gid groupID, mid accountID, doc bson.M) error {
gd, err := gm.find(gid)
if err != nil {
return err
2023-05-24 16:10:00 +09:00
}
if gd == nil {
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
// 그룹이 없다. 실패
2023-05-24 16:10:00 +09:00
return errGroupNotExist
}
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
// 내 정보 업데이트할 때에도 사용됨
if memdoc, err := gd.addMember(mid, doc); err == nil {
// 기존 유저에게 새 유저 알림
2023-07-10 15:39:56 +09:00
gm.sendUpstreamMessage(&wshandler.UpstreamMessage{
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
Target: "#" + gid.Hex(),
Body: map[string]any{
gd.tid(mid): memdoc,
},
Tag: []string{"MemberDocFull"},
2023-07-10 15:39:56 +09:00
})
2023-05-24 16:10:00 +09:00
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
gm.sendEnterRoomMessage(gid, mid)
2023-05-24 16:10:00 +09:00
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
// 새 멤버에 그룹 전체를 알림
gm.sendUpstreamMessage(&wshandler.UpstreamMessage{
Target: "@" + mid.Hex(),
Body: gd.loadFull(),
Tag: []string{"GroupDocFull"},
})
}
2023-05-24 16:10:00 +09:00
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
return err
2023-05-24 16:10:00 +09:00
}
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
var errInviteeDocMidMissing = errors.New("inviteeDoc must have '_mid' field")
var errAlreadyInvited = errors.New("this target is already invited by someone or me")
2023-05-24 16:10:00 +09:00
func (gm *groupInMemory) Invite(gid groupID, mid accountID, inviterDoc bson.M, inviteeDoc bson.M) (string, error) {
targetid, ok := inviteeDoc["_mid"].(accountID)
if !ok {
return "", errInviteeDocMidMissing
}
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
// targetid에 초대한 mid가 들어있다.
already, err := gm.rh.Get(context.Background(), targetid.Hex()).Result()
if err != nil && err != redis.Nil {
return "", err
2023-05-24 16:10:00 +09:00
}
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
if len(already) > 0 {
if already != mid.Hex() {
// 이미 초대 중이다.
// inviter한테 알려줘야 한다.
gm.sendUpstreamMessage(&wshandler.UpstreamMessage{
Target: "@" + mid.Hex(),
Body: inviteeDoc,
Tag: []string{"InvitationFail"},
})
}
return "", errAlreadyInvited
2023-05-24 16:10:00 +09:00
}
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
gd, err := gm.find(gid)
if err != nil {
return "", err
2023-05-24 16:10:00 +09:00
}
if gd == nil {
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
gd, err = gm.createGroup(gid, mid, inviterDoc)
2023-05-24 16:10:00 +09:00
if err != nil {
return "", err
}
2023-07-11 11:08:31 +09:00
// 내가 wshandler room에 입장
gm.sendEnterRoomMessage(gid, mid)
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
gm.sendUpstreamMessage(&wshandler.UpstreamMessage{
Target: "@" + mid.Hex(),
Body: gd,
Tag: []string{"GroupDocFull"},
})
2023-05-24 16:10:00 +09:00
}
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
newdoc, err := gd.addInvite(inviteeDoc, time.Duration(gm.InviteExpire+1)*time.Second, gm.MaxMember)
if err != nil {
return "", err
}
// 초대 중 표시
_, err = gm.rh.SetNX(context.Background(), targetid.Hex(), mid.Hex(), time.Duration(gm.InviteExpire)*time.Second).Result()
if err != nil {
return "", err
}
// invitee에게 알림
gm.sendUpstreamMessage(&wshandler.UpstreamMessage{
Target: "@" + targetid.Hex(),
Body: Invitation{
GroupID: gid,
TicketID: gd.tid(targetid),
Inviter: inviterDoc,
ExpireAtUTC: newdoc.InviteExpire,
},
Tag: []string{"Invitation"},
})
return gd.strid(), nil
2023-05-24 16:10:00 +09:00
}
func (gm *groupInMemory) CancelInvitation(gid groupID, tid ticketID) error {
return nil
}
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
var errInvitationExpired = errors.New("invitation is already expired")
2023-05-24 16:10:00 +09:00
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
func (gm *groupInMemory) AcceptInvitation(gid groupID, mid accountID, member bson.M) error {
cnt, err := gm.rh.Del(context.Background(), mid.Hex()).Result()
if err != nil {
return err
}
if cnt == 0 {
// 만료됨
return errInvitationExpired
2023-05-24 16:10:00 +09:00
}
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
gd := &groupDoc{
id: gid,
rh: gm.rh,
2023-05-24 16:10:00 +09:00
}
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
memberDoc, err := gd.addMember(mid, member)
if err == nil {
// 기존 멤버에게 새 멤버를 알림
gm.sendUpstreamMessage(&wshandler.UpstreamMessage{
Target: "#" + gid.Hex(),
Body: map[string]any{
gd.tid(mid): memberDoc,
},
Tag: []string{"MemberDocFull"},
})
2023-05-24 16:10:00 +09:00
2023-07-11 11:08:31 +09:00
gm.sendEnterRoomMessage(gid, mid)
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
// 새 멤버에 그룹 전체를 알림
gm.sendUpstreamMessage(&wshandler.UpstreamMessage{
Target: "@" + mid.Hex(),
Body: gd.loadFull(),
Tag: []string{"GroupDocFull"},
})
2023-05-24 16:10:00 +09:00
}
// 실패
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
return err
2023-05-24 16:10:00 +09:00
}
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
func (gm *groupInMemory) QueryGroupMembers(gid groupID) (bson.M, error) {
gd := groupDoc{
id: gid,
rh: gm.rh,
2023-05-24 16:10:00 +09:00
}
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
return gd.getMembers()
}
2023-05-24 16:10:00 +09:00
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
func (gm *groupInMemory) DenyInvitation(gid groupID, mid accountID, tid ticketID) error {
gm.rh.Del(context.Background(), mid.Hex()).Result()
gd := groupDoc{
id: gid,
rh: gm.rh,
2023-05-24 16:10:00 +09:00
}
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
return gd.removeMember(mid)
2023-05-24 16:10:00 +09:00
}
func (gm *groupInMemory) QueryInvitations(mid accountID, after primitive.Timestamp) ([]bson.M, error) {
return nil, nil
}
func (gm *groupInMemory) Exist(gid groupID, filter bson.M) (bool, error) {
return false, nil
}
func (gm *groupInMemory) FindAll(filter bson.M, projection string, after primitive.Timestamp) ([]bson.M, error) {
return nil, nil
}
func (gm *groupInMemory) FindOne(gid groupID, projection string) (bson.M, error) {
return nil, nil
}
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
func (gm *groupInMemory) Leave(gid groupID, mid accountID) error {
gd := groupDoc{
id: gid,
rh: gm.rh,
2023-07-10 15:39:56 +09:00
}
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
if err := gd.removeMember(mid); err != nil {
return err
2023-05-24 16:10:00 +09:00
}
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
// 나한테는 빈 GroupDocFull을 보낸다. 그러면 지워짐
2023-07-10 15:39:56 +09:00
gm.sendUpstreamMessage(&wshandler.UpstreamMessage{
Target: "@" + mid.Hex(),
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
Body: bson.M{"gid": gid},
Tag: []string{"GroupDocFull", gid.Hex()},
2023-05-24 16:10:00 +09:00
})
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
gm.sendLeaveRoomMessage(gid, mid)
2023-05-24 16:10:00 +09:00
return nil
}
func (gm *groupInMemory) UpdateMemberDocument(gid groupID, mid accountID, doc bson.M) error {
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
gd := &groupDoc{
id: gid,
rh: gm.rh,
2023-07-10 15:39:56 +09:00
}
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
prefixPath := fmt.Sprintf("$._members.%s.", gd.tid(mid))
err := gm.rh.JSONMSetRel(gd.strid(), prefixPath, doc)
if err != nil {
return err
}
2023-07-10 15:39:56 +09:00
gm.sendUpstreamMessage(&wshandler.UpstreamMessage{
Target: "#" + gid.Hex(),
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
Body: map[string]any{
gd.tid(mid): doc,
},
Tag: []string{"MemberDocFragment"},
2023-07-10 15:39:56 +09:00
})
2023-05-24 16:10:00 +09:00
return nil
}
2023-07-10 15:39:56 +09:00
2023-05-24 16:10:00 +09:00
func (gm *groupInMemory) Dismiss(gid groupID) error {
return nil
}
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
func (gm *groupInMemory) UpdateGroupDocument(gid groupID, frag bson.M) error {
gd := groupDoc{
id: gid,
rh: gm.rh,
2023-05-24 16:10:00 +09:00
}
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
if err := gm.rh.JSONMSetRel(gd.strid(), "$.", frag); err != nil {
2023-05-24 16:10:00 +09:00
return err
}
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
// 업데이트 알림
gm.sendUpstreamMessage(&wshandler.UpstreamMessage{
Target: "#" + gid.Hex(),
Body: frag,
Tag: []string{"GroupDocFragment"},
})
2023-05-24 16:10:00 +09:00
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
return nil
2023-07-10 15:39:56 +09:00
}
2023-07-19 17:02:49 +09:00
func (gm *groupInMemory) MemberDisconnected(room string, mid primitive.ObjectID) {
2023-07-20 01:36:55 +09:00
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)
2023-07-19 17:02:49 +09:00
if deleted > 0 {
// 퇴장을 알림
gm.sendUpstreamMessage(&wshandler.UpstreamMessage{
Target: "#" + room,
Body: bson.M{
2023-07-20 01:36:55 +09:00
tid: bson.M{},
2023-07-19 17:02:49 +09:00
},
Tag: []string{"MemberDocFull"},
})
}
}
2023-07-10 15:39:56 +09:00
func (cfg *groupConfig) prepareInMemory(ctx context.Context, typename string, sub *subTavern) (group, error) {
2023-05-24 16:10:00 +09:00
// group document
// member document
2023-07-10 15:39:56 +09:00
region := sub.region
wsh := sub.wsh
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
storage := config.RegionStorage[sub.region]
redisClient, err := gocommon.NewRedisClient(storage.Redis["tavern"])
if err != nil {
return nil, err
2023-05-24 16:10:00 +09:00
}
// 여기서는 subscribe channel
// 각 함수에서는 publish
gm := &groupInMemory{
groupConfig: cfg,
Squashed commit of the following: commit 8e1b232d57801c12edb94d02038b663d19c67b9b Author: mountain <mountain@action2quare.com> Date: Wed Jul 19 09:37:02 2023 +0900 InMemory 그룹을 redis로 변경 commit 01da5bb3a4b2c1857ce73d5722add85d347c976d Author: mountain <mountain@action2quare.com> Date: Tue Jul 18 01:31:39 2023 +0900 body를 marshaling하고 클라이언트에서 flatten함 commit ba61a11659eb790d98d41ce61d38dd001ccfa56c Author: mountain <mountain@action2quare.com> Date: Mon Jul 17 17:47:07 2023 +0900 gob 등록 commit 67cca13326aa517ba0de396b8d5bce736c1c86d8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 18:41:24 2023 +0900 모듈 업데이트 commit 272c696c59652452da45e2704eabebc1e5f587a8 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:29:21 2023 +0900 json value 다시 되돌림 commit aa568ec3fa0016b4a1a43b29c578720ff65883c1 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:26:19 2023 +0900 SetOption 타입 변경 commit b9c4d8b21bbe47733f3bc061973743de06ce3b64 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:15:08 2023 +0900 objvalue marshalling 수정 commit 99834c146182cf51cbe4a24915f14c91208be994 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 17:01:06 2023 +0900 objlen 수정 commit 592112219ec5333031b56949d85e91ce5e46bf20 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 16:38:05 2023 +0900 gocommon 업데이트 commit 62485b6d54e7f8394272b1b80778f677b0fc5996 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 15:36:20 2023 +0900 redis json 마이그레이션 완료 commit d36dd13bb7b5c70825cae3ca5ea4d3cb62506ab6 Author: mountain <mountain@action2quare.com> Date: Sun Jul 16 02:51:41 2023 +0900 redis stack 사용
2023-07-19 09:37:40 +09:00
rh: gocommon.NewRedisonHandler(ctx, redisClient),
2023-07-10 15:39:56 +09:00
sendUpstreamMessage: func(msg *wshandler.UpstreamMessage) {
wsh.SendUpstreamMessage(region, msg)
},
2023-07-11 11:08:31 +09:00
sendEnterRoomMessage: func(gid groupID, accid accountID) {
wsh.EnterRoom(region, gid.Hex(), accid)
},
sendLeaveRoomMessage: func(gid groupID, accid accountID) {
wsh.LeaveRoom(region, gid.Hex(), accid)
},
2023-05-24 16:10:00 +09:00
}
return gm, nil
}