From c0d7f0f5fd78746045a2adbfe59c9a4824ff1a2f Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 18 Nov 2022 16:59:31 +0800 Subject: [PATCH 001/176] cron test --- cmd/open_im_cron_task/main.go | 3 +- internal/cron_task/clear_msg_test.go | 56 +++++++++++++++++++++++++++- internal/cron_task/cron_task.go | 14 +++---- 3 files changed, 64 insertions(+), 9 deletions(-) diff --git a/cmd/open_im_cron_task/main.go b/cmd/open_im_cron_task/main.go index 1e7396d61..30ed7aea7 100644 --- a/cmd/open_im_cron_task/main.go +++ b/cmd/open_im_cron_task/main.go @@ -3,9 +3,10 @@ package main import ( "Open_IM/internal/cron_task" "fmt" + "time" ) func main() { - fmt.Println("start cronTask") + fmt.Println(time.Now(), "start cronTask") cronTask.StartCronTask() } diff --git a/internal/cron_task/clear_msg_test.go b/internal/cron_task/clear_msg_test.go index b1621c26d..046af9162 100644 --- a/internal/cron_task/clear_msg_test.go +++ b/internal/cron_task/clear_msg_test.go @@ -2,14 +2,68 @@ package cronTask import ( "Open_IM/pkg/common/constant" + "Open_IM/pkg/common/db" "Open_IM/pkg/common/log" + pbMsg "Open_IM/pkg/proto/msg" + server_api_params "Open_IM/pkg/proto/sdk_ws" "Open_IM/pkg/utils" "testing" + "time" ) +func getMsgListFake(num int) []*pbMsg.MsgDataToMQ { + var msgList []*pbMsg.MsgDataToMQ + for i := 1; i < num; i++ { + msgList = append(msgList, &pbMsg.MsgDataToMQ{ + Token: "tk", + OperationID: "operationID", + MsgData: &server_api_params.MsgData{ + SendID: "sendID1", + RecvID: "recvID1", + GroupID: "", + ClientMsgID: "xxx", + ServerMsgID: "xxx", + SenderPlatformID: 1, + SenderNickname: "testNickName", + SenderFaceURL: "testFaceURL", + SessionType: 1, + MsgFrom: 100, + ContentType: 101, + Content: []byte("testFaceURL"), + Seq: uint32(i), + SendTime: time.Now().Unix(), + CreateTime: time.Now().Unix(), + Status: 1, + }, + }) + } +} + func TestDeleteMongoMsgAndResetRedisSeq(t *testing.T) { operationID := getCronTaskOperationID() - testUserIDList := []string{"test_del_id1", "test_del_id2", "test_del_id3", "test_del_id4", "test_del_id5"} + testUID1 := "test_del_id1" + //testUID2 := "test_del_id2" + //testUID3 := "test_del_id3" + //testUID4 := "test_del_id4" + //testUID5 := "test_del_id5" + //testUID6 := "test_del_id6" + testUserIDList := []string{testUID1} + + db.DB.SetUserMaxSeq(testUID1, 500) + db.DB.BatchInsertChat2DB(testUID1, getMsgListFake(500), testUID1+"-"+operationID, 500) + + //db.DB.SetUserMaxSeq(testUID1, 6000) + //db.DB.BatchInsertChat2DB() + // + //db.DB.SetUserMaxSeq(testUID1, 4999) + //db.DB.BatchInsertChat2DB() + // + //db.DB.SetUserMaxSeq(testUID1, 30000) + //db.DB.BatchInsertChat2DB() + // + //db.DB.SetUserMaxSeq(testUID1, 9999) + //db.DB.BatchInsertChat2DB() + for _, userID := range testUserIDList { operationID = userID + "-" + operationID if err := DeleteMongoMsgAndResetRedisSeq(operationID, userID); err != nil { diff --git a/internal/cron_task/cron_task.go b/internal/cron_task/cron_task.go index b493b1f37..87c2fbb46 100644 --- a/internal/cron_task/cron_task.go +++ b/internal/cron_task/cron_task.go @@ -31,14 +31,14 @@ func StartCronTask() { if err := DeleteMongoMsgAndResetRedisSeq(operationID, userID); err != nil { log.NewError(operationID, utils.GetSelfFuncName(), err.Error(), userID) } - //if err := checkMaxSeqWithMongo(operationID, userID, constant.WriteDiffusion); err != nil { - // log.NewError(operationID, utils.GetSelfFuncName(), userID, err) - //} + if err := checkMaxSeqWithMongo(operationID, userID, constant.WriteDiffusion); err != nil { + log.NewError(operationID, utils.GetSelfFuncName(), userID, err) + } } } else { log.NewError(operationID, utils.GetSelfFuncName(), err.Error()) } - return + //return // working group msg clear workingGroupIDList, err := im_mysql_model.GetGroupIDListByGroupType(constant.WorkingGroup) if err == nil { @@ -53,9 +53,9 @@ func StartCronTask() { if err := ResetUserGroupMinSeq(operationID, groupID, userIDList); err != nil { log.NewError(operationID, utils.GetSelfFuncName(), err.Error(), groupID, userIDList) } - //if err := checkMaxSeqWithMongo(operationID, groupID, constant.ReadDiffusion); err != nil { - // log.NewError(operationID, utils.GetSelfFuncName(), groupID, err) - //} + if err := checkMaxSeqWithMongo(operationID, groupID, constant.ReadDiffusion); err != nil { + log.NewError(operationID, utils.GetSelfFuncName(), groupID, err) + } } } else { log.NewError(operationID, utils.GetSelfFuncName(), err.Error()) From 11405adcf61f046178f892814e777722202761ee Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 18 Nov 2022 17:35:45 +0800 Subject: [PATCH 002/176] cron test --- internal/cron_task/clear_msg_test.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/cron_task/clear_msg_test.go b/internal/cron_task/clear_msg_test.go index 046af9162..f9ac97ce8 100644 --- a/internal/cron_task/clear_msg_test.go +++ b/internal/cron_task/clear_msg_test.go @@ -37,6 +37,7 @@ func getMsgListFake(num int) []*pbMsg.MsgDataToMQ { }, }) } + return msgList } func TestDeleteMongoMsgAndResetRedisSeq(t *testing.T) { From f3a16e1ecdd308dfdee45bb4f64208776c964754 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 18 Nov 2022 18:09:43 +0800 Subject: [PATCH 003/176] cron --- internal/cron_task/clear_msg_test.go | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/internal/cron_task/clear_msg_test.go b/internal/cron_task/clear_msg_test.go index f9ac97ce8..3bcb0f00b 100644 --- a/internal/cron_task/clear_msg_test.go +++ b/internal/cron_task/clear_msg_test.go @@ -7,6 +7,7 @@ import ( pbMsg "Open_IM/pkg/proto/msg" server_api_params "Open_IM/pkg/proto/sdk_ws" "Open_IM/pkg/utils" + "os/exec" "testing" "time" ) @@ -41,6 +42,17 @@ func getMsgListFake(num int) []*pbMsg.MsgDataToMQ { } func TestDeleteMongoMsgAndResetRedisSeq(t *testing.T) { + cmd := exec.Command("/bin/bash", "CONFIG_NAME=../../") + _, err := cmd.StdoutPipe() + if err != nil { + return + } + + //执行命令 + if err := cmd.Start(); err != nil { + return + } + operationID := getCronTaskOperationID() testUID1 := "test_del_id1" //testUID2 := "test_del_id2" @@ -64,7 +76,16 @@ func TestDeleteMongoMsgAndResetRedisSeq(t *testing.T) { // //db.DB.SetUserMaxSeq(testUID1, 9999) //db.DB.BatchInsertChat2DB() + cmd = exec.Command("/bin/bash", "unset $CONFIG_NAME") + _, err = cmd.StdoutPipe() + if err != nil { + return + } + //执行命令 + if err := cmd.Start(); err != nil { + return + } for _, userID := range testUserIDList { operationID = userID + "-" + operationID if err := DeleteMongoMsgAndResetRedisSeq(operationID, userID); err != nil { From 7f9812a4882c70e91be19cf246c49a3bfad80323 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 18 Nov 2022 18:16:44 +0800 Subject: [PATCH 004/176] cron --- internal/cron_task/clear_msg_test.go | 33 ++++++++++++++++------------ 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/internal/cron_task/clear_msg_test.go b/internal/cron_task/clear_msg_test.go index 3bcb0f00b..2788bb82b 100644 --- a/internal/cron_task/clear_msg_test.go +++ b/internal/cron_task/clear_msg_test.go @@ -12,6 +12,19 @@ import ( "time" ) +func init() { + cmd := exec.Command("/bin/bash", "CONFIG_NAME=../../") + _, err := cmd.StdoutPipe() + if err != nil { + return + } + + //执行命令 + if err := cmd.Start(); err != nil { + return + } +} + func getMsgListFake(num int) []*pbMsg.MsgDataToMQ { var msgList []*pbMsg.MsgDataToMQ for i := 1; i < num; i++ { @@ -42,16 +55,6 @@ func getMsgListFake(num int) []*pbMsg.MsgDataToMQ { } func TestDeleteMongoMsgAndResetRedisSeq(t *testing.T) { - cmd := exec.Command("/bin/bash", "CONFIG_NAME=../../") - _, err := cmd.StdoutPipe() - if err != nil { - return - } - - //执行命令 - if err := cmd.Start(); err != nil { - return - } operationID := getCronTaskOperationID() testUID1 := "test_del_id1" @@ -62,9 +65,11 @@ func TestDeleteMongoMsgAndResetRedisSeq(t *testing.T) { //testUID6 := "test_del_id6" testUserIDList := []string{testUID1} - db.DB.SetUserMaxSeq(testUID1, 500) - db.DB.BatchInsertChat2DB(testUID1, getMsgListFake(500), testUID1+"-"+operationID, 500) - + err := db.DB.SetUserMaxSeq(testUID1, 500) + err = db.DB.BatchInsertChat2DB(testUID1, getMsgListFake(500), testUID1+"-"+operationID, 500) + if err != nil { + t.Error(err.Error(), testUID1) + } //db.DB.SetUserMaxSeq(testUID1, 6000) //db.DB.BatchInsertChat2DB() // @@ -76,7 +81,7 @@ func TestDeleteMongoMsgAndResetRedisSeq(t *testing.T) { // //db.DB.SetUserMaxSeq(testUID1, 9999) //db.DB.BatchInsertChat2DB() - cmd = exec.Command("/bin/bash", "unset $CONFIG_NAME") + cmd := exec.Command("/bin/bash", "unset $CONFIG_NAME") _, err = cmd.StdoutPipe() if err != nil { return From 9fddf6819bae0ab8d500f5baf723c1f0c9410db9 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Sun, 20 Nov 2022 17:45:49 +0800 Subject: [PATCH 005/176] user notification --- internal/api/auth/auth.go | 1 - internal/api/manage/management_chat.go | 4 ++++ internal/rpc/user/user.go | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/internal/api/auth/auth.go b/internal/api/auth/auth.go index b50e9e2ae..ec2503675 100644 --- a/internal/api/auth/auth.go +++ b/internal/api/auth/auth.go @@ -199,7 +199,6 @@ func ForceLogout(c *gin.Context) { c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": errMsg}) return } - req := &rpc.ForceLogoutReq{} utils.CopyStructFields(req, ¶ms) diff --git a/internal/api/manage/management_chat.go b/internal/api/manage/management_chat.go index a2254a70a..78e441d82 100644 --- a/internal/api/manage/management_chat.go +++ b/internal/api/manage/management_chat.go @@ -52,6 +52,10 @@ func newUserSendMsgReq(params *api.ManagementSendMsgReq) *pbChat.SendMsgReq { fallthrough case constant.File: fallthrough + case constant.CustomNotTriggerConversation: + fallthrough + case constant.CustomOnlineOnly: + fallthrough case constant.AdvancedRevoke: newContent = utils.StructToJsonString(params.Content) case constant.Revoke: diff --git a/internal/rpc/user/user.go b/internal/rpc/user/user.go index 27db600ec..3b11359ac 100644 --- a/internal/rpc/user/user.go +++ b/internal/rpc/user/user.go @@ -450,7 +450,7 @@ func (s *userServer) UpdateUserInfo(ctx context.Context, req *pbUser.UpdateUserI log.NewError(req.OperationID, "GetFriendList failed ", err.Error(), newReq) return &pbUser.UpdateUserInfoResp{CommonResp: &pbUser.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: err.Error()}}, nil } - chat.UserInfoUpdatedNotification(req.OperationID, req.UserInfo.UserID, req.OpUserID) + chat.UserInfoUpdatedNotification(req.OperationID, req.OpUserID, req.UserInfo.UserID) log.Info(req.OperationID, "UserInfoUpdatedNotification ", req.UserInfo.UserID, req.OpUserID) if req.UserInfo.FaceURL != "" { s.SyncJoinedGroupMemberFaceURL(req.UserInfo.UserID, req.UserInfo.FaceURL, req.OperationID, req.OpUserID) From 135973de09d677fc574d74eb700a2910b9b475a6 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 21 Nov 2022 10:20:56 +0800 Subject: [PATCH 006/176] fix bug --- internal/rpc/msg/send_msg.go | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/internal/rpc/msg/send_msg.go b/internal/rpc/msg/send_msg.go index 035043de1..e84c443cd 100644 --- a/internal/rpc/msg/send_msg.go +++ b/internal/rpc/msg/send_msg.go @@ -171,14 +171,12 @@ func (rpc *rpcChat) messageVerification(data *pbChat.SendMsgReq) (bool, int32, s log.NewError(data.OperationID, errMsg) return false, 201, errMsg, nil } - if !token_verify.IsManagerUserID(data.MsgData.SendID) { - if data.MsgData.ContentType <= constant.NotificationEnd && data.MsgData.ContentType >= constant.NotificationBegin { - return true, 0, "", userIDList - } - if !utils.IsContain(data.MsgData.SendID, userIDList) { - //return returnMsg(&replay, pb, 202, "you are not in group", "", 0) - return false, 202, "you are not in group", nil - } + if token_verify.IsManagerUserID(data.MsgData.SendID) { + return true, 0, "", userIDList + } + if !utils.IsContain(data.MsgData.SendID, userIDList) { + //return returnMsg(&replay, pb, 202, "you are not in group", "", 0) + return false, 202, "you are not in group", nil } isMute, err := userIsMuteInGroup(data.MsgData.GroupID, data.MsgData.SendID) if err != nil { @@ -232,14 +230,12 @@ func (rpc *rpcChat) messageVerification(data *pbChat.SendMsgReq) (bool, int32, s log.NewError(data.OperationID, errMsg) return false, 201, errMsg, nil } - if !token_verify.IsManagerUserID(data.MsgData.SendID) { - if data.MsgData.ContentType <= constant.NotificationEnd && data.MsgData.ContentType >= constant.NotificationBegin { - return true, 0, "", userIDList - } - if !utils.IsContain(data.MsgData.SendID, userIDList) { - //return returnMsg(&replay, pb, 202, "you are not in group", "", 0) - return false, 202, "you are not in group", nil - } + if token_verify.IsManagerUserID(data.MsgData.SendID) { + return true, 0, "", userIDList + } + if !utils.IsContain(data.MsgData.SendID, userIDList) { + //return returnMsg(&replay, pb, 202, "you are not in group", "", 0) + return false, 202, "you are not in group", nil } isMute, err := userIsMuteInGroup(data.MsgData.GroupID, data.MsgData.SendID) if err != nil { From 672de78c81599b2e001464419597e02c04b3566e Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 21 Nov 2022 15:41:38 +0800 Subject: [PATCH 007/176] user --- internal/rpc/user/user.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/rpc/user/user.go b/internal/rpc/user/user.go index 3b11359ac..27db600ec 100644 --- a/internal/rpc/user/user.go +++ b/internal/rpc/user/user.go @@ -450,7 +450,7 @@ func (s *userServer) UpdateUserInfo(ctx context.Context, req *pbUser.UpdateUserI log.NewError(req.OperationID, "GetFriendList failed ", err.Error(), newReq) return &pbUser.UpdateUserInfoResp{CommonResp: &pbUser.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: err.Error()}}, nil } - chat.UserInfoUpdatedNotification(req.OperationID, req.OpUserID, req.UserInfo.UserID) + chat.UserInfoUpdatedNotification(req.OperationID, req.UserInfo.UserID, req.OpUserID) log.Info(req.OperationID, "UserInfoUpdatedNotification ", req.UserInfo.UserID, req.OpUserID) if req.UserInfo.FaceURL != "" { s.SyncJoinedGroupMemberFaceURL(req.UserInfo.UserID, req.UserInfo.FaceURL, req.OperationID, req.OpUserID) From a1a79ea619bff200ca62e86c016db9acfe9d1d70 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 21 Nov 2022 15:47:30 +0800 Subject: [PATCH 008/176] user --- internal/rpc/user/user.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/rpc/user/user.go b/internal/rpc/user/user.go index 27db600ec..3b11359ac 100644 --- a/internal/rpc/user/user.go +++ b/internal/rpc/user/user.go @@ -450,7 +450,7 @@ func (s *userServer) UpdateUserInfo(ctx context.Context, req *pbUser.UpdateUserI log.NewError(req.OperationID, "GetFriendList failed ", err.Error(), newReq) return &pbUser.UpdateUserInfoResp{CommonResp: &pbUser.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: err.Error()}}, nil } - chat.UserInfoUpdatedNotification(req.OperationID, req.UserInfo.UserID, req.OpUserID) + chat.UserInfoUpdatedNotification(req.OperationID, req.OpUserID, req.UserInfo.UserID) log.Info(req.OperationID, "UserInfoUpdatedNotification ", req.UserInfo.UserID, req.OpUserID) if req.UserInfo.FaceURL != "" { s.SyncJoinedGroupMemberFaceURL(req.UserInfo.UserID, req.UserInfo.FaceURL, req.OperationID, req.OpUserID) From 157f85897554ad21beab4e7b1eb40470b86bf21e Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 21 Nov 2022 15:57:56 +0800 Subject: [PATCH 009/176] user --- internal/rpc/msg/friend_notification.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/rpc/msg/friend_notification.go b/internal/rpc/msg/friend_notification.go index 91d926bf9..08f3880a5 100644 --- a/internal/rpc/msg/friend_notification.go +++ b/internal/rpc/msg/friend_notification.go @@ -159,7 +159,7 @@ func BlackDeletedNotification(req *pbFriend.RemoveBlacklistReq) { } func UserInfoUpdatedNotification(operationID, userID string, needNotifiedUserID string) { - selfInfoUpdatedTips := open_im_sdk.UserInfoUpdatedTips{UserID: userID} + selfInfoUpdatedTips := open_im_sdk.UserInfoUpdatedTips{UserID: needNotifiedUserID} commID := pbFriend.CommID{FromUserID: userID, ToUserID: needNotifiedUserID, OpUserID: userID, OperationID: operationID} friendNotification(&commID, constant.UserInfoUpdatedNotification, &selfInfoUpdatedTips) } From 819ebf0ede1eb350d126b59c385aa3adc9c95f52 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 22 Nov 2022 11:07:20 +0800 Subject: [PATCH 010/176] add callback and fix cache --- config/config.yaml | 4 + internal/cron_task/clear_msg_test.go | 13 - internal/rpc/group/callback.go | 52 +++- internal/rpc/group/group.go | 417 +++++++++++++-------------- pkg/call_back_struct/group.go | 19 ++ pkg/common/config/config.go | 1 + pkg/common/constant/constant.go | 27 +- 7 files changed, 293 insertions(+), 240 deletions(-) diff --git a/config/config.yaml b/config/config.yaml index a25b39fd8..f7758615b 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -341,6 +341,10 @@ callback: enable: false callbackTimeOut: 2 callbackFailedContinue: true # 回调超时是否继续 + callbackBeforeMemberJoinGroup: + enable: false + callbackTimeOut: 2 + callbackFailedContinue: true # 回调超时是否继续 notification: groupCreated: diff --git a/internal/cron_task/clear_msg_test.go b/internal/cron_task/clear_msg_test.go index 2788bb82b..0a2ba7071 100644 --- a/internal/cron_task/clear_msg_test.go +++ b/internal/cron_task/clear_msg_test.go @@ -12,19 +12,6 @@ import ( "time" ) -func init() { - cmd := exec.Command("/bin/bash", "CONFIG_NAME=../../") - _, err := cmd.StdoutPipe() - if err != nil { - return - } - - //执行命令 - if err := cmd.Start(); err != nil { - return - } -} - func getMsgListFake(num int) []*pbMsg.MsgDataToMQ { var msgList []*pbMsg.MsgDataToMQ for i := 1; i < num; i++ { diff --git a/internal/rpc/group/callback.go b/internal/rpc/group/callback.go index b74c89918..28212c829 100644 --- a/internal/rpc/group/callback.go +++ b/internal/rpc/group/callback.go @@ -4,6 +4,7 @@ import ( cbApi "Open_IM/pkg/call_back_struct" "Open_IM/pkg/common/config" "Open_IM/pkg/common/constant" + "Open_IM/pkg/common/db" "Open_IM/pkg/common/http" "Open_IM/pkg/common/log" pbGroup "Open_IM/pkg/proto/group" @@ -19,6 +20,8 @@ func callbackBeforeCreateGroup(req *pbGroup.CreateGroupReq) cbApi.CommonCallback log.NewDebug(req.OperationID, utils.GetSelfFuncName(), req.String()) commonCallbackReq := &cbApi.CallbackBeforeCreateGroupReq{ CallbackCommand: constant.CallbackBeforeCreateGroupCommand, + GroupInfo: *req.GroupInfo, + InitMemberList: req.InitMemberList, } resp := &cbApi.CallbackBeforeCreateGroupResp{ CommonCallbackResp: &callbackResp, @@ -41,7 +44,7 @@ func callbackBeforeCreateGroup(req *pbGroup.CreateGroupReq) cbApi.CommonCallback req.GroupInfo.GroupID = *resp.GroupID } if resp.GroupName != nil { - req.GroupInfo.GroupName = *resp.GroupID + req.GroupInfo.GroupName = *resp.GroupName } if resp.Notification != nil { req.GroupInfo.Notification = *resp.Notification @@ -68,7 +71,7 @@ func callbackBeforeCreateGroup(req *pbGroup.CreateGroupReq) cbApi.CommonCallback req.GroupInfo.GroupType = *resp.GroupType } if resp.NeedVerification != nil { - req.GroupInfo.NeedVerification = *resp.GroupType + req.GroupInfo.NeedVerification = *resp.NeedVerification } if resp.LookMemberInfo != nil { req.GroupInfo.LookMemberInfo = *resp.LookMemberInfo @@ -76,3 +79,48 @@ func callbackBeforeCreateGroup(req *pbGroup.CreateGroupReq) cbApi.CommonCallback } return callbackResp } + +func CallbackBeforeMemberJoinGroup(operationID string, groupMember *db.GroupMember, groupEx string) cbApi.CommonCallbackResp { + callbackResp := cbApi.CommonCallbackResp{OperationID: operationID} + if !config.Config.Callback.CallbackBeforeMemberJoinGroup.Enable { + return callbackResp + } + log.NewDebug(operationID, "args: ", *groupMember) + callbackReq := cbApi.CallbackBeforeMemberJoinGroupReq{ + CallbackCommand: constant.CallbackBeforeMemberJoinGroupCommand, + GroupID: groupMember.GroupID, + UserID: groupMember.UserID, + Ex: groupMember.Ex, + GroupEx: groupEx, + } + resp := &cbApi.CallbackBeforeMemberJoinGroupResp{ + CommonCallbackResp: &callbackResp, + } + if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackBeforeMemberJoinGroupCommand, callbackReq, resp, config.Config.Callback.CallbackBeforeMemberJoinGroup.CallbackTimeOut); err != nil { + callbackResp.ErrCode = http2.StatusInternalServerError + callbackResp.ErrMsg = err.Error() + if !config.Config.Callback.CallbackBeforeMemberJoinGroup.CallbackFailedContinue { + callbackResp.ActionCode = constant.ActionForbidden + return callbackResp + } else { + callbackResp.ActionCode = constant.ActionAllow + return callbackResp + } + } + if resp.MuteEndTime != nil { + groupMember.MuteEndTime = utils.UnixSecondToTime(*resp.MuteEndTime) + } + if resp.FaceURL != nil { + groupMember.FaceURL = *resp.FaceURL + } + if resp.Ex != nil { + groupMember.Ex = *resp.Ex + } + if resp.NickName != nil { + groupMember.Nickname = *resp.NickName + } + if resp.RoleLevel != nil { + groupMember.RoleLevel = *resp.RoleLevel + } + return callbackResp +} diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index c5597ab1f..d0d88cc41 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -20,6 +20,7 @@ import ( "Open_IM/pkg/utils" "context" "errors" + "fmt" "math/big" "net" "strconv" @@ -157,6 +158,16 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupR groupMember := db.GroupMember{} us := &db.User{} if req.OwnerUserID != "" { + var userIDList []string + for _, v := range req.InitMemberList { + userIDList = append(userIDList, v.UserID) + } + userIDList = append(userIDList, req.OwnerUserID) + if err := s.DelGroupAndUserCache(req.OperationID, "", userIDList); err != nil { + log.NewError(req.OperationID, "DelGroupAndUserCache failed, ", err.Error(), userIDList) + return &pbGroup.CreateGroupResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: err.Error()}, nil + } + us, err = imdb.GetUserByUserID(req.OwnerUserID) if err != nil { log.NewError(req.OperationID, "GetUserByUserID failed ", err.Error(), req.OwnerUserID) @@ -165,6 +176,21 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupR //to group member groupMember = db.GroupMember{GroupID: groupId, RoleLevel: constant.GroupOwner, OperatorUserID: req.OpUserID, JoinSource: constant.JoinByInvitation, InviterUserID: req.OpUserID} utils.CopyStructFields(&groupMember, us) + callbackResp := CallbackBeforeMemberJoinGroup(req.OperationID, &groupMember, groupInfo.Ex) + if callbackResp.ErrCode != 0 { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "callbackBeforeSendSingleMsg resp: ", callbackResp) + } + if callbackResp.ActionCode != constant.ActionAllow { + if callbackResp.ErrCode == 0 { + callbackResp.ErrCode = 201 + } + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "callbackBeforeSendSingleMsg result", "end rpc and return", callbackResp) + return &pbGroup.CreateGroupResp{ + ErrCode: int32(callbackResp.ErrCode), + ErrMsg: callbackResp.ErrMsg, + }, nil + } + err = imdb.InsertIntoGroupMember(groupMember) if err != nil { log.NewError(req.OperationID, "InsertIntoGroupMember failed ", err.Error(), groupMember) @@ -188,6 +214,17 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupR groupMember.JoinSource = constant.JoinByInvitation groupMember.InviterUserID = req.OpUserID utils.CopyStructFields(&groupMember, us) + callbackResp := CallbackBeforeMemberJoinGroup(req.OperationID, &groupMember, groupInfo.Ex) + if callbackResp.ErrCode != 0 { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "callbackBeforeSendSingleMsg resp: ", callbackResp) + } + if callbackResp.ActionCode != constant.ActionAllow { + if callbackResp.ErrCode == 0 { + callbackResp.ErrCode = 201 + } + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "callbackBeforeSendSingleMsg result", "end rpc and return", callbackResp) + continue + } err = imdb.InsertIntoGroupMember(groupMember) if err != nil { log.NewError(req.OperationID, "InsertIntoGroupMember failed ", err.Error(), groupMember) @@ -231,11 +268,6 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupR if len(okUserIDList) != 0 { log.NewInfo(req.OperationID, "rpc CreateGroup return ", resp.String()) if req.GroupInfo.GroupType != constant.SuperGroup { - for _, userID := range okUserIDList { - if err := rocksCache.DelJoinedGroupIDListFromCache(userID); err != nil { - log.NewWarn(req.OperationID, utils.GetSelfFuncName(), userID, err.Error()) - } - } chat.GroupCreatedNotification(req.OperationID, req.OpUserID, groupId, okUserIDList) } else { for _, userID := range okUserIDList { @@ -362,7 +394,10 @@ func (s *groupServer) InviteUserToGroup(ctx context.Context, req *pbGroup.Invite log.NewInfo(req.OperationID, "InviteUserToGroup rpc return ", resp) return &resp, nil } - // + if err := s.DelGroupAndUserCache(req.OperationID, req.GroupID, req.InvitedUserIDList); err != nil { + log.NewError(req.OperationID, "DelGroupAndUserCache failed", err.Error()) + return &pbGroup.InviteUserToGroupResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: err.Error()}, nil + } //from User: invite: applicant //to user: invite: invited var okUserIDList []string @@ -392,6 +427,15 @@ func (s *groupServer) InviteUserToGroup(ctx context.Context, req *pbGroup.Invite toInsertInfo.OperatorUserID = req.OpUserID toInsertInfo.InviterUserID = req.OpUserID toInsertInfo.JoinSource = constant.JoinByInvitation + callbackResp := CallbackBeforeMemberJoinGroup(req.OperationID, &toInsertInfo, groupInfo.Ex) + if callbackResp.ErrCode != 0 { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "callbackBeforeSendSingleMsg resp: ", callbackResp) + } + if callbackResp.ActionCode != constant.ActionAllow { + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "callbackBeforeSendSingleMsg result", "end rpc and return", callbackResp) + continue + } + err = imdb.InsertIntoGroupMember(toInsertInfo) if err != nil { log.NewError(req.OperationID, "InsertIntoGroupMember failed ", req.GroupID, toUserInfo.UserID, toUserInfo.Nickname, toUserInfo.FaceURL) @@ -473,40 +517,7 @@ func (s *groupServer) InviteUserToGroup(ctx context.Context, req *pbGroup.Invite return &pbGroup.InviteUserToGroupResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: err.Error()}, nil } } - - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImCacheName, req.OperationID) - if etcdConn == nil { - errMsg := req.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(req.OperationID, errMsg) - return &pbGroup.InviteUserToGroupResp{ErrCode: constant.ErrInternal.ErrCode, ErrMsg: errMsg}, nil - } - cacheClient := pbCache.NewCacheClient(etcdConn) - cacheResp, err := cacheClient.DelGroupMemberIDListFromCache(context.Background(), &pbCache.DelGroupMemberIDListFromCacheReq{ - GroupID: req.GroupID, - OperationID: req.OperationID, - }) - if err != nil { - log.NewError(req.OperationID, "DelGroupMemberIDListFromCache rpc call failed ", err.Error()) - return &pbGroup.InviteUserToGroupResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}, nil - } - if cacheResp.CommonResp.ErrCode != 0 { - log.NewError(req.OperationID, "DelGroupMemberIDListFromCache rpc logic call failed ", cacheResp.String()) - return &pbGroup.InviteUserToGroupResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}, nil - } - if err := rocksCache.DelGroupMemberListHashFromCache(req.GroupID); err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), req.GroupID, err.Error()) - } - if err := rocksCache.DelGroupMemberNumFromCache(req.GroupID); err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID) - } if groupInfo.GroupType != constant.SuperGroup { - for _, userID := range okUserIDList { - err = rocksCache.DelJoinedGroupIDListFromCache(userID) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), userID) - } - } - chat.MemberInvitedNotification(req.OperationID, req.GroupID, req.OpUserID, req.Reason, okUserIDList) } else { for _, v := range req.InvitedUserIDList { @@ -634,7 +645,10 @@ func (s *groupServer) KickGroupMember(ctx context.Context, req *pbGroup.KickGrou log.NewError(req.OperationID, "failed, kick list 0") return &pbGroup.KickGroupMemberResp{ErrCode: constant.ErrArgs.ErrCode, ErrMsg: constant.ErrArgs.ErrMsg}, nil } - + if err := s.DelGroupAndUserCache(req.OperationID, req.GroupID, req.KickedUserIDList); err != nil { + log.NewError(req.OperationID, "DelGroupAndUserCache failed", err.Error()) + return &pbGroup.KickGroupMemberResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: err.Error()}, nil + } //remove for _, v := range req.KickedUserIDList { kickedInfo, err := rocksCache.GetGroupMemberInfoFromCache(req.GroupID, v) @@ -701,42 +715,12 @@ func (s *groupServer) KickGroupMember(ctx context.Context, req *pbGroup.KickGrou } } - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImCacheName, req.OperationID) - if etcdConn == nil { - errMsg := req.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(req.OperationID, errMsg) - return &pbGroup.KickGroupMemberResp{ErrCode: constant.ErrInternal.ErrCode, ErrMsg: errMsg}, nil - } - cacheClient := pbCache.NewCacheClient(etcdConn) - cacheResp, err := cacheClient.DelGroupMemberIDListFromCache(context.Background(), &pbCache.DelGroupMemberIDListFromCacheReq{ - GroupID: req.GroupID, - OperationID: req.OperationID, - }) - if err != nil { - log.NewError(req.OperationID, "DelGroupMemberIDListFromCache rpc call failed ", err.Error()) - return &pbGroup.KickGroupMemberResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}, nil - } - if cacheResp.CommonResp.ErrCode != 0 { - log.NewError(req.OperationID, "DelGroupMemberIDListFromCache rpc logic call failed ", cacheResp.String()) - return &pbGroup.KickGroupMemberResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}, nil - } - if err := rocksCache.DelGroupMemberListHashFromCache(req.GroupID); err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), req.GroupID, err.Error()) - } - if groupInfo.GroupType != constant.SuperGroup { for _, userID := range okUserIDList { - err = rocksCache.DelJoinedGroupIDListFromCache(userID) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), userID) - } if err := rocksCache.DelGroupMemberInfoFromCache(req.GroupID, userID); err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID) } } - if err := rocksCache.DelGroupMemberNumFromCache(req.GroupID); err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID) - } chat.MemberKickedNotification(req, okUserIDList) } else { for _, userID := range okUserIDList { @@ -761,7 +745,6 @@ func (s *groupServer) GetGroupMembersInfo(ctx context.Context, req *pbGroup.GetG log.NewInfo(req.OperationID, "GetGroupMembersInfo args ", req.String()) var resp pbGroup.GetGroupMembersInfoResp resp.MemberList = []*open_im_sdk.GroupMemberFullInfo{} - for _, userID := range req.MemberList { groupMember, err := rocksCache.GetGroupMemberInfoFromCache(req.GroupID, userID) if err != nil { @@ -773,24 +756,6 @@ func (s *groupServer) GetGroupMembersInfo(ctx context.Context, req *pbGroup.GetG memberNode.JoinTime = int32(groupMember.JoinTime.Unix()) resp.MemberList = append(resp.MemberList, &memberNode) } - - //groupMembers, err := rocksCache.GetAllGroupMembersInfoFromCache(req.GroupID) - //if err != nil { - // log.NewError(req.OperationID, utils.GetSelfFuncName(), req.GroupID, err.Error()) - // resp.ErrCode = constant.ErrDB.ErrCode - // resp.ErrMsg = constant.ErrDB.ErrMsg - // return &resp, nil - //} - //for _, member := range groupMembers { - // if utils.IsContain(member.UserID, req.MemberList) { - // var memberNode open_im_sdk.GroupMemberFullInfo - // utils.CopyStructFields(&memberNode, member) - // memberNode.JoinTime = int32(member.JoinTime.Unix()) - // resp.MemberList = append(resp.MemberList, &memberNode) - // } - //} - - resp.ErrCode = 0 log.NewInfo(req.OperationID, "GetGroupMembersInfo rpc return ", resp.String()) return &resp, nil } @@ -875,7 +840,11 @@ func (s *groupServer) GroupApplicationResponse(_ context.Context, req *pbGroup.G log.NewError(req.OperationID, "GroupApplicationResponse failed ", err.Error(), req.GroupID, req.FromUserID) return &pbGroup.GroupApplicationResponseResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil } - + groupInfo, err := rocksCache.GetGroupInfoFromCache(req.GroupID) + if err != nil { + log.NewError(req.OperationID, "GetGroupInfoFromCache failed ", err.Error(), req.GroupID, req.FromUserID) + return &pbGroup.GroupApplicationResponseResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil + } if req.HandleResult == constant.GroupResponseAgree { user, err := imdb.GetUserByUserID(req.FromUserID) if err != nil { @@ -891,6 +860,22 @@ func (s *groupServer) GroupApplicationResponse(_ context.Context, req *pbGroup.G member.Nickname = user.Nickname member.JoinSource = request.JoinSource member.InviterUserID = request.InviterUserID + callbackResp := CallbackBeforeMemberJoinGroup(req.OperationID, &member, groupInfo.Ex) + if callbackResp.ErrCode != 0 { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "callbackBeforeSendSingleMsg resp: ", callbackResp) + } + if callbackResp.ActionCode != constant.ActionAllow { + if callbackResp.ErrCode == 0 { + callbackResp.ErrCode = 201 + } + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "callbackBeforeSendSingleMsg result", "end rpc and return", callbackResp) + return &pbGroup.GroupApplicationResponseResp{ + CommonResp: &pbGroup.CommonResp{ + ErrCode: int32(callbackResp.ErrCode), + ErrMsg: callbackResp.ErrMsg, + }, + }, nil + } err = imdb.InsertIntoGroupMember(member) if err != nil { log.NewError(req.OperationID, "GroupApplicationResponse failed ", err.Error(), member) @@ -980,7 +965,7 @@ func (s *groupServer) JoinGroup(ctx context.Context, req *pbGroup.JoinGroupReq) return &pbGroup.JoinGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil } - groupInfo, err := imdb.GetGroupInfoByGroupID(req.GroupID) + groupInfo, err := rocksCache.GetGroupInfoFromCache(req.GroupID) if err != nil { log.NewError(req.OperationID, "GetGroupInfoByGroupID failed ", req.GroupID, err) return &pbGroup.JoinGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil @@ -1000,40 +985,34 @@ func (s *groupServer) JoinGroup(ctx context.Context, req *pbGroup.JoinGroupReq) //to group member groupMember := db.GroupMember{GroupID: req.GroupID, RoleLevel: constant.GroupOrdinaryUsers, OperatorUserID: req.OpUserID} utils.CopyStructFields(&groupMember, us) + callbackResp := CallbackBeforeMemberJoinGroup(req.OperationID, &groupMember, groupInfo.Ex) + if callbackResp.ErrCode != 0 { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "callbackBeforeSendSingleMsg resp: ", callbackResp) + } + if callbackResp.ActionCode != constant.ActionAllow { + if callbackResp.ErrCode == 0 { + callbackResp.ErrCode = 201 + } + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "callbackBeforeSendSingleMsg result", "end rpc and return", callbackResp) + return &pbGroup.JoinGroupResp{ + CommonResp: &pbGroup.CommonResp{ + ErrCode: int32(callbackResp.ErrCode), + ErrMsg: callbackResp.ErrMsg, + }, + }, nil + } + + if err := s.DelGroupAndUserCache(req.OperationID, req.GroupID, []string{req.OpUserID}); err != nil { + log.NewError(req.OperationID, "DelGroupAndUserCache failed, ", err.Error(), req.OpUserID) + return &pbGroup.JoinGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: err.Error()}}, nil + } + err = imdb.InsertIntoGroupMember(groupMember) if err != nil { log.NewError(req.OperationID, "InsertIntoGroupMember failed ", err.Error(), groupMember) return &pbGroup.JoinGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil } - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImCacheName, req.OperationID) - if etcdConn == nil { - errMsg := req.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(req.OperationID, errMsg) - return &pbGroup.JoinGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrInternal.ErrCode, ErrMsg: constant.ErrInternal.ErrMsg}}, nil - } - cacheClient := pbCache.NewCacheClient(etcdConn) - cacheResp, err := cacheClient.DelGroupMemberIDListFromCache(context.Background(), &pbCache.DelGroupMemberIDListFromCacheReq{ - GroupID: req.GroupID, - OperationID: req.OperationID, - }) - if err != nil { - log.NewError(req.OperationID, "DelGroupMemberIDListFromCache rpc call failed ", err.Error()) - return &pbGroup.JoinGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil - } - if cacheResp.CommonResp.ErrCode != 0 { - log.NewError(req.OperationID, "DelGroupMemberIDListFromCache rpc logic call failed ", cacheResp.String()) - return &pbGroup.JoinGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil - } - err = rocksCache.DelJoinedGroupIDListFromCache(req.OpUserID) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error()) - } - if err := rocksCache.DelGroupMemberListHashFromCache(req.GroupID); err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), req.GroupID, err.Error()) - } - if err := rocksCache.DelGroupMemberNumFromCache(req.GroupID); err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID) - } + chat.MemberEnterDirectlyNotification(req.GroupID, req.OpUserID, req.OperationID) log.NewInfo(req.OperationID, "JoinGroup rpc return ") return &pbGroup.JoinGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}}, nil @@ -1042,7 +1021,6 @@ func (s *groupServer) JoinGroup(ctx context.Context, req *pbGroup.JoinGroupReq) return &pbGroup.JoinGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrArgs.ErrCode, ErrMsg: constant.ErrArgs.ErrMsg}}, nil } } - var groupRequest db.GroupRequest groupRequest.UserID = req.OpUserID groupRequest.ReqMsg = req.ReqMessage @@ -1053,13 +1031,11 @@ func (s *groupServer) JoinGroup(ctx context.Context, req *pbGroup.JoinGroupReq) log.NewError(req.OperationID, "InsertIntoGroupRequest failed ", err.Error(), groupRequest) return &pbGroup.JoinGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil } - //_, err = imdb.GetGroupMemberListByGroupIDAndRoleLevel(req.GroupID, constant.GroupOwner) //if err != nil { // log.NewError(req.OperationID, "GetGroupMemberListByGroupIDAndRoleLevel failed ", err.Error(), req.GroupID, constant.GroupOwner) // return &pbGroup.JoinGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}}, nil //} - chat.JoinGroupApplicationNotification(req) log.NewInfo(req.OperationID, "JoinGroup rpc return ") return &pbGroup.JoinGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}}, nil @@ -1079,6 +1055,11 @@ func (s *groupServer) QuitGroup(ctx context.Context, req *pbGroup.QuitGroupReq) return &pbGroup.QuitGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil } + if err := s.DelGroupAndUserCache(req.OperationID, req.GroupID, []string{req.OpUserID}); err != nil { + log.NewError(req.OperationID, "DelGroupAndUserCache failed, ", err.Error(), req.OpUserID) + return &pbGroup.QuitGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: err.Error()}}, nil + } + err = imdb.DeleteGroupMemberByGroupIDAndUserID(req.GroupID, req.OpUserID) if err != nil { log.NewError(req.OperationID, "DeleteGroupMemberByGroupIdAndUserId failed ", err.Error(), req.GroupID, req.OpUserID) @@ -1121,35 +1102,7 @@ func (s *groupServer) QuitGroup(ctx context.Context, req *pbGroup.QuitGroupReq) } } - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImCacheName, req.OperationID) - if etcdConn == nil { - errMsg := req.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(req.OperationID, errMsg) - return &pbGroup.QuitGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrInternal.ErrCode, ErrMsg: constant.ErrInternal.ErrMsg}}, nil - } - cacheClient := pbCache.NewCacheClient(etcdConn) - cacheResp, err := cacheClient.DelGroupMemberIDListFromCache(context.Background(), &pbCache.DelGroupMemberIDListFromCacheReq{ - GroupID: req.GroupID, - OperationID: req.OperationID, - }) - if err != nil { - log.NewError(req.OperationID, "DelGroupMemberIDListFromCache rpc call failed ", err.Error()) - return &pbGroup.QuitGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil - } - if cacheResp.CommonResp.ErrCode != 0 { - log.NewError(req.OperationID, "DelGroupMemberIDListFromCache rpc logic call failed ", cacheResp.String()) - return &pbGroup.QuitGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil - } - if err := rocksCache.DelGroupMemberListHashFromCache(req.GroupID); err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), req.GroupID, err.Error()) - } if groupInfo.GroupType != constant.SuperGroup { - if err := rocksCache.DelJoinedGroupIDListFromCache(req.OpUserID); err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.OpUserID) - } - if err := rocksCache.DelGroupMemberNumFromCache(req.GroupID); err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID) - } if err := rocksCache.DelGroupMemberInfoFromCache(req.GroupID, req.OpUserID); err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID) } @@ -1259,16 +1212,15 @@ func (s *groupServer) SetGroupInfo(ctx context.Context, req *pbGroup.SetGroupInf groupInfo.NotificationUserID = req.OpUserID groupInfo.NotificationUpdateTime = time.Now() } + if err := rocksCache.DelGroupInfoFromCache(req.GroupInfoForSet.GroupID); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "DelGroupInfoFromCache failed ", err.Error(), req.GroupInfoForSet.GroupID) + return &pbGroup.SetGroupInfoResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil + } err = imdb.SetGroupInfo(groupInfo) if err != nil { log.NewError(req.OperationID, "SetGroupInfo failed ", err.Error(), groupInfo) return &pbGroup.SetGroupInfoResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil } - if err := rocksCache.DelGroupInfoFromCache(req.GroupInfoForSet.GroupID); err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "DelGroupInfoFromCache failed ", err.Error(), req.GroupInfoForSet.GroupID) - return &pbGroup.SetGroupInfoResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil - } - log.NewInfo(req.OperationID, "SetGroupInfo rpc return ", pbGroup.SetGroupInfoResp{CommonResp: &pbGroup.CommonResp{}}) if changedType != 0 { chat.GroupInfoSetNotification(req.OperationID, req.OpUserID, req.GroupInfoForSet.GroupID, groupName, notification, introduction, faceURL, req.GroupInfoForSet.NeedVerification) @@ -1339,6 +1291,18 @@ func (s *groupServer) TransferGroupOwner(_ context.Context, req *pbGroup.Transfe log.NewError(req.OperationID, "same owner ", req.OldOwnerUserID, req.NewOwnerUserID) return &pbGroup.TransferGroupOwnerResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrArgs.ErrCode, ErrMsg: constant.ErrArgs.ErrMsg}}, nil } + err = rocksCache.DelGroupMemberInfoFromCache(req.GroupID, req.NewOwnerUserID) + if err != nil { + log.NewError(req.OperationID, "DelGroupMemberInfoFromCache failed ", req.GroupID, req.NewOwnerUserID) + return &pbGroup.TransferGroupOwnerResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: err.Error()}}, nil + + } + err = rocksCache.DelGroupMemberInfoFromCache(req.GroupID, req.OldOwnerUserID) + if err != nil { + log.NewError(req.OperationID, "DelGroupMemberInfoFromCache failed ", req.GroupID, req.OldOwnerUserID) + return &pbGroup.TransferGroupOwnerResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: err.Error()}}, nil + } + groupMemberInfo := db.GroupMember{GroupID: req.GroupID, UserID: req.OldOwnerUserID, RoleLevel: constant.GroupOrdinaryUsers} err = imdb.UpdateGroupMemberInfo(groupMemberInfo) if err != nil { @@ -1351,14 +1315,7 @@ func (s *groupServer) TransferGroupOwner(_ context.Context, req *pbGroup.Transfe log.NewError(req.OperationID, "UpdateGroupMemberInfo failed ", groupMemberInfo) return &pbGroup.TransferGroupOwnerResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil } - err = rocksCache.DelGroupMemberInfoFromCache(req.GroupID, req.NewOwnerUserID) - if err != nil { - log.NewError(req.OperationID, "DelGroupMemberInfoFromCache failed ", req.GroupID, req.NewOwnerUserID) - } - err = rocksCache.DelGroupMemberInfoFromCache(req.GroupID, req.OldOwnerUserID) - if err != nil { - log.NewError(req.OperationID, "DelGroupMemberInfoFromCache failed ", req.GroupID, req.OldOwnerUserID) - } + chat.GroupOwnerTransferredNotification(req) return &pbGroup.TransferGroupOwnerResp{CommonResp: &pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}}, nil @@ -1503,6 +1460,15 @@ func (s *groupServer) DismissGroup(ctx context.Context, req *pbGroup.DismissGrou return &pbGroup.DismissGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrAccess.ErrCode, ErrMsg: constant.ErrAccess.ErrMsg}}, nil } + if err := rocksCache.DelGroupInfoFromCache(req.GroupID); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID) + return &pbGroup.DismissGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: err.Error()}}, nil + } + if err := s.DelGroupAndUserCache(req.OperationID, req.GroupID, nil); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID) + return &pbGroup.DismissGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: err.Error()}}, nil + } + err := imdb.OperateGroupStatus(req.GroupID, constant.GroupStatusDismissed) if err != nil { log.NewError(req.OperationID, "OperateGroupStatus failed ", req.GroupID, constant.GroupStatusDismissed) @@ -1554,34 +1520,8 @@ func (s *groupServer) DismissGroup(ctx context.Context, req *pbGroup.DismissGrou if err != nil { log.NewError(req.OperationID, "DeleteGroupMemberByGroupID failed ", req.GroupID) return &pbGroup.DismissGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil - } } - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImCacheName, req.OperationID) - if etcdConn == nil { - errMsg := req.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(req.OperationID, errMsg) - return &pbGroup.DismissGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: 500, ErrMsg: errMsg}}, nil - } - cacheClient := pbCache.NewCacheClient(etcdConn) - cacheResp, err := cacheClient.DelGroupMemberIDListFromCache(context.Background(), &pbCache.DelGroupMemberIDListFromCacheReq{ - GroupID: req.GroupID, - OperationID: req.OperationID, - }) - if err != nil { - log.NewError(req.OperationID, "DelGroupMemberIDListFromCache rpc call failed ", err.Error()) - return &pbGroup.DismissGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: 500, ErrMsg: err.Error()}}, nil - } - if cacheResp.CommonResp.ErrCode != 0 { - log.NewError(req.OperationID, "DelGroupMemberIDListFromCache rpc logic call failed ", cacheResp.String()) - return &pbGroup.DismissGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: cacheResp.CommonResp.ErrCode, ErrMsg: cacheResp.CommonResp.ErrMsg}}, nil - } - if err := rocksCache.DelGroupInfoFromCache(req.GroupID); err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID) - } - if err := rocksCache.DelGroupMemberListHashFromCache(req.GroupID); err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID) - } log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "rpc return ", pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}) return &pbGroup.DismissGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}}, nil } @@ -1605,7 +1545,7 @@ func (s *groupServer) MuteGroupMember(ctx context.Context, req *pbGroup.MuteGrou return &pbGroup.MuteGroupMemberResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrAccess.ErrCode, ErrMsg: errMsg}}, nil } - mutedInfo, err := imdb.GetGroupMemberInfoByGroupIDAndUserID(req.GroupID, req.UserID) + mutedInfo, err := rocksCache.GetGroupMemberInfoFromCache(req.GroupID, req.UserID) if err != nil { errMsg := req.OperationID + " GetGroupMemberInfoByGroupIDAndUserID failed " + req.GroupID + req.UserID + err.Error() return &pbGroup.MuteGroupMemberResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrAccess.ErrCode, ErrMsg: errMsg}}, nil @@ -1619,17 +1559,17 @@ func (s *groupServer) MuteGroupMember(ctx context.Context, req *pbGroup.MuteGrou return &pbGroup.MuteGroupMemberResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrAccess.ErrCode, ErrMsg: errMsg}}, nil } + if err := rocksCache.DelGroupMemberInfoFromCache(req.GroupID, req.UserID); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID, req.UserID) + return &pbGroup.MuteGroupMemberResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: err.Error()}}, nil + } groupMemberInfo := db.GroupMember{GroupID: req.GroupID, UserID: req.UserID} - groupMemberInfo.MuteEndTime = time.Unix(int64(time.Now().Second())+int64(req.MutedSeconds), time.Now().UnixNano()) err = imdb.UpdateGroupMemberInfo(groupMemberInfo) if err != nil { log.Error(req.OperationID, "UpdateGroupMemberInfo failed ", err.Error(), groupMemberInfo) return &pbGroup.MuteGroupMemberResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil } - if err := rocksCache.DelGroupMemberInfoFromCache(req.GroupID, req.UserID); err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID) - } chat.GroupMemberMutedNotification(req.OperationID, req.OpUserID, req.GroupID, req.UserID, req.MutedSeconds) log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "rpc return ", pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}) return &pbGroup.MuteGroupMemberResp{CommonResp: &pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}}, nil @@ -1663,6 +1603,10 @@ func (s *groupServer) CancelMuteGroupMember(ctx context.Context, req *pbGroup.Ca errMsg := req.OperationID + " mutedInfo.RoleLevel == constant.GroupAdmin " + req.GroupID + req.UserID return &pbGroup.CancelMuteGroupMemberResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrAccess.ErrCode, ErrMsg: errMsg}}, nil } + if err := rocksCache.DelGroupMemberInfoFromCache(req.GroupID, req.UserID); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID) + return &pbGroup.CancelMuteGroupMemberResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: err.Error()}}, nil + } groupMemberInfo := db.GroupMember{GroupID: req.GroupID, UserID: req.UserID} groupMemberInfo.MuteEndTime = time.Unix(0, 0) @@ -1671,9 +1615,7 @@ func (s *groupServer) CancelMuteGroupMember(ctx context.Context, req *pbGroup.Ca log.Error(req.OperationID, "UpdateGroupMemberInfo failed ", err.Error(), groupMemberInfo) return &pbGroup.CancelMuteGroupMemberResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil } - if err := rocksCache.DelGroupMemberInfoFromCache(req.GroupID, req.UserID); err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID) - } + chat.GroupMemberCancelMutedNotification(req.OperationID, req.OpUserID, req.GroupID, req.UserID) log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "rpc return ", pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}) return &pbGroup.CancelMuteGroupMemberResp{CommonResp: &pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}}, nil @@ -1707,15 +1649,17 @@ func (s *groupServer) MuteGroup(ctx context.Context, req *pbGroup.MuteGroupReq) // errMsg := req.OperationID + " mutedInfo.RoleLevel == constant.GroupAdmin " + req.GroupID + req.OpUserID + err.Error() // return &pbGroup.MuteGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrAccess.ErrCode, ErrMsg: errMsg}}, nil //} + if err := rocksCache.DelGroupInfoFromCache(req.GroupID); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID) + return &pbGroup.MuteGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: err.Error()}}, nil + } err = imdb.OperateGroupStatus(req.GroupID, constant.GroupStatusMuted) if err != nil { log.Error(req.OperationID, "OperateGroupStatus failed ", err.Error(), req.GroupID, constant.GroupStatusMuted) return &pbGroup.MuteGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil } - if err := rocksCache.DelGroupInfoFromCache(req.GroupID); err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID) - } + chat.GroupMutedNotification(req.OperationID, req.OpUserID, req.GroupID) log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "rpc return ", pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}) return &pbGroup.MuteGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}}, nil @@ -1723,7 +1667,6 @@ func (s *groupServer) MuteGroup(ctx context.Context, req *pbGroup.MuteGroupReq) func (s *groupServer) CancelMuteGroup(ctx context.Context, req *pbGroup.CancelMuteGroupReq) (*pbGroup.CancelMuteGroupResp, error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "rpc args ", req.String()) - opFlag, err := s.getGroupUserLevel(req.GroupID, req.OpUserID) if err != nil { errMsg := req.OperationID + " getGroupUserLevel failed " + req.GroupID + req.OpUserID + err.Error() @@ -1735,7 +1678,6 @@ func (s *groupServer) CancelMuteGroup(ctx context.Context, req *pbGroup.CancelMu log.Error(req.OperationID, errMsg) return &pbGroup.CancelMuteGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrAccess.ErrCode, ErrMsg: errMsg}}, nil } - //mutedInfo, err := imdb.GetGroupMemberInfoByGroupIDAndUserID(req.GroupID, req.) //if err != nil { // errMsg := req.OperationID + " GetGroupMemberInfoByGroupIDAndUserID failed " + req.GroupID + req.OpUserID + err.Error() @@ -1750,14 +1692,16 @@ func (s *groupServer) CancelMuteGroup(ctx context.Context, req *pbGroup.CancelMu // return &pbGroup.CancelMuteGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrAccess.ErrCode, ErrMsg: errMsg}}, nil //} log.Debug(req.OperationID, "UpdateGroupInfoDefaultZero ", req.GroupID, map[string]interface{}{"status": constant.GroupOk}) + if err := rocksCache.DelGroupInfoFromCache(req.GroupID); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID) + return &pbGroup.CancelMuteGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: err.Error()}}, nil + } err = imdb.UpdateGroupInfoDefaultZero(req.GroupID, map[string]interface{}{"status": constant.GroupOk}) if err != nil { log.Error(req.OperationID, "UpdateGroupInfoDefaultZero failed ", err.Error(), req.GroupID) return &pbGroup.CancelMuteGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil } - if err := rocksCache.DelGroupInfoFromCache(req.GroupID); err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID) - } + chat.GroupCancelMutedNotification(req.OperationID, req.OpUserID, req.GroupID) log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "rpc return ", pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}) return &pbGroup.CancelMuteGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}}, nil @@ -1785,15 +1729,17 @@ func (s *groupServer) SetGroupMemberNickname(ctx context.Context, req *pbGroup.S } else { groupMemberInfo.Nickname = req.Nickname } + + if err := rocksCache.DelGroupInfoFromCache(req.GroupID); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID) + return &pbGroup.SetGroupMemberNicknameResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: err.Error()}}, nil + } err := imdb.UpdateGroupMemberInfo(groupMemberInfo) if err != nil { errMsg := req.OperationID + " UpdateGroupMemberInfo failed " + err.Error() log.Error(req.OperationID, errMsg) return &pbGroup.SetGroupMemberNicknameResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil } - if err := rocksCache.DelGroupMemberInfoFromCache(req.GroupID, req.UserID); err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID) - } chat.GroupMemberInfoSetNotification(req.OperationID, req.OpUserID, req.GroupID, req.UserID) log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "rpc return ", pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}) return &pbGroup.SetGroupMemberNicknameResp{CommonResp: &pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}}, nil @@ -1802,6 +1748,12 @@ func (s *groupServer) SetGroupMemberNickname(ctx context.Context, req *pbGroup.S func (s *groupServer) SetGroupMemberInfo(ctx context.Context, req *pbGroup.SetGroupMemberInfoReq) (resp *pbGroup.SetGroupMemberInfoResp, err error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) resp = &pbGroup.SetGroupMemberInfoResp{CommonResp: &pbGroup.CommonResp{}} + if err := rocksCache.DelGroupInfoFromCache(req.GroupID); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil + } groupMember := db.GroupMember{ GroupID: req.GroupID, UserID: req.UserID, @@ -1826,9 +1778,6 @@ func (s *groupServer) SetGroupMemberInfo(ctx context.Context, req *pbGroup.SetGr resp.CommonResp.ErrMsg = constant.ErrDB.ErrMsg + ":" + err.Error() return resp, nil } - if err := rocksCache.DelGroupMemberInfoFromCache(req.GroupID, req.UserID); err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID, req.UserID) - } if req.RoleLevel != nil { switch req.RoleLevel.Value { case constant.GroupOrdinaryUsers: @@ -1867,3 +1816,47 @@ func (s *groupServer) GetGroupAbstractInfo(c context.Context, req *pbGroup.GetGr log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", resp.String()) return resp, nil } + +func (s *groupServer) DelGroupAndUserCache(operationID, groupID string, userIDList []string) error { + if groupID != "" { + etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImCacheName, operationID) + if etcdConn == nil { + errMsg := operationID + "getcdv3.GetDefaultConn == nil" + log.NewError(operationID, errMsg) + return errors.New("etcdConn is nil") + } + cacheClient := pbCache.NewCacheClient(etcdConn) + cacheResp, err := cacheClient.DelGroupMemberIDListFromCache(context.Background(), &pbCache.DelGroupMemberIDListFromCacheReq{ + GroupID: groupID, + OperationID: operationID, + }) + if err != nil { + log.NewError(operationID, "DelGroupMemberIDListFromCache rpc call failed ", err.Error()) + return utils.Wrap(err, "") + } + if cacheResp.CommonResp.ErrCode != 0 { + log.NewError(operationID, "DelGroupMemberIDListFromCache rpc logic call failed ", cacheResp.String()) + return errors.New(fmt.Sprintf("errMsg is %s, errCode is %d", cacheResp.CommonResp.ErrMsg, cacheResp.CommonResp.ErrCode)) + } + err = rocksCache.DelGroupMemberListHashFromCache(groupID) + if err != nil { + log.NewError(operationID, utils.GetSelfFuncName(), groupID, err.Error()) + return utils.Wrap(err, "") + } + err = rocksCache.DelGroupMemberNumFromCache(groupID) + if err != nil { + log.NewError(operationID, utils.GetSelfFuncName(), err.Error(), groupID) + return utils.Wrap(err, "") + } + } + if userIDList != nil { + for _, userID := range userIDList { + err := rocksCache.DelJoinedGroupIDListFromCache(userID) + if err != nil { + log.NewError(operationID, utils.GetSelfFuncName(), err.Error()) + return utils.Wrap(err, "") + } + } + } + return nil +} diff --git a/pkg/call_back_struct/group.go b/pkg/call_back_struct/group.go index 92d5c77dd..93651b34f 100644 --- a/pkg/call_back_struct/group.go +++ b/pkg/call_back_struct/group.go @@ -1,12 +1,14 @@ package call_back_struct import ( + "Open_IM/pkg/proto/group" commonPb "Open_IM/pkg/proto/sdk_ws" ) type CallbackBeforeCreateGroupReq struct { CallbackCommand string `json:"callbackCommand"` commonPb.GroupInfo + InitMemberList []*group.GroupAddMemberInfo `json:"initMemberList"` } type CallbackBeforeCreateGroupResp struct { @@ -25,3 +27,20 @@ type CallbackBeforeCreateGroupResp struct { LookMemberInfo *int32 `json:"lookMemberInfo"` ApplyMemberFriend *int32 `json:"applyMemberFriend"` } + +type CallbackBeforeMemberJoinGroupReq struct { + CallbackCommand string `json:"callbackCommand"` + GroupID string `json:"groupID"` + UserID string `json:"userID"` + Ex string `json:"ex"` + GroupEx string `json:"groupEx"` +} + +type CallbackBeforeMemberJoinGroupResp struct { + *CommonCallbackResp + NickName *string `json:"nickName"` + FaceURL *string `json:"faceURL"` + RoleLevel *int32 `json:"roleLevel"` + MuteEndTime *int64 `json:"muteEndTime"` + Ex *string `json:"ex"` +} diff --git a/pkg/common/config/config.go b/pkg/common/config/config.go index 4fce63c19..f2906c2c0 100644 --- a/pkg/common/config/config.go +++ b/pkg/common/config/config.go @@ -291,6 +291,7 @@ type config struct { CallbackBeforeSuperGroupOnlinePush callBackConfig `yaml:"callbackSuperGroupOnlinePush"` CallbackBeforeAddFriend callBackConfig `yaml:"callbackBeforeAddFriend"` CallbackBeforeCreateGroup callBackConfig `yaml:"callbackBeforeCreateGroup"` + CallbackBeforeMemberJoinGroup callBackConfig `yaml:"callbackBeforeMemberJoinGroup"` } `yaml:"callback"` Notification struct { ///////////////////////group///////////////////////////// diff --git a/pkg/common/constant/constant.go b/pkg/common/constant/constant.go index a817ab02c..3179ff46b 100644 --- a/pkg/common/constant/constant.go +++ b/pkg/common/constant/constant.go @@ -196,19 +196,20 @@ const ( VerificationCodeForResetSuffix = "_forReset" //callbackCommand - CallbackBeforeSendSingleMsgCommand = "callbackBeforeSendSingleMsgCommand" - CallbackAfterSendSingleMsgCommand = "callbackAfterSendSingleMsgCommand" - CallbackBeforeSendGroupMsgCommand = "callbackBeforeSendGroupMsgCommand" - CallbackAfterSendGroupMsgCommand = "callbackAfterSendGroupMsgCommand" - CallbackMsgModifyCommand = "callbackMsgModifyCommand" - CallbackUserOnlineCommand = "callbackUserOnlineCommand" - CallbackUserOfflineCommand = "callbackUserOfflineCommand" - CallbackUserKickOffCommand = "callbackUserKickOffCommand" - CallbackOfflinePushCommand = "callbackOfflinePushCommand" - CallbackOnlinePushCommand = "callbackOnlinePushCommand" - CallbackSuperGroupOnlinePushCommand = "callbackSuperGroupOnlinePushCommand" - CallbackBeforeAddFriendCommand = "callbackBeforeAddFriendCommand" - CallbackBeforeCreateGroupCommand = "callbackBeforeCreateGroup" + CallbackBeforeSendSingleMsgCommand = "callbackBeforeSendSingleMsgCommand" + CallbackAfterSendSingleMsgCommand = "callbackAfterSendSingleMsgCommand" + CallbackBeforeSendGroupMsgCommand = "callbackBeforeSendGroupMsgCommand" + CallbackAfterSendGroupMsgCommand = "callbackAfterSendGroupMsgCommand" + CallbackMsgModifyCommand = "callbackMsgModifyCommand" + CallbackUserOnlineCommand = "callbackUserOnlineCommand" + CallbackUserOfflineCommand = "callbackUserOfflineCommand" + CallbackUserKickOffCommand = "callbackUserKickOffCommand" + CallbackOfflinePushCommand = "callbackOfflinePushCommand" + CallbackOnlinePushCommand = "callbackOnlinePushCommand" + CallbackSuperGroupOnlinePushCommand = "callbackSuperGroupOnlinePushCommand" + CallbackBeforeAddFriendCommand = "callbackBeforeAddFriendCommand" + CallbackBeforeCreateGroupCommand = "callbackBeforeCreateGroupCommand" + CallbackBeforeMemberJoinGroupCommand = "callbackBeforeMemberJoinGroupCommand" //callback actionCode ActionAllow = 0 From 07cdd8bbab2aeac2e18b7e3c4cd52f53a1df2e50 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 22 Nov 2022 14:18:57 +0800 Subject: [PATCH 011/176] add callback and fix cache --- internal/rpc/group/group.go | 7 +++++-- internal/rpc/msg/group_notification.go | 2 -- internal/rpc/msg/send_msg.go | 20 ++++++++++++++------ 3 files changed, 19 insertions(+), 10 deletions(-) diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index d0d88cc41..7a445a353 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -1111,10 +1111,13 @@ func (s *groupServer) QuitGroup(ctx context.Context, req *pbGroup.QuitGroupReq) if err := rocksCache.DelJoinedSuperGroupIDListFromCache(req.OpUserID); err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.OpUserID) } + if err := rocksCache.DelGroupMemberListHashFromCache(req.GroupID); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), req.GroupID, err.Error()) + } chat.SuperGroupNotification(req.OperationID, req.OpUserID, req.OpUserID) } - log.NewInfo(req.OperationID, "rpc QuitGroup return ", pbGroup.QuitGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}}) - return &pbGroup.QuitGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}}, nil + log.NewInfo(req.OperationID, "rpc QuitGroup return ", pbGroup.QuitGroupResp{CommonResp: &pbGroup.CommonResp{}}) + return &pbGroup.QuitGroupResp{CommonResp: &pbGroup.CommonResp{}}, nil } func hasAccess(req *pbGroup.SetGroupInfoReq) bool { diff --git a/internal/rpc/msg/group_notification.go b/internal/rpc/msg/group_notification.go index 697e51824..bbadbd3b5 100644 --- a/internal/rpc/msg/group_notification.go +++ b/internal/rpc/msg/group_notification.go @@ -416,8 +416,6 @@ func MemberQuitNotification(req *pbGroup.QuitGroupReq) { } groupNotification(constant.MemberQuitNotification, &MemberQuitTips, req.OpUserID, req.GroupID, "", req.OperationID) - // groupNotification(constant.MemberQuitNotification, &MemberQuitTips, req.OpUserID, "", req.OpUserID, req.OperationID) - } //message ApplicationProcessedTips{ diff --git a/internal/rpc/msg/send_msg.go b/internal/rpc/msg/send_msg.go index e84c443cd..c072b1b71 100644 --- a/internal/rpc/msg/send_msg.go +++ b/internal/rpc/msg/send_msg.go @@ -174,9 +174,13 @@ func (rpc *rpcChat) messageVerification(data *pbChat.SendMsgReq) (bool, int32, s if token_verify.IsManagerUserID(data.MsgData.SendID) { return true, 0, "", userIDList } - if !utils.IsContain(data.MsgData.SendID, userIDList) { - //return returnMsg(&replay, pb, 202, "you are not in group", "", 0) - return false, 202, "you are not in group", nil + if data.MsgData.ContentType <= constant.NotificationEnd && data.MsgData.ContentType >= constant.NotificationBegin { + return true, 0, "", userIDList + } else { + if !utils.IsContain(data.MsgData.SendID, userIDList) { + //return returnMsg(&replay, pb, 202, "you are not in group", "", 0) + return false, 202, "you are not in group", nil + } } isMute, err := userIsMuteInGroup(data.MsgData.GroupID, data.MsgData.SendID) if err != nil { @@ -233,9 +237,13 @@ func (rpc *rpcChat) messageVerification(data *pbChat.SendMsgReq) (bool, int32, s if token_verify.IsManagerUserID(data.MsgData.SendID) { return true, 0, "", userIDList } - if !utils.IsContain(data.MsgData.SendID, userIDList) { - //return returnMsg(&replay, pb, 202, "you are not in group", "", 0) - return false, 202, "you are not in group", nil + if data.MsgData.ContentType <= constant.NotificationEnd && data.MsgData.ContentType >= constant.NotificationBegin { + return true, 0, "", userIDList + } else { + if !utils.IsContain(data.MsgData.SendID, userIDList) { + //return returnMsg(&replay, pb, 202, "you are not in group", "", 0) + return false, 202, "you are not in group", nil + } } isMute, err := userIsMuteInGroup(data.MsgData.GroupID, data.MsgData.SendID) if err != nil { From e9f6521c6ad0cbe2f1b2b6f6789ef8ebf9fa9217 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 22 Nov 2022 14:44:52 +0800 Subject: [PATCH 012/176] add callback and fix cache --- internal/rpc/group/group.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index 7a445a353..4945bed83 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -1733,7 +1733,7 @@ func (s *groupServer) SetGroupMemberNickname(ctx context.Context, req *pbGroup.S groupMemberInfo.Nickname = req.Nickname } - if err := rocksCache.DelGroupInfoFromCache(req.GroupID); err != nil { + if err := rocksCache.DelGroupMemberInfoFromCache(req.GroupID, req.UserID); err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID) return &pbGroup.SetGroupMemberNicknameResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: err.Error()}}, nil } @@ -1751,7 +1751,7 @@ func (s *groupServer) SetGroupMemberNickname(ctx context.Context, req *pbGroup.S func (s *groupServer) SetGroupMemberInfo(ctx context.Context, req *pbGroup.SetGroupMemberInfoReq) (resp *pbGroup.SetGroupMemberInfoResp, err error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) resp = &pbGroup.SetGroupMemberInfoResp{CommonResp: &pbGroup.CommonResp{}} - if err := rocksCache.DelGroupInfoFromCache(req.GroupID); err != nil { + if err := rocksCache.DelGroupMemberInfoFromCache(req.GroupID, req.UserID); err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID) resp.CommonResp.ErrCode = constant.ErrDB.ErrCode resp.CommonResp.ErrMsg = err.Error() From 1a8197aef140ccad8f85b597a208505fbdf6d5b4 Mon Sep 17 00:00:00 2001 From: skiffer-git <44203734@qq.com> Date: Tue, 22 Nov 2022 16:20:18 +0800 Subject: [PATCH 013/176] add admin platform id --- pkg/common/constant/platform_number_id_to_name.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkg/common/constant/platform_number_id_to_name.go b/pkg/common/constant/platform_number_id_to_name.go index 0480db01b..3d5ab059b 100644 --- a/pkg/common/constant/platform_number_id_to_name.go +++ b/pkg/common/constant/platform_number_id_to_name.go @@ -14,6 +14,7 @@ const ( LinuxPlatformID = 7 AndroidPadPlatformID = 8 IPadPlatformID = 9 + AdminPlatformID = 10 //Platform string match to Platform ID IOSPlatformStr = "IOS" @@ -25,6 +26,7 @@ const ( LinuxPlatformStr = "Linux" AndroidPadPlatformStr = "APad" IPadPlatformStr = "IPad" + AdminPlatformStr = "Admin" //terminal types TerminalPC = "PC" @@ -41,6 +43,7 @@ var PlatformID2Name = map[int]string{ LinuxPlatformID: LinuxPlatformStr, AndroidPadPlatformID: AndroidPadPlatformStr, IPadPlatformID: IPadPlatformStr, + AdminPlatformID: AdminPlatformStr, } var PlatformName2ID = map[string]int{ IOSPlatformStr: IOSPlatformID, @@ -52,6 +55,7 @@ var PlatformName2ID = map[string]int{ LinuxPlatformStr: LinuxPlatformID, AndroidPadPlatformStr: AndroidPadPlatformID, IPadPlatformStr: IPadPlatformID, + AdminPlatformStr: AdminPlatformID, } var Platform2class = map[string]string{ IOSPlatformStr: TerminalMobile, From e1c7c11bdfc7b4e68649a0247fd20fe78ce5a0e9 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 22 Nov 2022 18:28:37 +0800 Subject: [PATCH 014/176] fix callback --- internal/rpc/group/callback.go | 2 ++ pkg/call_back_struct/group.go | 2 ++ 2 files changed, 4 insertions(+) diff --git a/internal/rpc/group/callback.go b/internal/rpc/group/callback.go index 28212c829..90dc63af0 100644 --- a/internal/rpc/group/callback.go +++ b/internal/rpc/group/callback.go @@ -20,6 +20,7 @@ func callbackBeforeCreateGroup(req *pbGroup.CreateGroupReq) cbApi.CommonCallback log.NewDebug(req.OperationID, utils.GetSelfFuncName(), req.String()) commonCallbackReq := &cbApi.CallbackBeforeCreateGroupReq{ CallbackCommand: constant.CallbackBeforeCreateGroupCommand, + OperationID: req.OperationID, GroupInfo: *req.GroupInfo, InitMemberList: req.InitMemberList, } @@ -88,6 +89,7 @@ func CallbackBeforeMemberJoinGroup(operationID string, groupMember *db.GroupMemb log.NewDebug(operationID, "args: ", *groupMember) callbackReq := cbApi.CallbackBeforeMemberJoinGroupReq{ CallbackCommand: constant.CallbackBeforeMemberJoinGroupCommand, + OperationID: operationID, GroupID: groupMember.GroupID, UserID: groupMember.UserID, Ex: groupMember.Ex, diff --git a/pkg/call_back_struct/group.go b/pkg/call_back_struct/group.go index 93651b34f..33a18d9c0 100644 --- a/pkg/call_back_struct/group.go +++ b/pkg/call_back_struct/group.go @@ -7,6 +7,7 @@ import ( type CallbackBeforeCreateGroupReq struct { CallbackCommand string `json:"callbackCommand"` + OperationID string `json:"operationID"` commonPb.GroupInfo InitMemberList []*group.GroupAddMemberInfo `json:"initMemberList"` } @@ -30,6 +31,7 @@ type CallbackBeforeCreateGroupResp struct { type CallbackBeforeMemberJoinGroupReq struct { CallbackCommand string `json:"callbackCommand"` + OperationID string `json:"operationID"` GroupID string `json:"groupID"` UserID string `json:"userID"` Ex string `json:"ex"` From 9be70d640e3d0b63ecf35e416a0c2bf7759c8f08 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 23 Nov 2022 11:08:44 +0800 Subject: [PATCH 015/176] api --- internal/cms_api/admin/admin.go | 34 + internal/cms_api/middleware/jwt_auth.go | 6 + internal/cms_api/router.go | 2 + internal/rpc/admin_cms/admin_cms.go | 18 + pkg/cms_api_struct/admin.go | 11 + pkg/proto/admin_cms/admin_cms.pb.go | 6171 +++++++++-------------- pkg/proto/admin_cms/admin_cms.proto | 15 + 7 files changed, 2358 insertions(+), 3899 deletions(-) diff --git a/internal/cms_api/admin/admin.go b/internal/cms_api/admin/admin.go index 2c98502da..ca0e880aa 100644 --- a/internal/cms_api/admin/admin.go +++ b/internal/cms_api/admin/admin.go @@ -58,6 +58,40 @@ func init() { } } +func GetUserToken(c *gin.Context) { + var ( + req apiStruct.GetUserTokenRequest + resp apiStruct.GetUserTokenResponse + reqPb pbAdmin.GetUserTokenReq + respPb *pbAdmin.GetUserTokenResp + ) + if err := c.BindJSON(&req); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) + return + } + reqPb.OperationID = req.OperationID + reqPb.UserID = req.UserID + reqPb.PlatformID = req.PlatFormID + etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImAdminCMSName, reqPb.OperationID) + if etcdConn == nil { + errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" + log.NewError(reqPb.OperationID, errMsg) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) + return + } + client := pbAdmin.NewAdminCMSClient(etcdConn) + respPb, err := client.GetUserToken(context.Background(), &reqPb) + if err != nil { + log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "rpc failed", err.Error()) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": err.Error()}) + return + } + resp.Token = respPb.Token + resp.ExpTime = respPb.ExpTime + c.JSON(http.StatusOK, gin.H{"errCode": respPb.CommonResp.ErrCode, "errMsg": respPb.CommonResp.ErrMsg, "data": resp}) +} + // register func AdminLogin(c *gin.Context) { var ( diff --git a/internal/cms_api/middleware/jwt_auth.go b/internal/cms_api/middleware/jwt_auth.go index 5ab3ffbbf..e546c0de1 100644 --- a/internal/cms_api/middleware/jwt_auth.go +++ b/internal/cms_api/middleware/jwt_auth.go @@ -1,6 +1,7 @@ package middleware import ( + "Open_IM/pkg/common/config" "Open_IM/pkg/common/log" "Open_IM/pkg/common/token_verify" "Open_IM/pkg/utils" @@ -20,6 +21,11 @@ func JWTAuth() gin.HandlerFunc { c.JSON(http.StatusOK, gin.H{"errCode": 400, "errMsg": errInfo}) return } else { + if !utils.IsContain(userID, config.Config.Manager.AppManagerUid) { + c.Abort() + c.JSON(http.StatusOK, gin.H{"errCode": 400, "errMsg": "user is not admin"}) + return + } log.NewInfo("0", utils.GetSelfFuncName(), "failed: ", errInfo) } } diff --git a/internal/cms_api/router.go b/internal/cms_api/router.go index af9137633..98aa8fce2 100644 --- a/internal/cms_api/router.go +++ b/internal/cms_api/router.go @@ -29,6 +29,8 @@ func NewGinRouter() *gin.Engine { { adminRouterGroup.POST("/login", admin.AdminLogin) adminRouterGroup.Use(middleware.JWTAuth()) + adminRouterGroup.POST("/get_user_token", admin.GetUserToken) + adminRouterGroup.POST("/add_user_register_add_friend_id", admin.AddUserRegisterAddFriendIDList) adminRouterGroup.POST("/reduce_user_register_reduce_friend_id", admin.ReduceUserRegisterAddFriendIDList) adminRouterGroup.POST("/get_user_register_reduce_friend_id_list", admin.GetUserRegisterAddFriendIDList) diff --git a/internal/rpc/admin_cms/admin_cms.go b/internal/rpc/admin_cms/admin_cms.go index c1d83b6dc..d59aaf483 100644 --- a/internal/rpc/admin_cms/admin_cms.go +++ b/internal/rpc/admin_cms/admin_cms.go @@ -133,6 +133,24 @@ func (s *adminCMSServer) AdminLogin(_ context.Context, req *pbAdminCMS.AdminLogi return resp, nil } +func (s *adminCMSServer) GetUserToken(_ context.Context, req *pbAdminCMS.GetUserTokenReq) (*pbAdminCMS.GetUserTokenResp, error) { + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) + resp := &pbAdminCMS.GetUserTokenResp{ + CommonResp: &pbAdminCMS.CommonResp{}, + } + token, expTime, err := token_verify.CreateToken(req.UserID, int(req.PlatformID)) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "generate token failed", "userID: ", req.UserID, req.PlatformID, err.Error()) + resp.CommonResp.ErrCode = constant.ErrTokenUnknown.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil + } + resp.Token = token + resp.ExpTime = expTime + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", resp.String()) + return resp, nil +} + func (s *adminCMSServer) AddUserRegisterAddFriendIDList(_ context.Context, req *pbAdminCMS.AddUserRegisterAddFriendIDListReq) (*pbAdminCMS.AddUserRegisterAddFriendIDListResp, error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) resp := &pbAdminCMS.AddUserRegisterAddFriendIDListResp{CommonResp: &pbAdminCMS.CommonResp{}} diff --git a/pkg/cms_api_struct/admin.go b/pkg/cms_api_struct/admin.go index 9925224bf..0cde6c978 100644 --- a/pkg/cms_api_struct/admin.go +++ b/pkg/cms_api_struct/admin.go @@ -17,6 +17,17 @@ type AdminLoginResponse struct { FaceURL string `json:"faceURL"` } +type GetUserTokenRequest struct { + UserID string `json:"userID" binding:"required"` + OperationID string `json:"operationID" binding:"required"` + PlatFormID int32 `json:"platformID" binding:"required"` +} + +type GetUserTokenResponse struct { + Token string `json:"token"` + ExpTime int64 `json:"expTime"` +} + type AddUserRegisterAddFriendIDListRequest struct { OperationID string `json:"operationID" binding:"required"` UserIDList []string `json:"userIDList" binding:"required"` diff --git a/pkg/proto/admin_cms/admin_cms.pb.go b/pkg/proto/admin_cms/admin_cms.pb.go index 707609b6d..965b17b99 100644 --- a/pkg/proto/admin_cms/admin_cms.pb.go +++ b/pkg/proto/admin_cms/admin_cms.pb.go @@ -1,4762 +1,3020 @@ // Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.27.1 -// protoc v3.15.5 // source: admin_cms/admin_cms.proto -package admin_cms +package admin_cms // import "Open_IM/pkg/proto/admin_cms" + +import proto "github.com/golang/protobuf/proto" +import fmt "fmt" +import math "math" +import sdk_ws "Open_IM/pkg/proto/sdk_ws" import ( - sdk_ws "Open_IM/pkg/proto/sdk_ws" - context "context" + context "golang.org/x/net/context" grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" - sync "sync" ) -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package type CommonResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ErrCode int32 `protobuf:"varint,1,opt,name=errCode,proto3" json:"errCode,omitempty"` - ErrMsg string `protobuf:"bytes,2,opt,name=errMsg,proto3" json:"errMsg,omitempty"` + ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *CommonResp) Reset() { - *x = CommonResp{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CommonResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CommonResp) ProtoMessage() {} - -func (x *CommonResp) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CommonResp.ProtoReflect.Descriptor instead. +func (m *CommonResp) Reset() { *m = CommonResp{} } +func (m *CommonResp) String() string { return proto.CompactTextString(m) } +func (*CommonResp) ProtoMessage() {} func (*CommonResp) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{0} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{0} +} +func (m *CommonResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CommonResp.Unmarshal(m, b) +} +func (m *CommonResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CommonResp.Marshal(b, m, deterministic) +} +func (dst *CommonResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_CommonResp.Merge(dst, src) +} +func (m *CommonResp) XXX_Size() int { + return xxx_messageInfo_CommonResp.Size(m) +} +func (m *CommonResp) XXX_DiscardUnknown() { + xxx_messageInfo_CommonResp.DiscardUnknown(m) } -func (x *CommonResp) GetErrCode() int32 { - if x != nil { - return x.ErrCode +var xxx_messageInfo_CommonResp proto.InternalMessageInfo + +func (m *CommonResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode } return 0 } -func (x *CommonResp) GetErrMsg() string { - if x != nil { - return x.ErrMsg +func (m *CommonResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg } return "" } type AdminLoginReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OperationID string `protobuf:"bytes,1,opt,name=operationID,proto3" json:"operationID,omitempty"` - AdminID string `protobuf:"bytes,2,opt,name=adminID,proto3" json:"adminID,omitempty"` - Secret string `protobuf:"bytes,3,opt,name=secret,proto3" json:"secret,omitempty"` + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + AdminID string `protobuf:"bytes,2,opt,name=adminID" json:"adminID,omitempty"` + Secret string `protobuf:"bytes,3,opt,name=secret" json:"secret,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *AdminLoginReq) Reset() { - *x = AdminLoginReq{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AdminLoginReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminLoginReq) ProtoMessage() {} - -func (x *AdminLoginReq) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminLoginReq.ProtoReflect.Descriptor instead. +func (m *AdminLoginReq) Reset() { *m = AdminLoginReq{} } +func (m *AdminLoginReq) String() string { return proto.CompactTextString(m) } +func (*AdminLoginReq) ProtoMessage() {} func (*AdminLoginReq) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{1} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{1} +} +func (m *AdminLoginReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AdminLoginReq.Unmarshal(m, b) +} +func (m *AdminLoginReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AdminLoginReq.Marshal(b, m, deterministic) +} +func (dst *AdminLoginReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_AdminLoginReq.Merge(dst, src) +} +func (m *AdminLoginReq) XXX_Size() int { + return xxx_messageInfo_AdminLoginReq.Size(m) +} +func (m *AdminLoginReq) XXX_DiscardUnknown() { + xxx_messageInfo_AdminLoginReq.DiscardUnknown(m) } -func (x *AdminLoginReq) GetOperationID() string { - if x != nil { - return x.OperationID +var xxx_messageInfo_AdminLoginReq proto.InternalMessageInfo + +func (m *AdminLoginReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -func (x *AdminLoginReq) GetAdminID() string { - if x != nil { - return x.AdminID +func (m *AdminLoginReq) GetAdminID() string { + if m != nil { + return m.AdminID } return "" } -func (x *AdminLoginReq) GetSecret() string { - if x != nil { - return x.Secret +func (m *AdminLoginReq) GetSecret() string { + if m != nil { + return m.Secret } return "" } type AdminLoginResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` - UserName string `protobuf:"bytes,2,opt,name=userName,proto3" json:"userName,omitempty"` - FaceURL string `protobuf:"bytes,3,opt,name=faceURL,proto3" json:"faceURL,omitempty"` - CommonResp *CommonResp `protobuf:"bytes,4,opt,name=commonResp,proto3" json:"commonResp,omitempty"` + Token string `protobuf:"bytes,1,opt,name=token" json:"token,omitempty"` + UserName string `protobuf:"bytes,2,opt,name=userName" json:"userName,omitempty"` + FaceURL string `protobuf:"bytes,3,opt,name=faceURL" json:"faceURL,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,4,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *AdminLoginResp) Reset() { - *x = AdminLoginResp{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AdminLoginResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminLoginResp) ProtoMessage() {} - -func (x *AdminLoginResp) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminLoginResp.ProtoReflect.Descriptor instead. +func (m *AdminLoginResp) Reset() { *m = AdminLoginResp{} } +func (m *AdminLoginResp) String() string { return proto.CompactTextString(m) } +func (*AdminLoginResp) ProtoMessage() {} func (*AdminLoginResp) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{2} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{2} +} +func (m *AdminLoginResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AdminLoginResp.Unmarshal(m, b) +} +func (m *AdminLoginResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AdminLoginResp.Marshal(b, m, deterministic) +} +func (dst *AdminLoginResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_AdminLoginResp.Merge(dst, src) +} +func (m *AdminLoginResp) XXX_Size() int { + return xxx_messageInfo_AdminLoginResp.Size(m) +} +func (m *AdminLoginResp) XXX_DiscardUnknown() { + xxx_messageInfo_AdminLoginResp.DiscardUnknown(m) } -func (x *AdminLoginResp) GetToken() string { - if x != nil { - return x.Token +var xxx_messageInfo_AdminLoginResp proto.InternalMessageInfo + +func (m *AdminLoginResp) GetToken() string { + if m != nil { + return m.Token } return "" } -func (x *AdminLoginResp) GetUserName() string { - if x != nil { - return x.UserName +func (m *AdminLoginResp) GetUserName() string { + if m != nil { + return m.UserName } return "" } -func (x *AdminLoginResp) GetFaceURL() string { - if x != nil { - return x.FaceURL +func (m *AdminLoginResp) GetFaceURL() string { + if m != nil { + return m.FaceURL } return "" } -func (x *AdminLoginResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +func (m *AdminLoginResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } return nil } -type AddUserRegisterAddFriendIDListReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OperationID string `protobuf:"bytes,1,opt,name=operationID,proto3" json:"operationID,omitempty"` - UserIDList []string `protobuf:"bytes,2,rep,name=userIDList,proto3" json:"userIDList,omitempty"` +type GetUserTokenReq struct { + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + UserID string `protobuf:"bytes,2,opt,name=userID" json:"userID,omitempty"` + PlatformID int32 `protobuf:"varint,3,opt,name=platformID" json:"platformID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *AddUserRegisterAddFriendIDListReq) Reset() { - *x = AddUserRegisterAddFriendIDListReq{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *GetUserTokenReq) Reset() { *m = GetUserTokenReq{} } +func (m *GetUserTokenReq) String() string { return proto.CompactTextString(m) } +func (*GetUserTokenReq) ProtoMessage() {} +func (*GetUserTokenReq) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_f23e453f07b40171, []int{3} +} +func (m *GetUserTokenReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUserTokenReq.Unmarshal(m, b) +} +func (m *GetUserTokenReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUserTokenReq.Marshal(b, m, deterministic) +} +func (dst *GetUserTokenReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUserTokenReq.Merge(dst, src) +} +func (m *GetUserTokenReq) XXX_Size() int { + return xxx_messageInfo_GetUserTokenReq.Size(m) +} +func (m *GetUserTokenReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetUserTokenReq.DiscardUnknown(m) } -func (x *AddUserRegisterAddFriendIDListReq) String() string { - return protoimpl.X.MessageStringOf(x) -} +var xxx_messageInfo_GetUserTokenReq proto.InternalMessageInfo -func (*AddUserRegisterAddFriendIDListReq) ProtoMessage() {} - -func (x *AddUserRegisterAddFriendIDListReq) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AddUserRegisterAddFriendIDListReq.ProtoReflect.Descriptor instead. -func (*AddUserRegisterAddFriendIDListReq) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{3} -} - -func (x *AddUserRegisterAddFriendIDListReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *GetUserTokenReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -func (x *AddUserRegisterAddFriendIDListReq) GetUserIDList() []string { - if x != nil { - return x.UserIDList +func (m *GetUserTokenReq) GetUserID() string { + if m != nil { + return m.UserID + } + return "" +} + +func (m *GetUserTokenReq) GetPlatformID() int32 { + if m != nil { + return m.PlatformID + } + return 0 +} + +type GetUserTokenResp struct { + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + Token string `protobuf:"bytes,2,opt,name=token" json:"token,omitempty"` + ExpTime int64 `protobuf:"varint,3,opt,name=expTime" json:"expTime,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetUserTokenResp) Reset() { *m = GetUserTokenResp{} } +func (m *GetUserTokenResp) String() string { return proto.CompactTextString(m) } +func (*GetUserTokenResp) ProtoMessage() {} +func (*GetUserTokenResp) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_f23e453f07b40171, []int{4} +} +func (m *GetUserTokenResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUserTokenResp.Unmarshal(m, b) +} +func (m *GetUserTokenResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUserTokenResp.Marshal(b, m, deterministic) +} +func (dst *GetUserTokenResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUserTokenResp.Merge(dst, src) +} +func (m *GetUserTokenResp) XXX_Size() int { + return xxx_messageInfo_GetUserTokenResp.Size(m) +} +func (m *GetUserTokenResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetUserTokenResp.DiscardUnknown(m) +} + +var xxx_messageInfo_GetUserTokenResp proto.InternalMessageInfo + +func (m *GetUserTokenResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +func (m *GetUserTokenResp) GetToken() string { + if m != nil { + return m.Token + } + return "" +} + +func (m *GetUserTokenResp) GetExpTime() int64 { + if m != nil { + return m.ExpTime + } + return 0 +} + +type AddUserRegisterAddFriendIDListReq struct { + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + UserIDList []string `protobuf:"bytes,2,rep,name=userIDList" json:"userIDList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AddUserRegisterAddFriendIDListReq) Reset() { *m = AddUserRegisterAddFriendIDListReq{} } +func (m *AddUserRegisterAddFriendIDListReq) String() string { return proto.CompactTextString(m) } +func (*AddUserRegisterAddFriendIDListReq) ProtoMessage() {} +func (*AddUserRegisterAddFriendIDListReq) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_f23e453f07b40171, []int{5} +} +func (m *AddUserRegisterAddFriendIDListReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AddUserRegisterAddFriendIDListReq.Unmarshal(m, b) +} +func (m *AddUserRegisterAddFriendIDListReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AddUserRegisterAddFriendIDListReq.Marshal(b, m, deterministic) +} +func (dst *AddUserRegisterAddFriendIDListReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_AddUserRegisterAddFriendIDListReq.Merge(dst, src) +} +func (m *AddUserRegisterAddFriendIDListReq) XXX_Size() int { + return xxx_messageInfo_AddUserRegisterAddFriendIDListReq.Size(m) +} +func (m *AddUserRegisterAddFriendIDListReq) XXX_DiscardUnknown() { + xxx_messageInfo_AddUserRegisterAddFriendIDListReq.DiscardUnknown(m) +} + +var xxx_messageInfo_AddUserRegisterAddFriendIDListReq proto.InternalMessageInfo + +func (m *AddUserRegisterAddFriendIDListReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *AddUserRegisterAddFriendIDListReq) GetUserIDList() []string { + if m != nil { + return m.UserIDList } return nil } type AddUserRegisterAddFriendIDListResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp,proto3" json:"commonResp,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *AddUserRegisterAddFriendIDListResp) Reset() { - *x = AddUserRegisterAddFriendIDListResp{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AddUserRegisterAddFriendIDListResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AddUserRegisterAddFriendIDListResp) ProtoMessage() {} - -func (x *AddUserRegisterAddFriendIDListResp) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AddUserRegisterAddFriendIDListResp.ProtoReflect.Descriptor instead. +func (m *AddUserRegisterAddFriendIDListResp) Reset() { *m = AddUserRegisterAddFriendIDListResp{} } +func (m *AddUserRegisterAddFriendIDListResp) String() string { return proto.CompactTextString(m) } +func (*AddUserRegisterAddFriendIDListResp) ProtoMessage() {} func (*AddUserRegisterAddFriendIDListResp) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{4} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{6} +} +func (m *AddUserRegisterAddFriendIDListResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AddUserRegisterAddFriendIDListResp.Unmarshal(m, b) +} +func (m *AddUserRegisterAddFriendIDListResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AddUserRegisterAddFriendIDListResp.Marshal(b, m, deterministic) +} +func (dst *AddUserRegisterAddFriendIDListResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_AddUserRegisterAddFriendIDListResp.Merge(dst, src) +} +func (m *AddUserRegisterAddFriendIDListResp) XXX_Size() int { + return xxx_messageInfo_AddUserRegisterAddFriendIDListResp.Size(m) +} +func (m *AddUserRegisterAddFriendIDListResp) XXX_DiscardUnknown() { + xxx_messageInfo_AddUserRegisterAddFriendIDListResp.DiscardUnknown(m) } -func (x *AddUserRegisterAddFriendIDListResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +var xxx_messageInfo_AddUserRegisterAddFriendIDListResp proto.InternalMessageInfo + +func (m *AddUserRegisterAddFriendIDListResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } return nil } type ReduceUserRegisterAddFriendIDListReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OperationID string `protobuf:"bytes,1,opt,name=operationID,proto3" json:"operationID,omitempty"` - Operation int32 `protobuf:"varint,2,opt,name=operation,proto3" json:"operation,omitempty"` - UserIDList []string `protobuf:"bytes,3,rep,name=userIDList,proto3" json:"userIDList,omitempty"` + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + Operation int32 `protobuf:"varint,2,opt,name=operation" json:"operation,omitempty"` + UserIDList []string `protobuf:"bytes,3,rep,name=userIDList" json:"userIDList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ReduceUserRegisterAddFriendIDListReq) Reset() { - *x = ReduceUserRegisterAddFriendIDListReq{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ReduceUserRegisterAddFriendIDListReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ReduceUserRegisterAddFriendIDListReq) ProtoMessage() {} - -func (x *ReduceUserRegisterAddFriendIDListReq) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ReduceUserRegisterAddFriendIDListReq.ProtoReflect.Descriptor instead. +func (m *ReduceUserRegisterAddFriendIDListReq) Reset() { *m = ReduceUserRegisterAddFriendIDListReq{} } +func (m *ReduceUserRegisterAddFriendIDListReq) String() string { return proto.CompactTextString(m) } +func (*ReduceUserRegisterAddFriendIDListReq) ProtoMessage() {} func (*ReduceUserRegisterAddFriendIDListReq) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{5} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{7} +} +func (m *ReduceUserRegisterAddFriendIDListReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ReduceUserRegisterAddFriendIDListReq.Unmarshal(m, b) +} +func (m *ReduceUserRegisterAddFriendIDListReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ReduceUserRegisterAddFriendIDListReq.Marshal(b, m, deterministic) +} +func (dst *ReduceUserRegisterAddFriendIDListReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_ReduceUserRegisterAddFriendIDListReq.Merge(dst, src) +} +func (m *ReduceUserRegisterAddFriendIDListReq) XXX_Size() int { + return xxx_messageInfo_ReduceUserRegisterAddFriendIDListReq.Size(m) +} +func (m *ReduceUserRegisterAddFriendIDListReq) XXX_DiscardUnknown() { + xxx_messageInfo_ReduceUserRegisterAddFriendIDListReq.DiscardUnknown(m) } -func (x *ReduceUserRegisterAddFriendIDListReq) GetOperationID() string { - if x != nil { - return x.OperationID +var xxx_messageInfo_ReduceUserRegisterAddFriendIDListReq proto.InternalMessageInfo + +func (m *ReduceUserRegisterAddFriendIDListReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -func (x *ReduceUserRegisterAddFriendIDListReq) GetOperation() int32 { - if x != nil { - return x.Operation +func (m *ReduceUserRegisterAddFriendIDListReq) GetOperation() int32 { + if m != nil { + return m.Operation } return 0 } -func (x *ReduceUserRegisterAddFriendIDListReq) GetUserIDList() []string { - if x != nil { - return x.UserIDList +func (m *ReduceUserRegisterAddFriendIDListReq) GetUserIDList() []string { + if m != nil { + return m.UserIDList } return nil } type ReduceUserRegisterAddFriendIDListResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp,proto3" json:"commonResp,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ReduceUserRegisterAddFriendIDListResp) Reset() { - *x = ReduceUserRegisterAddFriendIDListResp{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ReduceUserRegisterAddFriendIDListResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ReduceUserRegisterAddFriendIDListResp) ProtoMessage() {} - -func (x *ReduceUserRegisterAddFriendIDListResp) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ReduceUserRegisterAddFriendIDListResp.ProtoReflect.Descriptor instead. +func (m *ReduceUserRegisterAddFriendIDListResp) Reset() { *m = ReduceUserRegisterAddFriendIDListResp{} } +func (m *ReduceUserRegisterAddFriendIDListResp) String() string { return proto.CompactTextString(m) } +func (*ReduceUserRegisterAddFriendIDListResp) ProtoMessage() {} func (*ReduceUserRegisterAddFriendIDListResp) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{6} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{8} +} +func (m *ReduceUserRegisterAddFriendIDListResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ReduceUserRegisterAddFriendIDListResp.Unmarshal(m, b) +} +func (m *ReduceUserRegisterAddFriendIDListResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ReduceUserRegisterAddFriendIDListResp.Marshal(b, m, deterministic) +} +func (dst *ReduceUserRegisterAddFriendIDListResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_ReduceUserRegisterAddFriendIDListResp.Merge(dst, src) +} +func (m *ReduceUserRegisterAddFriendIDListResp) XXX_Size() int { + return xxx_messageInfo_ReduceUserRegisterAddFriendIDListResp.Size(m) +} +func (m *ReduceUserRegisterAddFriendIDListResp) XXX_DiscardUnknown() { + xxx_messageInfo_ReduceUserRegisterAddFriendIDListResp.DiscardUnknown(m) } -func (x *ReduceUserRegisterAddFriendIDListResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +var xxx_messageInfo_ReduceUserRegisterAddFriendIDListResp proto.InternalMessageInfo + +func (m *ReduceUserRegisterAddFriendIDListResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } return nil } type GetUserRegisterAddFriendIDListReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OperationID string `protobuf:"bytes,1,opt,name=operationID,proto3" json:"operationID,omitempty"` - Pagination *sdk_ws.RequestPagination `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + Pagination *sdk_ws.RequestPagination `protobuf:"bytes,2,opt,name=pagination" json:"pagination,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetUserRegisterAddFriendIDListReq) Reset() { - *x = GetUserRegisterAddFriendIDListReq{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetUserRegisterAddFriendIDListReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetUserRegisterAddFriendIDListReq) ProtoMessage() {} - -func (x *GetUserRegisterAddFriendIDListReq) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetUserRegisterAddFriendIDListReq.ProtoReflect.Descriptor instead. +func (m *GetUserRegisterAddFriendIDListReq) Reset() { *m = GetUserRegisterAddFriendIDListReq{} } +func (m *GetUserRegisterAddFriendIDListReq) String() string { return proto.CompactTextString(m) } +func (*GetUserRegisterAddFriendIDListReq) ProtoMessage() {} func (*GetUserRegisterAddFriendIDListReq) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{7} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{9} +} +func (m *GetUserRegisterAddFriendIDListReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUserRegisterAddFriendIDListReq.Unmarshal(m, b) +} +func (m *GetUserRegisterAddFriendIDListReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUserRegisterAddFriendIDListReq.Marshal(b, m, deterministic) +} +func (dst *GetUserRegisterAddFriendIDListReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUserRegisterAddFriendIDListReq.Merge(dst, src) +} +func (m *GetUserRegisterAddFriendIDListReq) XXX_Size() int { + return xxx_messageInfo_GetUserRegisterAddFriendIDListReq.Size(m) +} +func (m *GetUserRegisterAddFriendIDListReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetUserRegisterAddFriendIDListReq.DiscardUnknown(m) } -func (x *GetUserRegisterAddFriendIDListReq) GetOperationID() string { - if x != nil { - return x.OperationID +var xxx_messageInfo_GetUserRegisterAddFriendIDListReq proto.InternalMessageInfo + +func (m *GetUserRegisterAddFriendIDListReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -func (x *GetUserRegisterAddFriendIDListReq) GetPagination() *sdk_ws.RequestPagination { - if x != nil { - return x.Pagination +func (m *GetUserRegisterAddFriendIDListReq) GetPagination() *sdk_ws.RequestPagination { + if m != nil { + return m.Pagination } return nil } type GetUserRegisterAddFriendIDListResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserInfoList []*sdk_ws.UserInfo `protobuf:"bytes,1,rep,name=userInfoList,proto3" json:"userInfoList,omitempty"` - Pagination *sdk_ws.ResponsePagination `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` - CommonResp *CommonResp `protobuf:"bytes,3,opt,name=commonResp,proto3" json:"commonResp,omitempty"` + UserInfoList []*sdk_ws.UserInfo `protobuf:"bytes,1,rep,name=userInfoList" json:"userInfoList,omitempty"` + Pagination *sdk_ws.ResponsePagination `protobuf:"bytes,2,opt,name=pagination" json:"pagination,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,3,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetUserRegisterAddFriendIDListResp) Reset() { - *x = GetUserRegisterAddFriendIDListResp{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetUserRegisterAddFriendIDListResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetUserRegisterAddFriendIDListResp) ProtoMessage() {} - -func (x *GetUserRegisterAddFriendIDListResp) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetUserRegisterAddFriendIDListResp.ProtoReflect.Descriptor instead. +func (m *GetUserRegisterAddFriendIDListResp) Reset() { *m = GetUserRegisterAddFriendIDListResp{} } +func (m *GetUserRegisterAddFriendIDListResp) String() string { return proto.CompactTextString(m) } +func (*GetUserRegisterAddFriendIDListResp) ProtoMessage() {} func (*GetUserRegisterAddFriendIDListResp) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{8} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{10} +} +func (m *GetUserRegisterAddFriendIDListResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUserRegisterAddFriendIDListResp.Unmarshal(m, b) +} +func (m *GetUserRegisterAddFriendIDListResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUserRegisterAddFriendIDListResp.Marshal(b, m, deterministic) +} +func (dst *GetUserRegisterAddFriendIDListResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUserRegisterAddFriendIDListResp.Merge(dst, src) +} +func (m *GetUserRegisterAddFriendIDListResp) XXX_Size() int { + return xxx_messageInfo_GetUserRegisterAddFriendIDListResp.Size(m) +} +func (m *GetUserRegisterAddFriendIDListResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetUserRegisterAddFriendIDListResp.DiscardUnknown(m) } -func (x *GetUserRegisterAddFriendIDListResp) GetUserInfoList() []*sdk_ws.UserInfo { - if x != nil { - return x.UserInfoList +var xxx_messageInfo_GetUserRegisterAddFriendIDListResp proto.InternalMessageInfo + +func (m *GetUserRegisterAddFriendIDListResp) GetUserInfoList() []*sdk_ws.UserInfo { + if m != nil { + return m.UserInfoList } return nil } -func (x *GetUserRegisterAddFriendIDListResp) GetPagination() *sdk_ws.ResponsePagination { - if x != nil { - return x.Pagination +func (m *GetUserRegisterAddFriendIDListResp) GetPagination() *sdk_ws.ResponsePagination { + if m != nil { + return m.Pagination } return nil } -func (x *GetUserRegisterAddFriendIDListResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +func (m *GetUserRegisterAddFriendIDListResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } return nil } type GetChatLogsReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Content string `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"` - SendID string `protobuf:"bytes,2,opt,name=sendID,proto3" json:"sendID,omitempty"` - RecvID string `protobuf:"bytes,3,opt,name=recvID,proto3" json:"recvID,omitempty"` - SendTime string `protobuf:"bytes,4,opt,name=sendTime,proto3" json:"sendTime,omitempty"` - SessionType int32 `protobuf:"varint,5,opt,name=sessionType,proto3" json:"sessionType,omitempty"` - ContentType int32 `protobuf:"varint,6,opt,name=contentType,proto3" json:"contentType,omitempty"` - Pagination *sdk_ws.RequestPagination `protobuf:"bytes,7,opt,name=pagination,proto3" json:"pagination,omitempty"` - OperationID string `protobuf:"bytes,8,opt,name=operationID,proto3" json:"operationID,omitempty"` + Content string `protobuf:"bytes,1,opt,name=content" json:"content,omitempty"` + SendID string `protobuf:"bytes,2,opt,name=sendID" json:"sendID,omitempty"` + RecvID string `protobuf:"bytes,3,opt,name=recvID" json:"recvID,omitempty"` + SendTime string `protobuf:"bytes,4,opt,name=sendTime" json:"sendTime,omitempty"` + SessionType int32 `protobuf:"varint,5,opt,name=sessionType" json:"sessionType,omitempty"` + ContentType int32 `protobuf:"varint,6,opt,name=contentType" json:"contentType,omitempty"` + Pagination *sdk_ws.RequestPagination `protobuf:"bytes,7,opt,name=pagination" json:"pagination,omitempty"` + OperationID string `protobuf:"bytes,8,opt,name=operationID" json:"operationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetChatLogsReq) Reset() { - *x = GetChatLogsReq{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetChatLogsReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetChatLogsReq) ProtoMessage() {} - -func (x *GetChatLogsReq) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetChatLogsReq.ProtoReflect.Descriptor instead. +func (m *GetChatLogsReq) Reset() { *m = GetChatLogsReq{} } +func (m *GetChatLogsReq) String() string { return proto.CompactTextString(m) } +func (*GetChatLogsReq) ProtoMessage() {} func (*GetChatLogsReq) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{9} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{11} +} +func (m *GetChatLogsReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetChatLogsReq.Unmarshal(m, b) +} +func (m *GetChatLogsReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetChatLogsReq.Marshal(b, m, deterministic) +} +func (dst *GetChatLogsReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetChatLogsReq.Merge(dst, src) +} +func (m *GetChatLogsReq) XXX_Size() int { + return xxx_messageInfo_GetChatLogsReq.Size(m) +} +func (m *GetChatLogsReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetChatLogsReq.DiscardUnknown(m) } -func (x *GetChatLogsReq) GetContent() string { - if x != nil { - return x.Content +var xxx_messageInfo_GetChatLogsReq proto.InternalMessageInfo + +func (m *GetChatLogsReq) GetContent() string { + if m != nil { + return m.Content } return "" } -func (x *GetChatLogsReq) GetSendID() string { - if x != nil { - return x.SendID +func (m *GetChatLogsReq) GetSendID() string { + if m != nil { + return m.SendID } return "" } -func (x *GetChatLogsReq) GetRecvID() string { - if x != nil { - return x.RecvID +func (m *GetChatLogsReq) GetRecvID() string { + if m != nil { + return m.RecvID } return "" } -func (x *GetChatLogsReq) GetSendTime() string { - if x != nil { - return x.SendTime +func (m *GetChatLogsReq) GetSendTime() string { + if m != nil { + return m.SendTime } return "" } -func (x *GetChatLogsReq) GetSessionType() int32 { - if x != nil { - return x.SessionType +func (m *GetChatLogsReq) GetSessionType() int32 { + if m != nil { + return m.SessionType } return 0 } -func (x *GetChatLogsReq) GetContentType() int32 { - if x != nil { - return x.ContentType +func (m *GetChatLogsReq) GetContentType() int32 { + if m != nil { + return m.ContentType } return 0 } -func (x *GetChatLogsReq) GetPagination() *sdk_ws.RequestPagination { - if x != nil { - return x.Pagination +func (m *GetChatLogsReq) GetPagination() *sdk_ws.RequestPagination { + if m != nil { + return m.Pagination } return nil } -func (x *GetChatLogsReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *GetChatLogsReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } type ChatLog struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ServerMsgID string `protobuf:"bytes,1,opt,name=serverMsgID,proto3" json:"serverMsgID,omitempty"` - ClientMsgID string `protobuf:"bytes,2,opt,name=clientMsgID,proto3" json:"clientMsgID,omitempty"` - SendID string `protobuf:"bytes,3,opt,name=sendID,proto3" json:"sendID,omitempty"` - RecvID string `protobuf:"bytes,4,opt,name=recvID,proto3" json:"recvID,omitempty"` - GroupID string `protobuf:"bytes,5,opt,name=groupID,proto3" json:"groupID,omitempty"` - RecvNickname string `protobuf:"bytes,6,opt,name=recvNickname,proto3" json:"recvNickname,omitempty"` - SenderPlatformID int32 `protobuf:"varint,7,opt,name=senderPlatformID,proto3" json:"senderPlatformID,omitempty"` - SenderNickname string `protobuf:"bytes,8,opt,name=senderNickname,proto3" json:"senderNickname,omitempty"` - SenderFaceURL string `protobuf:"bytes,9,opt,name=senderFaceURL,proto3" json:"senderFaceURL,omitempty"` - GroupName string `protobuf:"bytes,10,opt,name=groupName,proto3" json:"groupName,omitempty"` - SessionType int32 `protobuf:"varint,11,opt,name=sessionType,proto3" json:"sessionType,omitempty"` - MsgFrom int32 `protobuf:"varint,12,opt,name=msgFrom,proto3" json:"msgFrom,omitempty"` - ContentType int32 `protobuf:"varint,13,opt,name=contentType,proto3" json:"contentType,omitempty"` - Content string `protobuf:"bytes,14,opt,name=content,proto3" json:"content,omitempty"` - Status int32 `protobuf:"varint,15,opt,name=status,proto3" json:"status,omitempty"` - SendTime int64 `protobuf:"varint,16,opt,name=sendTime,proto3" json:"sendTime,omitempty"` - CreateTime int64 `protobuf:"varint,17,opt,name=createTime,proto3" json:"createTime,omitempty"` - Ex string `protobuf:"bytes,18,opt,name=ex,proto3" json:"ex,omitempty"` + ServerMsgID string `protobuf:"bytes,1,opt,name=serverMsgID" json:"serverMsgID,omitempty"` + ClientMsgID string `protobuf:"bytes,2,opt,name=clientMsgID" json:"clientMsgID,omitempty"` + SendID string `protobuf:"bytes,3,opt,name=sendID" json:"sendID,omitempty"` + RecvID string `protobuf:"bytes,4,opt,name=recvID" json:"recvID,omitempty"` + GroupID string `protobuf:"bytes,5,opt,name=groupID" json:"groupID,omitempty"` + RecvNickname string `protobuf:"bytes,6,opt,name=recvNickname" json:"recvNickname,omitempty"` + SenderPlatformID int32 `protobuf:"varint,7,opt,name=senderPlatformID" json:"senderPlatformID,omitempty"` + SenderNickname string `protobuf:"bytes,8,opt,name=senderNickname" json:"senderNickname,omitempty"` + SenderFaceURL string `protobuf:"bytes,9,opt,name=senderFaceURL" json:"senderFaceURL,omitempty"` + GroupName string `protobuf:"bytes,10,opt,name=groupName" json:"groupName,omitempty"` + SessionType int32 `protobuf:"varint,11,opt,name=sessionType" json:"sessionType,omitempty"` + MsgFrom int32 `protobuf:"varint,12,opt,name=msgFrom" json:"msgFrom,omitempty"` + ContentType int32 `protobuf:"varint,13,opt,name=contentType" json:"contentType,omitempty"` + Content string `protobuf:"bytes,14,opt,name=content" json:"content,omitempty"` + Status int32 `protobuf:"varint,15,opt,name=status" json:"status,omitempty"` + SendTime int64 `protobuf:"varint,16,opt,name=sendTime" json:"sendTime,omitempty"` + CreateTime int64 `protobuf:"varint,17,opt,name=createTime" json:"createTime,omitempty"` + Ex string `protobuf:"bytes,18,opt,name=ex" json:"ex,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *ChatLog) Reset() { - *x = ChatLog{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ChatLog) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChatLog) ProtoMessage() {} - -func (x *ChatLog) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ChatLog.ProtoReflect.Descriptor instead. +func (m *ChatLog) Reset() { *m = ChatLog{} } +func (m *ChatLog) String() string { return proto.CompactTextString(m) } +func (*ChatLog) ProtoMessage() {} func (*ChatLog) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{10} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{12} +} +func (m *ChatLog) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChatLog.Unmarshal(m, b) +} +func (m *ChatLog) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChatLog.Marshal(b, m, deterministic) +} +func (dst *ChatLog) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChatLog.Merge(dst, src) +} +func (m *ChatLog) XXX_Size() int { + return xxx_messageInfo_ChatLog.Size(m) +} +func (m *ChatLog) XXX_DiscardUnknown() { + xxx_messageInfo_ChatLog.DiscardUnknown(m) } -func (x *ChatLog) GetServerMsgID() string { - if x != nil { - return x.ServerMsgID +var xxx_messageInfo_ChatLog proto.InternalMessageInfo + +func (m *ChatLog) GetServerMsgID() string { + if m != nil { + return m.ServerMsgID } return "" } -func (x *ChatLog) GetClientMsgID() string { - if x != nil { - return x.ClientMsgID +func (m *ChatLog) GetClientMsgID() string { + if m != nil { + return m.ClientMsgID } return "" } -func (x *ChatLog) GetSendID() string { - if x != nil { - return x.SendID +func (m *ChatLog) GetSendID() string { + if m != nil { + return m.SendID } return "" } -func (x *ChatLog) GetRecvID() string { - if x != nil { - return x.RecvID +func (m *ChatLog) GetRecvID() string { + if m != nil { + return m.RecvID } return "" } -func (x *ChatLog) GetGroupID() string { - if x != nil { - return x.GroupID +func (m *ChatLog) GetGroupID() string { + if m != nil { + return m.GroupID } return "" } -func (x *ChatLog) GetRecvNickname() string { - if x != nil { - return x.RecvNickname +func (m *ChatLog) GetRecvNickname() string { + if m != nil { + return m.RecvNickname } return "" } -func (x *ChatLog) GetSenderPlatformID() int32 { - if x != nil { - return x.SenderPlatformID +func (m *ChatLog) GetSenderPlatformID() int32 { + if m != nil { + return m.SenderPlatformID } return 0 } -func (x *ChatLog) GetSenderNickname() string { - if x != nil { - return x.SenderNickname +func (m *ChatLog) GetSenderNickname() string { + if m != nil { + return m.SenderNickname } return "" } -func (x *ChatLog) GetSenderFaceURL() string { - if x != nil { - return x.SenderFaceURL +func (m *ChatLog) GetSenderFaceURL() string { + if m != nil { + return m.SenderFaceURL } return "" } -func (x *ChatLog) GetGroupName() string { - if x != nil { - return x.GroupName +func (m *ChatLog) GetGroupName() string { + if m != nil { + return m.GroupName } return "" } -func (x *ChatLog) GetSessionType() int32 { - if x != nil { - return x.SessionType +func (m *ChatLog) GetSessionType() int32 { + if m != nil { + return m.SessionType } return 0 } -func (x *ChatLog) GetMsgFrom() int32 { - if x != nil { - return x.MsgFrom +func (m *ChatLog) GetMsgFrom() int32 { + if m != nil { + return m.MsgFrom } return 0 } -func (x *ChatLog) GetContentType() int32 { - if x != nil { - return x.ContentType +func (m *ChatLog) GetContentType() int32 { + if m != nil { + return m.ContentType } return 0 } -func (x *ChatLog) GetContent() string { - if x != nil { - return x.Content +func (m *ChatLog) GetContent() string { + if m != nil { + return m.Content } return "" } -func (x *ChatLog) GetStatus() int32 { - if x != nil { - return x.Status +func (m *ChatLog) GetStatus() int32 { + if m != nil { + return m.Status } return 0 } -func (x *ChatLog) GetSendTime() int64 { - if x != nil { - return x.SendTime +func (m *ChatLog) GetSendTime() int64 { + if m != nil { + return m.SendTime } return 0 } -func (x *ChatLog) GetCreateTime() int64 { - if x != nil { - return x.CreateTime +func (m *ChatLog) GetCreateTime() int64 { + if m != nil { + return m.CreateTime } return 0 } -func (x *ChatLog) GetEx() string { - if x != nil { - return x.Ex +func (m *ChatLog) GetEx() string { + if m != nil { + return m.Ex } return "" } type GetChatLogsResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ChatLogs []*ChatLog `protobuf:"bytes,1,rep,name=chatLogs,proto3" json:"chatLogs,omitempty"` - Pagination *sdk_ws.ResponsePagination `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` - ChatLogsNum int32 `protobuf:"varint,3,opt,name=chatLogsNum,proto3" json:"chatLogsNum,omitempty"` - CommonResp *CommonResp `protobuf:"bytes,4,opt,name=commonResp,proto3" json:"commonResp,omitempty"` + ChatLogs []*ChatLog `protobuf:"bytes,1,rep,name=chatLogs" json:"chatLogs,omitempty"` + Pagination *sdk_ws.ResponsePagination `protobuf:"bytes,2,opt,name=pagination" json:"pagination,omitempty"` + ChatLogsNum int32 `protobuf:"varint,3,opt,name=chatLogsNum" json:"chatLogsNum,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,4,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetChatLogsResp) Reset() { - *x = GetChatLogsResp{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetChatLogsResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetChatLogsResp) ProtoMessage() {} - -func (x *GetChatLogsResp) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetChatLogsResp.ProtoReflect.Descriptor instead. +func (m *GetChatLogsResp) Reset() { *m = GetChatLogsResp{} } +func (m *GetChatLogsResp) String() string { return proto.CompactTextString(m) } +func (*GetChatLogsResp) ProtoMessage() {} func (*GetChatLogsResp) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{11} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{13} +} +func (m *GetChatLogsResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetChatLogsResp.Unmarshal(m, b) +} +func (m *GetChatLogsResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetChatLogsResp.Marshal(b, m, deterministic) +} +func (dst *GetChatLogsResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetChatLogsResp.Merge(dst, src) +} +func (m *GetChatLogsResp) XXX_Size() int { + return xxx_messageInfo_GetChatLogsResp.Size(m) +} +func (m *GetChatLogsResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetChatLogsResp.DiscardUnknown(m) } -func (x *GetChatLogsResp) GetChatLogs() []*ChatLog { - if x != nil { - return x.ChatLogs +var xxx_messageInfo_GetChatLogsResp proto.InternalMessageInfo + +func (m *GetChatLogsResp) GetChatLogs() []*ChatLog { + if m != nil { + return m.ChatLogs } return nil } -func (x *GetChatLogsResp) GetPagination() *sdk_ws.ResponsePagination { - if x != nil { - return x.Pagination +func (m *GetChatLogsResp) GetPagination() *sdk_ws.ResponsePagination { + if m != nil { + return m.Pagination } return nil } -func (x *GetChatLogsResp) GetChatLogsNum() int32 { - if x != nil { - return x.ChatLogsNum +func (m *GetChatLogsResp) GetChatLogsNum() int32 { + if m != nil { + return m.ChatLogsNum } return 0 } -func (x *GetChatLogsResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +func (m *GetChatLogsResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } return nil } type StatisticsReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - From string `protobuf:"bytes,1,opt,name=from,proto3" json:"from,omitempty"` - To string `protobuf:"bytes,2,opt,name=to,proto3" json:"to,omitempty"` + From string `protobuf:"bytes,1,opt,name=from" json:"from,omitempty"` + To string `protobuf:"bytes,2,opt,name=to" json:"to,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *StatisticsReq) Reset() { - *x = StatisticsReq{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StatisticsReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StatisticsReq) ProtoMessage() {} - -func (x *StatisticsReq) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use StatisticsReq.ProtoReflect.Descriptor instead. +func (m *StatisticsReq) Reset() { *m = StatisticsReq{} } +func (m *StatisticsReq) String() string { return proto.CompactTextString(m) } +func (*StatisticsReq) ProtoMessage() {} func (*StatisticsReq) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{12} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{14} +} +func (m *StatisticsReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_StatisticsReq.Unmarshal(m, b) +} +func (m *StatisticsReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_StatisticsReq.Marshal(b, m, deterministic) +} +func (dst *StatisticsReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_StatisticsReq.Merge(dst, src) +} +func (m *StatisticsReq) XXX_Size() int { + return xxx_messageInfo_StatisticsReq.Size(m) +} +func (m *StatisticsReq) XXX_DiscardUnknown() { + xxx_messageInfo_StatisticsReq.DiscardUnknown(m) } -func (x *StatisticsReq) GetFrom() string { - if x != nil { - return x.From +var xxx_messageInfo_StatisticsReq proto.InternalMessageInfo + +func (m *StatisticsReq) GetFrom() string { + if m != nil { + return m.From } return "" } -func (x *StatisticsReq) GetTo() string { - if x != nil { - return x.To +func (m *StatisticsReq) GetTo() string { + if m != nil { + return m.To } return "" } type GetActiveUserReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - StatisticsReq *StatisticsReq `protobuf:"bytes,1,opt,name=statisticsReq,proto3" json:"statisticsReq,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=operationID,proto3" json:"operationID,omitempty"` + StatisticsReq *StatisticsReq `protobuf:"bytes,1,opt,name=statisticsReq" json:"statisticsReq,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetActiveUserReq) Reset() { - *x = GetActiveUserReq{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetActiveUserReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetActiveUserReq) ProtoMessage() {} - -func (x *GetActiveUserReq) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetActiveUserReq.ProtoReflect.Descriptor instead. +func (m *GetActiveUserReq) Reset() { *m = GetActiveUserReq{} } +func (m *GetActiveUserReq) String() string { return proto.CompactTextString(m) } +func (*GetActiveUserReq) ProtoMessage() {} func (*GetActiveUserReq) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{13} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{15} +} +func (m *GetActiveUserReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetActiveUserReq.Unmarshal(m, b) +} +func (m *GetActiveUserReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetActiveUserReq.Marshal(b, m, deterministic) +} +func (dst *GetActiveUserReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetActiveUserReq.Merge(dst, src) +} +func (m *GetActiveUserReq) XXX_Size() int { + return xxx_messageInfo_GetActiveUserReq.Size(m) +} +func (m *GetActiveUserReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetActiveUserReq.DiscardUnknown(m) } -func (x *GetActiveUserReq) GetStatisticsReq() *StatisticsReq { - if x != nil { - return x.StatisticsReq +var xxx_messageInfo_GetActiveUserReq proto.InternalMessageInfo + +func (m *GetActiveUserReq) GetStatisticsReq() *StatisticsReq { + if m != nil { + return m.StatisticsReq } return nil } -func (x *GetActiveUserReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *GetActiveUserReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } type UserResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - NickName string `protobuf:"bytes,1,opt,name=nickName,proto3" json:"nickName,omitempty"` - UserID string `protobuf:"bytes,2,opt,name=userID,proto3" json:"userID,omitempty"` - MessageNum int32 `protobuf:"varint,3,opt,name=messageNum,proto3" json:"messageNum,omitempty"` + NickName string `protobuf:"bytes,1,opt,name=nickName" json:"nickName,omitempty"` + UserID string `protobuf:"bytes,2,opt,name=userID" json:"userID,omitempty"` + MessageNum int32 `protobuf:"varint,3,opt,name=messageNum" json:"messageNum,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *UserResp) Reset() { - *x = UserResp{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UserResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UserResp) ProtoMessage() {} - -func (x *UserResp) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UserResp.ProtoReflect.Descriptor instead. +func (m *UserResp) Reset() { *m = UserResp{} } +func (m *UserResp) String() string { return proto.CompactTextString(m) } +func (*UserResp) ProtoMessage() {} func (*UserResp) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{14} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{16} +} +func (m *UserResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UserResp.Unmarshal(m, b) +} +func (m *UserResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UserResp.Marshal(b, m, deterministic) +} +func (dst *UserResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_UserResp.Merge(dst, src) +} +func (m *UserResp) XXX_Size() int { + return xxx_messageInfo_UserResp.Size(m) +} +func (m *UserResp) XXX_DiscardUnknown() { + xxx_messageInfo_UserResp.DiscardUnknown(m) } -func (x *UserResp) GetNickName() string { - if x != nil { - return x.NickName +var xxx_messageInfo_UserResp proto.InternalMessageInfo + +func (m *UserResp) GetNickName() string { + if m != nil { + return m.NickName } return "" } -func (x *UserResp) GetUserID() string { - if x != nil { - return x.UserID +func (m *UserResp) GetUserID() string { + if m != nil { + return m.UserID } return "" } -func (x *UserResp) GetMessageNum() int32 { - if x != nil { - return x.MessageNum +func (m *UserResp) GetMessageNum() int32 { + if m != nil { + return m.MessageNum } return 0 } type GetActiveUserResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Users []*UserResp `protobuf:"bytes,1,rep,name=Users,proto3" json:"Users,omitempty"` - CommonResp *CommonResp `protobuf:"bytes,2,opt,name=commonResp,proto3" json:"commonResp,omitempty"` + Users []*UserResp `protobuf:"bytes,1,rep,name=Users" json:"Users,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,2,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetActiveUserResp) Reset() { - *x = GetActiveUserResp{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetActiveUserResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetActiveUserResp) ProtoMessage() {} - -func (x *GetActiveUserResp) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[15] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetActiveUserResp.ProtoReflect.Descriptor instead. +func (m *GetActiveUserResp) Reset() { *m = GetActiveUserResp{} } +func (m *GetActiveUserResp) String() string { return proto.CompactTextString(m) } +func (*GetActiveUserResp) ProtoMessage() {} func (*GetActiveUserResp) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{15} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{17} +} +func (m *GetActiveUserResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetActiveUserResp.Unmarshal(m, b) +} +func (m *GetActiveUserResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetActiveUserResp.Marshal(b, m, deterministic) +} +func (dst *GetActiveUserResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetActiveUserResp.Merge(dst, src) +} +func (m *GetActiveUserResp) XXX_Size() int { + return xxx_messageInfo_GetActiveUserResp.Size(m) +} +func (m *GetActiveUserResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetActiveUserResp.DiscardUnknown(m) } -func (x *GetActiveUserResp) GetUsers() []*UserResp { - if x != nil { - return x.Users +var xxx_messageInfo_GetActiveUserResp proto.InternalMessageInfo + +func (m *GetActiveUserResp) GetUsers() []*UserResp { + if m != nil { + return m.Users } return nil } -func (x *GetActiveUserResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +func (m *GetActiveUserResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } return nil } type GetActiveGroupReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - StatisticsReq *StatisticsReq `protobuf:"bytes,1,opt,name=statisticsReq,proto3" json:"statisticsReq,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=operationID,proto3" json:"operationID,omitempty"` + StatisticsReq *StatisticsReq `protobuf:"bytes,1,opt,name=statisticsReq" json:"statisticsReq,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetActiveGroupReq) Reset() { - *x = GetActiveGroupReq{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetActiveGroupReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetActiveGroupReq) ProtoMessage() {} - -func (x *GetActiveGroupReq) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[16] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetActiveGroupReq.ProtoReflect.Descriptor instead. +func (m *GetActiveGroupReq) Reset() { *m = GetActiveGroupReq{} } +func (m *GetActiveGroupReq) String() string { return proto.CompactTextString(m) } +func (*GetActiveGroupReq) ProtoMessage() {} func (*GetActiveGroupReq) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{16} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{18} +} +func (m *GetActiveGroupReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetActiveGroupReq.Unmarshal(m, b) +} +func (m *GetActiveGroupReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetActiveGroupReq.Marshal(b, m, deterministic) +} +func (dst *GetActiveGroupReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetActiveGroupReq.Merge(dst, src) +} +func (m *GetActiveGroupReq) XXX_Size() int { + return xxx_messageInfo_GetActiveGroupReq.Size(m) +} +func (m *GetActiveGroupReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetActiveGroupReq.DiscardUnknown(m) } -func (x *GetActiveGroupReq) GetStatisticsReq() *StatisticsReq { - if x != nil { - return x.StatisticsReq +var xxx_messageInfo_GetActiveGroupReq proto.InternalMessageInfo + +func (m *GetActiveGroupReq) GetStatisticsReq() *StatisticsReq { + if m != nil { + return m.StatisticsReq } return nil } -func (x *GetActiveGroupReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *GetActiveGroupReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } type GroupResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GroupName string `protobuf:"bytes,1,opt,name=GroupName,proto3" json:"GroupName,omitempty"` - GroupId string `protobuf:"bytes,2,opt,name=GroupId,proto3" json:"GroupId,omitempty"` - MessageNum int32 `protobuf:"varint,3,opt,name=MessageNum,proto3" json:"MessageNum,omitempty"` - CommonResp *CommonResp `protobuf:"bytes,4,opt,name=commonResp,proto3" json:"commonResp,omitempty"` + GroupName string `protobuf:"bytes,1,opt,name=GroupName" json:"GroupName,omitempty"` + GroupId string `protobuf:"bytes,2,opt,name=GroupId" json:"GroupId,omitempty"` + MessageNum int32 `protobuf:"varint,3,opt,name=MessageNum" json:"MessageNum,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,4,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GroupResp) Reset() { - *x = GroupResp{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GroupResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GroupResp) ProtoMessage() {} - -func (x *GroupResp) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[17] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GroupResp.ProtoReflect.Descriptor instead. +func (m *GroupResp) Reset() { *m = GroupResp{} } +func (m *GroupResp) String() string { return proto.CompactTextString(m) } +func (*GroupResp) ProtoMessage() {} func (*GroupResp) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{17} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{19} +} +func (m *GroupResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GroupResp.Unmarshal(m, b) +} +func (m *GroupResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GroupResp.Marshal(b, m, deterministic) +} +func (dst *GroupResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GroupResp.Merge(dst, src) +} +func (m *GroupResp) XXX_Size() int { + return xxx_messageInfo_GroupResp.Size(m) +} +func (m *GroupResp) XXX_DiscardUnknown() { + xxx_messageInfo_GroupResp.DiscardUnknown(m) } -func (x *GroupResp) GetGroupName() string { - if x != nil { - return x.GroupName +var xxx_messageInfo_GroupResp proto.InternalMessageInfo + +func (m *GroupResp) GetGroupName() string { + if m != nil { + return m.GroupName } return "" } -func (x *GroupResp) GetGroupId() string { - if x != nil { - return x.GroupId +func (m *GroupResp) GetGroupId() string { + if m != nil { + return m.GroupId } return "" } -func (x *GroupResp) GetMessageNum() int32 { - if x != nil { - return x.MessageNum +func (m *GroupResp) GetMessageNum() int32 { + if m != nil { + return m.MessageNum } return 0 } -func (x *GroupResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +func (m *GroupResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } return nil } type GetActiveGroupResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Groups []*GroupResp `protobuf:"bytes,1,rep,name=Groups,proto3" json:"Groups,omitempty"` - CommonResp *CommonResp `protobuf:"bytes,2,opt,name=commonResp,proto3" json:"commonResp,omitempty"` + Groups []*GroupResp `protobuf:"bytes,1,rep,name=Groups" json:"Groups,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,2,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetActiveGroupResp) Reset() { - *x = GetActiveGroupResp{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetActiveGroupResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetActiveGroupResp) ProtoMessage() {} - -func (x *GetActiveGroupResp) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[18] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetActiveGroupResp.ProtoReflect.Descriptor instead. +func (m *GetActiveGroupResp) Reset() { *m = GetActiveGroupResp{} } +func (m *GetActiveGroupResp) String() string { return proto.CompactTextString(m) } +func (*GetActiveGroupResp) ProtoMessage() {} func (*GetActiveGroupResp) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{18} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{20} +} +func (m *GetActiveGroupResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetActiveGroupResp.Unmarshal(m, b) +} +func (m *GetActiveGroupResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetActiveGroupResp.Marshal(b, m, deterministic) +} +func (dst *GetActiveGroupResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetActiveGroupResp.Merge(dst, src) +} +func (m *GetActiveGroupResp) XXX_Size() int { + return xxx_messageInfo_GetActiveGroupResp.Size(m) +} +func (m *GetActiveGroupResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetActiveGroupResp.DiscardUnknown(m) } -func (x *GetActiveGroupResp) GetGroups() []*GroupResp { - if x != nil { - return x.Groups +var xxx_messageInfo_GetActiveGroupResp proto.InternalMessageInfo + +func (m *GetActiveGroupResp) GetGroups() []*GroupResp { + if m != nil { + return m.Groups } return nil } -func (x *GetActiveGroupResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +func (m *GetActiveGroupResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } return nil } type DateNumList struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Date string `protobuf:"bytes,1,opt,name=Date,proto3" json:"Date,omitempty"` - Num int32 `protobuf:"varint,2,opt,name=Num,proto3" json:"Num,omitempty"` + Date string `protobuf:"bytes,1,opt,name=Date" json:"Date,omitempty"` + Num int32 `protobuf:"varint,2,opt,name=Num" json:"Num,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *DateNumList) Reset() { - *x = DateNumList{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DateNumList) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DateNumList) ProtoMessage() {} - -func (x *DateNumList) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[19] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DateNumList.ProtoReflect.Descriptor instead. +func (m *DateNumList) Reset() { *m = DateNumList{} } +func (m *DateNumList) String() string { return proto.CompactTextString(m) } +func (*DateNumList) ProtoMessage() {} func (*DateNumList) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{19} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{21} +} +func (m *DateNumList) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DateNumList.Unmarshal(m, b) +} +func (m *DateNumList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DateNumList.Marshal(b, m, deterministic) +} +func (dst *DateNumList) XXX_Merge(src proto.Message) { + xxx_messageInfo_DateNumList.Merge(dst, src) +} +func (m *DateNumList) XXX_Size() int { + return xxx_messageInfo_DateNumList.Size(m) +} +func (m *DateNumList) XXX_DiscardUnknown() { + xxx_messageInfo_DateNumList.DiscardUnknown(m) } -func (x *DateNumList) GetDate() string { - if x != nil { - return x.Date +var xxx_messageInfo_DateNumList proto.InternalMessageInfo + +func (m *DateNumList) GetDate() string { + if m != nil { + return m.Date } return "" } -func (x *DateNumList) GetNum() int32 { - if x != nil { - return x.Num +func (m *DateNumList) GetNum() int32 { + if m != nil { + return m.Num } return 0 } type GetMessageStatisticsReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - StatisticsReq *StatisticsReq `protobuf:"bytes,1,opt,name=StatisticsReq,proto3" json:"StatisticsReq,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"` + StatisticsReq *StatisticsReq `protobuf:"bytes,1,opt,name=StatisticsReq" json:"StatisticsReq,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetMessageStatisticsReq) Reset() { - *x = GetMessageStatisticsReq{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetMessageStatisticsReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetMessageStatisticsReq) ProtoMessage() {} - -func (x *GetMessageStatisticsReq) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[20] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetMessageStatisticsReq.ProtoReflect.Descriptor instead. +func (m *GetMessageStatisticsReq) Reset() { *m = GetMessageStatisticsReq{} } +func (m *GetMessageStatisticsReq) String() string { return proto.CompactTextString(m) } +func (*GetMessageStatisticsReq) ProtoMessage() {} func (*GetMessageStatisticsReq) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{20} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{22} +} +func (m *GetMessageStatisticsReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetMessageStatisticsReq.Unmarshal(m, b) +} +func (m *GetMessageStatisticsReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetMessageStatisticsReq.Marshal(b, m, deterministic) +} +func (dst *GetMessageStatisticsReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetMessageStatisticsReq.Merge(dst, src) +} +func (m *GetMessageStatisticsReq) XXX_Size() int { + return xxx_messageInfo_GetMessageStatisticsReq.Size(m) +} +func (m *GetMessageStatisticsReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetMessageStatisticsReq.DiscardUnknown(m) } -func (x *GetMessageStatisticsReq) GetStatisticsReq() *StatisticsReq { - if x != nil { - return x.StatisticsReq +var xxx_messageInfo_GetMessageStatisticsReq proto.InternalMessageInfo + +func (m *GetMessageStatisticsReq) GetStatisticsReq() *StatisticsReq { + if m != nil { + return m.StatisticsReq } return nil } -func (x *GetMessageStatisticsReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *GetMessageStatisticsReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } type GetMessageStatisticsResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - PrivateMessageNum int32 `protobuf:"varint,1,opt,name=PrivateMessageNum,proto3" json:"PrivateMessageNum,omitempty"` - GroupMessageNum int32 `protobuf:"varint,2,opt,name=GroupMessageNum,proto3" json:"GroupMessageNum,omitempty"` - PrivateMessageNumList []*DateNumList `protobuf:"bytes,3,rep,name=PrivateMessageNumList,proto3" json:"PrivateMessageNumList,omitempty"` - GroupMessageNumList []*DateNumList `protobuf:"bytes,4,rep,name=GroupMessageNumList,proto3" json:"GroupMessageNumList,omitempty"` - CommonResp *CommonResp `protobuf:"bytes,5,opt,name=commonResp,proto3" json:"commonResp,omitempty"` + PrivateMessageNum int32 `protobuf:"varint,1,opt,name=PrivateMessageNum" json:"PrivateMessageNum,omitempty"` + GroupMessageNum int32 `protobuf:"varint,2,opt,name=GroupMessageNum" json:"GroupMessageNum,omitempty"` + PrivateMessageNumList []*DateNumList `protobuf:"bytes,3,rep,name=PrivateMessageNumList" json:"PrivateMessageNumList,omitempty"` + GroupMessageNumList []*DateNumList `protobuf:"bytes,4,rep,name=GroupMessageNumList" json:"GroupMessageNumList,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,5,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetMessageStatisticsResp) Reset() { - *x = GetMessageStatisticsResp{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetMessageStatisticsResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetMessageStatisticsResp) ProtoMessage() {} - -func (x *GetMessageStatisticsResp) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[21] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetMessageStatisticsResp.ProtoReflect.Descriptor instead. +func (m *GetMessageStatisticsResp) Reset() { *m = GetMessageStatisticsResp{} } +func (m *GetMessageStatisticsResp) String() string { return proto.CompactTextString(m) } +func (*GetMessageStatisticsResp) ProtoMessage() {} func (*GetMessageStatisticsResp) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{21} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{23} +} +func (m *GetMessageStatisticsResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetMessageStatisticsResp.Unmarshal(m, b) +} +func (m *GetMessageStatisticsResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetMessageStatisticsResp.Marshal(b, m, deterministic) +} +func (dst *GetMessageStatisticsResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetMessageStatisticsResp.Merge(dst, src) +} +func (m *GetMessageStatisticsResp) XXX_Size() int { + return xxx_messageInfo_GetMessageStatisticsResp.Size(m) +} +func (m *GetMessageStatisticsResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetMessageStatisticsResp.DiscardUnknown(m) } -func (x *GetMessageStatisticsResp) GetPrivateMessageNum() int32 { - if x != nil { - return x.PrivateMessageNum +var xxx_messageInfo_GetMessageStatisticsResp proto.InternalMessageInfo + +func (m *GetMessageStatisticsResp) GetPrivateMessageNum() int32 { + if m != nil { + return m.PrivateMessageNum } return 0 } -func (x *GetMessageStatisticsResp) GetGroupMessageNum() int32 { - if x != nil { - return x.GroupMessageNum +func (m *GetMessageStatisticsResp) GetGroupMessageNum() int32 { + if m != nil { + return m.GroupMessageNum } return 0 } -func (x *GetMessageStatisticsResp) GetPrivateMessageNumList() []*DateNumList { - if x != nil { - return x.PrivateMessageNumList +func (m *GetMessageStatisticsResp) GetPrivateMessageNumList() []*DateNumList { + if m != nil { + return m.PrivateMessageNumList } return nil } -func (x *GetMessageStatisticsResp) GetGroupMessageNumList() []*DateNumList { - if x != nil { - return x.GroupMessageNumList +func (m *GetMessageStatisticsResp) GetGroupMessageNumList() []*DateNumList { + if m != nil { + return m.GroupMessageNumList } return nil } -func (x *GetMessageStatisticsResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +func (m *GetMessageStatisticsResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } return nil } type GetGroupStatisticsReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - StatisticsReq *StatisticsReq `protobuf:"bytes,1,opt,name=StatisticsReq,proto3" json:"StatisticsReq,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"` + StatisticsReq *StatisticsReq `protobuf:"bytes,1,opt,name=StatisticsReq" json:"StatisticsReq,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetGroupStatisticsReq) Reset() { - *x = GetGroupStatisticsReq{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[22] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetGroupStatisticsReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetGroupStatisticsReq) ProtoMessage() {} - -func (x *GetGroupStatisticsReq) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[22] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetGroupStatisticsReq.ProtoReflect.Descriptor instead. +func (m *GetGroupStatisticsReq) Reset() { *m = GetGroupStatisticsReq{} } +func (m *GetGroupStatisticsReq) String() string { return proto.CompactTextString(m) } +func (*GetGroupStatisticsReq) ProtoMessage() {} func (*GetGroupStatisticsReq) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{22} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{24} +} +func (m *GetGroupStatisticsReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetGroupStatisticsReq.Unmarshal(m, b) +} +func (m *GetGroupStatisticsReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetGroupStatisticsReq.Marshal(b, m, deterministic) +} +func (dst *GetGroupStatisticsReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetGroupStatisticsReq.Merge(dst, src) +} +func (m *GetGroupStatisticsReq) XXX_Size() int { + return xxx_messageInfo_GetGroupStatisticsReq.Size(m) +} +func (m *GetGroupStatisticsReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetGroupStatisticsReq.DiscardUnknown(m) } -func (x *GetGroupStatisticsReq) GetStatisticsReq() *StatisticsReq { - if x != nil { - return x.StatisticsReq +var xxx_messageInfo_GetGroupStatisticsReq proto.InternalMessageInfo + +func (m *GetGroupStatisticsReq) GetStatisticsReq() *StatisticsReq { + if m != nil { + return m.StatisticsReq } return nil } -func (x *GetGroupStatisticsReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *GetGroupStatisticsReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } type GetGroupStatisticsResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - IncreaseGroupNum int32 `protobuf:"varint,1,opt,name=IncreaseGroupNum,proto3" json:"IncreaseGroupNum,omitempty"` - TotalGroupNum int32 `protobuf:"varint,2,opt,name=TotalGroupNum,proto3" json:"TotalGroupNum,omitempty"` - IncreaseGroupNumList []*DateNumList `protobuf:"bytes,3,rep,name=IncreaseGroupNumList,proto3" json:"IncreaseGroupNumList,omitempty"` - TotalGroupNumList []*DateNumList `protobuf:"bytes,4,rep,name=TotalGroupNumList,proto3" json:"TotalGroupNumList,omitempty"` - CommonResp *CommonResp `protobuf:"bytes,5,opt,name=commonResp,proto3" json:"commonResp,omitempty"` + IncreaseGroupNum int32 `protobuf:"varint,1,opt,name=IncreaseGroupNum" json:"IncreaseGroupNum,omitempty"` + TotalGroupNum int32 `protobuf:"varint,2,opt,name=TotalGroupNum" json:"TotalGroupNum,omitempty"` + IncreaseGroupNumList []*DateNumList `protobuf:"bytes,3,rep,name=IncreaseGroupNumList" json:"IncreaseGroupNumList,omitempty"` + TotalGroupNumList []*DateNumList `protobuf:"bytes,4,rep,name=TotalGroupNumList" json:"TotalGroupNumList,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,5,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetGroupStatisticsResp) Reset() { - *x = GetGroupStatisticsResp{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[23] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetGroupStatisticsResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetGroupStatisticsResp) ProtoMessage() {} - -func (x *GetGroupStatisticsResp) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[23] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetGroupStatisticsResp.ProtoReflect.Descriptor instead. +func (m *GetGroupStatisticsResp) Reset() { *m = GetGroupStatisticsResp{} } +func (m *GetGroupStatisticsResp) String() string { return proto.CompactTextString(m) } +func (*GetGroupStatisticsResp) ProtoMessage() {} func (*GetGroupStatisticsResp) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{23} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{25} +} +func (m *GetGroupStatisticsResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetGroupStatisticsResp.Unmarshal(m, b) +} +func (m *GetGroupStatisticsResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetGroupStatisticsResp.Marshal(b, m, deterministic) +} +func (dst *GetGroupStatisticsResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetGroupStatisticsResp.Merge(dst, src) +} +func (m *GetGroupStatisticsResp) XXX_Size() int { + return xxx_messageInfo_GetGroupStatisticsResp.Size(m) +} +func (m *GetGroupStatisticsResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetGroupStatisticsResp.DiscardUnknown(m) } -func (x *GetGroupStatisticsResp) GetIncreaseGroupNum() int32 { - if x != nil { - return x.IncreaseGroupNum +var xxx_messageInfo_GetGroupStatisticsResp proto.InternalMessageInfo + +func (m *GetGroupStatisticsResp) GetIncreaseGroupNum() int32 { + if m != nil { + return m.IncreaseGroupNum } return 0 } -func (x *GetGroupStatisticsResp) GetTotalGroupNum() int32 { - if x != nil { - return x.TotalGroupNum +func (m *GetGroupStatisticsResp) GetTotalGroupNum() int32 { + if m != nil { + return m.TotalGroupNum } return 0 } -func (x *GetGroupStatisticsResp) GetIncreaseGroupNumList() []*DateNumList { - if x != nil { - return x.IncreaseGroupNumList +func (m *GetGroupStatisticsResp) GetIncreaseGroupNumList() []*DateNumList { + if m != nil { + return m.IncreaseGroupNumList } return nil } -func (x *GetGroupStatisticsResp) GetTotalGroupNumList() []*DateNumList { - if x != nil { - return x.TotalGroupNumList +func (m *GetGroupStatisticsResp) GetTotalGroupNumList() []*DateNumList { + if m != nil { + return m.TotalGroupNumList } return nil } -func (x *GetGroupStatisticsResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +func (m *GetGroupStatisticsResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } return nil } type GetUserStatisticsReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - StatisticsReq *StatisticsReq `protobuf:"bytes,1,opt,name=StatisticsReq,proto3" json:"StatisticsReq,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"` + StatisticsReq *StatisticsReq `protobuf:"bytes,1,opt,name=StatisticsReq" json:"StatisticsReq,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetUserStatisticsReq) Reset() { - *x = GetUserStatisticsReq{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[24] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetUserStatisticsReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetUserStatisticsReq) ProtoMessage() {} - -func (x *GetUserStatisticsReq) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[24] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetUserStatisticsReq.ProtoReflect.Descriptor instead. +func (m *GetUserStatisticsReq) Reset() { *m = GetUserStatisticsReq{} } +func (m *GetUserStatisticsReq) String() string { return proto.CompactTextString(m) } +func (*GetUserStatisticsReq) ProtoMessage() {} func (*GetUserStatisticsReq) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{24} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{26} +} +func (m *GetUserStatisticsReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUserStatisticsReq.Unmarshal(m, b) +} +func (m *GetUserStatisticsReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUserStatisticsReq.Marshal(b, m, deterministic) +} +func (dst *GetUserStatisticsReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUserStatisticsReq.Merge(dst, src) +} +func (m *GetUserStatisticsReq) XXX_Size() int { + return xxx_messageInfo_GetUserStatisticsReq.Size(m) +} +func (m *GetUserStatisticsReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetUserStatisticsReq.DiscardUnknown(m) } -func (x *GetUserStatisticsReq) GetStatisticsReq() *StatisticsReq { - if x != nil { - return x.StatisticsReq +var xxx_messageInfo_GetUserStatisticsReq proto.InternalMessageInfo + +func (m *GetUserStatisticsReq) GetStatisticsReq() *StatisticsReq { + if m != nil { + return m.StatisticsReq } return nil } -func (x *GetUserStatisticsReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *GetUserStatisticsReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } type GetUserStatisticsResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - IncreaseUserNum int32 `protobuf:"varint,1,opt,name=IncreaseUserNum,proto3" json:"IncreaseUserNum,omitempty"` - ActiveUserNum int32 `protobuf:"varint,2,opt,name=ActiveUserNum,proto3" json:"ActiveUserNum,omitempty"` - TotalUserNum int32 `protobuf:"varint,3,opt,name=TotalUserNum,proto3" json:"TotalUserNum,omitempty"` - IncreaseUserNumList []*DateNumList `protobuf:"bytes,4,rep,name=IncreaseUserNumList,proto3" json:"IncreaseUserNumList,omitempty"` - ActiveUserNumList []*DateNumList `protobuf:"bytes,5,rep,name=ActiveUserNumList,proto3" json:"ActiveUserNumList,omitempty"` - TotalUserNumList []*DateNumList `protobuf:"bytes,6,rep,name=TotalUserNumList,proto3" json:"TotalUserNumList,omitempty"` - CommonResp *CommonResp `protobuf:"bytes,7,opt,name=commonResp,proto3" json:"commonResp,omitempty"` + IncreaseUserNum int32 `protobuf:"varint,1,opt,name=IncreaseUserNum" json:"IncreaseUserNum,omitempty"` + ActiveUserNum int32 `protobuf:"varint,2,opt,name=ActiveUserNum" json:"ActiveUserNum,omitempty"` + TotalUserNum int32 `protobuf:"varint,3,opt,name=TotalUserNum" json:"TotalUserNum,omitempty"` + IncreaseUserNumList []*DateNumList `protobuf:"bytes,4,rep,name=IncreaseUserNumList" json:"IncreaseUserNumList,omitempty"` + ActiveUserNumList []*DateNumList `protobuf:"bytes,5,rep,name=ActiveUserNumList" json:"ActiveUserNumList,omitempty"` + TotalUserNumList []*DateNumList `protobuf:"bytes,6,rep,name=TotalUserNumList" json:"TotalUserNumList,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,7,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetUserStatisticsResp) Reset() { - *x = GetUserStatisticsResp{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[25] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetUserStatisticsResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetUserStatisticsResp) ProtoMessage() {} - -func (x *GetUserStatisticsResp) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[25] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetUserStatisticsResp.ProtoReflect.Descriptor instead. +func (m *GetUserStatisticsResp) Reset() { *m = GetUserStatisticsResp{} } +func (m *GetUserStatisticsResp) String() string { return proto.CompactTextString(m) } +func (*GetUserStatisticsResp) ProtoMessage() {} func (*GetUserStatisticsResp) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{25} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{27} +} +func (m *GetUserStatisticsResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUserStatisticsResp.Unmarshal(m, b) +} +func (m *GetUserStatisticsResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUserStatisticsResp.Marshal(b, m, deterministic) +} +func (dst *GetUserStatisticsResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUserStatisticsResp.Merge(dst, src) +} +func (m *GetUserStatisticsResp) XXX_Size() int { + return xxx_messageInfo_GetUserStatisticsResp.Size(m) +} +func (m *GetUserStatisticsResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetUserStatisticsResp.DiscardUnknown(m) } -func (x *GetUserStatisticsResp) GetIncreaseUserNum() int32 { - if x != nil { - return x.IncreaseUserNum +var xxx_messageInfo_GetUserStatisticsResp proto.InternalMessageInfo + +func (m *GetUserStatisticsResp) GetIncreaseUserNum() int32 { + if m != nil { + return m.IncreaseUserNum } return 0 } -func (x *GetUserStatisticsResp) GetActiveUserNum() int32 { - if x != nil { - return x.ActiveUserNum +func (m *GetUserStatisticsResp) GetActiveUserNum() int32 { + if m != nil { + return m.ActiveUserNum } return 0 } -func (x *GetUserStatisticsResp) GetTotalUserNum() int32 { - if x != nil { - return x.TotalUserNum +func (m *GetUserStatisticsResp) GetTotalUserNum() int32 { + if m != nil { + return m.TotalUserNum } return 0 } -func (x *GetUserStatisticsResp) GetIncreaseUserNumList() []*DateNumList { - if x != nil { - return x.IncreaseUserNumList +func (m *GetUserStatisticsResp) GetIncreaseUserNumList() []*DateNumList { + if m != nil { + return m.IncreaseUserNumList } return nil } -func (x *GetUserStatisticsResp) GetActiveUserNumList() []*DateNumList { - if x != nil { - return x.ActiveUserNumList +func (m *GetUserStatisticsResp) GetActiveUserNumList() []*DateNumList { + if m != nil { + return m.ActiveUserNumList } return nil } -func (x *GetUserStatisticsResp) GetTotalUserNumList() []*DateNumList { - if x != nil { - return x.TotalUserNumList +func (m *GetUserStatisticsResp) GetTotalUserNumList() []*DateNumList { + if m != nil { + return m.TotalUserNumList } return nil } -func (x *GetUserStatisticsResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +func (m *GetUserStatisticsResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } return nil } type GenerateInvitationCodeReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OperationID string `protobuf:"bytes,1,opt,name=operationID,proto3" json:"operationID,omitempty"` - CodeLen int32 `protobuf:"varint,2,opt,name=codeLen,proto3" json:"codeLen,omitempty"` - CodeNum int32 `protobuf:"varint,3,opt,name=codeNum,proto3" json:"codeNum,omitempty"` + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + CodeLen int32 `protobuf:"varint,2,opt,name=codeLen" json:"codeLen,omitempty"` + CodeNum int32 `protobuf:"varint,3,opt,name=codeNum" json:"codeNum,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GenerateInvitationCodeReq) Reset() { - *x = GenerateInvitationCodeReq{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[26] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GenerateInvitationCodeReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GenerateInvitationCodeReq) ProtoMessage() {} - -func (x *GenerateInvitationCodeReq) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[26] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GenerateInvitationCodeReq.ProtoReflect.Descriptor instead. +func (m *GenerateInvitationCodeReq) Reset() { *m = GenerateInvitationCodeReq{} } +func (m *GenerateInvitationCodeReq) String() string { return proto.CompactTextString(m) } +func (*GenerateInvitationCodeReq) ProtoMessage() {} func (*GenerateInvitationCodeReq) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{26} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{28} +} +func (m *GenerateInvitationCodeReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GenerateInvitationCodeReq.Unmarshal(m, b) +} +func (m *GenerateInvitationCodeReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GenerateInvitationCodeReq.Marshal(b, m, deterministic) +} +func (dst *GenerateInvitationCodeReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GenerateInvitationCodeReq.Merge(dst, src) +} +func (m *GenerateInvitationCodeReq) XXX_Size() int { + return xxx_messageInfo_GenerateInvitationCodeReq.Size(m) +} +func (m *GenerateInvitationCodeReq) XXX_DiscardUnknown() { + xxx_messageInfo_GenerateInvitationCodeReq.DiscardUnknown(m) } -func (x *GenerateInvitationCodeReq) GetOperationID() string { - if x != nil { - return x.OperationID +var xxx_messageInfo_GenerateInvitationCodeReq proto.InternalMessageInfo + +func (m *GenerateInvitationCodeReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -func (x *GenerateInvitationCodeReq) GetCodeLen() int32 { - if x != nil { - return x.CodeLen +func (m *GenerateInvitationCodeReq) GetCodeLen() int32 { + if m != nil { + return m.CodeLen } return 0 } -func (x *GenerateInvitationCodeReq) GetCodeNum() int32 { - if x != nil { - return x.CodeNum +func (m *GenerateInvitationCodeReq) GetCodeNum() int32 { + if m != nil { + return m.CodeNum } return 0 } type GenerateInvitationCodeResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp,proto3" json:"commonResp,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GenerateInvitationCodeResp) Reset() { - *x = GenerateInvitationCodeResp{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[27] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GenerateInvitationCodeResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GenerateInvitationCodeResp) ProtoMessage() {} - -func (x *GenerateInvitationCodeResp) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[27] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GenerateInvitationCodeResp.ProtoReflect.Descriptor instead. +func (m *GenerateInvitationCodeResp) Reset() { *m = GenerateInvitationCodeResp{} } +func (m *GenerateInvitationCodeResp) String() string { return proto.CompactTextString(m) } +func (*GenerateInvitationCodeResp) ProtoMessage() {} func (*GenerateInvitationCodeResp) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{27} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{29} +} +func (m *GenerateInvitationCodeResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GenerateInvitationCodeResp.Unmarshal(m, b) +} +func (m *GenerateInvitationCodeResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GenerateInvitationCodeResp.Marshal(b, m, deterministic) +} +func (dst *GenerateInvitationCodeResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GenerateInvitationCodeResp.Merge(dst, src) +} +func (m *GenerateInvitationCodeResp) XXX_Size() int { + return xxx_messageInfo_GenerateInvitationCodeResp.Size(m) +} +func (m *GenerateInvitationCodeResp) XXX_DiscardUnknown() { + xxx_messageInfo_GenerateInvitationCodeResp.DiscardUnknown(m) } -func (x *GenerateInvitationCodeResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +var xxx_messageInfo_GenerateInvitationCodeResp proto.InternalMessageInfo + +func (m *GenerateInvitationCodeResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } return nil } type GetInvitationCodesReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OperationID string `protobuf:"bytes,1,opt,name=operationID,proto3" json:"operationID,omitempty"` - Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` - Status int32 `protobuf:"varint,3,opt,name=status,proto3" json:"status,omitempty"` - Pagination *sdk_ws.RequestPagination `protobuf:"bytes,4,opt,name=pagination,proto3" json:"pagination,omitempty"` + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + Code string `protobuf:"bytes,2,opt,name=code" json:"code,omitempty"` + Status int32 `protobuf:"varint,3,opt,name=status" json:"status,omitempty"` + Pagination *sdk_ws.RequestPagination `protobuf:"bytes,4,opt,name=pagination" json:"pagination,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetInvitationCodesReq) Reset() { - *x = GetInvitationCodesReq{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[28] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetInvitationCodesReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetInvitationCodesReq) ProtoMessage() {} - -func (x *GetInvitationCodesReq) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[28] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetInvitationCodesReq.ProtoReflect.Descriptor instead. +func (m *GetInvitationCodesReq) Reset() { *m = GetInvitationCodesReq{} } +func (m *GetInvitationCodesReq) String() string { return proto.CompactTextString(m) } +func (*GetInvitationCodesReq) ProtoMessage() {} func (*GetInvitationCodesReq) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{28} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{30} +} +func (m *GetInvitationCodesReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetInvitationCodesReq.Unmarshal(m, b) +} +func (m *GetInvitationCodesReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetInvitationCodesReq.Marshal(b, m, deterministic) +} +func (dst *GetInvitationCodesReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetInvitationCodesReq.Merge(dst, src) +} +func (m *GetInvitationCodesReq) XXX_Size() int { + return xxx_messageInfo_GetInvitationCodesReq.Size(m) +} +func (m *GetInvitationCodesReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetInvitationCodesReq.DiscardUnknown(m) } -func (x *GetInvitationCodesReq) GetOperationID() string { - if x != nil { - return x.OperationID +var xxx_messageInfo_GetInvitationCodesReq proto.InternalMessageInfo + +func (m *GetInvitationCodesReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -func (x *GetInvitationCodesReq) GetCode() string { - if x != nil { - return x.Code +func (m *GetInvitationCodesReq) GetCode() string { + if m != nil { + return m.Code } return "" } -func (x *GetInvitationCodesReq) GetStatus() int32 { - if x != nil { - return x.Status +func (m *GetInvitationCodesReq) GetStatus() int32 { + if m != nil { + return m.Status } return 0 } -func (x *GetInvitationCodesReq) GetPagination() *sdk_ws.RequestPagination { - if x != nil { - return x.Pagination +func (m *GetInvitationCodesReq) GetPagination() *sdk_ws.RequestPagination { + if m != nil { + return m.Pagination } return nil } type InvitationCode struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - InvitationCode string `protobuf:"bytes,1,opt,name=invitationCode,proto3" json:"invitationCode,omitempty"` - CreateTime int32 `protobuf:"varint,2,opt,name=createTime,proto3" json:"createTime,omitempty"` - LastTime int32 `protobuf:"varint,3,opt,name=lastTime,proto3" json:"lastTime,omitempty"` - UserID string `protobuf:"bytes,4,opt,name=userID,proto3" json:"userID,omitempty"` - Status int32 `protobuf:"varint,5,opt,name=status,proto3" json:"status,omitempty"` + InvitationCode string `protobuf:"bytes,1,opt,name=invitationCode" json:"invitationCode,omitempty"` + CreateTime int32 `protobuf:"varint,2,opt,name=createTime" json:"createTime,omitempty"` + LastTime int32 `protobuf:"varint,3,opt,name=lastTime" json:"lastTime,omitempty"` + UserID string `protobuf:"bytes,4,opt,name=userID" json:"userID,omitempty"` + Status int32 `protobuf:"varint,5,opt,name=status" json:"status,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *InvitationCode) Reset() { - *x = InvitationCode{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[29] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *InvitationCode) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*InvitationCode) ProtoMessage() {} - -func (x *InvitationCode) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[29] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use InvitationCode.ProtoReflect.Descriptor instead. +func (m *InvitationCode) Reset() { *m = InvitationCode{} } +func (m *InvitationCode) String() string { return proto.CompactTextString(m) } +func (*InvitationCode) ProtoMessage() {} func (*InvitationCode) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{29} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{31} +} +func (m *InvitationCode) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_InvitationCode.Unmarshal(m, b) +} +func (m *InvitationCode) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_InvitationCode.Marshal(b, m, deterministic) +} +func (dst *InvitationCode) XXX_Merge(src proto.Message) { + xxx_messageInfo_InvitationCode.Merge(dst, src) +} +func (m *InvitationCode) XXX_Size() int { + return xxx_messageInfo_InvitationCode.Size(m) +} +func (m *InvitationCode) XXX_DiscardUnknown() { + xxx_messageInfo_InvitationCode.DiscardUnknown(m) } -func (x *InvitationCode) GetInvitationCode() string { - if x != nil { - return x.InvitationCode +var xxx_messageInfo_InvitationCode proto.InternalMessageInfo + +func (m *InvitationCode) GetInvitationCode() string { + if m != nil { + return m.InvitationCode } return "" } -func (x *InvitationCode) GetCreateTime() int32 { - if x != nil { - return x.CreateTime +func (m *InvitationCode) GetCreateTime() int32 { + if m != nil { + return m.CreateTime } return 0 } -func (x *InvitationCode) GetLastTime() int32 { - if x != nil { - return x.LastTime +func (m *InvitationCode) GetLastTime() int32 { + if m != nil { + return m.LastTime } return 0 } -func (x *InvitationCode) GetUserID() string { - if x != nil { - return x.UserID +func (m *InvitationCode) GetUserID() string { + if m != nil { + return m.UserID } return "" } -func (x *InvitationCode) GetStatus() int32 { - if x != nil { - return x.Status +func (m *InvitationCode) GetStatus() int32 { + if m != nil { + return m.Status } return 0 } type GetInvitationCodesResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - InvitationCodes []*InvitationCode `protobuf:"bytes,1,rep,name=invitationCodes,proto3" json:"invitationCodes,omitempty"` - Pagination *sdk_ws.ResponsePagination `protobuf:"bytes,2,opt,name=Pagination,proto3" json:"Pagination,omitempty"` - CommonResp *CommonResp `protobuf:"bytes,3,opt,name=commonResp,proto3" json:"commonResp,omitempty"` + InvitationCodes []*InvitationCode `protobuf:"bytes,1,rep,name=invitationCodes" json:"invitationCodes,omitempty"` + Pagination *sdk_ws.ResponsePagination `protobuf:"bytes,2,opt,name=Pagination" json:"Pagination,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,3,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetInvitationCodesResp) Reset() { - *x = GetInvitationCodesResp{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[30] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetInvitationCodesResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetInvitationCodesResp) ProtoMessage() {} - -func (x *GetInvitationCodesResp) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[30] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetInvitationCodesResp.ProtoReflect.Descriptor instead. +func (m *GetInvitationCodesResp) Reset() { *m = GetInvitationCodesResp{} } +func (m *GetInvitationCodesResp) String() string { return proto.CompactTextString(m) } +func (*GetInvitationCodesResp) ProtoMessage() {} func (*GetInvitationCodesResp) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{30} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{32} +} +func (m *GetInvitationCodesResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetInvitationCodesResp.Unmarshal(m, b) +} +func (m *GetInvitationCodesResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetInvitationCodesResp.Marshal(b, m, deterministic) +} +func (dst *GetInvitationCodesResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetInvitationCodesResp.Merge(dst, src) +} +func (m *GetInvitationCodesResp) XXX_Size() int { + return xxx_messageInfo_GetInvitationCodesResp.Size(m) +} +func (m *GetInvitationCodesResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetInvitationCodesResp.DiscardUnknown(m) } -func (x *GetInvitationCodesResp) GetInvitationCodes() []*InvitationCode { - if x != nil { - return x.InvitationCodes +var xxx_messageInfo_GetInvitationCodesResp proto.InternalMessageInfo + +func (m *GetInvitationCodesResp) GetInvitationCodes() []*InvitationCode { + if m != nil { + return m.InvitationCodes } return nil } -func (x *GetInvitationCodesResp) GetPagination() *sdk_ws.ResponsePagination { - if x != nil { - return x.Pagination +func (m *GetInvitationCodesResp) GetPagination() *sdk_ws.ResponsePagination { + if m != nil { + return m.Pagination } return nil } -func (x *GetInvitationCodesResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +func (m *GetInvitationCodesResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } return nil } type QueryIPRegisterReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OperationID string `protobuf:"bytes,1,opt,name=operationID,proto3" json:"operationID,omitempty"` - IP string `protobuf:"bytes,2,opt,name=IP,proto3" json:"IP,omitempty"` + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + IP string `protobuf:"bytes,2,opt,name=IP" json:"IP,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *QueryIPRegisterReq) Reset() { - *x = QueryIPRegisterReq{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[31] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *QueryIPRegisterReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*QueryIPRegisterReq) ProtoMessage() {} - -func (x *QueryIPRegisterReq) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[31] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use QueryIPRegisterReq.ProtoReflect.Descriptor instead. +func (m *QueryIPRegisterReq) Reset() { *m = QueryIPRegisterReq{} } +func (m *QueryIPRegisterReq) String() string { return proto.CompactTextString(m) } +func (*QueryIPRegisterReq) ProtoMessage() {} func (*QueryIPRegisterReq) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{31} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{33} +} +func (m *QueryIPRegisterReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryIPRegisterReq.Unmarshal(m, b) +} +func (m *QueryIPRegisterReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryIPRegisterReq.Marshal(b, m, deterministic) +} +func (dst *QueryIPRegisterReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryIPRegisterReq.Merge(dst, src) +} +func (m *QueryIPRegisterReq) XXX_Size() int { + return xxx_messageInfo_QueryIPRegisterReq.Size(m) +} +func (m *QueryIPRegisterReq) XXX_DiscardUnknown() { + xxx_messageInfo_QueryIPRegisterReq.DiscardUnknown(m) } -func (x *QueryIPRegisterReq) GetOperationID() string { - if x != nil { - return x.OperationID +var xxx_messageInfo_QueryIPRegisterReq proto.InternalMessageInfo + +func (m *QueryIPRegisterReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -func (x *QueryIPRegisterReq) GetIP() string { - if x != nil { - return x.IP +func (m *QueryIPRegisterReq) GetIP() string { + if m != nil { + return m.IP } return "" } type QueryIPRegisterResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - IP string `protobuf:"bytes,1,opt,name=IP,proto3" json:"IP,omitempty"` - RegisterNum int32 `protobuf:"varint,2,opt,name=RegisterNum,proto3" json:"RegisterNum,omitempty"` - Status int32 `protobuf:"varint,3,opt,name=Status,proto3" json:"Status,omitempty"` - UserIDList []string `protobuf:"bytes,4,rep,name=userIDList,proto3" json:"userIDList,omitempty"` - CommonResp *CommonResp `protobuf:"bytes,5,opt,name=commonResp,proto3" json:"commonResp,omitempty"` + IP string `protobuf:"bytes,1,opt,name=IP" json:"IP,omitempty"` + RegisterNum int32 `protobuf:"varint,2,opt,name=RegisterNum" json:"RegisterNum,omitempty"` + Status int32 `protobuf:"varint,3,opt,name=Status" json:"Status,omitempty"` + UserIDList []string `protobuf:"bytes,4,rep,name=userIDList" json:"userIDList,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,5,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *QueryIPRegisterResp) Reset() { - *x = QueryIPRegisterResp{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[32] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *QueryIPRegisterResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*QueryIPRegisterResp) ProtoMessage() {} - -func (x *QueryIPRegisterResp) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[32] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use QueryIPRegisterResp.ProtoReflect.Descriptor instead. +func (m *QueryIPRegisterResp) Reset() { *m = QueryIPRegisterResp{} } +func (m *QueryIPRegisterResp) String() string { return proto.CompactTextString(m) } +func (*QueryIPRegisterResp) ProtoMessage() {} func (*QueryIPRegisterResp) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{32} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{34} +} +func (m *QueryIPRegisterResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryIPRegisterResp.Unmarshal(m, b) +} +func (m *QueryIPRegisterResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryIPRegisterResp.Marshal(b, m, deterministic) +} +func (dst *QueryIPRegisterResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryIPRegisterResp.Merge(dst, src) +} +func (m *QueryIPRegisterResp) XXX_Size() int { + return xxx_messageInfo_QueryIPRegisterResp.Size(m) +} +func (m *QueryIPRegisterResp) XXX_DiscardUnknown() { + xxx_messageInfo_QueryIPRegisterResp.DiscardUnknown(m) } -func (x *QueryIPRegisterResp) GetIP() string { - if x != nil { - return x.IP +var xxx_messageInfo_QueryIPRegisterResp proto.InternalMessageInfo + +func (m *QueryIPRegisterResp) GetIP() string { + if m != nil { + return m.IP } return "" } -func (x *QueryIPRegisterResp) GetRegisterNum() int32 { - if x != nil { - return x.RegisterNum +func (m *QueryIPRegisterResp) GetRegisterNum() int32 { + if m != nil { + return m.RegisterNum } return 0 } -func (x *QueryIPRegisterResp) GetStatus() int32 { - if x != nil { - return x.Status +func (m *QueryIPRegisterResp) GetStatus() int32 { + if m != nil { + return m.Status } return 0 } -func (x *QueryIPRegisterResp) GetUserIDList() []string { - if x != nil { - return x.UserIDList +func (m *QueryIPRegisterResp) GetUserIDList() []string { + if m != nil { + return m.UserIDList } return nil } -func (x *QueryIPRegisterResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +func (m *QueryIPRegisterResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } return nil } type AddIPLimitReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OperationID string `protobuf:"bytes,1,opt,name=operationID,proto3" json:"operationID,omitempty"` - IP string `protobuf:"bytes,2,opt,name=IP,proto3" json:"IP,omitempty"` - LimitTime int32 `protobuf:"varint,3,opt,name=limitTime,proto3" json:"limitTime,omitempty"` + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + IP string `protobuf:"bytes,2,opt,name=IP" json:"IP,omitempty"` + LimitTime int32 `protobuf:"varint,3,opt,name=limitTime" json:"limitTime,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *AddIPLimitReq) Reset() { - *x = AddIPLimitReq{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[33] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AddIPLimitReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AddIPLimitReq) ProtoMessage() {} - -func (x *AddIPLimitReq) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[33] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AddIPLimitReq.ProtoReflect.Descriptor instead. +func (m *AddIPLimitReq) Reset() { *m = AddIPLimitReq{} } +func (m *AddIPLimitReq) String() string { return proto.CompactTextString(m) } +func (*AddIPLimitReq) ProtoMessage() {} func (*AddIPLimitReq) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{33} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{35} +} +func (m *AddIPLimitReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AddIPLimitReq.Unmarshal(m, b) +} +func (m *AddIPLimitReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AddIPLimitReq.Marshal(b, m, deterministic) +} +func (dst *AddIPLimitReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_AddIPLimitReq.Merge(dst, src) +} +func (m *AddIPLimitReq) XXX_Size() int { + return xxx_messageInfo_AddIPLimitReq.Size(m) +} +func (m *AddIPLimitReq) XXX_DiscardUnknown() { + xxx_messageInfo_AddIPLimitReq.DiscardUnknown(m) } -func (x *AddIPLimitReq) GetOperationID() string { - if x != nil { - return x.OperationID +var xxx_messageInfo_AddIPLimitReq proto.InternalMessageInfo + +func (m *AddIPLimitReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -func (x *AddIPLimitReq) GetIP() string { - if x != nil { - return x.IP +func (m *AddIPLimitReq) GetIP() string { + if m != nil { + return m.IP } return "" } -func (x *AddIPLimitReq) GetLimitTime() int32 { - if x != nil { - return x.LimitTime +func (m *AddIPLimitReq) GetLimitTime() int32 { + if m != nil { + return m.LimitTime } return 0 } type AddIPLimitResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp,proto3" json:"commonResp,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *AddIPLimitResp) Reset() { - *x = AddIPLimitResp{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[34] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AddIPLimitResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AddIPLimitResp) ProtoMessage() {} - -func (x *AddIPLimitResp) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[34] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AddIPLimitResp.ProtoReflect.Descriptor instead. +func (m *AddIPLimitResp) Reset() { *m = AddIPLimitResp{} } +func (m *AddIPLimitResp) String() string { return proto.CompactTextString(m) } +func (*AddIPLimitResp) ProtoMessage() {} func (*AddIPLimitResp) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{34} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{36} +} +func (m *AddIPLimitResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AddIPLimitResp.Unmarshal(m, b) +} +func (m *AddIPLimitResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AddIPLimitResp.Marshal(b, m, deterministic) +} +func (dst *AddIPLimitResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_AddIPLimitResp.Merge(dst, src) +} +func (m *AddIPLimitResp) XXX_Size() int { + return xxx_messageInfo_AddIPLimitResp.Size(m) +} +func (m *AddIPLimitResp) XXX_DiscardUnknown() { + xxx_messageInfo_AddIPLimitResp.DiscardUnknown(m) } -func (x *AddIPLimitResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +var xxx_messageInfo_AddIPLimitResp proto.InternalMessageInfo + +func (m *AddIPLimitResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } return nil } type RemoveIPLimitReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OperationID string `protobuf:"bytes,1,opt,name=operationID,proto3" json:"operationID,omitempty"` - IP string `protobuf:"bytes,2,opt,name=IP,proto3" json:"IP,omitempty"` + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + IP string `protobuf:"bytes,2,opt,name=IP" json:"IP,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *RemoveIPLimitReq) Reset() { - *x = RemoveIPLimitReq{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[35] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RemoveIPLimitReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RemoveIPLimitReq) ProtoMessage() {} - -func (x *RemoveIPLimitReq) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[35] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RemoveIPLimitReq.ProtoReflect.Descriptor instead. +func (m *RemoveIPLimitReq) Reset() { *m = RemoveIPLimitReq{} } +func (m *RemoveIPLimitReq) String() string { return proto.CompactTextString(m) } +func (*RemoveIPLimitReq) ProtoMessage() {} func (*RemoveIPLimitReq) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{35} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{37} +} +func (m *RemoveIPLimitReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_RemoveIPLimitReq.Unmarshal(m, b) +} +func (m *RemoveIPLimitReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_RemoveIPLimitReq.Marshal(b, m, deterministic) +} +func (dst *RemoveIPLimitReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_RemoveIPLimitReq.Merge(dst, src) +} +func (m *RemoveIPLimitReq) XXX_Size() int { + return xxx_messageInfo_RemoveIPLimitReq.Size(m) +} +func (m *RemoveIPLimitReq) XXX_DiscardUnknown() { + xxx_messageInfo_RemoveIPLimitReq.DiscardUnknown(m) } -func (x *RemoveIPLimitReq) GetOperationID() string { - if x != nil { - return x.OperationID +var xxx_messageInfo_RemoveIPLimitReq proto.InternalMessageInfo + +func (m *RemoveIPLimitReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -func (x *RemoveIPLimitReq) GetIP() string { - if x != nil { - return x.IP +func (m *RemoveIPLimitReq) GetIP() string { + if m != nil { + return m.IP } return "" } type RemoveIPLimitResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp,proto3" json:"commonResp,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *RemoveIPLimitResp) Reset() { - *x = RemoveIPLimitResp{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[36] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RemoveIPLimitResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RemoveIPLimitResp) ProtoMessage() {} - -func (x *RemoveIPLimitResp) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[36] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RemoveIPLimitResp.ProtoReflect.Descriptor instead. +func (m *RemoveIPLimitResp) Reset() { *m = RemoveIPLimitResp{} } +func (m *RemoveIPLimitResp) String() string { return proto.CompactTextString(m) } +func (*RemoveIPLimitResp) ProtoMessage() {} func (*RemoveIPLimitResp) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{36} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{38} +} +func (m *RemoveIPLimitResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_RemoveIPLimitResp.Unmarshal(m, b) +} +func (m *RemoveIPLimitResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_RemoveIPLimitResp.Marshal(b, m, deterministic) +} +func (dst *RemoveIPLimitResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_RemoveIPLimitResp.Merge(dst, src) +} +func (m *RemoveIPLimitResp) XXX_Size() int { + return xxx_messageInfo_RemoveIPLimitResp.Size(m) +} +func (m *RemoveIPLimitResp) XXX_DiscardUnknown() { + xxx_messageInfo_RemoveIPLimitResp.DiscardUnknown(m) } -func (x *RemoveIPLimitResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +var xxx_messageInfo_RemoveIPLimitResp proto.InternalMessageInfo + +func (m *RemoveIPLimitResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } return nil } type QueryUserIDIPLimitLoginReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OperationID string `protobuf:"bytes,1,opt,name=operationID,proto3" json:"operationID,omitempty"` - UserID string `protobuf:"bytes,2,opt,name=userID,proto3" json:"userID,omitempty"` + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + UserID string `protobuf:"bytes,2,opt,name=userID" json:"userID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *QueryUserIDIPLimitLoginReq) Reset() { - *x = QueryUserIDIPLimitLoginReq{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[37] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *QueryUserIDIPLimitLoginReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*QueryUserIDIPLimitLoginReq) ProtoMessage() {} - -func (x *QueryUserIDIPLimitLoginReq) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[37] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use QueryUserIDIPLimitLoginReq.ProtoReflect.Descriptor instead. +func (m *QueryUserIDIPLimitLoginReq) Reset() { *m = QueryUserIDIPLimitLoginReq{} } +func (m *QueryUserIDIPLimitLoginReq) String() string { return proto.CompactTextString(m) } +func (*QueryUserIDIPLimitLoginReq) ProtoMessage() {} func (*QueryUserIDIPLimitLoginReq) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{37} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{39} +} +func (m *QueryUserIDIPLimitLoginReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryUserIDIPLimitLoginReq.Unmarshal(m, b) +} +func (m *QueryUserIDIPLimitLoginReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryUserIDIPLimitLoginReq.Marshal(b, m, deterministic) +} +func (dst *QueryUserIDIPLimitLoginReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryUserIDIPLimitLoginReq.Merge(dst, src) +} +func (m *QueryUserIDIPLimitLoginReq) XXX_Size() int { + return xxx_messageInfo_QueryUserIDIPLimitLoginReq.Size(m) +} +func (m *QueryUserIDIPLimitLoginReq) XXX_DiscardUnknown() { + xxx_messageInfo_QueryUserIDIPLimitLoginReq.DiscardUnknown(m) } -func (x *QueryUserIDIPLimitLoginReq) GetOperationID() string { - if x != nil { - return x.OperationID +var xxx_messageInfo_QueryUserIDIPLimitLoginReq proto.InternalMessageInfo + +func (m *QueryUserIDIPLimitLoginReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -func (x *QueryUserIDIPLimitLoginReq) GetUserID() string { - if x != nil { - return x.UserID +func (m *QueryUserIDIPLimitLoginReq) GetUserID() string { + if m != nil { + return m.UserID } return "" } type UserIPLimit struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID,omitempty"` - IP string `protobuf:"bytes,2,opt,name=IP,proto3" json:"IP,omitempty"` - CreateTime int32 `protobuf:"varint,3,opt,name=createTime,proto3" json:"createTime,omitempty"` + UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` + IP string `protobuf:"bytes,2,opt,name=IP" json:"IP,omitempty"` + CreateTime int32 `protobuf:"varint,3,opt,name=createTime" json:"createTime,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *UserIPLimit) Reset() { - *x = UserIPLimit{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[38] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UserIPLimit) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UserIPLimit) ProtoMessage() {} - -func (x *UserIPLimit) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[38] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UserIPLimit.ProtoReflect.Descriptor instead. +func (m *UserIPLimit) Reset() { *m = UserIPLimit{} } +func (m *UserIPLimit) String() string { return proto.CompactTextString(m) } +func (*UserIPLimit) ProtoMessage() {} func (*UserIPLimit) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{38} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{40} +} +func (m *UserIPLimit) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UserIPLimit.Unmarshal(m, b) +} +func (m *UserIPLimit) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UserIPLimit.Marshal(b, m, deterministic) +} +func (dst *UserIPLimit) XXX_Merge(src proto.Message) { + xxx_messageInfo_UserIPLimit.Merge(dst, src) +} +func (m *UserIPLimit) XXX_Size() int { + return xxx_messageInfo_UserIPLimit.Size(m) +} +func (m *UserIPLimit) XXX_DiscardUnknown() { + xxx_messageInfo_UserIPLimit.DiscardUnknown(m) } -func (x *UserIPLimit) GetUserID() string { - if x != nil { - return x.UserID +var xxx_messageInfo_UserIPLimit proto.InternalMessageInfo + +func (m *UserIPLimit) GetUserID() string { + if m != nil { + return m.UserID } return "" } -func (x *UserIPLimit) GetIP() string { - if x != nil { - return x.IP +func (m *UserIPLimit) GetIP() string { + if m != nil { + return m.IP } return "" } -func (x *UserIPLimit) GetCreateTime() int32 { - if x != nil { - return x.CreateTime +func (m *UserIPLimit) GetCreateTime() int32 { + if m != nil { + return m.CreateTime } return 0 } type QueryUserIDIPLimitLoginResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserIPLimits []*UserIPLimit `protobuf:"bytes,1,rep,name=UserIPLimits,proto3" json:"UserIPLimits,omitempty"` - CommonResp *CommonResp `protobuf:"bytes,2,opt,name=commonResp,proto3" json:"commonResp,omitempty"` + UserIPLimits []*UserIPLimit `protobuf:"bytes,1,rep,name=UserIPLimits" json:"UserIPLimits,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,2,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *QueryUserIDIPLimitLoginResp) Reset() { - *x = QueryUserIDIPLimitLoginResp{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[39] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *QueryUserIDIPLimitLoginResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*QueryUserIDIPLimitLoginResp) ProtoMessage() {} - -func (x *QueryUserIDIPLimitLoginResp) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[39] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use QueryUserIDIPLimitLoginResp.ProtoReflect.Descriptor instead. +func (m *QueryUserIDIPLimitLoginResp) Reset() { *m = QueryUserIDIPLimitLoginResp{} } +func (m *QueryUserIDIPLimitLoginResp) String() string { return proto.CompactTextString(m) } +func (*QueryUserIDIPLimitLoginResp) ProtoMessage() {} func (*QueryUserIDIPLimitLoginResp) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{39} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{41} +} +func (m *QueryUserIDIPLimitLoginResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryUserIDIPLimitLoginResp.Unmarshal(m, b) +} +func (m *QueryUserIDIPLimitLoginResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryUserIDIPLimitLoginResp.Marshal(b, m, deterministic) +} +func (dst *QueryUserIDIPLimitLoginResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryUserIDIPLimitLoginResp.Merge(dst, src) +} +func (m *QueryUserIDIPLimitLoginResp) XXX_Size() int { + return xxx_messageInfo_QueryUserIDIPLimitLoginResp.Size(m) +} +func (m *QueryUserIDIPLimitLoginResp) XXX_DiscardUnknown() { + xxx_messageInfo_QueryUserIDIPLimitLoginResp.DiscardUnknown(m) } -func (x *QueryUserIDIPLimitLoginResp) GetUserIPLimits() []*UserIPLimit { - if x != nil { - return x.UserIPLimits +var xxx_messageInfo_QueryUserIDIPLimitLoginResp proto.InternalMessageInfo + +func (m *QueryUserIDIPLimitLoginResp) GetUserIPLimits() []*UserIPLimit { + if m != nil { + return m.UserIPLimits } return nil } -func (x *QueryUserIDIPLimitLoginResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +func (m *QueryUserIDIPLimitLoginResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } return nil } type AddUserIPLimitLoginReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=operationID,proto3" json:"operationID,omitempty"` - IP string `protobuf:"bytes,3,opt,name=IP,proto3" json:"IP,omitempty"` + UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,omitempty"` + IP string `protobuf:"bytes,3,opt,name=IP" json:"IP,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *AddUserIPLimitLoginReq) Reset() { - *x = AddUserIPLimitLoginReq{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[40] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AddUserIPLimitLoginReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AddUserIPLimitLoginReq) ProtoMessage() {} - -func (x *AddUserIPLimitLoginReq) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[40] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AddUserIPLimitLoginReq.ProtoReflect.Descriptor instead. +func (m *AddUserIPLimitLoginReq) Reset() { *m = AddUserIPLimitLoginReq{} } +func (m *AddUserIPLimitLoginReq) String() string { return proto.CompactTextString(m) } +func (*AddUserIPLimitLoginReq) ProtoMessage() {} func (*AddUserIPLimitLoginReq) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{40} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{42} +} +func (m *AddUserIPLimitLoginReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AddUserIPLimitLoginReq.Unmarshal(m, b) +} +func (m *AddUserIPLimitLoginReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AddUserIPLimitLoginReq.Marshal(b, m, deterministic) +} +func (dst *AddUserIPLimitLoginReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_AddUserIPLimitLoginReq.Merge(dst, src) +} +func (m *AddUserIPLimitLoginReq) XXX_Size() int { + return xxx_messageInfo_AddUserIPLimitLoginReq.Size(m) +} +func (m *AddUserIPLimitLoginReq) XXX_DiscardUnknown() { + xxx_messageInfo_AddUserIPLimitLoginReq.DiscardUnknown(m) } -func (x *AddUserIPLimitLoginReq) GetUserID() string { - if x != nil { - return x.UserID +var xxx_messageInfo_AddUserIPLimitLoginReq proto.InternalMessageInfo + +func (m *AddUserIPLimitLoginReq) GetUserID() string { + if m != nil { + return m.UserID } return "" } -func (x *AddUserIPLimitLoginReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *AddUserIPLimitLoginReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -func (x *AddUserIPLimitLoginReq) GetIP() string { - if x != nil { - return x.IP +func (m *AddUserIPLimitLoginReq) GetIP() string { + if m != nil { + return m.IP } return "" } type AddUserIPLimitLoginResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp,proto3" json:"commonResp,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *AddUserIPLimitLoginResp) Reset() { - *x = AddUserIPLimitLoginResp{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[41] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AddUserIPLimitLoginResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AddUserIPLimitLoginResp) ProtoMessage() {} - -func (x *AddUserIPLimitLoginResp) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[41] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AddUserIPLimitLoginResp.ProtoReflect.Descriptor instead. +func (m *AddUserIPLimitLoginResp) Reset() { *m = AddUserIPLimitLoginResp{} } +func (m *AddUserIPLimitLoginResp) String() string { return proto.CompactTextString(m) } +func (*AddUserIPLimitLoginResp) ProtoMessage() {} func (*AddUserIPLimitLoginResp) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{41} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{43} +} +func (m *AddUserIPLimitLoginResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AddUserIPLimitLoginResp.Unmarshal(m, b) +} +func (m *AddUserIPLimitLoginResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AddUserIPLimitLoginResp.Marshal(b, m, deterministic) +} +func (dst *AddUserIPLimitLoginResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_AddUserIPLimitLoginResp.Merge(dst, src) +} +func (m *AddUserIPLimitLoginResp) XXX_Size() int { + return xxx_messageInfo_AddUserIPLimitLoginResp.Size(m) +} +func (m *AddUserIPLimitLoginResp) XXX_DiscardUnknown() { + xxx_messageInfo_AddUserIPLimitLoginResp.DiscardUnknown(m) } -func (x *AddUserIPLimitLoginResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +var xxx_messageInfo_AddUserIPLimitLoginResp proto.InternalMessageInfo + +func (m *AddUserIPLimitLoginResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } return nil } type RemoveUserIPLimitReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=operationID,proto3" json:"operationID,omitempty"` - IP string `protobuf:"bytes,3,opt,name=IP,proto3" json:"IP,omitempty"` + UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,omitempty"` + IP string `protobuf:"bytes,3,opt,name=IP" json:"IP,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *RemoveUserIPLimitReq) Reset() { - *x = RemoveUserIPLimitReq{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[42] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RemoveUserIPLimitReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RemoveUserIPLimitReq) ProtoMessage() {} - -func (x *RemoveUserIPLimitReq) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[42] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RemoveUserIPLimitReq.ProtoReflect.Descriptor instead. +func (m *RemoveUserIPLimitReq) Reset() { *m = RemoveUserIPLimitReq{} } +func (m *RemoveUserIPLimitReq) String() string { return proto.CompactTextString(m) } +func (*RemoveUserIPLimitReq) ProtoMessage() {} func (*RemoveUserIPLimitReq) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{42} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{44} +} +func (m *RemoveUserIPLimitReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_RemoveUserIPLimitReq.Unmarshal(m, b) +} +func (m *RemoveUserIPLimitReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_RemoveUserIPLimitReq.Marshal(b, m, deterministic) +} +func (dst *RemoveUserIPLimitReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_RemoveUserIPLimitReq.Merge(dst, src) +} +func (m *RemoveUserIPLimitReq) XXX_Size() int { + return xxx_messageInfo_RemoveUserIPLimitReq.Size(m) +} +func (m *RemoveUserIPLimitReq) XXX_DiscardUnknown() { + xxx_messageInfo_RemoveUserIPLimitReq.DiscardUnknown(m) } -func (x *RemoveUserIPLimitReq) GetUserID() string { - if x != nil { - return x.UserID +var xxx_messageInfo_RemoveUserIPLimitReq proto.InternalMessageInfo + +func (m *RemoveUserIPLimitReq) GetUserID() string { + if m != nil { + return m.UserID } return "" } -func (x *RemoveUserIPLimitReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *RemoveUserIPLimitReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -func (x *RemoveUserIPLimitReq) GetIP() string { - if x != nil { - return x.IP +func (m *RemoveUserIPLimitReq) GetIP() string { + if m != nil { + return m.IP } return "" } type RemoveUserIPLimitResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp,proto3" json:"commonResp,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *RemoveUserIPLimitResp) Reset() { - *x = RemoveUserIPLimitResp{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[43] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RemoveUserIPLimitResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RemoveUserIPLimitResp) ProtoMessage() {} - -func (x *RemoveUserIPLimitResp) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[43] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RemoveUserIPLimitResp.ProtoReflect.Descriptor instead. +func (m *RemoveUserIPLimitResp) Reset() { *m = RemoveUserIPLimitResp{} } +func (m *RemoveUserIPLimitResp) String() string { return proto.CompactTextString(m) } +func (*RemoveUserIPLimitResp) ProtoMessage() {} func (*RemoveUserIPLimitResp) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{43} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{45} +} +func (m *RemoveUserIPLimitResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_RemoveUserIPLimitResp.Unmarshal(m, b) +} +func (m *RemoveUserIPLimitResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_RemoveUserIPLimitResp.Marshal(b, m, deterministic) +} +func (dst *RemoveUserIPLimitResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_RemoveUserIPLimitResp.Merge(dst, src) +} +func (m *RemoveUserIPLimitResp) XXX_Size() int { + return xxx_messageInfo_RemoveUserIPLimitResp.Size(m) +} +func (m *RemoveUserIPLimitResp) XXX_DiscardUnknown() { + xxx_messageInfo_RemoveUserIPLimitResp.DiscardUnknown(m) } -func (x *RemoveUserIPLimitResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +var xxx_messageInfo_RemoveUserIPLimitResp proto.InternalMessageInfo + +func (m *RemoveUserIPLimitResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } return nil } type GetClientInitConfigReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OperationID string `protobuf:"bytes,1,opt,name=operationID,proto3" json:"operationID,omitempty"` + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetClientInitConfigReq) Reset() { - *x = GetClientInitConfigReq{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[44] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetClientInitConfigReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetClientInitConfigReq) ProtoMessage() {} - -func (x *GetClientInitConfigReq) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[44] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetClientInitConfigReq.ProtoReflect.Descriptor instead. +func (m *GetClientInitConfigReq) Reset() { *m = GetClientInitConfigReq{} } +func (m *GetClientInitConfigReq) String() string { return proto.CompactTextString(m) } +func (*GetClientInitConfigReq) ProtoMessage() {} func (*GetClientInitConfigReq) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{44} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{46} +} +func (m *GetClientInitConfigReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetClientInitConfigReq.Unmarshal(m, b) +} +func (m *GetClientInitConfigReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetClientInitConfigReq.Marshal(b, m, deterministic) +} +func (dst *GetClientInitConfigReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetClientInitConfigReq.Merge(dst, src) +} +func (m *GetClientInitConfigReq) XXX_Size() int { + return xxx_messageInfo_GetClientInitConfigReq.Size(m) +} +func (m *GetClientInitConfigReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetClientInitConfigReq.DiscardUnknown(m) } -func (x *GetClientInitConfigReq) GetOperationID() string { - if x != nil { - return x.OperationID +var xxx_messageInfo_GetClientInitConfigReq proto.InternalMessageInfo + +func (m *GetClientInitConfigReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } type GetClientInitConfigResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp,proto3" json:"commonResp,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetClientInitConfigResp) Reset() { - *x = GetClientInitConfigResp{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[45] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetClientInitConfigResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetClientInitConfigResp) ProtoMessage() {} - -func (x *GetClientInitConfigResp) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[45] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetClientInitConfigResp.ProtoReflect.Descriptor instead. +func (m *GetClientInitConfigResp) Reset() { *m = GetClientInitConfigResp{} } +func (m *GetClientInitConfigResp) String() string { return proto.CompactTextString(m) } +func (*GetClientInitConfigResp) ProtoMessage() {} func (*GetClientInitConfigResp) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{45} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{47} +} +func (m *GetClientInitConfigResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetClientInitConfigResp.Unmarshal(m, b) +} +func (m *GetClientInitConfigResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetClientInitConfigResp.Marshal(b, m, deterministic) +} +func (dst *GetClientInitConfigResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetClientInitConfigResp.Merge(dst, src) +} +func (m *GetClientInitConfigResp) XXX_Size() int { + return xxx_messageInfo_GetClientInitConfigResp.Size(m) +} +func (m *GetClientInitConfigResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetClientInitConfigResp.DiscardUnknown(m) } -func (x *GetClientInitConfigResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +var xxx_messageInfo_GetClientInitConfigResp proto.InternalMessageInfo + +func (m *GetClientInitConfigResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } return nil } type SetClientInitConfigReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OperationID string `protobuf:"bytes,1,opt,name=operationID,proto3" json:"operationID,omitempty"` - DiscoverPageURL string `protobuf:"bytes,2,opt,name=discoverPageURL,proto3" json:"discoverPageURL,omitempty"` + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + DiscoverPageURL string `protobuf:"bytes,2,opt,name=discoverPageURL" json:"discoverPageURL,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *SetClientInitConfigReq) Reset() { - *x = SetClientInitConfigReq{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[46] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SetClientInitConfigReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetClientInitConfigReq) ProtoMessage() {} - -func (x *SetClientInitConfigReq) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[46] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SetClientInitConfigReq.ProtoReflect.Descriptor instead. +func (m *SetClientInitConfigReq) Reset() { *m = SetClientInitConfigReq{} } +func (m *SetClientInitConfigReq) String() string { return proto.CompactTextString(m) } +func (*SetClientInitConfigReq) ProtoMessage() {} func (*SetClientInitConfigReq) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{46} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{48} +} +func (m *SetClientInitConfigReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SetClientInitConfigReq.Unmarshal(m, b) +} +func (m *SetClientInitConfigReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SetClientInitConfigReq.Marshal(b, m, deterministic) +} +func (dst *SetClientInitConfigReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_SetClientInitConfigReq.Merge(dst, src) +} +func (m *SetClientInitConfigReq) XXX_Size() int { + return xxx_messageInfo_SetClientInitConfigReq.Size(m) +} +func (m *SetClientInitConfigReq) XXX_DiscardUnknown() { + xxx_messageInfo_SetClientInitConfigReq.DiscardUnknown(m) } -func (x *SetClientInitConfigReq) GetOperationID() string { - if x != nil { - return x.OperationID +var xxx_messageInfo_SetClientInitConfigReq proto.InternalMessageInfo + +func (m *SetClientInitConfigReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -func (x *SetClientInitConfigReq) GetDiscoverPageURL() string { - if x != nil { - return x.DiscoverPageURL +func (m *SetClientInitConfigReq) GetDiscoverPageURL() string { + if m != nil { + return m.DiscoverPageURL } return "" } type SetClientInitConfigResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp,proto3" json:"commonResp,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *SetClientInitConfigResp) Reset() { - *x = SetClientInitConfigResp{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[47] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SetClientInitConfigResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetClientInitConfigResp) ProtoMessage() {} - -func (x *SetClientInitConfigResp) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[47] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SetClientInitConfigResp.ProtoReflect.Descriptor instead. +func (m *SetClientInitConfigResp) Reset() { *m = SetClientInitConfigResp{} } +func (m *SetClientInitConfigResp) String() string { return proto.CompactTextString(m) } +func (*SetClientInitConfigResp) ProtoMessage() {} func (*SetClientInitConfigResp) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{47} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{49} +} +func (m *SetClientInitConfigResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SetClientInitConfigResp.Unmarshal(m, b) +} +func (m *SetClientInitConfigResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SetClientInitConfigResp.Marshal(b, m, deterministic) +} +func (dst *SetClientInitConfigResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_SetClientInitConfigResp.Merge(dst, src) +} +func (m *SetClientInitConfigResp) XXX_Size() int { + return xxx_messageInfo_SetClientInitConfigResp.Size(m) +} +func (m *SetClientInitConfigResp) XXX_DiscardUnknown() { + xxx_messageInfo_SetClientInitConfigResp.DiscardUnknown(m) } -func (x *SetClientInitConfigResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +var xxx_messageInfo_SetClientInitConfigResp proto.InternalMessageInfo + +func (m *SetClientInitConfigResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } return nil } type GetUserFriendsReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OperationID string `protobuf:"bytes,1,opt,name=operationID,proto3" json:"operationID,omitempty"` - UserID string `protobuf:"bytes,2,opt,name=userID,proto3" json:"userID,omitempty"` - FriendUserID string `protobuf:"bytes,3,opt,name=friendUserID,proto3" json:"friendUserID,omitempty"` - FriendUserName string `protobuf:"bytes,4,opt,name=friendUserName,proto3" json:"friendUserName,omitempty"` - Pagination *sdk_ws.RequestPagination `protobuf:"bytes,5,opt,name=pagination,proto3" json:"pagination,omitempty"` + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + UserID string `protobuf:"bytes,2,opt,name=userID" json:"userID,omitempty"` + FriendUserID string `protobuf:"bytes,3,opt,name=friendUserID" json:"friendUserID,omitempty"` + FriendUserName string `protobuf:"bytes,4,opt,name=friendUserName" json:"friendUserName,omitempty"` + Pagination *sdk_ws.RequestPagination `protobuf:"bytes,5,opt,name=pagination" json:"pagination,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetUserFriendsReq) Reset() { - *x = GetUserFriendsReq{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[48] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetUserFriendsReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetUserFriendsReq) ProtoMessage() {} - -func (x *GetUserFriendsReq) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[48] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetUserFriendsReq.ProtoReflect.Descriptor instead. +func (m *GetUserFriendsReq) Reset() { *m = GetUserFriendsReq{} } +func (m *GetUserFriendsReq) String() string { return proto.CompactTextString(m) } +func (*GetUserFriendsReq) ProtoMessage() {} func (*GetUserFriendsReq) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{48} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{50} +} +func (m *GetUserFriendsReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUserFriendsReq.Unmarshal(m, b) +} +func (m *GetUserFriendsReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUserFriendsReq.Marshal(b, m, deterministic) +} +func (dst *GetUserFriendsReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUserFriendsReq.Merge(dst, src) +} +func (m *GetUserFriendsReq) XXX_Size() int { + return xxx_messageInfo_GetUserFriendsReq.Size(m) +} +func (m *GetUserFriendsReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetUserFriendsReq.DiscardUnknown(m) } -func (x *GetUserFriendsReq) GetOperationID() string { - if x != nil { - return x.OperationID +var xxx_messageInfo_GetUserFriendsReq proto.InternalMessageInfo + +func (m *GetUserFriendsReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -func (x *GetUserFriendsReq) GetUserID() string { - if x != nil { - return x.UserID +func (m *GetUserFriendsReq) GetUserID() string { + if m != nil { + return m.UserID } return "" } -func (x *GetUserFriendsReq) GetFriendUserID() string { - if x != nil { - return x.FriendUserID +func (m *GetUserFriendsReq) GetFriendUserID() string { + if m != nil { + return m.FriendUserID } return "" } -func (x *GetUserFriendsReq) GetFriendUserName() string { - if x != nil { - return x.FriendUserName +func (m *GetUserFriendsReq) GetFriendUserName() string { + if m != nil { + return m.FriendUserName } return "" } -func (x *GetUserFriendsReq) GetPagination() *sdk_ws.RequestPagination { - if x != nil { - return x.Pagination +func (m *GetUserFriendsReq) GetPagination() *sdk_ws.RequestPagination { + if m != nil { + return m.Pagination } return nil } type GetUserFriendsResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Pagination *sdk_ws.ResponsePagination `protobuf:"bytes,1,opt,name=pagination,proto3" json:"pagination,omitempty"` - FriendInfoList []*sdk_ws.FriendInfo `protobuf:"bytes,2,rep,name=friendInfoList,proto3" json:"friendInfoList,omitempty"` - FriendNums int32 `protobuf:"varint,3,opt,name=friendNums,proto3" json:"friendNums,omitempty"` - CommonResp *CommonResp `protobuf:"bytes,4,opt,name=commonResp,proto3" json:"commonResp,omitempty"` + Pagination *sdk_ws.ResponsePagination `protobuf:"bytes,1,opt,name=pagination" json:"pagination,omitempty"` + FriendInfoList []*sdk_ws.FriendInfo `protobuf:"bytes,2,rep,name=friendInfoList" json:"friendInfoList,omitempty"` + FriendNums int32 `protobuf:"varint,3,opt,name=friendNums" json:"friendNums,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,4,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetUserFriendsResp) Reset() { - *x = GetUserFriendsResp{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[49] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetUserFriendsResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetUserFriendsResp) ProtoMessage() {} - -func (x *GetUserFriendsResp) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[49] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetUserFriendsResp.ProtoReflect.Descriptor instead. +func (m *GetUserFriendsResp) Reset() { *m = GetUserFriendsResp{} } +func (m *GetUserFriendsResp) String() string { return proto.CompactTextString(m) } +func (*GetUserFriendsResp) ProtoMessage() {} func (*GetUserFriendsResp) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{49} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{51} +} +func (m *GetUserFriendsResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUserFriendsResp.Unmarshal(m, b) +} +func (m *GetUserFriendsResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUserFriendsResp.Marshal(b, m, deterministic) +} +func (dst *GetUserFriendsResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUserFriendsResp.Merge(dst, src) +} +func (m *GetUserFriendsResp) XXX_Size() int { + return xxx_messageInfo_GetUserFriendsResp.Size(m) +} +func (m *GetUserFriendsResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetUserFriendsResp.DiscardUnknown(m) } -func (x *GetUserFriendsResp) GetPagination() *sdk_ws.ResponsePagination { - if x != nil { - return x.Pagination +var xxx_messageInfo_GetUserFriendsResp proto.InternalMessageInfo + +func (m *GetUserFriendsResp) GetPagination() *sdk_ws.ResponsePagination { + if m != nil { + return m.Pagination } return nil } -func (x *GetUserFriendsResp) GetFriendInfoList() []*sdk_ws.FriendInfo { - if x != nil { - return x.FriendInfoList +func (m *GetUserFriendsResp) GetFriendInfoList() []*sdk_ws.FriendInfo { + if m != nil { + return m.FriendInfoList } return nil } -func (x *GetUserFriendsResp) GetFriendNums() int32 { - if x != nil { - return x.FriendNums +func (m *GetUserFriendsResp) GetFriendNums() int32 { + if m != nil { + return m.FriendNums } return 0 } -func (x *GetUserFriendsResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +func (m *GetUserFriendsResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } return nil } type GetUserIDByEmailAndPhoneNumberReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OperationID string `protobuf:"bytes,1,opt,name=operationID,proto3" json:"operationID,omitempty"` - Email string `protobuf:"bytes,2,opt,name=email,proto3" json:"email,omitempty"` - PhoneNumber string `protobuf:"bytes,3,opt,name=phoneNumber,proto3" json:"phoneNumber,omitempty"` + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + Email string `protobuf:"bytes,2,opt,name=email" json:"email,omitempty"` + PhoneNumber string `protobuf:"bytes,3,opt,name=phoneNumber" json:"phoneNumber,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetUserIDByEmailAndPhoneNumberReq) Reset() { - *x = GetUserIDByEmailAndPhoneNumberReq{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[50] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetUserIDByEmailAndPhoneNumberReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetUserIDByEmailAndPhoneNumberReq) ProtoMessage() {} - -func (x *GetUserIDByEmailAndPhoneNumberReq) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[50] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetUserIDByEmailAndPhoneNumberReq.ProtoReflect.Descriptor instead. +func (m *GetUserIDByEmailAndPhoneNumberReq) Reset() { *m = GetUserIDByEmailAndPhoneNumberReq{} } +func (m *GetUserIDByEmailAndPhoneNumberReq) String() string { return proto.CompactTextString(m) } +func (*GetUserIDByEmailAndPhoneNumberReq) ProtoMessage() {} func (*GetUserIDByEmailAndPhoneNumberReq) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{50} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{52} +} +func (m *GetUserIDByEmailAndPhoneNumberReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUserIDByEmailAndPhoneNumberReq.Unmarshal(m, b) +} +func (m *GetUserIDByEmailAndPhoneNumberReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUserIDByEmailAndPhoneNumberReq.Marshal(b, m, deterministic) +} +func (dst *GetUserIDByEmailAndPhoneNumberReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUserIDByEmailAndPhoneNumberReq.Merge(dst, src) +} +func (m *GetUserIDByEmailAndPhoneNumberReq) XXX_Size() int { + return xxx_messageInfo_GetUserIDByEmailAndPhoneNumberReq.Size(m) +} +func (m *GetUserIDByEmailAndPhoneNumberReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetUserIDByEmailAndPhoneNumberReq.DiscardUnknown(m) } -func (x *GetUserIDByEmailAndPhoneNumberReq) GetOperationID() string { - if x != nil { - return x.OperationID +var xxx_messageInfo_GetUserIDByEmailAndPhoneNumberReq proto.InternalMessageInfo + +func (m *GetUserIDByEmailAndPhoneNumberReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -func (x *GetUserIDByEmailAndPhoneNumberReq) GetEmail() string { - if x != nil { - return x.Email +func (m *GetUserIDByEmailAndPhoneNumberReq) GetEmail() string { + if m != nil { + return m.Email } return "" } -func (x *GetUserIDByEmailAndPhoneNumberReq) GetPhoneNumber() string { - if x != nil { - return x.PhoneNumber +func (m *GetUserIDByEmailAndPhoneNumberReq) GetPhoneNumber() string { + if m != nil { + return m.PhoneNumber } return "" } type GetUserIDByEmailAndPhoneNumberResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserIDList []string `protobuf:"bytes,1,rep,name=userIDList,proto3" json:"userIDList,omitempty"` - CommonResp *CommonResp `protobuf:"bytes,2,opt,name=commonResp,proto3" json:"commonResp,omitempty"` + UserIDList []string `protobuf:"bytes,1,rep,name=userIDList" json:"userIDList,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,2,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetUserIDByEmailAndPhoneNumberResp) Reset() { - *x = GetUserIDByEmailAndPhoneNumberResp{} - if protoimpl.UnsafeEnabled { - mi := &file_admin_cms_admin_cms_proto_msgTypes[51] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetUserIDByEmailAndPhoneNumberResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetUserIDByEmailAndPhoneNumberResp) ProtoMessage() {} - -func (x *GetUserIDByEmailAndPhoneNumberResp) ProtoReflect() protoreflect.Message { - mi := &file_admin_cms_admin_cms_proto_msgTypes[51] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetUserIDByEmailAndPhoneNumberResp.ProtoReflect.Descriptor instead. +func (m *GetUserIDByEmailAndPhoneNumberResp) Reset() { *m = GetUserIDByEmailAndPhoneNumberResp{} } +func (m *GetUserIDByEmailAndPhoneNumberResp) String() string { return proto.CompactTextString(m) } +func (*GetUserIDByEmailAndPhoneNumberResp) ProtoMessage() {} func (*GetUserIDByEmailAndPhoneNumberResp) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{51} + return fileDescriptor_admin_cms_f23e453f07b40171, []int{53} +} +func (m *GetUserIDByEmailAndPhoneNumberResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUserIDByEmailAndPhoneNumberResp.Unmarshal(m, b) +} +func (m *GetUserIDByEmailAndPhoneNumberResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUserIDByEmailAndPhoneNumberResp.Marshal(b, m, deterministic) +} +func (dst *GetUserIDByEmailAndPhoneNumberResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUserIDByEmailAndPhoneNumberResp.Merge(dst, src) +} +func (m *GetUserIDByEmailAndPhoneNumberResp) XXX_Size() int { + return xxx_messageInfo_GetUserIDByEmailAndPhoneNumberResp.Size(m) +} +func (m *GetUserIDByEmailAndPhoneNumberResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetUserIDByEmailAndPhoneNumberResp.DiscardUnknown(m) } -func (x *GetUserIDByEmailAndPhoneNumberResp) GetUserIDList() []string { - if x != nil { - return x.UserIDList +var xxx_messageInfo_GetUserIDByEmailAndPhoneNumberResp proto.InternalMessageInfo + +func (m *GetUserIDByEmailAndPhoneNumberResp) GetUserIDList() []string { + if m != nil { + return m.UserIDList } return nil } -func (x *GetUserIDByEmailAndPhoneNumberResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +func (m *GetUserIDByEmailAndPhoneNumberResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } return nil } -var File_admin_cms_admin_cms_proto protoreflect.FileDescriptor - -var file_admin_cms_admin_cms_proto_rawDesc = []byte{ - 0x0a, 0x19, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2f, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x09, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x1a, 0x28, 0x4f, 0x70, 0x65, 0x6e, 0x2d, 0x49, 0x4d, 0x2d, - 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2f, 0x73, 0x64, 0x6b, 0x5f, 0x77, 0x73, 0x2f, 0x77, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x22, 0x3e, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, - 0x0a, 0x07, 0x65, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x07, 0x65, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x4d, - 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, - 0x22, 0x63, 0x0a, 0x0d, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, - 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x44, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x44, 0x12, 0x16, 0x0a, - 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, - 0x65, 0x63, 0x72, 0x65, 0x74, 0x22, 0x93, 0x01, 0x0a, 0x0e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4c, - 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1a, - 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x61, - 0x63, 0x65, 0x55, 0x52, 0x4c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x61, 0x63, - 0x65, 0x55, 0x52, 0x4c, 0x12, 0x35, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, - 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x65, 0x0a, 0x21, 0x41, - 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x41, 0x64, - 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, - 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x4c, 0x69, - 0x73, 0x74, 0x22, 0x5b, 0x0a, 0x22, 0x41, 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x67, - 0x69, 0x73, 0x74, 0x65, 0x72, 0x41, 0x64, 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x44, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x35, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, - 0x86, 0x01, 0x0a, 0x24, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x41, 0x64, 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, - 0x44, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, - 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x75, 0x73, - 0x65, 0x72, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x5e, 0x0a, 0x25, 0x52, 0x65, 0x64, 0x75, - 0x63, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x41, 0x64, - 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x35, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, - 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x8b, 0x01, 0x0a, 0x21, 0x47, 0x65, 0x74, - 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x41, 0x64, 0x64, 0x46, - 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x20, - 0x0a, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, - 0x12, 0x44, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, - 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe3, 0x01, 0x0a, 0x22, 0x47, 0x65, 0x74, 0x55, 0x73, - 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x41, 0x64, 0x64, 0x46, 0x72, 0x69, - 0x65, 0x6e, 0x64, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3f, 0x0a, - 0x0c, 0x75, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, - 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x45, - 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, - 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0xa2, 0x02, 0x0a, - 0x0e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x12, - 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, - 0x64, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x49, - 0x44, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x63, 0x76, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x72, 0x65, 0x63, 0x76, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6e, - 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x6e, - 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x73, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x70, 0x61, 0x67, - 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x20, 0x0a, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x44, 0x22, 0xaf, 0x04, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x74, 0x4c, 0x6f, 0x67, 0x12, 0x20, 0x0a, - 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x49, 0x44, 0x12, - 0x20, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x49, 0x44, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x49, - 0x44, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x63, - 0x76, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x63, 0x76, 0x49, - 0x44, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x72, - 0x65, 0x63, 0x76, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0c, 0x72, 0x65, 0x63, 0x76, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x2a, 0x0a, 0x10, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x49, 0x44, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x73, 0x65, 0x6e, 0x64, 0x65, - 0x72, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x73, - 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4e, 0x69, 0x63, 0x6b, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x46, 0x61, 0x63, - 0x65, 0x55, 0x52, 0x4c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, 0x6e, 0x64, - 0x65, 0x72, 0x46, 0x61, 0x63, 0x65, 0x55, 0x52, 0x4c, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x73, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x73, 0x67, - 0x46, 0x72, 0x6f, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x46, - 0x72, 0x6f, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, - 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6e, 0x64, 0x54, - 0x69, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6e, 0x64, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, - 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x65, 0x78, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x02, 0x65, 0x78, 0x22, 0xe1, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x4c, - 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2e, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x74, 0x4c, - 0x6f, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4c, 0x6f, 0x67, 0x52, 0x08, 0x63, - 0x68, 0x61, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x45, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, - 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x4e, 0x75, 0x6d, - 0x12, 0x35, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, - 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x33, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x69, - 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, 0x02, - 0x74, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x74, 0x6f, 0x22, 0x74, 0x0a, 0x10, - 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, - 0x12, 0x3e, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, - 0x71, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, - 0x63, 0x6d, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, - 0x71, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, - 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x44, 0x22, 0x5e, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1a, - 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, - 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, - 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4e, - 0x75, 0x6d, 0x22, 0x75, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x55, - 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x29, 0x0a, 0x05, 0x55, 0x73, 0x65, 0x72, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, - 0x6d, 0x73, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x52, 0x05, 0x55, 0x73, 0x65, - 0x72, 0x73, 0x12, 0x35, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, - 0x6d, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x75, 0x0a, 0x11, 0x47, 0x65, 0x74, - 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x12, 0x3e, - 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, - 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x52, - 0x0d, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x12, 0x20, - 0x0a, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, - 0x22, 0x9a, 0x01, 0x0a, 0x09, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1c, - 0x0a, 0x09, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x35, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x79, 0x0a, - 0x12, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x2c, 0x0a, 0x06, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x52, 0x06, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x73, 0x12, 0x35, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, - 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x33, 0x0a, 0x0b, 0x44, 0x61, 0x74, 0x65, - 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x44, 0x61, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4e, - 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x4e, 0x75, 0x6d, 0x22, 0x7b, 0x0a, - 0x17, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, - 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x12, 0x3e, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, - 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x18, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, - 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x52, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x69, - 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0xc1, 0x02, 0x0a, 0x18, 0x47, - 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, - 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2c, 0x0a, 0x11, 0x50, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x11, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x28, 0x0a, 0x0f, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x12, - 0x4c, 0x0a, 0x15, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x4e, - 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x15, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x48, 0x0a, - 0x13, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, - 0x4c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x4e, 0x75, 0x6d, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x13, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x79, - 0x0a, 0x15, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, - 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x12, 0x3e, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x69, - 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, - 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x52, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, - 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0xb3, 0x02, 0x0a, 0x16, 0x47, 0x65, - 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x2a, 0x0a, 0x10, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, - 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x75, 0x6d, - 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x75, - 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x4e, 0x75, 0x6d, 0x12, 0x4a, 0x0a, 0x14, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, - 0x73, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, - 0x2e, 0x44, 0x61, 0x74, 0x65, 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x14, 0x49, 0x6e, - 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x75, 0x6d, 0x4c, 0x69, - 0x73, 0x74, 0x12, 0x44, 0x0a, 0x11, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x4e, 0x75, - 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x11, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, - 0x78, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, - 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x12, 0x3e, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x69, - 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, - 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x52, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, - 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x96, 0x03, 0x0a, 0x15, 0x47, 0x65, - 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x28, 0x0a, 0x0f, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x55, - 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x49, 0x6e, - 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x24, 0x0a, - 0x0d, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, - 0x4e, 0x75, 0x6d, 0x12, 0x22, 0x0a, 0x0c, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x55, 0x73, 0x65, 0x72, - 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x54, 0x6f, 0x74, 0x61, 0x6c, - 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x48, 0x0a, 0x13, 0x49, 0x6e, 0x63, 0x72, 0x65, - 0x61, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x04, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, - 0x2e, 0x44, 0x61, 0x74, 0x65, 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x13, 0x49, 0x6e, - 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x44, 0x0a, 0x11, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4e, - 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x4e, 0x75, 0x6d, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x11, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, - 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x10, 0x54, 0x6f, 0x74, 0x61, 0x6c, - 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x44, 0x61, - 0x74, 0x65, 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x10, 0x54, 0x6f, 0x74, 0x61, 0x6c, - 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x0a, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x15, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x22, 0x71, 0x0a, 0x19, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x49, 0x6e, - 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x12, - 0x20, 0x0a, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x44, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x64, 0x65, 0x4c, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x07, 0x63, 0x6f, 0x64, 0x65, 0x4c, 0x65, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x63, - 0x6f, 0x64, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x6f, - 0x64, 0x65, 0x4e, 0x75, 0x6d, 0x22, 0x53, 0x0a, 0x1a, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x35, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, - 0x63, 0x6d, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, - 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0xab, 0x01, 0x0a, 0x15, 0x47, - 0x65, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x44, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, - 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x61, - 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa4, 0x01, 0x0a, 0x0e, 0x69, 0x6e, 0x76, - 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x69, - 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, - 0x6f, 0x64, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, - 0xdb, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x43, 0x0a, 0x0f, 0x69, 0x6e, - 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, - 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x0f, - 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, - 0x45, 0x0a, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, - 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x50, 0x61, 0x67, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x46, 0x0a, - 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x50, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, - 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x50, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x02, 0x49, 0x50, 0x22, 0xb6, 0x01, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, - 0x50, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x0e, 0x0a, - 0x02, 0x49, 0x50, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x50, 0x12, 0x20, 0x0a, - 0x0b, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0b, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, - 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x49, - 0x44, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x75, 0x73, 0x65, - 0x72, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x5f, - 0x0a, 0x0d, 0x41, 0x64, 0x64, 0x49, 0x50, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x12, - 0x20, 0x0a, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x44, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x50, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, - 0x50, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, - 0x47, 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x49, 0x50, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x35, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, - 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x44, 0x0a, 0x10, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x49, 0x50, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x0e, - 0x0a, 0x02, 0x49, 0x50, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x50, 0x22, 0x4a, - 0x0a, 0x11, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x50, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x35, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, - 0x63, 0x6d, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, - 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x56, 0x0a, 0x1a, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x49, 0x50, 0x4c, 0x69, 0x6d, 0x69, 0x74, - 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, - 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, - 0x49, 0x44, 0x22, 0x55, 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, 0x49, 0x50, 0x4c, 0x69, 0x6d, 0x69, - 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x50, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x50, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x90, 0x01, 0x0a, 0x1b, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x49, 0x50, 0x4c, 0x69, 0x6d, 0x69, 0x74, - 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3a, 0x0a, 0x0c, 0x55, 0x73, 0x65, - 0x72, 0x49, 0x50, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x16, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x55, 0x73, 0x65, 0x72, - 0x49, 0x50, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x0c, 0x55, 0x73, 0x65, 0x72, 0x49, 0x50, 0x4c, - 0x69, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x35, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x62, 0x0a, 0x16, - 0x41, 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, 0x49, 0x50, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4c, 0x6f, - 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x20, - 0x0a, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, - 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x50, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x50, - 0x22, 0x50, 0x0a, 0x17, 0x41, 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, 0x49, 0x50, 0x4c, 0x69, 0x6d, - 0x69, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x35, 0x0a, 0x0a, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x15, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x22, 0x60, 0x0a, 0x14, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, - 0x49, 0x50, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, - 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, - 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x50, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x02, 0x49, 0x50, 0x22, 0x4e, 0x0a, 0x15, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x55, 0x73, - 0x65, 0x72, 0x49, 0x50, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x35, 0x0a, - 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x43, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x22, 0x3a, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x49, 0x6e, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x12, 0x20, - 0x0a, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, - 0x22, 0x50, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x69, - 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x12, 0x35, 0x0a, 0x0a, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x15, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x22, 0x64, 0x0a, 0x16, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, - 0x6e, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x28, - 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x50, 0x61, 0x67, 0x65, 0x55, 0x52, - 0x4c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, - 0x72, 0x50, 0x61, 0x67, 0x65, 0x55, 0x52, 0x4c, 0x22, 0x50, 0x0a, 0x17, 0x53, 0x65, 0x74, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x35, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, - 0x63, 0x6d, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, - 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0xdf, 0x01, 0x0a, 0x11, 0x47, - 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x71, - 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x66, 0x72, - 0x69, 0x65, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x26, - 0x0a, 0x0e, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x55, 0x73, - 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf9, 0x01, 0x0a, - 0x12, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x45, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, - 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x0e, 0x66, 0x72, - 0x69, 0x65, 0x6e, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x0e, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x73, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4e, 0x75, 0x6d, - 0x73, 0x12, 0x35, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, - 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x7d, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x55, - 0x73, 0x65, 0x72, 0x49, 0x44, 0x42, 0x79, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x6e, 0x64, 0x50, - 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, - 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, - 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x68, 0x6f, 0x6e, - 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x7b, 0x0a, 0x22, 0x47, 0x65, 0x74, 0x55, 0x73, - 0x65, 0x72, 0x49, 0x44, 0x42, 0x79, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x6e, 0x64, 0x50, 0x68, - 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, - 0x0a, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x35, 0x0a, - 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x43, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x32, 0x96, 0x10, 0x0a, 0x08, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x43, 0x4d, - 0x53, 0x12, 0x41, 0x0a, 0x0a, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, - 0x18, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x41, 0x64, 0x6d, 0x69, - 0x6e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x7d, 0x0a, 0x1e, 0x41, 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, 0x52, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x41, 0x64, 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, - 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, - 0x6d, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x65, 0x72, 0x41, 0x64, 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x44, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x71, 0x1a, 0x2d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, - 0x2e, 0x41, 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, - 0x41, 0x64, 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x86, 0x01, 0x0a, 0x21, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x55, 0x73, - 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x41, 0x64, 0x64, 0x46, 0x72, 0x69, - 0x65, 0x6e, 0x64, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x2e, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x55, 0x73, 0x65, 0x72, - 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x41, 0x64, 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, - 0x64, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x30, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x55, 0x73, 0x65, - 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x41, 0x64, 0x64, 0x46, 0x72, 0x69, 0x65, - 0x6e, 0x64, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x7d, 0x0a, 0x1e, - 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x41, - 0x64, 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, - 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x41, 0x64, 0x64, 0x46, 0x72, 0x69, - 0x65, 0x6e, 0x64, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x2d, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, - 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x41, 0x64, 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, - 0x64, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x44, 0x0a, 0x0b, 0x47, - 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x19, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x4c, 0x6f, - 0x67, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, - 0x73, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x4a, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x55, 0x73, - 0x65, 0x72, 0x12, 0x1b, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x47, - 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, - 0x1c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x41, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4d, 0x0a, - 0x0e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, - 0x1c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x41, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5f, 0x0a, 0x14, - 0x47, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, - 0x74, 0x69, 0x63, 0x73, 0x12, 0x22, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, - 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, - 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, - 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x59, 0x0a, - 0x12, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, - 0x69, 0x63, 0x73, 0x12, 0x20, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, - 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, - 0x63, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, - 0x73, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, - 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x56, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x55, - 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x1f, 0x2e, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, - 0x72, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x20, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, - 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x65, 0x0a, 0x16, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x76, 0x69, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x24, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x49, - 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, - 0x1a, 0x25, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x47, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, - 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x59, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x49, 0x6e, - 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x20, 0x2e, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x76, - 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x1a, - 0x21, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x49, - 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x50, 0x0a, 0x0f, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x50, 0x52, 0x65, 0x67, - 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, - 0x73, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x50, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, - 0x72, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x50, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x41, 0x0a, 0x0a, 0x41, 0x64, 0x64, 0x49, 0x50, 0x4c, 0x69, 0x6d, - 0x69, 0x74, 0x12, 0x18, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x41, - 0x64, 0x64, 0x49, 0x50, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x49, 0x50, 0x4c, 0x69, - 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4a, 0x0a, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x49, 0x50, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1b, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x50, 0x4c, 0x69, 0x6d, - 0x69, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, - 0x73, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x50, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x68, 0x0a, 0x17, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, - 0x49, 0x44, 0x49, 0x50, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x25, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x49, 0x50, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4c, 0x6f, 0x67, - 0x69, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x26, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, - 0x73, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x49, 0x50, 0x4c, - 0x69, 0x6d, 0x69, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5c, 0x0a, - 0x13, 0x41, 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, 0x49, 0x50, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4c, - 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x21, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, - 0x2e, 0x41, 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, 0x49, 0x50, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4c, - 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, - 0x63, 0x6d, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, 0x49, 0x50, 0x4c, 0x69, 0x6d, - 0x69, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x56, 0x0a, 0x11, 0x52, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x50, 0x4c, 0x69, 0x6d, 0x69, 0x74, - 0x12, 0x1f, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x50, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, - 0x71, 0x1a, 0x20, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x50, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x5c, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x49, 0x6e, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x21, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x49, 0x6e, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x5c, 0x0a, 0x13, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, - 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x21, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, - 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x49, 0x6e, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x4d, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, - 0x73, 0x12, 0x1c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x47, 0x65, - 0x74, 0x55, 0x73, 0x65, 0x72, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x71, 0x1a, - 0x1d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x55, - 0x73, 0x65, 0x72, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x7d, - 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x42, 0x79, 0x45, 0x6d, 0x61, - 0x69, 0x6c, 0x41, 0x6e, 0x64, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x12, 0x2c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x47, 0x65, 0x74, - 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x42, 0x79, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x6e, 0x64, - 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x2d, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, - 0x65, 0x72, 0x49, 0x44, 0x42, 0x79, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x6e, 0x64, 0x50, 0x68, - 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x42, 0x27, 0x5a, - 0x25, 0x4f, 0x70, 0x65, 0x6e, 0x5f, 0x49, 0x4d, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x3b, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x5f, 0x63, 0x6d, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_admin_cms_admin_cms_proto_rawDescOnce sync.Once - file_admin_cms_admin_cms_proto_rawDescData = file_admin_cms_admin_cms_proto_rawDesc -) - -func file_admin_cms_admin_cms_proto_rawDescGZIP() []byte { - file_admin_cms_admin_cms_proto_rawDescOnce.Do(func() { - file_admin_cms_admin_cms_proto_rawDescData = protoimpl.X.CompressGZIP(file_admin_cms_admin_cms_proto_rawDescData) - }) - return file_admin_cms_admin_cms_proto_rawDescData -} - -var file_admin_cms_admin_cms_proto_msgTypes = make([]protoimpl.MessageInfo, 52) -var file_admin_cms_admin_cms_proto_goTypes = []interface{}{ - (*CommonResp)(nil), // 0: admin_cms.CommonResp - (*AdminLoginReq)(nil), // 1: admin_cms.AdminLoginReq - (*AdminLoginResp)(nil), // 2: admin_cms.AdminLoginResp - (*AddUserRegisterAddFriendIDListReq)(nil), // 3: admin_cms.AddUserRegisterAddFriendIDListReq - (*AddUserRegisterAddFriendIDListResp)(nil), // 4: admin_cms.AddUserRegisterAddFriendIDListResp - (*ReduceUserRegisterAddFriendIDListReq)(nil), // 5: admin_cms.ReduceUserRegisterAddFriendIDListReq - (*ReduceUserRegisterAddFriendIDListResp)(nil), // 6: admin_cms.ReduceUserRegisterAddFriendIDListResp - (*GetUserRegisterAddFriendIDListReq)(nil), // 7: admin_cms.GetUserRegisterAddFriendIDListReq - (*GetUserRegisterAddFriendIDListResp)(nil), // 8: admin_cms.GetUserRegisterAddFriendIDListResp - (*GetChatLogsReq)(nil), // 9: admin_cms.GetChatLogsReq - (*ChatLog)(nil), // 10: admin_cms.ChatLog - (*GetChatLogsResp)(nil), // 11: admin_cms.GetChatLogsResp - (*StatisticsReq)(nil), // 12: admin_cms.StatisticsReq - (*GetActiveUserReq)(nil), // 13: admin_cms.GetActiveUserReq - (*UserResp)(nil), // 14: admin_cms.UserResp - (*GetActiveUserResp)(nil), // 15: admin_cms.GetActiveUserResp - (*GetActiveGroupReq)(nil), // 16: admin_cms.GetActiveGroupReq - (*GroupResp)(nil), // 17: admin_cms.GroupResp - (*GetActiveGroupResp)(nil), // 18: admin_cms.GetActiveGroupResp - (*DateNumList)(nil), // 19: admin_cms.DateNumList - (*GetMessageStatisticsReq)(nil), // 20: admin_cms.GetMessageStatisticsReq - (*GetMessageStatisticsResp)(nil), // 21: admin_cms.GetMessageStatisticsResp - (*GetGroupStatisticsReq)(nil), // 22: admin_cms.GetGroupStatisticsReq - (*GetGroupStatisticsResp)(nil), // 23: admin_cms.GetGroupStatisticsResp - (*GetUserStatisticsReq)(nil), // 24: admin_cms.GetUserStatisticsReq - (*GetUserStatisticsResp)(nil), // 25: admin_cms.GetUserStatisticsResp - (*GenerateInvitationCodeReq)(nil), // 26: admin_cms.GenerateInvitationCodeReq - (*GenerateInvitationCodeResp)(nil), // 27: admin_cms.GenerateInvitationCodeResp - (*GetInvitationCodesReq)(nil), // 28: admin_cms.GetInvitationCodesReq - (*InvitationCode)(nil), // 29: admin_cms.invitationCode - (*GetInvitationCodesResp)(nil), // 30: admin_cms.GetInvitationCodesResp - (*QueryIPRegisterReq)(nil), // 31: admin_cms.QueryIPRegisterReq - (*QueryIPRegisterResp)(nil), // 32: admin_cms.QueryIPRegisterResp - (*AddIPLimitReq)(nil), // 33: admin_cms.AddIPLimitReq - (*AddIPLimitResp)(nil), // 34: admin_cms.AddIPLimitResp - (*RemoveIPLimitReq)(nil), // 35: admin_cms.RemoveIPLimitReq - (*RemoveIPLimitResp)(nil), // 36: admin_cms.RemoveIPLimitResp - (*QueryUserIDIPLimitLoginReq)(nil), // 37: admin_cms.QueryUserIDIPLimitLoginReq - (*UserIPLimit)(nil), // 38: admin_cms.UserIPLimit - (*QueryUserIDIPLimitLoginResp)(nil), // 39: admin_cms.QueryUserIDIPLimitLoginResp - (*AddUserIPLimitLoginReq)(nil), // 40: admin_cms.AddUserIPLimitLoginReq - (*AddUserIPLimitLoginResp)(nil), // 41: admin_cms.AddUserIPLimitLoginResp - (*RemoveUserIPLimitReq)(nil), // 42: admin_cms.RemoveUserIPLimitReq - (*RemoveUserIPLimitResp)(nil), // 43: admin_cms.RemoveUserIPLimitResp - (*GetClientInitConfigReq)(nil), // 44: admin_cms.GetClientInitConfigReq - (*GetClientInitConfigResp)(nil), // 45: admin_cms.GetClientInitConfigResp - (*SetClientInitConfigReq)(nil), // 46: admin_cms.SetClientInitConfigReq - (*SetClientInitConfigResp)(nil), // 47: admin_cms.SetClientInitConfigResp - (*GetUserFriendsReq)(nil), // 48: admin_cms.GetUserFriendsReq - (*GetUserFriendsResp)(nil), // 49: admin_cms.GetUserFriendsResp - (*GetUserIDByEmailAndPhoneNumberReq)(nil), // 50: admin_cms.GetUserIDByEmailAndPhoneNumberReq - (*GetUserIDByEmailAndPhoneNumberResp)(nil), // 51: admin_cms.GetUserIDByEmailAndPhoneNumberResp - (*sdk_ws.RequestPagination)(nil), // 52: server_api_params.RequestPagination - (*sdk_ws.UserInfo)(nil), // 53: server_api_params.UserInfo - (*sdk_ws.ResponsePagination)(nil), // 54: server_api_params.ResponsePagination - (*sdk_ws.FriendInfo)(nil), // 55: server_api_params.FriendInfo -} -var file_admin_cms_admin_cms_proto_depIdxs = []int32{ - 0, // 0: admin_cms.AdminLoginResp.commonResp:type_name -> admin_cms.CommonResp - 0, // 1: admin_cms.AddUserRegisterAddFriendIDListResp.commonResp:type_name -> admin_cms.CommonResp - 0, // 2: admin_cms.ReduceUserRegisterAddFriendIDListResp.commonResp:type_name -> admin_cms.CommonResp - 52, // 3: admin_cms.GetUserRegisterAddFriendIDListReq.pagination:type_name -> server_api_params.RequestPagination - 53, // 4: admin_cms.GetUserRegisterAddFriendIDListResp.userInfoList:type_name -> server_api_params.UserInfo - 54, // 5: admin_cms.GetUserRegisterAddFriendIDListResp.pagination:type_name -> server_api_params.ResponsePagination - 0, // 6: admin_cms.GetUserRegisterAddFriendIDListResp.commonResp:type_name -> admin_cms.CommonResp - 52, // 7: admin_cms.GetChatLogsReq.pagination:type_name -> server_api_params.RequestPagination - 10, // 8: admin_cms.GetChatLogsResp.chatLogs:type_name -> admin_cms.ChatLog - 54, // 9: admin_cms.GetChatLogsResp.pagination:type_name -> server_api_params.ResponsePagination - 0, // 10: admin_cms.GetChatLogsResp.commonResp:type_name -> admin_cms.CommonResp - 12, // 11: admin_cms.GetActiveUserReq.statisticsReq:type_name -> admin_cms.StatisticsReq - 14, // 12: admin_cms.GetActiveUserResp.Users:type_name -> admin_cms.UserResp - 0, // 13: admin_cms.GetActiveUserResp.commonResp:type_name -> admin_cms.CommonResp - 12, // 14: admin_cms.GetActiveGroupReq.statisticsReq:type_name -> admin_cms.StatisticsReq - 0, // 15: admin_cms.GroupResp.commonResp:type_name -> admin_cms.CommonResp - 17, // 16: admin_cms.GetActiveGroupResp.Groups:type_name -> admin_cms.GroupResp - 0, // 17: admin_cms.GetActiveGroupResp.commonResp:type_name -> admin_cms.CommonResp - 12, // 18: admin_cms.GetMessageStatisticsReq.StatisticsReq:type_name -> admin_cms.StatisticsReq - 19, // 19: admin_cms.GetMessageStatisticsResp.PrivateMessageNumList:type_name -> admin_cms.DateNumList - 19, // 20: admin_cms.GetMessageStatisticsResp.GroupMessageNumList:type_name -> admin_cms.DateNumList - 0, // 21: admin_cms.GetMessageStatisticsResp.commonResp:type_name -> admin_cms.CommonResp - 12, // 22: admin_cms.GetGroupStatisticsReq.StatisticsReq:type_name -> admin_cms.StatisticsReq - 19, // 23: admin_cms.GetGroupStatisticsResp.IncreaseGroupNumList:type_name -> admin_cms.DateNumList - 19, // 24: admin_cms.GetGroupStatisticsResp.TotalGroupNumList:type_name -> admin_cms.DateNumList - 0, // 25: admin_cms.GetGroupStatisticsResp.commonResp:type_name -> admin_cms.CommonResp - 12, // 26: admin_cms.GetUserStatisticsReq.StatisticsReq:type_name -> admin_cms.StatisticsReq - 19, // 27: admin_cms.GetUserStatisticsResp.IncreaseUserNumList:type_name -> admin_cms.DateNumList - 19, // 28: admin_cms.GetUserStatisticsResp.ActiveUserNumList:type_name -> admin_cms.DateNumList - 19, // 29: admin_cms.GetUserStatisticsResp.TotalUserNumList:type_name -> admin_cms.DateNumList - 0, // 30: admin_cms.GetUserStatisticsResp.commonResp:type_name -> admin_cms.CommonResp - 0, // 31: admin_cms.GenerateInvitationCodeResp.commonResp:type_name -> admin_cms.CommonResp - 52, // 32: admin_cms.GetInvitationCodesReq.pagination:type_name -> server_api_params.RequestPagination - 29, // 33: admin_cms.GetInvitationCodesResp.invitationCodes:type_name -> admin_cms.invitationCode - 54, // 34: admin_cms.GetInvitationCodesResp.Pagination:type_name -> server_api_params.ResponsePagination - 0, // 35: admin_cms.GetInvitationCodesResp.commonResp:type_name -> admin_cms.CommonResp - 0, // 36: admin_cms.QueryIPRegisterResp.commonResp:type_name -> admin_cms.CommonResp - 0, // 37: admin_cms.AddIPLimitResp.commonResp:type_name -> admin_cms.CommonResp - 0, // 38: admin_cms.RemoveIPLimitResp.commonResp:type_name -> admin_cms.CommonResp - 38, // 39: admin_cms.QueryUserIDIPLimitLoginResp.UserIPLimits:type_name -> admin_cms.UserIPLimit - 0, // 40: admin_cms.QueryUserIDIPLimitLoginResp.commonResp:type_name -> admin_cms.CommonResp - 0, // 41: admin_cms.AddUserIPLimitLoginResp.commonResp:type_name -> admin_cms.CommonResp - 0, // 42: admin_cms.RemoveUserIPLimitResp.commonResp:type_name -> admin_cms.CommonResp - 0, // 43: admin_cms.GetClientInitConfigResp.commonResp:type_name -> admin_cms.CommonResp - 0, // 44: admin_cms.SetClientInitConfigResp.commonResp:type_name -> admin_cms.CommonResp - 52, // 45: admin_cms.GetUserFriendsReq.pagination:type_name -> server_api_params.RequestPagination - 54, // 46: admin_cms.GetUserFriendsResp.pagination:type_name -> server_api_params.ResponsePagination - 55, // 47: admin_cms.GetUserFriendsResp.friendInfoList:type_name -> server_api_params.FriendInfo - 0, // 48: admin_cms.GetUserFriendsResp.commonResp:type_name -> admin_cms.CommonResp - 0, // 49: admin_cms.GetUserIDByEmailAndPhoneNumberResp.commonResp:type_name -> admin_cms.CommonResp - 1, // 50: admin_cms.adminCMS.AdminLogin:input_type -> admin_cms.AdminLoginReq - 3, // 51: admin_cms.adminCMS.AddUserRegisterAddFriendIDList:input_type -> admin_cms.AddUserRegisterAddFriendIDListReq - 5, // 52: admin_cms.adminCMS.ReduceUserRegisterAddFriendIDList:input_type -> admin_cms.ReduceUserRegisterAddFriendIDListReq - 7, // 53: admin_cms.adminCMS.GetUserRegisterAddFriendIDList:input_type -> admin_cms.GetUserRegisterAddFriendIDListReq - 9, // 54: admin_cms.adminCMS.GetChatLogs:input_type -> admin_cms.GetChatLogsReq - 13, // 55: admin_cms.adminCMS.GetActiveUser:input_type -> admin_cms.GetActiveUserReq - 16, // 56: admin_cms.adminCMS.GetActiveGroup:input_type -> admin_cms.GetActiveGroupReq - 20, // 57: admin_cms.adminCMS.GetMessageStatistics:input_type -> admin_cms.GetMessageStatisticsReq - 22, // 58: admin_cms.adminCMS.GetGroupStatistics:input_type -> admin_cms.GetGroupStatisticsReq - 24, // 59: admin_cms.adminCMS.GetUserStatistics:input_type -> admin_cms.GetUserStatisticsReq - 26, // 60: admin_cms.adminCMS.GenerateInvitationCode:input_type -> admin_cms.GenerateInvitationCodeReq - 28, // 61: admin_cms.adminCMS.GetInvitationCodes:input_type -> admin_cms.GetInvitationCodesReq - 31, // 62: admin_cms.adminCMS.QueryIPRegister:input_type -> admin_cms.QueryIPRegisterReq - 33, // 63: admin_cms.adminCMS.AddIPLimit:input_type -> admin_cms.AddIPLimitReq - 35, // 64: admin_cms.adminCMS.RemoveIPLimit:input_type -> admin_cms.RemoveIPLimitReq - 37, // 65: admin_cms.adminCMS.QueryUserIDIPLimitLogin:input_type -> admin_cms.QueryUserIDIPLimitLoginReq - 40, // 66: admin_cms.adminCMS.AddUserIPLimitLogin:input_type -> admin_cms.AddUserIPLimitLoginReq - 42, // 67: admin_cms.adminCMS.RemoveUserIPLimit:input_type -> admin_cms.RemoveUserIPLimitReq - 44, // 68: admin_cms.adminCMS.GetClientInitConfig:input_type -> admin_cms.GetClientInitConfigReq - 46, // 69: admin_cms.adminCMS.SetClientInitConfig:input_type -> admin_cms.SetClientInitConfigReq - 48, // 70: admin_cms.adminCMS.GetUserFriends:input_type -> admin_cms.GetUserFriendsReq - 50, // 71: admin_cms.adminCMS.GetUserIDByEmailAndPhoneNumber:input_type -> admin_cms.GetUserIDByEmailAndPhoneNumberReq - 2, // 72: admin_cms.adminCMS.AdminLogin:output_type -> admin_cms.AdminLoginResp - 4, // 73: admin_cms.adminCMS.AddUserRegisterAddFriendIDList:output_type -> admin_cms.AddUserRegisterAddFriendIDListResp - 6, // 74: admin_cms.adminCMS.ReduceUserRegisterAddFriendIDList:output_type -> admin_cms.ReduceUserRegisterAddFriendIDListResp - 8, // 75: admin_cms.adminCMS.GetUserRegisterAddFriendIDList:output_type -> admin_cms.GetUserRegisterAddFriendIDListResp - 11, // 76: admin_cms.adminCMS.GetChatLogs:output_type -> admin_cms.GetChatLogsResp - 15, // 77: admin_cms.adminCMS.GetActiveUser:output_type -> admin_cms.GetActiveUserResp - 18, // 78: admin_cms.adminCMS.GetActiveGroup:output_type -> admin_cms.GetActiveGroupResp - 21, // 79: admin_cms.adminCMS.GetMessageStatistics:output_type -> admin_cms.GetMessageStatisticsResp - 23, // 80: admin_cms.adminCMS.GetGroupStatistics:output_type -> admin_cms.GetGroupStatisticsResp - 25, // 81: admin_cms.adminCMS.GetUserStatistics:output_type -> admin_cms.GetUserStatisticsResp - 27, // 82: admin_cms.adminCMS.GenerateInvitationCode:output_type -> admin_cms.GenerateInvitationCodeResp - 30, // 83: admin_cms.adminCMS.GetInvitationCodes:output_type -> admin_cms.GetInvitationCodesResp - 32, // 84: admin_cms.adminCMS.QueryIPRegister:output_type -> admin_cms.QueryIPRegisterResp - 34, // 85: admin_cms.adminCMS.AddIPLimit:output_type -> admin_cms.AddIPLimitResp - 36, // 86: admin_cms.adminCMS.RemoveIPLimit:output_type -> admin_cms.RemoveIPLimitResp - 39, // 87: admin_cms.adminCMS.QueryUserIDIPLimitLogin:output_type -> admin_cms.QueryUserIDIPLimitLoginResp - 41, // 88: admin_cms.adminCMS.AddUserIPLimitLogin:output_type -> admin_cms.AddUserIPLimitLoginResp - 43, // 89: admin_cms.adminCMS.RemoveUserIPLimit:output_type -> admin_cms.RemoveUserIPLimitResp - 45, // 90: admin_cms.adminCMS.GetClientInitConfig:output_type -> admin_cms.GetClientInitConfigResp - 47, // 91: admin_cms.adminCMS.SetClientInitConfig:output_type -> admin_cms.SetClientInitConfigResp - 49, // 92: admin_cms.adminCMS.GetUserFriends:output_type -> admin_cms.GetUserFriendsResp - 51, // 93: admin_cms.adminCMS.GetUserIDByEmailAndPhoneNumber:output_type -> admin_cms.GetUserIDByEmailAndPhoneNumberResp - 72, // [72:94] is the sub-list for method output_type - 50, // [50:72] is the sub-list for method input_type - 50, // [50:50] is the sub-list for extension type_name - 50, // [50:50] is the sub-list for extension extendee - 0, // [0:50] is the sub-list for field type_name -} - -func init() { file_admin_cms_admin_cms_proto_init() } -func file_admin_cms_admin_cms_proto_init() { - if File_admin_cms_admin_cms_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_admin_cms_admin_cms_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CommonResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AdminLoginReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AdminLoginResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddUserRegisterAddFriendIDListReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddUserRegisterAddFriendIDListResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ReduceUserRegisterAddFriendIDListReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ReduceUserRegisterAddFriendIDListResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUserRegisterAddFriendIDListReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUserRegisterAddFriendIDListResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetChatLogsReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChatLog); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetChatLogsResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StatisticsReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetActiveUserReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetActiveUserResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetActiveGroupReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GroupResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetActiveGroupResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DateNumList); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMessageStatisticsReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMessageStatisticsResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGroupStatisticsReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGroupStatisticsResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUserStatisticsReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUserStatisticsResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GenerateInvitationCodeReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GenerateInvitationCodeResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetInvitationCodesReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InvitationCode); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetInvitationCodesResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueryIPRegisterReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueryIPRegisterResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddIPLimitReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddIPLimitResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RemoveIPLimitReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RemoveIPLimitResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueryUserIDIPLimitLoginReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserIPLimit); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueryUserIDIPLimitLoginResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddUserIPLimitLoginReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddUserIPLimitLoginResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RemoveUserIPLimitReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RemoveUserIPLimitResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetClientInitConfigReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetClientInitConfigResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetClientInitConfigReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetClientInitConfigResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUserFriendsReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUserFriendsResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUserIDByEmailAndPhoneNumberReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_admin_cms_admin_cms_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUserIDByEmailAndPhoneNumberResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_admin_cms_admin_cms_proto_rawDesc, - NumEnums: 0, - NumMessages: 52, - NumExtensions: 0, - NumServices: 1, - }, - GoTypes: file_admin_cms_admin_cms_proto_goTypes, - DependencyIndexes: file_admin_cms_admin_cms_proto_depIdxs, - MessageInfos: file_admin_cms_admin_cms_proto_msgTypes, - }.Build() - File_admin_cms_admin_cms_proto = out.File - file_admin_cms_admin_cms_proto_rawDesc = nil - file_admin_cms_admin_cms_proto_goTypes = nil - file_admin_cms_admin_cms_proto_depIdxs = nil +func init() { + proto.RegisterType((*CommonResp)(nil), "admin_cms.CommonResp") + proto.RegisterType((*AdminLoginReq)(nil), "admin_cms.AdminLoginReq") + proto.RegisterType((*AdminLoginResp)(nil), "admin_cms.AdminLoginResp") + proto.RegisterType((*GetUserTokenReq)(nil), "admin_cms.GetUserTokenReq") + proto.RegisterType((*GetUserTokenResp)(nil), "admin_cms.GetUserTokenResp") + proto.RegisterType((*AddUserRegisterAddFriendIDListReq)(nil), "admin_cms.AddUserRegisterAddFriendIDListReq") + proto.RegisterType((*AddUserRegisterAddFriendIDListResp)(nil), "admin_cms.AddUserRegisterAddFriendIDListResp") + proto.RegisterType((*ReduceUserRegisterAddFriendIDListReq)(nil), "admin_cms.ReduceUserRegisterAddFriendIDListReq") + proto.RegisterType((*ReduceUserRegisterAddFriendIDListResp)(nil), "admin_cms.ReduceUserRegisterAddFriendIDListResp") + proto.RegisterType((*GetUserRegisterAddFriendIDListReq)(nil), "admin_cms.GetUserRegisterAddFriendIDListReq") + proto.RegisterType((*GetUserRegisterAddFriendIDListResp)(nil), "admin_cms.GetUserRegisterAddFriendIDListResp") + proto.RegisterType((*GetChatLogsReq)(nil), "admin_cms.GetChatLogsReq") + proto.RegisterType((*ChatLog)(nil), "admin_cms.ChatLog") + proto.RegisterType((*GetChatLogsResp)(nil), "admin_cms.GetChatLogsResp") + proto.RegisterType((*StatisticsReq)(nil), "admin_cms.StatisticsReq") + proto.RegisterType((*GetActiveUserReq)(nil), "admin_cms.GetActiveUserReq") + proto.RegisterType((*UserResp)(nil), "admin_cms.UserResp") + proto.RegisterType((*GetActiveUserResp)(nil), "admin_cms.GetActiveUserResp") + proto.RegisterType((*GetActiveGroupReq)(nil), "admin_cms.GetActiveGroupReq") + proto.RegisterType((*GroupResp)(nil), "admin_cms.GroupResp") + proto.RegisterType((*GetActiveGroupResp)(nil), "admin_cms.GetActiveGroupResp") + proto.RegisterType((*DateNumList)(nil), "admin_cms.DateNumList") + proto.RegisterType((*GetMessageStatisticsReq)(nil), "admin_cms.GetMessageStatisticsReq") + proto.RegisterType((*GetMessageStatisticsResp)(nil), "admin_cms.GetMessageStatisticsResp") + proto.RegisterType((*GetGroupStatisticsReq)(nil), "admin_cms.GetGroupStatisticsReq") + proto.RegisterType((*GetGroupStatisticsResp)(nil), "admin_cms.GetGroupStatisticsResp") + proto.RegisterType((*GetUserStatisticsReq)(nil), "admin_cms.GetUserStatisticsReq") + proto.RegisterType((*GetUserStatisticsResp)(nil), "admin_cms.GetUserStatisticsResp") + proto.RegisterType((*GenerateInvitationCodeReq)(nil), "admin_cms.GenerateInvitationCodeReq") + proto.RegisterType((*GenerateInvitationCodeResp)(nil), "admin_cms.GenerateInvitationCodeResp") + proto.RegisterType((*GetInvitationCodesReq)(nil), "admin_cms.GetInvitationCodesReq") + proto.RegisterType((*InvitationCode)(nil), "admin_cms.invitationCode") + proto.RegisterType((*GetInvitationCodesResp)(nil), "admin_cms.GetInvitationCodesResp") + proto.RegisterType((*QueryIPRegisterReq)(nil), "admin_cms.QueryIPRegisterReq") + proto.RegisterType((*QueryIPRegisterResp)(nil), "admin_cms.QueryIPRegisterResp") + proto.RegisterType((*AddIPLimitReq)(nil), "admin_cms.AddIPLimitReq") + proto.RegisterType((*AddIPLimitResp)(nil), "admin_cms.AddIPLimitResp") + proto.RegisterType((*RemoveIPLimitReq)(nil), "admin_cms.RemoveIPLimitReq") + proto.RegisterType((*RemoveIPLimitResp)(nil), "admin_cms.RemoveIPLimitResp") + proto.RegisterType((*QueryUserIDIPLimitLoginReq)(nil), "admin_cms.QueryUserIDIPLimitLoginReq") + proto.RegisterType((*UserIPLimit)(nil), "admin_cms.UserIPLimit") + proto.RegisterType((*QueryUserIDIPLimitLoginResp)(nil), "admin_cms.QueryUserIDIPLimitLoginResp") + proto.RegisterType((*AddUserIPLimitLoginReq)(nil), "admin_cms.AddUserIPLimitLoginReq") + proto.RegisterType((*AddUserIPLimitLoginResp)(nil), "admin_cms.AddUserIPLimitLoginResp") + proto.RegisterType((*RemoveUserIPLimitReq)(nil), "admin_cms.RemoveUserIPLimitReq") + proto.RegisterType((*RemoveUserIPLimitResp)(nil), "admin_cms.RemoveUserIPLimitResp") + proto.RegisterType((*GetClientInitConfigReq)(nil), "admin_cms.GetClientInitConfigReq") + proto.RegisterType((*GetClientInitConfigResp)(nil), "admin_cms.GetClientInitConfigResp") + proto.RegisterType((*SetClientInitConfigReq)(nil), "admin_cms.SetClientInitConfigReq") + proto.RegisterType((*SetClientInitConfigResp)(nil), "admin_cms.SetClientInitConfigResp") + proto.RegisterType((*GetUserFriendsReq)(nil), "admin_cms.GetUserFriendsReq") + proto.RegisterType((*GetUserFriendsResp)(nil), "admin_cms.GetUserFriendsResp") + proto.RegisterType((*GetUserIDByEmailAndPhoneNumberReq)(nil), "admin_cms.GetUserIDByEmailAndPhoneNumberReq") + proto.RegisterType((*GetUserIDByEmailAndPhoneNumberResp)(nil), "admin_cms.GetUserIDByEmailAndPhoneNumberResp") } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context -var _ grpc.ClientConnInterface +var _ grpc.ClientConn // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion6 +const _ = grpc.SupportPackageIsVersion4 + +// Client API for AdminCMS service -// AdminCMSClient is the client API for AdminCMS service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type AdminCMSClient interface { AdminLogin(ctx context.Context, in *AdminLoginReq, opts ...grpc.CallOption) (*AdminLoginResp, error) AddUserRegisterAddFriendIDList(ctx context.Context, in *AddUserRegisterAddFriendIDListReq, opts ...grpc.CallOption) (*AddUserRegisterAddFriendIDListResp, error) @@ -4780,19 +3038,20 @@ type AdminCMSClient interface { SetClientInitConfig(ctx context.Context, in *SetClientInitConfigReq, opts ...grpc.CallOption) (*SetClientInitConfigResp, error) GetUserFriends(ctx context.Context, in *GetUserFriendsReq, opts ...grpc.CallOption) (*GetUserFriendsResp, error) GetUserIDByEmailAndPhoneNumber(ctx context.Context, in *GetUserIDByEmailAndPhoneNumberReq, opts ...grpc.CallOption) (*GetUserIDByEmailAndPhoneNumberResp, error) + GetUserToken(ctx context.Context, in *GetUserTokenReq, opts ...grpc.CallOption) (*GetUserTokenResp, error) } type adminCMSClient struct { - cc grpc.ClientConnInterface + cc *grpc.ClientConn } -func NewAdminCMSClient(cc grpc.ClientConnInterface) AdminCMSClient { +func NewAdminCMSClient(cc *grpc.ClientConn) AdminCMSClient { return &adminCMSClient{cc} } func (c *adminCMSClient) AdminLogin(ctx context.Context, in *AdminLoginReq, opts ...grpc.CallOption) (*AdminLoginResp, error) { out := new(AdminLoginResp) - err := c.cc.Invoke(ctx, "/admin_cms.adminCMS/AdminLogin", in, out, opts...) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/AdminLogin", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4801,7 +3060,7 @@ func (c *adminCMSClient) AdminLogin(ctx context.Context, in *AdminLoginReq, opts func (c *adminCMSClient) AddUserRegisterAddFriendIDList(ctx context.Context, in *AddUserRegisterAddFriendIDListReq, opts ...grpc.CallOption) (*AddUserRegisterAddFriendIDListResp, error) { out := new(AddUserRegisterAddFriendIDListResp) - err := c.cc.Invoke(ctx, "/admin_cms.adminCMS/AddUserRegisterAddFriendIDList", in, out, opts...) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/AddUserRegisterAddFriendIDList", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4810,7 +3069,7 @@ func (c *adminCMSClient) AddUserRegisterAddFriendIDList(ctx context.Context, in func (c *adminCMSClient) ReduceUserRegisterAddFriendIDList(ctx context.Context, in *ReduceUserRegisterAddFriendIDListReq, opts ...grpc.CallOption) (*ReduceUserRegisterAddFriendIDListResp, error) { out := new(ReduceUserRegisterAddFriendIDListResp) - err := c.cc.Invoke(ctx, "/admin_cms.adminCMS/ReduceUserRegisterAddFriendIDList", in, out, opts...) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/ReduceUserRegisterAddFriendIDList", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4819,7 +3078,7 @@ func (c *adminCMSClient) ReduceUserRegisterAddFriendIDList(ctx context.Context, func (c *adminCMSClient) GetUserRegisterAddFriendIDList(ctx context.Context, in *GetUserRegisterAddFriendIDListReq, opts ...grpc.CallOption) (*GetUserRegisterAddFriendIDListResp, error) { out := new(GetUserRegisterAddFriendIDListResp) - err := c.cc.Invoke(ctx, "/admin_cms.adminCMS/GetUserRegisterAddFriendIDList", in, out, opts...) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/GetUserRegisterAddFriendIDList", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4828,7 +3087,7 @@ func (c *adminCMSClient) GetUserRegisterAddFriendIDList(ctx context.Context, in func (c *adminCMSClient) GetChatLogs(ctx context.Context, in *GetChatLogsReq, opts ...grpc.CallOption) (*GetChatLogsResp, error) { out := new(GetChatLogsResp) - err := c.cc.Invoke(ctx, "/admin_cms.adminCMS/GetChatLogs", in, out, opts...) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/GetChatLogs", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4837,7 +3096,7 @@ func (c *adminCMSClient) GetChatLogs(ctx context.Context, in *GetChatLogsReq, op func (c *adminCMSClient) GetActiveUser(ctx context.Context, in *GetActiveUserReq, opts ...grpc.CallOption) (*GetActiveUserResp, error) { out := new(GetActiveUserResp) - err := c.cc.Invoke(ctx, "/admin_cms.adminCMS/GetActiveUser", in, out, opts...) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/GetActiveUser", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4846,7 +3105,7 @@ func (c *adminCMSClient) GetActiveUser(ctx context.Context, in *GetActiveUserReq func (c *adminCMSClient) GetActiveGroup(ctx context.Context, in *GetActiveGroupReq, opts ...grpc.CallOption) (*GetActiveGroupResp, error) { out := new(GetActiveGroupResp) - err := c.cc.Invoke(ctx, "/admin_cms.adminCMS/GetActiveGroup", in, out, opts...) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/GetActiveGroup", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4855,7 +3114,7 @@ func (c *adminCMSClient) GetActiveGroup(ctx context.Context, in *GetActiveGroupR func (c *adminCMSClient) GetMessageStatistics(ctx context.Context, in *GetMessageStatisticsReq, opts ...grpc.CallOption) (*GetMessageStatisticsResp, error) { out := new(GetMessageStatisticsResp) - err := c.cc.Invoke(ctx, "/admin_cms.adminCMS/GetMessageStatistics", in, out, opts...) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/GetMessageStatistics", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4864,7 +3123,7 @@ func (c *adminCMSClient) GetMessageStatistics(ctx context.Context, in *GetMessag func (c *adminCMSClient) GetGroupStatistics(ctx context.Context, in *GetGroupStatisticsReq, opts ...grpc.CallOption) (*GetGroupStatisticsResp, error) { out := new(GetGroupStatisticsResp) - err := c.cc.Invoke(ctx, "/admin_cms.adminCMS/GetGroupStatistics", in, out, opts...) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/GetGroupStatistics", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4873,7 +3132,7 @@ func (c *adminCMSClient) GetGroupStatistics(ctx context.Context, in *GetGroupSta func (c *adminCMSClient) GetUserStatistics(ctx context.Context, in *GetUserStatisticsReq, opts ...grpc.CallOption) (*GetUserStatisticsResp, error) { out := new(GetUserStatisticsResp) - err := c.cc.Invoke(ctx, "/admin_cms.adminCMS/GetUserStatistics", in, out, opts...) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/GetUserStatistics", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4882,7 +3141,7 @@ func (c *adminCMSClient) GetUserStatistics(ctx context.Context, in *GetUserStati func (c *adminCMSClient) GenerateInvitationCode(ctx context.Context, in *GenerateInvitationCodeReq, opts ...grpc.CallOption) (*GenerateInvitationCodeResp, error) { out := new(GenerateInvitationCodeResp) - err := c.cc.Invoke(ctx, "/admin_cms.adminCMS/GenerateInvitationCode", in, out, opts...) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/GenerateInvitationCode", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4891,7 +3150,7 @@ func (c *adminCMSClient) GenerateInvitationCode(ctx context.Context, in *Generat func (c *adminCMSClient) GetInvitationCodes(ctx context.Context, in *GetInvitationCodesReq, opts ...grpc.CallOption) (*GetInvitationCodesResp, error) { out := new(GetInvitationCodesResp) - err := c.cc.Invoke(ctx, "/admin_cms.adminCMS/GetInvitationCodes", in, out, opts...) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/GetInvitationCodes", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4900,7 +3159,7 @@ func (c *adminCMSClient) GetInvitationCodes(ctx context.Context, in *GetInvitati func (c *adminCMSClient) QueryIPRegister(ctx context.Context, in *QueryIPRegisterReq, opts ...grpc.CallOption) (*QueryIPRegisterResp, error) { out := new(QueryIPRegisterResp) - err := c.cc.Invoke(ctx, "/admin_cms.adminCMS/QueryIPRegister", in, out, opts...) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/QueryIPRegister", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4909,7 +3168,7 @@ func (c *adminCMSClient) QueryIPRegister(ctx context.Context, in *QueryIPRegiste func (c *adminCMSClient) AddIPLimit(ctx context.Context, in *AddIPLimitReq, opts ...grpc.CallOption) (*AddIPLimitResp, error) { out := new(AddIPLimitResp) - err := c.cc.Invoke(ctx, "/admin_cms.adminCMS/AddIPLimit", in, out, opts...) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/AddIPLimit", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4918,7 +3177,7 @@ func (c *adminCMSClient) AddIPLimit(ctx context.Context, in *AddIPLimitReq, opts func (c *adminCMSClient) RemoveIPLimit(ctx context.Context, in *RemoveIPLimitReq, opts ...grpc.CallOption) (*RemoveIPLimitResp, error) { out := new(RemoveIPLimitResp) - err := c.cc.Invoke(ctx, "/admin_cms.adminCMS/RemoveIPLimit", in, out, opts...) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/RemoveIPLimit", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4927,7 +3186,7 @@ func (c *adminCMSClient) RemoveIPLimit(ctx context.Context, in *RemoveIPLimitReq func (c *adminCMSClient) QueryUserIDIPLimitLogin(ctx context.Context, in *QueryUserIDIPLimitLoginReq, opts ...grpc.CallOption) (*QueryUserIDIPLimitLoginResp, error) { out := new(QueryUserIDIPLimitLoginResp) - err := c.cc.Invoke(ctx, "/admin_cms.adminCMS/QueryUserIDIPLimitLogin", in, out, opts...) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/QueryUserIDIPLimitLogin", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4936,7 +3195,7 @@ func (c *adminCMSClient) QueryUserIDIPLimitLogin(ctx context.Context, in *QueryU func (c *adminCMSClient) AddUserIPLimitLogin(ctx context.Context, in *AddUserIPLimitLoginReq, opts ...grpc.CallOption) (*AddUserIPLimitLoginResp, error) { out := new(AddUserIPLimitLoginResp) - err := c.cc.Invoke(ctx, "/admin_cms.adminCMS/AddUserIPLimitLogin", in, out, opts...) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/AddUserIPLimitLogin", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4945,7 +3204,7 @@ func (c *adminCMSClient) AddUserIPLimitLogin(ctx context.Context, in *AddUserIPL func (c *adminCMSClient) RemoveUserIPLimit(ctx context.Context, in *RemoveUserIPLimitReq, opts ...grpc.CallOption) (*RemoveUserIPLimitResp, error) { out := new(RemoveUserIPLimitResp) - err := c.cc.Invoke(ctx, "/admin_cms.adminCMS/RemoveUserIPLimit", in, out, opts...) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/RemoveUserIPLimit", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4954,7 +3213,7 @@ func (c *adminCMSClient) RemoveUserIPLimit(ctx context.Context, in *RemoveUserIP func (c *adminCMSClient) GetClientInitConfig(ctx context.Context, in *GetClientInitConfigReq, opts ...grpc.CallOption) (*GetClientInitConfigResp, error) { out := new(GetClientInitConfigResp) - err := c.cc.Invoke(ctx, "/admin_cms.adminCMS/GetClientInitConfig", in, out, opts...) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/GetClientInitConfig", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4963,7 +3222,7 @@ func (c *adminCMSClient) GetClientInitConfig(ctx context.Context, in *GetClientI func (c *adminCMSClient) SetClientInitConfig(ctx context.Context, in *SetClientInitConfigReq, opts ...grpc.CallOption) (*SetClientInitConfigResp, error) { out := new(SetClientInitConfigResp) - err := c.cc.Invoke(ctx, "/admin_cms.adminCMS/SetClientInitConfig", in, out, opts...) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/SetClientInitConfig", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4972,7 +3231,7 @@ func (c *adminCMSClient) SetClientInitConfig(ctx context.Context, in *SetClientI func (c *adminCMSClient) GetUserFriends(ctx context.Context, in *GetUserFriendsReq, opts ...grpc.CallOption) (*GetUserFriendsResp, error) { out := new(GetUserFriendsResp) - err := c.cc.Invoke(ctx, "/admin_cms.adminCMS/GetUserFriends", in, out, opts...) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/GetUserFriends", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4981,14 +3240,24 @@ func (c *adminCMSClient) GetUserFriends(ctx context.Context, in *GetUserFriendsR func (c *adminCMSClient) GetUserIDByEmailAndPhoneNumber(ctx context.Context, in *GetUserIDByEmailAndPhoneNumberReq, opts ...grpc.CallOption) (*GetUserIDByEmailAndPhoneNumberResp, error) { out := new(GetUserIDByEmailAndPhoneNumberResp) - err := c.cc.Invoke(ctx, "/admin_cms.adminCMS/GetUserIDByEmailAndPhoneNumber", in, out, opts...) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/GetUserIDByEmailAndPhoneNumber", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } -// AdminCMSServer is the server API for AdminCMS service. +func (c *adminCMSClient) GetUserToken(ctx context.Context, in *GetUserTokenReq, opts ...grpc.CallOption) (*GetUserTokenResp, error) { + out := new(GetUserTokenResp) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/GetUserToken", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// Server API for AdminCMS service + type AdminCMSServer interface { AdminLogin(context.Context, *AdminLoginReq) (*AdminLoginResp, error) AddUserRegisterAddFriendIDList(context.Context, *AddUserRegisterAddFriendIDListReq) (*AddUserRegisterAddFriendIDListResp, error) @@ -5012,77 +3281,7 @@ type AdminCMSServer interface { SetClientInitConfig(context.Context, *SetClientInitConfigReq) (*SetClientInitConfigResp, error) GetUserFriends(context.Context, *GetUserFriendsReq) (*GetUserFriendsResp, error) GetUserIDByEmailAndPhoneNumber(context.Context, *GetUserIDByEmailAndPhoneNumberReq) (*GetUserIDByEmailAndPhoneNumberResp, error) -} - -// UnimplementedAdminCMSServer can be embedded to have forward compatible implementations. -type UnimplementedAdminCMSServer struct { -} - -func (*UnimplementedAdminCMSServer) AdminLogin(context.Context, *AdminLoginReq) (*AdminLoginResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method AdminLogin not implemented") -} -func (*UnimplementedAdminCMSServer) AddUserRegisterAddFriendIDList(context.Context, *AddUserRegisterAddFriendIDListReq) (*AddUserRegisterAddFriendIDListResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method AddUserRegisterAddFriendIDList not implemented") -} -func (*UnimplementedAdminCMSServer) ReduceUserRegisterAddFriendIDList(context.Context, *ReduceUserRegisterAddFriendIDListReq) (*ReduceUserRegisterAddFriendIDListResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method ReduceUserRegisterAddFriendIDList not implemented") -} -func (*UnimplementedAdminCMSServer) GetUserRegisterAddFriendIDList(context.Context, *GetUserRegisterAddFriendIDListReq) (*GetUserRegisterAddFriendIDListResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetUserRegisterAddFriendIDList not implemented") -} -func (*UnimplementedAdminCMSServer) GetChatLogs(context.Context, *GetChatLogsReq) (*GetChatLogsResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetChatLogs not implemented") -} -func (*UnimplementedAdminCMSServer) GetActiveUser(context.Context, *GetActiveUserReq) (*GetActiveUserResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetActiveUser not implemented") -} -func (*UnimplementedAdminCMSServer) GetActiveGroup(context.Context, *GetActiveGroupReq) (*GetActiveGroupResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetActiveGroup not implemented") -} -func (*UnimplementedAdminCMSServer) GetMessageStatistics(context.Context, *GetMessageStatisticsReq) (*GetMessageStatisticsResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetMessageStatistics not implemented") -} -func (*UnimplementedAdminCMSServer) GetGroupStatistics(context.Context, *GetGroupStatisticsReq) (*GetGroupStatisticsResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetGroupStatistics not implemented") -} -func (*UnimplementedAdminCMSServer) GetUserStatistics(context.Context, *GetUserStatisticsReq) (*GetUserStatisticsResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetUserStatistics not implemented") -} -func (*UnimplementedAdminCMSServer) GenerateInvitationCode(context.Context, *GenerateInvitationCodeReq) (*GenerateInvitationCodeResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GenerateInvitationCode not implemented") -} -func (*UnimplementedAdminCMSServer) GetInvitationCodes(context.Context, *GetInvitationCodesReq) (*GetInvitationCodesResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetInvitationCodes not implemented") -} -func (*UnimplementedAdminCMSServer) QueryIPRegister(context.Context, *QueryIPRegisterReq) (*QueryIPRegisterResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method QueryIPRegister not implemented") -} -func (*UnimplementedAdminCMSServer) AddIPLimit(context.Context, *AddIPLimitReq) (*AddIPLimitResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method AddIPLimit not implemented") -} -func (*UnimplementedAdminCMSServer) RemoveIPLimit(context.Context, *RemoveIPLimitReq) (*RemoveIPLimitResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method RemoveIPLimit not implemented") -} -func (*UnimplementedAdminCMSServer) QueryUserIDIPLimitLogin(context.Context, *QueryUserIDIPLimitLoginReq) (*QueryUserIDIPLimitLoginResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method QueryUserIDIPLimitLogin not implemented") -} -func (*UnimplementedAdminCMSServer) AddUserIPLimitLogin(context.Context, *AddUserIPLimitLoginReq) (*AddUserIPLimitLoginResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method AddUserIPLimitLogin not implemented") -} -func (*UnimplementedAdminCMSServer) RemoveUserIPLimit(context.Context, *RemoveUserIPLimitReq) (*RemoveUserIPLimitResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method RemoveUserIPLimit not implemented") -} -func (*UnimplementedAdminCMSServer) GetClientInitConfig(context.Context, *GetClientInitConfigReq) (*GetClientInitConfigResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetClientInitConfig not implemented") -} -func (*UnimplementedAdminCMSServer) SetClientInitConfig(context.Context, *SetClientInitConfigReq) (*SetClientInitConfigResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method SetClientInitConfig not implemented") -} -func (*UnimplementedAdminCMSServer) GetUserFriends(context.Context, *GetUserFriendsReq) (*GetUserFriendsResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetUserFriends not implemented") -} -func (*UnimplementedAdminCMSServer) GetUserIDByEmailAndPhoneNumber(context.Context, *GetUserIDByEmailAndPhoneNumberReq) (*GetUserIDByEmailAndPhoneNumberResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetUserIDByEmailAndPhoneNumber not implemented") + GetUserToken(context.Context, *GetUserTokenReq) (*GetUserTokenResp, error) } func RegisterAdminCMSServer(s *grpc.Server, srv AdminCMSServer) { @@ -5485,6 +3684,24 @@ func _AdminCMS_GetUserIDByEmailAndPhoneNumber_Handler(srv interface{}, ctx conte return interceptor(ctx, in, info, handler) } +func _AdminCMS_GetUserToken_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetUserTokenReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AdminCMSServer).GetUserToken(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/admin_cms.adminCMS/GetUserToken", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AdminCMSServer).GetUserToken(ctx, req.(*GetUserTokenReq)) + } + return interceptor(ctx, in, info, handler) +} + var _AdminCMS_serviceDesc = grpc.ServiceDesc{ ServiceName: "admin_cms.adminCMS", HandlerType: (*AdminCMSServer)(nil), @@ -5577,7 +3794,163 @@ var _AdminCMS_serviceDesc = grpc.ServiceDesc{ MethodName: "GetUserIDByEmailAndPhoneNumber", Handler: _AdminCMS_GetUserIDByEmailAndPhoneNumber_Handler, }, + { + MethodName: "GetUserToken", + Handler: _AdminCMS_GetUserToken_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "admin_cms/admin_cms.proto", } + +func init() { + proto.RegisterFile("admin_cms/admin_cms.proto", fileDescriptor_admin_cms_f23e453f07b40171) +} + +var fileDescriptor_admin_cms_f23e453f07b40171 = []byte{ + // 2290 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x1a, 0x4d, 0x6f, 0x1c, 0x49, + 0x55, 0x3d, 0x1f, 0xfe, 0x78, 0xfe, 0x2e, 0x3b, 0xde, 0x71, 0x67, 0xd7, 0xd8, 0x4d, 0xbc, 0x18, + 0xb4, 0xb1, 0x91, 0x23, 0x2e, 0x8b, 0x14, 0xe4, 0x78, 0x62, 0x33, 0x91, 0xed, 0x0c, 0x3d, 0xc9, + 0x4a, 0xc0, 0x6a, 0x4d, 0x67, 0xa6, 0x3c, 0x69, 0xd9, 0xd3, 0x5d, 0xe9, 0xea, 0xf1, 0xc6, 0x5a, + 0xed, 0x75, 0x2f, 0x5c, 0x90, 0x90, 0x38, 0x70, 0x44, 0xdc, 0x38, 0x70, 0x40, 0xe2, 0xce, 0xef, + 0xe0, 0xb0, 0x42, 0xfc, 0x0a, 0x6e, 0xa8, 0xaa, 0xfa, 0xa3, 0xaa, 0xba, 0x67, 0xa6, 0xd3, 0x8e, + 0x72, 0x9b, 0xf7, 0xfa, 0xd5, 0xfb, 0xae, 0x57, 0xaf, 0x5e, 0x0d, 0x6c, 0x38, 0xbd, 0x81, 0xeb, + 0x5d, 0x74, 0x07, 0x74, 0x3f, 0xf9, 0xb5, 0x47, 0x02, 0x3f, 0xf4, 0xd1, 0x6c, 0x82, 0x30, 0x77, + 0x9f, 0x13, 0xec, 0x3d, 0x6c, 0x9d, 0x3d, 0xec, 0xe0, 0xe0, 0x06, 0x07, 0xfb, 0xe4, 0xaa, 0xbf, + 0xcf, 0x89, 0xf6, 0x69, 0xef, 0xea, 0xe2, 0x6b, 0xba, 0xff, 0x75, 0xb4, 0xc8, 0x7a, 0x0c, 0x70, + 0xe4, 0x0f, 0x06, 0xbe, 0x67, 0x63, 0x4a, 0x50, 0x03, 0xa6, 0x71, 0x10, 0x1c, 0xf9, 0x3d, 0xdc, + 0x30, 0xb6, 0x8c, 0xdd, 0xba, 0x1d, 0x83, 0x68, 0x1d, 0xa6, 0x70, 0x10, 0x9c, 0xd1, 0x7e, 0xa3, + 0xb2, 0x65, 0xec, 0xce, 0xda, 0x11, 0x64, 0x75, 0x61, 0xe1, 0x90, 0x89, 0x3d, 0xf5, 0xfb, 0xae, + 0x67, 0xe3, 0x37, 0x68, 0x0b, 0xe6, 0x7c, 0x82, 0x03, 0x27, 0x74, 0x7d, 0xaf, 0xd5, 0xe4, 0x6c, + 0x66, 0x6d, 0x19, 0xc5, 0x84, 0x70, 0x4d, 0x5b, 0xcd, 0x88, 0x57, 0x0c, 0x32, 0x21, 0x14, 0x77, + 0x03, 0x1c, 0x36, 0xaa, 0x42, 0x88, 0x80, 0xac, 0x3f, 0x1a, 0xb0, 0x28, 0x4b, 0xa1, 0x04, 0xad, + 0x41, 0x3d, 0xf4, 0xaf, 0xb0, 0x17, 0x09, 0x10, 0x00, 0x32, 0x61, 0x66, 0x48, 0x71, 0x70, 0xee, + 0x0c, 0x70, 0xc4, 0x3b, 0x81, 0x99, 0xd8, 0x4b, 0xa7, 0x8b, 0x5f, 0xda, 0xa7, 0x11, 0xf7, 0x18, + 0x44, 0x3f, 0x03, 0xe8, 0x26, 0x3e, 0x68, 0xd4, 0xb6, 0x8c, 0xdd, 0xb9, 0x83, 0x7b, 0x7b, 0xa9, + 0x7b, 0x53, 0x07, 0xd9, 0x12, 0xa1, 0x75, 0x05, 0x4b, 0x27, 0x38, 0x7c, 0x49, 0x71, 0xf0, 0x82, + 0x09, 0x2f, 0x66, 0xfc, 0x3a, 0x4c, 0x31, 0x8d, 0x12, 0xdb, 0x23, 0x08, 0x6d, 0x02, 0x90, 0x6b, + 0x27, 0xbc, 0xf4, 0x83, 0x41, 0xab, 0xc9, 0x15, 0xac, 0xdb, 0x12, 0xc6, 0xba, 0x85, 0x65, 0x55, + 0x18, 0x25, 0x9a, 0xde, 0x46, 0x41, 0xbd, 0x53, 0xd7, 0x55, 0x64, 0xd7, 0xb1, 0xd0, 0xbf, 0x25, + 0x2f, 0xdc, 0x01, 0xe6, 0xd2, 0xab, 0x76, 0x0c, 0x5a, 0x18, 0xb6, 0x0f, 0x7b, 0x3d, 0x26, 0xda, + 0xc6, 0x7d, 0x97, 0x86, 0x38, 0x38, 0xec, 0xf5, 0x8e, 0x03, 0x17, 0x7b, 0xbd, 0x56, 0xf3, 0xd4, + 0xa5, 0x61, 0x31, 0xcb, 0x37, 0x01, 0x84, 0xad, 0x6c, 0x49, 0xa3, 0xb2, 0x55, 0xdd, 0x9d, 0xb5, + 0x25, 0x8c, 0xf5, 0x5b, 0xb0, 0x26, 0x89, 0x29, 0x6d, 0xb3, 0xf5, 0x9d, 0x01, 0x0f, 0x6c, 0xdc, + 0x1b, 0x76, 0xf1, 0x9d, 0xed, 0xf8, 0x18, 0x66, 0x13, 0x90, 0xbb, 0xb0, 0x6e, 0xa7, 0x08, 0xcd, + 0xca, 0x6a, 0xc6, 0xca, 0xaf, 0x60, 0xa7, 0x80, 0x1e, 0xe5, 0x0d, 0xfd, 0xbd, 0x01, 0xdb, 0x51, + 0xa2, 0xdc, 0xc9, 0xca, 0x26, 0x00, 0x71, 0xfa, 0xae, 0x97, 0x9a, 0x39, 0x77, 0xf0, 0x60, 0x8f, + 0xf2, 0x72, 0x72, 0xe1, 0x10, 0xf7, 0x82, 0x38, 0x81, 0x33, 0xa0, 0x7b, 0x36, 0x7e, 0x33, 0xc4, + 0x34, 0x6c, 0x27, 0xb4, 0xb6, 0xb4, 0xce, 0xfa, 0xaf, 0x01, 0xd6, 0x24, 0x6d, 0x28, 0x41, 0xbf, + 0x80, 0x79, 0xee, 0x22, 0xef, 0xd2, 0xe7, 0x6e, 0x33, 0xb6, 0xaa, 0xbb, 0x73, 0x07, 0xf7, 0x73, + 0xc4, 0xbd, 0x8c, 0xc8, 0x6c, 0x65, 0x01, 0x7a, 0x9a, 0xa3, 0xed, 0x4e, 0xae, 0xb6, 0x94, 0xf8, + 0x1e, 0xc5, 0xf9, 0xea, 0x6a, 0x3e, 0xaf, 0x16, 0xf5, 0xf9, 0x5f, 0x2a, 0xb0, 0x78, 0x82, 0xc3, + 0xa3, 0xd7, 0x4e, 0x78, 0xea, 0xf7, 0x29, 0x73, 0x70, 0x03, 0xa6, 0xbb, 0xbe, 0x17, 0x62, 0x2f, + 0x8c, 0x9c, 0x1b, 0x83, 0xa2, 0xc6, 0x31, 0xeb, 0xe3, 0x02, 0x20, 0x20, 0x86, 0x0f, 0x70, 0xf7, + 0x26, 0xda, 0xfc, 0xb3, 0x76, 0x04, 0xb1, 0x92, 0xc6, 0x28, 0xf8, 0xc6, 0xac, 0x89, 0x92, 0x16, + 0xc3, 0x2c, 0x8c, 0x14, 0x53, 0xea, 0xfa, 0xde, 0x8b, 0x5b, 0x82, 0x1b, 0x75, 0x9e, 0x8c, 0x32, + 0x8a, 0x51, 0x44, 0x82, 0x39, 0xc5, 0x94, 0xa0, 0x90, 0x50, 0x5a, 0xa0, 0xa7, 0xcb, 0x05, 0x5a, + 0x4f, 0xa8, 0x99, 0x4c, 0x42, 0x59, 0x7f, 0xaf, 0xc1, 0x74, 0xe4, 0x21, 0xa1, 0x37, 0x13, 0x70, + 0x46, 0xfb, 0x69, 0xfa, 0x49, 0x28, 0xae, 0xf7, 0xb5, 0x8b, 0xbd, 0x50, 0x50, 0x08, 0x57, 0xc9, + 0x28, 0xc9, 0x8f, 0xd5, 0x11, 0x7e, 0xac, 0x29, 0x7e, 0x6c, 0xc0, 0x74, 0x3f, 0xf0, 0x87, 0xa4, + 0xd5, 0xe4, 0x7e, 0x9a, 0xb5, 0x63, 0x10, 0x59, 0x30, 0xcf, 0x68, 0xce, 0xdd, 0xee, 0x95, 0xc7, + 0x0e, 0x8e, 0x29, 0xfe, 0x59, 0xc1, 0xa1, 0x9f, 0xc0, 0x32, 0xe3, 0x8f, 0x83, 0x76, 0x5a, 0xa4, + 0xa7, 0xb9, 0x33, 0x33, 0x78, 0xf4, 0x29, 0x2c, 0x0a, 0x5c, 0xc2, 0x51, 0xb8, 0x43, 0xc3, 0xa2, + 0x07, 0xb0, 0x20, 0x30, 0xc7, 0xd1, 0xb1, 0x34, 0xcb, 0xc9, 0x54, 0x24, 0x2b, 0x37, 0x5c, 0x51, + 0x7e, 0xa6, 0x01, 0xa7, 0x48, 0x11, 0x7a, 0x06, 0xcc, 0x65, 0x33, 0xa0, 0x01, 0xd3, 0x03, 0xda, + 0x3f, 0x0e, 0xfc, 0x41, 0x63, 0x5e, 0x1c, 0xe9, 0x11, 0xa8, 0xe7, 0xc6, 0x42, 0x36, 0x37, 0xa4, + 0x2c, 0x5e, 0xcc, 0x66, 0x71, 0xe8, 0x84, 0x43, 0xda, 0x58, 0xe2, 0xcb, 0x22, 0x48, 0xc9, 0xd6, + 0x65, 0x7e, 0x8c, 0xa4, 0xd9, 0xba, 0x09, 0xd0, 0x0d, 0xb0, 0x13, 0x62, 0xfe, 0x75, 0x85, 0x7f, + 0x95, 0x30, 0x68, 0x11, 0x2a, 0xf8, 0x6d, 0x03, 0x71, 0x41, 0x15, 0xfc, 0xd6, 0xfa, 0x8f, 0xc1, + 0x0f, 0xd8, 0x74, 0x5b, 0x51, 0x82, 0xf6, 0x60, 0xa6, 0x1b, 0xc1, 0x51, 0x95, 0x40, 0xf2, 0xfe, + 0x14, 0x9f, 0xec, 0x84, 0xe6, 0x7d, 0x15, 0x06, 0xe6, 0xaa, 0x88, 0xe5, 0xf9, 0x70, 0x10, 0x1d, + 0xcf, 0x32, 0xaa, 0x6c, 0x0f, 0xf1, 0x08, 0x16, 0x3a, 0xa1, 0x13, 0xba, 0x34, 0x74, 0xbb, 0xbc, + 0x70, 0x20, 0xa8, 0x5d, 0xb2, 0x58, 0x89, 0x3d, 0xc1, 0x7f, 0x33, 0xc7, 0x84, 0x7e, 0xb4, 0x07, + 0x2a, 0xa1, 0x6f, 0x85, 0xbc, 0x17, 0x38, 0xec, 0x86, 0xee, 0x4d, 0x74, 0x8c, 0xbc, 0x41, 0x8f, + 0x61, 0x81, 0xca, 0x8c, 0xa2, 0x13, 0xa3, 0x21, 0xa9, 0xa0, 0x08, 0xb2, 0x55, 0x72, 0x7d, 0x03, + 0x57, 0xb2, 0x1b, 0xf8, 0x2b, 0x98, 0x11, 0xc2, 0x28, 0x61, 0x61, 0xf6, 0xdc, 0xee, 0x15, 0xcf, + 0x49, 0xa1, 0x69, 0x02, 0x8f, 0xeb, 0x70, 0x06, 0x98, 0x52, 0xa7, 0x8f, 0x53, 0x17, 0x4a, 0x18, + 0x6b, 0x08, 0x2b, 0x9a, 0x55, 0x94, 0xa0, 0x1f, 0x43, 0x9d, 0xfd, 0x8e, 0x83, 0xbd, 0x2a, 0x99, + 0x13, 0xd3, 0xd8, 0x82, 0x42, 0x8b, 0x40, 0xa5, 0x68, 0x04, 0x64, 0xb1, 0x27, 0x6c, 0x5f, 0x7d, + 0x18, 0x6f, 0xfe, 0xd9, 0x80, 0xd9, 0x48, 0x1c, 0x25, 0x6c, 0x93, 0x9f, 0x24, 0x9b, 0x5c, 0x38, + 0x34, 0x45, 0xb0, 0x6d, 0xc8, 0x81, 0x56, 0x2f, 0x6e, 0x98, 0x23, 0x90, 0xf9, 0xf4, 0x2c, 0xe3, + 0xd3, 0x14, 0x53, 0x36, 0x2b, 0x6f, 0x01, 0xe9, 0x3e, 0xa1, 0x04, 0x7d, 0x06, 0x53, 0x1c, 0x88, + 0x83, 0xb1, 0x26, 0x31, 0x4a, 0xa8, 0xec, 0x88, 0xa6, 0x6c, 0x38, 0x1e, 0xc1, 0x5c, 0xd3, 0x09, + 0x99, 0xf2, 0xfc, 0x60, 0x47, 0x50, 0x63, 0x60, 0xbc, 0x1d, 0xd8, 0x6f, 0xb4, 0x0c, 0x55, 0x66, + 0xad, 0x68, 0xbd, 0xd8, 0x4f, 0xeb, 0x1b, 0xf8, 0xe8, 0x04, 0x87, 0x91, 0xdd, 0xea, 0x7e, 0x7a, + 0xac, 0x6d, 0xb0, 0xc9, 0x91, 0xec, 0xe8, 0x91, 0x7c, 0x9e, 0x8d, 0xa4, 0x84, 0xb2, 0xfe, 0x55, + 0x81, 0x46, 0xbe, 0x74, 0xee, 0xb3, 0x95, 0x76, 0xe0, 0xde, 0x38, 0x21, 0x96, 0xe2, 0x24, 0xae, + 0x56, 0xd9, 0x0f, 0x68, 0x17, 0x96, 0xb8, 0xf7, 0x24, 0x5a, 0x61, 0xa5, 0x8e, 0x46, 0xa7, 0x70, + 0x2f, 0xb3, 0x3c, 0xe9, 0x38, 0xe7, 0x0e, 0xd6, 0x25, 0xf3, 0x24, 0x77, 0xda, 0xf9, 0x8b, 0xd0, + 0x2f, 0x61, 0x55, 0x13, 0xc0, 0x79, 0xd5, 0xc6, 0xf2, 0xca, 0x5b, 0xa2, 0x45, 0xbd, 0x5e, 0x3c, + 0xe1, 0xee, 0x9d, 0xe0, 0x90, 0x33, 0xfc, 0xd0, 0xe1, 0xfb, 0x47, 0x05, 0xd6, 0xf3, 0x64, 0x53, + 0xc2, 0x0e, 0xfd, 0x96, 0xc7, 0x0e, 0x28, 0x2a, 0x76, 0x41, 0x1a, 0xbb, 0x0c, 0x9e, 0x1d, 0xe6, + 0x2f, 0xfc, 0xd0, 0xb9, 0x4e, 0x08, 0x45, 0xe0, 0x54, 0x24, 0x7a, 0x06, 0x6b, 0xfa, 0xca, 0x02, + 0x51, 0xcb, 0x5d, 0x83, 0x9a, 0xb0, 0xa2, 0x30, 0x2f, 0x10, 0xb2, 0xec, 0x82, 0xb2, 0x01, 0x7b, + 0x0b, 0x6b, 0x51, 0x5f, 0xff, 0xa1, 0xe3, 0xf5, 0xa7, 0x2a, 0xcf, 0x15, 0x5d, 0x34, 0x25, 0x6c, + 0xf7, 0xc4, 0x8e, 0x62, 0x5f, 0xd3, 0x68, 0xe9, 0x68, 0x16, 0xac, 0xf4, 0x9c, 0x91, 0x82, 0xa5, + 0x20, 0x59, 0x5f, 0xc8, 0xfd, 0x15, 0x13, 0x89, 0xf2, 0xaa, 0xe0, 0xd8, 0xce, 0xd1, 0x98, 0x17, + 0xd9, 0x39, 0x39, 0x4b, 0x58, 0x38, 0x15, 0xf1, 0x9c, 0x4f, 0x7d, 0x7c, 0x38, 0x33, 0x0b, 0xd0, + 0x13, 0x58, 0x96, 0xf5, 0xe3, 0x4c, 0xa6, 0xc6, 0x32, 0xc9, 0xd0, 0x6b, 0x29, 0x31, 0x5d, 0x34, + 0x25, 0xde, 0xc0, 0xc6, 0x09, 0xf6, 0x58, 0xa0, 0x70, 0xcb, 0xbb, 0x71, 0x43, 0x1e, 0xb0, 0x23, + 0xbf, 0x87, 0x0b, 0x4f, 0x85, 0xba, 0x7e, 0x0f, 0x9f, 0xe2, 0xf8, 0x52, 0x1d, 0x83, 0xf1, 0x97, + 0x34, 0x04, 0x31, 0x68, 0x75, 0xc0, 0x1c, 0x25, 0xb2, 0xfc, 0x0d, 0xfa, 0x6f, 0x06, 0x4f, 0x30, + 0x95, 0x21, 0x2d, 0x66, 0x04, 0x82, 0x1a, 0xd3, 0x2d, 0xca, 0x5b, 0xfe, 0x5b, 0x6a, 0x95, 0xab, + 0x4a, 0xab, 0xac, 0x5e, 0xbc, 0x6a, 0x25, 0x6f, 0xd8, 0x7f, 0x35, 0x60, 0xd1, 0x55, 0x54, 0x65, + 0xf7, 0x0f, 0x15, 0x13, 0x69, 0xaa, 0xd3, 0xa9, 0xfd, 0xb8, 0x70, 0xba, 0xdc, 0x8f, 0x9b, 0x30, + 0x73, 0xed, 0xd0, 0x30, 0x19, 0x09, 0xd5, 0xed, 0x04, 0x96, 0x9a, 0xbc, 0x9a, 0xd2, 0xe4, 0xa5, + 0xc6, 0xd6, 0x65, 0x63, 0xad, 0x7f, 0x1b, 0xbc, 0xca, 0x66, 0x9c, 0x4a, 0x09, 0x3a, 0x82, 0x25, + 0x55, 0xb1, 0xb8, 0xbf, 0xd8, 0x90, 0x62, 0xa5, 0x52, 0xd8, 0xfa, 0x0a, 0xd6, 0xe7, 0xb7, 0xcb, + 0xf6, 0xf9, 0xed, 0x3b, 0x0f, 0x00, 0x8e, 0x01, 0xfd, 0x6a, 0x88, 0x83, 0xdb, 0x56, 0x3b, 0x9e, + 0x72, 0x14, 0x4b, 0x97, 0x45, 0xa8, 0xb4, 0xda, 0x71, 0x63, 0xdf, 0x6a, 0x5b, 0xff, 0x34, 0x60, + 0x35, 0xc3, 0x88, 0x92, 0x88, 0xce, 0x88, 0xe9, 0x18, 0xe7, 0xf8, 0x7b, 0x5a, 0xbd, 0x64, 0x14, + 0x8b, 0x43, 0x47, 0x49, 0x3a, 0x01, 0x69, 0xe3, 0xa9, 0x9a, 0x3e, 0x9e, 0x2a, 0x7b, 0x1c, 0x5c, + 0xc0, 0xc2, 0x61, 0xaf, 0xd7, 0x6a, 0x9f, 0xba, 0x03, 0x37, 0x2c, 0x65, 0x3b, 0x6b, 0x81, 0xaf, + 0xd9, 0x6a, 0x29, 0xdd, 0x52, 0x84, 0x75, 0x02, 0x8b, 0xb2, 0x80, 0xf2, 0xbb, 0xbb, 0x09, 0xcb, + 0x36, 0x1e, 0xf8, 0x37, 0xf8, 0x2e, 0xca, 0x5a, 0xcf, 0x60, 0x45, 0xe3, 0x52, 0x5e, 0xa3, 0x2f, + 0xc0, 0xe4, 0x31, 0xe7, 0xa3, 0xad, 0x66, 0xc4, 0xf0, 0x1d, 0xc6, 0xe9, 0x23, 0xee, 0x5b, 0xd6, + 0x4b, 0x98, 0xe3, 0x2c, 0x05, 0x43, 0x89, 0xcc, 0x50, 0x76, 0xac, 0x1e, 0x07, 0xb5, 0x2a, 0x54, + 0xf5, 0xaa, 0x60, 0xfd, 0xc1, 0x80, 0xfb, 0x23, 0xf5, 0xa5, 0x04, 0x7d, 0x0e, 0xf3, 0x92, 0xd8, + 0x78, 0x2f, 0xaf, 0x6b, 0x17, 0xb7, 0xd8, 0x6f, 0x0a, 0x6d, 0xd9, 0x3b, 0xc3, 0x2b, 0x58, 0x8f, + 0x26, 0xc7, 0xba, 0xf7, 0x46, 0x19, 0x3d, 0xf1, 0x7e, 0x16, 0xb9, 0xa5, 0x9a, 0x44, 0xbc, 0x0d, + 0x1f, 0xe5, 0xca, 0x28, 0x1f, 0xf7, 0xdf, 0xc1, 0x9a, 0xc8, 0x21, 0xd9, 0x1f, 0xef, 0x55, 0xe7, + 0x73, 0xb8, 0x97, 0x23, 0xa1, 0xbc, 0xc6, 0x9f, 0xf3, 0x1a, 0x7e, 0xc4, 0x87, 0x70, 0x2d, 0xcf, + 0x0d, 0x8f, 0x7c, 0xef, 0xd2, 0xed, 0x17, 0xca, 0x52, 0xe6, 0xbf, 0xdc, 0xb5, 0xe5, 0xb5, 0xe9, + 0xc1, 0x7a, 0xa7, 0xa4, 0x36, 0xac, 0x55, 0xec, 0xb9, 0xb4, 0xeb, 0xdf, 0xe0, 0xa0, 0xed, 0xf4, + 0xf9, 0xf0, 0x4d, 0xf8, 0x53, 0x47, 0x33, 0xbd, 0x3b, 0xef, 0x57, 0xef, 0xef, 0x0d, 0x3e, 0x71, + 0x60, 0x31, 0x11, 0x83, 0x70, 0x7a, 0xb7, 0x97, 0x23, 0x0b, 0xe6, 0x2f, 0x39, 0x1f, 0xb1, 0x21, + 0xa3, 0xf8, 0x2b, 0x38, 0xd6, 0x12, 0xa4, 0x30, 0x1f, 0x32, 0x88, 0x63, 0x5b, 0xc3, 0x6a, 0x3d, + 0x49, 0xbd, 0x64, 0x4f, 0xf2, 0x3f, 0x83, 0xcf, 0x0f, 0x14, 0x0b, 0x29, 0xd1, 0x66, 0x71, 0x46, + 0xd9, 0x59, 0xdc, 0xd3, 0xd8, 0x96, 0xe4, 0xb9, 0xa0, 0xc2, 0x4b, 0xcc, 0x27, 0x39, 0xac, 0x8e, + 0x13, 0x42, 0x5b, 0x5b, 0xc4, 0xea, 0x9c, 0xc0, 0x9c, 0x0f, 0x07, 0xf1, 0x29, 0x29, 0x61, 0xca, + 0x8e, 0x4e, 0xbe, 0x4d, 0x9e, 0x5f, 0x5a, 0xcd, 0x27, 0xb7, 0x4f, 0x07, 0x8e, 0x7b, 0x7d, 0xe8, + 0xf5, 0xda, 0xaf, 0x7d, 0x8f, 0x75, 0xac, 0xaf, 0x8a, 0x76, 0x06, 0x6b, 0x50, 0xc7, 0x6c, 0x6d, + 0xfc, 0x46, 0xc7, 0x01, 0xb6, 0x8e, 0xa4, 0x9c, 0xa2, 0x48, 0xcb, 0x28, 0xeb, 0x9b, 0xe4, 0xbd, + 0x65, 0xa4, 0x78, 0x4a, 0xb4, 0x2e, 0xc0, 0x98, 0xd0, 0x05, 0x14, 0xad, 0xc3, 0x07, 0xdf, 0x2f, + 0xc3, 0x0c, 0x27, 0x3a, 0x3a, 0xeb, 0xa0, 0x43, 0x80, 0xf4, 0xc9, 0x16, 0xc9, 0x17, 0x40, 0xe5, + 0xbd, 0xd8, 0xdc, 0x18, 0xf1, 0x85, 0x12, 0xf4, 0x2d, 0x6c, 0x8e, 0x7f, 0x11, 0x44, 0x9f, 0x29, + 0x8b, 0x27, 0xbc, 0x51, 0x9a, 0x0f, 0xdf, 0x81, 0x9a, 0x12, 0xf4, 0x9d, 0x01, 0xdb, 0x13, 0xdf, + 0xea, 0xd0, 0xbe, 0xc4, 0xb4, 0xc8, 0x0b, 0xa3, 0xf9, 0xd3, 0x77, 0x5b, 0x20, 0xfc, 0x30, 0xfe, + 0x11, 0x4d, 0xf1, 0xc3, 0xc4, 0xd7, 0x3f, 0xc5, 0x0f, 0x05, 0x5e, 0xe7, 0x9a, 0x30, 0x27, 0x8d, + 0xe1, 0xd1, 0x86, 0xba, 0x5a, 0x7a, 0xf5, 0x32, 0xcd, 0x51, 0x9f, 0x28, 0x41, 0xcf, 0x60, 0x41, + 0x19, 0xef, 0xa2, 0xfb, 0x2a, 0xb1, 0x32, 0xce, 0x36, 0x3f, 0x1e, 0xfd, 0x91, 0x12, 0x74, 0xc6, + 0xdf, 0xdb, 0xa4, 0xf9, 0x24, 0xca, 0xa5, 0x8f, 0xc7, 0xb9, 0xe6, 0x27, 0x63, 0xbe, 0x52, 0x82, + 0x2e, 0xf8, 0x30, 0x23, 0x33, 0xc0, 0x43, 0x96, 0xba, 0x2c, 0x6f, 0xbe, 0x68, 0xfe, 0x70, 0x22, + 0x0d, 0x25, 0xe8, 0xd7, 0xbc, 0x1e, 0x6a, 0x23, 0x26, 0xb4, 0xa5, 0x2e, 0xcd, 0x4e, 0xbf, 0xcc, + 0xed, 0x09, 0x14, 0x94, 0xa0, 0x2f, 0x92, 0xc3, 0x44, 0xe2, 0xfc, 0x83, 0x6c, 0x80, 0x55, 0xc6, + 0x5b, 0xe3, 0x09, 0x28, 0x41, 0x98, 0x9d, 0xf5, 0x79, 0x57, 0x6b, 0xf4, 0x40, 0x59, 0x3b, 0xe2, + 0xc2, 0x6f, 0xee, 0x14, 0xa0, 0x4a, 0x3c, 0xa3, 0x5d, 0x0b, 0x75, 0xcf, 0x64, 0xaf, 0xe2, 0xba, + 0x67, 0xf2, 0xee, 0x95, 0x6d, 0x58, 0xd2, 0xee, 0x52, 0x48, 0xce, 0x83, 0xec, 0x85, 0xcd, 0xdc, + 0x1c, 0xf7, 0x99, 0x12, 0x51, 0xd2, 0xe2, 0x4b, 0x88, 0x56, 0xd2, 0xa4, 0xcb, 0x8f, 0x56, 0xd2, + 0x94, 0x5b, 0xcb, 0x33, 0x58, 0x50, 0x2e, 0x0e, 0xca, 0x2e, 0xd0, 0x2f, 0x26, 0xca, 0x2e, 0xc8, + 0xde, 0x37, 0x5e, 0xc3, 0x47, 0x23, 0x1a, 0x71, 0xb4, 0xa3, 0x5b, 0x92, 0x7b, 0xb9, 0x30, 0x3f, + 0x2d, 0x42, 0x46, 0x09, 0xfa, 0x12, 0x56, 0x73, 0x9a, 0x5f, 0xb4, 0x9d, 0xad, 0xa7, 0xba, 0x04, + 0x6b, 0x12, 0x89, 0x48, 0xe1, 0x4c, 0x9b, 0xaa, 0xa4, 0x70, 0x5e, 0x9b, 0xac, 0xa4, 0x70, 0x7e, + 0x97, 0xfb, 0x25, 0xac, 0xe6, 0xb4, 0x9c, 0x48, 0x4b, 0x9d, 0x9c, 0x06, 0xd2, 0xb4, 0x26, 0x91, + 0x08, 0xee, 0x9d, 0x09, 0xdc, 0x3b, 0x93, 0xb9, 0x8f, 0xea, 0x2d, 0x45, 0x85, 0x93, 0x3a, 0x28, + 0xbd, 0xc2, 0xa9, 0xed, 0xa3, 0x5e, 0xe1, 0xf4, 0xd6, 0x2b, 0x3d, 0x41, 0x46, 0xb4, 0x05, 0x79, + 0x27, 0xc8, 0xe8, 0x06, 0x26, 0xef, 0x04, 0x19, 0xd7, 0x6f, 0x9c, 0xc0, 0xbc, 0xfc, 0xe7, 0x25, + 0x64, 0x66, 0x97, 0xc7, 0x7f, 0xa1, 0x32, 0xef, 0x8f, 0xfc, 0x46, 0xc9, 0x93, 0x1f, 0xfd, 0x66, + 0xe7, 0x39, 0xc1, 0xde, 0x45, 0xeb, 0x4c, 0xfa, 0x4b, 0x5b, 0x42, 0xff, 0xf3, 0xe4, 0xd7, 0xab, + 0x29, 0xfe, 0xe9, 0xd1, 0xff, 0x03, 0x00, 0x00, 0xff, 0xff, 0xc3, 0x1b, 0xac, 0x59, 0x2f, 0x27, + 0x00, 0x00, +} diff --git a/pkg/proto/admin_cms/admin_cms.proto b/pkg/proto/admin_cms/admin_cms.proto index d0b59a716..78d7ee924 100644 --- a/pkg/proto/admin_cms/admin_cms.proto +++ b/pkg/proto/admin_cms/admin_cms.proto @@ -23,6 +23,18 @@ message AdminLoginResp { CommonResp commonResp = 4; } +message GetUserTokenReq { + string operationID = 1; + string userID = 2; + int32 platformID = 3; +} + +message GetUserTokenResp { + CommonResp commonResp = 1; + string token = 2; + int64 expTime = 3; +} + message AddUserRegisterAddFriendIDListReq { string operationID = 1; repeated string userIDList = 2; @@ -328,6 +340,7 @@ message GetUserIDByEmailAndPhoneNumberResp{ service adminCMS { rpc AdminLogin(AdminLoginReq) returns(AdminLoginResp); + rpc AddUserRegisterAddFriendIDList(AddUserRegisterAddFriendIDListReq) returns(AddUserRegisterAddFriendIDListResp); rpc ReduceUserRegisterAddFriendIDList(ReduceUserRegisterAddFriendIDListReq) returns(ReduceUserRegisterAddFriendIDListResp); rpc GetUserRegisterAddFriendIDList(GetUserRegisterAddFriendIDListReq) returns(GetUserRegisterAddFriendIDListResp); @@ -357,4 +370,6 @@ service adminCMS { rpc GetUserFriends(GetUserFriendsReq) returns(GetUserFriendsResp); rpc GetUserIDByEmailAndPhoneNumber(GetUserIDByEmailAndPhoneNumberReq) returns(GetUserIDByEmailAndPhoneNumberResp); + + rpc GetUserToken(GetUserTokenReq) returns(GetUserTokenResp); } From e0ad4e6e7bbaeacb44b708f66b77fdb25546dd62 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Thu, 24 Nov 2022 14:20:32 +0800 Subject: [PATCH 016/176] offline --- internal/msg_gateway/gate/ws_server.go | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/internal/msg_gateway/gate/ws_server.go b/internal/msg_gateway/gate/ws_server.go index 5994bb793..5cce2e303 100644 --- a/internal/msg_gateway/gate/ws_server.go +++ b/internal/msg_gateway/gate/ws_server.go @@ -363,7 +363,8 @@ func (ws *WServer) delUserConn(conn *UserConn) { operationID := utils.OperationIDGenerator() var uid string var platform int - if oldStringMap, ok := ws.wsConnToUser[conn]; ok { + var okg bool + if oldStringMap, okg := ws.wsConnToUser[conn]; okg { for k, v := range oldStringMap { platform = k uid = v @@ -389,11 +390,14 @@ func (ws *WServer) delUserConn(conn *UserConn) { if err != nil { log.Error(operationID, " close err", "", "uid", uid, "platform", platform) } - callbackResp := callbackUserOffline(operationID, uid, platform) - if callbackResp.ErrCode != 0 { - log.NewError(operationID, utils.GetSelfFuncName(), "callbackUserOffline failed", callbackResp) + if okg { + callbackResp := callbackUserOffline(operationID, uid, platform) + if callbackResp.ErrCode != 0 { + log.NewError(operationID, utils.GetSelfFuncName(), "callbackUserOffline failed", callbackResp) + } + promePkg.PromeGaugeDec(promePkg.OnlineUserGauge) } - promePkg.PromeGaugeDec(promePkg.OnlineUserGauge) + } func (ws *WServer) getUserConn(uid string, platform int) *UserConn { From b235c71c769016b18e408f64e4a301cb766eb1a7 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Thu, 24 Nov 2022 17:41:27 +0800 Subject: [PATCH 017/176] offline --- internal/msg_gateway/gate/ws_server.go | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/internal/msg_gateway/gate/ws_server.go b/internal/msg_gateway/gate/ws_server.go index 5cce2e303..f9a8bf10b 100644 --- a/internal/msg_gateway/gate/ws_server.go +++ b/internal/msg_gateway/gate/ws_server.go @@ -221,7 +221,7 @@ func (ws *WServer) MultiTerminalLoginCheckerWithLock(uid string, platformID int, return } err = oldConn.Close() - delete(oldConnMap, platformID) + //delete(oldConnMap, platformID) ws.wsUserToConn[uid] = oldConnMap if len(oldConnMap) == 0 { delete(ws.wsUserToConn, uid) @@ -363,7 +363,6 @@ func (ws *WServer) delUserConn(conn *UserConn) { operationID := utils.OperationIDGenerator() var uid string var platform int - var okg bool if oldStringMap, okg := ws.wsConnToUser[conn]; okg { for k, v := range oldStringMap { platform = k @@ -384,19 +383,16 @@ func (ws *WServer) delUserConn(conn *UserConn) { log.Debug(operationID, "WS delete operation", "", "wsUser deleted", ws.wsUserToConn, "disconnection_uid", uid, "disconnection_platform", platform, "online_user_num", len(ws.wsUserToConn)) } delete(ws.wsConnToUser, conn) - } err := conn.Close() if err != nil { log.Error(operationID, " close err", "", "uid", uid, "platform", platform) } - if okg { - callbackResp := callbackUserOffline(operationID, uid, platform) - if callbackResp.ErrCode != 0 { - log.NewError(operationID, utils.GetSelfFuncName(), "callbackUserOffline failed", callbackResp) - } - promePkg.PromeGaugeDec(promePkg.OnlineUserGauge) + callbackResp := callbackUserOffline(operationID, conn.userID, platform) + if callbackResp.ErrCode != 0 { + log.NewError(operationID, utils.GetSelfFuncName(), "callbackUserOffline failed", callbackResp) } + promePkg.PromeGaugeDec(promePkg.OnlineUserGauge) } From 0654ecc9bbe3bf4ceb1db3703c71241bd07e0125 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Thu, 24 Nov 2022 19:17:29 +0800 Subject: [PATCH 018/176] cron --- cmd/open_im_cron_task/main.go | 8 ++- internal/cron_task/clear_msg.go | 1 + internal/cron_task/cron_task.go | 116 +++++++++++++++++++------------- 3 files changed, 77 insertions(+), 48 deletions(-) diff --git a/cmd/open_im_cron_task/main.go b/cmd/open_im_cron_task/main.go index 30ed7aea7..a3cb60a25 100644 --- a/cmd/open_im_cron_task/main.go +++ b/cmd/open_im_cron_task/main.go @@ -2,11 +2,15 @@ package main import ( "Open_IM/internal/cron_task" + "flag" "fmt" "time" ) func main() { - fmt.Println(time.Now(), "start cronTask") - cronTask.StartCronTask() + var userID = flag.String("userID", "", "userID to clear msg and reset seq") + var workingGroupID = flag.String("workingGroupID", "", "workingGroupID to clear msg and reset seq") + flag.Parse() + fmt.Println(time.Now(), "start cronTask", userID, workingGroupID) + cronTask.StartCronTask(*userID, *workingGroupID) } diff --git a/internal/cron_task/clear_msg.go b/internal/cron_task/clear_msg.go index 1db1c0b6c..f752d3f59 100644 --- a/internal/cron_task/clear_msg.go +++ b/internal/cron_task/clear_msg.go @@ -139,6 +139,7 @@ func deleteMongoMsg(operationID string, ID string, index int64, delStruct *delMs } delStruct.minSeq = lastMsgPb.Seq if msgListIsFull(msgs) { + log.NewDebug(operationID, "msg list is full", msgs.UID) delStruct.delUidList = append(delStruct.delUidList, msgs.UID) } log.NewDebug(operationID, ID, "continue", delStruct) diff --git a/internal/cron_task/cron_task.go b/internal/cron_task/cron_task.go index 87c2fbb46..1fdef997e 100644 --- a/internal/cron_task/cron_task.go +++ b/internal/cron_task/cron_task.go @@ -14,60 +14,31 @@ import ( const cronTaskOperationID = "cronTaskOperationID-" -func StartCronTask() { +func StartCronTask(userID, workingGroupID string) { log.NewPrivateLog("cron") log.NewInfo(utils.OperationIDGenerator(), "start cron task", "cron config", config.Config.Mongo.ChatRecordsClearTime) - c := cron.New() fmt.Println("cron config", config.Config.Mongo.ChatRecordsClearTime) - _, err := c.AddFunc(config.Config.Mongo.ChatRecordsClearTime, func() { - // user msg clear + if userID != "" { operationID := getCronTaskOperationID() - log.NewInfo(operationID, "====================== start del cron task ======================") - userIDList, err := im_mysql_model.SelectAllUserID() - if err == nil { - log.NewDebug(operationID, utils.GetSelfFuncName(), "userIDList: ", userIDList) - userIDList = []string{"4158779020"} - for _, userID := range userIDList { - if err := DeleteMongoMsgAndResetRedisSeq(operationID, userID); err != nil { - log.NewError(operationID, utils.GetSelfFuncName(), err.Error(), userID) - } - if err := checkMaxSeqWithMongo(operationID, userID, constant.WriteDiffusion); err != nil { - log.NewError(operationID, utils.GetSelfFuncName(), userID, err) - } - } - } else { - log.NewError(operationID, utils.GetSelfFuncName(), err.Error()) - } - //return - // working group msg clear - workingGroupIDList, err := im_mysql_model.GetGroupIDListByGroupType(constant.WorkingGroup) - if err == nil { - log.NewDebug(operationID, utils.GetSelfFuncName(), "workingGroupIDList: ", workingGroupIDList) - for _, groupID := range workingGroupIDList { - userIDList, err = rocksCache.GetGroupMemberIDListFromCache(groupID) - if err != nil { - log.NewError(operationID, utils.GetSelfFuncName(), err.Error(), groupID) - continue - } - log.NewDebug(operationID, utils.GetSelfFuncName(), "groupID:", groupID, "userIDList:", userIDList) - if err := ResetUserGroupMinSeq(operationID, groupID, userIDList); err != nil { - log.NewError(operationID, utils.GetSelfFuncName(), err.Error(), groupID, userIDList) - } - if err := checkMaxSeqWithMongo(operationID, groupID, constant.ReadDiffusion); err != nil { - log.NewError(operationID, utils.GetSelfFuncName(), groupID, err) - } - } - } else { - log.NewError(operationID, utils.GetSelfFuncName(), err.Error()) - } - - log.NewInfo(operationID, "====================== start del cron finished ======================") - }) + StartClearMsg(operationID, []string{userID}) + } + if workingGroupID != "" { + operationID := getCronTaskOperationID() + StartClearWorkingGroupMsg(operationID, []string{workingGroupID}) + } + if userID != "" || workingGroupID != "" { + fmt.Println("clear msg finished") + return + } + clearFunc := func() { + ClearAll() + } + c := cron.New() + _, err := c.AddFunc(config.Config.Mongo.ChatRecordsClearTime, clearFunc) if err != nil { fmt.Println("start cron failed", err.Error(), config.Config.Mongo.ChatRecordsClearTime) panic(err) } - c.Start() fmt.Println("start cron task success") for { @@ -78,3 +49,56 @@ func StartCronTask() { func getCronTaskOperationID() string { return cronTaskOperationID + utils.OperationIDGenerator() } + +func ClearAll() { + operationID := getCronTaskOperationID() + log.NewInfo(operationID, "====================== start del cron task ======================") + //var userIDList []string + var err error + userIDList, err := im_mysql_model.SelectAllUserID() + if err == nil { + StartClearMsg(operationID, userIDList) + } else { + log.NewError(operationID, utils.GetSelfFuncName(), err.Error()) + } + //return + // working group msg clear + workingGroupIDList, err := im_mysql_model.GetGroupIDListByGroupType(constant.WorkingGroup) + if err == nil { + StartClearWorkingGroupMsg(operationID, workingGroupIDList) + } else { + log.NewError(operationID, utils.GetSelfFuncName(), err.Error()) + } + + log.NewInfo(operationID, "====================== start del cron finished ======================") +} + +func StartClearMsg(operationID string, userIDList []string) { + log.NewDebug(operationID, utils.GetSelfFuncName(), "userIDList: ", userIDList) + for _, userID := range userIDList { + if err := DeleteMongoMsgAndResetRedisSeq(operationID, userID); err != nil { + log.NewError(operationID, utils.GetSelfFuncName(), err.Error(), userID) + } + if err := checkMaxSeqWithMongo(operationID, userID, constant.WriteDiffusion); err != nil { + log.NewError(operationID, utils.GetSelfFuncName(), userID, err) + } + } +} + +func StartClearWorkingGroupMsg(operationID string, workingGroupIDList []string) { + log.NewDebug(operationID, utils.GetSelfFuncName(), "workingGroupIDList: ", workingGroupIDList) + for _, groupID := range workingGroupIDList { + userIDList, err := rocksCache.GetGroupMemberIDListFromCache(groupID) + if err != nil { + log.NewError(operationID, utils.GetSelfFuncName(), err.Error(), groupID) + continue + } + log.NewDebug(operationID, utils.GetSelfFuncName(), "groupID:", groupID, "workingGroupIDList:", userIDList) + if err := ResetUserGroupMinSeq(operationID, groupID, userIDList); err != nil { + log.NewError(operationID, utils.GetSelfFuncName(), err.Error(), groupID, userIDList) + } + if err := checkMaxSeqWithMongo(operationID, groupID, constant.ReadDiffusion); err != nil { + log.NewError(operationID, utils.GetSelfFuncName(), groupID, err) + } + } +} From 067d23e2bceaa4c86514e92eb511b18875772e10 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Thu, 24 Nov 2022 19:24:04 +0800 Subject: [PATCH 019/176] cron --- cmd/open_im_cron_task/main.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/open_im_cron_task/main.go b/cmd/open_im_cron_task/main.go index a3cb60a25..8428f0b56 100644 --- a/cmd/open_im_cron_task/main.go +++ b/cmd/open_im_cron_task/main.go @@ -11,6 +11,6 @@ func main() { var userID = flag.String("userID", "", "userID to clear msg and reset seq") var workingGroupID = flag.String("workingGroupID", "", "workingGroupID to clear msg and reset seq") flag.Parse() - fmt.Println(time.Now(), "start cronTask", userID, workingGroupID) + fmt.Println(time.Now(), "start cronTask", *userID, *workingGroupID) cronTask.StartCronTask(*userID, *workingGroupID) } From dce0e370cffc5f9ea0185f02a45f8e32333b0c52 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 25 Nov 2022 11:45:01 +0800 Subject: [PATCH 020/176] get chat log do not need time --- internal/rpc/admin_cms/admin_cms.go | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/internal/rpc/admin_cms/admin_cms.go b/internal/rpc/admin_cms/admin_cms.go index d59aaf483..48e5a13db 100644 --- a/internal/rpc/admin_cms/admin_cms.go +++ b/internal/rpc/admin_cms/admin_cms.go @@ -215,25 +215,26 @@ func (s *adminCMSServer) GetUserRegisterAddFriendIDList(_ context.Context, req * func (s *adminCMSServer) GetChatLogs(_ context.Context, req *pbAdminCMS.GetChatLogsReq) (*pbAdminCMS.GetChatLogsResp, error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "GetChatLogs", req.String()) resp := &pbAdminCMS.GetChatLogsResp{CommonResp: &pbAdminCMS.CommonResp{}, Pagination: &server_api_params.ResponsePagination{}} - time, err := utils.TimeStringToTime(req.SendTime) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "time string parse error", err.Error()) - resp.CommonResp.ErrCode = constant.ErrArgs.ErrCode - resp.CommonResp.ErrMsg = err.Error() - return resp, nil - } chatLog := db.ChatLog{ Content: req.Content, - SendTime: time, ContentType: req.ContentType, SessionType: req.SessionType, RecvID: req.RecvID, SendID: req.SendID, } - log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "chat_log: ", chatLog) + if req.SendTime != "" { + sendTime, err := utils.TimeStringToTime(req.SendTime) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "time string parse error", err.Error(), req.SendTime) + resp.CommonResp.ErrCode = constant.ErrArgs.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil + } + chatLog.SendTime = sendTime + } nums, err := imdb.GetChatLogCount(chatLog) if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetChatLogCount", err.Error()) + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetChatLogCount", err.Error(), chatLog) resp.CommonResp.ErrCode = constant.ErrDB.ErrCode resp.CommonResp.ErrMsg = err.Error() return resp, nil @@ -241,7 +242,7 @@ func (s *adminCMSServer) GetChatLogs(_ context.Context, req *pbAdminCMS.GetChatL resp.ChatLogsNum = int32(nums) chatLogs, err := imdb.GetChatLog(chatLog, req.Pagination.PageNumber, req.Pagination.ShowNumber) if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetChatLog", err.Error()) + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetChatLog", err.Error(), chatLog) resp.CommonResp.ErrCode = constant.ErrDB.ErrCode resp.CommonResp.ErrMsg = err.Error() return resp, nil From 8ac36526a85eb61b0a59ddb85a455a9ae4c5d966 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 25 Nov 2022 12:02:14 +0800 Subject: [PATCH 021/176] get chat log do not need time --- internal/rpc/admin_cms/admin_cms.go | 50 ++++++++------- .../mysql_model/im_mysql_model/message_cms.go | 61 ++++++------------- 2 files changed, 48 insertions(+), 63 deletions(-) diff --git a/internal/rpc/admin_cms/admin_cms.go b/internal/rpc/admin_cms/admin_cms.go index 48e5a13db..a3e634ba2 100644 --- a/internal/rpc/admin_cms/admin_cms.go +++ b/internal/rpc/admin_cms/admin_cms.go @@ -215,38 +215,47 @@ func (s *adminCMSServer) GetUserRegisterAddFriendIDList(_ context.Context, req * func (s *adminCMSServer) GetChatLogs(_ context.Context, req *pbAdminCMS.GetChatLogsReq) (*pbAdminCMS.GetChatLogsResp, error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "GetChatLogs", req.String()) resp := &pbAdminCMS.GetChatLogsResp{CommonResp: &pbAdminCMS.CommonResp{}, Pagination: &server_api_params.ResponsePagination{}} + time, err := utils.TimeStringToTime(req.SendTime) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "time string parse error", err.Error()) + resp.CommonResp.ErrCode = constant.ErrArgs.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil + } chatLog := db.ChatLog{ Content: req.Content, + SendTime: time, ContentType: req.ContentType, SessionType: req.SessionType, RecvID: req.RecvID, SendID: req.SendID, } - if req.SendTime != "" { - sendTime, err := utils.TimeStringToTime(req.SendTime) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "time string parse error", err.Error(), req.SendTime) - resp.CommonResp.ErrCode = constant.ErrArgs.ErrCode - resp.CommonResp.ErrMsg = err.Error() - return resp, nil - } - chatLog.SendTime = sendTime - } - nums, err := imdb.GetChatLogCount(chatLog) + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "chat_log: ", chatLog) + + num, chatLogs, err := imdb.GetChatLog(&chatLog, req.Pagination.PageNumber, req.Pagination.ShowNumber, []int32{ + constant.Text, + constant.Picture, + constant.Voice, + constant.Video, + constant.File, + constant.AtText, + constant.Merger, + constant.Card, + constant.Location, + constant.Custom, + constant.Revoke, + constant.Quote, + constant.AdvancedText, + constant.AdvancedRevoke, + constant.CustomNotTriggerConversation, + }) if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetChatLogCount", err.Error(), chatLog) - resp.CommonResp.ErrCode = constant.ErrDB.ErrCode - resp.CommonResp.ErrMsg = err.Error() - return resp, nil - } - resp.ChatLogsNum = int32(nums) - chatLogs, err := imdb.GetChatLog(chatLog, req.Pagination.PageNumber, req.Pagination.ShowNumber) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetChatLog", err.Error(), chatLog) + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetChatLog", err.Error()) resp.CommonResp.ErrCode = constant.ErrDB.ErrCode resp.CommonResp.ErrMsg = err.Error() return resp, nil } + resp.ChatLogsNum = int32(num) for _, chatLog := range chatLogs { pbChatLog := &pbAdminCMS.ChatLog{} utils.CopyStructFields(pbChatLog, chatLog) @@ -284,7 +293,6 @@ func (s *adminCMSServer) GetChatLogs(_ context.Context, req *pbAdminCMS.GetChatL CurrentPage: req.Pagination.PageNumber, ShowNumber: req.Pagination.ShowNumber, } - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp output: ", resp.String()) return resp, nil } diff --git a/pkg/common/db/mysql_model/im_mysql_model/message_cms.go b/pkg/common/db/mysql_model/im_mysql_model/message_cms.go index 615b09d7a..2add70b12 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/message_cms.go +++ b/pkg/common/db/mysql_model/im_mysql_model/message_cms.go @@ -3,65 +3,42 @@ package im_mysql_model import ( "Open_IM/pkg/common/constant" "Open_IM/pkg/common/db" - "Open_IM/pkg/common/log" - "Open_IM/pkg/utils" "fmt" ) -func GetChatLog(chatLog db.ChatLog, pageNumber, showNumber int32) ([]db.ChatLog, error) { - var chatLogs []db.ChatLog - db := db.DB.MysqlDB.DefaultGormDB().Table("chat_logs"). - Limit(int(showNumber)).Offset(int(showNumber * (pageNumber - 1))) +func GetChatLog(chatLog *db.ChatLog, pageNumber, showNumber int32, contentTypeList []int32) (int64, []db.ChatLog, error) { + mdb := db.DB.MysqlDB.DefaultGormDB().Table("chat_logs") if chatLog.SendTime.Unix() > 0 { - db = db.Where("send_time > ? and send_time < ?", chatLog.SendTime, chatLog.SendTime.AddDate(0, 0, 1)) + mdb = mdb.Where("send_time > ? and send_time < ?", chatLog.SendTime, chatLog.SendTime.AddDate(0, 0, 1)) } if chatLog.Content != "" { - db = db.Where(" content like ? ", fmt.Sprintf("%%%s%%", chatLog.Content)) + mdb = mdb.Where(" content like ? ", fmt.Sprintf("%%%s%%", chatLog.Content)) } if chatLog.SessionType == 1 { - db = db.Where("session_type = ?", chatLog.SessionType) + mdb = mdb.Where("session_type = ?", chatLog.SessionType) } else if chatLog.SessionType == 2 { - db = db.Where("session_type in (?)", []int{constant.GroupChatType, constant.SuperGroupChatType}) + mdb = mdb.Where("session_type in (?)", []int{constant.GroupChatType, constant.SuperGroupChatType}) } if chatLog.ContentType != 0 { - db = db.Where("content_type = ?", chatLog.ContentType) + mdb = mdb.Where("content_type = ?", chatLog.ContentType) } if chatLog.SendID != "" { - db = db.Where("send_id = ?", chatLog.SendID) + mdb = mdb.Where("send_id = ?", chatLog.SendID) } if chatLog.RecvID != "" { - db = db.Where("recv_id = ?", chatLog.RecvID) + mdb = mdb.Where("recv_id = ?", chatLog.RecvID) + } + if len(contentTypeList) > 0 { + mdb = mdb.Where("content_type in (?)", contentTypeList) } - - err := db.Find(&chatLogs).Error - return chatLogs, err -} - -func GetChatLogCount(chatLog db.ChatLog) (int64, error) { var count int64 - db := db.DB.MysqlDB.DefaultGormDB().Table("chat_logs") - if chatLog.SendTime.Unix() > 0 { - log.NewDebug("", utils.GetSelfFuncName(), chatLog.SendTime, chatLog.SendTime.AddDate(0, 0, 1)) - db = db.Where("send_time > ? and send_time < ?", chatLog.SendTime, chatLog.SendTime.AddDate(0, 0, 1)) + if err := mdb.Count(&count).Error; err != nil { + return 0, nil, err } - if chatLog.Content != "" { - db = db.Where(" content like ? ", fmt.Sprintf("%%%s%%", chatLog.Content)) + var chatLogs []db.ChatLog + mdb = mdb.Limit(int(showNumber)).Offset(int(showNumber * (pageNumber - 1))) + if err := mdb.Find(&chatLogs).Error; err != nil { + return 0, nil, err } - if chatLog.SessionType == 1 { - db = db.Where("session_type = ?", chatLog.SessionType) - } else if chatLog.SessionType == 2 { - db = db.Where("session_type in (?)", []int{constant.GroupChatType, constant.SuperGroupChatType}) - } - if chatLog.ContentType != 0 { - db = db.Where("content_type = ?", chatLog.ContentType) - } - if chatLog.SendID != "" { - db = db.Where("send_id = ?", chatLog.SendID) - } - if chatLog.RecvID != "" { - db = db.Where("recv_id = ?", chatLog.RecvID) - } - - err := db.Count(&count).Error - return count, err + return count, chatLogs, nil } From ebed875c464e8e4d3aeea5a47e41fefeb2e2f2cf Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 25 Nov 2022 12:04:17 +0800 Subject: [PATCH 022/176] get chat log do not need time --- internal/rpc/admin_cms/admin_cms.go | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/internal/rpc/admin_cms/admin_cms.go b/internal/rpc/admin_cms/admin_cms.go index a3e634ba2..fe7ff68f6 100644 --- a/internal/rpc/admin_cms/admin_cms.go +++ b/internal/rpc/admin_cms/admin_cms.go @@ -215,21 +215,24 @@ func (s *adminCMSServer) GetUserRegisterAddFriendIDList(_ context.Context, req * func (s *adminCMSServer) GetChatLogs(_ context.Context, req *pbAdminCMS.GetChatLogsReq) (*pbAdminCMS.GetChatLogsResp, error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "GetChatLogs", req.String()) resp := &pbAdminCMS.GetChatLogsResp{CommonResp: &pbAdminCMS.CommonResp{}, Pagination: &server_api_params.ResponsePagination{}} - time, err := utils.TimeStringToTime(req.SendTime) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "time string parse error", err.Error()) - resp.CommonResp.ErrCode = constant.ErrArgs.ErrCode - resp.CommonResp.ErrMsg = err.Error() - return resp, nil - } chatLog := db.ChatLog{ Content: req.Content, - SendTime: time, ContentType: req.ContentType, SessionType: req.SessionType, RecvID: req.RecvID, SendID: req.SendID, } + if req.SendTime != "" { + sendTime, err := utils.TimeStringToTime(req.SendTime) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "time string parse error", err.Error()) + resp.CommonResp.ErrCode = constant.ErrArgs.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil + } + chatLog.SendTime = sendTime + } + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "chat_log: ", chatLog) num, chatLogs, err := imdb.GetChatLog(&chatLog, req.Pagination.PageNumber, req.Pagination.ShowNumber, []int32{ From cf8dc4e5299f829952f7eb48ca8f957368bfe6d1 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 25 Nov 2022 18:50:51 +0800 Subject: [PATCH 023/176] cron --- internal/cron_task/clear_msg.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/cron_task/clear_msg.go b/internal/cron_task/clear_msg.go index f752d3f59..9e15cb0df 100644 --- a/internal/cron_task/clear_msg.go +++ b/internal/cron_task/clear_msg.go @@ -193,9 +193,9 @@ func checkMaxSeqWithMongo(operationID, ID string, diffusionType int) error { } seqMongo = msgPb.Seq if math.Abs(float64(seqMongo-uint32(seqRedis))) > 10 { - log.NewWarn(operationID, utils.GetSelfFuncName(), seqMongo, seqRedis, "redis maxSeq is different with msg.Seq > 10", ID, diffusionType) + log.NewWarn(operationID, utils.GetSelfFuncName(), "seqMongo, seqRedis", seqMongo, seqRedis, ID, "redis maxSeq is different with msg.Seq > 10", "status: ", msgPb.Status, msg.SendTime) } else { - log.NewInfo(operationID, utils.GetSelfFuncName(), diffusionType, ID, "seq and msg OK", seqMongo, seqRedis) + log.NewInfo(operationID, utils.GetSelfFuncName(), "seqMongo, seqRedis", seqMongo, seqRedis, ID, "seq and msg OK", "status: ", msgPb.Status, msg.SendTime) } return nil } From a9bb36576061f16fd06700c8ebd719f27db87ea5 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Sat, 26 Nov 2022 12:09:36 +0800 Subject: [PATCH 024/176] user get token add account judge --- internal/rpc/auth/auth.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/internal/rpc/auth/auth.go b/internal/rpc/auth/auth.go index 5e929fd4e..5c47713c0 100644 --- a/internal/rpc/auth/auth.go +++ b/internal/rpc/auth/auth.go @@ -50,6 +50,11 @@ func (rpc *rpcAuth) UserRegister(_ context.Context, req *pbAuth.UserRegisterReq) func (rpc *rpcAuth) UserToken(_ context.Context, req *pbAuth.UserTokenReq) (*pbAuth.UserTokenResp, error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), " rpc args ", req.String()) + _, err := imdb.GetUserByUserID(req.FromUserID) + if err != nil { + log.NewError(req.OperationID, "not this user:", req.FromUserID, req.String()) + return &pbAuth.UserTokenResp{CommonResp: &pbAuth.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: err.Error()}}, nil + } tokens, expTime, err := token_verify.CreateToken(req.FromUserID, int(req.Platform)) if err != nil { errMsg := req.OperationID + " token_verify.CreateToken failed " + err.Error() + req.FromUserID + utils.Int32ToString(req.Platform) From 1be16380dac8c9ada9cbacea7702aaccc128ac0e Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 28 Nov 2022 19:09:38 +0800 Subject: [PATCH 025/176] conn --- internal/cron_task/clear_msg.go | 2 +- internal/msg_gateway/gate/logic.go | 26 + internal/msg_gateway/gate/relay_rpc_server.go | 25 +- internal/msg_gateway/gate/validate.go | 12 + internal/msg_gateway/gate/ws_server.go | 4 +- pkg/common/constant/constant.go | 17 +- pkg/common/constant/error.go | 1 + pkg/proto/relay/relay.pb.go | 1847 ++++++----------- pkg/proto/relay/relay.proto | 1 - pkg/proto/sdk_ws/ws.pb.go | 747 ++++--- pkg/proto/sdk_ws/ws.proto | 8 + 11 files changed, 1168 insertions(+), 1522 deletions(-) diff --git a/internal/cron_task/clear_msg.go b/internal/cron_task/clear_msg.go index 9e15cb0df..f86e4adac 100644 --- a/internal/cron_task/clear_msg.go +++ b/internal/cron_task/clear_msg.go @@ -195,7 +195,7 @@ func checkMaxSeqWithMongo(operationID, ID string, diffusionType int) error { if math.Abs(float64(seqMongo-uint32(seqRedis))) > 10 { log.NewWarn(operationID, utils.GetSelfFuncName(), "seqMongo, seqRedis", seqMongo, seqRedis, ID, "redis maxSeq is different with msg.Seq > 10", "status: ", msgPb.Status, msg.SendTime) } else { - log.NewInfo(operationID, utils.GetSelfFuncName(), "seqMongo, seqRedis", seqMongo, seqRedis, ID, "seq and msg OK", "status: ", msgPb.Status, msg.SendTime) + log.NewInfo(operationID, utils.GetSelfFuncName(), "seqMongo, seqRedis", seqMongo, seqRedis, ID, "seq and msg OK", "status:", msgPb.Status, msg.SendTime) } return nil } diff --git a/internal/msg_gateway/gate/logic.go b/internal/msg_gateway/gate/logic.go index 7fa144bd0..c7b4695bf 100644 --- a/internal/msg_gateway/gate/logic.go +++ b/internal/msg_gateway/gate/logic.go @@ -65,6 +65,9 @@ func (ws *WServer) msgParse(conn *UserConn, binaryMsg []byte) { case constant.WsLogoutMsg: log.NewInfo(m.OperationID, "conn.Close()", m.SendID, m.MsgIncr, m.ReqIdentifier) ws.userLogoutReq(conn, &m) + case constant.WsSetBackgroundStatus: + log.NewInfo(m.OperationID, "WsSetBackgroundStatus", m.SendID, m.MsgIncr, m.ReqIdentifier) + ws.setUserDeviceBackground(conn, &m) default: log.Error(m.OperationID, "ReqIdentifier failed ", m.SendID, m.MsgIncr, m.ReqIdentifier) } @@ -394,3 +397,26 @@ func SetTokenKicked(userID string, platformID int, operationID string) { return } } + +func (ws *WServer) setUserDeviceBackground(conn *UserConn, m *Req) { + isPass, errCode, errMsg, pData := ws.argsValidate(m, constant.WsSetBackgroundStatus, m.OperationID) + if isPass { + req := pData.(*sdk_ws.SetAppBackgroundStatusReq) + conn.IsBackground = req.IsBackground + log.NewInfo(m.OperationID, "SetUserDeviceBackground", "success", *conn, req.IsBackground) + ws.setUserDeviceBackgroundResp(conn, m, 0, "") + } + ws.setUserDeviceBackgroundResp(conn, m, errCode, errMsg) +} + +func (ws *WServer) setUserDeviceBackgroundResp(conn *UserConn, m *Req, errCode int32, errMsg string) { + mReply := Resp{ + ReqIdentifier: m.ReqIdentifier, + MsgIncr: m.MsgIncr, + OperationID: m.OperationID, + ErrCode: errCode, + ErrMsg: errMsg, + } + ws.sendMsg(conn, mReply) + _ = conn.Close() +} diff --git a/internal/msg_gateway/gate/relay_rpc_server.go b/internal/msg_gateway/gate/relay_rpc_server.go index d6b076a29..90d37a875 100644 --- a/internal/msg_gateway/gate/relay_rpc_server.go +++ b/internal/msg_gateway/gate/relay_rpc_server.go @@ -196,24 +196,27 @@ func (r *RPCServer) SuperGroupOnlineBatchPushOneMsg(_ context.Context, req *pbRe userConnMap := ws.getUserAllCons(v) for platform, userConn := range userConnMap { if userConn != nil { - resultCode := sendMsgBatchToUser(userConn, replyBytes.Bytes(), req, platform, v) - if resultCode == 0 && utils.IsContainInt(platform, r.pushTerminal) { - tempT.OnlinePush = true - promePkg.PromeInc(promePkg.MsgOnlinePushSuccessCounter) - log.Info(req.OperationID, "PushSuperMsgToUser is success By Ws", "args", req.String(), "recvPlatForm", constant.PlatformIDToName(platform), "recvID", v) - temp := &pbRelay.SingleMsgToUserPlatform{ - ResultCode: resultCode, - RecvID: v, - RecvPlatFormID: int32(platform), + temp := &pbRelay.SingleMsgToUserPlatform{ + RecvID: v, + RecvPlatFormID: int32(platform), + } + if !userConn.IsBackground { + resultCode := sendMsgBatchToUser(userConn, replyBytes.Bytes(), req, platform, v) + if resultCode == 0 && utils.IsContainInt(platform, r.pushTerminal) { + tempT.OnlinePush = true + promePkg.PromeInc(promePkg.MsgOnlinePushSuccessCounter) + log.Info(req.OperationID, "PushSuperMsgToUser is success By Ws", "args", req.String(), "recvPlatForm", constant.PlatformIDToName(platform), "recvID", v) + temp.ResultCode = resultCode + resp = append(resp, temp) } + } else { + temp.ResultCode = -2 resp = append(resp, temp) } - } } tempT.Resp = resp singleUserResult = append(singleUserResult, tempT) - } return &pbRelay.OnlineBatchPushOneMsgResp{ diff --git a/internal/msg_gateway/gate/validate.go b/internal/msg_gateway/gate/validate.go index 9a5558528..c9c8a4399 100644 --- a/internal/msg_gateway/gate/validate.go +++ b/internal/msg_gateway/gate/validate.go @@ -105,6 +105,18 @@ func (ws *WServer) argsValidate(m *Req, r int32, operationID string) (isPass boo log.Error(operationID, "data args validate err", err.Error(), r) return false, 204, err.Error(), nil + } + return true, 0, "", data + case constant.WsSetBackgroundStatus: + data := open_im_sdk.SetAppBackgroundStatusReq{} + if err := proto.Unmarshal(m.Data, &data); err != nil { + log.Error(operationID, "Decode Data struct err", err.Error(), r) + return false, 203, err.Error(), nil + } + if err := validate.Struct(data); err != nil { + log.Error(operationID, "data args validate err", err.Error(), r) + return false, 204, err.Error(), nil + } return true, 0, "", data default: diff --git a/internal/msg_gateway/gate/ws_server.go b/internal/msg_gateway/gate/ws_server.go index f9a8bf10b..0c558e870 100644 --- a/internal/msg_gateway/gate/ws_server.go +++ b/internal/msg_gateway/gate/ws_server.go @@ -35,7 +35,9 @@ type UserConn struct { PushedMaxSeq uint32 IsCompress bool userID string + IsBackground bool } + type WServer struct { wsAddr string wsMaxConnNum int @@ -84,7 +86,7 @@ func (ws *WServer) wsHandler(w http.ResponseWriter, r *http.Request) { log.NewDebug(operationID, query["sendID"][0], "enable compression") isCompress = true } - newConn := &UserConn{conn, new(sync.Mutex), utils.StringToInt32(query["platformID"][0]), 0, isCompress, query["sendID"][0]} + newConn := &UserConn{conn, new(sync.Mutex), utils.StringToInt32(query["platformID"][0]), 0, isCompress, query["sendID"][0], false} userCount++ ws.addUserConn(query["sendID"][0], utils.StringToInt(query["platformID"][0]), newConn, query["token"][0], operationID) go ws.readMsg(newConn) diff --git a/pkg/common/constant/constant.go b/pkg/common/constant/constant.go index 3179ff46b..f3493fded 100644 --- a/pkg/common/constant/constant.go +++ b/pkg/common/constant/constant.go @@ -17,14 +17,15 @@ const ( RefuseFriendFlag = -1 //Websocket Protocol - WSGetNewestSeq = 1001 - WSPullMsgBySeqList = 1002 - WSSendMsg = 1003 - WSSendSignalMsg = 1004 - WSPushMsg = 2001 - WSKickOnlineMsg = 2002 - WsLogoutMsg = 2003 - WSDataError = 3001 + WSGetNewestSeq = 1001 + WSPullMsgBySeqList = 1002 + WSSendMsg = 1003 + WSSendSignalMsg = 1004 + WSPushMsg = 2001 + WSKickOnlineMsg = 2002 + WsLogoutMsg = 2003 + WsSetBackgroundStatus = 2004 + WSDataError = 3001 ///ContentType //UserRelated diff --git a/pkg/common/constant/error.go b/pkg/common/constant/error.go index c621951b6..ceffa1425 100644 --- a/pkg/common/constant/error.go +++ b/pkg/common/constant/error.go @@ -33,6 +33,7 @@ var ( ErrSendLimit = ErrInfo{ErrCode: 810, ErrMsg: "send msg limit, to many request, try again later"} ErrMessageHasReadDisable = ErrInfo{ErrCode: 811, ErrMsg: "message has read disable"} ErrInternal = ErrInfo{ErrCode: 812, ErrMsg: "internal error"} + ErrWsConnNotExist = ErrInfo{ErrCode: 813, ErrMsg: "ws conn not exist"} ) var ( diff --git a/pkg/proto/relay/relay.pb.go b/pkg/proto/relay/relay.pb.go index df82206a2..49ddcc546 100644 --- a/pkg/proto/relay/relay.pb.go +++ b/pkg/proto/relay/relay.pb.go @@ -1,1354 +1,815 @@ // Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.27.1 -// protoc v3.15.5 // source: relay/relay.proto -package pbRelay +package pbRelay // import "Open_IM/pkg/proto/relay" + +import proto "github.com/golang/protobuf/proto" +import fmt "fmt" +import math "math" +import sdk_ws "Open_IM/pkg/proto/sdk_ws" import ( - sdk_ws "Open_IM/pkg/proto/sdk_ws" - context "context" + context "golang.org/x/net/context" grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" - sync "sync" ) -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package type OnlinePushMsgReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OperationID string `protobuf:"bytes,1,opt,name=OperationID,proto3" json:"OperationID,omitempty"` - MsgData *sdk_ws.MsgData `protobuf:"bytes,2,opt,name=msgData,proto3" json:"msgData,omitempty"` - PushToUserID string `protobuf:"bytes,3,opt,name=pushToUserID,proto3" json:"pushToUserID,omitempty"` + OperationID string `protobuf:"bytes,1,opt,name=OperationID" json:"OperationID,omitempty"` + MsgData *sdk_ws.MsgData `protobuf:"bytes,2,opt,name=msgData" json:"msgData,omitempty"` + PushToUserID string `protobuf:"bytes,3,opt,name=pushToUserID" json:"pushToUserID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *OnlinePushMsgReq) Reset() { - *x = OnlinePushMsgReq{} - if protoimpl.UnsafeEnabled { - mi := &file_relay_relay_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OnlinePushMsgReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OnlinePushMsgReq) ProtoMessage() {} - -func (x *OnlinePushMsgReq) ProtoReflect() protoreflect.Message { - mi := &file_relay_relay_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OnlinePushMsgReq.ProtoReflect.Descriptor instead. +func (m *OnlinePushMsgReq) Reset() { *m = OnlinePushMsgReq{} } +func (m *OnlinePushMsgReq) String() string { return proto.CompactTextString(m) } +func (*OnlinePushMsgReq) ProtoMessage() {} func (*OnlinePushMsgReq) Descriptor() ([]byte, []int) { - return file_relay_relay_proto_rawDescGZIP(), []int{0} + return fileDescriptor_relay_714521d58943e0d9, []int{0} +} +func (m *OnlinePushMsgReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OnlinePushMsgReq.Unmarshal(m, b) +} +func (m *OnlinePushMsgReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OnlinePushMsgReq.Marshal(b, m, deterministic) +} +func (dst *OnlinePushMsgReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_OnlinePushMsgReq.Merge(dst, src) +} +func (m *OnlinePushMsgReq) XXX_Size() int { + return xxx_messageInfo_OnlinePushMsgReq.Size(m) +} +func (m *OnlinePushMsgReq) XXX_DiscardUnknown() { + xxx_messageInfo_OnlinePushMsgReq.DiscardUnknown(m) } -func (x *OnlinePushMsgReq) GetOperationID() string { - if x != nil { - return x.OperationID +var xxx_messageInfo_OnlinePushMsgReq proto.InternalMessageInfo + +func (m *OnlinePushMsgReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -func (x *OnlinePushMsgReq) GetMsgData() *sdk_ws.MsgData { - if x != nil { - return x.MsgData +func (m *OnlinePushMsgReq) GetMsgData() *sdk_ws.MsgData { + if m != nil { + return m.MsgData } return nil } -func (x *OnlinePushMsgReq) GetPushToUserID() string { - if x != nil { - return x.PushToUserID +func (m *OnlinePushMsgReq) GetPushToUserID() string { + if m != nil { + return m.PushToUserID } return "" } type OnlinePushMsgResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Resp []*SingleMsgToUserPlatform `protobuf:"bytes,1,rep,name=resp,proto3" json:"resp,omitempty"` + Resp []*SingleMsgToUserPlatform `protobuf:"bytes,1,rep,name=resp" json:"resp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *OnlinePushMsgResp) Reset() { - *x = OnlinePushMsgResp{} - if protoimpl.UnsafeEnabled { - mi := &file_relay_relay_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OnlinePushMsgResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OnlinePushMsgResp) ProtoMessage() {} - -func (x *OnlinePushMsgResp) ProtoReflect() protoreflect.Message { - mi := &file_relay_relay_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OnlinePushMsgResp.ProtoReflect.Descriptor instead. +func (m *OnlinePushMsgResp) Reset() { *m = OnlinePushMsgResp{} } +func (m *OnlinePushMsgResp) String() string { return proto.CompactTextString(m) } +func (*OnlinePushMsgResp) ProtoMessage() {} func (*OnlinePushMsgResp) Descriptor() ([]byte, []int) { - return file_relay_relay_proto_rawDescGZIP(), []int{1} + return fileDescriptor_relay_714521d58943e0d9, []int{1} +} +func (m *OnlinePushMsgResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OnlinePushMsgResp.Unmarshal(m, b) +} +func (m *OnlinePushMsgResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OnlinePushMsgResp.Marshal(b, m, deterministic) +} +func (dst *OnlinePushMsgResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_OnlinePushMsgResp.Merge(dst, src) +} +func (m *OnlinePushMsgResp) XXX_Size() int { + return xxx_messageInfo_OnlinePushMsgResp.Size(m) +} +func (m *OnlinePushMsgResp) XXX_DiscardUnknown() { + xxx_messageInfo_OnlinePushMsgResp.DiscardUnknown(m) } -func (x *OnlinePushMsgResp) GetResp() []*SingleMsgToUserPlatform { - if x != nil { - return x.Resp +var xxx_messageInfo_OnlinePushMsgResp proto.InternalMessageInfo + +func (m *OnlinePushMsgResp) GetResp() []*SingleMsgToUserPlatform { + if m != nil { + return m.Resp } return nil } type SingelMsgToUserResultList struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID,omitempty"` - Resp []*SingleMsgToUserPlatform `protobuf:"bytes,2,rep,name=resp,proto3" json:"resp,omitempty"` - OnlinePush bool `protobuf:"varint,3,opt,name=onlinePush,proto3" json:"onlinePush,omitempty"` + UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` + Resp []*SingleMsgToUserPlatform `protobuf:"bytes,2,rep,name=resp" json:"resp,omitempty"` + OnlinePush bool `protobuf:"varint,3,opt,name=onlinePush" json:"onlinePush,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *SingelMsgToUserResultList) Reset() { - *x = SingelMsgToUserResultList{} - if protoimpl.UnsafeEnabled { - mi := &file_relay_relay_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SingelMsgToUserResultList) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SingelMsgToUserResultList) ProtoMessage() {} - -func (x *SingelMsgToUserResultList) ProtoReflect() protoreflect.Message { - mi := &file_relay_relay_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SingelMsgToUserResultList.ProtoReflect.Descriptor instead. +func (m *SingelMsgToUserResultList) Reset() { *m = SingelMsgToUserResultList{} } +func (m *SingelMsgToUserResultList) String() string { return proto.CompactTextString(m) } +func (*SingelMsgToUserResultList) ProtoMessage() {} func (*SingelMsgToUserResultList) Descriptor() ([]byte, []int) { - return file_relay_relay_proto_rawDescGZIP(), []int{2} + return fileDescriptor_relay_714521d58943e0d9, []int{2} +} +func (m *SingelMsgToUserResultList) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SingelMsgToUserResultList.Unmarshal(m, b) +} +func (m *SingelMsgToUserResultList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SingelMsgToUserResultList.Marshal(b, m, deterministic) +} +func (dst *SingelMsgToUserResultList) XXX_Merge(src proto.Message) { + xxx_messageInfo_SingelMsgToUserResultList.Merge(dst, src) +} +func (m *SingelMsgToUserResultList) XXX_Size() int { + return xxx_messageInfo_SingelMsgToUserResultList.Size(m) +} +func (m *SingelMsgToUserResultList) XXX_DiscardUnknown() { + xxx_messageInfo_SingelMsgToUserResultList.DiscardUnknown(m) } -func (x *SingelMsgToUserResultList) GetUserID() string { - if x != nil { - return x.UserID +var xxx_messageInfo_SingelMsgToUserResultList proto.InternalMessageInfo + +func (m *SingelMsgToUserResultList) GetUserID() string { + if m != nil { + return m.UserID } return "" } -func (x *SingelMsgToUserResultList) GetResp() []*SingleMsgToUserPlatform { - if x != nil { - return x.Resp +func (m *SingelMsgToUserResultList) GetResp() []*SingleMsgToUserPlatform { + if m != nil { + return m.Resp } return nil } -func (x *SingelMsgToUserResultList) GetOnlinePush() bool { - if x != nil { - return x.OnlinePush +func (m *SingelMsgToUserResultList) GetOnlinePush() bool { + if m != nil { + return m.OnlinePush } return false } type OnlineBatchPushOneMsgReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OperationID string `protobuf:"bytes,1,opt,name=OperationID,proto3" json:"OperationID,omitempty"` - MsgData *sdk_ws.MsgData `protobuf:"bytes,2,opt,name=msgData,proto3" json:"msgData,omitempty"` - PushToUserIDList []string `protobuf:"bytes,3,rep,name=pushToUserIDList,proto3" json:"pushToUserIDList,omitempty"` + OperationID string `protobuf:"bytes,1,opt,name=OperationID" json:"OperationID,omitempty"` + MsgData *sdk_ws.MsgData `protobuf:"bytes,2,opt,name=msgData" json:"msgData,omitempty"` + PushToUserIDList []string `protobuf:"bytes,3,rep,name=pushToUserIDList" json:"pushToUserIDList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *OnlineBatchPushOneMsgReq) Reset() { - *x = OnlineBatchPushOneMsgReq{} - if protoimpl.UnsafeEnabled { - mi := &file_relay_relay_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OnlineBatchPushOneMsgReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OnlineBatchPushOneMsgReq) ProtoMessage() {} - -func (x *OnlineBatchPushOneMsgReq) ProtoReflect() protoreflect.Message { - mi := &file_relay_relay_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OnlineBatchPushOneMsgReq.ProtoReflect.Descriptor instead. +func (m *OnlineBatchPushOneMsgReq) Reset() { *m = OnlineBatchPushOneMsgReq{} } +func (m *OnlineBatchPushOneMsgReq) String() string { return proto.CompactTextString(m) } +func (*OnlineBatchPushOneMsgReq) ProtoMessage() {} func (*OnlineBatchPushOneMsgReq) Descriptor() ([]byte, []int) { - return file_relay_relay_proto_rawDescGZIP(), []int{3} + return fileDescriptor_relay_714521d58943e0d9, []int{3} +} +func (m *OnlineBatchPushOneMsgReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OnlineBatchPushOneMsgReq.Unmarshal(m, b) +} +func (m *OnlineBatchPushOneMsgReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OnlineBatchPushOneMsgReq.Marshal(b, m, deterministic) +} +func (dst *OnlineBatchPushOneMsgReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_OnlineBatchPushOneMsgReq.Merge(dst, src) +} +func (m *OnlineBatchPushOneMsgReq) XXX_Size() int { + return xxx_messageInfo_OnlineBatchPushOneMsgReq.Size(m) +} +func (m *OnlineBatchPushOneMsgReq) XXX_DiscardUnknown() { + xxx_messageInfo_OnlineBatchPushOneMsgReq.DiscardUnknown(m) } -func (x *OnlineBatchPushOneMsgReq) GetOperationID() string { - if x != nil { - return x.OperationID +var xxx_messageInfo_OnlineBatchPushOneMsgReq proto.InternalMessageInfo + +func (m *OnlineBatchPushOneMsgReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -func (x *OnlineBatchPushOneMsgReq) GetMsgData() *sdk_ws.MsgData { - if x != nil { - return x.MsgData +func (m *OnlineBatchPushOneMsgReq) GetMsgData() *sdk_ws.MsgData { + if m != nil { + return m.MsgData } return nil } -func (x *OnlineBatchPushOneMsgReq) GetPushToUserIDList() []string { - if x != nil { - return x.PushToUserIDList +func (m *OnlineBatchPushOneMsgReq) GetPushToUserIDList() []string { + if m != nil { + return m.PushToUserIDList } return nil } type OnlineBatchPushOneMsgResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - SinglePushResult []*SingelMsgToUserResultList `protobuf:"bytes,1,rep,name=singlePushResult,proto3" json:"singlePushResult,omitempty"` + SinglePushResult []*SingelMsgToUserResultList `protobuf:"bytes,1,rep,name=singlePushResult" json:"singlePushResult,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *OnlineBatchPushOneMsgResp) Reset() { - *x = OnlineBatchPushOneMsgResp{} - if protoimpl.UnsafeEnabled { - mi := &file_relay_relay_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OnlineBatchPushOneMsgResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OnlineBatchPushOneMsgResp) ProtoMessage() {} - -func (x *OnlineBatchPushOneMsgResp) ProtoReflect() protoreflect.Message { - mi := &file_relay_relay_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OnlineBatchPushOneMsgResp.ProtoReflect.Descriptor instead. +func (m *OnlineBatchPushOneMsgResp) Reset() { *m = OnlineBatchPushOneMsgResp{} } +func (m *OnlineBatchPushOneMsgResp) String() string { return proto.CompactTextString(m) } +func (*OnlineBatchPushOneMsgResp) ProtoMessage() {} func (*OnlineBatchPushOneMsgResp) Descriptor() ([]byte, []int) { - return file_relay_relay_proto_rawDescGZIP(), []int{4} + return fileDescriptor_relay_714521d58943e0d9, []int{4} +} +func (m *OnlineBatchPushOneMsgResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OnlineBatchPushOneMsgResp.Unmarshal(m, b) +} +func (m *OnlineBatchPushOneMsgResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OnlineBatchPushOneMsgResp.Marshal(b, m, deterministic) +} +func (dst *OnlineBatchPushOneMsgResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_OnlineBatchPushOneMsgResp.Merge(dst, src) +} +func (m *OnlineBatchPushOneMsgResp) XXX_Size() int { + return xxx_messageInfo_OnlineBatchPushOneMsgResp.Size(m) +} +func (m *OnlineBatchPushOneMsgResp) XXX_DiscardUnknown() { + xxx_messageInfo_OnlineBatchPushOneMsgResp.DiscardUnknown(m) } -func (x *OnlineBatchPushOneMsgResp) GetSinglePushResult() []*SingelMsgToUserResultList { - if x != nil { - return x.SinglePushResult +var xxx_messageInfo_OnlineBatchPushOneMsgResp proto.InternalMessageInfo + +func (m *OnlineBatchPushOneMsgResp) GetSinglePushResult() []*SingelMsgToUserResultList { + if m != nil { + return m.SinglePushResult } return nil } type SingleMsgToUserPlatform struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ResultCode int64 `protobuf:"varint,1,opt,name=ResultCode,proto3" json:"ResultCode,omitempty"` - RecvID string `protobuf:"bytes,2,opt,name=RecvID,proto3" json:"RecvID,omitempty"` - RecvPlatFormID int32 `protobuf:"varint,3,opt,name=RecvPlatFormID,proto3" json:"RecvPlatFormID,omitempty"` + ResultCode int64 `protobuf:"varint,1,opt,name=ResultCode" json:"ResultCode,omitempty"` + RecvID string `protobuf:"bytes,2,opt,name=RecvID" json:"RecvID,omitempty"` + RecvPlatFormID int32 `protobuf:"varint,3,opt,name=RecvPlatFormID" json:"RecvPlatFormID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *SingleMsgToUserPlatform) Reset() { - *x = SingleMsgToUserPlatform{} - if protoimpl.UnsafeEnabled { - mi := &file_relay_relay_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SingleMsgToUserPlatform) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SingleMsgToUserPlatform) ProtoMessage() {} - -func (x *SingleMsgToUserPlatform) ProtoReflect() protoreflect.Message { - mi := &file_relay_relay_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SingleMsgToUserPlatform.ProtoReflect.Descriptor instead. +func (m *SingleMsgToUserPlatform) Reset() { *m = SingleMsgToUserPlatform{} } +func (m *SingleMsgToUserPlatform) String() string { return proto.CompactTextString(m) } +func (*SingleMsgToUserPlatform) ProtoMessage() {} func (*SingleMsgToUserPlatform) Descriptor() ([]byte, []int) { - return file_relay_relay_proto_rawDescGZIP(), []int{5} + return fileDescriptor_relay_714521d58943e0d9, []int{5} +} +func (m *SingleMsgToUserPlatform) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SingleMsgToUserPlatform.Unmarshal(m, b) +} +func (m *SingleMsgToUserPlatform) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SingleMsgToUserPlatform.Marshal(b, m, deterministic) +} +func (dst *SingleMsgToUserPlatform) XXX_Merge(src proto.Message) { + xxx_messageInfo_SingleMsgToUserPlatform.Merge(dst, src) +} +func (m *SingleMsgToUserPlatform) XXX_Size() int { + return xxx_messageInfo_SingleMsgToUserPlatform.Size(m) +} +func (m *SingleMsgToUserPlatform) XXX_DiscardUnknown() { + xxx_messageInfo_SingleMsgToUserPlatform.DiscardUnknown(m) } -func (x *SingleMsgToUserPlatform) GetResultCode() int64 { - if x != nil { - return x.ResultCode +var xxx_messageInfo_SingleMsgToUserPlatform proto.InternalMessageInfo + +func (m *SingleMsgToUserPlatform) GetResultCode() int64 { + if m != nil { + return m.ResultCode } return 0 } -func (x *SingleMsgToUserPlatform) GetRecvID() string { - if x != nil { - return x.RecvID +func (m *SingleMsgToUserPlatform) GetRecvID() string { + if m != nil { + return m.RecvID } return "" } -func (x *SingleMsgToUserPlatform) GetRecvPlatFormID() int32 { - if x != nil { - return x.RecvPlatFormID +func (m *SingleMsgToUserPlatform) GetRecvPlatFormID() int32 { + if m != nil { + return m.RecvPlatFormID } return 0 } type GetUsersOnlineStatusReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserIDList []string `protobuf:"bytes,1,rep,name=userIDList,proto3" json:"userIDList,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=operationID,proto3" json:"operationID,omitempty"` - OpUserID string `protobuf:"bytes,3,opt,name=opUserID,proto3" json:"opUserID,omitempty"` + UserIDList []string `protobuf:"bytes,1,rep,name=userIDList" json:"userIDList,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,omitempty"` + OpUserID string `protobuf:"bytes,3,opt,name=opUserID" json:"opUserID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetUsersOnlineStatusReq) Reset() { - *x = GetUsersOnlineStatusReq{} - if protoimpl.UnsafeEnabled { - mi := &file_relay_relay_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetUsersOnlineStatusReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetUsersOnlineStatusReq) ProtoMessage() {} - -func (x *GetUsersOnlineStatusReq) ProtoReflect() protoreflect.Message { - mi := &file_relay_relay_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetUsersOnlineStatusReq.ProtoReflect.Descriptor instead. +func (m *GetUsersOnlineStatusReq) Reset() { *m = GetUsersOnlineStatusReq{} } +func (m *GetUsersOnlineStatusReq) String() string { return proto.CompactTextString(m) } +func (*GetUsersOnlineStatusReq) ProtoMessage() {} func (*GetUsersOnlineStatusReq) Descriptor() ([]byte, []int) { - return file_relay_relay_proto_rawDescGZIP(), []int{6} + return fileDescriptor_relay_714521d58943e0d9, []int{6} +} +func (m *GetUsersOnlineStatusReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUsersOnlineStatusReq.Unmarshal(m, b) +} +func (m *GetUsersOnlineStatusReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUsersOnlineStatusReq.Marshal(b, m, deterministic) +} +func (dst *GetUsersOnlineStatusReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUsersOnlineStatusReq.Merge(dst, src) +} +func (m *GetUsersOnlineStatusReq) XXX_Size() int { + return xxx_messageInfo_GetUsersOnlineStatusReq.Size(m) +} +func (m *GetUsersOnlineStatusReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetUsersOnlineStatusReq.DiscardUnknown(m) } -func (x *GetUsersOnlineStatusReq) GetUserIDList() []string { - if x != nil { - return x.UserIDList +var xxx_messageInfo_GetUsersOnlineStatusReq proto.InternalMessageInfo + +func (m *GetUsersOnlineStatusReq) GetUserIDList() []string { + if m != nil { + return m.UserIDList } return nil } -func (x *GetUsersOnlineStatusReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *GetUsersOnlineStatusReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -func (x *GetUsersOnlineStatusReq) GetOpUserID() string { - if x != nil { - return x.OpUserID +func (m *GetUsersOnlineStatusReq) GetOpUserID() string { + if m != nil { + return m.OpUserID } return "" } type GetUsersOnlineStatusResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ErrCode int32 `protobuf:"varint,1,opt,name=errCode,proto3" json:"errCode,omitempty"` - ErrMsg string `protobuf:"bytes,2,opt,name=errMsg,proto3" json:"errMsg,omitempty"` - SuccessResult []*GetUsersOnlineStatusResp_SuccessResult `protobuf:"bytes,3,rep,name=successResult,proto3" json:"successResult,omitempty"` - FailedResult []*GetUsersOnlineStatusResp_FailedDetail `protobuf:"bytes,4,rep,name=failedResult,proto3" json:"failedResult,omitempty"` + ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` + SuccessResult []*GetUsersOnlineStatusResp_SuccessResult `protobuf:"bytes,3,rep,name=successResult" json:"successResult,omitempty"` + FailedResult []*GetUsersOnlineStatusResp_FailedDetail `protobuf:"bytes,4,rep,name=failedResult" json:"failedResult,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetUsersOnlineStatusResp) Reset() { - *x = GetUsersOnlineStatusResp{} - if protoimpl.UnsafeEnabled { - mi := &file_relay_relay_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetUsersOnlineStatusResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetUsersOnlineStatusResp) ProtoMessage() {} - -func (x *GetUsersOnlineStatusResp) ProtoReflect() protoreflect.Message { - mi := &file_relay_relay_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetUsersOnlineStatusResp.ProtoReflect.Descriptor instead. +func (m *GetUsersOnlineStatusResp) Reset() { *m = GetUsersOnlineStatusResp{} } +func (m *GetUsersOnlineStatusResp) String() string { return proto.CompactTextString(m) } +func (*GetUsersOnlineStatusResp) ProtoMessage() {} func (*GetUsersOnlineStatusResp) Descriptor() ([]byte, []int) { - return file_relay_relay_proto_rawDescGZIP(), []int{7} + return fileDescriptor_relay_714521d58943e0d9, []int{7} +} +func (m *GetUsersOnlineStatusResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUsersOnlineStatusResp.Unmarshal(m, b) +} +func (m *GetUsersOnlineStatusResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUsersOnlineStatusResp.Marshal(b, m, deterministic) +} +func (dst *GetUsersOnlineStatusResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUsersOnlineStatusResp.Merge(dst, src) +} +func (m *GetUsersOnlineStatusResp) XXX_Size() int { + return xxx_messageInfo_GetUsersOnlineStatusResp.Size(m) +} +func (m *GetUsersOnlineStatusResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetUsersOnlineStatusResp.DiscardUnknown(m) } -func (x *GetUsersOnlineStatusResp) GetErrCode() int32 { - if x != nil { - return x.ErrCode +var xxx_messageInfo_GetUsersOnlineStatusResp proto.InternalMessageInfo + +func (m *GetUsersOnlineStatusResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode } return 0 } -func (x *GetUsersOnlineStatusResp) GetErrMsg() string { - if x != nil { - return x.ErrMsg +func (m *GetUsersOnlineStatusResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg } return "" } -func (x *GetUsersOnlineStatusResp) GetSuccessResult() []*GetUsersOnlineStatusResp_SuccessResult { - if x != nil { - return x.SuccessResult +func (m *GetUsersOnlineStatusResp) GetSuccessResult() []*GetUsersOnlineStatusResp_SuccessResult { + if m != nil { + return m.SuccessResult } return nil } -func (x *GetUsersOnlineStatusResp) GetFailedResult() []*GetUsersOnlineStatusResp_FailedDetail { - if x != nil { - return x.FailedResult +func (m *GetUsersOnlineStatusResp) GetFailedResult() []*GetUsersOnlineStatusResp_FailedDetail { + if m != nil { + return m.FailedResult } return nil } -type KickUserOfflineReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OperationID string `protobuf:"bytes,1,opt,name=operationID,proto3" json:"operationID,omitempty"` - PlatformID int32 `protobuf:"varint,2,opt,name=platformID,proto3" json:"platformID,omitempty"` - KickUserIDList []string `protobuf:"bytes,3,rep,name=kickUserIDList,proto3" json:"kickUserIDList,omitempty"` -} - -func (x *KickUserOfflineReq) Reset() { - *x = KickUserOfflineReq{} - if protoimpl.UnsafeEnabled { - mi := &file_relay_relay_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *KickUserOfflineReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*KickUserOfflineReq) ProtoMessage() {} - -func (x *KickUserOfflineReq) ProtoReflect() protoreflect.Message { - mi := &file_relay_relay_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use KickUserOfflineReq.ProtoReflect.Descriptor instead. -func (*KickUserOfflineReq) Descriptor() ([]byte, []int) { - return file_relay_relay_proto_rawDescGZIP(), []int{8} -} - -func (x *KickUserOfflineReq) GetOperationID() string { - if x != nil { - return x.OperationID - } - return "" -} - -func (x *KickUserOfflineReq) GetPlatformID() int32 { - if x != nil { - return x.PlatformID - } - return 0 -} - -func (x *KickUserOfflineReq) GetKickUserIDList() []string { - if x != nil { - return x.KickUserIDList - } - return nil -} - -type KickUserOfflineResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *KickUserOfflineResp) Reset() { - *x = KickUserOfflineResp{} - if protoimpl.UnsafeEnabled { - mi := &file_relay_relay_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *KickUserOfflineResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*KickUserOfflineResp) ProtoMessage() {} - -func (x *KickUserOfflineResp) ProtoReflect() protoreflect.Message { - mi := &file_relay_relay_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use KickUserOfflineResp.ProtoReflect.Descriptor instead. -func (*KickUserOfflineResp) Descriptor() ([]byte, []int) { - return file_relay_relay_proto_rawDescGZIP(), []int{9} -} - -type MultiTerminalLoginCheckReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID,omitempty"` - PlatformID int32 `protobuf:"varint,2,opt,name=platformID,proto3" json:"platformID,omitempty"` - Token string `protobuf:"bytes,3,opt,name=token,proto3" json:"token,omitempty"` - OperationID string `protobuf:"bytes,4,opt,name=operationID,proto3" json:"operationID,omitempty"` -} - -func (x *MultiTerminalLoginCheckReq) Reset() { - *x = MultiTerminalLoginCheckReq{} - if protoimpl.UnsafeEnabled { - mi := &file_relay_relay_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MultiTerminalLoginCheckReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MultiTerminalLoginCheckReq) ProtoMessage() {} - -func (x *MultiTerminalLoginCheckReq) ProtoReflect() protoreflect.Message { - mi := &file_relay_relay_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use MultiTerminalLoginCheckReq.ProtoReflect.Descriptor instead. -func (*MultiTerminalLoginCheckReq) Descriptor() ([]byte, []int) { - return file_relay_relay_proto_rawDescGZIP(), []int{10} -} - -func (x *MultiTerminalLoginCheckReq) GetUserID() string { - if x != nil { - return x.UserID - } - return "" -} - -func (x *MultiTerminalLoginCheckReq) GetPlatformID() int32 { - if x != nil { - return x.PlatformID - } - return 0 -} - -func (x *MultiTerminalLoginCheckReq) GetToken() string { - if x != nil { - return x.Token - } - return "" -} - -func (x *MultiTerminalLoginCheckReq) GetOperationID() string { - if x != nil { - return x.OperationID - } - return "" -} - -type MultiTerminalLoginCheckResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ErrCode int32 `protobuf:"varint,1,opt,name=errCode,proto3" json:"errCode,omitempty"` - ErrMsg string `protobuf:"bytes,2,opt,name=errMsg,proto3" json:"errMsg,omitempty"` -} - -func (x *MultiTerminalLoginCheckResp) Reset() { - *x = MultiTerminalLoginCheckResp{} - if protoimpl.UnsafeEnabled { - mi := &file_relay_relay_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MultiTerminalLoginCheckResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MultiTerminalLoginCheckResp) ProtoMessage() {} - -func (x *MultiTerminalLoginCheckResp) ProtoReflect() protoreflect.Message { - mi := &file_relay_relay_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use MultiTerminalLoginCheckResp.ProtoReflect.Descriptor instead. -func (*MultiTerminalLoginCheckResp) Descriptor() ([]byte, []int) { - return file_relay_relay_proto_rawDescGZIP(), []int{11} -} - -func (x *MultiTerminalLoginCheckResp) GetErrCode() int32 { - if x != nil { - return x.ErrCode - } - return 0 -} - -func (x *MultiTerminalLoginCheckResp) GetErrMsg() string { - if x != nil { - return x.ErrMsg - } - return "" -} - type GetUsersOnlineStatusResp_SuccessDetail struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"` - Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` + Platform string `protobuf:"bytes,1,opt,name=platform" json:"platform,omitempty"` + Status string `protobuf:"bytes,2,opt,name=status" json:"status,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetUsersOnlineStatusResp_SuccessDetail) Reset() { - *x = GetUsersOnlineStatusResp_SuccessDetail{} - if protoimpl.UnsafeEnabled { - mi := &file_relay_relay_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *GetUsersOnlineStatusResp_SuccessDetail) Reset() { + *m = GetUsersOnlineStatusResp_SuccessDetail{} } - -func (x *GetUsersOnlineStatusResp_SuccessDetail) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetUsersOnlineStatusResp_SuccessDetail) ProtoMessage() {} - -func (x *GetUsersOnlineStatusResp_SuccessDetail) ProtoReflect() protoreflect.Message { - mi := &file_relay_relay_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetUsersOnlineStatusResp_SuccessDetail.ProtoReflect.Descriptor instead. +func (m *GetUsersOnlineStatusResp_SuccessDetail) String() string { return proto.CompactTextString(m) } +func (*GetUsersOnlineStatusResp_SuccessDetail) ProtoMessage() {} func (*GetUsersOnlineStatusResp_SuccessDetail) Descriptor() ([]byte, []int) { - return file_relay_relay_proto_rawDescGZIP(), []int{7, 0} + return fileDescriptor_relay_714521d58943e0d9, []int{7, 0} +} +func (m *GetUsersOnlineStatusResp_SuccessDetail) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUsersOnlineStatusResp_SuccessDetail.Unmarshal(m, b) +} +func (m *GetUsersOnlineStatusResp_SuccessDetail) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUsersOnlineStatusResp_SuccessDetail.Marshal(b, m, deterministic) +} +func (dst *GetUsersOnlineStatusResp_SuccessDetail) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUsersOnlineStatusResp_SuccessDetail.Merge(dst, src) +} +func (m *GetUsersOnlineStatusResp_SuccessDetail) XXX_Size() int { + return xxx_messageInfo_GetUsersOnlineStatusResp_SuccessDetail.Size(m) +} +func (m *GetUsersOnlineStatusResp_SuccessDetail) XXX_DiscardUnknown() { + xxx_messageInfo_GetUsersOnlineStatusResp_SuccessDetail.DiscardUnknown(m) } -func (x *GetUsersOnlineStatusResp_SuccessDetail) GetPlatform() string { - if x != nil { - return x.Platform +var xxx_messageInfo_GetUsersOnlineStatusResp_SuccessDetail proto.InternalMessageInfo + +func (m *GetUsersOnlineStatusResp_SuccessDetail) GetPlatform() string { + if m != nil { + return m.Platform } return "" } -func (x *GetUsersOnlineStatusResp_SuccessDetail) GetStatus() string { - if x != nil { - return x.Status +func (m *GetUsersOnlineStatusResp_SuccessDetail) GetStatus() string { + if m != nil { + return m.Status } return "" } type GetUsersOnlineStatusResp_FailedDetail struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserID string `protobuf:"bytes,3,opt,name=userID,proto3" json:"userID,omitempty"` - ErrCode int32 `protobuf:"varint,1,opt,name=errCode,proto3" json:"errCode,omitempty"` - ErrMsg string `protobuf:"bytes,2,opt,name=errMsg,proto3" json:"errMsg,omitempty"` + UserID string `protobuf:"bytes,3,opt,name=userID" json:"userID,omitempty"` + ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetUsersOnlineStatusResp_FailedDetail) Reset() { - *x = GetUsersOnlineStatusResp_FailedDetail{} - if protoimpl.UnsafeEnabled { - mi := &file_relay_relay_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetUsersOnlineStatusResp_FailedDetail) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetUsersOnlineStatusResp_FailedDetail) ProtoMessage() {} - -func (x *GetUsersOnlineStatusResp_FailedDetail) ProtoReflect() protoreflect.Message { - mi := &file_relay_relay_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetUsersOnlineStatusResp_FailedDetail.ProtoReflect.Descriptor instead. +func (m *GetUsersOnlineStatusResp_FailedDetail) Reset() { *m = GetUsersOnlineStatusResp_FailedDetail{} } +func (m *GetUsersOnlineStatusResp_FailedDetail) String() string { return proto.CompactTextString(m) } +func (*GetUsersOnlineStatusResp_FailedDetail) ProtoMessage() {} func (*GetUsersOnlineStatusResp_FailedDetail) Descriptor() ([]byte, []int) { - return file_relay_relay_proto_rawDescGZIP(), []int{7, 1} + return fileDescriptor_relay_714521d58943e0d9, []int{7, 1} +} +func (m *GetUsersOnlineStatusResp_FailedDetail) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUsersOnlineStatusResp_FailedDetail.Unmarshal(m, b) +} +func (m *GetUsersOnlineStatusResp_FailedDetail) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUsersOnlineStatusResp_FailedDetail.Marshal(b, m, deterministic) +} +func (dst *GetUsersOnlineStatusResp_FailedDetail) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUsersOnlineStatusResp_FailedDetail.Merge(dst, src) +} +func (m *GetUsersOnlineStatusResp_FailedDetail) XXX_Size() int { + return xxx_messageInfo_GetUsersOnlineStatusResp_FailedDetail.Size(m) +} +func (m *GetUsersOnlineStatusResp_FailedDetail) XXX_DiscardUnknown() { + xxx_messageInfo_GetUsersOnlineStatusResp_FailedDetail.DiscardUnknown(m) } -func (x *GetUsersOnlineStatusResp_FailedDetail) GetUserID() string { - if x != nil { - return x.UserID +var xxx_messageInfo_GetUsersOnlineStatusResp_FailedDetail proto.InternalMessageInfo + +func (m *GetUsersOnlineStatusResp_FailedDetail) GetUserID() string { + if m != nil { + return m.UserID } return "" } -func (x *GetUsersOnlineStatusResp_FailedDetail) GetErrCode() int32 { - if x != nil { - return x.ErrCode +func (m *GetUsersOnlineStatusResp_FailedDetail) GetErrCode() int32 { + if m != nil { + return m.ErrCode } return 0 } -func (x *GetUsersOnlineStatusResp_FailedDetail) GetErrMsg() string { - if x != nil { - return x.ErrMsg +func (m *GetUsersOnlineStatusResp_FailedDetail) GetErrMsg() string { + if m != nil { + return m.ErrMsg } return "" } type GetUsersOnlineStatusResp_SuccessResult struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID,omitempty"` - Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` - DetailPlatformStatus []*GetUsersOnlineStatusResp_SuccessDetail `protobuf:"bytes,3,rep,name=detailPlatformStatus,proto3" json:"detailPlatformStatus,omitempty"` + UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` + Status string `protobuf:"bytes,2,opt,name=status" json:"status,omitempty"` + DetailPlatformStatus []*GetUsersOnlineStatusResp_SuccessDetail `protobuf:"bytes,3,rep,name=detailPlatformStatus" json:"detailPlatformStatus,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetUsersOnlineStatusResp_SuccessResult) Reset() { - *x = GetUsersOnlineStatusResp_SuccessResult{} - if protoimpl.UnsafeEnabled { - mi := &file_relay_relay_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *GetUsersOnlineStatusResp_SuccessResult) Reset() { + *m = GetUsersOnlineStatusResp_SuccessResult{} } - -func (x *GetUsersOnlineStatusResp_SuccessResult) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetUsersOnlineStatusResp_SuccessResult) ProtoMessage() {} - -func (x *GetUsersOnlineStatusResp_SuccessResult) ProtoReflect() protoreflect.Message { - mi := &file_relay_relay_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetUsersOnlineStatusResp_SuccessResult.ProtoReflect.Descriptor instead. +func (m *GetUsersOnlineStatusResp_SuccessResult) String() string { return proto.CompactTextString(m) } +func (*GetUsersOnlineStatusResp_SuccessResult) ProtoMessage() {} func (*GetUsersOnlineStatusResp_SuccessResult) Descriptor() ([]byte, []int) { - return file_relay_relay_proto_rawDescGZIP(), []int{7, 2} + return fileDescriptor_relay_714521d58943e0d9, []int{7, 2} +} +func (m *GetUsersOnlineStatusResp_SuccessResult) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUsersOnlineStatusResp_SuccessResult.Unmarshal(m, b) +} +func (m *GetUsersOnlineStatusResp_SuccessResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUsersOnlineStatusResp_SuccessResult.Marshal(b, m, deterministic) +} +func (dst *GetUsersOnlineStatusResp_SuccessResult) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUsersOnlineStatusResp_SuccessResult.Merge(dst, src) +} +func (m *GetUsersOnlineStatusResp_SuccessResult) XXX_Size() int { + return xxx_messageInfo_GetUsersOnlineStatusResp_SuccessResult.Size(m) +} +func (m *GetUsersOnlineStatusResp_SuccessResult) XXX_DiscardUnknown() { + xxx_messageInfo_GetUsersOnlineStatusResp_SuccessResult.DiscardUnknown(m) } -func (x *GetUsersOnlineStatusResp_SuccessResult) GetUserID() string { - if x != nil { - return x.UserID +var xxx_messageInfo_GetUsersOnlineStatusResp_SuccessResult proto.InternalMessageInfo + +func (m *GetUsersOnlineStatusResp_SuccessResult) GetUserID() string { + if m != nil { + return m.UserID } return "" } -func (x *GetUsersOnlineStatusResp_SuccessResult) GetStatus() string { - if x != nil { - return x.Status +func (m *GetUsersOnlineStatusResp_SuccessResult) GetStatus() string { + if m != nil { + return m.Status } return "" } -func (x *GetUsersOnlineStatusResp_SuccessResult) GetDetailPlatformStatus() []*GetUsersOnlineStatusResp_SuccessDetail { - if x != nil { - return x.DetailPlatformStatus +func (m *GetUsersOnlineStatusResp_SuccessResult) GetDetailPlatformStatus() []*GetUsersOnlineStatusResp_SuccessDetail { + if m != nil { + return m.DetailPlatformStatus } return nil } -var File_relay_relay_proto protoreflect.FileDescriptor - -var file_relay_relay_proto_rawDesc = []byte{ - 0x0a, 0x11, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x2f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x1a, 0x28, 0x4f, 0x70, 0x65, 0x6e, - 0x2d, 0x49, 0x4d, 0x2d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x73, 0x64, 0x6b, 0x5f, 0x77, 0x73, 0x2f, 0x77, 0x73, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8e, 0x01, 0x0a, 0x10, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, - 0x75, 0x73, 0x68, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x34, 0x0a, 0x07, 0x6d, - 0x73, 0x67, 0x44, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, - 0x2e, 0x4d, 0x73, 0x67, 0x44, 0x61, 0x74, 0x61, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x44, 0x61, 0x74, - 0x61, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x75, 0x73, 0x68, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x49, - 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x75, 0x73, 0x68, 0x54, 0x6f, 0x55, - 0x73, 0x65, 0x72, 0x49, 0x44, 0x22, 0x47, 0x0a, 0x11, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, - 0x75, 0x73, 0x68, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x73, 0x70, 0x12, 0x32, 0x0a, 0x04, 0x72, 0x65, - 0x73, 0x70, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x79, - 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x4d, 0x73, 0x67, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x72, - 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x04, 0x72, 0x65, 0x73, 0x70, 0x22, 0x87, - 0x01, 0x0a, 0x19, 0x53, 0x69, 0x6e, 0x67, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x54, 0x6f, 0x55, 0x73, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, - 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, - 0x65, 0x72, 0x49, 0x44, 0x12, 0x32, 0x0a, 0x04, 0x72, 0x65, 0x73, 0x70, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, - 0x65, 0x4d, 0x73, 0x67, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x52, 0x04, 0x72, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x50, 0x75, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6f, 0x6e, - 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x75, 0x73, 0x68, 0x22, 0x9e, 0x01, 0x0a, 0x18, 0x4f, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x50, 0x75, 0x73, 0x68, 0x4f, 0x6e, 0x65, 0x4d, - 0x73, 0x67, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x34, 0x0a, 0x07, 0x6d, 0x73, 0x67, 0x44, 0x61, - 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x4d, 0x73, 0x67, - 0x44, 0x61, 0x74, 0x61, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x0a, - 0x10, 0x70, 0x75, 0x73, 0x68, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x4c, 0x69, 0x73, - 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x70, 0x75, 0x73, 0x68, 0x54, 0x6f, 0x55, - 0x73, 0x65, 0x72, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x69, 0x0a, 0x19, 0x4f, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x50, 0x75, 0x73, 0x68, 0x4f, 0x6e, 0x65, 0x4d, - 0x73, 0x67, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4c, 0x0a, 0x10, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, - 0x50, 0x75, 0x73, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x20, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x65, 0x6c, 0x4d, - 0x73, 0x67, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x10, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x50, 0x75, 0x73, 0x68, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x22, 0x79, 0x0a, 0x17, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x4d, 0x73, - 0x67, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, - 0x1e, 0x0a, 0x0a, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x0a, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, - 0x16, 0x0a, 0x06, 0x52, 0x65, 0x63, 0x76, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x52, 0x65, 0x63, 0x76, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x52, 0x65, 0x63, 0x76, 0x50, - 0x6c, 0x61, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0e, 0x52, 0x65, 0x63, 0x76, 0x50, 0x6c, 0x61, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x22, - 0x77, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x73, - 0x65, 0x72, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, - 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, - 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x22, 0xb7, 0x04, 0x0a, 0x18, 0x47, 0x65, 0x74, - 0x55, 0x73, 0x65, 0x72, 0x73, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, - 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x53, 0x0a, 0x0d, 0x73, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, - 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x4f, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, - 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0d, 0x73, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x50, 0x0a, 0x0c, - 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, - 0x65, 0x72, 0x73, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x52, 0x0c, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0x43, - 0x0a, 0x0d, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, - 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x1a, 0x58, 0x0a, 0x0c, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x65, - 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x72, - 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x1a, 0xa2, 0x01, - 0x0a, 0x0d, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, - 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x61, 0x0a, 0x14, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, - 0x72, 0x65, 0x6c, 0x61, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x4f, 0x6e, - 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x53, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x14, 0x64, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x22, 0x7e, 0x0a, 0x12, 0x4b, 0x69, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x4f, 0x66, - 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x6b, 0x69, - 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x0e, 0x6b, 0x69, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x4c, 0x69, - 0x73, 0x74, 0x22, 0x15, 0x0a, 0x13, 0x4b, 0x69, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x4f, 0x66, - 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0x8c, 0x01, 0x0a, 0x1a, 0x4d, 0x75, - 0x6c, 0x74, 0x69, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x4c, 0x6f, 0x67, 0x69, 0x6e, - 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, - 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, - 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, - 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x4f, 0x0a, 0x1b, 0x4d, 0x75, 0x6c, 0x74, - 0x69, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x43, 0x68, - 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x43, 0x6f, - 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x72, 0x72, 0x43, 0x6f, 0x64, - 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x32, 0x92, 0x04, 0x0a, 0x05, 0x72, 0x65, - 0x6c, 0x61, 0x79, 0x12, 0x42, 0x0a, 0x0d, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x75, 0x73, - 0x68, 0x4d, 0x73, 0x67, 0x12, 0x17, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x2e, 0x4f, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x50, 0x75, 0x73, 0x68, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, - 0x72, 0x65, 0x6c, 0x61, 0x79, 0x2e, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x75, 0x73, 0x68, - 0x4d, 0x73, 0x67, 0x52, 0x65, 0x73, 0x70, 0x12, 0x57, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x55, 0x73, - 0x65, 0x72, 0x73, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x1e, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, - 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x1a, - 0x1f, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, - 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x5a, 0x0a, 0x15, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x50, - 0x75, 0x73, 0x68, 0x4f, 0x6e, 0x65, 0x4d, 0x73, 0x67, 0x12, 0x1f, 0x2e, 0x72, 0x65, 0x6c, 0x61, - 0x79, 0x2e, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x50, 0x75, 0x73, - 0x68, 0x4f, 0x6e, 0x65, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x72, 0x65, 0x6c, - 0x61, 0x79, 0x2e, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x50, 0x75, - 0x73, 0x68, 0x4f, 0x6e, 0x65, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x73, 0x70, 0x12, 0x64, 0x0a, 0x1f, - 0x53, 0x75, 0x70, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, - 0x42, 0x61, 0x74, 0x63, 0x68, 0x50, 0x75, 0x73, 0x68, 0x4f, 0x6e, 0x65, 0x4d, 0x73, 0x67, 0x12, - 0x1f, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x2e, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x50, 0x75, 0x73, 0x68, 0x4f, 0x6e, 0x65, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, - 0x1a, 0x20, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x2e, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x42, - 0x61, 0x74, 0x63, 0x68, 0x50, 0x75, 0x73, 0x68, 0x4f, 0x6e, 0x65, 0x4d, 0x73, 0x67, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x48, 0x0a, 0x0f, 0x4b, 0x69, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x4f, 0x66, - 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x19, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x2e, 0x4b, 0x69, - 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, - 0x1a, 0x1a, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x2e, 0x4b, 0x69, 0x63, 0x6b, 0x55, 0x73, 0x65, - 0x72, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x60, 0x0a, 0x17, - 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x4c, 0x6f, 0x67, - 0x69, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x21, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x2e, - 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x4c, 0x6f, 0x67, - 0x69, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x72, 0x65, 0x6c, - 0x61, 0x79, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, - 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x42, 0x21, - 0x5a, 0x1f, 0x4f, 0x70, 0x65, 0x6e, 0x5f, 0x49, 0x4d, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x3b, 0x70, 0x62, 0x52, 0x65, 0x6c, 0x61, - 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +type KickUserOfflineReq struct { + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + PlatformID int32 `protobuf:"varint,2,opt,name=platformID" json:"platformID,omitempty"` + KickUserIDList []string `protobuf:"bytes,3,rep,name=kickUserIDList" json:"kickUserIDList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -var ( - file_relay_relay_proto_rawDescOnce sync.Once - file_relay_relay_proto_rawDescData = file_relay_relay_proto_rawDesc -) - -func file_relay_relay_proto_rawDescGZIP() []byte { - file_relay_relay_proto_rawDescOnce.Do(func() { - file_relay_relay_proto_rawDescData = protoimpl.X.CompressGZIP(file_relay_relay_proto_rawDescData) - }) - return file_relay_relay_proto_rawDescData +func (m *KickUserOfflineReq) Reset() { *m = KickUserOfflineReq{} } +func (m *KickUserOfflineReq) String() string { return proto.CompactTextString(m) } +func (*KickUserOfflineReq) ProtoMessage() {} +func (*KickUserOfflineReq) Descriptor() ([]byte, []int) { + return fileDescriptor_relay_714521d58943e0d9, []int{8} +} +func (m *KickUserOfflineReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_KickUserOfflineReq.Unmarshal(m, b) +} +func (m *KickUserOfflineReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_KickUserOfflineReq.Marshal(b, m, deterministic) +} +func (dst *KickUserOfflineReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_KickUserOfflineReq.Merge(dst, src) +} +func (m *KickUserOfflineReq) XXX_Size() int { + return xxx_messageInfo_KickUserOfflineReq.Size(m) +} +func (m *KickUserOfflineReq) XXX_DiscardUnknown() { + xxx_messageInfo_KickUserOfflineReq.DiscardUnknown(m) } -var file_relay_relay_proto_msgTypes = make([]protoimpl.MessageInfo, 15) -var file_relay_relay_proto_goTypes = []interface{}{ - (*OnlinePushMsgReq)(nil), // 0: relay.OnlinePushMsgReq - (*OnlinePushMsgResp)(nil), // 1: relay.OnlinePushMsgResp - (*SingelMsgToUserResultList)(nil), // 2: relay.SingelMsgToUserResultList - (*OnlineBatchPushOneMsgReq)(nil), // 3: relay.OnlineBatchPushOneMsgReq - (*OnlineBatchPushOneMsgResp)(nil), // 4: relay.OnlineBatchPushOneMsgResp - (*SingleMsgToUserPlatform)(nil), // 5: relay.SingleMsgToUserPlatform - (*GetUsersOnlineStatusReq)(nil), // 6: relay.GetUsersOnlineStatusReq - (*GetUsersOnlineStatusResp)(nil), // 7: relay.GetUsersOnlineStatusResp - (*KickUserOfflineReq)(nil), // 8: relay.KickUserOfflineReq - (*KickUserOfflineResp)(nil), // 9: relay.KickUserOfflineResp - (*MultiTerminalLoginCheckReq)(nil), // 10: relay.MultiTerminalLoginCheckReq - (*MultiTerminalLoginCheckResp)(nil), // 11: relay.MultiTerminalLoginCheckResp - (*GetUsersOnlineStatusResp_SuccessDetail)(nil), // 12: relay.GetUsersOnlineStatusResp.SuccessDetail - (*GetUsersOnlineStatusResp_FailedDetail)(nil), // 13: relay.GetUsersOnlineStatusResp.FailedDetail - (*GetUsersOnlineStatusResp_SuccessResult)(nil), // 14: relay.GetUsersOnlineStatusResp.SuccessResult - (*sdk_ws.MsgData)(nil), // 15: server_api_params.MsgData -} -var file_relay_relay_proto_depIdxs = []int32{ - 15, // 0: relay.OnlinePushMsgReq.msgData:type_name -> server_api_params.MsgData - 5, // 1: relay.OnlinePushMsgResp.resp:type_name -> relay.SingleMsgToUserPlatform - 5, // 2: relay.SingelMsgToUserResultList.resp:type_name -> relay.SingleMsgToUserPlatform - 15, // 3: relay.OnlineBatchPushOneMsgReq.msgData:type_name -> server_api_params.MsgData - 2, // 4: relay.OnlineBatchPushOneMsgResp.singlePushResult:type_name -> relay.SingelMsgToUserResultList - 14, // 5: relay.GetUsersOnlineStatusResp.successResult:type_name -> relay.GetUsersOnlineStatusResp.SuccessResult - 13, // 6: relay.GetUsersOnlineStatusResp.failedResult:type_name -> relay.GetUsersOnlineStatusResp.FailedDetail - 12, // 7: relay.GetUsersOnlineStatusResp.SuccessResult.detailPlatformStatus:type_name -> relay.GetUsersOnlineStatusResp.SuccessDetail - 0, // 8: relay.relay.OnlinePushMsg:input_type -> relay.OnlinePushMsgReq - 6, // 9: relay.relay.GetUsersOnlineStatus:input_type -> relay.GetUsersOnlineStatusReq - 3, // 10: relay.relay.OnlineBatchPushOneMsg:input_type -> relay.OnlineBatchPushOneMsgReq - 3, // 11: relay.relay.SuperGroupOnlineBatchPushOneMsg:input_type -> relay.OnlineBatchPushOneMsgReq - 8, // 12: relay.relay.KickUserOffline:input_type -> relay.KickUserOfflineReq - 10, // 13: relay.relay.MultiTerminalLoginCheck:input_type -> relay.MultiTerminalLoginCheckReq - 1, // 14: relay.relay.OnlinePushMsg:output_type -> relay.OnlinePushMsgResp - 7, // 15: relay.relay.GetUsersOnlineStatus:output_type -> relay.GetUsersOnlineStatusResp - 4, // 16: relay.relay.OnlineBatchPushOneMsg:output_type -> relay.OnlineBatchPushOneMsgResp - 4, // 17: relay.relay.SuperGroupOnlineBatchPushOneMsg:output_type -> relay.OnlineBatchPushOneMsgResp - 9, // 18: relay.relay.KickUserOffline:output_type -> relay.KickUserOfflineResp - 11, // 19: relay.relay.MultiTerminalLoginCheck:output_type -> relay.MultiTerminalLoginCheckResp - 14, // [14:20] is the sub-list for method output_type - 8, // [8:14] is the sub-list for method input_type - 8, // [8:8] is the sub-list for extension type_name - 8, // [8:8] is the sub-list for extension extendee - 0, // [0:8] is the sub-list for field type_name -} +var xxx_messageInfo_KickUserOfflineReq proto.InternalMessageInfo -func init() { file_relay_relay_proto_init() } -func file_relay_relay_proto_init() { - if File_relay_relay_proto != nil { - return +func (m *KickUserOfflineReq) GetOperationID() string { + if m != nil { + return m.OperationID } - if !protoimpl.UnsafeEnabled { - file_relay_relay_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OnlinePushMsgReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_relay_relay_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OnlinePushMsgResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_relay_relay_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SingelMsgToUserResultList); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_relay_relay_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OnlineBatchPushOneMsgReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_relay_relay_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OnlineBatchPushOneMsgResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_relay_relay_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SingleMsgToUserPlatform); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_relay_relay_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUsersOnlineStatusReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_relay_relay_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUsersOnlineStatusResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_relay_relay_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*KickUserOfflineReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_relay_relay_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*KickUserOfflineResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_relay_relay_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MultiTerminalLoginCheckReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_relay_relay_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MultiTerminalLoginCheckResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_relay_relay_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUsersOnlineStatusResp_SuccessDetail); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_relay_relay_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUsersOnlineStatusResp_FailedDetail); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_relay_relay_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUsersOnlineStatusResp_SuccessResult); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } + return "" +} + +func (m *KickUserOfflineReq) GetPlatformID() int32 { + if m != nil { + return m.PlatformID } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_relay_relay_proto_rawDesc, - NumEnums: 0, - NumMessages: 15, - NumExtensions: 0, - NumServices: 1, - }, - GoTypes: file_relay_relay_proto_goTypes, - DependencyIndexes: file_relay_relay_proto_depIdxs, - MessageInfos: file_relay_relay_proto_msgTypes, - }.Build() - File_relay_relay_proto = out.File - file_relay_relay_proto_rawDesc = nil - file_relay_relay_proto_goTypes = nil - file_relay_relay_proto_depIdxs = nil + return 0 +} + +func (m *KickUserOfflineReq) GetKickUserIDList() []string { + if m != nil { + return m.KickUserIDList + } + return nil +} + +type KickUserOfflineResp struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *KickUserOfflineResp) Reset() { *m = KickUserOfflineResp{} } +func (m *KickUserOfflineResp) String() string { return proto.CompactTextString(m) } +func (*KickUserOfflineResp) ProtoMessage() {} +func (*KickUserOfflineResp) Descriptor() ([]byte, []int) { + return fileDescriptor_relay_714521d58943e0d9, []int{9} +} +func (m *KickUserOfflineResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_KickUserOfflineResp.Unmarshal(m, b) +} +func (m *KickUserOfflineResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_KickUserOfflineResp.Marshal(b, m, deterministic) +} +func (dst *KickUserOfflineResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_KickUserOfflineResp.Merge(dst, src) +} +func (m *KickUserOfflineResp) XXX_Size() int { + return xxx_messageInfo_KickUserOfflineResp.Size(m) +} +func (m *KickUserOfflineResp) XXX_DiscardUnknown() { + xxx_messageInfo_KickUserOfflineResp.DiscardUnknown(m) +} + +var xxx_messageInfo_KickUserOfflineResp proto.InternalMessageInfo + +type MultiTerminalLoginCheckReq struct { + UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` + PlatformID int32 `protobuf:"varint,2,opt,name=platformID" json:"platformID,omitempty"` + Token string `protobuf:"bytes,3,opt,name=token" json:"token,omitempty"` + OperationID string `protobuf:"bytes,4,opt,name=operationID" json:"operationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MultiTerminalLoginCheckReq) Reset() { *m = MultiTerminalLoginCheckReq{} } +func (m *MultiTerminalLoginCheckReq) String() string { return proto.CompactTextString(m) } +func (*MultiTerminalLoginCheckReq) ProtoMessage() {} +func (*MultiTerminalLoginCheckReq) Descriptor() ([]byte, []int) { + return fileDescriptor_relay_714521d58943e0d9, []int{10} +} +func (m *MultiTerminalLoginCheckReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MultiTerminalLoginCheckReq.Unmarshal(m, b) +} +func (m *MultiTerminalLoginCheckReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MultiTerminalLoginCheckReq.Marshal(b, m, deterministic) +} +func (dst *MultiTerminalLoginCheckReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_MultiTerminalLoginCheckReq.Merge(dst, src) +} +func (m *MultiTerminalLoginCheckReq) XXX_Size() int { + return xxx_messageInfo_MultiTerminalLoginCheckReq.Size(m) +} +func (m *MultiTerminalLoginCheckReq) XXX_DiscardUnknown() { + xxx_messageInfo_MultiTerminalLoginCheckReq.DiscardUnknown(m) +} + +var xxx_messageInfo_MultiTerminalLoginCheckReq proto.InternalMessageInfo + +func (m *MultiTerminalLoginCheckReq) GetUserID() string { + if m != nil { + return m.UserID + } + return "" +} + +func (m *MultiTerminalLoginCheckReq) GetPlatformID() int32 { + if m != nil { + return m.PlatformID + } + return 0 +} + +func (m *MultiTerminalLoginCheckReq) GetToken() string { + if m != nil { + return m.Token + } + return "" +} + +func (m *MultiTerminalLoginCheckReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +type MultiTerminalLoginCheckResp struct { + ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MultiTerminalLoginCheckResp) Reset() { *m = MultiTerminalLoginCheckResp{} } +func (m *MultiTerminalLoginCheckResp) String() string { return proto.CompactTextString(m) } +func (*MultiTerminalLoginCheckResp) ProtoMessage() {} +func (*MultiTerminalLoginCheckResp) Descriptor() ([]byte, []int) { + return fileDescriptor_relay_714521d58943e0d9, []int{11} +} +func (m *MultiTerminalLoginCheckResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MultiTerminalLoginCheckResp.Unmarshal(m, b) +} +func (m *MultiTerminalLoginCheckResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MultiTerminalLoginCheckResp.Marshal(b, m, deterministic) +} +func (dst *MultiTerminalLoginCheckResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_MultiTerminalLoginCheckResp.Merge(dst, src) +} +func (m *MultiTerminalLoginCheckResp) XXX_Size() int { + return xxx_messageInfo_MultiTerminalLoginCheckResp.Size(m) +} +func (m *MultiTerminalLoginCheckResp) XXX_DiscardUnknown() { + xxx_messageInfo_MultiTerminalLoginCheckResp.DiscardUnknown(m) +} + +var xxx_messageInfo_MultiTerminalLoginCheckResp proto.InternalMessageInfo + +func (m *MultiTerminalLoginCheckResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode + } + return 0 +} + +func (m *MultiTerminalLoginCheckResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg + } + return "" +} + +func init() { + proto.RegisterType((*OnlinePushMsgReq)(nil), "relay.OnlinePushMsgReq") + proto.RegisterType((*OnlinePushMsgResp)(nil), "relay.OnlinePushMsgResp") + proto.RegisterType((*SingelMsgToUserResultList)(nil), "relay.SingelMsgToUserResultList") + proto.RegisterType((*OnlineBatchPushOneMsgReq)(nil), "relay.OnlineBatchPushOneMsgReq") + proto.RegisterType((*OnlineBatchPushOneMsgResp)(nil), "relay.OnlineBatchPushOneMsgResp") + proto.RegisterType((*SingleMsgToUserPlatform)(nil), "relay.SingleMsgToUserPlatform") + proto.RegisterType((*GetUsersOnlineStatusReq)(nil), "relay.GetUsersOnlineStatusReq") + proto.RegisterType((*GetUsersOnlineStatusResp)(nil), "relay.GetUsersOnlineStatusResp") + proto.RegisterType((*GetUsersOnlineStatusResp_SuccessDetail)(nil), "relay.GetUsersOnlineStatusResp.SuccessDetail") + proto.RegisterType((*GetUsersOnlineStatusResp_FailedDetail)(nil), "relay.GetUsersOnlineStatusResp.FailedDetail") + proto.RegisterType((*GetUsersOnlineStatusResp_SuccessResult)(nil), "relay.GetUsersOnlineStatusResp.SuccessResult") + proto.RegisterType((*KickUserOfflineReq)(nil), "relay.KickUserOfflineReq") + proto.RegisterType((*KickUserOfflineResp)(nil), "relay.KickUserOfflineResp") + proto.RegisterType((*MultiTerminalLoginCheckReq)(nil), "relay.MultiTerminalLoginCheckReq") + proto.RegisterType((*MultiTerminalLoginCheckResp)(nil), "relay.MultiTerminalLoginCheckResp") } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context -var _ grpc.ClientConnInterface +var _ grpc.ClientConn // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion6 +const _ = grpc.SupportPackageIsVersion4 + +// Client API for Relay service -// RelayClient is the client API for Relay service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type RelayClient interface { OnlinePushMsg(ctx context.Context, in *OnlinePushMsgReq, opts ...grpc.CallOption) (*OnlinePushMsgResp, error) GetUsersOnlineStatus(ctx context.Context, in *GetUsersOnlineStatusReq, opts ...grpc.CallOption) (*GetUsersOnlineStatusResp, error) @@ -1359,16 +820,16 @@ type RelayClient interface { } type relayClient struct { - cc grpc.ClientConnInterface + cc *grpc.ClientConn } -func NewRelayClient(cc grpc.ClientConnInterface) RelayClient { +func NewRelayClient(cc *grpc.ClientConn) RelayClient { return &relayClient{cc} } func (c *relayClient) OnlinePushMsg(ctx context.Context, in *OnlinePushMsgReq, opts ...grpc.CallOption) (*OnlinePushMsgResp, error) { out := new(OnlinePushMsgResp) - err := c.cc.Invoke(ctx, "/relay.relay/OnlinePushMsg", in, out, opts...) + err := grpc.Invoke(ctx, "/relay.relay/OnlinePushMsg", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -1377,7 +838,7 @@ func (c *relayClient) OnlinePushMsg(ctx context.Context, in *OnlinePushMsgReq, o func (c *relayClient) GetUsersOnlineStatus(ctx context.Context, in *GetUsersOnlineStatusReq, opts ...grpc.CallOption) (*GetUsersOnlineStatusResp, error) { out := new(GetUsersOnlineStatusResp) - err := c.cc.Invoke(ctx, "/relay.relay/GetUsersOnlineStatus", in, out, opts...) + err := grpc.Invoke(ctx, "/relay.relay/GetUsersOnlineStatus", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -1386,7 +847,7 @@ func (c *relayClient) GetUsersOnlineStatus(ctx context.Context, in *GetUsersOnli func (c *relayClient) OnlineBatchPushOneMsg(ctx context.Context, in *OnlineBatchPushOneMsgReq, opts ...grpc.CallOption) (*OnlineBatchPushOneMsgResp, error) { out := new(OnlineBatchPushOneMsgResp) - err := c.cc.Invoke(ctx, "/relay.relay/OnlineBatchPushOneMsg", in, out, opts...) + err := grpc.Invoke(ctx, "/relay.relay/OnlineBatchPushOneMsg", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -1395,7 +856,7 @@ func (c *relayClient) OnlineBatchPushOneMsg(ctx context.Context, in *OnlineBatch func (c *relayClient) SuperGroupOnlineBatchPushOneMsg(ctx context.Context, in *OnlineBatchPushOneMsgReq, opts ...grpc.CallOption) (*OnlineBatchPushOneMsgResp, error) { out := new(OnlineBatchPushOneMsgResp) - err := c.cc.Invoke(ctx, "/relay.relay/SuperGroupOnlineBatchPushOneMsg", in, out, opts...) + err := grpc.Invoke(ctx, "/relay.relay/SuperGroupOnlineBatchPushOneMsg", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -1404,7 +865,7 @@ func (c *relayClient) SuperGroupOnlineBatchPushOneMsg(ctx context.Context, in *O func (c *relayClient) KickUserOffline(ctx context.Context, in *KickUserOfflineReq, opts ...grpc.CallOption) (*KickUserOfflineResp, error) { out := new(KickUserOfflineResp) - err := c.cc.Invoke(ctx, "/relay.relay/KickUserOffline", in, out, opts...) + err := grpc.Invoke(ctx, "/relay.relay/KickUserOffline", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -1413,14 +874,15 @@ func (c *relayClient) KickUserOffline(ctx context.Context, in *KickUserOfflineRe func (c *relayClient) MultiTerminalLoginCheck(ctx context.Context, in *MultiTerminalLoginCheckReq, opts ...grpc.CallOption) (*MultiTerminalLoginCheckResp, error) { out := new(MultiTerminalLoginCheckResp) - err := c.cc.Invoke(ctx, "/relay.relay/MultiTerminalLoginCheck", in, out, opts...) + err := grpc.Invoke(ctx, "/relay.relay/MultiTerminalLoginCheck", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } -// RelayServer is the server API for Relay service. +// Server API for Relay service + type RelayServer interface { OnlinePushMsg(context.Context, *OnlinePushMsgReq) (*OnlinePushMsgResp, error) GetUsersOnlineStatus(context.Context, *GetUsersOnlineStatusReq) (*GetUsersOnlineStatusResp, error) @@ -1430,29 +892,6 @@ type RelayServer interface { MultiTerminalLoginCheck(context.Context, *MultiTerminalLoginCheckReq) (*MultiTerminalLoginCheckResp, error) } -// UnimplementedRelayServer can be embedded to have forward compatible implementations. -type UnimplementedRelayServer struct { -} - -func (*UnimplementedRelayServer) OnlinePushMsg(context.Context, *OnlinePushMsgReq) (*OnlinePushMsgResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method OnlinePushMsg not implemented") -} -func (*UnimplementedRelayServer) GetUsersOnlineStatus(context.Context, *GetUsersOnlineStatusReq) (*GetUsersOnlineStatusResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetUsersOnlineStatus not implemented") -} -func (*UnimplementedRelayServer) OnlineBatchPushOneMsg(context.Context, *OnlineBatchPushOneMsgReq) (*OnlineBatchPushOneMsgResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method OnlineBatchPushOneMsg not implemented") -} -func (*UnimplementedRelayServer) SuperGroupOnlineBatchPushOneMsg(context.Context, *OnlineBatchPushOneMsgReq) (*OnlineBatchPushOneMsgResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method SuperGroupOnlineBatchPushOneMsg not implemented") -} -func (*UnimplementedRelayServer) KickUserOffline(context.Context, *KickUserOfflineReq) (*KickUserOfflineResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method KickUserOffline not implemented") -} -func (*UnimplementedRelayServer) MultiTerminalLoginCheck(context.Context, *MultiTerminalLoginCheckReq) (*MultiTerminalLoginCheckResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method MultiTerminalLoginCheck not implemented") -} - func RegisterRelayServer(s *grpc.Server, srv RelayServer) { s.RegisterService(&_Relay_serviceDesc, srv) } @@ -1597,3 +1036,61 @@ var _Relay_serviceDesc = grpc.ServiceDesc{ Streams: []grpc.StreamDesc{}, Metadata: "relay/relay.proto", } + +func init() { proto.RegisterFile("relay/relay.proto", fileDescriptor_relay_714521d58943e0d9) } + +var fileDescriptor_relay_714521d58943e0d9 = []byte{ + // 818 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0xcd, 0x6e, 0xda, 0x4a, + 0x14, 0x96, 0x03, 0xe4, 0xe7, 0x24, 0xb9, 0x37, 0x99, 0x9b, 0x5c, 0x1c, 0x5f, 0x09, 0x88, 0x17, + 0x57, 0xa8, 0x6a, 0x40, 0xa2, 0xdd, 0x75, 0x97, 0xa0, 0xa4, 0xa8, 0x41, 0x44, 0x43, 0xaa, 0x56, + 0xd9, 0x50, 0x07, 0x06, 0xb0, 0x30, 0xf6, 0x64, 0xc6, 0x4e, 0x94, 0x4d, 0xb7, 0xdd, 0x54, 0x5d, + 0xf4, 0x01, 0xba, 0xe8, 0x4b, 0xf4, 0xf5, 0xaa, 0xf9, 0x81, 0xda, 0x80, 0x43, 0x53, 0x29, 0x9b, + 0x84, 0x73, 0x7c, 0xfe, 0xbe, 0xef, 0x7c, 0x9e, 0x31, 0xec, 0x32, 0xe2, 0x39, 0xf7, 0x55, 0xf9, + 0xb7, 0x42, 0x59, 0x10, 0x06, 0x28, 0x27, 0x0d, 0xab, 0xdc, 0xa2, 0xc4, 0x3f, 0x6a, 0x34, 0x8f, + 0xda, 0x84, 0xdd, 0x12, 0x56, 0xa5, 0xa3, 0x41, 0x55, 0x06, 0x54, 0x79, 0x6f, 0xd4, 0xb9, 0xe3, + 0xd5, 0x3b, 0xae, 0x12, 0xec, 0x2f, 0x06, 0xec, 0xb4, 0x7c, 0xcf, 0xf5, 0xc9, 0x45, 0xc4, 0x87, + 0x4d, 0x3e, 0xc0, 0xe4, 0x06, 0x95, 0x60, 0xb3, 0x45, 0x09, 0x73, 0x42, 0x37, 0xf0, 0x1b, 0x75, + 0xd3, 0x28, 0x19, 0xe5, 0x0d, 0x1c, 0x77, 0xa1, 0x97, 0xb0, 0x36, 0xe6, 0x83, 0xba, 0x13, 0x3a, + 0xe6, 0x4a, 0xc9, 0x28, 0x6f, 0xd6, 0xac, 0x0a, 0x97, 0xad, 0x3a, 0x0e, 0x75, 0x3b, 0xd4, 0x61, + 0xce, 0x98, 0x57, 0x9a, 0x2a, 0x02, 0x4f, 0x42, 0x91, 0x0d, 0x5b, 0x34, 0xe2, 0xc3, 0xcb, 0xe0, + 0x2d, 0x27, 0xac, 0x51, 0x37, 0x33, 0xb2, 0x70, 0xc2, 0x67, 0x9f, 0xc1, 0xee, 0xcc, 0x3c, 0x9c, + 0xa2, 0x1a, 0x64, 0x19, 0xe1, 0xd4, 0x34, 0x4a, 0x99, 0xf2, 0x66, 0xad, 0x50, 0x51, 0x90, 0xdb, + 0xae, 0x3f, 0xf0, 0x48, 0x93, 0x0f, 0x54, 0xf2, 0x85, 0xe7, 0x84, 0xfd, 0x80, 0x8d, 0xb1, 0x8c, + 0xb5, 0x3f, 0x19, 0x70, 0x20, 0x22, 0x88, 0x37, 0x8d, 0xc0, 0x84, 0x47, 0x5e, 0x78, 0xee, 0xf2, + 0x10, 0xfd, 0x0b, 0xab, 0x91, 0x1a, 0x42, 0xa1, 0xd3, 0xd6, 0xb4, 0xd3, 0xca, 0xef, 0x77, 0x42, + 0x05, 0x80, 0x60, 0x3a, 0xb2, 0x04, 0xb5, 0x8e, 0x63, 0x1e, 0xfb, 0x9b, 0x01, 0xa6, 0xc2, 0x74, + 0xec, 0x84, 0xdd, 0xa1, 0xf0, 0xb5, 0x7c, 0xf2, 0xc4, 0x5c, 0x3f, 0x83, 0x9d, 0x38, 0xaf, 0x02, + 0xb4, 0x99, 0x29, 0x65, 0xca, 0x1b, 0x78, 0xce, 0x6f, 0xbb, 0x70, 0x90, 0x32, 0x1f, 0xa7, 0xe8, + 0x1c, 0x76, 0xb8, 0x84, 0x2f, 0xfc, 0x8a, 0x41, 0xbd, 0x87, 0x52, 0x8c, 0x9d, 0x85, 0x2c, 0xe3, + 0xb9, 0x4c, 0xfb, 0x1e, 0xf2, 0x29, 0x64, 0x0a, 0x1a, 0x55, 0xd0, 0x49, 0xd0, 0x23, 0x92, 0x88, + 0x0c, 0x8e, 0x79, 0xc4, 0xca, 0x30, 0xe9, 0xde, 0x36, 0xea, 0x92, 0x86, 0x0d, 0xac, 0x2d, 0xf4, + 0x3f, 0xfc, 0x25, 0x7e, 0x89, 0x3a, 0xa7, 0x01, 0x1b, 0x6b, 0x5d, 0xe5, 0xf0, 0x8c, 0xd7, 0xbe, + 0x83, 0xfc, 0x19, 0x09, 0x45, 0x4b, 0xae, 0xd0, 0xb6, 0x43, 0x27, 0x8c, 0xb8, 0x58, 0x42, 0x01, + 0x20, 0xfa, 0x45, 0x93, 0x21, 0x69, 0x8a, 0x79, 0xc4, 0x92, 0x82, 0xd8, 0x92, 0x54, 0xff, 0xb8, + 0x0b, 0x59, 0xb0, 0x1e, 0xd0, 0x84, 0xac, 0xa7, 0xb6, 0xfd, 0x23, 0x0b, 0xe6, 0xe2, 0xce, 0x9c, + 0x22, 0x13, 0xd6, 0x08, 0x63, 0x53, 0xc8, 0x39, 0x3c, 0x31, 0x05, 0x5e, 0xc2, 0x58, 0x93, 0x0f, + 0x26, 0x78, 0x95, 0x85, 0xda, 0xb0, 0xcd, 0xa3, 0x6e, 0x97, 0x70, 0xae, 0xb7, 0x91, 0x91, 0xdb, + 0x38, 0xd2, 0xdb, 0x48, 0xeb, 0x54, 0x69, 0xc7, 0x93, 0x70, 0xb2, 0x06, 0xba, 0x80, 0xad, 0xbe, + 0xe3, 0x7a, 0xa4, 0xa7, 0x6b, 0x66, 0x65, 0xcd, 0xe7, 0xcb, 0x6a, 0x9e, 0xca, 0x9c, 0x3a, 0x09, + 0x1d, 0xd7, 0xc3, 0x89, 0x0a, 0xd6, 0x09, 0x6c, 0xeb, 0x8e, 0xea, 0xb1, 0xa0, 0x88, 0xea, 0x5d, + 0x6b, 0x99, 0x4f, 0x6d, 0x81, 0x95, 0xcb, 0xaa, 0x13, 0xac, 0xca, 0xb2, 0xde, 0xc3, 0x56, 0xbc, + 0x45, 0xec, 0xb5, 0xcd, 0x24, 0x5e, 0xdb, 0x47, 0xb3, 0x68, 0x7d, 0x37, 0xa6, 0xf3, 0x69, 0x0a, + 0xd2, 0x8e, 0x84, 0x94, 0xd9, 0x90, 0x03, 0x7b, 0x3d, 0x39, 0xd5, 0x44, 0xc1, 0x8a, 0x97, 0x47, + 0xae, 0x43, 0x73, 0xb7, 0xb0, 0x94, 0xfd, 0x11, 0xd0, 0x1b, 0xb7, 0x3b, 0x12, 0x05, 0x5a, 0xfd, + 0xbe, 0x28, 0xa0, 0x8f, 0x8c, 0x60, 0xfe, 0xc8, 0x88, 0xab, 0xb1, 0x00, 0x30, 0xa1, 0x56, 0xcb, + 0x35, 0x87, 0x63, 0x1e, 0xf1, 0xca, 0x8c, 0x74, 0xdd, 0xc4, 0xd1, 0x30, 0xe3, 0xb5, 0xf7, 0xe1, + 0x9f, 0xb9, 0xfe, 0x9c, 0xda, 0x9f, 0x0d, 0xb0, 0x9a, 0x91, 0x17, 0xba, 0x97, 0x84, 0x8d, 0x5d, + 0xdf, 0xf1, 0xce, 0x83, 0x81, 0xeb, 0x9f, 0x0c, 0x49, 0x77, 0x24, 0xe6, 0x4b, 0x23, 0x72, 0xd9, + 0x54, 0x7b, 0x90, 0x0b, 0x83, 0x11, 0xf1, 0xf5, 0x6e, 0x95, 0x31, 0x8b, 0x36, 0x3b, 0x87, 0xd6, + 0x6e, 0xc1, 0x7f, 0xa9, 0xd3, 0xfc, 0xc9, 0x1b, 0x56, 0xfb, 0x9a, 0x05, 0x75, 0x91, 0xa2, 0x63, + 0xd8, 0x4e, 0xdc, 0x46, 0x28, 0xaf, 0xd7, 0x3a, 0x7b, 0x67, 0x5a, 0xe6, 0xe2, 0x07, 0x9c, 0xa2, + 0x77, 0xb0, 0xb7, 0x48, 0x04, 0xa8, 0xf0, 0xa0, 0x42, 0x6e, 0xac, 0xe2, 0x12, 0x05, 0xa1, 0x2b, + 0xd8, 0x5f, 0x78, 0x6c, 0xa3, 0x62, 0x62, 0x96, 0xf9, 0x4b, 0xc7, 0x2a, 0x3d, 0x1c, 0xc0, 0x29, + 0xea, 0x41, 0xb1, 0x1d, 0x51, 0xc2, 0xce, 0x58, 0x10, 0xd1, 0x27, 0xeb, 0xf2, 0x1a, 0xfe, 0x9e, + 0xd1, 0x17, 0x3a, 0xd0, 0x49, 0xf3, 0xba, 0xb7, 0xac, 0xb4, 0x47, 0x9c, 0xa2, 0x0f, 0x90, 0x4f, + 0xd1, 0x00, 0x3a, 0xd4, 0x69, 0xe9, 0x8a, 0xb5, 0xec, 0x65, 0x21, 0x9c, 0x1e, 0x1f, 0x5e, 0x15, + 0xc5, 0x57, 0x55, 0xa7, 0xd1, 0x8c, 0x7d, 0x4e, 0xc9, 0xb4, 0x57, 0xf4, 0x1a, 0x8b, 0xff, 0xd7, + 0xab, 0xd2, 0xf9, 0xe2, 0x67, 0x00, 0x00, 0x00, 0xff, 0xff, 0x95, 0x44, 0xed, 0x71, 0x99, 0x09, + 0x00, 0x00, +} diff --git a/pkg/proto/relay/relay.proto b/pkg/proto/relay/relay.proto index 878d65ac4..e0ec59e48 100644 --- a/pkg/proto/relay/relay.proto +++ b/pkg/proto/relay/relay.proto @@ -89,7 +89,6 @@ message MultiTerminalLoginCheckResp{ string errMsg = 2; } - service relay { rpc OnlinePushMsg(OnlinePushMsgReq) returns(OnlinePushMsgResp); rpc GetUsersOnlineStatus(GetUsersOnlineStatusReq) returns(GetUsersOnlineStatusResp); diff --git a/pkg/proto/sdk_ws/ws.pb.go b/pkg/proto/sdk_ws/ws.pb.go index 4303f5d56..9ee84f836 100644 --- a/pkg/proto/sdk_ws/ws.pb.go +++ b/pkg/proto/sdk_ws/ws.pb.go @@ -46,7 +46,7 @@ func (m *GroupInfo) Reset() { *m = GroupInfo{} } func (m *GroupInfo) String() string { return proto.CompactTextString(m) } func (*GroupInfo) ProtoMessage() {} func (*GroupInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{0} + return fileDescriptor_ws_064f17309f8224cf, []int{0} } func (m *GroupInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfo.Unmarshal(m, b) @@ -204,7 +204,7 @@ func (m *GroupInfoForSet) Reset() { *m = GroupInfoForSet{} } func (m *GroupInfoForSet) String() string { return proto.CompactTextString(m) } func (*GroupInfoForSet) ProtoMessage() {} func (*GroupInfoForSet) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{1} + return fileDescriptor_ws_064f17309f8224cf, []int{1} } func (m *GroupInfoForSet) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfoForSet.Unmarshal(m, b) @@ -309,7 +309,7 @@ func (m *GroupMemberFullInfo) Reset() { *m = GroupMemberFullInfo{} } func (m *GroupMemberFullInfo) String() string { return proto.CompactTextString(m) } func (*GroupMemberFullInfo) ProtoMessage() {} func (*GroupMemberFullInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{2} + return fileDescriptor_ws_064f17309f8224cf, []int{2} } func (m *GroupMemberFullInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMemberFullInfo.Unmarshal(m, b) @@ -428,7 +428,7 @@ func (m *PublicUserInfo) Reset() { *m = PublicUserInfo{} } func (m *PublicUserInfo) String() string { return proto.CompactTextString(m) } func (*PublicUserInfo) ProtoMessage() {} func (*PublicUserInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{3} + return fileDescriptor_ws_064f17309f8224cf, []int{3} } func (m *PublicUserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PublicUserInfo.Unmarshal(m, b) @@ -505,7 +505,7 @@ func (m *UserInfo) Reset() { *m = UserInfo{} } func (m *UserInfo) String() string { return proto.CompactTextString(m) } func (*UserInfo) ProtoMessage() {} func (*UserInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{4} + return fileDescriptor_ws_064f17309f8224cf, []int{4} } func (m *UserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfo.Unmarshal(m, b) @@ -626,7 +626,7 @@ func (m *FriendInfo) Reset() { *m = FriendInfo{} } func (m *FriendInfo) String() string { return proto.CompactTextString(m) } func (*FriendInfo) ProtoMessage() {} func (*FriendInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{5} + return fileDescriptor_ws_064f17309f8224cf, []int{5} } func (m *FriendInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendInfo.Unmarshal(m, b) @@ -711,7 +711,7 @@ func (m *BlackInfo) Reset() { *m = BlackInfo{} } func (m *BlackInfo) String() string { return proto.CompactTextString(m) } func (*BlackInfo) ProtoMessage() {} func (*BlackInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{6} + return fileDescriptor_ws_064f17309f8224cf, []int{6} } func (m *BlackInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackInfo.Unmarshal(m, b) @@ -794,7 +794,7 @@ func (m *GroupRequest) Reset() { *m = GroupRequest{} } func (m *GroupRequest) String() string { return proto.CompactTextString(m) } func (*GroupRequest) ProtoMessage() {} func (*GroupRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{7} + return fileDescriptor_ws_064f17309f8224cf, []int{7} } func (m *GroupRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupRequest.Unmarshal(m, b) @@ -916,7 +916,7 @@ func (m *FriendRequest) Reset() { *m = FriendRequest{} } func (m *FriendRequest) String() string { return proto.CompactTextString(m) } func (*FriendRequest) ProtoMessage() {} func (*FriendRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{8} + return fileDescriptor_ws_064f17309f8224cf, []int{8} } func (m *FriendRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendRequest.Unmarshal(m, b) @@ -1061,7 +1061,7 @@ func (m *Department) Reset() { *m = Department{} } func (m *Department) String() string { return proto.CompactTextString(m) } func (*Department) ProtoMessage() {} func (*Department) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{9} + return fileDescriptor_ws_064f17309f8224cf, []int{9} } func (m *Department) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Department.Unmarshal(m, b) @@ -1173,7 +1173,7 @@ func (m *OrganizationUser) Reset() { *m = OrganizationUser{} } func (m *OrganizationUser) String() string { return proto.CompactTextString(m) } func (*OrganizationUser) ProtoMessage() {} func (*OrganizationUser) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{10} + return fileDescriptor_ws_064f17309f8224cf, []int{10} } func (m *OrganizationUser) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OrganizationUser.Unmarshal(m, b) @@ -1294,7 +1294,7 @@ func (m *DepartmentMember) Reset() { *m = DepartmentMember{} } func (m *DepartmentMember) String() string { return proto.CompactTextString(m) } func (*DepartmentMember) ProtoMessage() {} func (*DepartmentMember) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{11} + return fileDescriptor_ws_064f17309f8224cf, []int{11} } func (m *DepartmentMember) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DepartmentMember.Unmarshal(m, b) @@ -1375,7 +1375,7 @@ func (m *UserDepartmentMember) Reset() { *m = UserDepartmentMember{} } func (m *UserDepartmentMember) String() string { return proto.CompactTextString(m) } func (*UserDepartmentMember) ProtoMessage() {} func (*UserDepartmentMember) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{12} + return fileDescriptor_ws_064f17309f8224cf, []int{12} } func (m *UserDepartmentMember) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserDepartmentMember.Unmarshal(m, b) @@ -1421,7 +1421,7 @@ func (m *UserInDepartment) Reset() { *m = UserInDepartment{} } func (m *UserInDepartment) String() string { return proto.CompactTextString(m) } func (*UserInDepartment) ProtoMessage() {} func (*UserInDepartment) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{13} + return fileDescriptor_ws_064f17309f8224cf, []int{13} } func (m *UserInDepartment) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInDepartment.Unmarshal(m, b) @@ -1470,7 +1470,7 @@ func (m *PullMessageBySeqListReq) Reset() { *m = PullMessageBySeqListReq func (m *PullMessageBySeqListReq) String() string { return proto.CompactTextString(m) } func (*PullMessageBySeqListReq) ProtoMessage() {} func (*PullMessageBySeqListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{14} + return fileDescriptor_ws_064f17309f8224cf, []int{14} } func (m *PullMessageBySeqListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListReq.Unmarshal(m, b) @@ -1529,7 +1529,7 @@ func (m *SeqList) Reset() { *m = SeqList{} } func (m *SeqList) String() string { return proto.CompactTextString(m) } func (*SeqList) ProtoMessage() {} func (*SeqList) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{15} + return fileDescriptor_ws_064f17309f8224cf, []int{15} } func (m *SeqList) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SeqList.Unmarshal(m, b) @@ -1567,7 +1567,7 @@ func (m *MsgDataList) Reset() { *m = MsgDataList{} } func (m *MsgDataList) String() string { return proto.CompactTextString(m) } func (*MsgDataList) ProtoMessage() {} func (*MsgDataList) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{16} + return fileDescriptor_ws_064f17309f8224cf, []int{16} } func (m *MsgDataList) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataList.Unmarshal(m, b) @@ -1608,7 +1608,7 @@ func (m *PullMessageBySeqListResp) Reset() { *m = PullMessageBySeqListRe func (m *PullMessageBySeqListResp) String() string { return proto.CompactTextString(m) } func (*PullMessageBySeqListResp) ProtoMessage() {} func (*PullMessageBySeqListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{17} + return fileDescriptor_ws_064f17309f8224cf, []int{17} } func (m *PullMessageBySeqListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListResp.Unmarshal(m, b) @@ -1669,7 +1669,7 @@ func (m *GetMaxAndMinSeqReq) Reset() { *m = GetMaxAndMinSeqReq{} } func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqReq) ProtoMessage() {} func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{18} + return fileDescriptor_ws_064f17309f8224cf, []int{18} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -1722,7 +1722,7 @@ func (m *MaxAndMinSeq) Reset() { *m = MaxAndMinSeq{} } func (m *MaxAndMinSeq) String() string { return proto.CompactTextString(m) } func (*MaxAndMinSeq) ProtoMessage() {} func (*MaxAndMinSeq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{19} + return fileDescriptor_ws_064f17309f8224cf, []int{19} } func (m *MaxAndMinSeq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MaxAndMinSeq.Unmarshal(m, b) @@ -1771,7 +1771,7 @@ func (m *GetMaxAndMinSeqResp) Reset() { *m = GetMaxAndMinSeqResp{} } func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqResp) ProtoMessage() {} func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{20} + return fileDescriptor_ws_064f17309f8224cf, []int{20} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -1839,7 +1839,7 @@ func (m *UserSendMsgResp) Reset() { *m = UserSendMsgResp{} } func (m *UserSendMsgResp) String() string { return proto.CompactTextString(m) } func (*UserSendMsgResp) ProtoMessage() {} func (*UserSendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{21} + return fileDescriptor_ws_064f17309f8224cf, []int{21} } func (m *UserSendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserSendMsgResp.Unmarshal(m, b) @@ -1912,7 +1912,7 @@ func (m *MsgData) Reset() { *m = MsgData{} } func (m *MsgData) String() string { return proto.CompactTextString(m) } func (*MsgData) ProtoMessage() {} func (*MsgData) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{22} + return fileDescriptor_ws_064f17309f8224cf, []int{22} } func (m *MsgData) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgData.Unmarshal(m, b) @@ -2101,7 +2101,7 @@ func (m *OfflinePushInfo) Reset() { *m = OfflinePushInfo{} } func (m *OfflinePushInfo) String() string { return proto.CompactTextString(m) } func (*OfflinePushInfo) ProtoMessage() {} func (*OfflinePushInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{23} + return fileDescriptor_ws_064f17309f8224cf, []int{23} } func (m *OfflinePushInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OfflinePushInfo.Unmarshal(m, b) @@ -2169,7 +2169,7 @@ func (m *TipsComm) Reset() { *m = TipsComm{} } func (m *TipsComm) String() string { return proto.CompactTextString(m) } func (*TipsComm) ProtoMessage() {} func (*TipsComm) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{24} + return fileDescriptor_ws_064f17309f8224cf, []int{24} } func (m *TipsComm) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TipsComm.Unmarshal(m, b) @@ -2226,7 +2226,7 @@ func (m *GroupCreatedTips) Reset() { *m = GroupCreatedTips{} } func (m *GroupCreatedTips) String() string { return proto.CompactTextString(m) } func (*GroupCreatedTips) ProtoMessage() {} func (*GroupCreatedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{25} + return fileDescriptor_ws_064f17309f8224cf, []int{25} } func (m *GroupCreatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupCreatedTips.Unmarshal(m, b) @@ -2295,7 +2295,7 @@ func (m *GroupInfoSetTips) Reset() { *m = GroupInfoSetTips{} } func (m *GroupInfoSetTips) String() string { return proto.CompactTextString(m) } func (*GroupInfoSetTips) ProtoMessage() {} func (*GroupInfoSetTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{26} + return fileDescriptor_ws_064f17309f8224cf, []int{26} } func (m *GroupInfoSetTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfoSetTips.Unmarshal(m, b) @@ -2350,7 +2350,7 @@ func (m *JoinGroupApplicationTips) Reset() { *m = JoinGroupApplicationTi func (m *JoinGroupApplicationTips) String() string { return proto.CompactTextString(m) } func (*JoinGroupApplicationTips) ProtoMessage() {} func (*JoinGroupApplicationTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{27} + return fileDescriptor_ws_064f17309f8224cf, []int{27} } func (m *JoinGroupApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_JoinGroupApplicationTips.Unmarshal(m, b) @@ -2406,7 +2406,7 @@ func (m *MemberQuitTips) Reset() { *m = MemberQuitTips{} } func (m *MemberQuitTips) String() string { return proto.CompactTextString(m) } func (*MemberQuitTips) ProtoMessage() {} func (*MemberQuitTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{28} + return fileDescriptor_ws_064f17309f8224cf, []int{28} } func (m *MemberQuitTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberQuitTips.Unmarshal(m, b) @@ -2461,7 +2461,7 @@ func (m *GroupApplicationAcceptedTips) Reset() { *m = GroupApplicationAc func (m *GroupApplicationAcceptedTips) String() string { return proto.CompactTextString(m) } func (*GroupApplicationAcceptedTips) ProtoMessage() {} func (*GroupApplicationAcceptedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{29} + return fileDescriptor_ws_064f17309f8224cf, []int{29} } func (m *GroupApplicationAcceptedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationAcceptedTips.Unmarshal(m, b) @@ -2516,7 +2516,7 @@ func (m *GroupApplicationRejectedTips) Reset() { *m = GroupApplicationRe func (m *GroupApplicationRejectedTips) String() string { return proto.CompactTextString(m) } func (*GroupApplicationRejectedTips) ProtoMessage() {} func (*GroupApplicationRejectedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{30} + return fileDescriptor_ws_064f17309f8224cf, []int{30} } func (m *GroupApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationRejectedTips.Unmarshal(m, b) @@ -2572,7 +2572,7 @@ func (m *GroupOwnerTransferredTips) Reset() { *m = GroupOwnerTransferred func (m *GroupOwnerTransferredTips) String() string { return proto.CompactTextString(m) } func (*GroupOwnerTransferredTips) ProtoMessage() {} func (*GroupOwnerTransferredTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{31} + return fileDescriptor_ws_064f17309f8224cf, []int{31} } func (m *GroupOwnerTransferredTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupOwnerTransferredTips.Unmarshal(m, b) @@ -2635,7 +2635,7 @@ func (m *MemberKickedTips) Reset() { *m = MemberKickedTips{} } func (m *MemberKickedTips) String() string { return proto.CompactTextString(m) } func (*MemberKickedTips) ProtoMessage() {} func (*MemberKickedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{32} + return fileDescriptor_ws_064f17309f8224cf, []int{32} } func (m *MemberKickedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberKickedTips.Unmarshal(m, b) @@ -2698,7 +2698,7 @@ func (m *MemberInvitedTips) Reset() { *m = MemberInvitedTips{} } func (m *MemberInvitedTips) String() string { return proto.CompactTextString(m) } func (*MemberInvitedTips) ProtoMessage() {} func (*MemberInvitedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{33} + return fileDescriptor_ws_064f17309f8224cf, []int{33} } func (m *MemberInvitedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberInvitedTips.Unmarshal(m, b) @@ -2760,7 +2760,7 @@ func (m *MemberEnterTips) Reset() { *m = MemberEnterTips{} } func (m *MemberEnterTips) String() string { return proto.CompactTextString(m) } func (*MemberEnterTips) ProtoMessage() {} func (*MemberEnterTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{34} + return fileDescriptor_ws_064f17309f8224cf, []int{34} } func (m *MemberEnterTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberEnterTips.Unmarshal(m, b) @@ -2814,7 +2814,7 @@ func (m *GroupDismissedTips) Reset() { *m = GroupDismissedTips{} } func (m *GroupDismissedTips) String() string { return proto.CompactTextString(m) } func (*GroupDismissedTips) ProtoMessage() {} func (*GroupDismissedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{35} + return fileDescriptor_ws_064f17309f8224cf, []int{35} } func (m *GroupDismissedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupDismissedTips.Unmarshal(m, b) @@ -2870,7 +2870,7 @@ func (m *GroupMemberMutedTips) Reset() { *m = GroupMemberMutedTips{} } func (m *GroupMemberMutedTips) String() string { return proto.CompactTextString(m) } func (*GroupMemberMutedTips) ProtoMessage() {} func (*GroupMemberMutedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{36} + return fileDescriptor_ws_064f17309f8224cf, []int{36} } func (m *GroupMemberMutedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMemberMutedTips.Unmarshal(m, b) @@ -2939,7 +2939,7 @@ func (m *GroupMemberCancelMutedTips) Reset() { *m = GroupMemberCancelMut func (m *GroupMemberCancelMutedTips) String() string { return proto.CompactTextString(m) } func (*GroupMemberCancelMutedTips) ProtoMessage() {} func (*GroupMemberCancelMutedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{37} + return fileDescriptor_ws_064f17309f8224cf, []int{37} } func (m *GroupMemberCancelMutedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMemberCancelMutedTips.Unmarshal(m, b) @@ -3000,7 +3000,7 @@ func (m *GroupMutedTips) Reset() { *m = GroupMutedTips{} } func (m *GroupMutedTips) String() string { return proto.CompactTextString(m) } func (*GroupMutedTips) ProtoMessage() {} func (*GroupMutedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{38} + return fileDescriptor_ws_064f17309f8224cf, []int{38} } func (m *GroupMutedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMutedTips.Unmarshal(m, b) @@ -3054,7 +3054,7 @@ func (m *GroupCancelMutedTips) Reset() { *m = GroupCancelMutedTips{} } func (m *GroupCancelMutedTips) String() string { return proto.CompactTextString(m) } func (*GroupCancelMutedTips) ProtoMessage() {} func (*GroupCancelMutedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{39} + return fileDescriptor_ws_064f17309f8224cf, []int{39} } func (m *GroupCancelMutedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupCancelMutedTips.Unmarshal(m, b) @@ -3109,7 +3109,7 @@ func (m *GroupMemberInfoSetTips) Reset() { *m = GroupMemberInfoSetTips{} func (m *GroupMemberInfoSetTips) String() string { return proto.CompactTextString(m) } func (*GroupMemberInfoSetTips) ProtoMessage() {} func (*GroupMemberInfoSetTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{40} + return fileDescriptor_ws_064f17309f8224cf, []int{40} } func (m *GroupMemberInfoSetTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMemberInfoSetTips.Unmarshal(m, b) @@ -3169,7 +3169,7 @@ func (m *OrganizationChangedTips) Reset() { *m = OrganizationChangedTips func (m *OrganizationChangedTips) String() string { return proto.CompactTextString(m) } func (*OrganizationChangedTips) ProtoMessage() {} func (*OrganizationChangedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{41} + return fileDescriptor_ws_064f17309f8224cf, []int{41} } func (m *OrganizationChangedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OrganizationChangedTips.Unmarshal(m, b) @@ -3216,7 +3216,7 @@ func (m *FriendApplication) Reset() { *m = FriendApplication{} } func (m *FriendApplication) String() string { return proto.CompactTextString(m) } func (*FriendApplication) ProtoMessage() {} func (*FriendApplication) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{42} + return fileDescriptor_ws_064f17309f8224cf, []int{42} } func (m *FriendApplication) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplication.Unmarshal(m, b) @@ -3269,7 +3269,7 @@ func (m *FromToUserID) Reset() { *m = FromToUserID{} } func (m *FromToUserID) String() string { return proto.CompactTextString(m) } func (*FromToUserID) ProtoMessage() {} func (*FromToUserID) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{43} + return fileDescriptor_ws_064f17309f8224cf, []int{43} } func (m *FromToUserID) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FromToUserID.Unmarshal(m, b) @@ -3315,7 +3315,7 @@ func (m *FriendApplicationTips) Reset() { *m = FriendApplicationTips{} } func (m *FriendApplicationTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationTips) ProtoMessage() {} func (*FriendApplicationTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{44} + return fileDescriptor_ws_064f17309f8224cf, []int{44} } func (m *FriendApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationTips.Unmarshal(m, b) @@ -3355,7 +3355,7 @@ func (m *FriendApplicationApprovedTips) Reset() { *m = FriendApplication func (m *FriendApplicationApprovedTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationApprovedTips) ProtoMessage() {} func (*FriendApplicationApprovedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{45} + return fileDescriptor_ws_064f17309f8224cf, []int{45} } func (m *FriendApplicationApprovedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationApprovedTips.Unmarshal(m, b) @@ -3402,7 +3402,7 @@ func (m *FriendApplicationRejectedTips) Reset() { *m = FriendApplication func (m *FriendApplicationRejectedTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationRejectedTips) ProtoMessage() {} func (*FriendApplicationRejectedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{46} + return fileDescriptor_ws_064f17309f8224cf, []int{46} } func (m *FriendApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationRejectedTips.Unmarshal(m, b) @@ -3450,7 +3450,7 @@ func (m *FriendAddedTips) Reset() { *m = FriendAddedTips{} } func (m *FriendAddedTips) String() string { return proto.CompactTextString(m) } func (*FriendAddedTips) ProtoMessage() {} func (*FriendAddedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{47} + return fileDescriptor_ws_064f17309f8224cf, []int{47} } func (m *FriendAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendAddedTips.Unmarshal(m, b) @@ -3503,7 +3503,7 @@ func (m *FriendDeletedTips) Reset() { *m = FriendDeletedTips{} } func (m *FriendDeletedTips) String() string { return proto.CompactTextString(m) } func (*FriendDeletedTips) ProtoMessage() {} func (*FriendDeletedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{48} + return fileDescriptor_ws_064f17309f8224cf, []int{48} } func (m *FriendDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendDeletedTips.Unmarshal(m, b) @@ -3541,7 +3541,7 @@ func (m *BlackAddedTips) Reset() { *m = BlackAddedTips{} } func (m *BlackAddedTips) String() string { return proto.CompactTextString(m) } func (*BlackAddedTips) ProtoMessage() {} func (*BlackAddedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{49} + return fileDescriptor_ws_064f17309f8224cf, []int{49} } func (m *BlackAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackAddedTips.Unmarshal(m, b) @@ -3579,7 +3579,7 @@ func (m *BlackDeletedTips) Reset() { *m = BlackDeletedTips{} } func (m *BlackDeletedTips) String() string { return proto.CompactTextString(m) } func (*BlackDeletedTips) ProtoMessage() {} func (*BlackDeletedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{50} + return fileDescriptor_ws_064f17309f8224cf, []int{50} } func (m *BlackDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackDeletedTips.Unmarshal(m, b) @@ -3617,7 +3617,7 @@ func (m *FriendInfoChangedTips) Reset() { *m = FriendInfoChangedTips{} } func (m *FriendInfoChangedTips) String() string { return proto.CompactTextString(m) } func (*FriendInfoChangedTips) ProtoMessage() {} func (*FriendInfoChangedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{51} + return fileDescriptor_ws_064f17309f8224cf, []int{51} } func (m *FriendInfoChangedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendInfoChangedTips.Unmarshal(m, b) @@ -3656,7 +3656,7 @@ func (m *UserInfoUpdatedTips) Reset() { *m = UserInfoUpdatedTips{} } func (m *UserInfoUpdatedTips) String() string { return proto.CompactTextString(m) } func (*UserInfoUpdatedTips) ProtoMessage() {} func (*UserInfoUpdatedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{52} + return fileDescriptor_ws_064f17309f8224cf, []int{52} } func (m *UserInfoUpdatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfoUpdatedTips.Unmarshal(m, b) @@ -3697,7 +3697,7 @@ func (m *ConversationUpdateTips) Reset() { *m = ConversationUpdateTips{} func (m *ConversationUpdateTips) String() string { return proto.CompactTextString(m) } func (*ConversationUpdateTips) ProtoMessage() {} func (*ConversationUpdateTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{53} + return fileDescriptor_ws_064f17309f8224cf, []int{53} } func (m *ConversationUpdateTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConversationUpdateTips.Unmarshal(m, b) @@ -3751,7 +3751,7 @@ func (m *ConversationSetPrivateTips) Reset() { *m = ConversationSetPriva func (m *ConversationSetPrivateTips) String() string { return proto.CompactTextString(m) } func (*ConversationSetPrivateTips) ProtoMessage() {} func (*ConversationSetPrivateTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{54} + return fileDescriptor_ws_064f17309f8224cf, []int{54} } func (m *ConversationSetPrivateTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConversationSetPrivateTips.Unmarshal(m, b) @@ -3806,7 +3806,7 @@ func (m *DeleteMessageTips) Reset() { *m = DeleteMessageTips{} } func (m *DeleteMessageTips) String() string { return proto.CompactTextString(m) } func (*DeleteMessageTips) ProtoMessage() {} func (*DeleteMessageTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{55} + return fileDescriptor_ws_064f17309f8224cf, []int{55} } func (m *DeleteMessageTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteMessageTips.Unmarshal(m, b) @@ -3860,7 +3860,7 @@ func (m *RequestPagination) Reset() { *m = RequestPagination{} } func (m *RequestPagination) String() string { return proto.CompactTextString(m) } func (*RequestPagination) ProtoMessage() {} func (*RequestPagination) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{56} + return fileDescriptor_ws_064f17309f8224cf, []int{56} } func (m *RequestPagination) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RequestPagination.Unmarshal(m, b) @@ -3906,7 +3906,7 @@ func (m *ResponsePagination) Reset() { *m = ResponsePagination{} } func (m *ResponsePagination) String() string { return proto.CompactTextString(m) } func (*ResponsePagination) ProtoMessage() {} func (*ResponsePagination) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{57} + return fileDescriptor_ws_064f17309f8224cf, []int{57} } func (m *ResponsePagination) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ResponsePagination.Unmarshal(m, b) @@ -3963,7 +3963,7 @@ func (m *SignalReq) Reset() { *m = SignalReq{} } func (m *SignalReq) String() string { return proto.CompactTextString(m) } func (*SignalReq) ProtoMessage() {} func (*SignalReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{58} + return fileDescriptor_ws_064f17309f8224cf, []int{58} } func (m *SignalReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalReq.Unmarshal(m, b) @@ -4352,7 +4352,7 @@ func (m *SignalResp) Reset() { *m = SignalResp{} } func (m *SignalResp) String() string { return proto.CompactTextString(m) } func (*SignalResp) ProtoMessage() {} func (*SignalResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{59} + return fileDescriptor_ws_064f17309f8224cf, []int{59} } func (m *SignalResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalResp.Unmarshal(m, b) @@ -4682,7 +4682,7 @@ func (m *InvitationInfo) Reset() { *m = InvitationInfo{} } func (m *InvitationInfo) String() string { return proto.CompactTextString(m) } func (*InvitationInfo) ProtoMessage() {} func (*InvitationInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{60} + return fileDescriptor_ws_064f17309f8224cf, []int{60} } func (m *InvitationInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_InvitationInfo.Unmarshal(m, b) @@ -4792,7 +4792,7 @@ func (m *ParticipantMetaData) Reset() { *m = ParticipantMetaData{} } func (m *ParticipantMetaData) String() string { return proto.CompactTextString(m) } func (*ParticipantMetaData) ProtoMessage() {} func (*ParticipantMetaData) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{61} + return fileDescriptor_ws_064f17309f8224cf, []int{61} } func (m *ParticipantMetaData) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ParticipantMetaData.Unmarshal(m, b) @@ -4847,7 +4847,7 @@ func (m *SignalInviteReq) Reset() { *m = SignalInviteReq{} } func (m *SignalInviteReq) String() string { return proto.CompactTextString(m) } func (*SignalInviteReq) ProtoMessage() {} func (*SignalInviteReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{62} + return fileDescriptor_ws_064f17309f8224cf, []int{62} } func (m *SignalInviteReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteReq.Unmarshal(m, b) @@ -4909,7 +4909,7 @@ func (m *SignalInviteReply) Reset() { *m = SignalInviteReply{} } func (m *SignalInviteReply) String() string { return proto.CompactTextString(m) } func (*SignalInviteReply) ProtoMessage() {} func (*SignalInviteReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{63} + return fileDescriptor_ws_064f17309f8224cf, []int{63} } func (m *SignalInviteReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteReply.Unmarshal(m, b) @@ -4971,7 +4971,7 @@ func (m *SignalInviteInGroupReq) Reset() { *m = SignalInviteInGroupReq{} func (m *SignalInviteInGroupReq) String() string { return proto.CompactTextString(m) } func (*SignalInviteInGroupReq) ProtoMessage() {} func (*SignalInviteInGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{64} + return fileDescriptor_ws_064f17309f8224cf, []int{64} } func (m *SignalInviteInGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteInGroupReq.Unmarshal(m, b) @@ -5033,7 +5033,7 @@ func (m *SignalInviteInGroupReply) Reset() { *m = SignalInviteInGroupRep func (m *SignalInviteInGroupReply) String() string { return proto.CompactTextString(m) } func (*SignalInviteInGroupReply) ProtoMessage() {} func (*SignalInviteInGroupReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{65} + return fileDescriptor_ws_064f17309f8224cf, []int{65} } func (m *SignalInviteInGroupReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteInGroupReply.Unmarshal(m, b) @@ -5095,7 +5095,7 @@ func (m *SignalCancelReq) Reset() { *m = SignalCancelReq{} } func (m *SignalCancelReq) String() string { return proto.CompactTextString(m) } func (*SignalCancelReq) ProtoMessage() {} func (*SignalCancelReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{66} + return fileDescriptor_ws_064f17309f8224cf, []int{66} } func (m *SignalCancelReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalCancelReq.Unmarshal(m, b) @@ -5153,7 +5153,7 @@ func (m *SignalCancelReply) Reset() { *m = SignalCancelReply{} } func (m *SignalCancelReply) String() string { return proto.CompactTextString(m) } func (*SignalCancelReply) ProtoMessage() {} func (*SignalCancelReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{67} + return fileDescriptor_ws_064f17309f8224cf, []int{67} } func (m *SignalCancelReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalCancelReply.Unmarshal(m, b) @@ -5188,7 +5188,7 @@ func (m *SignalAcceptReq) Reset() { *m = SignalAcceptReq{} } func (m *SignalAcceptReq) String() string { return proto.CompactTextString(m) } func (*SignalAcceptReq) ProtoMessage() {} func (*SignalAcceptReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{68} + return fileDescriptor_ws_064f17309f8224cf, []int{68} } func (m *SignalAcceptReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalAcceptReq.Unmarshal(m, b) @@ -5256,7 +5256,7 @@ func (m *SignalAcceptReply) Reset() { *m = SignalAcceptReply{} } func (m *SignalAcceptReply) String() string { return proto.CompactTextString(m) } func (*SignalAcceptReply) ProtoMessage() {} func (*SignalAcceptReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{69} + return fileDescriptor_ws_064f17309f8224cf, []int{69} } func (m *SignalAcceptReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalAcceptReply.Unmarshal(m, b) @@ -5310,7 +5310,7 @@ func (m *SignalHungUpReq) Reset() { *m = SignalHungUpReq{} } func (m *SignalHungUpReq) String() string { return proto.CompactTextString(m) } func (*SignalHungUpReq) ProtoMessage() {} func (*SignalHungUpReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{70} + return fileDescriptor_ws_064f17309f8224cf, []int{70} } func (m *SignalHungUpReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalHungUpReq.Unmarshal(m, b) @@ -5361,7 +5361,7 @@ func (m *SignalHungUpReply) Reset() { *m = SignalHungUpReply{} } func (m *SignalHungUpReply) String() string { return proto.CompactTextString(m) } func (*SignalHungUpReply) ProtoMessage() {} func (*SignalHungUpReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{71} + return fileDescriptor_ws_064f17309f8224cf, []int{71} } func (m *SignalHungUpReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalHungUpReply.Unmarshal(m, b) @@ -5396,7 +5396,7 @@ func (m *SignalRejectReq) Reset() { *m = SignalRejectReq{} } func (m *SignalRejectReq) String() string { return proto.CompactTextString(m) } func (*SignalRejectReq) ProtoMessage() {} func (*SignalRejectReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{72} + return fileDescriptor_ws_064f17309f8224cf, []int{72} } func (m *SignalRejectReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalRejectReq.Unmarshal(m, b) @@ -5461,7 +5461,7 @@ func (m *SignalRejectReply) Reset() { *m = SignalRejectReply{} } func (m *SignalRejectReply) String() string { return proto.CompactTextString(m) } func (*SignalRejectReply) ProtoMessage() {} func (*SignalRejectReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{73} + return fileDescriptor_ws_064f17309f8224cf, []int{73} } func (m *SignalRejectReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalRejectReply.Unmarshal(m, b) @@ -5494,7 +5494,7 @@ func (m *SignalGetRoomByGroupIDReq) Reset() { *m = SignalGetRoomByGroupI func (m *SignalGetRoomByGroupIDReq) String() string { return proto.CompactTextString(m) } func (*SignalGetRoomByGroupIDReq) ProtoMessage() {} func (*SignalGetRoomByGroupIDReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{74} + return fileDescriptor_ws_064f17309f8224cf, []int{74} } func (m *SignalGetRoomByGroupIDReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalGetRoomByGroupIDReq.Unmarshal(m, b) @@ -5548,7 +5548,7 @@ func (m *SignalGetRoomByGroupIDReply) Reset() { *m = SignalGetRoomByGrou func (m *SignalGetRoomByGroupIDReply) String() string { return proto.CompactTextString(m) } func (*SignalGetRoomByGroupIDReply) ProtoMessage() {} func (*SignalGetRoomByGroupIDReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{75} + return fileDescriptor_ws_064f17309f8224cf, []int{75} } func (m *SignalGetRoomByGroupIDReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalGetRoomByGroupIDReply.Unmarshal(m, b) @@ -5602,7 +5602,7 @@ func (m *SignalOnRoomParticipantConnectedReq) Reset() { *m = SignalOnRoo func (m *SignalOnRoomParticipantConnectedReq) String() string { return proto.CompactTextString(m) } func (*SignalOnRoomParticipantConnectedReq) ProtoMessage() {} func (*SignalOnRoomParticipantConnectedReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{76} + return fileDescriptor_ws_064f17309f8224cf, []int{76} } func (m *SignalOnRoomParticipantConnectedReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalOnRoomParticipantConnectedReq.Unmarshal(m, b) @@ -5658,7 +5658,7 @@ func (m *SignalOnRoomParticipantDisconnectedReq) Reset() { func (m *SignalOnRoomParticipantDisconnectedReq) String() string { return proto.CompactTextString(m) } func (*SignalOnRoomParticipantDisconnectedReq) ProtoMessage() {} func (*SignalOnRoomParticipantDisconnectedReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{77} + return fileDescriptor_ws_064f17309f8224cf, []int{77} } func (m *SignalOnRoomParticipantDisconnectedReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalOnRoomParticipantDisconnectedReq.Unmarshal(m, b) @@ -5713,7 +5713,7 @@ func (m *SignalGetTokenByRoomIDReq) Reset() { *m = SignalGetTokenByRoomI func (m *SignalGetTokenByRoomIDReq) String() string { return proto.CompactTextString(m) } func (*SignalGetTokenByRoomIDReq) ProtoMessage() {} func (*SignalGetTokenByRoomIDReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{78} + return fileDescriptor_ws_064f17309f8224cf, []int{78} } func (m *SignalGetTokenByRoomIDReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalGetTokenByRoomIDReq.Unmarshal(m, b) @@ -5773,7 +5773,7 @@ func (m *SignalGetTokenByRoomIDReply) Reset() { *m = SignalGetTokenByRoo func (m *SignalGetTokenByRoomIDReply) String() string { return proto.CompactTextString(m) } func (*SignalGetTokenByRoomIDReply) ProtoMessage() {} func (*SignalGetTokenByRoomIDReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{79} + return fileDescriptor_ws_064f17309f8224cf, []int{79} } func (m *SignalGetTokenByRoomIDReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalGetTokenByRoomIDReply.Unmarshal(m, b) @@ -5821,7 +5821,7 @@ func (m *DelMsgListReq) Reset() { *m = DelMsgListReq{} } func (m *DelMsgListReq) String() string { return proto.CompactTextString(m) } func (*DelMsgListReq) ProtoMessage() {} func (*DelMsgListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{80} + return fileDescriptor_ws_064f17309f8224cf, []int{80} } func (m *DelMsgListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelMsgListReq.Unmarshal(m, b) @@ -5881,7 +5881,7 @@ func (m *DelMsgListResp) Reset() { *m = DelMsgListResp{} } func (m *DelMsgListResp) String() string { return proto.CompactTextString(m) } func (*DelMsgListResp) ProtoMessage() {} func (*DelMsgListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_a86e2552dd17ddaa, []int{81} + return fileDescriptor_ws_064f17309f8224cf, []int{81} } func (m *DelMsgListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelMsgListResp.Unmarshal(m, b) @@ -5915,6 +5915,98 @@ func (m *DelMsgListResp) GetErrMsg() string { return "" } +type SetAppBackgroundStatusReq struct { + UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` + IsBackground bool `protobuf:"varint,2,opt,name=isBackground" json:"isBackground,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SetAppBackgroundStatusReq) Reset() { *m = SetAppBackgroundStatusReq{} } +func (m *SetAppBackgroundStatusReq) String() string { return proto.CompactTextString(m) } +func (*SetAppBackgroundStatusReq) ProtoMessage() {} +func (*SetAppBackgroundStatusReq) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_064f17309f8224cf, []int{82} +} +func (m *SetAppBackgroundStatusReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SetAppBackgroundStatusReq.Unmarshal(m, b) +} +func (m *SetAppBackgroundStatusReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SetAppBackgroundStatusReq.Marshal(b, m, deterministic) +} +func (dst *SetAppBackgroundStatusReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_SetAppBackgroundStatusReq.Merge(dst, src) +} +func (m *SetAppBackgroundStatusReq) XXX_Size() int { + return xxx_messageInfo_SetAppBackgroundStatusReq.Size(m) +} +func (m *SetAppBackgroundStatusReq) XXX_DiscardUnknown() { + xxx_messageInfo_SetAppBackgroundStatusReq.DiscardUnknown(m) +} + +var xxx_messageInfo_SetAppBackgroundStatusReq proto.InternalMessageInfo + +func (m *SetAppBackgroundStatusReq) GetUserID() string { + if m != nil { + return m.UserID + } + return "" +} + +func (m *SetAppBackgroundStatusReq) GetIsBackground() bool { + if m != nil { + return m.IsBackground + } + return false +} + +type SetAppBackgroundStatusResp struct { + ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SetAppBackgroundStatusResp) Reset() { *m = SetAppBackgroundStatusResp{} } +func (m *SetAppBackgroundStatusResp) String() string { return proto.CompactTextString(m) } +func (*SetAppBackgroundStatusResp) ProtoMessage() {} +func (*SetAppBackgroundStatusResp) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_064f17309f8224cf, []int{83} +} +func (m *SetAppBackgroundStatusResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SetAppBackgroundStatusResp.Unmarshal(m, b) +} +func (m *SetAppBackgroundStatusResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SetAppBackgroundStatusResp.Marshal(b, m, deterministic) +} +func (dst *SetAppBackgroundStatusResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_SetAppBackgroundStatusResp.Merge(dst, src) +} +func (m *SetAppBackgroundStatusResp) XXX_Size() int { + return xxx_messageInfo_SetAppBackgroundStatusResp.Size(m) +} +func (m *SetAppBackgroundStatusResp) XXX_DiscardUnknown() { + xxx_messageInfo_SetAppBackgroundStatusResp.DiscardUnknown(m) +} + +var xxx_messageInfo_SetAppBackgroundStatusResp proto.InternalMessageInfo + +func (m *SetAppBackgroundStatusResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode + } + return 0 +} + +func (m *SetAppBackgroundStatusResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg + } + return "" +} + func init() { proto.RegisterType((*GroupInfo)(nil), "server_api_params.GroupInfo") proto.RegisterType((*GroupInfoForSet)(nil), "server_api_params.GroupInfoForSet") @@ -6002,250 +6094,255 @@ func init() { proto.RegisterType((*SignalGetTokenByRoomIDReply)(nil), "server_api_params.SignalGetTokenByRoomIDReply") proto.RegisterType((*DelMsgListReq)(nil), "server_api_params.DelMsgListReq") proto.RegisterType((*DelMsgListResp)(nil), "server_api_params.DelMsgListResp") + proto.RegisterType((*SetAppBackgroundStatusReq)(nil), "server_api_params.SetAppBackgroundStatusReq") + proto.RegisterType((*SetAppBackgroundStatusResp)(nil), "server_api_params.SetAppBackgroundStatusResp") } -func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_a86e2552dd17ddaa) } +func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_064f17309f8224cf) } -var fileDescriptor_ws_a86e2552dd17ddaa = []byte{ - // 3837 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x3c, 0x5b, 0x6f, 0x1d, 0x57, - 0xd5, 0x9d, 0x39, 0x3e, 0xc7, 0x3e, 0xeb, 0xf8, 0x72, 0x3c, 0x49, 0xdc, 0x53, 0x37, 0xcd, 0xe7, - 0x6f, 0x1a, 0xe5, 0xeb, 0x97, 0x2f, 0x75, 0x3e, 0xa5, 0x17, 0xd1, 0x5b, 0x50, 0x6c, 0x37, 0x8e, - 0xdb, 0x9c, 0xd8, 0x9d, 0x93, 0xb4, 0xa8, 0xad, 0x14, 0xc6, 0x67, 0xb6, 0x8f, 0xa7, 0x9e, 0x33, - 0x33, 0x9e, 0x8b, 0x13, 0xf3, 0x00, 0x12, 0x20, 0x40, 0xe2, 0x01, 0x09, 0x71, 0x91, 0xe0, 0x8d, - 0x17, 0x04, 0x42, 0x15, 0x42, 0x80, 0x90, 0x40, 0x08, 0x21, 0x1e, 0x90, 0x40, 0x82, 0x77, 0x24, - 0x10, 0x3c, 0xf1, 0xc0, 0x1f, 0x40, 0x42, 0x2a, 0xda, 0x7b, 0xed, 0x99, 0xd9, 0x7b, 0x66, 0xce, - 0x25, 0x96, 0xd5, 0xa4, 0x0a, 0x6f, 0x5e, 0x6b, 0xf6, 0x5a, 0x7b, 0xdd, 0xf7, 0xda, 0x97, 0x63, - 0x98, 0x0b, 0xad, 0xbd, 0xdb, 0x77, 0xc2, 0x8b, 0x77, 0xc2, 0x65, 0x3f, 0xf0, 0x22, 0x4f, 0x9b, - 0x0f, 0x49, 0x70, 0x40, 0x82, 0xdb, 0xa6, 0x6f, 0xdf, 0xf6, 0xcd, 0xc0, 0xec, 0x87, 0x8b, 0xcb, - 0x9b, 0x3e, 0x71, 0x9f, 0xde, 0x68, 0x3f, 0xdd, 0x61, 0x9f, 0x2e, 0xfa, 0x7b, 0xbd, 0x8b, 0x6c, - 0xf0, 0xc5, 0x84, 0x38, 0x30, 0x7d, 0x9f, 0x04, 0x9c, 0x85, 0xfe, 0x97, 0x09, 0xa8, 0xaf, 0x07, - 0x5e, 0xec, 0x6f, 0xb8, 0x3b, 0x9e, 0xd6, 0x82, 0xc9, 0x1e, 0x03, 0xd6, 0x5a, 0xca, 0x92, 0xf2, - 0x54, 0xdd, 0x48, 0x40, 0xed, 0x34, 0xd4, 0xd9, 0x9f, 0x37, 0xcc, 0x3e, 0x69, 0xa9, 0xec, 0x5b, - 0x86, 0xd0, 0x74, 0x98, 0x76, 0xbd, 0xc8, 0xde, 0xb1, 0xbb, 0x66, 0x64, 0x7b, 0x6e, 0xab, 0xc2, - 0x06, 0x48, 0x38, 0x3a, 0xc6, 0x76, 0xa3, 0xc0, 0xb3, 0xe2, 0x2e, 0x1b, 0x33, 0x81, 0x63, 0x44, - 0x1c, 0x9d, 0x7f, 0xc7, 0xec, 0x92, 0x5b, 0xc6, 0xf5, 0x56, 0x15, 0xe7, 0xe7, 0xa0, 0xb6, 0x04, - 0x0d, 0xef, 0x8e, 0x4b, 0x82, 0x5b, 0x21, 0x09, 0x36, 0xd6, 0x5a, 0x35, 0xf6, 0x55, 0x44, 0x69, - 0x67, 0x00, 0xba, 0x01, 0x31, 0x23, 0x72, 0xd3, 0xee, 0x93, 0xd6, 0xe4, 0x92, 0xf2, 0xd4, 0x8c, - 0x21, 0x60, 0x28, 0x87, 0x3e, 0xe9, 0x6f, 0x93, 0x60, 0xd5, 0x8b, 0xdd, 0xa8, 0x35, 0xc5, 0x06, - 0x88, 0x28, 0x6d, 0x16, 0x54, 0x72, 0xb7, 0x55, 0x67, 0xac, 0x55, 0x72, 0x57, 0x5b, 0x80, 0x5a, - 0x18, 0x99, 0x51, 0x1c, 0xb6, 0x60, 0x49, 0x79, 0xaa, 0x6a, 0x70, 0x48, 0x3b, 0x0b, 0x33, 0x8c, - 0xaf, 0x97, 0x48, 0xd3, 0x60, 0x24, 0x32, 0x32, 0xb5, 0xd8, 0xcd, 0x43, 0x9f, 0xb4, 0xa6, 0x19, - 0x83, 0x0c, 0xa1, 0x9d, 0x87, 0xa6, 0x4b, 0x88, 0xf5, 0x26, 0x09, 0x32, 0xab, 0xcd, 0xb0, 0x41, - 0x05, 0xbc, 0x76, 0x0e, 0x66, 0x1d, 0xcf, 0xdb, 0x6b, 0x33, 0x51, 0xa9, 0x9f, 0x5a, 0xb3, 0x6c, - 0x64, 0x0e, 0xab, 0x5d, 0x80, 0x79, 0xd3, 0xf7, 0x9d, 0x43, 0x44, 0x5d, 0x0d, 0x6c, 0xe2, 0x5a, - 0xad, 0x39, 0x36, 0xb4, 0xf8, 0x41, 0x7b, 0x1e, 0x16, 0x44, 0xff, 0xdc, 0xf2, 0xad, 0xc4, 0x76, - 0x4d, 0x66, 0x9a, 0x01, 0x5f, 0xb5, 0x65, 0xd0, 0xa4, 0x2f, 0x68, 0x82, 0x79, 0x66, 0x82, 0x92, - 0x2f, 0xfa, 0xd7, 0x2a, 0x30, 0x97, 0x46, 0xd8, 0x55, 0x2f, 0xe8, 0x90, 0xe8, 0x01, 0x8e, 0x33, - 0x8c, 0x81, 0x5a, 0x1a, 0x03, 0xeb, 0x25, 0x7e, 0xa2, 0xb1, 0xd5, 0xb8, 0xf4, 0xf8, 0x72, 0xcf, - 0xf3, 0x7a, 0x0e, 0xc1, 0x44, 0xda, 0x8e, 0x77, 0x96, 0x37, 0xdc, 0xe8, 0x99, 0x4b, 0x6f, 0x9a, - 0x4e, 0x4c, 0x4a, 0x9c, 0xb8, 0x5a, 0x70, 0xe2, 0xd4, 0x68, 0x36, 0x79, 0x0f, 0x6f, 0x94, 0x79, - 0xb8, 0x3e, 0x9a, 0x4f, 0x91, 0x4a, 0xff, 0x40, 0x85, 0x13, 0xcc, 0x2d, 0x1c, 0x1b, 0x3b, 0xce, - 0x88, 0x12, 0xb0, 0x00, 0xb5, 0x18, 0x9d, 0x8d, 0x7e, 0xe1, 0x10, 0x75, 0x59, 0xe0, 0x39, 0xe4, - 0x3a, 0x39, 0x20, 0x0e, 0xf3, 0x48, 0xd5, 0xc8, 0x10, 0xda, 0x22, 0x4c, 0xbd, 0xe7, 0xd9, 0x2e, - 0x0b, 0xac, 0x09, 0xf6, 0x31, 0x85, 0xe9, 0x37, 0xd7, 0xee, 0xee, 0xb9, 0xd4, 0xd7, 0xe8, 0x87, - 0x14, 0x16, 0x5d, 0x54, 0x93, 0x5d, 0x74, 0x0e, 0x66, 0x4d, 0xdf, 0x6f, 0x9b, 0x6e, 0x8f, 0x04, - 0x38, 0xe9, 0x24, 0xa6, 0x83, 0x8c, 0xa5, 0x05, 0x81, 0xce, 0xd4, 0xf1, 0xe2, 0xa0, 0x4b, 0x98, - 0xb5, 0xab, 0x86, 0x80, 0xa1, 0x7c, 0x3c, 0x9f, 0x04, 0x42, 0x1e, 0x63, 0xea, 0xe7, 0xb0, 0x3c, - 0x24, 0x20, 0x0d, 0x09, 0x5a, 0x48, 0xe2, 0x88, 0xbc, 0xea, 0x5a, 0x4c, 0xa9, 0x06, 0x2f, 0x24, - 0x19, 0x8a, 0x16, 0x08, 0xdb, 0x3d, 0xb0, 0xa3, 0xb4, 0x5c, 0x4d, 0x63, 0x81, 0x90, 0x90, 0xfa, - 0x17, 0x14, 0x98, 0xdd, 0x8a, 0xb7, 0x1d, 0xbb, 0xcb, 0x10, 0xd4, 0xf8, 0x99, 0x89, 0x15, 0xc9, - 0xc4, 0xa2, 0xa1, 0xd4, 0xc1, 0x86, 0xaa, 0xc8, 0x86, 0x5a, 0x80, 0x5a, 0x8f, 0xb8, 0x16, 0x09, - 0xb8, 0xe1, 0x39, 0xc4, 0x15, 0xaa, 0x26, 0x0a, 0xe9, 0x7f, 0x56, 0x61, 0xea, 0x43, 0x16, 0x61, - 0x09, 0x1a, 0xfe, 0xae, 0xe7, 0x92, 0x1b, 0x31, 0x0d, 0x3e, 0x2e, 0x8b, 0x88, 0xd2, 0x4e, 0x42, - 0x75, 0xdb, 0x0e, 0xa2, 0x5d, 0xe6, 0xfd, 0x19, 0x03, 0x01, 0x8a, 0x25, 0x7d, 0xd3, 0x46, 0x97, - 0xd7, 0x0d, 0x04, 0xb8, 0x42, 0x53, 0xa9, 0x87, 0xe4, 0xa5, 0xa0, 0x5e, 0x58, 0x0a, 0x8a, 0x11, - 0x04, 0xa5, 0x11, 0x74, 0x1e, 0x9a, 0x3d, 0xc7, 0xdb, 0x36, 0x1d, 0x83, 0x74, 0x0f, 0xda, 0x61, - 0x6f, 0xd3, 0x8f, 0x98, 0xbb, 0xab, 0x46, 0x01, 0x4f, 0xed, 0xc3, 0x44, 0xec, 0x44, 0x01, 0x77, - 0x77, 0x0a, 0xeb, 0xff, 0x54, 0x00, 0x30, 0xed, 0x98, 0x89, 0x73, 0x6b, 0x99, 0x52, 0x5c, 0xcb, - 0x16, 0xa0, 0x16, 0x90, 0xbe, 0x19, 0xec, 0x25, 0xa9, 0x86, 0x50, 0x4e, 0xb1, 0x4a, 0x41, 0xb1, - 0x97, 0x00, 0x76, 0xd8, 0x3c, 0x94, 0x0f, 0x33, 0x39, 0x2d, 0x0c, 0x85, 0x2e, 0x61, 0x39, 0xf1, - 0xb6, 0x21, 0x0c, 0xa7, 0x79, 0x6c, 0x5a, 0x16, 0x4f, 0x97, 0x2a, 0xe6, 0x71, 0x8a, 0x28, 0xc9, - 0x96, 0xda, 0x90, 0x6c, 0x99, 0x4c, 0x83, 0xeb, 0x1f, 0x0a, 0xd4, 0x57, 0x1c, 0xb3, 0xbb, 0x37, - 0xa6, 0xea, 0xb2, 0x8a, 0x6a, 0x41, 0xc5, 0x75, 0x98, 0xd9, 0xa6, 0xec, 0x12, 0x15, 0x98, 0x15, - 0x1a, 0x97, 0xfe, 0xbb, 0x44, 0x4b, 0x39, 0xb9, 0x0c, 0x99, 0x4e, 0x56, 0x77, 0x62, 0xb4, 0xba, - 0xd5, 0x21, 0xea, 0xa6, 0xeb, 0x85, 0xfe, 0xcd, 0x0a, 0x4c, 0xb3, 0xb2, 0x6a, 0x90, 0xfd, 0x98, - 0x84, 0x91, 0xf6, 0x0a, 0x4c, 0xc5, 0x89, 0xa8, 0xca, 0xb8, 0xa2, 0xa6, 0x24, 0xda, 0x8b, 0x7c, - 0x3d, 0x64, 0xf4, 0x2a, 0xa3, 0x3f, 0x5d, 0x42, 0x9f, 0x2e, 0xb0, 0x46, 0x36, 0x9c, 0xae, 0x84, - 0xbb, 0xa6, 0x6b, 0x39, 0xc4, 0x20, 0x61, 0xec, 0x44, 0xbc, 0x36, 0x4b, 0x38, 0x8c, 0xb4, 0xfd, - 0x76, 0xd8, 0xe3, 0xeb, 0x24, 0x87, 0xa8, 0x75, 0x70, 0x1c, 0xfd, 0x84, 0xaa, 0x67, 0x08, 0x9a, - 0xf0, 0x01, 0xd9, 0x67, 0x1e, 0xc2, 0xf4, 0x4c, 0xc0, 0x6c, 0x4e, 0x6e, 0x35, 0x0c, 0x04, 0x09, - 0x47, 0x5d, 0x8c, 0x30, 0x63, 0x80, 0x8d, 0x98, 0x80, 0x29, 0xf4, 0x61, 0x72, 0x21, 0x87, 0x42, - 0x21, 0x2f, 0x94, 0xdb, 0x46, 0x59, 0xb9, 0xfd, 0x53, 0x05, 0x66, 0x30, 0x09, 0x13, 0xd7, 0x9c, - 0xa1, 0xd9, 0xe2, 0xf5, 0xa5, 0x58, 0x14, 0x30, 0x54, 0x17, 0x0a, 0xdd, 0x90, 0xcb, 0x9e, 0x84, - 0xa3, 0x01, 0x4d, 0xe1, 0xab, 0x52, 0xf9, 0x13, 0x51, 0xc9, 0x2c, 0xeb, 0x62, 0x19, 0x14, 0x30, - 0xb4, 0x70, 0x44, 0x9e, 0x14, 0x63, 0x29, 0x4c, 0x69, 0x23, 0x2f, 0x9d, 0x1f, 0xa3, 0x4c, 0xc0, - 0x50, 0x2f, 0x45, 0x5e, 0x32, 0x37, 0x9a, 0x3a, 0x43, 0x20, 0x67, 0x3e, 0x2f, 0x2e, 0x7f, 0x29, - 0x5c, 0x88, 0x8d, 0xfa, 0xd0, 0xd8, 0x00, 0x29, 0x36, 0xe4, 0x14, 0x6d, 0x14, 0x52, 0xf4, 0x2c, - 0xcc, 0x20, 0x9f, 0xdc, 0xf2, 0x27, 0x21, 0xe5, 0x08, 0x9b, 0xc9, 0x47, 0x98, 0x1c, 0x23, 0xb3, - 0x03, 0x62, 0x64, 0x2e, 0xcd, 0xbb, 0x1f, 0xa9, 0x00, 0x6b, 0xc4, 0x37, 0x83, 0xa8, 0x4f, 0xdc, - 0x88, 0xaa, 0x67, 0xa5, 0x50, 0xea, 0x5c, 0x09, 0x27, 0xae, 0x5a, 0xaa, 0xbc, 0x6a, 0x69, 0x30, - 0xc1, 0x0c, 0x8e, 0xde, 0x64, 0x7f, 0x53, 0x63, 0xfa, 0x66, 0x80, 0xdc, 0x30, 0x55, 0x52, 0x98, - 0xae, 0x4a, 0x5e, 0x60, 0xf1, 0x75, 0xac, 0x6a, 0x20, 0x40, 0x4b, 0x48, 0x36, 0x1f, 0xdb, 0x05, - 0xd4, 0x70, 0x95, 0x91, 0xb1, 0x23, 0x37, 0x2e, 0xe7, 0xa1, 0x19, 0xc6, 0xdb, 0x99, 0x72, 0x37, - 0xe2, 0x3e, 0x4f, 0x9a, 0x02, 0x9e, 0x1a, 0x15, 0x77, 0x34, 0x74, 0x10, 0x2e, 0x7c, 0x19, 0x22, - 0xdf, 0xc9, 0xe8, 0xbf, 0x55, 0xa1, 0xb9, 0x19, 0xf4, 0x4c, 0xd7, 0xfe, 0x54, 0xda, 0xb1, 0x1f, - 0xa9, 0x01, 0x58, 0x82, 0x06, 0x71, 0x7b, 0x8e, 0x1d, 0xee, 0xde, 0xc8, 0xec, 0x26, 0xa2, 0x44, - 0x63, 0x4f, 0x0c, 0x6a, 0x11, 0xaa, 0x52, 0x8b, 0xb0, 0x00, 0xb5, 0xbe, 0xb7, 0x6d, 0x3b, 0x49, - 0xdc, 0x73, 0x88, 0xc5, 0x3c, 0x71, 0x08, 0xeb, 0x15, 0xd2, 0x98, 0x4f, 0x10, 0x59, 0xdb, 0x30, - 0x55, 0xda, 0x36, 0xd4, 0xc5, 0xb6, 0x41, 0x36, 0x3c, 0x14, 0x0c, 0x8f, 0xe6, 0x6a, 0xa4, 0x75, - 0x68, 0xd8, 0x12, 0xff, 0x2b, 0x05, 0x9a, 0x99, 0x2b, 0xb0, 0xa7, 0x1e, 0x68, 0xca, 0x7c, 0x74, - 0xaa, 0x25, 0xd1, 0x99, 0xc6, 0x54, 0x45, 0x8c, 0x29, 0x1a, 0x85, 0x5e, 0x68, 0x0b, 0x1b, 0x9b, - 0x14, 0xa6, 0xb3, 0x39, 0xc4, 0x14, 0x0c, 0x89, 0x90, 0xb0, 0x8d, 0xad, 0x49, 0xdb, 0xd8, 0xfc, - 0x4a, 0xfd, 0x33, 0x05, 0x4e, 0xd2, 0x08, 0x28, 0xa8, 0xb1, 0x09, 0x4d, 0x2f, 0x17, 0x25, 0x7c, - 0x29, 0x7b, 0xb2, 0x64, 0x29, 0xca, 0x07, 0x94, 0x51, 0x20, 0xa6, 0x0c, 0xad, 0xdc, 0x24, 0x7c, - 0x6d, 0x2b, 0x63, 0x98, 0x97, 0xc7, 0x28, 0x10, 0xeb, 0xbf, 0x50, 0xa0, 0x89, 0x8b, 0xa7, 0x50, - 0x03, 0x8e, 0x5d, 0xec, 0xb7, 0xe0, 0x64, 0x7e, 0xe6, 0xeb, 0x76, 0x18, 0xb5, 0xd4, 0xa5, 0xca, - 0xb8, 0xa2, 0x97, 0x32, 0xd0, 0x7f, 0xa0, 0xc2, 0xa3, 0x5b, 0xb1, 0xe3, 0xb4, 0x49, 0x18, 0x9a, - 0x3d, 0xb2, 0x72, 0xd8, 0x21, 0xfb, 0xf4, 0x83, 0x41, 0xf6, 0x07, 0xc6, 0x10, 0xed, 0xa4, 0x58, - 0x2b, 0x62, 0x7b, 0x6e, 0x1a, 0x42, 0x22, 0x8a, 0xa6, 0x5c, 0x88, 0x7c, 0x5a, 0x95, 0xa5, 0x0a, - 0x5d, 0xa4, 0x39, 0xa8, 0x7d, 0x12, 0xa6, 0x59, 0x97, 0xc0, 0xa7, 0x69, 0x4d, 0x30, 0x05, 0x5e, - 0x2e, 0xed, 0x4b, 0x4a, 0xa5, 0xc2, 0x7e, 0x83, 0xc3, 0xaf, 0xba, 0x51, 0x70, 0x68, 0x48, 0x1c, - 0x17, 0xdf, 0x81, 0xf9, 0xc2, 0x10, 0xad, 0x09, 0x95, 0x3d, 0x72, 0xc8, 0xf5, 0xa0, 0x7f, 0x6a, - 0xff, 0x0f, 0xd5, 0x03, 0xba, 0x41, 0xe5, 0xde, 0x5f, 0x2c, 0x91, 0x80, 0xcb, 0x6c, 0xe0, 0xc0, - 0x17, 0xd5, 0x8f, 0x29, 0xfa, 0x93, 0xa9, 0x62, 0xa2, 0x8e, 0x8a, 0xa4, 0xa3, 0xfe, 0x3a, 0x34, - 0xda, 0x61, 0x6f, 0xcd, 0x8c, 0x4c, 0x36, 0xf0, 0x65, 0x68, 0xf4, 0x33, 0x90, 0x0d, 0x2e, 0x9f, - 0x8f, 0x13, 0x19, 0xe2, 0x70, 0xfd, 0x8f, 0x2a, 0xb4, 0xca, 0x4d, 0x11, 0xfa, 0x54, 0x06, 0x12, - 0x04, 0xab, 0x9e, 0x45, 0x98, 0x6a, 0x55, 0x23, 0x01, 0xa9, 0xef, 0x48, 0x10, 0xd0, 0xf5, 0x8d, - 0xb7, 0xf1, 0x08, 0x69, 0xcb, 0x30, 0xe1, 0x24, 0x6e, 0x19, 0x2e, 0x05, 0x1b, 0xa7, 0xf5, 0xa1, - 0xc9, 0xac, 0x2b, 0x28, 0xc4, 0x7d, 0x76, 0x65, 0x6c, 0x9f, 0x85, 0x3e, 0x3a, 0x4d, 0xe0, 0x81, - 0x8e, 0x2b, 0xb0, 0x5e, 0xec, 0xc2, 0xa9, 0xd2, 0xa1, 0x25, 0x0e, 0x7c, 0x56, 0x76, 0xe0, 0x99, - 0xc1, 0xaa, 0xe4, 0x9d, 0xe8, 0x83, 0xb6, 0x4e, 0xa2, 0xb6, 0x79, 0xf7, 0x8a, 0x6b, 0xb5, 0x6d, - 0xb7, 0x43, 0xf6, 0x69, 0xb4, 0x2f, 0x41, 0x83, 0x1f, 0x37, 0xa4, 0x6e, 0xaa, 0x1b, 0x22, 0x6a, - 0xe0, 0x29, 0x44, 0x2e, 0x1f, 0x2a, 0x85, 0x7c, 0xd0, 0x2f, 0xc3, 0xb4, 0x38, 0x1d, 0x5b, 0x60, - 0xcc, 0xbb, 0x1d, 0xb2, 0xcf, 0x14, 0x9a, 0x31, 0x38, 0xc4, 0xf0, 0x6c, 0x04, 0xdf, 0x7d, 0x70, - 0x48, 0xff, 0x9d, 0x0a, 0x27, 0x0a, 0x22, 0x87, 0xfe, 0xbd, 0xf2, 0x11, 0xe3, 0xa5, 0x32, 0x28, - 0x5e, 0x26, 0xa4, 0x78, 0xd9, 0x83, 0x79, 0x74, 0x92, 0x30, 0x75, 0xab, 0xca, 0x02, 0xe0, 0x95, - 0xb2, 0xcd, 0x40, 0x51, 0x48, 0xee, 0x7b, 0x01, 0x8b, 0xce, 0x2f, 0xf2, 0x5d, 0x24, 0xb0, 0x50, - 0x3e, 0xb8, 0xc4, 0xfd, 0xcf, 0xc9, 0xee, 0xff, 0xaf, 0x32, 0xf7, 0x8b, 0x92, 0x08, 0xfe, 0xdf, - 0x87, 0x39, 0x5a, 0x54, 0x3b, 0xc4, 0xb5, 0xda, 0x61, 0x8f, 0x19, 0x72, 0x09, 0x1a, 0x48, 0xdf, - 0x0e, 0x7b, 0xd9, 0xe6, 0x50, 0x40, 0xd1, 0x11, 0x5d, 0xc7, 0xa6, 0xc5, 0x93, 0x8d, 0xe0, 0x45, - 0x4f, 0x40, 0xd1, 0x05, 0x32, 0x24, 0xfc, 0x64, 0x86, 0x5a, 0xb7, 0x62, 0xa4, 0xb0, 0xfe, 0xd3, - 0x1a, 0x4c, 0xf2, 0x68, 0x64, 0x8b, 0x22, 0xdd, 0x8f, 0xa7, 0x65, 0x15, 0x21, 0xec, 0x79, 0xbb, - 0x07, 0x59, 0x78, 0x21, 0x24, 0x1e, 0x8b, 0x55, 0xe4, 0x63, 0xb1, 0x9c, 0x4c, 0x13, 0x45, 0x99, - 0x72, 0x7a, 0x55, 0x8b, 0x7a, 0xd1, 0x16, 0x8f, 0x75, 0x3d, 0x5b, 0x8e, 0x19, 0xed, 0x78, 0x41, - 0x9f, 0x6f, 0xaf, 0xab, 0x46, 0x01, 0x4f, 0xdb, 0x4a, 0xc4, 0xa5, 0xfb, 0x02, 0x5c, 0xc2, 0x73, - 0x58, 0xda, 0x85, 0x23, 0x26, 0xd9, 0x1f, 0xe0, 0xf9, 0x88, 0x8c, 0x44, 0xd9, 0xc2, 0xd0, 0xf6, - 0x5c, 0xd6, 0xa1, 0xe2, 0x36, 0x40, 0x44, 0x51, 0xcd, 0xfb, 0x61, 0xef, 0x6a, 0xe0, 0xf5, 0xf9, - 0xd6, 0x2b, 0x01, 0x99, 0xe6, 0x9e, 0x1b, 0x25, 0xdd, 0x2d, 0x9e, 0x8c, 0x88, 0x28, 0x4a, 0xcb, - 0x41, 0xd6, 0x30, 0x4d, 0x1b, 0x09, 0x48, 0x63, 0x29, 0x24, 0xfb, 0xbc, 0xb1, 0xa7, 0x7f, 0x4a, - 0x9e, 0x9b, 0x93, 0x3d, 0x97, 0xeb, 0xd4, 0x9a, 0xec, 0xab, 0xd8, 0xa9, 0x65, 0x2d, 0xce, 0xbc, - 0xd4, 0xe2, 0x5c, 0x81, 0x49, 0xcf, 0xa7, 0xe9, 0x1f, 0xb6, 0x34, 0x96, 0x2e, 0xff, 0x33, 0xb8, - 0x40, 0x2d, 0x6f, 0xe2, 0x48, 0x4c, 0x8c, 0x84, 0x4e, 0xbb, 0x0e, 0x73, 0xde, 0xce, 0x8e, 0x63, - 0xbb, 0x64, 0x2b, 0x0e, 0x77, 0xd9, 0x36, 0xfc, 0x04, 0x0b, 0x76, 0xbd, 0xac, 0x89, 0x90, 0x47, - 0x1a, 0x79, 0x52, 0xda, 0xf9, 0x99, 0x11, 0x6e, 0x80, 0x58, 0x81, 0x3b, 0xc9, 0x0a, 0x9c, 0x84, - 0x63, 0xe7, 0x8b, 0x42, 0xa1, 0x3f, 0xc5, 0x0c, 0x27, 0xa2, 0x90, 0x4b, 0x64, 0x76, 0x77, 0x09, - 0x3b, 0x50, 0x6a, 0x2d, 0x60, 0xff, 0x28, 0xe2, 0x78, 0x77, 0xf7, 0x68, 0xd2, 0xdd, 0x2d, 0xbe, - 0x08, 0xd3, 0xa2, 0x82, 0x25, 0xc9, 0x7c, 0x52, 0x4c, 0xe6, 0x29, 0x31, 0x57, 0xbf, 0xae, 0xc0, - 0x5c, 0x4e, 0x35, 0x3a, 0x3a, 0xb2, 0x23, 0x87, 0x70, 0x0e, 0x08, 0xd0, 0x9d, 0x93, 0x45, 0xc2, - 0x2e, 0x4f, 0x1e, 0xf6, 0x37, 0x97, 0xa4, 0x92, 0xb6, 0xd1, 0x3a, 0x4c, 0xdb, 0x9b, 0x1d, 0xca, - 0xa8, 0xe3, 0xc5, 0xae, 0x95, 0x1e, 0xd0, 0x0b, 0x38, 0xb6, 0xa5, 0xdf, 0xec, 0xac, 0x98, 0x56, - 0x8f, 0xe0, 0x75, 0x4d, 0x95, 0xc9, 0x24, 0x23, 0x75, 0x0b, 0xa6, 0x6e, 0xda, 0x7e, 0xb8, 0xea, - 0xf5, 0xfb, 0x34, 0x04, 0x2c, 0x12, 0xd1, 0x1e, 0x5f, 0x61, 0x06, 0xe3, 0x10, 0xb5, 0xa6, 0x45, - 0x76, 0xcc, 0xd8, 0x89, 0xe8, 0xd0, 0xa4, 0x64, 0x08, 0x28, 0x76, 0xbc, 0x10, 0x7a, 0xee, 0x1a, - 0x52, 0xa3, 0x9c, 0x02, 0x46, 0xff, 0x8d, 0x0a, 0x4d, 0x56, 0x11, 0x57, 0x59, 0xc0, 0x59, 0x8c, - 0xe8, 0x12, 0x54, 0x59, 0x01, 0xe0, 0x1d, 0xe5, 0xf0, 0x33, 0x19, 0x1c, 0xaa, 0x5d, 0x86, 0x9a, - 0xe7, 0xb3, 0x36, 0x14, 0xcb, 0xe5, 0xb9, 0x41, 0x44, 0xf2, 0x91, 0xbc, 0xc1, 0xa9, 0xb4, 0xab, - 0x00, 0xfd, 0xac, 0xeb, 0xc4, 0xe6, 0x61, 0x5c, 0x1e, 0x02, 0x25, 0x35, 0x6e, 0xba, 0x2e, 0xa6, - 0xe7, 0xf2, 0x15, 0x43, 0x46, 0x6a, 0x37, 0x60, 0x96, 0x89, 0xbd, 0x99, 0x1c, 0xce, 0x31, 0x1f, - 0x8c, 0x3f, 0x63, 0x8e, 0x5a, 0xff, 0x8e, 0xc2, 0xcd, 0x48, 0xbf, 0x76, 0x08, 0xda, 0x3e, 0x33, - 0x89, 0x72, 0x24, 0x93, 0x2c, 0xc2, 0x54, 0x3f, 0x16, 0xce, 0x0a, 0x2b, 0x46, 0x0a, 0x67, 0x2e, - 0xaa, 0x8c, 0xed, 0x22, 0xfd, 0xbb, 0x0a, 0xb4, 0x5e, 0xf3, 0x6c, 0x97, 0x7d, 0xb8, 0xe2, 0xfb, - 0x0e, 0xbf, 0xbe, 0x39, 0xb2, 0xcf, 0x3f, 0x0e, 0x75, 0x13, 0xd9, 0xb8, 0x11, 0x77, 0xfb, 0x18, - 0xe7, 0x7f, 0x19, 0x8d, 0x70, 0x08, 0x53, 0x11, 0x0f, 0x61, 0xf4, 0xf7, 0x15, 0x98, 0x45, 0xa3, - 0xbc, 0x11, 0xdb, 0xd1, 0x91, 0xe5, 0x5b, 0x81, 0xa9, 0xfd, 0xd8, 0x8e, 0x8e, 0x10, 0x95, 0x29, - 0x5d, 0x31, 0x9e, 0x2a, 0x25, 0xf1, 0xa4, 0xff, 0x50, 0x81, 0xd3, 0x79, 0xb3, 0x5e, 0xe9, 0x76, - 0x89, 0x7f, 0x3f, 0x53, 0x4a, 0x3a, 0x84, 0x9a, 0xc8, 0x1d, 0x42, 0x95, 0x8a, 0x6c, 0x90, 0xf7, - 0x48, 0xf7, 0xc1, 0x15, 0xf9, 0x73, 0x2a, 0x3c, 0xb6, 0x9e, 0x26, 0xde, 0xcd, 0xc0, 0x74, 0xc3, - 0x1d, 0x12, 0x04, 0xf7, 0x51, 0xde, 0xeb, 0x30, 0xe3, 0x92, 0x3b, 0x99, 0x4c, 0x3c, 0x1d, 0xc7, - 0x65, 0x23, 0x13, 0x8f, 0x57, 0xbb, 0xf4, 0x7f, 0x29, 0xd0, 0x44, 0x3e, 0xaf, 0xdb, 0xdd, 0xbd, - 0xfb, 0xa8, 0xfc, 0x0d, 0x98, 0xdd, 0x63, 0x12, 0x50, 0xe8, 0x08, 0x65, 0x3b, 0x47, 0x3d, 0xa6, - 0xfa, 0x1f, 0x28, 0x30, 0x9f, 0xdc, 0x1a, 0x1f, 0xd8, 0xf7, 0x33, 0x58, 0xb7, 0x60, 0x0e, 0x4f, - 0xe1, 0x8f, 0x6a, 0x80, 0x3c, 0xf9, 0x98, 0x16, 0xf8, 0x89, 0x02, 0x73, 0xc8, 0xe9, 0x55, 0x37, - 0x22, 0xc1, 0x91, 0xf5, 0xbf, 0x06, 0x0d, 0xe2, 0x46, 0x81, 0xe9, 0x1e, 0xa5, 0x42, 0x8a, 0xa4, - 0x63, 0x16, 0xc9, 0xf7, 0x15, 0xd0, 0x18, 0xab, 0x35, 0x3b, 0xec, 0xdb, 0x61, 0x78, 0x1f, 0x5d, - 0x37, 0x9e, 0xc0, 0xdf, 0x52, 0xe1, 0xa4, 0xc0, 0xa5, 0x1d, 0x47, 0x0f, 0xba, 0xc8, 0xda, 0x1a, - 0xd4, 0x69, 0x8f, 0x20, 0xde, 0x91, 0x8e, 0x3b, 0x51, 0x46, 0x48, 0xbb, 0x58, 0x06, 0x74, 0x48, - 0xd7, 0x73, 0xad, 0x90, 0x35, 0x47, 0x33, 0x86, 0x84, 0xa3, 0x65, 0x68, 0x51, 0x60, 0xb3, 0x6a, - 0xba, 0x5d, 0xe2, 0x3c, 0x34, 0x26, 0xd2, 0xbf, 0xaf, 0xc0, 0x2c, 0x0e, 0x79, 0xf0, 0x55, 0xa6, - 0x6b, 0x3d, 0x06, 0xf2, 0x47, 0xc6, 0x4b, 0x34, 0xbc, 0x16, 0x04, 0x2e, 0x62, 0x5f, 0xfd, 0xe0, - 0x86, 0xd6, 0x35, 0x68, 0x74, 0x77, 0x4d, 0xb7, 0x77, 0xa4, 0xe0, 0x12, 0x49, 0xf5, 0x08, 0x1e, - 0x15, 0x0f, 0xed, 0x57, 0xf1, 0x13, 0x53, 0xff, 0x99, 0x9c, 0x2a, 0x43, 0xdf, 0x40, 0xdc, 0x9b, - 0xd1, 0xf7, 0x60, 0x1e, 0x6f, 0x91, 0x85, 0x9e, 0x50, 0x6b, 0xc1, 0xa4, 0x69, 0xe1, 0xd1, 0x85, - 0xc2, 0x88, 0x12, 0x50, 0x7e, 0x65, 0xc0, 0xdf, 0xb3, 0x65, 0xaf, 0x0c, 0xce, 0x00, 0x98, 0x96, - 0xf5, 0x96, 0x17, 0x58, 0xb6, 0x9b, 0x34, 0xf8, 0x02, 0x46, 0x7f, 0x0d, 0xa6, 0xaf, 0x06, 0x5e, - 0xff, 0xa6, 0x70, 0x1f, 0x3c, 0xf4, 0xc6, 0x5a, 0xbc, 0x4b, 0x56, 0xe5, 0xbb, 0x64, 0xfd, 0x5d, - 0x38, 0x55, 0x10, 0x9c, 0x19, 0x6b, 0x15, 0xaf, 0xb9, 0x93, 0x49, 0x78, 0xc8, 0x94, 0x9d, 0xe5, - 0x89, 0xb2, 0x18, 0x12, 0x91, 0xfe, 0x59, 0x05, 0x9e, 0x28, 0xb0, 0xbf, 0xe2, 0xfb, 0x81, 0x77, - 0xc0, 0x7d, 0x72, 0x1c, 0xd3, 0xc8, 0xcd, 0xaf, 0x9a, 0x6f, 0x7e, 0x4b, 0x85, 0x90, 0x1a, 0xf6, - 0x0f, 0x41, 0x88, 0xef, 0x29, 0x30, 0xc7, 0x85, 0xb0, 0x2c, 0x3e, 0xed, 0x73, 0x50, 0xc3, 0x87, - 0x36, 0x7c, 0xc2, 0x27, 0x4a, 0x27, 0x4c, 0x1e, 0x08, 0x19, 0x7c, 0x70, 0x31, 0x22, 0xd5, 0xb2, - 0x8c, 0x7a, 0x21, 0x0d, 0xf6, 0xb1, 0x9f, 0xc2, 0x70, 0x02, 0xfd, 0x13, 0x49, 0x30, 0xaf, 0x11, - 0x87, 0x1c, 0xa7, 0x8d, 0xf4, 0x5b, 0x30, 0xcb, 0x5e, 0xfd, 0x64, 0x36, 0x38, 0x16, 0xb6, 0x6f, - 0x41, 0x93, 0xb1, 0x3d, 0x76, 0x79, 0xd3, 0xec, 0xa0, 0xf6, 0x11, 0x4b, 0xc9, 0xb1, 0x70, 0x7f, - 0x1a, 0x4e, 0x24, 0xb6, 0xc7, 0x97, 0xb4, 0xc8, 0x7b, 0xc0, 0xdd, 0x9e, 0xfe, 0x0d, 0x05, 0x16, - 0x56, 0x3d, 0xf7, 0x80, 0x04, 0xa1, 0xf4, 0xfa, 0x16, 0x49, 0xa4, 0xec, 0xe7, 0x90, 0xb6, 0x0c, - 0x5a, 0x57, 0xa0, 0xe0, 0xc7, 0x8b, 0x2a, 0x3b, 0x5e, 0x2c, 0xf9, 0xa2, 0x3d, 0x0b, 0xa7, 0x62, - 0xc6, 0xf5, 0x96, 0x1b, 0x10, 0xd3, 0x62, 0xe7, 0x69, 0x42, 0xd1, 0x2b, 0xff, 0xa8, 0xbf, 0x07, - 0x8b, 0xa2, 0x5c, 0x1d, 0x12, 0x6d, 0x05, 0xf6, 0x81, 0x20, 0x1b, 0x3f, 0x3b, 0x57, 0xa4, 0xb3, - 0xf3, 0xec, 0xac, 0x5d, 0x95, 0xce, 0xda, 0x4f, 0x43, 0xdd, 0x0e, 0x39, 0x03, 0x36, 0xef, 0x94, - 0x91, 0x21, 0x74, 0x13, 0xe6, 0xd1, 0xcb, 0xfc, 0x2e, 0x8b, 0x4d, 0xb1, 0x08, 0x53, 0x18, 0xba, - 0xe9, 0x24, 0x29, 0x3c, 0xf0, 0x66, 0x68, 0xe0, 0x3d, 0xa8, 0xde, 0x81, 0x79, 0xfe, 0x16, 0x68, - 0xcb, 0xec, 0xd9, 0x2e, 0xd6, 0xf2, 0x33, 0x00, 0xbe, 0xd9, 0x4b, 0x5e, 0x26, 0xe2, 0x8d, 0x9e, - 0x80, 0xa1, 0xdf, 0xc3, 0x5d, 0xef, 0x0e, 0xff, 0xae, 0xe2, 0xf7, 0x0c, 0xa3, 0xbf, 0x09, 0x9a, - 0x41, 0x42, 0xdf, 0x73, 0x43, 0x22, 0x70, 0x5d, 0x82, 0xc6, 0x6a, 0x1c, 0x04, 0xc4, 0xa5, 0x53, - 0x25, 0xcf, 0xeb, 0x44, 0x14, 0xe5, 0xdb, 0xc9, 0xf8, 0xe2, 0xe9, 0xbf, 0x80, 0xd1, 0xff, 0x5a, - 0x83, 0x7a, 0xc7, 0xee, 0xb9, 0xa6, 0x63, 0x90, 0x7d, 0xed, 0x65, 0xa8, 0xe1, 0xce, 0x88, 0x07, - 0x64, 0xd9, 0x69, 0x34, 0x8e, 0xc6, 0x2d, 0xa0, 0x41, 0xf6, 0xaf, 0x3d, 0x62, 0x70, 0x1a, 0xed, - 0x8d, 0xe4, 0xc5, 0xd4, 0x06, 0x9e, 0x74, 0xf1, 0x65, 0xf2, 0x7f, 0x47, 0x30, 0xe1, 0xa3, 0x91, - 0x97, 0xcc, 0x81, 0x0a, 0xd4, 0x65, 0x9d, 0x13, 0xaf, 0x42, 0x83, 0x05, 0xc2, 0x06, 0x8b, 0x0b, - 0x84, 0x34, 0x94, 0xda, 0x64, 0x67, 0x41, 0xbc, 0x21, 0x18, 0x4c, 0x8d, 0x47, 0x46, 0x9c, 0x1a, - 0x69, 0x28, 0xf5, 0x6e, 0xec, 0xf6, 0x6e, 0xf9, 0xfc, 0x88, 0x72, 0x30, 0xf5, 0x35, 0x36, 0x8c, - 0x53, 0x23, 0x0d, 0xa5, 0x0e, 0xd8, 0x1a, 0xc1, 0x8c, 0x3e, 0x8c, 0x1a, 0x97, 0x12, 0x4e, 0x8d, - 0x34, 0xda, 0xdb, 0xd0, 0xec, 0x91, 0xc8, 0xf0, 0xbc, 0xfe, 0xca, 0xe1, 0x3a, 0xbf, 0x21, 0xc2, - 0x07, 0xe2, 0x17, 0x06, 0xf2, 0x59, 0xcf, 0x11, 0x20, 0xc7, 0x02, 0x1f, 0xed, 0xd3, 0xf0, 0x84, - 0xe7, 0x52, 0xd4, 0x96, 0x19, 0x44, 0x76, 0xd7, 0xf6, 0x4d, 0x37, 0x5a, 0xf5, 0x5c, 0x97, 0xad, - 0x67, 0x06, 0xd9, 0xe7, 0x4f, 0xc8, 0x9f, 0x1f, 0x38, 0xd1, 0xe6, 0x30, 0xea, 0x6b, 0x8f, 0x18, - 0xc3, 0xd9, 0x6b, 0x5f, 0x54, 0x60, 0xa9, 0x30, 0x62, 0xcd, 0x0e, 0xbb, 0xa2, 0x0c, 0xf8, 0xfc, - 0xfc, 0x85, 0xf1, 0x65, 0xc8, 0x31, 0xb8, 0xf6, 0x88, 0x31, 0x72, 0x12, 0x6e, 0xe5, 0x9b, 0xde, - 0x1e, 0x71, 0x57, 0x0e, 0xe9, 0xd8, 0x8d, 0x35, 0x76, 0x1b, 0x35, 0xc2, 0xca, 0x12, 0x41, 0x66, - 0x65, 0x09, 0xbd, 0x52, 0x87, 0x49, 0xdf, 0x3c, 0x74, 0x3c, 0xd3, 0xd2, 0xff, 0x3e, 0x01, 0x90, - 0xb8, 0x3a, 0x64, 0x1d, 0xb1, 0x94, 0x64, 0x67, 0x47, 0x26, 0x99, 0xef, 0x1c, 0x0a, 0x69, 0xd6, - 0x29, 0x4f, 0xb3, 0xff, 0x1b, 0x37, 0xcd, 0x90, 0x5b, 0x2e, 0xd1, 0x2e, 0xe7, 0x12, 0xed, 0xec, - 0xc8, 0x44, 0xe3, 0x42, 0xf1, 0x54, 0xbb, 0x9c, 0x4b, 0xb5, 0xb3, 0x23, 0x53, 0x8d, 0xd3, 0xf3, - 0x64, 0xbb, 0x9c, 0x4b, 0xb6, 0xb3, 0x23, 0x93, 0x8d, 0xd3, 0xf3, 0x74, 0xbb, 0x9c, 0x4b, 0xb7, - 0xb3, 0x23, 0xd3, 0x8d, 0xd3, 0xf3, 0x84, 0x7b, 0x77, 0x60, 0xc2, 0x2d, 0xdf, 0x43, 0xc2, 0x21, - 0xcf, 0x62, 0xca, 0xbd, 0x5b, 0x12, 0x68, 0x53, 0xa3, 0xb9, 0xe7, 0x02, 0x2d, 0xe3, 0x3e, 0x30, - 0xd4, 0x3e, 0x5f, 0x81, 0x59, 0xe6, 0x6e, 0x5c, 0x95, 0xdd, 0x1d, 0xaf, 0xf8, 0x8e, 0x55, 0x29, - 0x79, 0xc7, 0xaa, 0x5d, 0x80, 0x79, 0x44, 0x10, 0xe1, 0x1e, 0x11, 0x17, 0xfa, 0xe2, 0x07, 0x76, - 0x73, 0x1a, 0x87, 0x91, 0xd7, 0x5f, 0x33, 0x23, 0x33, 0xd9, 0x61, 0x64, 0x18, 0xf1, 0x5e, 0x7b, - 0xa2, 0xf0, 0x73, 0x8f, 0x00, 0xf5, 0xaf, 0xf2, 0xd5, 0x9c, 0x41, 0x94, 0x22, 0xb2, 0xfb, 0xc4, - 0x8b, 0x23, 0xbe, 0x48, 0x25, 0x20, 0x3e, 0x3e, 0xb4, 0x6c, 0x93, 0xdd, 0x06, 0xf3, 0x97, 0x79, - 0x29, 0x82, 0xad, 0xab, 0xd9, 0xed, 0x36, 0xff, 0x39, 0x46, 0x86, 0x19, 0xe3, 0x26, 0x9a, 0xfd, - 0xb2, 0xc7, 0x8e, 0x6c, 0xf1, 0xc5, 0x5e, 0xd5, 0x90, 0x70, 0xb4, 0x0f, 0xda, 0x8e, 0xc3, 0xc3, - 0xeb, 0xb6, 0x2b, 0x9a, 0xa7, 0x81, 0x7d, 0x50, 0xf1, 0x8b, 0xfe, 0x37, 0x05, 0x4e, 0x08, 0x75, - 0xa7, 0x4d, 0x22, 0x93, 0xd9, 0x45, 0x7a, 0x77, 0xad, 0xdc, 0xdb, 0xbb, 0xeb, 0x2d, 0x98, 0xeb, - 0xc9, 0xdb, 0xf2, 0x7b, 0xdc, 0x51, 0xe7, 0xc9, 0xa5, 0x47, 0xe4, 0x95, 0x7b, 0x7e, 0x44, 0xae, - 0x7f, 0x49, 0x85, 0xb9, 0x5c, 0x33, 0x30, 0xb4, 0x93, 0xba, 0x02, 0x60, 0xa7, 0xa1, 0x39, 0xe4, - 0xd6, 0x4a, 0x8e, 0x5f, 0x43, 0x20, 0x2a, 0xbb, 0x36, 0xaf, 0x1c, 0xfd, 0xda, 0xfc, 0x1a, 0x34, - 0xfc, 0xcc, 0x49, 0x43, 0x0e, 0x0d, 0x4a, 0x5c, 0x69, 0x88, 0xa4, 0xfa, 0x97, 0x15, 0x98, 0x2f, - 0x94, 0x6c, 0x76, 0x99, 0x4d, 0x13, 0x35, 0xbd, 0xcc, 0xa6, 0x80, 0x90, 0x01, 0x6a, 0x3e, 0x03, - 0x1c, 0xfb, 0x40, 0xfc, 0xb9, 0x0b, 0x07, 0x07, 0x44, 0xdf, 0xc4, 0xc0, 0xe8, 0xfb, 0x8a, 0x0a, - 0x0b, 0xe5, 0x0d, 0xd6, 0xc3, 0xea, 0x9f, 0xaf, 0x2a, 0xd0, 0x1a, 0xb4, 0x16, 0xde, 0x37, 0x37, - 0x65, 0xf9, 0x93, 0xf6, 0xae, 0x0f, 0xab, 0x7f, 0x4e, 0x24, 0xe9, 0x23, 0x34, 0x17, 0xfa, 0x8f, - 0x53, 0xfb, 0xa4, 0xdd, 0xf9, 0x43, 0x6a, 0x1f, 0xed, 0x3c, 0x34, 0x51, 0x4d, 0xe1, 0x25, 0x17, - 0x6e, 0xf6, 0x0a, 0x78, 0xfd, 0x9d, 0xc4, 0x96, 0x42, 0xa3, 0x75, 0x5c, 0x31, 0xae, 0xff, 0x52, - 0x49, 0x7c, 0x92, 0xee, 0x79, 0x3e, 0x52, 0x3e, 0xc9, 0x22, 0x4d, 0x68, 0x23, 0x85, 0x48, 0x4b, - 0xf7, 0x62, 0xff, 0x89, 0xb4, 0xd1, 0x91, 0x96, 0xda, 0x52, 0x68, 0xa9, 0xf5, 0x6f, 0x2b, 0xf0, - 0xd8, 0xc0, 0xfd, 0xe8, 0x50, 0xab, 0x0a, 0x4d, 0xa3, 0x2a, 0x37, 0x8d, 0x39, 0xf5, 0x2a, 0x47, - 0x2f, 0x34, 0xbf, 0x56, 0xe0, 0xf1, 0x21, 0xcd, 0x7b, 0xce, 0xb3, 0xca, 0x51, 0x3c, 0x9b, 0x13, - 0x56, 0x1d, 0x78, 0x31, 0x3d, 0xd2, 0x17, 0x59, 0x7a, 0x56, 0xc4, 0xf4, 0xd4, 0x7f, 0xaf, 0xc0, - 0x93, 0x63, 0xec, 0xc4, 0x1f, 0x2c, 0x65, 0x06, 0x3e, 0x75, 0xd5, 0xff, 0xa0, 0xc0, 0xb9, 0xf1, - 0x36, 0xf5, 0x1f, 0x15, 0x8d, 0x7e, 0x2e, 0xe6, 0x40, 0xfe, 0xb4, 0x40, 0x70, 0xab, 0x22, 0x55, - 0x5d, 0x31, 0x37, 0xd4, 0x5c, 0x6e, 0x1c, 0x5b, 0x06, 0xe4, 0x5f, 0xb4, 0x4f, 0x14, 0x5f, 0xb4, - 0xb7, 0x85, 0x14, 0x29, 0xee, 0x40, 0x07, 0x2c, 0x25, 0xc2, 0x92, 0xa1, 0xca, 0x4b, 0xc6, 0x67, - 0x60, 0x66, 0x8d, 0x38, 0xed, 0xb0, 0x97, 0xfc, 0xf6, 0xe4, 0x58, 0x4f, 0x5b, 0xc7, 0xd0, 0x67, - 0x05, 0x66, 0x45, 0x01, 0x8e, 0xf2, 0xdb, 0x8a, 0x95, 0x0b, 0x6f, 0x9f, 0xdf, 0xf4, 0x89, 0x7b, - 0x7b, 0xa3, 0x5d, 0xf8, 0xdf, 0x27, 0x2f, 0x15, 0x9c, 0xb0, 0x5d, 0x63, 0xdf, 0x9f, 0xf9, 0x77, - 0x00, 0x00, 0x00, 0xff, 0xff, 0x1a, 0xb6, 0x74, 0x2a, 0x5b, 0x45, 0x00, 0x00, +var fileDescriptor_ws_064f17309f8224cf = []byte{ + // 3880 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x3c, 0x5b, 0x6f, 0x1c, 0xd7, + 0x79, 0x9e, 0x59, 0xee, 0x92, 0xfb, 0x2d, 0x2f, 0xcb, 0x91, 0x44, 0xaf, 0x69, 0x59, 0x65, 0xc7, + 0x82, 0xea, 0xaa, 0x32, 0x55, 0xc8, 0x17, 0xd4, 0x37, 0x15, 0xbc, 0x58, 0x14, 0x6d, 0x2d, 0x49, + 0xcf, 0x4a, 0x56, 0x61, 0x1b, 0x50, 0x87, 0x3b, 0x87, 0xcb, 0x31, 0x67, 0x67, 0x86, 0x73, 0xa1, + 0xc4, 0x3e, 0xb4, 0x40, 0x5b, 0xb4, 0x05, 0xfa, 0x50, 0xa0, 0xe8, 0x05, 0x48, 0xde, 0xf2, 0x12, + 0x24, 0x08, 0x8c, 0x20, 0x48, 0x82, 0x00, 0x09, 0x82, 0x20, 0xc8, 0x43, 0x80, 0x04, 0x48, 0xde, + 0x03, 0x24, 0x48, 0x9e, 0xf2, 0x90, 0x3f, 0x10, 0x20, 0x80, 0x83, 0x73, 0xbe, 0x33, 0x33, 0xe7, + 0xcc, 0xcc, 0x5e, 0x44, 0x10, 0x96, 0x0c, 0xe5, 0x8d, 0xdf, 0x37, 0xe7, 0xfb, 0xce, 0x77, 0x3f, + 0xdf, 0xb9, 0x2c, 0x61, 0x2e, 0xb4, 0x0e, 0xee, 0xdd, 0x0f, 0xaf, 0xde, 0x0f, 0x97, 0xfd, 0xc0, + 0x8b, 0x3c, 0x6d, 0x3e, 0x24, 0xc1, 0x11, 0x09, 0xee, 0x99, 0xbe, 0x7d, 0xcf, 0x37, 0x03, 0xb3, + 0x1f, 0x2e, 0x2e, 0x6f, 0xfb, 0xc4, 0x7d, 0x71, 0xb3, 0xfd, 0x62, 0x87, 0x7d, 0xba, 0xea, 0x1f, + 0xf4, 0xae, 0xb2, 0xc1, 0x57, 0x13, 0xe2, 0xc0, 0xf4, 0x7d, 0x12, 0x70, 0x16, 0xfa, 0xaf, 0x26, + 0xa0, 0xbe, 0x11, 0x78, 0xb1, 0xbf, 0xe9, 0xee, 0x79, 0x5a, 0x0b, 0x26, 0x7b, 0x0c, 0x58, 0x6f, + 0x29, 0x4b, 0xca, 0x0b, 0x75, 0x23, 0x01, 0xb5, 0xf3, 0x50, 0x67, 0x7f, 0x6e, 0x99, 0x7d, 0xd2, + 0x52, 0xd9, 0xb7, 0x0c, 0xa1, 0xe9, 0x30, 0xed, 0x7a, 0x91, 0xbd, 0x67, 0x77, 0xcd, 0xc8, 0xf6, + 0xdc, 0x56, 0x85, 0x0d, 0x90, 0x70, 0x74, 0x8c, 0xed, 0x46, 0x81, 0x67, 0xc5, 0x5d, 0x36, 0x66, + 0x02, 0xc7, 0x88, 0x38, 0x3a, 0xff, 0x9e, 0xd9, 0x25, 0x77, 0x8c, 0x5b, 0xad, 0x2a, 0xce, 0xcf, + 0x41, 0x6d, 0x09, 0x1a, 0xde, 0x7d, 0x97, 0x04, 0x77, 0x42, 0x12, 0x6c, 0xae, 0xb7, 0x6a, 0xec, + 0xab, 0x88, 0xd2, 0x2e, 0x00, 0x74, 0x03, 0x62, 0x46, 0xe4, 0xb6, 0xdd, 0x27, 0xad, 0xc9, 0x25, + 0xe5, 0x85, 0x19, 0x43, 0xc0, 0x50, 0x0e, 0x7d, 0xd2, 0xdf, 0x25, 0xc1, 0x9a, 0x17, 0xbb, 0x51, + 0x6b, 0x8a, 0x0d, 0x10, 0x51, 0xda, 0x2c, 0xa8, 0xe4, 0x41, 0xab, 0xce, 0x58, 0xab, 0xe4, 0x81, + 0xb6, 0x00, 0xb5, 0x30, 0x32, 0xa3, 0x38, 0x6c, 0xc1, 0x92, 0xf2, 0x42, 0xd5, 0xe0, 0x90, 0x76, + 0x11, 0x66, 0x18, 0x5f, 0x2f, 0x91, 0xa6, 0xc1, 0x48, 0x64, 0x64, 0x6a, 0xb1, 0xdb, 0xc7, 0x3e, + 0x69, 0x4d, 0x33, 0x06, 0x19, 0x42, 0xbb, 0x0c, 0x4d, 0x97, 0x10, 0xeb, 0x7d, 0x12, 0x64, 0x56, + 0x9b, 0x61, 0x83, 0x0a, 0x78, 0xed, 0x12, 0xcc, 0x3a, 0x9e, 0x77, 0xd0, 0x66, 0xa2, 0x52, 0x3f, + 0xb5, 0x66, 0xd9, 0xc8, 0x1c, 0x56, 0xbb, 0x02, 0xf3, 0xa6, 0xef, 0x3b, 0xc7, 0x88, 0xba, 0x11, + 0xd8, 0xc4, 0xb5, 0x5a, 0x73, 0x6c, 0x68, 0xf1, 0x83, 0xf6, 0x2a, 0x2c, 0x88, 0xfe, 0xb9, 0xe3, + 0x5b, 0x89, 0xed, 0x9a, 0xcc, 0x34, 0x03, 0xbe, 0x6a, 0xcb, 0xa0, 0x49, 0x5f, 0xd0, 0x04, 0xf3, + 0xcc, 0x04, 0x25, 0x5f, 0xf4, 0xff, 0xa9, 0xc0, 0x5c, 0x1a, 0x61, 0x37, 0xbc, 0xa0, 0x43, 0xa2, + 0xc7, 0x38, 0xce, 0x30, 0x06, 0x6a, 0x69, 0x0c, 0x6c, 0x94, 0xf8, 0x89, 0xc6, 0x56, 0xe3, 0xda, + 0xb3, 0xcb, 0x3d, 0xcf, 0xeb, 0x39, 0x04, 0x13, 0x69, 0x37, 0xde, 0x5b, 0xde, 0x74, 0xa3, 0x97, + 0xae, 0xbd, 0x6f, 0x3a, 0x31, 0x29, 0x71, 0xe2, 0x5a, 0xc1, 0x89, 0x53, 0xa3, 0xd9, 0xe4, 0x3d, + 0xbc, 0x59, 0xe6, 0xe1, 0xfa, 0x68, 0x3e, 0x45, 0x2a, 0xfd, 0x53, 0x15, 0xce, 0x30, 0xb7, 0x70, + 0x6c, 0xec, 0x38, 0x23, 0x4a, 0xc0, 0x02, 0xd4, 0x62, 0x74, 0x36, 0xfa, 0x85, 0x43, 0xd4, 0x65, + 0x81, 0xe7, 0x90, 0x5b, 0xe4, 0x88, 0x38, 0xcc, 0x23, 0x55, 0x23, 0x43, 0x68, 0x8b, 0x30, 0xf5, + 0xb1, 0x67, 0xbb, 0x2c, 0xb0, 0x26, 0xd8, 0xc7, 0x14, 0xa6, 0xdf, 0x5c, 0xbb, 0x7b, 0xe0, 0x52, + 0x5f, 0xa3, 0x1f, 0x52, 0x58, 0x74, 0x51, 0x4d, 0x76, 0xd1, 0x25, 0x98, 0x35, 0x7d, 0xbf, 0x6d, + 0xba, 0x3d, 0x12, 0xe0, 0xa4, 0x93, 0x98, 0x0e, 0x32, 0x96, 0x16, 0x04, 0x3a, 0x53, 0xc7, 0x8b, + 0x83, 0x2e, 0x61, 0xd6, 0xae, 0x1a, 0x02, 0x86, 0xf2, 0xf1, 0x7c, 0x12, 0x08, 0x79, 0x8c, 0xa9, + 0x9f, 0xc3, 0xf2, 0x90, 0x80, 0x34, 0x24, 0x68, 0x21, 0x89, 0x23, 0xf2, 0xb6, 0x6b, 0x31, 0xa5, + 0x1a, 0xbc, 0x90, 0x64, 0x28, 0x5a, 0x20, 0x6c, 0xf7, 0xc8, 0x8e, 0xd2, 0x72, 0x35, 0x8d, 0x05, + 0x42, 0x42, 0xea, 0xff, 0xa6, 0xc0, 0xec, 0x4e, 0xbc, 0xeb, 0xd8, 0x5d, 0x86, 0xa0, 0xc6, 0xcf, + 0x4c, 0xac, 0x48, 0x26, 0x16, 0x0d, 0xa5, 0x0e, 0x36, 0x54, 0x45, 0x36, 0xd4, 0x02, 0xd4, 0x7a, + 0xc4, 0xb5, 0x48, 0xc0, 0x0d, 0xcf, 0x21, 0xae, 0x50, 0x35, 0x51, 0x48, 0xff, 0xa5, 0x0a, 0x53, + 0x9f, 0xb1, 0x08, 0x4b, 0xd0, 0xf0, 0xf7, 0x3d, 0x97, 0x6c, 0xc5, 0x34, 0xf8, 0xb8, 0x2c, 0x22, + 0x4a, 0x3b, 0x0b, 0xd5, 0x5d, 0x3b, 0x88, 0xf6, 0x99, 0xf7, 0x67, 0x0c, 0x04, 0x28, 0x96, 0xf4, + 0x4d, 0x1b, 0x5d, 0x5e, 0x37, 0x10, 0xe0, 0x0a, 0x4d, 0xa5, 0x1e, 0x92, 0x97, 0x82, 0x7a, 0x61, + 0x29, 0x28, 0x46, 0x10, 0x94, 0x46, 0xd0, 0x65, 0x68, 0xf6, 0x1c, 0x6f, 0xd7, 0x74, 0x0c, 0xd2, + 0x3d, 0x6a, 0x87, 0xbd, 0x6d, 0x3f, 0x62, 0xee, 0xae, 0x1a, 0x05, 0x3c, 0xb5, 0x0f, 0x13, 0xb1, + 0x13, 0x05, 0xdc, 0xdd, 0x29, 0xac, 0xff, 0x5e, 0x01, 0xc0, 0xb4, 0x63, 0x26, 0xce, 0xad, 0x65, + 0x4a, 0x71, 0x2d, 0x5b, 0x80, 0x5a, 0x40, 0xfa, 0x66, 0x70, 0x90, 0xa4, 0x1a, 0x42, 0x39, 0xc5, + 0x2a, 0x05, 0xc5, 0xde, 0x00, 0xd8, 0x63, 0xf3, 0x50, 0x3e, 0xcc, 0xe4, 0xb4, 0x30, 0x14, 0xba, + 0x84, 0xe5, 0xc4, 0xdb, 0x86, 0x30, 0x9c, 0xe6, 0xb1, 0x69, 0x59, 0x3c, 0x5d, 0xaa, 0x98, 0xc7, + 0x29, 0xa2, 0x24, 0x5b, 0x6a, 0x43, 0xb2, 0x65, 0x32, 0x0d, 0xae, 0xdf, 0x29, 0x50, 0x5f, 0x75, + 0xcc, 0xee, 0xc1, 0x98, 0xaa, 0xcb, 0x2a, 0xaa, 0x05, 0x15, 0x37, 0x60, 0x66, 0x97, 0xb2, 0x4b, + 0x54, 0x60, 0x56, 0x68, 0x5c, 0xfb, 0xf3, 0x12, 0x2d, 0xe5, 0xe4, 0x32, 0x64, 0x3a, 0x59, 0xdd, + 0x89, 0xd1, 0xea, 0x56, 0x87, 0xa8, 0x9b, 0xae, 0x17, 0xfa, 0xff, 0x57, 0x60, 0x9a, 0x95, 0x55, + 0x83, 0x1c, 0xc6, 0x24, 0x8c, 0xb4, 0xb7, 0x60, 0x2a, 0x4e, 0x44, 0x55, 0xc6, 0x15, 0x35, 0x25, + 0xd1, 0x5e, 0xe7, 0xeb, 0x21, 0xa3, 0x57, 0x19, 0xfd, 0xf9, 0x12, 0xfa, 0x74, 0x81, 0x35, 0xb2, + 0xe1, 0x74, 0x25, 0xdc, 0x37, 0x5d, 0xcb, 0x21, 0x06, 0x09, 0x63, 0x27, 0xe2, 0xb5, 0x59, 0xc2, + 0x61, 0xa4, 0x1d, 0xb6, 0xc3, 0x1e, 0x5f, 0x27, 0x39, 0x44, 0xad, 0x83, 0xe3, 0xe8, 0x27, 0x54, + 0x3d, 0x43, 0xd0, 0x84, 0x0f, 0xc8, 0x21, 0xf3, 0x10, 0xa6, 0x67, 0x02, 0x66, 0x73, 0x72, 0xab, + 0x61, 0x20, 0x48, 0x38, 0xea, 0x62, 0x84, 0x19, 0x03, 0x6c, 0xc4, 0x04, 0x4c, 0xa1, 0x0f, 0x93, + 0x0b, 0x39, 0x14, 0x0a, 0x79, 0xa1, 0xdc, 0x36, 0xca, 0xca, 0xed, 0x2f, 0x2a, 0x30, 0x83, 0x49, + 0x98, 0xb8, 0xe6, 0x02, 0xcd, 0x16, 0xaf, 0x2f, 0xc5, 0xa2, 0x80, 0xa1, 0xba, 0x50, 0x68, 0x4b, + 0x2e, 0x7b, 0x12, 0x8e, 0x06, 0x34, 0x85, 0x6f, 0x48, 0xe5, 0x4f, 0x44, 0x25, 0xb3, 0x6c, 0x88, + 0x65, 0x50, 0xc0, 0xd0, 0xc2, 0x11, 0x79, 0x52, 0x8c, 0xa5, 0x30, 0xa5, 0x8d, 0xbc, 0x74, 0x7e, + 0x8c, 0x32, 0x01, 0x43, 0xbd, 0x14, 0x79, 0xc9, 0xdc, 0x68, 0xea, 0x0c, 0x81, 0x9c, 0xf9, 0xbc, + 0xb8, 0xfc, 0xa5, 0x70, 0x21, 0x36, 0xea, 0x43, 0x63, 0x03, 0xa4, 0xd8, 0x90, 0x53, 0xb4, 0x51, + 0x48, 0xd1, 0x8b, 0x30, 0x83, 0x7c, 0x72, 0xcb, 0x9f, 0x84, 0x94, 0x23, 0x6c, 0x26, 0x1f, 0x61, + 0x72, 0x8c, 0xcc, 0x0e, 0x88, 0x91, 0xb9, 0x34, 0xef, 0xbe, 0xa1, 0x02, 0xac, 0x13, 0xdf, 0x0c, + 0xa2, 0x3e, 0x71, 0x23, 0xaa, 0x9e, 0x95, 0x42, 0xa9, 0x73, 0x25, 0x9c, 0xb8, 0x6a, 0xa9, 0xf2, + 0xaa, 0xa5, 0xc1, 0x04, 0x33, 0x38, 0x7a, 0x93, 0xfd, 0x4d, 0x8d, 0xe9, 0x9b, 0x01, 0x72, 0xc3, + 0x54, 0x49, 0x61, 0xba, 0x2a, 0x79, 0x81, 0xc5, 0xd7, 0xb1, 0xaa, 0x81, 0x00, 0x2d, 0x21, 0xd9, + 0x7c, 0x6c, 0x17, 0x50, 0xc3, 0x55, 0x46, 0xc6, 0x8e, 0xdc, 0xb8, 0x5c, 0x86, 0x66, 0x18, 0xef, + 0x66, 0xca, 0x6d, 0xc5, 0x7d, 0x9e, 0x34, 0x05, 0x3c, 0x35, 0x2a, 0xee, 0x68, 0xe8, 0x20, 0x5c, + 0xf8, 0x32, 0x44, 0xbe, 0x93, 0xd1, 0x7f, 0xac, 0x42, 0x73, 0x3b, 0xe8, 0x99, 0xae, 0xfd, 0x0f, + 0x69, 0xc7, 0x7e, 0xa2, 0x06, 0x60, 0x09, 0x1a, 0xc4, 0xed, 0x39, 0x76, 0xb8, 0xbf, 0x95, 0xd9, + 0x4d, 0x44, 0x89, 0xc6, 0x9e, 0x18, 0xd4, 0x22, 0x54, 0xa5, 0x16, 0x61, 0x01, 0x6a, 0x7d, 0x6f, + 0xd7, 0x76, 0x92, 0xb8, 0xe7, 0x10, 0x8b, 0x79, 0xe2, 0x10, 0xd6, 0x2b, 0xa4, 0x31, 0x9f, 0x20, + 0xb2, 0xb6, 0x61, 0xaa, 0xb4, 0x6d, 0xa8, 0x8b, 0x6d, 0x83, 0x6c, 0x78, 0x28, 0x18, 0x1e, 0xcd, + 0xd5, 0x48, 0xeb, 0xd0, 0xb0, 0x25, 0xfe, 0x07, 0x0a, 0x34, 0x33, 0x57, 0x60, 0x4f, 0x3d, 0xd0, + 0x94, 0xf9, 0xe8, 0x54, 0x4b, 0xa2, 0x33, 0x8d, 0xa9, 0x8a, 0x18, 0x53, 0x34, 0x0a, 0xbd, 0xd0, + 0x16, 0x36, 0x36, 0x29, 0x4c, 0x67, 0x73, 0x88, 0x29, 0x18, 0x12, 0x21, 0x61, 0x1b, 0x5b, 0x93, + 0xb6, 0xb1, 0xf9, 0x95, 0xfa, 0x3b, 0x0a, 0x9c, 0xa5, 0x11, 0x50, 0x50, 0x63, 0x1b, 0x9a, 0x5e, + 0x2e, 0x4a, 0xf8, 0x52, 0xf6, 0x7c, 0xc9, 0x52, 0x94, 0x0f, 0x28, 0xa3, 0x40, 0x4c, 0x19, 0x5a, + 0xb9, 0x49, 0xf8, 0xda, 0x56, 0xc6, 0x30, 0x2f, 0x8f, 0x51, 0x20, 0xd6, 0xbf, 0xa7, 0x40, 0x13, + 0x17, 0x4f, 0xa1, 0x06, 0x9c, 0xba, 0xd8, 0x77, 0xe1, 0x6c, 0x7e, 0xe6, 0x5b, 0x76, 0x18, 0xb5, + 0xd4, 0xa5, 0xca, 0xb8, 0xa2, 0x97, 0x32, 0xd0, 0xbf, 0xa6, 0xc2, 0xd3, 0x3b, 0xb1, 0xe3, 0xb4, + 0x49, 0x18, 0x9a, 0x3d, 0xb2, 0x7a, 0xdc, 0x21, 0x87, 0xf4, 0x83, 0x41, 0x0e, 0x07, 0xc6, 0x10, + 0xed, 0xa4, 0x58, 0x2b, 0x62, 0x7b, 0x6e, 0x1a, 0x42, 0x22, 0x8a, 0xa6, 0x5c, 0x88, 0x7c, 0x5a, + 0x95, 0xa5, 0x0a, 0x5d, 0xa4, 0x39, 0xa8, 0xfd, 0x3d, 0x4c, 0xb3, 0x2e, 0x81, 0x4f, 0xd3, 0x9a, + 0x60, 0x0a, 0xbc, 0x59, 0xda, 0x97, 0x94, 0x4a, 0x85, 0xfd, 0x06, 0x87, 0xdf, 0x76, 0xa3, 0xe0, + 0xd8, 0x90, 0x38, 0x2e, 0x7e, 0x08, 0xf3, 0x85, 0x21, 0x5a, 0x13, 0x2a, 0x07, 0xe4, 0x98, 0xeb, + 0x41, 0xff, 0xd4, 0xfe, 0x1a, 0xaa, 0x47, 0x74, 0x83, 0xca, 0xbd, 0xbf, 0x58, 0x22, 0x01, 0x97, + 0xd9, 0xc0, 0x81, 0xaf, 0xab, 0x7f, 0xa3, 0xe8, 0xcf, 0xa7, 0x8a, 0x89, 0x3a, 0x2a, 0x92, 0x8e, + 0xfa, 0xbb, 0xd0, 0x68, 0x87, 0xbd, 0x75, 0x33, 0x32, 0xd9, 0xc0, 0x37, 0xa1, 0xd1, 0xcf, 0x40, + 0x36, 0xb8, 0x7c, 0x3e, 0x4e, 0x64, 0x88, 0xc3, 0xf5, 0x9f, 0xab, 0xd0, 0x2a, 0x37, 0x45, 0xe8, + 0x53, 0x19, 0x48, 0x10, 0xac, 0x79, 0x16, 0x61, 0xaa, 0x55, 0x8d, 0x04, 0xa4, 0xbe, 0x23, 0x41, + 0x40, 0xd7, 0x37, 0xde, 0xc6, 0x23, 0xa4, 0x2d, 0xc3, 0x84, 0x93, 0xb8, 0x65, 0xb8, 0x14, 0x6c, + 0x9c, 0xd6, 0x87, 0x26, 0xb3, 0xae, 0xa0, 0x10, 0xf7, 0xd9, 0xca, 0xd8, 0x3e, 0x0b, 0x7d, 0x74, + 0x9a, 0xc0, 0x03, 0x1d, 0x57, 0x60, 0xbd, 0xd8, 0x85, 0x73, 0xa5, 0x43, 0x4b, 0x1c, 0xf8, 0xb2, + 0xec, 0xc0, 0x0b, 0x83, 0x55, 0xc9, 0x3b, 0xd1, 0x07, 0x6d, 0x83, 0x44, 0x6d, 0xf3, 0xc1, 0x8a, + 0x6b, 0xb5, 0x6d, 0xb7, 0x43, 0x0e, 0x69, 0xb4, 0x2f, 0x41, 0x83, 0x1f, 0x37, 0xa4, 0x6e, 0xaa, + 0x1b, 0x22, 0x6a, 0xe0, 0x29, 0x44, 0x2e, 0x1f, 0x2a, 0x85, 0x7c, 0xd0, 0xaf, 0xc3, 0xb4, 0x38, + 0x1d, 0x5b, 0x60, 0xcc, 0x07, 0x1d, 0x72, 0xc8, 0x14, 0x9a, 0x31, 0x38, 0xc4, 0xf0, 0x6c, 0x04, + 0xdf, 0x7d, 0x70, 0x48, 0xff, 0x89, 0x0a, 0x67, 0x0a, 0x22, 0x87, 0xfe, 0xc3, 0xf2, 0x11, 0xe3, + 0xa5, 0x32, 0x28, 0x5e, 0x26, 0xa4, 0x78, 0x39, 0x80, 0x79, 0x74, 0x92, 0x30, 0x75, 0xab, 0xca, + 0x02, 0xe0, 0xad, 0xb2, 0xcd, 0x40, 0x51, 0x48, 0xee, 0x7b, 0x01, 0x8b, 0xce, 0x2f, 0xf2, 0x5d, + 0x24, 0xb0, 0x50, 0x3e, 0xb8, 0xc4, 0xfd, 0xaf, 0xc8, 0xee, 0xff, 0xb3, 0x32, 0xf7, 0x8b, 0x92, + 0x08, 0xfe, 0x3f, 0x84, 0x39, 0x5a, 0x54, 0x3b, 0xc4, 0xb5, 0xda, 0x61, 0x8f, 0x19, 0x72, 0x09, + 0x1a, 0x48, 0xdf, 0x0e, 0x7b, 0xd9, 0xe6, 0x50, 0x40, 0xd1, 0x11, 0x5d, 0xc7, 0xa6, 0xc5, 0x93, + 0x8d, 0xe0, 0x45, 0x4f, 0x40, 0xd1, 0x05, 0x32, 0x24, 0xfc, 0x64, 0x86, 0x5a, 0xb7, 0x62, 0xa4, + 0xb0, 0xfe, 0xed, 0x1a, 0x4c, 0xf2, 0x68, 0x64, 0x8b, 0x22, 0xdd, 0x8f, 0xa7, 0x65, 0x15, 0x21, + 0xec, 0x79, 0xbb, 0x47, 0x59, 0x78, 0x21, 0x24, 0x1e, 0x8b, 0x55, 0xe4, 0x63, 0xb1, 0x9c, 0x4c, + 0x13, 0x45, 0x99, 0x72, 0x7a, 0x55, 0x8b, 0x7a, 0xd1, 0x16, 0x8f, 0x75, 0x3d, 0x3b, 0x8e, 0x19, + 0xed, 0x79, 0x41, 0x9f, 0x6f, 0xaf, 0xab, 0x46, 0x01, 0x4f, 0xdb, 0x4a, 0xc4, 0xa5, 0xfb, 0x02, + 0x5c, 0xc2, 0x73, 0x58, 0xda, 0x85, 0x23, 0x26, 0xd9, 0x1f, 0xe0, 0xf9, 0x88, 0x8c, 0x44, 0xd9, + 0xc2, 0xd0, 0xf6, 0x5c, 0xd6, 0xa1, 0xe2, 0x36, 0x40, 0x44, 0x51, 0xcd, 0xfb, 0x61, 0xef, 0x46, + 0xe0, 0xf5, 0xf9, 0xd6, 0x2b, 0x01, 0x99, 0xe6, 0x9e, 0x1b, 0x25, 0xdd, 0x2d, 0x9e, 0x8c, 0x88, + 0x28, 0x4a, 0xcb, 0x41, 0xd6, 0x30, 0x4d, 0x1b, 0x09, 0x48, 0x63, 0x29, 0x24, 0x87, 0xbc, 0xb1, + 0xa7, 0x7f, 0x4a, 0x9e, 0x9b, 0x93, 0x3d, 0x97, 0xeb, 0xd4, 0x9a, 0xec, 0xab, 0xd8, 0xa9, 0x65, + 0x2d, 0xce, 0xbc, 0xd4, 0xe2, 0xac, 0xc0, 0xa4, 0xe7, 0xd3, 0xf4, 0x0f, 0x5b, 0x1a, 0x4b, 0x97, + 0xbf, 0x18, 0x5c, 0xa0, 0x96, 0xb7, 0x71, 0x24, 0x26, 0x46, 0x42, 0xa7, 0xdd, 0x82, 0x39, 0x6f, + 0x6f, 0xcf, 0xb1, 0x5d, 0xb2, 0x13, 0x87, 0xfb, 0x6c, 0x1b, 0x7e, 0x86, 0x05, 0xbb, 0x5e, 0xd6, + 0x44, 0xc8, 0x23, 0x8d, 0x3c, 0x29, 0xed, 0xfc, 0xcc, 0x08, 0x37, 0x40, 0xac, 0xc0, 0x9d, 0x65, + 0x05, 0x4e, 0xc2, 0xb1, 0xf3, 0x45, 0xa1, 0xd0, 0x9f, 0x63, 0x86, 0x13, 0x51, 0xc8, 0x25, 0x32, + 0xbb, 0xfb, 0x84, 0x1d, 0x28, 0xb5, 0x16, 0xb0, 0x7f, 0x14, 0x71, 0xbc, 0xbb, 0x7b, 0x3a, 0xe9, + 0xee, 0x16, 0x5f, 0x87, 0x69, 0x51, 0xc1, 0x92, 0x64, 0x3e, 0x2b, 0x26, 0xf3, 0x94, 0x98, 0xab, + 0xff, 0xab, 0xc0, 0x5c, 0x4e, 0x35, 0x3a, 0x3a, 0xb2, 0x23, 0x87, 0x70, 0x0e, 0x08, 0xd0, 0x9d, + 0x93, 0x45, 0xc2, 0x2e, 0x4f, 0x1e, 0xf6, 0x37, 0x97, 0xa4, 0x92, 0xb6, 0xd1, 0x3a, 0x4c, 0xdb, + 0xdb, 0x1d, 0xca, 0xa8, 0xe3, 0xc5, 0xae, 0x95, 0x1e, 0xd0, 0x0b, 0x38, 0xb6, 0xa5, 0xdf, 0xee, + 0xac, 0x9a, 0x56, 0x8f, 0xe0, 0x75, 0x4d, 0x95, 0xc9, 0x24, 0x23, 0x75, 0x0b, 0xa6, 0x6e, 0xdb, + 0x7e, 0xb8, 0xe6, 0xf5, 0xfb, 0x34, 0x04, 0x2c, 0x12, 0xd1, 0x1e, 0x5f, 0x61, 0x06, 0xe3, 0x10, + 0xb5, 0xa6, 0x45, 0xf6, 0xcc, 0xd8, 0x89, 0xe8, 0xd0, 0xa4, 0x64, 0x08, 0x28, 0x76, 0xbc, 0x10, + 0x7a, 0xee, 0x3a, 0x52, 0xa3, 0x9c, 0x02, 0x46, 0xff, 0x91, 0x0a, 0x4d, 0x56, 0x11, 0xd7, 0x58, + 0xc0, 0x59, 0x8c, 0xe8, 0x1a, 0x54, 0x59, 0x01, 0xe0, 0x1d, 0xe5, 0xf0, 0x33, 0x19, 0x1c, 0xaa, + 0x5d, 0x87, 0x9a, 0xe7, 0xb3, 0x36, 0x14, 0xcb, 0xe5, 0xa5, 0x41, 0x44, 0xf2, 0x91, 0xbc, 0xc1, + 0xa9, 0xb4, 0x1b, 0x00, 0xfd, 0xac, 0xeb, 0xc4, 0xe6, 0x61, 0x5c, 0x1e, 0x02, 0x25, 0x35, 0x6e, + 0xba, 0x2e, 0xa6, 0xe7, 0xf2, 0x15, 0x43, 0x46, 0x6a, 0x5b, 0x30, 0xcb, 0xc4, 0xde, 0x4e, 0x0e, + 0xe7, 0x98, 0x0f, 0xc6, 0x9f, 0x31, 0x47, 0xad, 0x7f, 0x49, 0xe1, 0x66, 0xa4, 0x5f, 0x3b, 0x04, + 0x6d, 0x9f, 0x99, 0x44, 0x39, 0x91, 0x49, 0x16, 0x61, 0xaa, 0x1f, 0x0b, 0x67, 0x85, 0x15, 0x23, + 0x85, 0x33, 0x17, 0x55, 0xc6, 0x76, 0x91, 0xfe, 0x65, 0x05, 0x5a, 0xef, 0x78, 0xb6, 0xcb, 0x3e, + 0xac, 0xf8, 0xbe, 0xc3, 0xaf, 0x6f, 0x4e, 0xec, 0xf3, 0xbf, 0x85, 0xba, 0x89, 0x6c, 0xdc, 0x88, + 0xbb, 0x7d, 0x8c, 0xf3, 0xbf, 0x8c, 0x46, 0x38, 0x84, 0xa9, 0x88, 0x87, 0x30, 0xfa, 0x27, 0x0a, + 0xcc, 0xa2, 0x51, 0xde, 0x8b, 0xed, 0xe8, 0xc4, 0xf2, 0xad, 0xc2, 0xd4, 0x61, 0x6c, 0x47, 0x27, + 0x88, 0xca, 0x94, 0xae, 0x18, 0x4f, 0x95, 0x92, 0x78, 0xd2, 0xbf, 0xae, 0xc0, 0xf9, 0xbc, 0x59, + 0x57, 0xba, 0x5d, 0xe2, 0x3f, 0xca, 0x94, 0x92, 0x0e, 0xa1, 0x26, 0x72, 0x87, 0x50, 0xa5, 0x22, + 0x1b, 0xe4, 0x63, 0xd2, 0x7d, 0x7c, 0x45, 0xfe, 0x17, 0x15, 0x9e, 0xd9, 0x48, 0x13, 0xef, 0x76, + 0x60, 0xba, 0xe1, 0x1e, 0x09, 0x82, 0x47, 0x28, 0xef, 0x2d, 0x98, 0x71, 0xc9, 0xfd, 0x4c, 0x26, + 0x9e, 0x8e, 0xe3, 0xb2, 0x91, 0x89, 0xc7, 0xab, 0x5d, 0xfa, 0x1f, 0x14, 0x68, 0x22, 0x9f, 0x77, + 0xed, 0xee, 0xc1, 0x23, 0x54, 0x7e, 0x0b, 0x66, 0x0f, 0x98, 0x04, 0x14, 0x3a, 0x41, 0xd9, 0xce, + 0x51, 0x8f, 0xa9, 0xfe, 0xa7, 0x0a, 0xcc, 0x27, 0xb7, 0xc6, 0x47, 0xf6, 0xa3, 0x0c, 0xd6, 0x1d, + 0x98, 0xc3, 0x53, 0xf8, 0x93, 0x1a, 0x20, 0x4f, 0x3e, 0xa6, 0x05, 0xbe, 0xa5, 0xc0, 0x1c, 0x72, + 0x7a, 0xdb, 0x8d, 0x48, 0x70, 0x62, 0xfd, 0x6f, 0x42, 0x83, 0xb8, 0x51, 0x60, 0xba, 0x27, 0xa9, + 0x90, 0x22, 0xe9, 0x98, 0x45, 0xf2, 0x13, 0x05, 0x34, 0xc6, 0x6a, 0xdd, 0x0e, 0xfb, 0x76, 0x18, + 0x3e, 0x42, 0xd7, 0x8d, 0x27, 0xf0, 0x17, 0x54, 0x38, 0x2b, 0x70, 0x69, 0xc7, 0xd1, 0xe3, 0x2e, + 0xb2, 0xb6, 0x0e, 0x75, 0xda, 0x23, 0x88, 0x77, 0xa4, 0xe3, 0x4e, 0x94, 0x11, 0xd2, 0x2e, 0x96, + 0x01, 0x1d, 0xd2, 0xf5, 0x5c, 0x2b, 0x64, 0xcd, 0xd1, 0x8c, 0x21, 0xe1, 0x68, 0x19, 0x5a, 0x14, + 0xd8, 0xac, 0x99, 0x6e, 0x97, 0x38, 0x4f, 0x8c, 0x89, 0xf4, 0xaf, 0x2a, 0x30, 0x8b, 0x43, 0x1e, + 0x7f, 0x95, 0xe9, 0x5a, 0x8f, 0x81, 0xfc, 0xb9, 0xf1, 0x12, 0x0d, 0xaf, 0x05, 0x81, 0x8b, 0xd8, + 0x57, 0x3f, 0xbe, 0xa1, 0x75, 0x13, 0x1a, 0xdd, 0x7d, 0xd3, 0xed, 0x9d, 0x28, 0xb8, 0x44, 0x52, + 0x3d, 0x82, 0xa7, 0xc5, 0x43, 0xfb, 0x35, 0xfc, 0xc4, 0xd4, 0x7f, 0x29, 0xa7, 0xca, 0xd0, 0x37, + 0x10, 0x0f, 0x67, 0xf4, 0x03, 0x98, 0xc7, 0x5b, 0x64, 0xa1, 0x27, 0xd4, 0x5a, 0x30, 0x69, 0x5a, + 0x78, 0x74, 0xa1, 0x30, 0xa2, 0x04, 0x94, 0x5f, 0x19, 0xf0, 0xf7, 0x6c, 0xd9, 0x2b, 0x83, 0x0b, + 0x00, 0xa6, 0x65, 0xdd, 0xf5, 0x02, 0xcb, 0x76, 0x93, 0x06, 0x5f, 0xc0, 0xe8, 0xef, 0xc0, 0xf4, + 0x8d, 0xc0, 0xeb, 0xdf, 0x16, 0xee, 0x83, 0x87, 0xde, 0x58, 0x8b, 0x77, 0xc9, 0xaa, 0x7c, 0x97, + 0xac, 0x7f, 0x04, 0xe7, 0x0a, 0x82, 0x33, 0x63, 0xad, 0xe1, 0x35, 0x77, 0x32, 0x09, 0x0f, 0x99, + 0xb2, 0xb3, 0x3c, 0x51, 0x16, 0x43, 0x22, 0xd2, 0xff, 0x59, 0x81, 0xe7, 0x0a, 0xec, 0x57, 0x7c, + 0x3f, 0xf0, 0x8e, 0xb8, 0x4f, 0x4e, 0x63, 0x1a, 0xb9, 0xf9, 0x55, 0xf3, 0xcd, 0x6f, 0xa9, 0x10, + 0x52, 0xc3, 0xfe, 0x19, 0x08, 0xf1, 0x15, 0x05, 0xe6, 0xb8, 0x10, 0x96, 0xc5, 0xa7, 0x7d, 0x05, + 0x6a, 0xf8, 0xd0, 0x86, 0x4f, 0xf8, 0x5c, 0xe9, 0x84, 0xc9, 0x03, 0x21, 0x83, 0x0f, 0x2e, 0x46, + 0xa4, 0x5a, 0x96, 0x51, 0xaf, 0xa5, 0xc1, 0x3e, 0xf6, 0x53, 0x18, 0x4e, 0xa0, 0xff, 0x5d, 0x12, + 0xcc, 0xeb, 0xc4, 0x21, 0xa7, 0x69, 0x23, 0xfd, 0x0e, 0xcc, 0xb2, 0x57, 0x3f, 0x99, 0x0d, 0x4e, + 0x85, 0xed, 0x5d, 0x68, 0x32, 0xb6, 0xa7, 0x2e, 0x6f, 0x9a, 0x1d, 0xd4, 0x3e, 0x62, 0x29, 0x39, + 0x15, 0xee, 0x2f, 0xc2, 0x99, 0xc4, 0xf6, 0xf8, 0x92, 0x16, 0x79, 0x0f, 0xb8, 0xdb, 0xd3, 0xff, + 0x4f, 0x81, 0x85, 0x35, 0xcf, 0x3d, 0x22, 0x41, 0x28, 0xbd, 0xbe, 0x45, 0x12, 0x29, 0xfb, 0x39, + 0xa4, 0x2d, 0x83, 0xd6, 0x15, 0x28, 0xf8, 0xf1, 0xa2, 0xca, 0x8e, 0x17, 0x4b, 0xbe, 0x68, 0x2f, + 0xc3, 0xb9, 0x98, 0x71, 0xbd, 0xe3, 0x06, 0xc4, 0xb4, 0xd8, 0x79, 0x9a, 0x50, 0xf4, 0xca, 0x3f, + 0xea, 0x1f, 0xc3, 0xa2, 0x28, 0x57, 0x87, 0x44, 0x3b, 0x81, 0x7d, 0x24, 0xc8, 0xc6, 0xcf, 0xce, + 0x15, 0xe9, 0xec, 0x3c, 0x3b, 0x6b, 0x57, 0xa5, 0xb3, 0xf6, 0xf3, 0x50, 0xb7, 0x43, 0xce, 0x80, + 0xcd, 0x3b, 0x65, 0x64, 0x08, 0xdd, 0x84, 0x79, 0xf4, 0x32, 0xbf, 0xcb, 0x62, 0x53, 0x2c, 0xc2, + 0x14, 0x86, 0x6e, 0x3a, 0x49, 0x0a, 0x0f, 0xbc, 0x19, 0x1a, 0x78, 0x0f, 0xaa, 0x77, 0x60, 0x9e, + 0xbf, 0x05, 0xda, 0x31, 0x7b, 0xb6, 0x8b, 0xb5, 0xfc, 0x02, 0x80, 0x6f, 0xf6, 0x92, 0x97, 0x89, + 0x78, 0xa3, 0x27, 0x60, 0xe8, 0xf7, 0x70, 0xdf, 0xbb, 0xcf, 0xbf, 0xab, 0xf8, 0x3d, 0xc3, 0xe8, + 0xef, 0x83, 0x66, 0x90, 0xd0, 0xf7, 0xdc, 0x90, 0x08, 0x5c, 0x97, 0xa0, 0xb1, 0x16, 0x07, 0x01, + 0x71, 0xe9, 0x54, 0xc9, 0xf3, 0x3a, 0x11, 0x45, 0xf9, 0x76, 0x32, 0xbe, 0x78, 0xfa, 0x2f, 0x60, + 0xf4, 0x5f, 0xd7, 0xa0, 0xde, 0xb1, 0x7b, 0xae, 0xe9, 0x18, 0xe4, 0x50, 0x7b, 0x13, 0x6a, 0xb8, + 0x33, 0xe2, 0x01, 0x59, 0x76, 0x1a, 0x8d, 0xa3, 0x71, 0x0b, 0x68, 0x90, 0xc3, 0x9b, 0x4f, 0x19, + 0x9c, 0x46, 0x7b, 0x2f, 0x79, 0x31, 0xb5, 0x89, 0x27, 0x5d, 0x7c, 0x99, 0xfc, 0xcb, 0x11, 0x4c, + 0xf8, 0x68, 0xe4, 0x25, 0x73, 0xa0, 0x02, 0x75, 0x59, 0xe7, 0xc4, 0xab, 0xd0, 0x60, 0x81, 0xb0, + 0xc1, 0xe2, 0x02, 0x21, 0x0d, 0xa5, 0x36, 0xd9, 0x59, 0x10, 0x6f, 0x08, 0x06, 0x53, 0xe3, 0x91, + 0x11, 0xa7, 0x46, 0x1a, 0x4a, 0xbd, 0x1f, 0xbb, 0xbd, 0x3b, 0x3e, 0x3f, 0xa2, 0x1c, 0x4c, 0x7d, + 0x93, 0x0d, 0xe3, 0xd4, 0x48, 0x43, 0xa9, 0x03, 0xb6, 0x46, 0x30, 0xa3, 0x0f, 0xa3, 0xc6, 0xa5, + 0x84, 0x53, 0x23, 0x8d, 0xf6, 0x01, 0x34, 0x7b, 0x24, 0x32, 0x3c, 0xaf, 0xbf, 0x7a, 0xbc, 0xc1, + 0x6f, 0x88, 0xf0, 0x81, 0xf8, 0x95, 0x81, 0x7c, 0x36, 0x72, 0x04, 0xc8, 0xb1, 0xc0, 0x47, 0xfb, + 0x47, 0x78, 0xce, 0x73, 0x29, 0x6a, 0xc7, 0x0c, 0x22, 0xbb, 0x6b, 0xfb, 0xa6, 0x1b, 0xad, 0x79, + 0xae, 0xcb, 0xd6, 0x33, 0x83, 0x1c, 0xf2, 0x27, 0xe4, 0xaf, 0x0e, 0x9c, 0x68, 0x7b, 0x18, 0xf5, + 0xcd, 0xa7, 0x8c, 0xe1, 0xec, 0xb5, 0x7f, 0x57, 0x60, 0xa9, 0x30, 0x62, 0xdd, 0x0e, 0xbb, 0xa2, + 0x0c, 0xf8, 0xfc, 0xfc, 0xb5, 0xf1, 0x65, 0xc8, 0x31, 0xb8, 0xf9, 0x94, 0x31, 0x72, 0x12, 0x6e, + 0xe5, 0xdb, 0xde, 0x01, 0x71, 0x57, 0x8f, 0xe9, 0xd8, 0xcd, 0x75, 0x76, 0x1b, 0x35, 0xc2, 0xca, + 0x12, 0x41, 0x66, 0x65, 0x09, 0xbd, 0x5a, 0x87, 0x49, 0xdf, 0x3c, 0x76, 0x3c, 0xd3, 0xd2, 0x7f, + 0x3b, 0x01, 0x90, 0xb8, 0x3a, 0x64, 0x1d, 0xb1, 0x94, 0x64, 0x17, 0x47, 0x26, 0x99, 0xef, 0x1c, + 0x0b, 0x69, 0xd6, 0x29, 0x4f, 0xb3, 0xbf, 0x1a, 0x37, 0xcd, 0x90, 0x5b, 0x2e, 0xd1, 0xae, 0xe7, + 0x12, 0xed, 0xe2, 0xc8, 0x44, 0xe3, 0x42, 0xf1, 0x54, 0xbb, 0x9e, 0x4b, 0xb5, 0x8b, 0x23, 0x53, + 0x8d, 0xd3, 0xf3, 0x64, 0xbb, 0x9e, 0x4b, 0xb6, 0x8b, 0x23, 0x93, 0x8d, 0xd3, 0xf3, 0x74, 0xbb, + 0x9e, 0x4b, 0xb7, 0x8b, 0x23, 0xd3, 0x8d, 0xd3, 0xf3, 0x84, 0xfb, 0x68, 0x60, 0xc2, 0x2d, 0x3f, + 0x44, 0xc2, 0x21, 0xcf, 0x62, 0xca, 0x7d, 0x54, 0x12, 0x68, 0x53, 0xa3, 0xb9, 0xe7, 0x02, 0x2d, + 0xe3, 0x3e, 0x30, 0xd4, 0xfe, 0xb5, 0x02, 0xb3, 0xcc, 0xdd, 0xb8, 0x2a, 0xbb, 0x7b, 0x5e, 0xf1, + 0x1d, 0xab, 0x52, 0xf2, 0x8e, 0x55, 0xbb, 0x02, 0xf3, 0x88, 0x20, 0xc2, 0x3d, 0x22, 0x2e, 0xf4, + 0xc5, 0x0f, 0xec, 0xe6, 0x34, 0x0e, 0x23, 0xaf, 0xbf, 0x6e, 0x46, 0x66, 0xb2, 0xc3, 0xc8, 0x30, + 0xe2, 0xbd, 0xf6, 0x44, 0xe1, 0xe7, 0x1e, 0x01, 0xea, 0x5f, 0xe5, 0xab, 0x39, 0x83, 0x28, 0x45, + 0x64, 0xf7, 0x89, 0x17, 0x47, 0x7c, 0x91, 0x4a, 0x40, 0x7c, 0x7c, 0x68, 0xd9, 0x26, 0xbb, 0x0d, + 0xe6, 0x2f, 0xf3, 0x52, 0x04, 0x5b, 0x57, 0xb3, 0xdb, 0x6d, 0xfe, 0x73, 0x8c, 0x0c, 0x33, 0xc6, + 0x4d, 0x34, 0xfb, 0x65, 0x8f, 0x1d, 0xd9, 0xe2, 0x8b, 0xbd, 0xaa, 0x21, 0xe1, 0x68, 0x1f, 0xb4, + 0x1b, 0x87, 0xc7, 0xb7, 0x6c, 0x57, 0x34, 0x4f, 0x03, 0xfb, 0xa0, 0xe2, 0x17, 0xfd, 0x37, 0x0a, + 0x9c, 0x11, 0xea, 0x4e, 0x9b, 0x44, 0x26, 0xb3, 0x8b, 0xf4, 0xee, 0x5a, 0x79, 0xb8, 0x77, 0xd7, + 0x3b, 0x30, 0xd7, 0x93, 0xb7, 0xe5, 0x0f, 0xb9, 0xa3, 0xce, 0x93, 0x4b, 0x8f, 0xc8, 0x2b, 0x0f, + 0xfd, 0x88, 0x5c, 0xff, 0x0f, 0x15, 0xe6, 0x72, 0xcd, 0xc0, 0xd0, 0x4e, 0x6a, 0x05, 0xc0, 0x4e, + 0x43, 0x73, 0xc8, 0xad, 0x95, 0x1c, 0xbf, 0x86, 0x40, 0x54, 0x76, 0x6d, 0x5e, 0x39, 0xf9, 0xb5, + 0xf9, 0x4d, 0x68, 0xf8, 0x99, 0x93, 0x86, 0x1c, 0x1a, 0x94, 0xb8, 0xd2, 0x10, 0x49, 0xf5, 0xff, + 0x54, 0x60, 0xbe, 0x50, 0xb2, 0xd9, 0x65, 0x36, 0x4d, 0xd4, 0xf4, 0x32, 0x9b, 0x02, 0x42, 0x06, + 0xa8, 0xf9, 0x0c, 0x70, 0xec, 0x23, 0xf1, 0xe7, 0x2e, 0x1c, 0x1c, 0x10, 0x7d, 0x13, 0x03, 0xa3, + 0xef, 0xbf, 0x54, 0x58, 0x28, 0x6f, 0xb0, 0x9e, 0x54, 0xff, 0xfc, 0xb7, 0x02, 0xad, 0x41, 0x6b, + 0xe1, 0x23, 0x73, 0x53, 0x96, 0x3f, 0x69, 0xef, 0xfa, 0xa4, 0xfa, 0xe7, 0x4c, 0x92, 0x3e, 0x42, + 0x73, 0xa1, 0x7f, 0x33, 0xb5, 0x4f, 0xda, 0x9d, 0x3f, 0xa1, 0xf6, 0xd1, 0x2e, 0x43, 0x13, 0xd5, + 0x14, 0x5e, 0x72, 0xe1, 0x66, 0xaf, 0x80, 0xd7, 0x3f, 0x4c, 0x6c, 0x29, 0x34, 0x5a, 0xa7, 0x15, + 0xe3, 0xfa, 0xf7, 0x95, 0xc4, 0x27, 0xe9, 0x9e, 0xe7, 0x73, 0xe5, 0x93, 0x2c, 0xd2, 0x84, 0x36, + 0x52, 0x88, 0xb4, 0x74, 0x2f, 0xf6, 0xa7, 0x48, 0x1b, 0x1d, 0x69, 0xa9, 0x2d, 0x85, 0x96, 0x5a, + 0xff, 0xa2, 0x02, 0xcf, 0x0c, 0xdc, 0x8f, 0x0e, 0xb5, 0xaa, 0xd0, 0x34, 0xaa, 0x72, 0xd3, 0x98, + 0x53, 0xaf, 0x72, 0xf2, 0x42, 0xf3, 0x43, 0x05, 0x9e, 0x1d, 0xd2, 0xbc, 0xe7, 0x3c, 0xab, 0x9c, + 0xc4, 0xb3, 0x39, 0x61, 0xd5, 0x81, 0x17, 0xd3, 0x23, 0x7d, 0x91, 0xa5, 0x67, 0x45, 0x4c, 0x4f, + 0xfd, 0xa7, 0x0a, 0x3c, 0x3f, 0xc6, 0x4e, 0xfc, 0xf1, 0x52, 0x66, 0xe0, 0x53, 0x57, 0xfd, 0x67, + 0x0a, 0x5c, 0x1a, 0x6f, 0x53, 0xff, 0x79, 0xd1, 0xe8, 0xbb, 0x62, 0x0e, 0xe4, 0x4f, 0x0b, 0x04, + 0xb7, 0x2a, 0x52, 0xd5, 0x15, 0x73, 0x43, 0xcd, 0xe5, 0xc6, 0xa9, 0x65, 0x40, 0xfe, 0x45, 0xfb, + 0x44, 0xf1, 0x45, 0x7b, 0x5b, 0x48, 0x91, 0xe2, 0x0e, 0x74, 0xc0, 0x52, 0x22, 0x2c, 0x19, 0xaa, + 0xbc, 0x64, 0xfc, 0x13, 0xcc, 0xac, 0x13, 0xa7, 0x1d, 0xf6, 0x92, 0xdf, 0x9e, 0x9c, 0xea, 0x69, + 0xeb, 0x18, 0xfa, 0xac, 0xc2, 0xac, 0x28, 0xc0, 0x49, 0x7e, 0x5b, 0xa1, 0xdf, 0x85, 0x67, 0x3a, + 0x24, 0x5a, 0xf1, 0xfd, 0x55, 0xb3, 0x7b, 0x40, 0xdd, 0xec, 0x5a, 0x1d, 0xf6, 0x18, 0x78, 0xd8, + 0x8f, 0x69, 0xe8, 0xce, 0x32, 0xcc, 0x08, 0xf8, 0x0b, 0x58, 0x09, 0xa7, 0x6f, 0xc1, 0xe2, 0x20, + 0xc6, 0x27, 0x11, 0x74, 0xf5, 0xca, 0x07, 0x97, 0xb7, 0x7d, 0xe2, 0xde, 0xdb, 0x6c, 0x17, 0xfe, + 0x49, 0xcb, 0x1b, 0x85, 0x68, 0xd9, 0xad, 0xb1, 0xef, 0x2f, 0xfd, 0x31, 0x00, 0x00, 0xff, 0xff, + 0x49, 0xe5, 0xf2, 0x74, 0x04, 0x46, 0x00, 0x00, } diff --git a/pkg/proto/sdk_ws/ws.proto b/pkg/proto/sdk_ws/ws.proto index 95d17fa6b..e7b3932b1 100644 --- a/pkg/proto/sdk_ws/ws.proto +++ b/pkg/proto/sdk_ws/ws.proto @@ -696,4 +696,12 @@ message DelMsgListResp{ string errMsg = 2; } +message SetAppBackgroundStatusReq { + string userID = 1; + bool isBackground = 2; +} +message SetAppBackgroundStatusResp { + int32 errCode = 1; + string errMsg = 2; +} \ No newline at end of file From 86512f0dcb032e6bf35f664293b28720943062f8 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 28 Nov 2022 19:12:30 +0800 Subject: [PATCH 026/176] conn --- internal/msg_gateway/gate/logic.go | 1 - 1 file changed, 1 deletion(-) diff --git a/internal/msg_gateway/gate/logic.go b/internal/msg_gateway/gate/logic.go index c7b4695bf..dce29aa11 100644 --- a/internal/msg_gateway/gate/logic.go +++ b/internal/msg_gateway/gate/logic.go @@ -404,7 +404,6 @@ func (ws *WServer) setUserDeviceBackground(conn *UserConn, m *Req) { req := pData.(*sdk_ws.SetAppBackgroundStatusReq) conn.IsBackground = req.IsBackground log.NewInfo(m.OperationID, "SetUserDeviceBackground", "success", *conn, req.IsBackground) - ws.setUserDeviceBackgroundResp(conn, m, 0, "") } ws.setUserDeviceBackgroundResp(conn, m, errCode, errMsg) } From d78bf6d1e127b4bb9b6c7303b70ea331fa1bc886 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 28 Nov 2022 19:32:31 +0800 Subject: [PATCH 027/176] conn --- internal/msg_gateway/gate/callback.go | 10 ++++++---- internal/msg_gateway/gate/logic.go | 11 +++++++++++ internal/msg_gateway/gate/ws_server.go | 7 ++++--- pkg/call_back_struct/msg_gateway.go | 8 +++++--- 4 files changed, 26 insertions(+), 10 deletions(-) diff --git a/internal/msg_gateway/gate/callback.go b/internal/msg_gateway/gate/callback.go index 1b8c29a90..b2f15035e 100644 --- a/internal/msg_gateway/gate/callback.go +++ b/internal/msg_gateway/gate/callback.go @@ -9,7 +9,7 @@ import ( "time" ) -func callbackUserOnline(operationID, userID string, platformID int, token string) cbApi.CommonCallbackResp { +func callbackUserOnline(operationID, userID string, platformID int, token string, isAppBackgroundStatusChanged bool) cbApi.CommonCallbackResp { callbackResp := cbApi.CommonCallbackResp{OperationID: operationID} if !config.Config.Callback.CallbackUserOnline.Enable { return callbackResp @@ -25,7 +25,8 @@ func callbackUserOnline(operationID, userID string, platformID int, token string }, UserID: userID, }, - Seq: int(time.Now().UnixNano() / 1e6), + Seq: int(time.Now().UnixNano() / 1e6), + IsAppBackgroundStatusChanged: isAppBackgroundStatusChanged, } callbackUserOnlineResp := &cbApi.CallbackUserOnlineResp{CommonCallbackResp: &callbackResp} if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackUserOnlineCommand, callbackUserOnlineReq, callbackUserOnlineResp, config.Config.Callback.CallbackUserOnline.CallbackTimeOut); err != nil { @@ -35,7 +36,7 @@ func callbackUserOnline(operationID, userID string, platformID int, token string return callbackResp } -func callbackUserOffline(operationID, userID string, platformID int) cbApi.CommonCallbackResp { +func callbackUserOffline(operationID, userID string, platformID int, isAppBackgroundStatusChanged bool) cbApi.CommonCallbackResp { callbackResp := cbApi.CommonCallbackResp{OperationID: operationID} if !config.Config.Callback.CallbackUserOffline.Enable { return callbackResp @@ -50,7 +51,8 @@ func callbackUserOffline(operationID, userID string, platformID int) cbApi.Commo }, UserID: userID, }, - Seq: int(time.Now().UnixNano() / 1e6), + Seq: int(time.Now().UnixNano() / 1e6), + IsAppBackgroundStatusChanged: isAppBackgroundStatusChanged, } callbackUserOfflineResp := &cbApi.CallbackUserOfflineResp{CommonCallbackResp: &callbackResp} if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackUserOfflineCommand, callbackOfflineReq, callbackUserOfflineResp, config.Config.Callback.CallbackUserOffline.CallbackTimeOut); err != nil { diff --git a/internal/msg_gateway/gate/logic.go b/internal/msg_gateway/gate/logic.go index dce29aa11..22c9885a1 100644 --- a/internal/msg_gateway/gate/logic.go +++ b/internal/msg_gateway/gate/logic.go @@ -403,6 +403,17 @@ func (ws *WServer) setUserDeviceBackground(conn *UserConn, m *Req) { if isPass { req := pData.(*sdk_ws.SetAppBackgroundStatusReq) conn.IsBackground = req.IsBackground + if req.IsBackground { + callbackResp := callbackUserOffline(m.OperationID, conn.userID, int(conn.platformID), true) + if callbackResp.ErrCode != 0 { + log.NewError(m.OperationID, utils.GetSelfFuncName(), "callbackUserOffline failed", callbackResp) + } + } else { + callbackResp := callbackUserOnline(m.OperationID, conn.userID, int(conn.platformID), conn.token, true) + if callbackResp.ErrCode != 0 { + log.NewError(m.OperationID, utils.GetSelfFuncName(), "callbackUserOffline failed", callbackResp) + } + } log.NewInfo(m.OperationID, "SetUserDeviceBackground", "success", *conn, req.IsBackground) } ws.setUserDeviceBackgroundResp(conn, m, errCode, errMsg) diff --git a/internal/msg_gateway/gate/ws_server.go b/internal/msg_gateway/gate/ws_server.go index 0c558e870..448e4863f 100644 --- a/internal/msg_gateway/gate/ws_server.go +++ b/internal/msg_gateway/gate/ws_server.go @@ -36,6 +36,7 @@ type UserConn struct { IsCompress bool userID string IsBackground bool + token string } type WServer struct { @@ -86,7 +87,7 @@ func (ws *WServer) wsHandler(w http.ResponseWriter, r *http.Request) { log.NewDebug(operationID, query["sendID"][0], "enable compression") isCompress = true } - newConn := &UserConn{conn, new(sync.Mutex), utils.StringToInt32(query["platformID"][0]), 0, isCompress, query["sendID"][0], false} + newConn := &UserConn{conn, new(sync.Mutex), utils.StringToInt32(query["platformID"][0]), 0, isCompress, query["sendID"][0], false, query["token"][0]} userCount++ ws.addUserConn(query["sendID"][0], utils.StringToInt(query["platformID"][0]), newConn, query["token"][0], operationID) go ws.readMsg(newConn) @@ -327,7 +328,7 @@ func (ws *WServer) addUserConn(uid string, platformID int, conn *UserConn, token rwLock.Lock() defer rwLock.Unlock() log.Info(operationID, utils.GetSelfFuncName(), " args: ", uid, platformID, conn, token, "ip: ", conn.RemoteAddr().String()) - callbackResp := callbackUserOnline(operationID, uid, platformID, token) + callbackResp := callbackUserOnline(operationID, uid, platformID, token, false) if callbackResp.ErrCode != 0 { log.NewError(operationID, utils.GetSelfFuncName(), "callbackUserOnline resp:", callbackResp) } @@ -390,7 +391,7 @@ func (ws *WServer) delUserConn(conn *UserConn) { if err != nil { log.Error(operationID, " close err", "", "uid", uid, "platform", platform) } - callbackResp := callbackUserOffline(operationID, conn.userID, platform) + callbackResp := callbackUserOffline(operationID, conn.userID, platform, false) if callbackResp.ErrCode != 0 { log.NewError(operationID, utils.GetSelfFuncName(), "callbackUserOffline failed", callbackResp) } diff --git a/pkg/call_back_struct/msg_gateway.go b/pkg/call_back_struct/msg_gateway.go index df3219339..87d07c19f 100644 --- a/pkg/call_back_struct/msg_gateway.go +++ b/pkg/call_back_struct/msg_gateway.go @@ -2,8 +2,9 @@ package call_back_struct type CallbackUserOnlineReq struct { UserStatusCallbackReq - Token string `json:"token"` - Seq int `json:"seq"` + Token string `json:"token"` + Seq int `json:"seq"` + IsAppBackgroundStatusChanged bool `json:"isAppBackgroundStatusChanged"` } type CallbackUserOnlineResp struct { @@ -12,7 +13,8 @@ type CallbackUserOnlineResp struct { type CallbackUserOfflineReq struct { UserStatusCallbackReq - Seq int `json:"seq"` + Seq int `json:"seq"` + IsAppBackgroundStatusChanged bool `json:"isAppBackgroundStatusChanged"` } type CallbackUserOfflineResp struct { From c1c72927c1e1737eeccc6e4988cfe12fff19a3b1 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 29 Nov 2022 10:13:46 +0800 Subject: [PATCH 028/176] conn --- internal/msg_gateway/gate/validate.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/msg_gateway/gate/validate.go b/internal/msg_gateway/gate/validate.go index c9c8a4399..51a665122 100644 --- a/internal/msg_gateway/gate/validate.go +++ b/internal/msg_gateway/gate/validate.go @@ -118,7 +118,7 @@ func (ws *WServer) argsValidate(m *Req, r int32, operationID string) (isPass boo return false, 204, err.Error(), nil } - return true, 0, "", data + return true, 0, "", &data default: } return false, 204, "args err", nil From 05b6fb4a7d0d81f817be5db301b949b6050554f1 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Tue, 29 Nov 2022 10:31:13 +0800 Subject: [PATCH 029/176] compression --- internal/msg_gateway/gate/ws_server.go | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/internal/msg_gateway/gate/ws_server.go b/internal/msg_gateway/gate/ws_server.go index 448e4863f..7b9ba08c7 100644 --- a/internal/msg_gateway/gate/ws_server.go +++ b/internal/msg_gateway/gate/ws_server.go @@ -76,18 +76,13 @@ func (ws *WServer) wsHandler(w http.ResponseWriter, r *http.Request) { operationID = utils.OperationIDGenerator() } log.Debug(operationID, utils.GetSelfFuncName(), " args: ", query) - if ws.headerCheck(w, r, operationID) { + if isPass, compression := ws.headerCheck(w, r, operationID); isPass { conn, err := ws.wsUpGrader.Upgrade(w, r, nil) //Conn is obtained through the upgraded escalator if err != nil { log.Error(operationID, "upgrade http conn err", err.Error(), query) return } else { - var isCompress = false - if r.Header.Get("compression") == "gzip" { - log.NewDebug(operationID, query["sendID"][0], "enable compression") - isCompress = true - } - newConn := &UserConn{conn, new(sync.Mutex), utils.StringToInt32(query["platformID"][0]), 0, isCompress, query["sendID"][0], false, query["token"][0]} + newConn := &UserConn{conn, new(sync.Mutex), utils.StringToInt32(query["platformID"][0]), 0, compression, query["sendID"][0], false, query["token"][0]} userCount++ ws.addUserConn(query["sendID"][0], utils.StringToInt(query["platformID"][0]), newConn, query["token"][0], operationID) go ws.readMsg(newConn) @@ -435,7 +430,7 @@ func (ws *WServer) getUserAllCons(uid string) map[int]*UserConn { // } // return "", 0 //} -func (ws *WServer) headerCheck(w http.ResponseWriter, r *http.Request, operationID string) bool { +func (ws *WServer) headerCheck(w http.ResponseWriter, r *http.Request, operationID string) (isPass, compression bool) { status := http.StatusUnauthorized query := r.URL.Query() if len(query["token"]) != 0 && len(query["sendID"]) != 0 && len(query["platformID"]) != 0 { @@ -487,10 +482,13 @@ func (ws *WServer) headerCheck(w http.ResponseWriter, r *http.Request, operation w.Header().Set("Sec-Websocket-Version", "13") w.Header().Set("ws_err_msg", err.Error()) http.Error(w, err.Error(), status) - return false + return false, false } else { - log.Info(operationID, "Connection Authentication Success", "", "token ", query["token"][0], "userID ", query["sendID"][0], "platformID ", query["platformID"][0]) - return true + if r.Header.Get("compression") == "gzip" { + compression = true + } + log.Info(operationID, "Connection Authentication Success", "", "token ", query["token"][0], "userID ", query["sendID"][0], "platformID ", query["platformID"][0], "compression", compression) + return true, compression } } else { status = int(constant.ErrArgs.ErrCode) @@ -499,6 +497,6 @@ func (ws *WServer) headerCheck(w http.ResponseWriter, r *http.Request, operation errMsg := "args err, need token, sendID, platformID" w.Header().Set("ws_err_msg", errMsg) http.Error(w, errMsg, status) - return false + return false, false } } From a6d676700d4f2bb7cb0d9142402a3c6dd6ebbc0d Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Tue, 29 Nov 2022 10:56:41 +0800 Subject: [PATCH 030/176] compression --- internal/msg_gateway/gate/ws_server.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/internal/msg_gateway/gate/ws_server.go b/internal/msg_gateway/gate/ws_server.go index 7b9ba08c7..74252182a 100644 --- a/internal/msg_gateway/gate/ws_server.go +++ b/internal/msg_gateway/gate/ws_server.go @@ -487,6 +487,9 @@ func (ws *WServer) headerCheck(w http.ResponseWriter, r *http.Request, operation if r.Header.Get("compression") == "gzip" { compression = true } + if len(query["compression"]) != 0 && query["compression"][0] == "gzip" { + compression = true + } log.Info(operationID, "Connection Authentication Success", "", "token ", query["token"][0], "userID ", query["sendID"][0], "platformID ", query["platformID"][0], "compression", compression) return true, compression } From a30c8953c869782f999577495895c5f9d5f7576a Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 29 Nov 2022 11:39:39 +0800 Subject: [PATCH 031/176] conn --- internal/msg_gateway/gate/logic.go | 1 - 1 file changed, 1 deletion(-) diff --git a/internal/msg_gateway/gate/logic.go b/internal/msg_gateway/gate/logic.go index 22c9885a1..cc795703d 100644 --- a/internal/msg_gateway/gate/logic.go +++ b/internal/msg_gateway/gate/logic.go @@ -428,5 +428,4 @@ func (ws *WServer) setUserDeviceBackgroundResp(conn *UserConn, m *Req, errCode i ErrMsg: errMsg, } ws.sendMsg(conn, mReply) - _ = conn.Close() } From 99739810a0c760e9945f28efac6097539cf37753 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 29 Nov 2022 11:57:21 +0800 Subject: [PATCH 032/176] conn --- internal/msg_gateway/gate/callback.go | 11 +++++------ internal/msg_gateway/gate/logic.go | 13 +++---------- internal/msg_gateway/gate/ws_server.go | 2 +- pkg/call_back_struct/msg_gateway.go | 9 ++++----- 4 files changed, 13 insertions(+), 22 deletions(-) diff --git a/internal/msg_gateway/gate/callback.go b/internal/msg_gateway/gate/callback.go index b2f15035e..7f9cb4911 100644 --- a/internal/msg_gateway/gate/callback.go +++ b/internal/msg_gateway/gate/callback.go @@ -9,7 +9,7 @@ import ( "time" ) -func callbackUserOnline(operationID, userID string, platformID int, token string, isAppBackgroundStatusChanged bool) cbApi.CommonCallbackResp { +func callbackUserOnline(operationID, userID string, platformID int, token string, isAppBackground bool) cbApi.CommonCallbackResp { callbackResp := cbApi.CommonCallbackResp{OperationID: operationID} if !config.Config.Callback.CallbackUserOnline.Enable { return callbackResp @@ -25,8 +25,8 @@ func callbackUserOnline(operationID, userID string, platformID int, token string }, UserID: userID, }, - Seq: int(time.Now().UnixNano() / 1e6), - IsAppBackgroundStatusChanged: isAppBackgroundStatusChanged, + Seq: int(time.Now().UnixNano() / 1e6), + IsAppBackground: isAppBackground, } callbackUserOnlineResp := &cbApi.CallbackUserOnlineResp{CommonCallbackResp: &callbackResp} if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackUserOnlineCommand, callbackUserOnlineReq, callbackUserOnlineResp, config.Config.Callback.CallbackUserOnline.CallbackTimeOut); err != nil { @@ -36,7 +36,7 @@ func callbackUserOnline(operationID, userID string, platformID int, token string return callbackResp } -func callbackUserOffline(operationID, userID string, platformID int, isAppBackgroundStatusChanged bool) cbApi.CommonCallbackResp { +func callbackUserOffline(operationID, userID string, platformID int) cbApi.CommonCallbackResp { callbackResp := cbApi.CommonCallbackResp{OperationID: operationID} if !config.Config.Callback.CallbackUserOffline.Enable { return callbackResp @@ -51,8 +51,7 @@ func callbackUserOffline(operationID, userID string, platformID int, isAppBackgr }, UserID: userID, }, - Seq: int(time.Now().UnixNano() / 1e6), - IsAppBackgroundStatusChanged: isAppBackgroundStatusChanged, + Seq: int(time.Now().UnixNano() / 1e6), } callbackUserOfflineResp := &cbApi.CallbackUserOfflineResp{CommonCallbackResp: &callbackResp} if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackUserOfflineCommand, callbackOfflineReq, callbackUserOfflineResp, config.Config.Callback.CallbackUserOffline.CallbackTimeOut); err != nil { diff --git a/internal/msg_gateway/gate/logic.go b/internal/msg_gateway/gate/logic.go index cc795703d..aecf82238 100644 --- a/internal/msg_gateway/gate/logic.go +++ b/internal/msg_gateway/gate/logic.go @@ -403,16 +403,9 @@ func (ws *WServer) setUserDeviceBackground(conn *UserConn, m *Req) { if isPass { req := pData.(*sdk_ws.SetAppBackgroundStatusReq) conn.IsBackground = req.IsBackground - if req.IsBackground { - callbackResp := callbackUserOffline(m.OperationID, conn.userID, int(conn.platformID), true) - if callbackResp.ErrCode != 0 { - log.NewError(m.OperationID, utils.GetSelfFuncName(), "callbackUserOffline failed", callbackResp) - } - } else { - callbackResp := callbackUserOnline(m.OperationID, conn.userID, int(conn.platformID), conn.token, true) - if callbackResp.ErrCode != 0 { - log.NewError(m.OperationID, utils.GetSelfFuncName(), "callbackUserOffline failed", callbackResp) - } + callbackResp := callbackUserOnline(m.OperationID, conn.userID, int(conn.platformID), conn.token, req.IsBackground) + if callbackResp.ErrCode != 0 { + log.NewError(m.OperationID, utils.GetSelfFuncName(), "callbackUserOffline failed", callbackResp) } log.NewInfo(m.OperationID, "SetUserDeviceBackground", "success", *conn, req.IsBackground) } diff --git a/internal/msg_gateway/gate/ws_server.go b/internal/msg_gateway/gate/ws_server.go index 74252182a..ad09a28b6 100644 --- a/internal/msg_gateway/gate/ws_server.go +++ b/internal/msg_gateway/gate/ws_server.go @@ -386,7 +386,7 @@ func (ws *WServer) delUserConn(conn *UserConn) { if err != nil { log.Error(operationID, " close err", "", "uid", uid, "platform", platform) } - callbackResp := callbackUserOffline(operationID, conn.userID, platform, false) + callbackResp := callbackUserOffline(operationID, conn.userID, platform) if callbackResp.ErrCode != 0 { log.NewError(operationID, utils.GetSelfFuncName(), "callbackUserOffline failed", callbackResp) } diff --git a/pkg/call_back_struct/msg_gateway.go b/pkg/call_back_struct/msg_gateway.go index 87d07c19f..954a6a3af 100644 --- a/pkg/call_back_struct/msg_gateway.go +++ b/pkg/call_back_struct/msg_gateway.go @@ -2,9 +2,9 @@ package call_back_struct type CallbackUserOnlineReq struct { UserStatusCallbackReq - Token string `json:"token"` - Seq int `json:"seq"` - IsAppBackgroundStatusChanged bool `json:"isAppBackgroundStatusChanged"` + Token string `json:"token"` + Seq int `json:"seq"` + IsAppBackground bool `json:"isAppBackground"` } type CallbackUserOnlineResp struct { @@ -13,8 +13,7 @@ type CallbackUserOnlineResp struct { type CallbackUserOfflineReq struct { UserStatusCallbackReq - Seq int `json:"seq"` - IsAppBackgroundStatusChanged bool `json:"isAppBackgroundStatusChanged"` + Seq int `json:"seq"` } type CallbackUserOfflineResp struct { From ad2df2f36f5ce417cc615f6adeade96bc51be63b Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 29 Nov 2022 12:07:48 +0800 Subject: [PATCH 033/176] conn --- internal/msg_gateway/gate/logic.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/msg_gateway/gate/logic.go b/internal/msg_gateway/gate/logic.go index aecf82238..63cf7730b 100644 --- a/internal/msg_gateway/gate/logic.go +++ b/internal/msg_gateway/gate/logic.go @@ -403,7 +403,7 @@ func (ws *WServer) setUserDeviceBackground(conn *UserConn, m *Req) { if isPass { req := pData.(*sdk_ws.SetAppBackgroundStatusReq) conn.IsBackground = req.IsBackground - callbackResp := callbackUserOnline(m.OperationID, conn.userID, int(conn.platformID), conn.token, req.IsBackground) + callbackResp := callbackUserOnline(m.OperationID, conn.userID, int(conn.platformID), conn.token, conn.IsBackground) if callbackResp.ErrCode != 0 { log.NewError(m.OperationID, utils.GetSelfFuncName(), "callbackUserOffline failed", callbackResp) } From 6f22b37e1db4fea2f50649b92dd9947158627662 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 29 Nov 2022 14:41:20 +0800 Subject: [PATCH 034/176] fix groupMuted send msg --- internal/push/logic/push_to_client.go | 2 +- internal/rpc/msg/send_msg.go | 31 +++++++++++++++++++++++++-- 2 files changed, 30 insertions(+), 3 deletions(-) diff --git a/internal/push/logic/push_to_client.go b/internal/push/logic/push_to_client.go index cff59c1a6..a096e4eb4 100644 --- a/internal/push/logic/push_to_client.go +++ b/internal/push/logic/push_to_client.go @@ -70,7 +70,7 @@ func MsgToUser(pushMsg *pbPush.PushMsgReq) { wsResult = append(wsResult, reply.SinglePushResult...) } } - log.NewInfo(pushMsg.OperationID, "push_result", wsResult, "sendData", pushMsg.MsgData) + log.NewInfo(pushMsg.OperationID, "push_result", wsResult, "sendData", pushMsg.MsgData, "isOfflinePush", isOfflinePush) successCount++ if isOfflinePush && pushMsg.PushToUserID != pushMsg.MsgData.SendID { // save invitation info for offline push diff --git a/internal/rpc/msg/send_msg.go b/internal/rpc/msg/send_msg.go index c072b1b71..e712afcfd 100644 --- a/internal/rpc/msg/send_msg.go +++ b/internal/rpc/msg/send_msg.go @@ -107,6 +107,17 @@ func userIsMuteInGroup(groupID, userID string) (bool, error) { return false, nil } +func groupIsMuted(groupID string) (bool, error) { + groupInfo, err := rocksCache.GetGroupInfoFromCache(groupID) + if err != nil { + return false, utils.Wrap(err, "GetGroupInfoFromCache failed") + } + if groupInfo.Status == constant.GroupStatusMuted { + return true, nil + } + return false, nil +} + func (rpc *rpcChat) messageVerification(data *pbChat.SendMsgReq) (bool, int32, string, []string) { switch data.MsgData.SessionType { case constant.SingleChatType: @@ -182,7 +193,15 @@ func (rpc *rpcChat) messageVerification(data *pbChat.SendMsgReq) (bool, int32, s return false, 202, "you are not in group", nil } } - isMute, err := userIsMuteInGroup(data.MsgData.GroupID, data.MsgData.SendID) + isMute, err := groupIsMuted(data.MsgData.GroupID) + if err != nil { + errMsg := data.OperationID + err.Error() + return false, 223, errMsg, nil + } + if isMute { + return false, 225, "group id muted", nil + } + isMute, err = userIsMuteInGroup(data.MsgData.GroupID, data.MsgData.SendID) if err != nil { errMsg := data.OperationID + err.Error() return false, 223, errMsg, nil @@ -245,7 +264,15 @@ func (rpc *rpcChat) messageVerification(data *pbChat.SendMsgReq) (bool, int32, s return false, 202, "you are not in group", nil } } - isMute, err := userIsMuteInGroup(data.MsgData.GroupID, data.MsgData.SendID) + isMute, err := groupIsMuted(data.MsgData.GroupID) + if err != nil { + errMsg := data.OperationID + err.Error() + return false, 223, errMsg, nil + } + if isMute { + return false, 225, "group id muted", nil + } + isMute, err = userIsMuteInGroup(data.MsgData.GroupID, data.MsgData.SendID) if err != nil { errMsg := data.OperationID + err.Error() return false, 223, errMsg, nil From 271934ef4b7fdff1a5a733bcf89cd6941ccc6c45 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 29 Nov 2022 18:08:47 +0800 Subject: [PATCH 035/176] fix groupMuted send msg --- internal/cron_task/clear_msg.go | 28 +++++++++++++-------- internal/cron_task/cron_task.go | 15 ++++++----- pkg/common/db/mongoModel.go | 44 +++++++++++++++++++++++++++++++-- 3 files changed, 69 insertions(+), 18 deletions(-) diff --git a/internal/cron_task/clear_msg.go b/internal/cron_task/clear_msg.go index f86e4adac..481b3b104 100644 --- a/internal/cron_task/clear_msg.go +++ b/internal/cron_task/clear_msg.go @@ -164,6 +164,21 @@ func msgListIsFull(chat *db.UserChat) bool { return false } +func CheckGroupUserMinSeq(operationID, groupID, userID string, diffusionType int) error { + return nil +} + +func CheckUserMinSeqWithMongo(operationID, userID string, diffusionType int) error { + //var seqRedis uint64 + //var err error + //if diffusionType == constant.WriteDiffusion { + // seqRedis, err = db.DB.GetUserMinSeq(ID) + //} else { + // seqRedis, err = db.DB.GetGroupUserMinSeq(ID) + //} + return nil +} + func checkMaxSeqWithMongo(operationID, ID string, diffusionType int) error { var seqRedis uint64 var err error @@ -185,17 +200,10 @@ func checkMaxSeqWithMongo(operationID, ID string, diffusionType int) error { if msg == nil { return nil } - var seqMongo uint32 - msgPb := &server_api_params.MsgData{} - err = proto.Unmarshal(msg.Msg, msgPb) - if err != nil { - return utils.Wrap(err, "") - } - seqMongo = msgPb.Seq - if math.Abs(float64(seqMongo-uint32(seqRedis))) > 10 { - log.NewWarn(operationID, utils.GetSelfFuncName(), "seqMongo, seqRedis", seqMongo, seqRedis, ID, "redis maxSeq is different with msg.Seq > 10", "status: ", msgPb.Status, msg.SendTime) + if math.Abs(float64(msg.Seq-uint32(seqRedis))) > 10 { + log.NewWarn(operationID, utils.GetSelfFuncName(), "seqMongo, seqRedis", msg.Seq, seqRedis, ID, "redis maxSeq is different with msg.Seq > 10", "status: ", msg.Status, msg.SendTime) } else { - log.NewInfo(operationID, utils.GetSelfFuncName(), "seqMongo, seqRedis", seqMongo, seqRedis, ID, "seq and msg OK", "status:", msgPb.Status, msg.SendTime) + log.NewInfo(operationID, utils.GetSelfFuncName(), "seqMongo, seqRedis", msg.Seq, seqRedis, ID, "seq and msg OK", "status:", msg.Status, msg.SendTime) } return nil } diff --git a/internal/cron_task/cron_task.go b/internal/cron_task/cron_task.go index 1fdef997e..f08cc3db4 100644 --- a/internal/cron_task/cron_task.go +++ b/internal/cron_task/cron_task.go @@ -30,11 +30,8 @@ func StartCronTask(userID, workingGroupID string) { fmt.Println("clear msg finished") return } - clearFunc := func() { - ClearAll() - } c := cron.New() - _, err := c.AddFunc(config.Config.Mongo.ChatRecordsClearTime, clearFunc) + _, err := c.AddFunc(config.Config.Mongo.ChatRecordsClearTime, ClearAll) if err != nil { fmt.Println("start cron failed", err.Error(), config.Config.Mongo.ChatRecordsClearTime) panic(err) @@ -53,7 +50,6 @@ func getCronTaskOperationID() string { func ClearAll() { operationID := getCronTaskOperationID() log.NewInfo(operationID, "====================== start del cron task ======================") - //var userIDList []string var err error userIDList, err := im_mysql_model.SelectAllUserID() if err == nil { @@ -61,7 +57,6 @@ func ClearAll() { } else { log.NewError(operationID, utils.GetSelfFuncName(), err.Error()) } - //return // working group msg clear workingGroupIDList, err := im_mysql_model.GetGroupIDListByGroupType(constant.WorkingGroup) if err == nil { @@ -82,6 +77,9 @@ func StartClearMsg(operationID string, userIDList []string) { if err := checkMaxSeqWithMongo(operationID, userID, constant.WriteDiffusion); err != nil { log.NewError(operationID, utils.GetSelfFuncName(), userID, err) } + if err := CheckUserMinSeqWithMongo(operationID, userID, constant.WriteDiffusion); err != nil { + log.NewError(operationID, utils.GetSelfFuncName(), userID, err) + } } } @@ -100,5 +98,10 @@ func StartClearWorkingGroupMsg(operationID string, workingGroupIDList []string) if err := checkMaxSeqWithMongo(operationID, groupID, constant.ReadDiffusion); err != nil { log.NewError(operationID, utils.GetSelfFuncName(), groupID, err) } + for _, userID := range userIDList { + if err := CheckGroupUserMinSeq(operationID, groupID, userID, constant.ReadDiffusion); err != nil { + log.NewError(operationID, utils.GetSelfFuncName(), groupID, err) + } + } } } diff --git a/pkg/common/db/mongoModel.go b/pkg/common/db/mongoModel.go index 88805b902..5bd96032e 100644 --- a/pkg/common/db/mongoModel.go +++ b/pkg/common/db/mongoModel.go @@ -318,7 +318,7 @@ func (d *DataBases) ReplaceMsgToBlankByIndex(suffixID string, index int) error { return err } -func (d *DataBases) GetNewestMsg(ID string) (msg *MsgInfo, err error) { +func (d *DataBases) GetNewestMsg(ID string) (msg *open_im_sdk.MsgData, err error) { ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cChat) regex := fmt.Sprintf("^%s", ID) @@ -334,13 +334,53 @@ func (d *DataBases) GetNewestMsg(ID string) (msg *MsgInfo, err error) { } if len(userChats) > 0 { if len(userChats[0].Msg) > 0 { - return &userChats[0].Msg[len(userChats[0].Msg)-1], nil + msgPb := &open_im_sdk.MsgData{} + err = proto.Unmarshal(userChats[0].Msg[len(userChats[0].Msg)-1].Msg, msgPb) + if err != nil { + return nil, utils.Wrap(err, "") + } + return msgPb, nil } return nil, errors.New("len(userChats[0].Msg) < 0") } return nil, nil } +func (d *DataBases) GetOldestMsg(ID string) (msg *open_im_sdk.MsgData, err error) { + ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) + c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cChat) + regex := fmt.Sprintf("^%s", ID) + findOpts := options.Find().SetLimit(1).SetSort(bson.M{"uid": 1}) + var userChats []UserChat + cursor, err := c.Find(ctx, bson.M{"uid": bson.M{"$regex": regex}}, findOpts) + if err != nil { + return nil, err + } + err = cursor.All(ctx, &userChats) + if err != nil { + return nil, utils.Wrap(err, "") + } + var oldestMsg []byte + if len(userChats) > 0 { + for _, v := range userChats[0].Msg { + if v.SendTime != 0 { + oldestMsg = v.Msg + break + } + } + if len(oldestMsg) == 0 { + oldestMsg = userChats[0].Msg[len(userChats[0].Msg)-1].Msg + } + msgPb := &open_im_sdk.MsgData{} + err = proto.Unmarshal(oldestMsg, msgPb) + if err != nil { + return nil, utils.Wrap(err, "") + } + return msgPb, nil + } + return nil, nil +} + func (d *DataBases) GetMsgBySeqListMongo2(uid string, seqList []uint32, operationID string) (seqMsg []*open_im_sdk.MsgData, err error) { var hasSeqList []uint32 singleCount := 0 From 19da03dfa48297c2d4226f0818c5ffaa657d87b8 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 30 Nov 2022 16:13:03 +0800 Subject: [PATCH 036/176] msg rpc max --- internal/msg_gateway/gate/logic.go | 9 ++++++--- internal/rpc/msg/rpcChat.go | 11 ++++++++--- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/internal/msg_gateway/gate/logic.go b/internal/msg_gateway/gate/logic.go index 63cf7730b..ce5bf1c7c 100644 --- a/internal/msg_gateway/gate/logic.go +++ b/internal/msg_gateway/gate/logic.go @@ -15,10 +15,12 @@ import ( "bytes" "context" "encoding/gob" - "github.com/golang/protobuf/proto" - "github.com/gorilla/websocket" "runtime" "strings" + + "github.com/golang/protobuf/proto" + "github.com/gorilla/websocket" + "google.golang.org/grpc" ) func (ws *WServer) msgParse(conn *UserConn, binaryMsg []byte) { @@ -150,7 +152,8 @@ func (ws *WServer) pullMsgBySeqListReq(conn *UserConn, m *Req) { return } msgClient := pbChat.NewMsgClient(grpcConn) - reply, err := msgClient.PullMessageBySeqList(context.Background(), &rpcReq) + maxSizeOption := grpc.MaxCallRecvMsgSize(1024 * 1024 * 20) + reply, err := msgClient.PullMessageBySeqList(context.Background(), &rpcReq, maxSizeOption) if err != nil { log.NewError(rpcReq.OperationID, "pullMsgBySeqListReq err", err.Error()) nReply.ErrCode = 200 diff --git a/internal/rpc/msg/rpcChat.go b/internal/rpc/msg/rpcChat.go index 415d6fff1..f1329d47a 100644 --- a/internal/rpc/msg/rpcChat.go +++ b/internal/rpc/msg/rpcChat.go @@ -10,11 +10,12 @@ import ( "Open_IM/pkg/grpc-etcdv3/getcdv3" "Open_IM/pkg/proto/msg" "Open_IM/pkg/utils" - "github.com/golang/protobuf/proto" "net" "strconv" "strings" + "github.com/golang/protobuf/proto" + grpcPrometheus "github.com/grpc-ecosystem/go-grpc-prometheus" "google.golang.org/grpc" @@ -94,8 +95,12 @@ func (rpc *rpcChat) Run() { panic("listening err:" + err.Error() + rpc.rpcRegisterName) } log.Info("", "listen network success, address ", address) - - var grpcOpts []grpc.ServerOption + recvSize := 1024 * 1024 * 30 + sendSize := 1024 * 1024 * 30 + var grpcOpts = []grpc.ServerOption{ + grpc.MaxRecvMsgSize(recvSize), + grpc.MaxSendMsgSize(sendSize), + } if config.Config.Prometheus.Enable { promePkg.NewGrpcRequestCounter() promePkg.NewGrpcRequestFailedCounter() From d9ecfddecd1273dd291c687566290788426afaef Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 30 Nov 2022 18:04:58 +0800 Subject: [PATCH 037/176] error log --- internal/rpc/group/super_group.go | 1 + pkg/common/db/rocks_cache/rocks_cache.go | 4 ---- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/internal/rpc/group/super_group.go b/internal/rpc/group/super_group.go index b667abe76..070c95256 100644 --- a/internal/rpc/group/super_group.go +++ b/internal/rpc/group/super_group.go @@ -8,6 +8,7 @@ import ( commonPb "Open_IM/pkg/proto/sdk_ws" "Open_IM/pkg/utils" "context" + "github.com/go-redis/redis/v8" ) diff --git a/pkg/common/db/rocks_cache/rocks_cache.go b/pkg/common/db/rocks_cache/rocks_cache.go index be9822b3e..cda798100 100644 --- a/pkg/common/db/rocks_cache/rocks_cache.go +++ b/pkg/common/db/rocks_cache/rocks_cache.go @@ -8,7 +8,6 @@ import ( "Open_IM/pkg/utils" "context" "encoding/json" - "errors" "fmt" "math/big" "sort" @@ -408,9 +407,6 @@ func GetJoinedSuperGroupListFromCache(userID string) ([]string, error) { if err != nil { return "", utils.Wrap(err, "") } - if len(userToSuperGroup.GroupIDList) == 0 { - return "", errors.New("GroupIDList == 0") - } bytes, err := json.Marshal(userToSuperGroup.GroupIDList) if err != nil { return "", utils.Wrap(err, "") From 8d6612800936b02df110fb14bb374a2465437804 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Thu, 1 Dec 2022 01:40:13 +0800 Subject: [PATCH 038/176] mongo --- internal/rpc/msg/extend_msg.go | 1 + pkg/common/db/extend_msg_mongo_model.go | 49 +++++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 internal/rpc/msg/extend_msg.go create mode 100644 pkg/common/db/extend_msg_mongo_model.go diff --git a/internal/rpc/msg/extend_msg.go b/internal/rpc/msg/extend_msg.go new file mode 100644 index 000000000..6cb5870b7 --- /dev/null +++ b/internal/rpc/msg/extend_msg.go @@ -0,0 +1 @@ +package msg diff --git a/pkg/common/db/extend_msg_mongo_model.go b/pkg/common/db/extend_msg_mongo_model.go new file mode 100644 index 000000000..1edc5cc25 --- /dev/null +++ b/pkg/common/db/extend_msg_mongo_model.go @@ -0,0 +1,49 @@ +package db + +type ExtendMsgSet struct { + ID string `bson:"id" json:"ID"` + ExtendMsg []*ExtendMsg `bson:"extend_msg" json:"extendMsg"` + LatestUpdateTime int32 `bson:"latest_update_time" json:"latestUpdateTime"` + AttachedInfo string `bson:"attached_info" json:"attachedInfo"` + Ex string `bson:"ex" json:"ex"` + ExtendMsgNum int32 `bson:"extend_msg_num" json:"extendMsgNum"` + CreateTime int32 `bson:"create_time" json:"createTime"` +} + +type ExtendMsg struct { + SendID string `bson:"send_id" json:"sendID"` + ServerMsgID string `bson:"server_msg_id" json:"serverMsgID"` + Ex string `bson:"ex" json:"ex"` + AttachedInfo string `bson:"attached_info" json:"attachedInfo"` + LikeUserIDList []string `bson:"like_user_id_list" json:"likeUserIDList"` + Content string `bson:"content" json:"content"` + ExtendMsgComments []*ExtendMsgComment `bson:"extend_msg_comments" json:"extendMsgComment"` + Vote *Vote `bson:"vote" json:"vote"` + Urls []string `bson:"urls" json:"urls"` + CreateTime int32 `bson:"create_time" json:"createTime"` +} + +type Vote struct { + Content string `bson:"content" json:"content"` + AttachedInfo string `bson:"attached_info" json:"attachedInfo"` + Ex string `bson:"ex" json:"ex"` + Options []*Options `bson:"options" json:"options"` +} + +type Options struct { + Content string `bson:"content" json:"content"` + AttachedInfo string `bson:"attached_info" json:"attachedInfo"` + Ex string `bson:"ex" json:"ex"` + VoteUserIDList []string `bson:"vote_user_id_list" json:"voteUserIDList"` +} + +type ExtendMsgComment struct { + UserID string `bson:"user_id" json:"userID"` + ReplyUserID string `bson:"reply_user_id" json:"replyUserID"` + ReplyContentID string `bson:"reply_content_id" json:"replyContentID"` + ContentID string `bson:"content_id" json:"contentID"` + Content string `bson:"content" json:"content"` + CreateTime int32 `bson:"create_time" json:"createTime"` + AttachedInfo string `bson:"attached_info" json:"attachedInfo"` + Ex string `bson:"ex" json:"ex"` +} From 14fd7444e8b77d9736d3e164700d472d8d75aa52 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Thu, 1 Dec 2022 14:55:30 +0800 Subject: [PATCH 039/176] callback add seq --- internal/push/logic/callback.go | 1 + pkg/call_back_struct/push.go | 1 + 2 files changed, 2 insertions(+) diff --git a/internal/push/logic/callback.go b/internal/push/logic/callback.go index a7cff2c20..8ae4ad190 100644 --- a/internal/push/logic/callback.go +++ b/internal/push/logic/callback.go @@ -125,6 +125,7 @@ func callbackBeforeSuperGroupOnlinePush(operationID string, groupID string, msg SessionType: msg.SessionType, AtUserIDList: msg.AtUserIDList, Content: callback.GetContent(msg), + Seq: msg.Seq, } resp := &cbApi.CallbackBeforeSuperGroupOnlinePushResp{CommonCallbackResp: &callbackResp} if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackSuperGroupOnlinePushCommand, req, resp, config.Config.Callback.CallbackBeforeSuperGroupOnlinePush.CallbackTimeOut); err != nil { diff --git a/pkg/call_back_struct/push.go b/pkg/call_back_struct/push.go index 1fa0fbff6..b327e8d75 100644 --- a/pkg/call_back_struct/push.go +++ b/pkg/call_back_struct/push.go @@ -30,6 +30,7 @@ type CallbackBeforeSuperGroupOnlinePushReq struct { SessionType int32 `json:"sessionType"` AtUserIDList []string `json:"atUserIDList"` Content string `json:"content"` + Seq uint32 `json:"seq"` } type CallbackBeforeSuperGroupOnlinePushResp struct { From b75507396ba07e47b075bc689ee255c077be83b1 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Thu, 1 Dec 2022 19:34:54 +0800 Subject: [PATCH 040/176] EX MSG --- internal/cron_task/clear_msg.go | 41 +++++---- internal/cron_task/cron_task.go | 4 +- internal/rpc/group/group.go | 4 +- pkg/common/db/extend_msg_mongo_model.go | 111 +++++++++++++++++------ pkg/common/db/mongoModel.go | 9 +- pkg/common/db/rocks_cache/rocks_cache.go | 62 +++++++++++++ 6 files changed, 177 insertions(+), 54 deletions(-) diff --git a/internal/cron_task/clear_msg.go b/internal/cron_task/clear_msg.go index 481b3b104..c8885a9ef 100644 --- a/internal/cron_task/clear_msg.go +++ b/internal/cron_task/clear_msg.go @@ -82,7 +82,7 @@ func (d *delMsgRecursionStruct) getSetMinSeq() uint32 { // index 0....19(del) 20...69 // seq 70 // set minSeq 21 -// recursion +// recursion 删除list并且返回设置的最小seq func deleteMongoMsg(operationID string, ID string, index int64, delStruct *delMsgRecursionStruct) (uint32, error) { // find from oldest list msgs, err := db.DB.GetUserMsgListByIndex(ID, index) @@ -105,11 +105,13 @@ func deleteMongoMsg(operationID string, ID string, index int64, delStruct *delMs if len(msgs.Msg) > db.GetSingleGocMsgNum() { log.NewWarn(operationID, utils.GetSelfFuncName(), "msgs too large", len(msgs.Msg), msgs.UID) } + var hasMsgDoNotNeedDel bool for i, msg := range msgs.Msg { // 找到列表中不需要删除的消息了, 表示为递归到最后一个块 if utils.GetCurrentTimestampByMill() < msg.SendTime+(int64(config.Config.Mongo.DBRetainChatRecords)*24*60*60*1000) { log.NewDebug(operationID, ID, "find uid", msgs.UID) // 删除块失败 递归结束 返回0 + hasMsgDoNotNeedDel = true if err := delMongoMsgsPhysical(delStruct.delUidList); err != nil { return 0, err } @@ -120,7 +122,7 @@ func deleteMongoMsg(operationID string, ID string, index int64, delStruct *delMs } // 如果不是块中第一个,就把前面比他早插入的全部设置空 seq字段除外。 if i > 0 { - err = db.DB.ReplaceMsgToBlankByIndex(msgs.UID, i-1) + delStruct.minSeq, err = db.DB.ReplaceMsgToBlankByIndex(msgs.UID, i-1) if err != nil { log.NewError(operationID, utils.GetSelfFuncName(), err.Error(), msgs.UID, i) return delStruct.getSetMinSeq(), utils.Wrap(err, "") @@ -128,6 +130,10 @@ func deleteMongoMsg(operationID string, ID string, index int64, delStruct *delMs } // 递归结束 return msgPb.Seq, nil + } else { + if !msgListIsFull(msgs) { + + } } } // 该列表中消息全部为老消息并且列表满了, 加入删除列表继续递归 @@ -141,14 +147,24 @@ func deleteMongoMsg(operationID string, ID string, index int64, delStruct *delMs if msgListIsFull(msgs) { log.NewDebug(operationID, "msg list is full", msgs.UID) delStruct.delUidList = append(delStruct.delUidList, msgs.UID) + } else { + // 列表没有满且没有不需要被删除的消息 代表他是最新的消息块 + if !hasMsgDoNotNeedDel { + delStruct.minSeq, err = db.DB.ReplaceMsgToBlankByIndex(msgs.UID, len(msgs.Msg)-1) + if err != nil { + log.NewError(operationID, utils.GetSelfFuncName(), err.Error(), msgs.UID, "Index:", len(msgs.Msg)-1) + err = delMongoMsgsPhysical(delStruct.delUidList) + if err != nil { + return delStruct.getSetMinSeq(), err + } + return delStruct.getSetMinSeq(), nil + } + } } - log.NewDebug(operationID, ID, "continue", delStruct) + log.NewDebug(operationID, ID, "continue to", delStruct) // 继续递归 index+1 seq, err := deleteMongoMsg(operationID, ID, index+1, delStruct) - if err != nil { - return seq, utils.Wrap(err, "deleteMongoMsg failed") - } - return seq, nil + return seq, utils.Wrap(err, "deleteMongoMsg failed") } func msgListIsFull(chat *db.UserChat) bool { @@ -164,18 +180,11 @@ func msgListIsFull(chat *db.UserChat) bool { return false } -func CheckGroupUserMinSeq(operationID, groupID, userID string, diffusionType int) error { +func CheckGroupUserMinSeq(operationID, groupID, userID string) error { return nil } -func CheckUserMinSeqWithMongo(operationID, userID string, diffusionType int) error { - //var seqRedis uint64 - //var err error - //if diffusionType == constant.WriteDiffusion { - // seqRedis, err = db.DB.GetUserMinSeq(ID) - //} else { - // seqRedis, err = db.DB.GetGroupUserMinSeq(ID) - //} +func CheckUserMinSeqWithMongo(operationID, userID string) error { return nil } diff --git a/internal/cron_task/cron_task.go b/internal/cron_task/cron_task.go index f08cc3db4..9e4bcbfd4 100644 --- a/internal/cron_task/cron_task.go +++ b/internal/cron_task/cron_task.go @@ -77,7 +77,7 @@ func StartClearMsg(operationID string, userIDList []string) { if err := checkMaxSeqWithMongo(operationID, userID, constant.WriteDiffusion); err != nil { log.NewError(operationID, utils.GetSelfFuncName(), userID, err) } - if err := CheckUserMinSeqWithMongo(operationID, userID, constant.WriteDiffusion); err != nil { + if err := CheckUserMinSeqWithMongo(operationID, userID); err != nil { log.NewError(operationID, utils.GetSelfFuncName(), userID, err) } } @@ -99,7 +99,7 @@ func StartClearWorkingGroupMsg(operationID string, workingGroupIDList []string) log.NewError(operationID, utils.GetSelfFuncName(), groupID, err) } for _, userID := range userIDList { - if err := CheckGroupUserMinSeq(operationID, groupID, userID, constant.ReadDiffusion); err != nil { + if err := CheckGroupUserMinSeq(operationID, groupID, userID); err != nil { log.NewError(operationID, utils.GetSelfFuncName(), groupID, err) } } diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index 4945bed83..ce83fa14f 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -178,13 +178,13 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupR utils.CopyStructFields(&groupMember, us) callbackResp := CallbackBeforeMemberJoinGroup(req.OperationID, &groupMember, groupInfo.Ex) if callbackResp.ErrCode != 0 { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "callbackBeforeSendSingleMsg resp: ", callbackResp) + log.NewError(req.OperationID, utils.GetSelfFuncName(), "CallbackBeforeMemberJoinGroup resp: ", callbackResp) } if callbackResp.ActionCode != constant.ActionAllow { if callbackResp.ErrCode == 0 { callbackResp.ErrCode = 201 } - log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "callbackBeforeSendSingleMsg result", "end rpc and return", callbackResp) + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CallbackBeforeMemberJoinGroup result", "end rpc and return", callbackResp) return &pbGroup.CreateGroupResp{ ErrCode: int32(callbackResp.ErrCode), ErrMsg: callbackResp.ErrMsg, diff --git a/pkg/common/db/extend_msg_mongo_model.go b/pkg/common/db/extend_msg_mongo_model.go index 1edc5cc25..551009e07 100644 --- a/pkg/common/db/extend_msg_mongo_model.go +++ b/pkg/common/db/extend_msg_mongo_model.go @@ -1,8 +1,17 @@ package db +import ( + "Open_IM/pkg/common/config" + "context" + "strconv" + "time" +) + +const cExtendMsgSet = "extend_msg_set" + type ExtendMsgSet struct { ID string `bson:"id" json:"ID"` - ExtendMsg []*ExtendMsg `bson:"extend_msg" json:"extendMsg"` + ExtendMsgs []*ExtendMsg `bson:"extend_msg" json:"extendMsg"` LatestUpdateTime int32 `bson:"latest_update_time" json:"latestUpdateTime"` AttachedInfo string `bson:"attached_info" json:"attachedInfo"` Ex string `bson:"ex" json:"ex"` @@ -10,40 +19,82 @@ type ExtendMsgSet struct { CreateTime int32 `bson:"create_time" json:"createTime"` } +type ReactionExtendMsgSet struct { + TypeKey string `bson:"type_key" json:"typeKey"` + Value string `bson:"value" json:"value"` +} + type ExtendMsg struct { - SendID string `bson:"send_id" json:"sendID"` - ServerMsgID string `bson:"server_msg_id" json:"serverMsgID"` - Ex string `bson:"ex" json:"ex"` - AttachedInfo string `bson:"attached_info" json:"attachedInfo"` - LikeUserIDList []string `bson:"like_user_id_list" json:"likeUserIDList"` - Content string `bson:"content" json:"content"` - ExtendMsgComments []*ExtendMsgComment `bson:"extend_msg_comments" json:"extendMsgComment"` - Vote *Vote `bson:"vote" json:"vote"` - Urls []string `bson:"urls" json:"urls"` - CreateTime int32 `bson:"create_time" json:"createTime"` + Content []*ReactionExtendMsgSet `bson:"content" json:"content"` + ClientMsgID string `bson:"client_msg_id" json:"clientMsgID"` + CreateTime int32 `bson:"create_time" json:"createTime"` } -type Vote struct { - Content string `bson:"content" json:"content"` - AttachedInfo string `bson:"attached_info" json:"attachedInfo"` - Ex string `bson:"ex" json:"ex"` - Options []*Options `bson:"options" json:"options"` +//type Vote struct { +// Content string `bson:"content" json:"content"` +// AttachedInfo string `bson:"attached_info" json:"attachedInfo"` +// Ex string `bson:"ex" json:"ex"` +// Options []*Options `bson:"options" json:"options"` +//} +// +//type Options struct { +// Content string `bson:"content" json:"content"` +// AttachedInfo string `bson:"attached_info" json:"attachedInfo"` +// Ex string `bson:"ex" json:"ex"` +// VoteUserIDList []string `bson:"vote_user_id_list" json:"voteUserIDList"` +//} +// +//type ExtendMsgComment struct { +// UserID string `bson:"user_id" json:"userID"` +// ReplyUserID string `bson:"reply_user_id" json:"replyUserID"` +// ReplyContentID string `bson:"reply_content_id" json:"replyContentID"` +// ContentID string `bson:"content_id" json:"contentID"` +// Content string `bson:"content" json:"content"` +// CreateTime int32 `bson:"create_time" json:"createTime"` +// AttachedInfo string `bson:"attached_info" json:"attachedInfo"` +// Ex string `bson:"ex" json:"ex"` +//} + +func GetExtendMsgSetID(ID string, index int32) string { + return ID + ":" + strconv.Itoa(int(index)) } -type Options struct { - Content string `bson:"content" json:"content"` - AttachedInfo string `bson:"attached_info" json:"attachedInfo"` - Ex string `bson:"ex" json:"ex"` - VoteUserIDList []string `bson:"vote_user_id_list" json:"voteUserIDList"` +func (d *DataBases) CreateExtendMsgSet(set *ExtendMsgSet) error { + ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) + c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) + _, err := c.InsertOne(ctx, set) + return err } -type ExtendMsgComment struct { - UserID string `bson:"user_id" json:"userID"` - ReplyUserID string `bson:"reply_user_id" json:"replyUserID"` - ReplyContentID string `bson:"reply_content_id" json:"replyContentID"` - ContentID string `bson:"content_id" json:"contentID"` - Content string `bson:"content" json:"content"` - CreateTime int32 `bson:"create_time" json:"createTime"` - AttachedInfo string `bson:"attached_info" json:"attachedInfo"` - Ex string `bson:"ex" json:"ex"` +func (d *DataBases) GetAllExtendMsgSet(ID string) ([]*ExtendMsgSet, error) { + //ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) + //c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) + +} + +type GetExtendMsgSetOpts struct { + IncludeExtendMsgs bool +} + +func (d *DataBases) GetExtendMsgSet(ID string, index int32, opts *GetExtendMsgSetOpts) (*ExtendMsgSet, error) { + //ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) + //c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) +} + +func (d *DataBases) InsertExtendMsg(ID string, msg *ExtendMsg) error { + //ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) + //c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) + return nil +} + +func (d *DataBases) UpdateOneExtendMsgSet(ID string, index, MsgIndex int32, msg *ExtendMsg, msgSet *ExtendMsgSet) error { + //ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) + //c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) + return nil +} + +func (d *DataBases) GetExtendMsgList(ID string, index, msgStartIndex, msgEndIndex int32) ([]*ExtendMsgSet, error) { + //ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) + //c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) + return nil, nil } diff --git a/pkg/common/db/mongoModel.go b/pkg/common/db/mongoModel.go index 5bd96032e..8ae026522 100644 --- a/pkg/common/db/mongoModel.go +++ b/pkg/common/db/mongoModel.go @@ -291,13 +291,13 @@ func (d *DataBases) DelMongoMsgs(IDList []string) error { return err } -func (d *DataBases) ReplaceMsgToBlankByIndex(suffixID string, index int) error { +func (d *DataBases) ReplaceMsgToBlankByIndex(suffixID string, index int) (replaceMaxSeq uint32, err error) { ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cChat) userChat := &UserChat{} - err := c.FindOne(ctx, bson.M{"uid": suffixID}).Decode(&userChat) + err = c.FindOne(ctx, bson.M{"uid": suffixID}).Decode(&userChat) if err != nil { - return err + return 0, err } for i, msg := range userChat.Msg { if i <= index { @@ -312,10 +312,11 @@ func (d *DataBases) ReplaceMsgToBlankByIndex(suffixID string, index int) error { } msg.Msg = bytes msg.SendTime = 0 + replaceMaxSeq = msgPb.Seq } } _, err = c.UpdateOne(ctx, bson.M{"uid": suffixID}, bson.M{"$set": bson.M{"msg": userChat.Msg}}) - return err + return replaceMaxSeq, err } func (d *DataBases) GetNewestMsg(ID string) (msg *open_im_sdk.MsgData, err error) { diff --git a/pkg/common/db/rocks_cache/rocks_cache.go b/pkg/common/db/rocks_cache/rocks_cache.go index cda798100..e95557ad3 100644 --- a/pkg/common/db/rocks_cache/rocks_cache.go +++ b/pkg/common/db/rocks_cache/rocks_cache.go @@ -33,6 +33,8 @@ const ( groupMemberNumCache = "GROUP_MEMBER_NUM_CACHE:" conversationCache = "CONVERSATION_CACHE:" conversationIDListCache = "CONVERSATION_ID_LIST_CACHE:" + extendMsgSetCache = "EXTEND_MSG_SET_CACHE:" + extendMsgCache = "EXTEND_MSG_CACHE:" ) func DelKeys() { @@ -564,3 +566,63 @@ func GetUserAllConversationList(ownerUserID string) ([]db.Conversation, error) { func DelConversationFromCache(ownerUserID, conversationID string) error { return utils.Wrap(db.DB.Rc.TagAsDeleted(conversationCache+ownerUserID+":"+conversationID), "DelConversationFromCache err") } + +func GetExtendMsgSetFromCache(ID string, index int32) (*db.ExtendMsgSet, error) { + getExtendMsgSet := func() (string, error) { + extendMsgSet, err := db.DB.GetExtendMsgSet(ID, index, &db.GetExtendMsgSetOpts{IncludeExtendMsgs: false}) + if err != nil { + return "", utils.Wrap(err, "GetExtendMsgSet failed") + } + bytes, err := json.Marshal(extendMsgSet) + if err != nil { + return "", utils.Wrap(err, "Marshal failed") + } + return string(bytes), nil + } + extendMsgSetStr, err := db.DB.Rc.Fetch(extendMsgSetCache+db.GetExtendMsgSetID(ID, index), time.Second*30*60, getExtendMsgSet) + if err != nil { + return nil, utils.Wrap(err, "Fetch failed") + } + extendMsgSet := &db.ExtendMsgSet{} + err = json.Unmarshal([]byte(extendMsgSetStr), extendMsgSet) + if err != nil { + return nil, utils.Wrap(err, "Unmarshal failed") + } + return extendMsgSet, nil +} + +func DelExtendMsgSetFromCache(ID string, index int32) error { + return utils.Wrap(db.DB.Rc.TagAsDeleted(extendMsgSetCache+db.GetExtendMsgSetID(ID, index)), "DelExtendMsgSetFromCache err") +} + +func GetExtendMsg(ID string, index, extendMsgIndex int32) (*db.ExtendMsg, error) { + getExtendMsg := func() (string, error) { + extendMsg, err := db.DB.GetExtendMsgList(ID, index, extendMsgIndex, extendMsgIndex+1) + if err != nil { + return "", utils.Wrap(err, "GetExtendMsgList failed") + } + if len(extendMsg) == 0 { + return "", nil + } + bytes, err := json.Marshal(extendMsg[0]) + if err != nil { + return "", utils.Wrap(err, "Marshal failed") + } + return string(bytes), nil + } + + extendMsgStr, err := db.DB.Rc.Fetch(extendMsgCache+db.GetExtendMsgSetID(ID, index)+":"+strconv.Itoa(int(extendMsgIndex)), time.Second*30*60, getExtendMsg) + if err != nil { + return nil, utils.Wrap(err, "Fetch failed") + } + extendMsg := &db.ExtendMsg{} + err = json.Unmarshal([]byte(extendMsgStr), extendMsg) + if err != nil { + return nil, utils.Wrap(err, "Unmarshal failed") + } + return extendMsg, nil +} + +func DelExtendMsg(ID string, index, extendMsgIndex int32) error { + return utils.Wrap(db.DB.Rc.TagAsDeleted(extendMsgCache+db.GetExtendMsgSetID(ID, index)+":"+strconv.Itoa(int(extendMsgIndex))), "DelExtendMsg err") +} From df78d87ec51dab100badc86db54bf3df75560a85 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 2 Dec 2022 16:40:11 +0800 Subject: [PATCH 041/176] ex msg --- internal/cron_task/clear_msg.go | 2 +- pkg/common/db/extend_msg_mongo_model.go | 85 ++++++++++++------------- pkg/utils/strings.go | 2 + 3 files changed, 43 insertions(+), 46 deletions(-) diff --git a/internal/cron_task/clear_msg.go b/internal/cron_task/clear_msg.go index c8885a9ef..d51e798de 100644 --- a/internal/cron_task/clear_msg.go +++ b/internal/cron_task/clear_msg.go @@ -54,7 +54,7 @@ func DeleteMongoMsgAndResetRedisSeq(operationID, userID string) error { if minSeq == 0 { return nil } - log.NewDebug(operationID, utils.GetSelfFuncName(), "delMsgIDMap: ", delStruct, "minSeq", minSeq) + log.NewDebug(operationID, utils.GetSelfFuncName(), "delMsgIDStruct: ", delStruct, "minSeq", minSeq) err = db.DB.SetUserMinSeq(userID, minSeq) return utils.Wrap(err, "") } diff --git a/pkg/common/db/extend_msg_mongo_model.go b/pkg/common/db/extend_msg_mongo_model.go index 551009e07..18cf7c348 100644 --- a/pkg/common/db/extend_msg_mongo_model.go +++ b/pkg/common/db/extend_msg_mongo_model.go @@ -2,19 +2,24 @@ package db import ( "Open_IM/pkg/common/config" + "Open_IM/pkg/utils" "context" + "fmt" + "go.mongodb.org/mongo-driver/bson/primitive" "strconv" "time" + + "go.mongodb.org/mongo-driver/bson" ) const cExtendMsgSet = "extend_msg_set" type ExtendMsgSet struct { ID string `bson:"id" json:"ID"` - ExtendMsgs []*ExtendMsg `bson:"extend_msg" json:"extendMsg"` + ExtendMsgs []*ExtendMsg `bson:"extend_msgs" json:"extendMsgs"` LatestUpdateTime int32 `bson:"latest_update_time" json:"latestUpdateTime"` - AttachedInfo string `bson:"attached_info" json:"attachedInfo"` - Ex string `bson:"ex" json:"ex"` + AttachedInfo *string `bson:"attached_info" json:"attachedInfo"` + Ex *string `bson:"ex" json:"ex"` ExtendMsgNum int32 `bson:"extend_msg_num" json:"extendMsgNum"` CreateTime int32 `bson:"create_time" json:"createTime"` } @@ -30,31 +35,6 @@ type ExtendMsg struct { CreateTime int32 `bson:"create_time" json:"createTime"` } -//type Vote struct { -// Content string `bson:"content" json:"content"` -// AttachedInfo string `bson:"attached_info" json:"attachedInfo"` -// Ex string `bson:"ex" json:"ex"` -// Options []*Options `bson:"options" json:"options"` -//} -// -//type Options struct { -// Content string `bson:"content" json:"content"` -// AttachedInfo string `bson:"attached_info" json:"attachedInfo"` -// Ex string `bson:"ex" json:"ex"` -// VoteUserIDList []string `bson:"vote_user_id_list" json:"voteUserIDList"` -//} -// -//type ExtendMsgComment struct { -// UserID string `bson:"user_id" json:"userID"` -// ReplyUserID string `bson:"reply_user_id" json:"replyUserID"` -// ReplyContentID string `bson:"reply_content_id" json:"replyContentID"` -// ContentID string `bson:"content_id" json:"contentID"` -// Content string `bson:"content" json:"content"` -// CreateTime int32 `bson:"create_time" json:"createTime"` -// AttachedInfo string `bson:"attached_info" json:"attachedInfo"` -// Ex string `bson:"ex" json:"ex"` -//} - func GetExtendMsgSetID(ID string, index int32) string { return ID + ":" + strconv.Itoa(int(index)) } @@ -66,10 +46,19 @@ func (d *DataBases) CreateExtendMsgSet(set *ExtendMsgSet) error { return err } -func (d *DataBases) GetAllExtendMsgSet(ID string) ([]*ExtendMsgSet, error) { - //ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) - //c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) - +func (d *DataBases) GetAllExtendMsgSet(ID string) (sets []*ExtendMsgSet, err error) { + ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) + c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) + regex := fmt.Sprintf("^%s", ID) + cursor, err := c.Find(ctx, bson.M{"uid": primitive.Regex{Pattern: regex}}) + if err != nil { + return nil, utils.Wrap(err, "") + } + err = cursor.All(context.Background(), &sets) + if err != nil { + return nil, utils.Wrap(err, fmt.Sprintf("cursor is %s", cursor.Current.String())) + } + return sets, nil } type GetExtendMsgSetOpts struct { @@ -77,24 +66,30 @@ type GetExtendMsgSetOpts struct { } func (d *DataBases) GetExtendMsgSet(ID string, index int32, opts *GetExtendMsgSetOpts) (*ExtendMsgSet, error) { - //ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) - //c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) + ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) + c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) + var set ExtendMsgSet + err := c.FindOne(ctx, bson.M{"uid": GetExtendMsgSetID(ID, index)}).Decode(&set) + return &set, err } -func (d *DataBases) InsertExtendMsg(ID string, msg *ExtendMsg) error { - //ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) - //c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) - return nil +func (d *DataBases) InsertExtendMsg(ID string, index int32, msg *ExtendMsg) error { + ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) + c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) + _, err := c.UpdateOne(ctx, bson.M{"uid": GetExtendMsgSetID(ID, index)}, bson.M{"$set": bson.M{"create_time": utils.GetCurrentTimestampBySecond(), "$inc": bson.M{"extend_msg_num": 1}, "$push": bson.M{"extend_msgs": msg}}}) + return err } func (d *DataBases) UpdateOneExtendMsgSet(ID string, index, MsgIndex int32, msg *ExtendMsg, msgSet *ExtendMsgSet) error { - //ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) - //c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) - return nil + ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) + c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) + _, err := c.UpdateOne(ctx, bson.M{"uid": GetExtendMsgSetID(ID, index)}, bson.M{}) + return err } -func (d *DataBases) GetExtendMsgList(ID string, index, msgStartIndex, msgEndIndex int32) ([]*ExtendMsgSet, error) { - //ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) - //c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) - return nil, nil +func (d *DataBases) GetExtendMsgList(ID string, index, msgStartIndex, msgEndIndex int32) (extendMsgList []*ExtendMsg, err error) { + ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) + c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) + err = c.FindOne(ctx, bson.M{"uid": GetExtendMsgSetID(ID, index)}).Decode(&extendMsgList) + return extendMsgList, err } diff --git a/pkg/utils/strings.go b/pkg/utils/strings.go index 203af2708..f611f1a35 100644 --- a/pkg/utils/strings.go +++ b/pkg/utils/strings.go @@ -96,6 +96,8 @@ func GetConversationIDBySessionType(sourceID string, sessionType int) string { return "single_" + sourceID case constant.GroupChatType: return "group_" + sourceID + case constant.SuperGroupChatType: + return "super_group_" + sourceID case constant.NotificationChatType: return "notification_" + sourceID } From a499112ecee115a4e6466e81f9a6316043ba2ca3 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 2 Dec 2022 17:27:12 +0800 Subject: [PATCH 042/176] group admin send mute msg --- internal/rpc/msg/send_msg.go | 51 ++++++++++++++++++++---------------- 1 file changed, 29 insertions(+), 22 deletions(-) diff --git a/internal/rpc/msg/send_msg.go b/internal/rpc/msg/send_msg.go index e712afcfd..269758dc6 100644 --- a/internal/rpc/msg/send_msg.go +++ b/internal/rpc/msg/send_msg.go @@ -96,15 +96,16 @@ func isMessageHasReadEnabled(pb *pbChat.SendMsgReq) (bool, int32, string) { return true, 0, "" } -func userIsMuteInGroup(groupID, userID string) (bool, error) { +func userIsMuteAndIsAdminInGroup(groupID, userID string) (isMute bool, isAdmin bool, err error) { groupMemberInfo, err := rocksCache.GetGroupMemberInfoFromCache(groupID, userID) if err != nil { - return false, utils.Wrap(err, "") + return false, false, utils.Wrap(err, "") } + if groupMemberInfo.MuteEndTime.Unix() >= time.Now().Unix() { - return true, nil + return true, groupMemberInfo.RoleLevel > constant.GroupOrdinaryUsers, nil } - return false, nil + return false, groupMemberInfo.RoleLevel > constant.GroupOrdinaryUsers, nil } func groupIsMuted(groupID string) (bool, error) { @@ -193,15 +194,7 @@ func (rpc *rpcChat) messageVerification(data *pbChat.SendMsgReq) (bool, int32, s return false, 202, "you are not in group", nil } } - isMute, err := groupIsMuted(data.MsgData.GroupID) - if err != nil { - errMsg := data.OperationID + err.Error() - return false, 223, errMsg, nil - } - if isMute { - return false, 225, "group id muted", nil - } - isMute, err = userIsMuteInGroup(data.MsgData.GroupID, data.MsgData.SendID) + isMute, isAdmin, err := userIsMuteAndIsAdminInGroup(data.MsgData.GroupID, data.MsgData.SendID) if err != nil { errMsg := data.OperationID + err.Error() return false, 223, errMsg, nil @@ -209,6 +202,17 @@ func (rpc *rpcChat) messageVerification(data *pbChat.SendMsgReq) (bool, int32, s if isMute { return false, 224, "you are muted", nil } + if isAdmin { + return true, 0, "", userIDList + } + isMute, err = groupIsMuted(data.MsgData.GroupID) + if err != nil { + errMsg := data.OperationID + err.Error() + return false, 223, errMsg, nil + } + if isMute { + return false, 225, "group id muted", nil + } return true, 0, "", userIDList case constant.SuperGroupChatType: groupInfo, err := rocksCache.GetGroupInfoFromCache(data.MsgData.GroupID) @@ -264,15 +268,7 @@ func (rpc *rpcChat) messageVerification(data *pbChat.SendMsgReq) (bool, int32, s return false, 202, "you are not in group", nil } } - isMute, err := groupIsMuted(data.MsgData.GroupID) - if err != nil { - errMsg := data.OperationID + err.Error() - return false, 223, errMsg, nil - } - if isMute { - return false, 225, "group id muted", nil - } - isMute, err = userIsMuteInGroup(data.MsgData.GroupID, data.MsgData.SendID) + isMute, isAdmin, err := userIsMuteAndIsAdminInGroup(data.MsgData.GroupID, data.MsgData.SendID) if err != nil { errMsg := data.OperationID + err.Error() return false, 223, errMsg, nil @@ -280,6 +276,17 @@ func (rpc *rpcChat) messageVerification(data *pbChat.SendMsgReq) (bool, int32, s if isMute { return false, 224, "you are muted", nil } + if isAdmin { + return true, 0, "", userIDList + } + isMute, err = groupIsMuted(data.MsgData.GroupID) + if err != nil { + errMsg := data.OperationID + err.Error() + return false, 223, errMsg, nil + } + if isMute { + return false, 225, "group id muted", nil + } return true, 0, "", userIDList } default: From f6533b2ca48a741fb03a8ebbbc308ff5b521e4e0 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 2 Dec 2022 18:39:15 +0800 Subject: [PATCH 043/176] group admin send mute msg --- internal/rpc/group/group.go | 130 +++++++++++++++++++----------------- 1 file changed, 70 insertions(+), 60 deletions(-) diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index ce83fa14f..0ee490023 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -450,66 +450,6 @@ func (s *groupServer) InviteUserToGroup(ctx context.Context, req *pbGroup.Invite } resp.Id2ResultList = append(resp.Id2ResultList, &resultNode) } - var haveConUserID []string - conversations, err := imdb.GetConversationsByConversationIDMultipleOwner(okUserIDList, utils.GetConversationIDBySessionType(req.GroupID, constant.GroupChatType)) - if err != nil { - log.NewError(req.OperationID, "GetConversationsByConversationIDMultipleOwner failed ", err.Error(), req.GroupID, constant.GroupChatType) - } - for _, v := range conversations { - haveConUserID = append(haveConUserID, v.OwnerUserID) - } - var reqPb pbUser.SetConversationReq - var c pbConversation.Conversation - for _, v := range conversations { - reqPb.OperationID = req.OperationID - c.OwnerUserID = v.OwnerUserID - c.ConversationID = utils.GetConversationIDBySessionType(req.GroupID, constant.GroupChatType) - c.RecvMsgOpt = v.RecvMsgOpt - c.ConversationType = constant.GroupChatType - c.GroupID = req.GroupID - c.IsPinned = v.IsPinned - c.AttachedInfo = v.AttachedInfo - c.IsPrivateChat = v.IsPrivateChat - c.GroupAtType = v.GroupAtType - c.IsNotInGroup = false - c.Ex = v.Ex - reqPb.Conversation = &c - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImUserName, req.OperationID) - if etcdConn == nil { - errMsg := req.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(req.OperationID, errMsg) - return &pbGroup.InviteUserToGroupResp{ErrCode: constant.ErrInternal.ErrCode, ErrMsg: errMsg}, nil - } - client := pbUser.NewUserClient(etcdConn) - respPb, err := client.SetConversation(context.Background(), &reqPb) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "SetConversation rpc failed, ", reqPb.String(), err.Error(), v.OwnerUserID) - } else { - log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "SetConversation success", respPb.String(), v.OwnerUserID) - } - } - for _, v := range utils.DifferenceString(haveConUserID, okUserIDList) { - reqPb.OperationID = req.OperationID - c.OwnerUserID = v - c.ConversationID = utils.GetConversationIDBySessionType(req.GroupID, constant.GroupChatType) - c.ConversationType = constant.GroupChatType - c.GroupID = req.GroupID - c.IsNotInGroup = false - reqPb.Conversation = &c - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImUserName, req.OperationID) - if etcdConn == nil { - errMsg := req.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(req.OperationID, errMsg) - return &pbGroup.InviteUserToGroupResp{ErrCode: constant.ErrInternal.ErrCode, ErrMsg: errMsg}, nil - } - client := pbUser.NewUserClient(etcdConn) - respPb, err := client.SetConversation(context.Background(), &reqPb) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "SetConversation rpc failed, ", reqPb.String(), err.Error(), v) - } else { - log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "SetConversation success", respPb.String(), v) - } - } } else { okUserIDList = req.InvitedUserIDList if err := db.DB.AddUserToSuperGroup(req.GroupID, req.InvitedUserIDList); err != nil { @@ -517,6 +457,76 @@ func (s *groupServer) InviteUserToGroup(ctx context.Context, req *pbGroup.Invite return &pbGroup.InviteUserToGroupResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: err.Error()}, nil } } + + // set conversations + var haveConUserID []string + var sessionType int + if groupInfo.GroupType == constant.NormalGroup { + sessionType = constant.GroupChatType + } else { + sessionType = constant.SuperGroupChatType + } + conversations, err := imdb.GetConversationsByConversationIDMultipleOwner(okUserIDList, utils.GetConversationIDBySessionType(req.GroupID, sessionType)) + if err != nil { + log.NewError(req.OperationID, "GetConversationsByConversationIDMultipleOwner failed ", err.Error(), req.GroupID, constant.GroupChatType) + } + for _, v := range conversations { + haveConUserID = append(haveConUserID, v.OwnerUserID) + } + var reqPb pbUser.SetConversationReq + var c pbConversation.Conversation + for _, v := range conversations { + reqPb.OperationID = req.OperationID + c.OwnerUserID = v.OwnerUserID + c.ConversationID = utils.GetConversationIDBySessionType(req.GroupID, constant.GroupChatType) + c.RecvMsgOpt = v.RecvMsgOpt + c.ConversationType = constant.GroupChatType + c.GroupID = req.GroupID + c.IsPinned = v.IsPinned + c.AttachedInfo = v.AttachedInfo + c.IsPrivateChat = v.IsPrivateChat + c.GroupAtType = v.GroupAtType + c.IsNotInGroup = false + c.Ex = v.Ex + reqPb.Conversation = &c + etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImUserName, req.OperationID) + if etcdConn == nil { + errMsg := req.OperationID + "getcdv3.GetDefaultConn == nil" + log.NewError(req.OperationID, errMsg) + return &pbGroup.InviteUserToGroupResp{ErrCode: constant.ErrInternal.ErrCode, ErrMsg: errMsg}, nil + } + client := pbUser.NewUserClient(etcdConn) + respPb, err := client.SetConversation(context.Background(), &reqPb) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "SetConversation rpc failed, ", reqPb.String(), err.Error(), v.OwnerUserID) + } else { + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "SetConversation success", respPb.String(), v.OwnerUserID) + } + } + for _, v := range utils.DifferenceString(haveConUserID, okUserIDList) { + reqPb.OperationID = req.OperationID + c.OwnerUserID = v + c.ConversationID = utils.GetConversationIDBySessionType(req.GroupID, constant.GroupChatType) + c.ConversationType = constant.GroupChatType + c.GroupID = req.GroupID + c.IsNotInGroup = false + c.UpdateUnreadCountTime = utils.GetCurrentTimestampByMill() + reqPb.Conversation = &c + etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImUserName, req.OperationID) + if etcdConn == nil { + errMsg := req.OperationID + "getcdv3.GetDefaultConn == nil" + log.NewError(req.OperationID, errMsg) + return &pbGroup.InviteUserToGroupResp{ErrCode: constant.ErrInternal.ErrCode, ErrMsg: errMsg}, nil + } + client := pbUser.NewUserClient(etcdConn) + respPb, err := client.SetConversation(context.Background(), &reqPb) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "SetConversation rpc failed, ", reqPb.String(), err.Error(), v) + } else { + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "SetConversation success", respPb.String(), v) + } + } + if groupInfo.GroupType != constant.SuperGroup { chat.MemberInvitedNotification(req.OperationID, req.GroupID, req.OpUserID, req.Reason, okUserIDList) } else { From b2be663ba61ef20f888dbbe8ba9de010056421f7 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 5 Dec 2022 11:30:54 +0800 Subject: [PATCH 044/176] conversation --- internal/rpc/group/group.go | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index 0ee490023..76fc04c8e 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -506,7 +506,7 @@ func (s *groupServer) InviteUserToGroup(ctx context.Context, req *pbGroup.Invite for _, v := range utils.DifferenceString(haveConUserID, okUserIDList) { reqPb.OperationID = req.OperationID c.OwnerUserID = v - c.ConversationID = utils.GetConversationIDBySessionType(req.GroupID, constant.GroupChatType) + c.ConversationID = utils.GetConversationIDBySessionType(req.GroupID, sessionType) c.ConversationType = constant.GroupChatType c.GroupID = req.GroupID c.IsNotInGroup = false @@ -1022,6 +1022,30 @@ func (s *groupServer) JoinGroup(ctx context.Context, req *pbGroup.JoinGroupReq) log.NewError(req.OperationID, "InsertIntoGroupMember failed ", err.Error(), groupMember) return &pbGroup.JoinGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil } + //} + var reqPb pbUser.SetConversationReq + var c pbConversation.Conversation + reqPb.OperationID = req.OperationID + c.OwnerUserID = req.OpUserID + c.ConversationID = utils.GetConversationIDBySessionType(req.GroupID, constant.GroupChatType) + c.ConversationType = constant.GroupChatType + c.GroupID = req.GroupID + c.IsNotInGroup = false + c.UpdateUnreadCountTime = utils.GetCurrentTimestampByMill() + reqPb.Conversation = &c + etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImUserName, req.OperationID) + if etcdConn == nil { + errMsg := req.OperationID + "getcdv3.GetDefaultConn == nil" + log.NewError(req.OperationID, errMsg) + return &pbGroup.JoinGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: 0, ErrMsg: errMsg}}, nil + } + client := pbUser.NewUserClient(etcdConn) + respPb, err := client.SetConversation(context.Background(), &reqPb) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "SetConversation rpc failed, ", reqPb.String(), err.Error(), v) + } else { + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "SetConversation success", respPb.String(), v) + } chat.MemberEnterDirectlyNotification(req.GroupID, req.OpUserID, req.OperationID) log.NewInfo(req.OperationID, "JoinGroup rpc return ") @@ -1045,7 +1069,7 @@ func (s *groupServer) JoinGroup(ctx context.Context, req *pbGroup.JoinGroupReq) //if err != nil { // log.NewError(req.OperationID, "GetGroupMemberListByGroupIDAndRoleLevel failed ", err.Error(), req.GroupID, constant.GroupOwner) // return &pbGroup.JoinGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}}, nil - //} + chat.JoinGroupApplicationNotification(req) log.NewInfo(req.OperationID, "JoinGroup rpc return ") return &pbGroup.JoinGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}}, nil From 71c836ae1a1fc772688b15bf085a22b7733f182f Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 5 Dec 2022 14:53:16 +0800 Subject: [PATCH 045/176] ws --- internal/msg_gateway/gate/callback.go | 11 ++++++----- internal/msg_gateway/gate/logic.go | 14 +++++++++++--- internal/msg_gateway/gate/ws_server.go | 4 ++-- pkg/call_back_struct/msg_gateway.go | 9 +++++---- pkg/common/db/extend_msg_mongo_model.go | 8 +++++--- pkg/proto/msg/msg.proto | 1 - 6 files changed, 29 insertions(+), 18 deletions(-) diff --git a/internal/msg_gateway/gate/callback.go b/internal/msg_gateway/gate/callback.go index 7f9cb4911..b2f15035e 100644 --- a/internal/msg_gateway/gate/callback.go +++ b/internal/msg_gateway/gate/callback.go @@ -9,7 +9,7 @@ import ( "time" ) -func callbackUserOnline(operationID, userID string, platformID int, token string, isAppBackground bool) cbApi.CommonCallbackResp { +func callbackUserOnline(operationID, userID string, platformID int, token string, isAppBackgroundStatusChanged bool) cbApi.CommonCallbackResp { callbackResp := cbApi.CommonCallbackResp{OperationID: operationID} if !config.Config.Callback.CallbackUserOnline.Enable { return callbackResp @@ -25,8 +25,8 @@ func callbackUserOnline(operationID, userID string, platformID int, token string }, UserID: userID, }, - Seq: int(time.Now().UnixNano() / 1e6), - IsAppBackground: isAppBackground, + Seq: int(time.Now().UnixNano() / 1e6), + IsAppBackgroundStatusChanged: isAppBackgroundStatusChanged, } callbackUserOnlineResp := &cbApi.CallbackUserOnlineResp{CommonCallbackResp: &callbackResp} if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackUserOnlineCommand, callbackUserOnlineReq, callbackUserOnlineResp, config.Config.Callback.CallbackUserOnline.CallbackTimeOut); err != nil { @@ -36,7 +36,7 @@ func callbackUserOnline(operationID, userID string, platformID int, token string return callbackResp } -func callbackUserOffline(operationID, userID string, platformID int) cbApi.CommonCallbackResp { +func callbackUserOffline(operationID, userID string, platformID int, isAppBackgroundStatusChanged bool) cbApi.CommonCallbackResp { callbackResp := cbApi.CommonCallbackResp{OperationID: operationID} if !config.Config.Callback.CallbackUserOffline.Enable { return callbackResp @@ -51,7 +51,8 @@ func callbackUserOffline(operationID, userID string, platformID int) cbApi.Commo }, UserID: userID, }, - Seq: int(time.Now().UnixNano() / 1e6), + Seq: int(time.Now().UnixNano() / 1e6), + IsAppBackgroundStatusChanged: isAppBackgroundStatusChanged, } callbackUserOfflineResp := &cbApi.CallbackUserOfflineResp{CommonCallbackResp: &callbackResp} if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackUserOfflineCommand, callbackOfflineReq, callbackUserOfflineResp, config.Config.Callback.CallbackUserOffline.CallbackTimeOut); err != nil { diff --git a/internal/msg_gateway/gate/logic.go b/internal/msg_gateway/gate/logic.go index ce5bf1c7c..edf1c0c56 100644 --- a/internal/msg_gateway/gate/logic.go +++ b/internal/msg_gateway/gate/logic.go @@ -406,10 +406,18 @@ func (ws *WServer) setUserDeviceBackground(conn *UserConn, m *Req) { if isPass { req := pData.(*sdk_ws.SetAppBackgroundStatusReq) conn.IsBackground = req.IsBackground - callbackResp := callbackUserOnline(m.OperationID, conn.userID, int(conn.platformID), conn.token, conn.IsBackground) - if callbackResp.ErrCode != 0 { - log.NewError(m.OperationID, utils.GetSelfFuncName(), "callbackUserOffline failed", callbackResp) + if !conn.IsBackground { + callbackResp := callbackUserOnline(m.OperationID, conn.userID, int(conn.PlatformID), conn.token, true) + if callbackResp.ErrCode != 0 { + log.NewError(m.OperationID, utils.GetSelfFuncName(), "callbackUserOffline failed", callbackResp) + } + } else { + callbackResp := callbackUserOffline(m.OperationID, conn.userID, int(conn.PlatformID), true) + if callbackResp.ErrCode != 0 { + log.NewError(m.OperationID, utils.GetSelfFuncName(), "callbackUserOffline failed", callbackResp) + } } + log.NewInfo(m.OperationID, "SetUserDeviceBackground", "success", *conn, req.IsBackground) } ws.setUserDeviceBackgroundResp(conn, m, errCode, errMsg) diff --git a/internal/msg_gateway/gate/ws_server.go b/internal/msg_gateway/gate/ws_server.go index ad09a28b6..aa68a8e75 100644 --- a/internal/msg_gateway/gate/ws_server.go +++ b/internal/msg_gateway/gate/ws_server.go @@ -31,7 +31,7 @@ import ( type UserConn struct { *websocket.Conn w *sync.Mutex - platformID int32 + PlatformID int32 PushedMaxSeq uint32 IsCompress bool userID string @@ -386,7 +386,7 @@ func (ws *WServer) delUserConn(conn *UserConn) { if err != nil { log.Error(operationID, " close err", "", "uid", uid, "platform", platform) } - callbackResp := callbackUserOffline(operationID, conn.userID, platform) + callbackResp := callbackUserOffline(operationID, conn.userID, platform, false) if callbackResp.ErrCode != 0 { log.NewError(operationID, utils.GetSelfFuncName(), "callbackUserOffline failed", callbackResp) } diff --git a/pkg/call_back_struct/msg_gateway.go b/pkg/call_back_struct/msg_gateway.go index 954a6a3af..87d07c19f 100644 --- a/pkg/call_back_struct/msg_gateway.go +++ b/pkg/call_back_struct/msg_gateway.go @@ -2,9 +2,9 @@ package call_back_struct type CallbackUserOnlineReq struct { UserStatusCallbackReq - Token string `json:"token"` - Seq int `json:"seq"` - IsAppBackground bool `json:"isAppBackground"` + Token string `json:"token"` + Seq int `json:"seq"` + IsAppBackgroundStatusChanged bool `json:"isAppBackgroundStatusChanged"` } type CallbackUserOnlineResp struct { @@ -13,7 +13,8 @@ type CallbackUserOnlineResp struct { type CallbackUserOfflineReq struct { UserStatusCallbackReq - Seq int `json:"seq"` + Seq int `json:"seq"` + IsAppBackgroundStatusChanged bool `json:"isAppBackgroundStatusChanged"` } type CallbackUserOfflineResp struct { diff --git a/pkg/common/db/extend_msg_mongo_model.go b/pkg/common/db/extend_msg_mongo_model.go index 18cf7c348..6c9583839 100644 --- a/pkg/common/db/extend_msg_mongo_model.go +++ b/pkg/common/db/extend_msg_mongo_model.go @@ -73,11 +73,13 @@ func (d *DataBases) GetExtendMsgSet(ID string, index int32, opts *GetExtendMsgSe return &set, err } -func (d *DataBases) InsertExtendMsg(ID string, index int32, msg *ExtendMsg) error { +func (d *DataBases) InsertExtendMsg(ID string, index int32, msg *ExtendMsg) (msgIndex int32, err error) { ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) - _, err := c.UpdateOne(ctx, bson.M{"uid": GetExtendMsgSetID(ID, index)}, bson.M{"$set": bson.M{"create_time": utils.GetCurrentTimestampBySecond(), "$inc": bson.M{"extend_msg_num": 1}, "$push": bson.M{"extend_msgs": msg}}}) - return err + result := c.FindOneAndUpdate(ctx, bson.M{"uid": GetExtendMsgSetID(ID, index)}, bson.M{"$set": bson.M{"create_time": utils.GetCurrentTimestampBySecond(), "$inc": bson.M{"extend_msg_num": 1}, "$push": bson.M{"extend_msgs": msg}}}) + set := &ExtendMsgSet{} + err = result.Decode(set) + return set.ExtendMsgNum, err } func (d *DataBases) UpdateOneExtendMsgSet(ID string, index, MsgIndex int32, msg *ExtendMsg, msgSet *ExtendMsgSet) error { diff --git a/pkg/proto/msg/msg.proto b/pkg/proto/msg/msg.proto index 597dabc3a..c32a4ed47 100644 --- a/pkg/proto/msg/msg.proto +++ b/pkg/proto/msg/msg.proto @@ -166,5 +166,4 @@ service msg { rpc GetSendMsgStatus(GetSendMsgStatusReq) returns(GetSendMsgStatusResp); rpc GetSuperGroupMsg(GetSuperGroupMsgReq) returns(GetSuperGroupMsgResp); rpc GetWriteDiffMsg(GetWriteDiffMsgReq) returns(GetWriteDiffMsgResp); - } From 7c302cb19ccee1a53df341763f8e8aa9da58e1b4 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 5 Dec 2022 14:55:38 +0800 Subject: [PATCH 046/176] ws --- internal/rpc/group/group.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index 76fc04c8e..9119a207e 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -1042,9 +1042,9 @@ func (s *groupServer) JoinGroup(ctx context.Context, req *pbGroup.JoinGroupReq) client := pbUser.NewUserClient(etcdConn) respPb, err := client.SetConversation(context.Background(), &reqPb) if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "SetConversation rpc failed, ", reqPb.String(), err.Error(), v) + log.NewError(req.OperationID, utils.GetSelfFuncName(), "SetConversation rpc failed, ", reqPb.String(), err.Error()) } else { - log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "SetConversation success", respPb.String(), v) + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "SetConversation success", respPb.String()) } chat.MemberEnterDirectlyNotification(req.GroupID, req.OpUserID, req.OperationID) From 5b5abd260117f2e0bbae18b3fc79f91cc9cb986e Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 5 Dec 2022 15:49:08 +0800 Subject: [PATCH 047/176] ws --- internal/rpc/group/group.go | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index 9119a207e..c9e61bc86 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -468,7 +468,7 @@ func (s *groupServer) InviteUserToGroup(ctx context.Context, req *pbGroup.Invite } conversations, err := imdb.GetConversationsByConversationIDMultipleOwner(okUserIDList, utils.GetConversationIDBySessionType(req.GroupID, sessionType)) if err != nil { - log.NewError(req.OperationID, "GetConversationsByConversationIDMultipleOwner failed ", err.Error(), req.GroupID, constant.GroupChatType) + log.NewError(req.OperationID, "GetConversationsByConversationIDMultipleOwner failed ", err.Error(), req.GroupID, sessionType) } for _, v := range conversations { haveConUserID = append(haveConUserID, v.OwnerUserID) @@ -478,9 +478,9 @@ func (s *groupServer) InviteUserToGroup(ctx context.Context, req *pbGroup.Invite for _, v := range conversations { reqPb.OperationID = req.OperationID c.OwnerUserID = v.OwnerUserID - c.ConversationID = utils.GetConversationIDBySessionType(req.GroupID, constant.GroupChatType) + c.ConversationID = utils.GetConversationIDBySessionType(req.GroupID, sessionType) c.RecvMsgOpt = v.RecvMsgOpt - c.ConversationType = constant.GroupChatType + c.ConversationType = int32(sessionType) c.GroupID = req.GroupID c.IsPinned = v.IsPinned c.AttachedInfo = v.AttachedInfo @@ -507,7 +507,7 @@ func (s *groupServer) InviteUserToGroup(ctx context.Context, req *pbGroup.Invite reqPb.OperationID = req.OperationID c.OwnerUserID = v c.ConversationID = utils.GetConversationIDBySessionType(req.GroupID, sessionType) - c.ConversationType = constant.GroupChatType + c.ConversationType = int32(sessionType) c.GroupID = req.GroupID c.IsNotInGroup = false c.UpdateUnreadCountTime = utils.GetCurrentTimestampByMill() @@ -1023,12 +1023,19 @@ func (s *groupServer) JoinGroup(ctx context.Context, req *pbGroup.JoinGroupReq) return &pbGroup.JoinGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil } //} + + var sessionType int + if groupInfo.GroupType == constant.NormalGroup { + sessionType = constant.GroupChatType + } else { + sessionType = constant.SuperGroupChatType + } var reqPb pbUser.SetConversationReq var c pbConversation.Conversation reqPb.OperationID = req.OperationID c.OwnerUserID = req.OpUserID - c.ConversationID = utils.GetConversationIDBySessionType(req.GroupID, constant.GroupChatType) - c.ConversationType = constant.GroupChatType + c.ConversationID = utils.GetConversationIDBySessionType(req.GroupID, sessionType) + c.ConversationType = int32(sessionType) c.GroupID = req.GroupID c.IsNotInGroup = false c.UpdateUnreadCountTime = utils.GetCurrentTimestampByMill() From 5a69eb2dd3651c118642dd5919712e3dfa98ee1d Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 5 Dec 2022 16:27:01 +0800 Subject: [PATCH 048/176] group --- internal/rpc/group/group.go | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index c9e61bc86..692f2d9e7 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -891,21 +891,27 @@ func (s *groupServer) GroupApplicationResponse(_ context.Context, req *pbGroup.G log.NewError(req.OperationID, "GroupApplicationResponse failed ", err.Error(), member) return &pbGroup.GroupApplicationResponseResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil } + var sessionType int + if groupInfo.GroupType == constant.NormalGroup { + sessionType = constant.GroupChatType + } else { + sessionType = constant.SuperGroupChatType + } var reqPb pbUser.SetConversationReq reqPb.OperationID = req.OperationID var c pbConversation.Conversation - conversation, err := imdb.GetConversation(req.FromUserID, utils.GetConversationIDBySessionType(req.GroupID, constant.GroupChatType)) + conversation, err := imdb.GetConversation(req.FromUserID, utils.GetConversationIDBySessionType(req.GroupID, sessionType)) if err != nil { c.OwnerUserID = req.FromUserID - c.ConversationID = utils.GetConversationIDBySessionType(req.GroupID, constant.GroupChatType) - c.ConversationType = constant.GroupChatType + c.ConversationID = utils.GetConversationIDBySessionType(req.GroupID, sessionType) + c.ConversationType = int32(sessionType) c.GroupID = req.GroupID c.IsNotInGroup = false } else { c.OwnerUserID = conversation.OwnerUserID - c.ConversationID = utils.GetConversationIDBySessionType(req.GroupID, constant.GroupChatType) + c.ConversationID = utils.GetConversationIDBySessionType(req.GroupID, sessionType) c.RecvMsgOpt = conversation.RecvMsgOpt - c.ConversationType = constant.GroupChatType + c.ConversationType = int32(sessionType) c.GroupID = req.GroupID c.IsPinned = conversation.IsPinned c.AttachedInfo = conversation.AttachedInfo From 7e428e8f94da6dad91b89a50c7e707fe2264c5ab Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 5 Dec 2022 16:34:54 +0800 Subject: [PATCH 049/176] group --- internal/rpc/group/group.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index 692f2d9e7..89a680452 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -919,6 +919,7 @@ func (s *groupServer) GroupApplicationResponse(_ context.Context, req *pbGroup.G c.GroupAtType = conversation.GroupAtType c.IsNotInGroup = false c.Ex = conversation.Ex + c.UpdateUnreadCountTime = utils.GetCurrentTimestampByMill() } reqPb.Conversation = &c etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImUserName, req.OperationID) From 75629ba5ea98acd8435d5548d7e72bb6f3d0673d Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 5 Dec 2022 16:44:46 +0800 Subject: [PATCH 050/176] group --- internal/rpc/group/group.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index 89a680452..064448432 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -907,6 +907,7 @@ func (s *groupServer) GroupApplicationResponse(_ context.Context, req *pbGroup.G c.ConversationType = int32(sessionType) c.GroupID = req.GroupID c.IsNotInGroup = false + c.UpdateUnreadCountTime = utils.GetCurrentTimestampByMill() } else { c.OwnerUserID = conversation.OwnerUserID c.ConversationID = utils.GetConversationIDBySessionType(req.GroupID, sessionType) @@ -919,7 +920,6 @@ func (s *groupServer) GroupApplicationResponse(_ context.Context, req *pbGroup.G c.GroupAtType = conversation.GroupAtType c.IsNotInGroup = false c.Ex = conversation.Ex - c.UpdateUnreadCountTime = utils.GetCurrentTimestampByMill() } reqPb.Conversation = &c etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImUserName, req.OperationID) From be820e84011311f6583be77612ebbc7351818d36 Mon Sep 17 00:00:00 2001 From: skiffer-git <44203734@qq.com> Date: Mon, 5 Dec 2022 17:10:00 +0800 Subject: [PATCH 051/176] set MaxNotificationNum = 500 --- pkg/common/constant/constant.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/common/constant/constant.go b/pkg/common/constant/constant.go index 3179ff46b..54861384e 100644 --- a/pkg/common/constant/constant.go +++ b/pkg/common/constant/constant.go @@ -340,6 +340,6 @@ const LogFileName = "OpenIM.log" const StatisticsTimeInterval = 60 -const MaxNotificationNum = 100 +const MaxNotificationNum = 500 const CurrentVersion = "v2.3.4-rc0" From 837efc90b692ebaebfb5ef1b41dfab84680db300 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 5 Dec 2022 18:29:58 +0800 Subject: [PATCH 052/176] ws connID --- internal/msg_gateway/gate/callback.go | 6 ++++-- internal/msg_gateway/gate/logic.go | 4 ++-- internal/msg_gateway/gate/ws_server.go | 12 +++++++----- pkg/call_back_struct/msg_gateway.go | 6 ++++-- pkg/common/db/extend_msg_mongo_model.go | 11 +++++++++-- 5 files changed, 26 insertions(+), 13 deletions(-) diff --git a/internal/msg_gateway/gate/callback.go b/internal/msg_gateway/gate/callback.go index b2f15035e..139d89afc 100644 --- a/internal/msg_gateway/gate/callback.go +++ b/internal/msg_gateway/gate/callback.go @@ -9,7 +9,7 @@ import ( "time" ) -func callbackUserOnline(operationID, userID string, platformID int, token string, isAppBackgroundStatusChanged bool) cbApi.CommonCallbackResp { +func callbackUserOnline(operationID, userID string, platformID int, token string, isAppBackgroundStatusChanged bool, connID string) cbApi.CommonCallbackResp { callbackResp := cbApi.CommonCallbackResp{OperationID: operationID} if !config.Config.Callback.CallbackUserOnline.Enable { return callbackResp @@ -27,6 +27,7 @@ func callbackUserOnline(operationID, userID string, platformID int, token string }, Seq: int(time.Now().UnixNano() / 1e6), IsAppBackgroundStatusChanged: isAppBackgroundStatusChanged, + ConnID: connID, } callbackUserOnlineResp := &cbApi.CallbackUserOnlineResp{CommonCallbackResp: &callbackResp} if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackUserOnlineCommand, callbackUserOnlineReq, callbackUserOnlineResp, config.Config.Callback.CallbackUserOnline.CallbackTimeOut); err != nil { @@ -36,7 +37,7 @@ func callbackUserOnline(operationID, userID string, platformID int, token string return callbackResp } -func callbackUserOffline(operationID, userID string, platformID int, isAppBackgroundStatusChanged bool) cbApi.CommonCallbackResp { +func callbackUserOffline(operationID, userID string, platformID int, isAppBackgroundStatusChanged bool, connID string) cbApi.CommonCallbackResp { callbackResp := cbApi.CommonCallbackResp{OperationID: operationID} if !config.Config.Callback.CallbackUserOffline.Enable { return callbackResp @@ -53,6 +54,7 @@ func callbackUserOffline(operationID, userID string, platformID int, isAppBackgr }, Seq: int(time.Now().UnixNano() / 1e6), IsAppBackgroundStatusChanged: isAppBackgroundStatusChanged, + ConnID: connID, } callbackUserOfflineResp := &cbApi.CallbackUserOfflineResp{CommonCallbackResp: &callbackResp} if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackUserOfflineCommand, callbackOfflineReq, callbackUserOfflineResp, config.Config.Callback.CallbackUserOffline.CallbackTimeOut); err != nil { diff --git a/internal/msg_gateway/gate/logic.go b/internal/msg_gateway/gate/logic.go index edf1c0c56..4c8283b10 100644 --- a/internal/msg_gateway/gate/logic.go +++ b/internal/msg_gateway/gate/logic.go @@ -407,12 +407,12 @@ func (ws *WServer) setUserDeviceBackground(conn *UserConn, m *Req) { req := pData.(*sdk_ws.SetAppBackgroundStatusReq) conn.IsBackground = req.IsBackground if !conn.IsBackground { - callbackResp := callbackUserOnline(m.OperationID, conn.userID, int(conn.PlatformID), conn.token, true) + callbackResp := callbackUserOnline(m.OperationID, conn.userID, int(conn.PlatformID), conn.token, true, conn.connID) if callbackResp.ErrCode != 0 { log.NewError(m.OperationID, utils.GetSelfFuncName(), "callbackUserOffline failed", callbackResp) } } else { - callbackResp := callbackUserOffline(m.OperationID, conn.userID, int(conn.PlatformID), true) + callbackResp := callbackUserOffline(m.OperationID, conn.userID, int(conn.PlatformID), true, conn.connID) if callbackResp.ErrCode != 0 { log.NewError(m.OperationID, utils.GetSelfFuncName(), "callbackUserOffline failed", callbackResp) } diff --git a/internal/msg_gateway/gate/ws_server.go b/internal/msg_gateway/gate/ws_server.go index aa68a8e75..68bfa63c4 100644 --- a/internal/msg_gateway/gate/ws_server.go +++ b/internal/msg_gateway/gate/ws_server.go @@ -15,6 +15,7 @@ import ( "context" "encoding/gob" "io/ioutil" + "strconv" "strings" go_redis "github.com/go-redis/redis/v8" @@ -37,6 +38,7 @@ type UserConn struct { userID string IsBackground bool token string + connID string } type WServer struct { @@ -82,9 +84,9 @@ func (ws *WServer) wsHandler(w http.ResponseWriter, r *http.Request) { log.Error(operationID, "upgrade http conn err", err.Error(), query) return } else { - newConn := &UserConn{conn, new(sync.Mutex), utils.StringToInt32(query["platformID"][0]), 0, compression, query["sendID"][0], false, query["token"][0]} + newConn := &UserConn{conn, new(sync.Mutex), utils.StringToInt32(query["platformID"][0]), 0, compression, query["sendID"][0], false, query["token"][0], conn.RemoteAddr().String() + strconv.Itoa(int(utils.GetCurrentTimestampBySecond()))} userCount++ - ws.addUserConn(query["sendID"][0], utils.StringToInt(query["platformID"][0]), newConn, query["token"][0], operationID) + ws.addUserConn(query["sendID"][0], utils.StringToInt(query["platformID"][0]), newConn, query["token"][0], newConn.connID, operationID) go ws.readMsg(newConn) } } else { @@ -319,11 +321,11 @@ func (ws *WServer) sendKickMsg(oldConn *UserConn) { } } -func (ws *WServer) addUserConn(uid string, platformID int, conn *UserConn, token string, operationID string) { +func (ws *WServer) addUserConn(uid string, platformID int, conn *UserConn, token string, connID, operationID string) { rwLock.Lock() defer rwLock.Unlock() log.Info(operationID, utils.GetSelfFuncName(), " args: ", uid, platformID, conn, token, "ip: ", conn.RemoteAddr().String()) - callbackResp := callbackUserOnline(operationID, uid, platformID, token, false) + callbackResp := callbackUserOnline(operationID, uid, platformID, token, false, connID) if callbackResp.ErrCode != 0 { log.NewError(operationID, utils.GetSelfFuncName(), "callbackUserOnline resp:", callbackResp) } @@ -386,7 +388,7 @@ func (ws *WServer) delUserConn(conn *UserConn) { if err != nil { log.Error(operationID, " close err", "", "uid", uid, "platform", platform) } - callbackResp := callbackUserOffline(operationID, conn.userID, platform, false) + callbackResp := callbackUserOffline(operationID, conn.userID, platform, false, conn.connID) if callbackResp.ErrCode != 0 { log.NewError(operationID, utils.GetSelfFuncName(), "callbackUserOffline failed", callbackResp) } diff --git a/pkg/call_back_struct/msg_gateway.go b/pkg/call_back_struct/msg_gateway.go index 87d07c19f..235f63105 100644 --- a/pkg/call_back_struct/msg_gateway.go +++ b/pkg/call_back_struct/msg_gateway.go @@ -5,6 +5,7 @@ type CallbackUserOnlineReq struct { Token string `json:"token"` Seq int `json:"seq"` IsAppBackgroundStatusChanged bool `json:"isAppBackgroundStatusChanged"` + ConnID string `json:"connID"` } type CallbackUserOnlineResp struct { @@ -13,8 +14,9 @@ type CallbackUserOnlineResp struct { type CallbackUserOfflineReq struct { UserStatusCallbackReq - Seq int `json:"seq"` - IsAppBackgroundStatusChanged bool `json:"isAppBackgroundStatusChanged"` + Seq int `json:"seq"` + IsAppBackgroundStatusChanged bool `json:"isAppBackgroundStatusChanged"` + ConnID string `json:"connID"` } type CallbackUserOfflineResp struct { diff --git a/pkg/common/db/extend_msg_mongo_model.go b/pkg/common/db/extend_msg_mongo_model.go index 6c9583839..7ee7c0650 100644 --- a/pkg/common/db/extend_msg_mongo_model.go +++ b/pkg/common/db/extend_msg_mongo_model.go @@ -25,7 +25,7 @@ type ExtendMsgSet struct { } type ReactionExtendMsgSet struct { - TypeKey string `bson:"type_key" json:"typeKey"` + UserKey string `bson:"user_key" json:"userKey"` Value string `bson:"value" json:"value"` } @@ -82,13 +82,20 @@ func (d *DataBases) InsertExtendMsg(ID string, index int32, msg *ExtendMsg) (msg return set.ExtendMsgNum, err } -func (d *DataBases) UpdateOneExtendMsgSet(ID string, index, MsgIndex int32, msg *ExtendMsg, msgSet *ExtendMsgSet) error { +func (d *DataBases) UpdateOneExtendMsgSet(ID string, index, MsgIndex int32, userIndex string, value string) error { ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) _, err := c.UpdateOne(ctx, bson.M{"uid": GetExtendMsgSetID(ID, index)}, bson.M{}) return err } +func (d *DataBases) DelOneExtendMsgSetUserKey(ID string, index, MsgIndex int32, userIndex string, userID string) error { + ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) + c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) + _, err := c.DeleteOne(ctx, bson.M{"uid": GetExtendMsgSetID(ID, index)}) + return err +} + func (d *DataBases) GetExtendMsgList(ID string, index, msgStartIndex, msgEndIndex int32) (extendMsgList []*ExtendMsg, err error) { ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) From 156c6429d3b91ac66e9ef21227c896826d266166 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 5 Dec 2022 18:34:51 +0800 Subject: [PATCH 053/176] ws connID --- internal/msg_gateway/gate/ws_server.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/internal/msg_gateway/gate/ws_server.go b/internal/msg_gateway/gate/ws_server.go index 68bfa63c4..7897ab1dc 100644 --- a/internal/msg_gateway/gate/ws_server.go +++ b/internal/msg_gateway/gate/ws_server.go @@ -84,7 +84,8 @@ func (ws *WServer) wsHandler(w http.ResponseWriter, r *http.Request) { log.Error(operationID, "upgrade http conn err", err.Error(), query) return } else { - newConn := &UserConn{conn, new(sync.Mutex), utils.StringToInt32(query["platformID"][0]), 0, compression, query["sendID"][0], false, query["token"][0], conn.RemoteAddr().String() + strconv.Itoa(int(utils.GetCurrentTimestampBySecond()))} + conn.add + newConn := &UserConn{conn, new(sync.Mutex), utils.StringToInt32(query["platformID"][0]), 0, compression, query["sendID"][0], false, query["token"][0], conn.LocalAddr().String() + conn.RemoteAddr().String() + strconv.Itoa(int(utils.GetCurrentTimestampBySecond()))} userCount++ ws.addUserConn(query["sendID"][0], utils.StringToInt(query["platformID"][0]), newConn, query["token"][0], newConn.connID, operationID) go ws.readMsg(newConn) From 233ecf8b5f1f7b4aef0cca63811e08358013726b Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 5 Dec 2022 18:35:34 +0800 Subject: [PATCH 054/176] ws connID --- internal/msg_gateway/gate/ws_server.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/msg_gateway/gate/ws_server.go b/internal/msg_gateway/gate/ws_server.go index 7897ab1dc..f4a3d7d89 100644 --- a/internal/msg_gateway/gate/ws_server.go +++ b/internal/msg_gateway/gate/ws_server.go @@ -85,7 +85,7 @@ func (ws *WServer) wsHandler(w http.ResponseWriter, r *http.Request) { return } else { conn.add - newConn := &UserConn{conn, new(sync.Mutex), utils.StringToInt32(query["platformID"][0]), 0, compression, query["sendID"][0], false, query["token"][0], conn.LocalAddr().String() + conn.RemoteAddr().String() + strconv.Itoa(int(utils.GetCurrentTimestampBySecond()))} + newConn := &UserConn{conn, new(sync.Mutex), utils.StringToInt32(query["platformID"][0]), 0, compression, query["sendID"][0], false, query["token"][0], conn.LocalAddr().String() + "_" + conn.RemoteAddr().String() + "_" + strconv.Itoa(int(utils.GetCurrentTimestampBySecond()))} userCount++ ws.addUserConn(query["sendID"][0], utils.StringToInt(query["platformID"][0]), newConn, query["token"][0], newConn.connID, operationID) go ws.readMsg(newConn) From 10ec7e8708bbee4cbb96390adc3e272e9948a694 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 5 Dec 2022 18:36:11 +0800 Subject: [PATCH 055/176] ws connID --- internal/msg_gateway/gate/ws_server.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/msg_gateway/gate/ws_server.go b/internal/msg_gateway/gate/ws_server.go index f4a3d7d89..2e338e658 100644 --- a/internal/msg_gateway/gate/ws_server.go +++ b/internal/msg_gateway/gate/ws_server.go @@ -85,7 +85,7 @@ func (ws *WServer) wsHandler(w http.ResponseWriter, r *http.Request) { return } else { conn.add - newConn := &UserConn{conn, new(sync.Mutex), utils.StringToInt32(query["platformID"][0]), 0, compression, query["sendID"][0], false, query["token"][0], conn.LocalAddr().String() + "_" + conn.RemoteAddr().String() + "_" + strconv.Itoa(int(utils.GetCurrentTimestampBySecond()))} + newConn := &UserConn{conn, new(sync.Mutex), utils.StringToInt32(query["platformID"][0]), 0, compression, query["sendID"][0], false, query["token"][0], conn.LocalAddr().String() + "_" + conn.RemoteAddr().String() + "_" + strconv.Itoa(int(utils.GetCurrentTimestampByMill()))} userCount++ ws.addUserConn(query["sendID"][0], utils.StringToInt(query["platformID"][0]), newConn, query["token"][0], newConn.connID, operationID) go ws.readMsg(newConn) From 5d5788e67eccf7400d8423151c86ebc68361776b Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 5 Dec 2022 18:38:24 +0800 Subject: [PATCH 056/176] ws connID --- internal/msg_gateway/gate/ws_server.go | 1 - 1 file changed, 1 deletion(-) diff --git a/internal/msg_gateway/gate/ws_server.go b/internal/msg_gateway/gate/ws_server.go index 2e338e658..6d16c27b9 100644 --- a/internal/msg_gateway/gate/ws_server.go +++ b/internal/msg_gateway/gate/ws_server.go @@ -84,7 +84,6 @@ func (ws *WServer) wsHandler(w http.ResponseWriter, r *http.Request) { log.Error(operationID, "upgrade http conn err", err.Error(), query) return } else { - conn.add newConn := &UserConn{conn, new(sync.Mutex), utils.StringToInt32(query["platformID"][0]), 0, compression, query["sendID"][0], false, query["token"][0], conn.LocalAddr().String() + "_" + conn.RemoteAddr().String() + "_" + strconv.Itoa(int(utils.GetCurrentTimestampByMill()))} userCount++ ws.addUserConn(query["sendID"][0], utils.StringToInt(query["platformID"][0]), newConn, query["token"][0], newConn.connID, operationID) From 0a267f69e6c55ca1ce313bd13e6c80f3bc356fd5 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 5 Dec 2022 18:42:53 +0800 Subject: [PATCH 057/176] ws connID --- internal/msg_gateway/gate/ws_server.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/msg_gateway/gate/ws_server.go b/internal/msg_gateway/gate/ws_server.go index 6d16c27b9..b9fb51cb9 100644 --- a/internal/msg_gateway/gate/ws_server.go +++ b/internal/msg_gateway/gate/ws_server.go @@ -84,7 +84,7 @@ func (ws *WServer) wsHandler(w http.ResponseWriter, r *http.Request) { log.Error(operationID, "upgrade http conn err", err.Error(), query) return } else { - newConn := &UserConn{conn, new(sync.Mutex), utils.StringToInt32(query["platformID"][0]), 0, compression, query["sendID"][0], false, query["token"][0], conn.LocalAddr().String() + "_" + conn.RemoteAddr().String() + "_" + strconv.Itoa(int(utils.GetCurrentTimestampByMill()))} + newConn := &UserConn{conn, new(sync.Mutex), utils.StringToInt32(query["platformID"][0]), 0, compression, query["sendID"][0], false, query["token"][0], conn.RemoteAddr().Network() + "_" + strconv.Itoa(int(utils.GetCurrentTimestampByMill()))} userCount++ ws.addUserConn(query["sendID"][0], utils.StringToInt(query["platformID"][0]), newConn, query["token"][0], newConn.connID, operationID) go ws.readMsg(newConn) From 4272955097b23e753342f460d672938cbe3a7306 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 5 Dec 2022 18:44:19 +0800 Subject: [PATCH 058/176] ws connID --- internal/msg_gateway/gate/ws_server.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/msg_gateway/gate/ws_server.go b/internal/msg_gateway/gate/ws_server.go index b9fb51cb9..f7283514f 100644 --- a/internal/msg_gateway/gate/ws_server.go +++ b/internal/msg_gateway/gate/ws_server.go @@ -84,7 +84,7 @@ func (ws *WServer) wsHandler(w http.ResponseWriter, r *http.Request) { log.Error(operationID, "upgrade http conn err", err.Error(), query) return } else { - newConn := &UserConn{conn, new(sync.Mutex), utils.StringToInt32(query["platformID"][0]), 0, compression, query["sendID"][0], false, query["token"][0], conn.RemoteAddr().Network() + "_" + strconv.Itoa(int(utils.GetCurrentTimestampByMill()))} + newConn := &UserConn{conn, new(sync.Mutex), utils.StringToInt32(query["platformID"][0]), 0, compression, query["sendID"][0], false, query["token"][0], conn.RemoteAddr().String() + "_" + strconv.Itoa(int(utils.GetCurrentTimestampByMill()))} userCount++ ws.addUserConn(query["sendID"][0], utils.StringToInt(query["platformID"][0]), newConn, query["token"][0], newConn.connID, operationID) go ws.readMsg(newConn) From c24b0e1425de0716868f952fc7e33cc34493e782 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 6 Dec 2022 10:37:16 +0800 Subject: [PATCH 059/176] ws connID --- internal/msg_gateway/gate/relay_rpc_server.go | 1 + pkg/proto/relay/relay.pb.go | 148 +++++++++--------- pkg/proto/relay/relay.proto | 1 + 3 files changed, 80 insertions(+), 70 deletions(-) diff --git a/internal/msg_gateway/gate/relay_rpc_server.go b/internal/msg_gateway/gate/relay_rpc_server.go index 90d37a875..1db59e12c 100644 --- a/internal/msg_gateway/gate/relay_rpc_server.go +++ b/internal/msg_gateway/gate/relay_rpc_server.go @@ -159,6 +159,7 @@ func (r *RPCServer) GetUsersOnlineStatus(_ context.Context, req *pbRelay.GetUser ps := new(pbRelay.GetUsersOnlineStatusResp_SuccessDetail) ps.Platform = constant.PlatformIDToName(platform) ps.Status = constant.OnlineStatus + ps.ConnID = userConn.connID temp.Status = constant.OnlineStatus temp.DetailPlatformStatus = append(temp.DetailPlatformStatus, ps) } diff --git a/pkg/proto/relay/relay.pb.go b/pkg/proto/relay/relay.pb.go index 49ddcc546..696c1a9a9 100644 --- a/pkg/proto/relay/relay.pb.go +++ b/pkg/proto/relay/relay.pb.go @@ -37,7 +37,7 @@ func (m *OnlinePushMsgReq) Reset() { *m = OnlinePushMsgReq{} } func (m *OnlinePushMsgReq) String() string { return proto.CompactTextString(m) } func (*OnlinePushMsgReq) ProtoMessage() {} func (*OnlinePushMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_relay_714521d58943e0d9, []int{0} + return fileDescriptor_relay_f693b13cb6a37b62, []int{0} } func (m *OnlinePushMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OnlinePushMsgReq.Unmarshal(m, b) @@ -89,7 +89,7 @@ func (m *OnlinePushMsgResp) Reset() { *m = OnlinePushMsgResp{} } func (m *OnlinePushMsgResp) String() string { return proto.CompactTextString(m) } func (*OnlinePushMsgResp) ProtoMessage() {} func (*OnlinePushMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_relay_714521d58943e0d9, []int{1} + return fileDescriptor_relay_f693b13cb6a37b62, []int{1} } func (m *OnlinePushMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OnlinePushMsgResp.Unmarshal(m, b) @@ -129,7 +129,7 @@ func (m *SingelMsgToUserResultList) Reset() { *m = SingelMsgToUserResult func (m *SingelMsgToUserResultList) String() string { return proto.CompactTextString(m) } func (*SingelMsgToUserResultList) ProtoMessage() {} func (*SingelMsgToUserResultList) Descriptor() ([]byte, []int) { - return fileDescriptor_relay_714521d58943e0d9, []int{2} + return fileDescriptor_relay_f693b13cb6a37b62, []int{2} } func (m *SingelMsgToUserResultList) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SingelMsgToUserResultList.Unmarshal(m, b) @@ -183,7 +183,7 @@ func (m *OnlineBatchPushOneMsgReq) Reset() { *m = OnlineBatchPushOneMsgR func (m *OnlineBatchPushOneMsgReq) String() string { return proto.CompactTextString(m) } func (*OnlineBatchPushOneMsgReq) ProtoMessage() {} func (*OnlineBatchPushOneMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_relay_714521d58943e0d9, []int{3} + return fileDescriptor_relay_f693b13cb6a37b62, []int{3} } func (m *OnlineBatchPushOneMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OnlineBatchPushOneMsgReq.Unmarshal(m, b) @@ -235,7 +235,7 @@ func (m *OnlineBatchPushOneMsgResp) Reset() { *m = OnlineBatchPushOneMsg func (m *OnlineBatchPushOneMsgResp) String() string { return proto.CompactTextString(m) } func (*OnlineBatchPushOneMsgResp) ProtoMessage() {} func (*OnlineBatchPushOneMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_relay_714521d58943e0d9, []int{4} + return fileDescriptor_relay_f693b13cb6a37b62, []int{4} } func (m *OnlineBatchPushOneMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OnlineBatchPushOneMsgResp.Unmarshal(m, b) @@ -275,7 +275,7 @@ func (m *SingleMsgToUserPlatform) Reset() { *m = SingleMsgToUserPlatform func (m *SingleMsgToUserPlatform) String() string { return proto.CompactTextString(m) } func (*SingleMsgToUserPlatform) ProtoMessage() {} func (*SingleMsgToUserPlatform) Descriptor() ([]byte, []int) { - return fileDescriptor_relay_714521d58943e0d9, []int{5} + return fileDescriptor_relay_f693b13cb6a37b62, []int{5} } func (m *SingleMsgToUserPlatform) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SingleMsgToUserPlatform.Unmarshal(m, b) @@ -329,7 +329,7 @@ func (m *GetUsersOnlineStatusReq) Reset() { *m = GetUsersOnlineStatusReq func (m *GetUsersOnlineStatusReq) String() string { return proto.CompactTextString(m) } func (*GetUsersOnlineStatusReq) ProtoMessage() {} func (*GetUsersOnlineStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_relay_714521d58943e0d9, []int{6} + return fileDescriptor_relay_f693b13cb6a37b62, []int{6} } func (m *GetUsersOnlineStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUsersOnlineStatusReq.Unmarshal(m, b) @@ -384,7 +384,7 @@ func (m *GetUsersOnlineStatusResp) Reset() { *m = GetUsersOnlineStatusRe func (m *GetUsersOnlineStatusResp) String() string { return proto.CompactTextString(m) } func (*GetUsersOnlineStatusResp) ProtoMessage() {} func (*GetUsersOnlineStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_relay_714521d58943e0d9, []int{7} + return fileDescriptor_relay_f693b13cb6a37b62, []int{7} } func (m *GetUsersOnlineStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUsersOnlineStatusResp.Unmarshal(m, b) @@ -435,6 +435,7 @@ func (m *GetUsersOnlineStatusResp) GetFailedResult() []*GetUsersOnlineStatusResp type GetUsersOnlineStatusResp_SuccessDetail struct { Platform string `protobuf:"bytes,1,opt,name=platform" json:"platform,omitempty"` Status string `protobuf:"bytes,2,opt,name=status" json:"status,omitempty"` + ConnID string `protobuf:"bytes,3,opt,name=connID" json:"connID,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -446,7 +447,7 @@ func (m *GetUsersOnlineStatusResp_SuccessDetail) Reset() { func (m *GetUsersOnlineStatusResp_SuccessDetail) String() string { return proto.CompactTextString(m) } func (*GetUsersOnlineStatusResp_SuccessDetail) ProtoMessage() {} func (*GetUsersOnlineStatusResp_SuccessDetail) Descriptor() ([]byte, []int) { - return fileDescriptor_relay_714521d58943e0d9, []int{7, 0} + return fileDescriptor_relay_f693b13cb6a37b62, []int{7, 0} } func (m *GetUsersOnlineStatusResp_SuccessDetail) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUsersOnlineStatusResp_SuccessDetail.Unmarshal(m, b) @@ -480,6 +481,13 @@ func (m *GetUsersOnlineStatusResp_SuccessDetail) GetStatus() string { return "" } +func (m *GetUsersOnlineStatusResp_SuccessDetail) GetConnID() string { + if m != nil { + return m.ConnID + } + return "" +} + type GetUsersOnlineStatusResp_FailedDetail struct { UserID string `protobuf:"bytes,3,opt,name=userID" json:"userID,omitempty"` ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` @@ -493,7 +501,7 @@ func (m *GetUsersOnlineStatusResp_FailedDetail) Reset() { *m = GetUsersO func (m *GetUsersOnlineStatusResp_FailedDetail) String() string { return proto.CompactTextString(m) } func (*GetUsersOnlineStatusResp_FailedDetail) ProtoMessage() {} func (*GetUsersOnlineStatusResp_FailedDetail) Descriptor() ([]byte, []int) { - return fileDescriptor_relay_714521d58943e0d9, []int{7, 1} + return fileDescriptor_relay_f693b13cb6a37b62, []int{7, 1} } func (m *GetUsersOnlineStatusResp_FailedDetail) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUsersOnlineStatusResp_FailedDetail.Unmarshal(m, b) @@ -549,7 +557,7 @@ func (m *GetUsersOnlineStatusResp_SuccessResult) Reset() { func (m *GetUsersOnlineStatusResp_SuccessResult) String() string { return proto.CompactTextString(m) } func (*GetUsersOnlineStatusResp_SuccessResult) ProtoMessage() {} func (*GetUsersOnlineStatusResp_SuccessResult) Descriptor() ([]byte, []int) { - return fileDescriptor_relay_714521d58943e0d9, []int{7, 2} + return fileDescriptor_relay_f693b13cb6a37b62, []int{7, 2} } func (m *GetUsersOnlineStatusResp_SuccessResult) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUsersOnlineStatusResp_SuccessResult.Unmarshal(m, b) @@ -603,7 +611,7 @@ func (m *KickUserOfflineReq) Reset() { *m = KickUserOfflineReq{} } func (m *KickUserOfflineReq) String() string { return proto.CompactTextString(m) } func (*KickUserOfflineReq) ProtoMessage() {} func (*KickUserOfflineReq) Descriptor() ([]byte, []int) { - return fileDescriptor_relay_714521d58943e0d9, []int{8} + return fileDescriptor_relay_f693b13cb6a37b62, []int{8} } func (m *KickUserOfflineReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_KickUserOfflineReq.Unmarshal(m, b) @@ -654,7 +662,7 @@ func (m *KickUserOfflineResp) Reset() { *m = KickUserOfflineResp{} } func (m *KickUserOfflineResp) String() string { return proto.CompactTextString(m) } func (*KickUserOfflineResp) ProtoMessage() {} func (*KickUserOfflineResp) Descriptor() ([]byte, []int) { - return fileDescriptor_relay_714521d58943e0d9, []int{9} + return fileDescriptor_relay_f693b13cb6a37b62, []int{9} } func (m *KickUserOfflineResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_KickUserOfflineResp.Unmarshal(m, b) @@ -688,7 +696,7 @@ func (m *MultiTerminalLoginCheckReq) Reset() { *m = MultiTerminalLoginCh func (m *MultiTerminalLoginCheckReq) String() string { return proto.CompactTextString(m) } func (*MultiTerminalLoginCheckReq) ProtoMessage() {} func (*MultiTerminalLoginCheckReq) Descriptor() ([]byte, []int) { - return fileDescriptor_relay_714521d58943e0d9, []int{10} + return fileDescriptor_relay_f693b13cb6a37b62, []int{10} } func (m *MultiTerminalLoginCheckReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MultiTerminalLoginCheckReq.Unmarshal(m, b) @@ -748,7 +756,7 @@ func (m *MultiTerminalLoginCheckResp) Reset() { *m = MultiTerminalLoginC func (m *MultiTerminalLoginCheckResp) String() string { return proto.CompactTextString(m) } func (*MultiTerminalLoginCheckResp) ProtoMessage() {} func (*MultiTerminalLoginCheckResp) Descriptor() ([]byte, []int) { - return fileDescriptor_relay_714521d58943e0d9, []int{11} + return fileDescriptor_relay_f693b13cb6a37b62, []int{11} } func (m *MultiTerminalLoginCheckResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MultiTerminalLoginCheckResp.Unmarshal(m, b) @@ -1037,60 +1045,60 @@ var _Relay_serviceDesc = grpc.ServiceDesc{ Metadata: "relay/relay.proto", } -func init() { proto.RegisterFile("relay/relay.proto", fileDescriptor_relay_714521d58943e0d9) } +func init() { proto.RegisterFile("relay/relay.proto", fileDescriptor_relay_f693b13cb6a37b62) } -var fileDescriptor_relay_714521d58943e0d9 = []byte{ - // 818 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0xcd, 0x6e, 0xda, 0x4a, - 0x14, 0x96, 0x03, 0xe4, 0xe7, 0x24, 0xb9, 0x37, 0x99, 0x9b, 0x5c, 0x1c, 0x5f, 0x09, 0x88, 0x17, - 0x57, 0xa8, 0x6a, 0x40, 0xa2, 0xdd, 0x75, 0x97, 0xa0, 0xa4, 0xa8, 0x41, 0x44, 0x43, 0xaa, 0x56, - 0xd9, 0x50, 0x07, 0x06, 0xb0, 0x30, 0xf6, 0x64, 0xc6, 0x4e, 0x94, 0x4d, 0xb7, 0xdd, 0x54, 0x5d, - 0xf4, 0x01, 0xba, 0xe8, 0x4b, 0xf4, 0xf5, 0xaa, 0xf9, 0x81, 0xda, 0x80, 0x43, 0x53, 0x29, 0x9b, - 0x84, 0x73, 0x7c, 0xfe, 0xbe, 0xef, 0x7c, 0x9e, 0x31, 0xec, 0x32, 0xe2, 0x39, 0xf7, 0x55, 0xf9, - 0xb7, 0x42, 0x59, 0x10, 0x06, 0x28, 0x27, 0x0d, 0xab, 0xdc, 0xa2, 0xc4, 0x3f, 0x6a, 0x34, 0x8f, - 0xda, 0x84, 0xdd, 0x12, 0x56, 0xa5, 0xa3, 0x41, 0x55, 0x06, 0x54, 0x79, 0x6f, 0xd4, 0xb9, 0xe3, - 0xd5, 0x3b, 0xae, 0x12, 0xec, 0x2f, 0x06, 0xec, 0xb4, 0x7c, 0xcf, 0xf5, 0xc9, 0x45, 0xc4, 0x87, - 0x4d, 0x3e, 0xc0, 0xe4, 0x06, 0x95, 0x60, 0xb3, 0x45, 0x09, 0x73, 0x42, 0x37, 0xf0, 0x1b, 0x75, - 0xd3, 0x28, 0x19, 0xe5, 0x0d, 0x1c, 0x77, 0xa1, 0x97, 0xb0, 0x36, 0xe6, 0x83, 0xba, 0x13, 0x3a, - 0xe6, 0x4a, 0xc9, 0x28, 0x6f, 0xd6, 0xac, 0x0a, 0x97, 0xad, 0x3a, 0x0e, 0x75, 0x3b, 0xd4, 0x61, - 0xce, 0x98, 0x57, 0x9a, 0x2a, 0x02, 0x4f, 0x42, 0x91, 0x0d, 0x5b, 0x34, 0xe2, 0xc3, 0xcb, 0xe0, - 0x2d, 0x27, 0xac, 0x51, 0x37, 0x33, 0xb2, 0x70, 0xc2, 0x67, 0x9f, 0xc1, 0xee, 0xcc, 0x3c, 0x9c, - 0xa2, 0x1a, 0x64, 0x19, 0xe1, 0xd4, 0x34, 0x4a, 0x99, 0xf2, 0x66, 0xad, 0x50, 0x51, 0x90, 0xdb, - 0xae, 0x3f, 0xf0, 0x48, 0x93, 0x0f, 0x54, 0xf2, 0x85, 0xe7, 0x84, 0xfd, 0x80, 0x8d, 0xb1, 0x8c, - 0xb5, 0x3f, 0x19, 0x70, 0x20, 0x22, 0x88, 0x37, 0x8d, 0xc0, 0x84, 0x47, 0x5e, 0x78, 0xee, 0xf2, - 0x10, 0xfd, 0x0b, 0xab, 0x91, 0x1a, 0x42, 0xa1, 0xd3, 0xd6, 0xb4, 0xd3, 0xca, 0xef, 0x77, 0x42, - 0x05, 0x80, 0x60, 0x3a, 0xb2, 0x04, 0xb5, 0x8e, 0x63, 0x1e, 0xfb, 0x9b, 0x01, 0xa6, 0xc2, 0x74, - 0xec, 0x84, 0xdd, 0xa1, 0xf0, 0xb5, 0x7c, 0xf2, 0xc4, 0x5c, 0x3f, 0x83, 0x9d, 0x38, 0xaf, 0x02, - 0xb4, 0x99, 0x29, 0x65, 0xca, 0x1b, 0x78, 0xce, 0x6f, 0xbb, 0x70, 0x90, 0x32, 0x1f, 0xa7, 0xe8, - 0x1c, 0x76, 0xb8, 0x84, 0x2f, 0xfc, 0x8a, 0x41, 0xbd, 0x87, 0x52, 0x8c, 0x9d, 0x85, 0x2c, 0xe3, - 0xb9, 0x4c, 0xfb, 0x1e, 0xf2, 0x29, 0x64, 0x0a, 0x1a, 0x55, 0xd0, 0x49, 0xd0, 0x23, 0x92, 0x88, - 0x0c, 0x8e, 0x79, 0xc4, 0xca, 0x30, 0xe9, 0xde, 0x36, 0xea, 0x92, 0x86, 0x0d, 0xac, 0x2d, 0xf4, - 0x3f, 0xfc, 0x25, 0x7e, 0x89, 0x3a, 0xa7, 0x01, 0x1b, 0x6b, 0x5d, 0xe5, 0xf0, 0x8c, 0xd7, 0xbe, - 0x83, 0xfc, 0x19, 0x09, 0x45, 0x4b, 0xae, 0xd0, 0xb6, 0x43, 0x27, 0x8c, 0xb8, 0x58, 0x42, 0x01, - 0x20, 0xfa, 0x45, 0x93, 0x21, 0x69, 0x8a, 0x79, 0xc4, 0x92, 0x82, 0xd8, 0x92, 0x54, 0xff, 0xb8, - 0x0b, 0x59, 0xb0, 0x1e, 0xd0, 0x84, 0xac, 0xa7, 0xb6, 0xfd, 0x23, 0x0b, 0xe6, 0xe2, 0xce, 0x9c, - 0x22, 0x13, 0xd6, 0x08, 0x63, 0x53, 0xc8, 0x39, 0x3c, 0x31, 0x05, 0x5e, 0xc2, 0x58, 0x93, 0x0f, - 0x26, 0x78, 0x95, 0x85, 0xda, 0xb0, 0xcd, 0xa3, 0x6e, 0x97, 0x70, 0xae, 0xb7, 0x91, 0x91, 0xdb, - 0x38, 0xd2, 0xdb, 0x48, 0xeb, 0x54, 0x69, 0xc7, 0x93, 0x70, 0xb2, 0x06, 0xba, 0x80, 0xad, 0xbe, - 0xe3, 0x7a, 0xa4, 0xa7, 0x6b, 0x66, 0x65, 0xcd, 0xe7, 0xcb, 0x6a, 0x9e, 0xca, 0x9c, 0x3a, 0x09, - 0x1d, 0xd7, 0xc3, 0x89, 0x0a, 0xd6, 0x09, 0x6c, 0xeb, 0x8e, 0xea, 0xb1, 0xa0, 0x88, 0xea, 0x5d, - 0x6b, 0x99, 0x4f, 0x6d, 0x81, 0x95, 0xcb, 0xaa, 0x13, 0xac, 0xca, 0xb2, 0xde, 0xc3, 0x56, 0xbc, - 0x45, 0xec, 0xb5, 0xcd, 0x24, 0x5e, 0xdb, 0x47, 0xb3, 0x68, 0x7d, 0x37, 0xa6, 0xf3, 0x69, 0x0a, - 0xd2, 0x8e, 0x84, 0x94, 0xd9, 0x90, 0x03, 0x7b, 0x3d, 0x39, 0xd5, 0x44, 0xc1, 0x8a, 0x97, 0x47, - 0xae, 0x43, 0x73, 0xb7, 0xb0, 0x94, 0xfd, 0x11, 0xd0, 0x1b, 0xb7, 0x3b, 0x12, 0x05, 0x5a, 0xfd, - 0xbe, 0x28, 0xa0, 0x8f, 0x8c, 0x60, 0xfe, 0xc8, 0x88, 0xab, 0xb1, 0x00, 0x30, 0xa1, 0x56, 0xcb, - 0x35, 0x87, 0x63, 0x1e, 0xf1, 0xca, 0x8c, 0x74, 0xdd, 0xc4, 0xd1, 0x30, 0xe3, 0xb5, 0xf7, 0xe1, - 0x9f, 0xb9, 0xfe, 0x9c, 0xda, 0x9f, 0x0d, 0xb0, 0x9a, 0x91, 0x17, 0xba, 0x97, 0x84, 0x8d, 0x5d, - 0xdf, 0xf1, 0xce, 0x83, 0x81, 0xeb, 0x9f, 0x0c, 0x49, 0x77, 0x24, 0xe6, 0x4b, 0x23, 0x72, 0xd9, - 0x54, 0x7b, 0x90, 0x0b, 0x83, 0x11, 0xf1, 0xf5, 0x6e, 0x95, 0x31, 0x8b, 0x36, 0x3b, 0x87, 0xd6, - 0x6e, 0xc1, 0x7f, 0xa9, 0xd3, 0xfc, 0xc9, 0x1b, 0x56, 0xfb, 0x9a, 0x05, 0x75, 0x91, 0xa2, 0x63, - 0xd8, 0x4e, 0xdc, 0x46, 0x28, 0xaf, 0xd7, 0x3a, 0x7b, 0x67, 0x5a, 0xe6, 0xe2, 0x07, 0x9c, 0xa2, - 0x77, 0xb0, 0xb7, 0x48, 0x04, 0xa8, 0xf0, 0xa0, 0x42, 0x6e, 0xac, 0xe2, 0x12, 0x05, 0xa1, 0x2b, - 0xd8, 0x5f, 0x78, 0x6c, 0xa3, 0x62, 0x62, 0x96, 0xf9, 0x4b, 0xc7, 0x2a, 0x3d, 0x1c, 0xc0, 0x29, - 0xea, 0x41, 0xb1, 0x1d, 0x51, 0xc2, 0xce, 0x58, 0x10, 0xd1, 0x27, 0xeb, 0xf2, 0x1a, 0xfe, 0x9e, - 0xd1, 0x17, 0x3a, 0xd0, 0x49, 0xf3, 0xba, 0xb7, 0xac, 0xb4, 0x47, 0x9c, 0xa2, 0x0f, 0x90, 0x4f, - 0xd1, 0x00, 0x3a, 0xd4, 0x69, 0xe9, 0x8a, 0xb5, 0xec, 0x65, 0x21, 0x9c, 0x1e, 0x1f, 0x5e, 0x15, - 0xc5, 0x57, 0x55, 0xa7, 0xd1, 0x8c, 0x7d, 0x4e, 0xc9, 0xb4, 0x57, 0xf4, 0x1a, 0x8b, 0xff, 0xd7, - 0xab, 0xd2, 0xf9, 0xe2, 0x67, 0x00, 0x00, 0x00, 0xff, 0xff, 0x95, 0x44, 0xed, 0x71, 0x99, 0x09, - 0x00, 0x00, +var fileDescriptor_relay_f693b13cb6a37b62 = []byte{ + // 827 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0x4d, 0x4f, 0xe3, 0x46, + 0x18, 0x96, 0x49, 0xc2, 0xc7, 0x0b, 0xb4, 0x30, 0x85, 0xc6, 0xb8, 0x52, 0x12, 0x7c, 0xa8, 0xa2, + 0xaa, 0x24, 0x52, 0xda, 0x5b, 0x6f, 0x10, 0x41, 0xa3, 0x12, 0x05, 0x4d, 0xa8, 0x5a, 0xb1, 0x87, + 0xac, 0x49, 0x26, 0x89, 0x15, 0xc7, 0x1e, 0x66, 0x6c, 0x10, 0x97, 0xbd, 0xee, 0x65, 0xb5, 0x87, + 0xfd, 0x01, 0x7b, 0xd8, 0x3f, 0xb4, 0x7f, 0x69, 0x35, 0x1f, 0xf1, 0xda, 0x49, 0x4c, 0x96, 0x95, + 0xb8, 0x40, 0xde, 0xc7, 0xef, 0xd7, 0xf3, 0xbc, 0xaf, 0x67, 0x0c, 0xfb, 0x8c, 0x78, 0xce, 0x63, + 0x5d, 0xfe, 0xad, 0x51, 0x16, 0x84, 0x01, 0x2a, 0x48, 0xc3, 0xaa, 0x76, 0x28, 0xf1, 0x4f, 0x5a, + 0xed, 0x93, 0x2e, 0x61, 0xf7, 0x84, 0xd5, 0xe9, 0x64, 0x54, 0x97, 0x0e, 0x75, 0x3e, 0x98, 0xf4, + 0x1e, 0x78, 0xfd, 0x81, 0xab, 0x00, 0xfb, 0xbd, 0x01, 0x7b, 0x1d, 0xdf, 0x73, 0x7d, 0x72, 0x15, + 0xf1, 0x71, 0x9b, 0x8f, 0x30, 0xb9, 0x43, 0x15, 0xd8, 0xee, 0x50, 0xc2, 0x9c, 0xd0, 0x0d, 0xfc, + 0x56, 0xd3, 0x34, 0x2a, 0x46, 0x75, 0x0b, 0x27, 0x21, 0xf4, 0x27, 0x6c, 0x4c, 0xf9, 0xa8, 0xe9, + 0x84, 0x8e, 0xb9, 0x56, 0x31, 0xaa, 0xdb, 0x0d, 0xab, 0xc6, 0x65, 0xa9, 0x9e, 0x43, 0xdd, 0x1e, + 0x75, 0x98, 0x33, 0xe5, 0xb5, 0xb6, 0xf2, 0xc0, 0x33, 0x57, 0x64, 0xc3, 0x0e, 0x8d, 0xf8, 0xf8, + 0x3a, 0xf8, 0x97, 0x13, 0xd6, 0x6a, 0x9a, 0x39, 0x99, 0x38, 0x85, 0xd9, 0x17, 0xb0, 0x3f, 0xd7, + 0x0f, 0xa7, 0xa8, 0x01, 0x79, 0x46, 0x38, 0x35, 0x8d, 0x4a, 0xae, 0xba, 0xdd, 0x28, 0xd5, 0x14, + 0xe5, 0xae, 0xeb, 0x8f, 0x3c, 0xd2, 0xe6, 0x23, 0x15, 0x7c, 0xe5, 0x39, 0xe1, 0x30, 0x60, 0x53, + 0x2c, 0x7d, 0xed, 0xb7, 0x06, 0x1c, 0x09, 0x0f, 0xe2, 0xc5, 0x1e, 0x98, 0xf0, 0xc8, 0x0b, 0x2f, + 0x5d, 0x1e, 0xa2, 0x9f, 0x61, 0x3d, 0x52, 0x4d, 0x28, 0x76, 0xda, 0x8a, 0x2b, 0xad, 0x7d, 0x7b, + 0x25, 0x54, 0x02, 0x08, 0xe2, 0x96, 0x25, 0xa9, 0x4d, 0x9c, 0x40, 0xec, 0x8f, 0x06, 0x98, 0x8a, + 0xd3, 0xa9, 0x13, 0xf6, 0xc7, 0x02, 0xeb, 0xf8, 0xe4, 0x85, 0xb5, 0xfe, 0x0d, 0xf6, 0x92, 0xba, + 0x0a, 0xd2, 0x66, 0xae, 0x92, 0xab, 0x6e, 0xe1, 0x05, 0xdc, 0x76, 0xe1, 0x28, 0xa3, 0x3f, 0x4e, + 0xd1, 0x25, 0xec, 0x71, 0x49, 0x5f, 0xe0, 0x4a, 0x41, 0x3d, 0x87, 0x4a, 0x42, 0x9d, 0xa5, 0x2a, + 0xe3, 0x85, 0x48, 0xfb, 0x11, 0x8a, 0x19, 0x62, 0x0a, 0x19, 0x95, 0xd3, 0x59, 0x30, 0x20, 0x52, + 0x88, 0x1c, 0x4e, 0x20, 0x62, 0x64, 0x98, 0xf4, 0xef, 0x5b, 0x4d, 0x29, 0xc3, 0x16, 0xd6, 0x16, + 0xfa, 0x15, 0x7e, 0x10, 0xbf, 0x44, 0x9e, 0xf3, 0x80, 0x4d, 0xf5, 0x5e, 0x15, 0xf0, 0x1c, 0x6a, + 0x3f, 0x40, 0xf1, 0x82, 0x84, 0xa2, 0x24, 0x57, 0x6c, 0xbb, 0xa1, 0x13, 0x46, 0x5c, 0x0c, 0xa1, + 0x04, 0x10, 0x7d, 0x95, 0xc9, 0x90, 0x32, 0x25, 0x10, 0x31, 0xa4, 0x20, 0x31, 0x24, 0x55, 0x3f, + 0x09, 0x21, 0x0b, 0x36, 0x03, 0x9a, 0x5a, 0xeb, 0xd8, 0xb6, 0x3f, 0xe7, 0xc1, 0x5c, 0x5e, 0x99, + 0x53, 0x64, 0xc2, 0x06, 0x61, 0x2c, 0xa6, 0x5c, 0xc0, 0x33, 0x53, 0xf0, 0x25, 0x8c, 0xb5, 0xf9, + 0x68, 0xc6, 0x57, 0x59, 0xa8, 0x0b, 0xbb, 0x3c, 0xea, 0xf7, 0x09, 0xe7, 0x7a, 0x1a, 0x39, 0x39, + 0x8d, 0x13, 0x3d, 0x8d, 0xac, 0x4a, 0xb5, 0x6e, 0x32, 0x08, 0xa7, 0x73, 0xa0, 0x2b, 0xd8, 0x19, + 0x3a, 0xae, 0x47, 0x06, 0x3a, 0x67, 0x5e, 0xe6, 0xfc, 0x7d, 0x55, 0xce, 0x73, 0x19, 0xd3, 0x24, + 0xa1, 0xe3, 0x7a, 0x38, 0x95, 0xc1, 0x7a, 0x05, 0xbb, 0xba, 0xa2, 0x7a, 0x2c, 0x24, 0xa2, 0x7a, + 0xd6, 0x7a, 0xcd, 0x63, 0x5b, 0x70, 0xe5, 0x32, 0xeb, 0x8c, 0xab, 0xb2, 0x04, 0xde, 0x0f, 0x7c, + 0x3f, 0x16, 0x55, 0x5b, 0xd6, 0xff, 0xb0, 0x93, 0x2c, 0x9d, 0x78, 0x9d, 0x73, 0xa9, 0xd7, 0xf9, + 0xd9, 0xea, 0x5a, 0x9f, 0x8c, 0xb8, 0x6f, 0x2d, 0x4d, 0xd6, 0x51, 0x91, 0xd5, 0xb3, 0x03, 0x07, + 0x03, 0xd9, 0xd5, 0x6c, 0xb3, 0x95, 0x5e, 0xcf, 0x1c, 0x93, 0xd6, 0x74, 0x69, 0x2a, 0xfb, 0x0d, + 0xa0, 0x7f, 0xdc, 0xfe, 0x44, 0x24, 0xe8, 0x0c, 0x87, 0x22, 0x81, 0x3e, 0x4a, 0x82, 0xc5, 0xa3, + 0x24, 0xb9, 0xa5, 0x25, 0x80, 0x99, 0xe4, 0x7a, 0x8d, 0x0b, 0x38, 0x81, 0x88, 0x57, 0x69, 0xa2, + 0xf3, 0xa6, 0x8e, 0x8c, 0x39, 0xd4, 0x3e, 0x84, 0x9f, 0x16, 0xea, 0x73, 0x6a, 0xbf, 0x33, 0xc0, + 0x6a, 0x47, 0x5e, 0xe8, 0x5e, 0x13, 0x36, 0x75, 0x7d, 0xc7, 0xbb, 0x0c, 0x46, 0xae, 0x7f, 0x36, + 0x26, 0xfd, 0x89, 0xe8, 0x2f, 0x4b, 0xc8, 0x55, 0x5d, 0x1d, 0x40, 0x21, 0x0c, 0x26, 0xc4, 0xd7, + 0xb3, 0x55, 0xc6, 0x3c, 0xdb, 0xfc, 0x02, 0x5b, 0xbb, 0x03, 0xbf, 0x64, 0x76, 0xf3, 0x3d, 0x6f, + 0x5e, 0xe3, 0x43, 0x1e, 0xd4, 0x05, 0x8b, 0x4e, 0x61, 0x37, 0x75, 0x4b, 0xa1, 0xa2, 0x1e, 0xeb, + 0xfc, 0x5d, 0x6a, 0x99, 0xcb, 0x1f, 0x70, 0x8a, 0xfe, 0x83, 0x83, 0x65, 0x4b, 0x80, 0x4a, 0x4f, + 0x6e, 0xc8, 0x9d, 0x55, 0x5e, 0xb1, 0x41, 0xe8, 0x06, 0x0e, 0x97, 0x1e, 0xe7, 0xa8, 0x9c, 0xea, + 0x65, 0xf1, 0x32, 0xb2, 0x2a, 0x4f, 0x3b, 0x70, 0x8a, 0x06, 0x50, 0xee, 0x46, 0x94, 0xb0, 0x0b, + 0x16, 0x44, 0xf4, 0xc5, 0xaa, 0xfc, 0x0d, 0x3f, 0xce, 0xed, 0x17, 0x3a, 0xd2, 0x41, 0x8b, 0x7b, + 0x6f, 0x59, 0x59, 0x8f, 0x38, 0x45, 0xaf, 0xa1, 0x98, 0xb1, 0x03, 0xe8, 0x58, 0x87, 0x65, 0x6f, + 0xac, 0x65, 0xaf, 0x72, 0xe1, 0xf4, 0xf4, 0xf8, 0xa6, 0x2c, 0xbe, 0xb6, 0x7a, 0xad, 0x76, 0xe2, + 0x33, 0x4b, 0x86, 0xfd, 0x45, 0x6f, 0xb1, 0xf8, 0x7f, 0xbb, 0x2e, 0xc1, 0x3f, 0xbe, 0x04, 0x00, + 0x00, 0xff, 0xff, 0x2c, 0x2d, 0xc2, 0x83, 0xb1, 0x09, 0x00, 0x00, } diff --git a/pkg/proto/relay/relay.proto b/pkg/proto/relay/relay.proto index e0ec59e48..0520ba1d6 100644 --- a/pkg/proto/relay/relay.proto +++ b/pkg/proto/relay/relay.proto @@ -55,6 +55,7 @@ message GetUsersOnlineStatusResp{ message SuccessDetail{ string platform = 1; string status = 2; + string connID = 3; } message FailedDetail{ string userID = 3; From b5a031be9ff40c776115bb7e5737406f7a6c1997 Mon Sep 17 00:00:00 2001 From: skiffer-git <44203734@qq.com> Date: Tue, 6 Dec 2022 12:06:37 +0800 Subject: [PATCH 060/176] log --- pkg/common/constant/constant.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/common/constant/constant.go b/pkg/common/constant/constant.go index 2a45259c9..03e33301d 100644 --- a/pkg/common/constant/constant.go +++ b/pkg/common/constant/constant.go @@ -69,7 +69,7 @@ const ( ConversationOptChangeNotification = 1300 // change conversation opt UserNotificationBegin = 1301 - UserInfoUpdatedNotification = 1303 //SetSelfInfoTip = 204 + UserInfoUpdatedNotification = 1303 //SetSelfInfoTip = 204 UserNotificationEnd = 1399 OANotification = 1400 From d3af2e65470eb0b2e737d0eddca22b1e79c427e6 Mon Sep 17 00:00:00 2001 From: skiffer-git <44203734@qq.com> Date: Tue, 6 Dec 2022 12:51:39 +0800 Subject: [PATCH 061/176] log --- pkg/common/constant/constant.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/common/constant/constant.go b/pkg/common/constant/constant.go index 03e33301d..e33b9e4fd 100644 --- a/pkg/common/constant/constant.go +++ b/pkg/common/constant/constant.go @@ -69,7 +69,7 @@ const ( ConversationOptChangeNotification = 1300 // change conversation opt UserNotificationBegin = 1301 - UserInfoUpdatedNotification = 1303 //SetSelfInfoTip = 204 + UserInfoUpdatedNotification = 1303 //SetSelfInfoTip = 204 UserNotificationEnd = 1399 OANotification = 1400 From 01b1116017319bb1d4d5f5cf2e0188d726992df7 Mon Sep 17 00:00:00 2001 From: skiffer-git <44203734@qq.com> Date: Tue, 6 Dec 2022 13:06:20 +0800 Subject: [PATCH 062/176] log --- pkg/common/constant/constant.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/common/constant/constant.go b/pkg/common/constant/constant.go index e33b9e4fd..54a3e2bc8 100644 --- a/pkg/common/constant/constant.go +++ b/pkg/common/constant/constant.go @@ -69,7 +69,7 @@ const ( ConversationOptChangeNotification = 1300 // change conversation opt UserNotificationBegin = 1301 - UserInfoUpdatedNotification = 1303 //SetSelfInfoTip = 204 + UserInfoUpdatedNotification = 1303 //SetSelfInfoTip = 204 UserNotificationEnd = 1399 OANotification = 1400 From 4c9859a1acf181829778edbc707d91bb0f96face Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 6 Dec 2022 14:24:29 +0800 Subject: [PATCH 063/176] ws backgroundStatus --- internal/msg_gateway/gate/relay_rpc_server.go | 1 + pkg/proto/relay/relay.pb.go | 149 ++++++++++-------- pkg/proto/relay/relay.proto | 1 + 3 files changed, 81 insertions(+), 70 deletions(-) diff --git a/internal/msg_gateway/gate/relay_rpc_server.go b/internal/msg_gateway/gate/relay_rpc_server.go index 1db59e12c..00376a552 100644 --- a/internal/msg_gateway/gate/relay_rpc_server.go +++ b/internal/msg_gateway/gate/relay_rpc_server.go @@ -160,6 +160,7 @@ func (r *RPCServer) GetUsersOnlineStatus(_ context.Context, req *pbRelay.GetUser ps.Platform = constant.PlatformIDToName(platform) ps.Status = constant.OnlineStatus ps.ConnID = userConn.connID + ps.IsBackground = userConn.IsBackground temp.Status = constant.OnlineStatus temp.DetailPlatformStatus = append(temp.DetailPlatformStatus, ps) } diff --git a/pkg/proto/relay/relay.pb.go b/pkg/proto/relay/relay.pb.go index 696c1a9a9..7cf7e019c 100644 --- a/pkg/proto/relay/relay.pb.go +++ b/pkg/proto/relay/relay.pb.go @@ -37,7 +37,7 @@ func (m *OnlinePushMsgReq) Reset() { *m = OnlinePushMsgReq{} } func (m *OnlinePushMsgReq) String() string { return proto.CompactTextString(m) } func (*OnlinePushMsgReq) ProtoMessage() {} func (*OnlinePushMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_relay_f693b13cb6a37b62, []int{0} + return fileDescriptor_relay_fe7346d2191b0ff8, []int{0} } func (m *OnlinePushMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OnlinePushMsgReq.Unmarshal(m, b) @@ -89,7 +89,7 @@ func (m *OnlinePushMsgResp) Reset() { *m = OnlinePushMsgResp{} } func (m *OnlinePushMsgResp) String() string { return proto.CompactTextString(m) } func (*OnlinePushMsgResp) ProtoMessage() {} func (*OnlinePushMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_relay_f693b13cb6a37b62, []int{1} + return fileDescriptor_relay_fe7346d2191b0ff8, []int{1} } func (m *OnlinePushMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OnlinePushMsgResp.Unmarshal(m, b) @@ -129,7 +129,7 @@ func (m *SingelMsgToUserResultList) Reset() { *m = SingelMsgToUserResult func (m *SingelMsgToUserResultList) String() string { return proto.CompactTextString(m) } func (*SingelMsgToUserResultList) ProtoMessage() {} func (*SingelMsgToUserResultList) Descriptor() ([]byte, []int) { - return fileDescriptor_relay_f693b13cb6a37b62, []int{2} + return fileDescriptor_relay_fe7346d2191b0ff8, []int{2} } func (m *SingelMsgToUserResultList) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SingelMsgToUserResultList.Unmarshal(m, b) @@ -183,7 +183,7 @@ func (m *OnlineBatchPushOneMsgReq) Reset() { *m = OnlineBatchPushOneMsgR func (m *OnlineBatchPushOneMsgReq) String() string { return proto.CompactTextString(m) } func (*OnlineBatchPushOneMsgReq) ProtoMessage() {} func (*OnlineBatchPushOneMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_relay_f693b13cb6a37b62, []int{3} + return fileDescriptor_relay_fe7346d2191b0ff8, []int{3} } func (m *OnlineBatchPushOneMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OnlineBatchPushOneMsgReq.Unmarshal(m, b) @@ -235,7 +235,7 @@ func (m *OnlineBatchPushOneMsgResp) Reset() { *m = OnlineBatchPushOneMsg func (m *OnlineBatchPushOneMsgResp) String() string { return proto.CompactTextString(m) } func (*OnlineBatchPushOneMsgResp) ProtoMessage() {} func (*OnlineBatchPushOneMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_relay_f693b13cb6a37b62, []int{4} + return fileDescriptor_relay_fe7346d2191b0ff8, []int{4} } func (m *OnlineBatchPushOneMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OnlineBatchPushOneMsgResp.Unmarshal(m, b) @@ -275,7 +275,7 @@ func (m *SingleMsgToUserPlatform) Reset() { *m = SingleMsgToUserPlatform func (m *SingleMsgToUserPlatform) String() string { return proto.CompactTextString(m) } func (*SingleMsgToUserPlatform) ProtoMessage() {} func (*SingleMsgToUserPlatform) Descriptor() ([]byte, []int) { - return fileDescriptor_relay_f693b13cb6a37b62, []int{5} + return fileDescriptor_relay_fe7346d2191b0ff8, []int{5} } func (m *SingleMsgToUserPlatform) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SingleMsgToUserPlatform.Unmarshal(m, b) @@ -329,7 +329,7 @@ func (m *GetUsersOnlineStatusReq) Reset() { *m = GetUsersOnlineStatusReq func (m *GetUsersOnlineStatusReq) String() string { return proto.CompactTextString(m) } func (*GetUsersOnlineStatusReq) ProtoMessage() {} func (*GetUsersOnlineStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_relay_f693b13cb6a37b62, []int{6} + return fileDescriptor_relay_fe7346d2191b0ff8, []int{6} } func (m *GetUsersOnlineStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUsersOnlineStatusReq.Unmarshal(m, b) @@ -384,7 +384,7 @@ func (m *GetUsersOnlineStatusResp) Reset() { *m = GetUsersOnlineStatusRe func (m *GetUsersOnlineStatusResp) String() string { return proto.CompactTextString(m) } func (*GetUsersOnlineStatusResp) ProtoMessage() {} func (*GetUsersOnlineStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_relay_f693b13cb6a37b62, []int{7} + return fileDescriptor_relay_fe7346d2191b0ff8, []int{7} } func (m *GetUsersOnlineStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUsersOnlineStatusResp.Unmarshal(m, b) @@ -436,6 +436,7 @@ type GetUsersOnlineStatusResp_SuccessDetail struct { Platform string `protobuf:"bytes,1,opt,name=platform" json:"platform,omitempty"` Status string `protobuf:"bytes,2,opt,name=status" json:"status,omitempty"` ConnID string `protobuf:"bytes,3,opt,name=connID" json:"connID,omitempty"` + IsBackground bool `protobuf:"varint,4,opt,name=isBackground" json:"isBackground,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -447,7 +448,7 @@ func (m *GetUsersOnlineStatusResp_SuccessDetail) Reset() { func (m *GetUsersOnlineStatusResp_SuccessDetail) String() string { return proto.CompactTextString(m) } func (*GetUsersOnlineStatusResp_SuccessDetail) ProtoMessage() {} func (*GetUsersOnlineStatusResp_SuccessDetail) Descriptor() ([]byte, []int) { - return fileDescriptor_relay_f693b13cb6a37b62, []int{7, 0} + return fileDescriptor_relay_fe7346d2191b0ff8, []int{7, 0} } func (m *GetUsersOnlineStatusResp_SuccessDetail) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUsersOnlineStatusResp_SuccessDetail.Unmarshal(m, b) @@ -488,6 +489,13 @@ func (m *GetUsersOnlineStatusResp_SuccessDetail) GetConnID() string { return "" } +func (m *GetUsersOnlineStatusResp_SuccessDetail) GetIsBackground() bool { + if m != nil { + return m.IsBackground + } + return false +} + type GetUsersOnlineStatusResp_FailedDetail struct { UserID string `protobuf:"bytes,3,opt,name=userID" json:"userID,omitempty"` ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` @@ -501,7 +509,7 @@ func (m *GetUsersOnlineStatusResp_FailedDetail) Reset() { *m = GetUsersO func (m *GetUsersOnlineStatusResp_FailedDetail) String() string { return proto.CompactTextString(m) } func (*GetUsersOnlineStatusResp_FailedDetail) ProtoMessage() {} func (*GetUsersOnlineStatusResp_FailedDetail) Descriptor() ([]byte, []int) { - return fileDescriptor_relay_f693b13cb6a37b62, []int{7, 1} + return fileDescriptor_relay_fe7346d2191b0ff8, []int{7, 1} } func (m *GetUsersOnlineStatusResp_FailedDetail) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUsersOnlineStatusResp_FailedDetail.Unmarshal(m, b) @@ -557,7 +565,7 @@ func (m *GetUsersOnlineStatusResp_SuccessResult) Reset() { func (m *GetUsersOnlineStatusResp_SuccessResult) String() string { return proto.CompactTextString(m) } func (*GetUsersOnlineStatusResp_SuccessResult) ProtoMessage() {} func (*GetUsersOnlineStatusResp_SuccessResult) Descriptor() ([]byte, []int) { - return fileDescriptor_relay_f693b13cb6a37b62, []int{7, 2} + return fileDescriptor_relay_fe7346d2191b0ff8, []int{7, 2} } func (m *GetUsersOnlineStatusResp_SuccessResult) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUsersOnlineStatusResp_SuccessResult.Unmarshal(m, b) @@ -611,7 +619,7 @@ func (m *KickUserOfflineReq) Reset() { *m = KickUserOfflineReq{} } func (m *KickUserOfflineReq) String() string { return proto.CompactTextString(m) } func (*KickUserOfflineReq) ProtoMessage() {} func (*KickUserOfflineReq) Descriptor() ([]byte, []int) { - return fileDescriptor_relay_f693b13cb6a37b62, []int{8} + return fileDescriptor_relay_fe7346d2191b0ff8, []int{8} } func (m *KickUserOfflineReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_KickUserOfflineReq.Unmarshal(m, b) @@ -662,7 +670,7 @@ func (m *KickUserOfflineResp) Reset() { *m = KickUserOfflineResp{} } func (m *KickUserOfflineResp) String() string { return proto.CompactTextString(m) } func (*KickUserOfflineResp) ProtoMessage() {} func (*KickUserOfflineResp) Descriptor() ([]byte, []int) { - return fileDescriptor_relay_f693b13cb6a37b62, []int{9} + return fileDescriptor_relay_fe7346d2191b0ff8, []int{9} } func (m *KickUserOfflineResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_KickUserOfflineResp.Unmarshal(m, b) @@ -696,7 +704,7 @@ func (m *MultiTerminalLoginCheckReq) Reset() { *m = MultiTerminalLoginCh func (m *MultiTerminalLoginCheckReq) String() string { return proto.CompactTextString(m) } func (*MultiTerminalLoginCheckReq) ProtoMessage() {} func (*MultiTerminalLoginCheckReq) Descriptor() ([]byte, []int) { - return fileDescriptor_relay_f693b13cb6a37b62, []int{10} + return fileDescriptor_relay_fe7346d2191b0ff8, []int{10} } func (m *MultiTerminalLoginCheckReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MultiTerminalLoginCheckReq.Unmarshal(m, b) @@ -756,7 +764,7 @@ func (m *MultiTerminalLoginCheckResp) Reset() { *m = MultiTerminalLoginC func (m *MultiTerminalLoginCheckResp) String() string { return proto.CompactTextString(m) } func (*MultiTerminalLoginCheckResp) ProtoMessage() {} func (*MultiTerminalLoginCheckResp) Descriptor() ([]byte, []int) { - return fileDescriptor_relay_f693b13cb6a37b62, []int{11} + return fileDescriptor_relay_fe7346d2191b0ff8, []int{11} } func (m *MultiTerminalLoginCheckResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MultiTerminalLoginCheckResp.Unmarshal(m, b) @@ -1045,60 +1053,61 @@ var _Relay_serviceDesc = grpc.ServiceDesc{ Metadata: "relay/relay.proto", } -func init() { proto.RegisterFile("relay/relay.proto", fileDescriptor_relay_f693b13cb6a37b62) } +func init() { proto.RegisterFile("relay/relay.proto", fileDescriptor_relay_fe7346d2191b0ff8) } -var fileDescriptor_relay_f693b13cb6a37b62 = []byte{ - // 827 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0x4d, 0x4f, 0xe3, 0x46, - 0x18, 0x96, 0x49, 0xc2, 0xc7, 0x0b, 0xb4, 0x30, 0x85, 0xc6, 0xb8, 0x52, 0x12, 0x7c, 0xa8, 0xa2, - 0xaa, 0x24, 0x52, 0xda, 0x5b, 0x6f, 0x10, 0x41, 0xa3, 0x12, 0x05, 0x4d, 0xa8, 0x5a, 0xb1, 0x87, - 0xac, 0x49, 0x26, 0x89, 0x15, 0xc7, 0x1e, 0x66, 0x6c, 0x10, 0x97, 0xbd, 0xee, 0x65, 0xb5, 0x87, - 0xfd, 0x01, 0x7b, 0xd8, 0x3f, 0xb4, 0x7f, 0x69, 0x35, 0x1f, 0xf1, 0xda, 0x49, 0x4c, 0x96, 0x95, - 0xb8, 0x40, 0xde, 0xc7, 0xef, 0xd7, 0xf3, 0xbc, 0xaf, 0x67, 0x0c, 0xfb, 0x8c, 0x78, 0xce, 0x63, - 0x5d, 0xfe, 0xad, 0x51, 0x16, 0x84, 0x01, 0x2a, 0x48, 0xc3, 0xaa, 0x76, 0x28, 0xf1, 0x4f, 0x5a, - 0xed, 0x93, 0x2e, 0x61, 0xf7, 0x84, 0xd5, 0xe9, 0x64, 0x54, 0x97, 0x0e, 0x75, 0x3e, 0x98, 0xf4, - 0x1e, 0x78, 0xfd, 0x81, 0xab, 0x00, 0xfb, 0xbd, 0x01, 0x7b, 0x1d, 0xdf, 0x73, 0x7d, 0x72, 0x15, - 0xf1, 0x71, 0x9b, 0x8f, 0x30, 0xb9, 0x43, 0x15, 0xd8, 0xee, 0x50, 0xc2, 0x9c, 0xd0, 0x0d, 0xfc, - 0x56, 0xd3, 0x34, 0x2a, 0x46, 0x75, 0x0b, 0x27, 0x21, 0xf4, 0x27, 0x6c, 0x4c, 0xf9, 0xa8, 0xe9, - 0x84, 0x8e, 0xb9, 0x56, 0x31, 0xaa, 0xdb, 0x0d, 0xab, 0xc6, 0x65, 0xa9, 0x9e, 0x43, 0xdd, 0x1e, - 0x75, 0x98, 0x33, 0xe5, 0xb5, 0xb6, 0xf2, 0xc0, 0x33, 0x57, 0x64, 0xc3, 0x0e, 0x8d, 0xf8, 0xf8, - 0x3a, 0xf8, 0x97, 0x13, 0xd6, 0x6a, 0x9a, 0x39, 0x99, 0x38, 0x85, 0xd9, 0x17, 0xb0, 0x3f, 0xd7, - 0x0f, 0xa7, 0xa8, 0x01, 0x79, 0x46, 0x38, 0x35, 0x8d, 0x4a, 0xae, 0xba, 0xdd, 0x28, 0xd5, 0x14, - 0xe5, 0xae, 0xeb, 0x8f, 0x3c, 0xd2, 0xe6, 0x23, 0x15, 0x7c, 0xe5, 0x39, 0xe1, 0x30, 0x60, 0x53, - 0x2c, 0x7d, 0xed, 0xb7, 0x06, 0x1c, 0x09, 0x0f, 0xe2, 0xc5, 0x1e, 0x98, 0xf0, 0xc8, 0x0b, 0x2f, - 0x5d, 0x1e, 0xa2, 0x9f, 0x61, 0x3d, 0x52, 0x4d, 0x28, 0x76, 0xda, 0x8a, 0x2b, 0xad, 0x7d, 0x7b, - 0x25, 0x54, 0x02, 0x08, 0xe2, 0x96, 0x25, 0xa9, 0x4d, 0x9c, 0x40, 0xec, 0x8f, 0x06, 0x98, 0x8a, - 0xd3, 0xa9, 0x13, 0xf6, 0xc7, 0x02, 0xeb, 0xf8, 0xe4, 0x85, 0xb5, 0xfe, 0x0d, 0xf6, 0x92, 0xba, - 0x0a, 0xd2, 0x66, 0xae, 0x92, 0xab, 0x6e, 0xe1, 0x05, 0xdc, 0x76, 0xe1, 0x28, 0xa3, 0x3f, 0x4e, - 0xd1, 0x25, 0xec, 0x71, 0x49, 0x5f, 0xe0, 0x4a, 0x41, 0x3d, 0x87, 0x4a, 0x42, 0x9d, 0xa5, 0x2a, - 0xe3, 0x85, 0x48, 0xfb, 0x11, 0x8a, 0x19, 0x62, 0x0a, 0x19, 0x95, 0xd3, 0x59, 0x30, 0x20, 0x52, - 0x88, 0x1c, 0x4e, 0x20, 0x62, 0x64, 0x98, 0xf4, 0xef, 0x5b, 0x4d, 0x29, 0xc3, 0x16, 0xd6, 0x16, - 0xfa, 0x15, 0x7e, 0x10, 0xbf, 0x44, 0x9e, 0xf3, 0x80, 0x4d, 0xf5, 0x5e, 0x15, 0xf0, 0x1c, 0x6a, - 0x3f, 0x40, 0xf1, 0x82, 0x84, 0xa2, 0x24, 0x57, 0x6c, 0xbb, 0xa1, 0x13, 0x46, 0x5c, 0x0c, 0xa1, - 0x04, 0x10, 0x7d, 0x95, 0xc9, 0x90, 0x32, 0x25, 0x10, 0x31, 0xa4, 0x20, 0x31, 0x24, 0x55, 0x3f, - 0x09, 0x21, 0x0b, 0x36, 0x03, 0x9a, 0x5a, 0xeb, 0xd8, 0xb6, 0x3f, 0xe7, 0xc1, 0x5c, 0x5e, 0x99, - 0x53, 0x64, 0xc2, 0x06, 0x61, 0x2c, 0xa6, 0x5c, 0xc0, 0x33, 0x53, 0xf0, 0x25, 0x8c, 0xb5, 0xf9, - 0x68, 0xc6, 0x57, 0x59, 0xa8, 0x0b, 0xbb, 0x3c, 0xea, 0xf7, 0x09, 0xe7, 0x7a, 0x1a, 0x39, 0x39, - 0x8d, 0x13, 0x3d, 0x8d, 0xac, 0x4a, 0xb5, 0x6e, 0x32, 0x08, 0xa7, 0x73, 0xa0, 0x2b, 0xd8, 0x19, - 0x3a, 0xae, 0x47, 0x06, 0x3a, 0x67, 0x5e, 0xe6, 0xfc, 0x7d, 0x55, 0xce, 0x73, 0x19, 0xd3, 0x24, - 0xa1, 0xe3, 0x7a, 0x38, 0x95, 0xc1, 0x7a, 0x05, 0xbb, 0xba, 0xa2, 0x7a, 0x2c, 0x24, 0xa2, 0x7a, - 0xd6, 0x7a, 0xcd, 0x63, 0x5b, 0x70, 0xe5, 0x32, 0xeb, 0x8c, 0xab, 0xb2, 0x04, 0xde, 0x0f, 0x7c, - 0x3f, 0x16, 0x55, 0x5b, 0xd6, 0xff, 0xb0, 0x93, 0x2c, 0x9d, 0x78, 0x9d, 0x73, 0xa9, 0xd7, 0xf9, - 0xd9, 0xea, 0x5a, 0x9f, 0x8c, 0xb8, 0x6f, 0x2d, 0x4d, 0xd6, 0x51, 0x91, 0xd5, 0xb3, 0x03, 0x07, - 0x03, 0xd9, 0xd5, 0x6c, 0xb3, 0x95, 0x5e, 0xcf, 0x1c, 0x93, 0xd6, 0x74, 0x69, 0x2a, 0xfb, 0x0d, - 0xa0, 0x7f, 0xdc, 0xfe, 0x44, 0x24, 0xe8, 0x0c, 0x87, 0x22, 0x81, 0x3e, 0x4a, 0x82, 0xc5, 0xa3, - 0x24, 0xb9, 0xa5, 0x25, 0x80, 0x99, 0xe4, 0x7a, 0x8d, 0x0b, 0x38, 0x81, 0x88, 0x57, 0x69, 0xa2, - 0xf3, 0xa6, 0x8e, 0x8c, 0x39, 0xd4, 0x3e, 0x84, 0x9f, 0x16, 0xea, 0x73, 0x6a, 0xbf, 0x33, 0xc0, - 0x6a, 0x47, 0x5e, 0xe8, 0x5e, 0x13, 0x36, 0x75, 0x7d, 0xc7, 0xbb, 0x0c, 0x46, 0xae, 0x7f, 0x36, - 0x26, 0xfd, 0x89, 0xe8, 0x2f, 0x4b, 0xc8, 0x55, 0x5d, 0x1d, 0x40, 0x21, 0x0c, 0x26, 0xc4, 0xd7, - 0xb3, 0x55, 0xc6, 0x3c, 0xdb, 0xfc, 0x02, 0x5b, 0xbb, 0x03, 0xbf, 0x64, 0x76, 0xf3, 0x3d, 0x6f, - 0x5e, 0xe3, 0x43, 0x1e, 0xd4, 0x05, 0x8b, 0x4e, 0x61, 0x37, 0x75, 0x4b, 0xa1, 0xa2, 0x1e, 0xeb, - 0xfc, 0x5d, 0x6a, 0x99, 0xcb, 0x1f, 0x70, 0x8a, 0xfe, 0x83, 0x83, 0x65, 0x4b, 0x80, 0x4a, 0x4f, - 0x6e, 0xc8, 0x9d, 0x55, 0x5e, 0xb1, 0x41, 0xe8, 0x06, 0x0e, 0x97, 0x1e, 0xe7, 0xa8, 0x9c, 0xea, - 0x65, 0xf1, 0x32, 0xb2, 0x2a, 0x4f, 0x3b, 0x70, 0x8a, 0x06, 0x50, 0xee, 0x46, 0x94, 0xb0, 0x0b, - 0x16, 0x44, 0xf4, 0xc5, 0xaa, 0xfc, 0x0d, 0x3f, 0xce, 0xed, 0x17, 0x3a, 0xd2, 0x41, 0x8b, 0x7b, - 0x6f, 0x59, 0x59, 0x8f, 0x38, 0x45, 0xaf, 0xa1, 0x98, 0xb1, 0x03, 0xe8, 0x58, 0x87, 0x65, 0x6f, - 0xac, 0x65, 0xaf, 0x72, 0xe1, 0xf4, 0xf4, 0xf8, 0xa6, 0x2c, 0xbe, 0xb6, 0x7a, 0xad, 0x76, 0xe2, - 0x33, 0x4b, 0x86, 0xfd, 0x45, 0x6f, 0xb1, 0xf8, 0x7f, 0xbb, 0x2e, 0xc1, 0x3f, 0xbe, 0x04, 0x00, - 0x00, 0xff, 0xff, 0x2c, 0x2d, 0xc2, 0x83, 0xb1, 0x09, 0x00, 0x00, +var fileDescriptor_relay_fe7346d2191b0ff8 = []byte{ + // 844 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0x4f, 0x6f, 0xe3, 0x44, + 0x14, 0x97, 0x37, 0xc9, 0xee, 0xf6, 0xb5, 0x85, 0xee, 0xd0, 0x25, 0xae, 0x91, 0x92, 0xac, 0x0f, + 0x28, 0x42, 0x34, 0x91, 0x02, 0x37, 0x6e, 0xd9, 0x68, 0x4b, 0x44, 0xa3, 0x54, 0x93, 0x45, 0xa0, + 0xbd, 0x04, 0xd7, 0x99, 0x38, 0x56, 0x1c, 0xcf, 0x74, 0xc6, 0x6e, 0xd5, 0x0b, 0x1c, 0xb9, 0x20, + 0x0e, 0x7c, 0x00, 0x0e, 0x7c, 0x45, 0xbe, 0x00, 0x9a, 0x3f, 0x31, 0x76, 0x12, 0x37, 0x14, 0xa9, + 0x97, 0x36, 0xef, 0xe7, 0xf7, 0xef, 0xf7, 0x7b, 0x6f, 0xc6, 0x86, 0x57, 0x9c, 0x44, 0xde, 0x7d, + 0x57, 0xfd, 0xed, 0x30, 0x4e, 0x13, 0x8a, 0x6a, 0xca, 0x70, 0xda, 0x63, 0x46, 0xe2, 0xf3, 0xe1, + 0xe8, 0x7c, 0x42, 0xf8, 0x2d, 0xe1, 0x5d, 0xb6, 0x0c, 0xba, 0xca, 0xa1, 0x2b, 0x66, 0xcb, 0xe9, + 0x9d, 0xe8, 0xde, 0x09, 0x1d, 0xe0, 0xfe, 0x6e, 0xc1, 0xc9, 0x38, 0x8e, 0xc2, 0x98, 0x5c, 0xa5, + 0x62, 0x31, 0x12, 0x01, 0x26, 0x37, 0xa8, 0x05, 0x87, 0x63, 0x46, 0xb8, 0x97, 0x84, 0x34, 0x1e, + 0x0e, 0x6c, 0xab, 0x65, 0xb5, 0x0f, 0x70, 0x1e, 0x42, 0x5f, 0xc3, 0x8b, 0x95, 0x08, 0x06, 0x5e, + 0xe2, 0xd9, 0xcf, 0x5a, 0x56, 0xfb, 0xb0, 0xe7, 0x74, 0x84, 0x2a, 0x35, 0xf5, 0x58, 0x38, 0x65, + 0x1e, 0xf7, 0x56, 0xa2, 0x33, 0xd2, 0x1e, 0x78, 0xed, 0x8a, 0x5c, 0x38, 0x62, 0xa9, 0x58, 0xbc, + 0xa7, 0xdf, 0x0b, 0xc2, 0x87, 0x03, 0xbb, 0xa2, 0x12, 0x17, 0x30, 0xf7, 0x02, 0x5e, 0x6d, 0xf4, + 0x23, 0x18, 0xea, 0x41, 0x95, 0x13, 0xc1, 0x6c, 0xab, 0x55, 0x69, 0x1f, 0xf6, 0x1a, 0x1d, 0x4d, + 0x79, 0x12, 0xc6, 0x41, 0x44, 0x46, 0x22, 0xd0, 0xc1, 0x57, 0x91, 0x97, 0xcc, 0x29, 0x5f, 0x61, + 0xe5, 0xeb, 0xfe, 0x6a, 0xc1, 0x99, 0xf4, 0x20, 0x51, 0xe6, 0x81, 0x89, 0x48, 0xa3, 0xe4, 0x32, + 0x14, 0x09, 0xfa, 0x14, 0x9e, 0xa7, 0xba, 0x09, 0xcd, 0xce, 0x58, 0x59, 0xa5, 0x67, 0xff, 0xbd, + 0x12, 0x6a, 0x00, 0xd0, 0xac, 0x65, 0x45, 0xea, 0x25, 0xce, 0x21, 0xee, 0x9f, 0x16, 0xd8, 0x9a, + 0x53, 0xdf, 0x4b, 0xfc, 0x85, 0xc4, 0xc6, 0x31, 0x79, 0x62, 0xad, 0xbf, 0x80, 0x93, 0xbc, 0xae, + 0x92, 0xb4, 0x5d, 0x69, 0x55, 0xda, 0x07, 0x78, 0x0b, 0x77, 0x43, 0x38, 0x2b, 0xe9, 0x4f, 0x30, + 0x74, 0x09, 0x27, 0x42, 0xd1, 0x97, 0xb8, 0x56, 0xd0, 0xcc, 0xa1, 0x95, 0x53, 0x67, 0xa7, 0xca, + 0x78, 0x2b, 0xd2, 0xbd, 0x87, 0x7a, 0x89, 0x98, 0x52, 0x46, 0xed, 0xf4, 0x96, 0xce, 0x88, 0x12, + 0xa2, 0x82, 0x73, 0x88, 0x1c, 0x19, 0x26, 0xfe, 0xed, 0x70, 0xa0, 0x64, 0x38, 0xc0, 0xc6, 0x42, + 0x9f, 0xc3, 0x47, 0xf2, 0x97, 0xcc, 0xf3, 0x8e, 0xf2, 0x95, 0xd9, 0xab, 0x1a, 0xde, 0x40, 0xdd, + 0x3b, 0xa8, 0x5f, 0x90, 0x44, 0x96, 0x14, 0x9a, 0xed, 0x24, 0xf1, 0x92, 0x54, 0xc8, 0x21, 0x34, + 0x00, 0xd2, 0x7f, 0x65, 0xb2, 0x94, 0x4c, 0x39, 0x44, 0x0e, 0x89, 0xe6, 0x86, 0xa4, 0xeb, 0xe7, + 0x21, 0xe4, 0xc0, 0x4b, 0xca, 0x0a, 0x6b, 0x9d, 0xd9, 0xee, 0xdf, 0x55, 0xb0, 0x77, 0x57, 0x16, + 0x0c, 0xd9, 0xf0, 0x82, 0x70, 0x9e, 0x51, 0xae, 0xe1, 0xb5, 0x29, 0xf9, 0x12, 0xce, 0x47, 0x22, + 0x58, 0xf3, 0xd5, 0x16, 0x9a, 0xc0, 0xb1, 0x48, 0x7d, 0x9f, 0x08, 0x61, 0xa6, 0x51, 0x51, 0xd3, + 0x38, 0x37, 0xd3, 0x28, 0xab, 0xd4, 0x99, 0xe4, 0x83, 0x70, 0x31, 0x07, 0xba, 0x82, 0xa3, 0xb9, + 0x17, 0x46, 0x64, 0x66, 0x72, 0x56, 0x55, 0xce, 0x2f, 0xf7, 0xe5, 0x7c, 0xa7, 0x62, 0x06, 0x24, + 0xf1, 0xc2, 0x08, 0x17, 0x32, 0x38, 0xbf, 0xc0, 0xb1, 0xa9, 0xa8, 0x1f, 0x4b, 0x89, 0x98, 0x99, + 0xb5, 0x59, 0xf3, 0xcc, 0x96, 0x5c, 0x85, 0xca, 0xba, 0xe6, 0xaa, 0x2d, 0x89, 0xfb, 0x34, 0x8e, + 0x33, 0x51, 0x8d, 0x25, 0x6f, 0x92, 0x50, 0xf4, 0x3d, 0x7f, 0x19, 0x70, 0x9a, 0xc6, 0x33, 0xbb, + 0xaa, 0x0e, 0x5d, 0x01, 0x73, 0x7e, 0x84, 0xa3, 0x7c, 0x7b, 0xb9, 0x23, 0x5f, 0x29, 0x1c, 0xf9, + 0x47, 0x4f, 0xc0, 0xf9, 0xcb, 0xca, 0xb8, 0x19, 0xf9, 0xca, 0xae, 0x93, 0x32, 0x5e, 0x1e, 0x9c, + 0xce, 0x54, 0x57, 0xeb, 0xed, 0xd7, 0x9a, 0x3e, 0x72, 0x94, 0x46, 0xf7, 0x9d, 0xa9, 0xdc, 0x9f, + 0x01, 0x7d, 0x17, 0xfa, 0x4b, 0x99, 0x60, 0x3c, 0x9f, 0xcb, 0x04, 0xe6, 0xba, 0xa1, 0xdb, 0xd7, + 0x4d, 0x7e, 0x93, 0x1b, 0x00, 0xeb, 0xb1, 0x98, 0x55, 0xaf, 0xe1, 0x1c, 0x22, 0x8f, 0xdb, 0xd2, + 0xe4, 0x2d, 0x5c, 0x2b, 0x1b, 0xa8, 0xfb, 0x1a, 0x3e, 0xd9, 0xaa, 0x2f, 0x98, 0xfb, 0x9b, 0x05, + 0xce, 0x28, 0x8d, 0x92, 0xf0, 0x3d, 0xe1, 0xab, 0x30, 0xf6, 0xa2, 0x4b, 0x1a, 0x84, 0xf1, 0xdb, + 0x05, 0xf1, 0x97, 0xb2, 0xbf, 0x32, 0x21, 0xf7, 0x75, 0x75, 0x0a, 0xb5, 0x84, 0x2e, 0x49, 0x6c, + 0x66, 0xab, 0x8d, 0x4d, 0xb6, 0xd5, 0x2d, 0xb6, 0xee, 0x18, 0x3e, 0x2b, 0xed, 0xe6, 0xff, 0x9c, + 0xce, 0xde, 0x1f, 0x55, 0xd0, 0x2f, 0x61, 0xd4, 0x87, 0xe3, 0xc2, 0x9b, 0x0c, 0xd5, 0xcd, 0x58, + 0x37, 0xdf, 0xb7, 0x8e, 0xbd, 0xfb, 0x81, 0x60, 0xe8, 0x07, 0x38, 0xdd, 0xb5, 0x04, 0xa8, 0xf1, + 0xe0, 0x86, 0xdc, 0x38, 0xcd, 0x3d, 0x1b, 0x84, 0x3e, 0xc0, 0xeb, 0x9d, 0x57, 0x3e, 0x6a, 0x16, + 0x7a, 0xd9, 0x7e, 0x61, 0x39, 0xad, 0x87, 0x1d, 0x04, 0x43, 0x33, 0x68, 0x4e, 0x52, 0x46, 0xf8, + 0x05, 0xa7, 0x29, 0x7b, 0xb2, 0x2a, 0xdf, 0xc2, 0xc7, 0x1b, 0xfb, 0x85, 0xce, 0x4c, 0xd0, 0xf6, + 0xde, 0x3b, 0x4e, 0xd9, 0x23, 0xc1, 0xd0, 0x4f, 0x50, 0x2f, 0xd9, 0x01, 0xf4, 0xc6, 0x84, 0x95, + 0x6f, 0xac, 0xe3, 0xee, 0x73, 0x11, 0xac, 0xff, 0xe6, 0x43, 0x53, 0x7e, 0x91, 0x4d, 0x87, 0xa3, + 0xdc, 0xa7, 0x98, 0x0a, 0xfb, 0x86, 0x5d, 0x63, 0xf9, 0xff, 0xfa, 0xb9, 0x02, 0xbf, 0xfa, 0x27, + 0x00, 0x00, 0xff, 0xff, 0xcb, 0xed, 0x6a, 0xe8, 0xd5, 0x09, 0x00, 0x00, } diff --git a/pkg/proto/relay/relay.proto b/pkg/proto/relay/relay.proto index 0520ba1d6..ee1c926cf 100644 --- a/pkg/proto/relay/relay.proto +++ b/pkg/proto/relay/relay.proto @@ -56,6 +56,7 @@ message GetUsersOnlineStatusResp{ string platform = 1; string status = 2; string connID = 3; + bool isBackground = 4; } message FailedDetail{ string userID = 3; From ab176b5b1d2b90e226b05a48e4026085dd3fc379 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 6 Dec 2022 15:42:57 +0800 Subject: [PATCH 064/176] app background --- internal/msg_gateway/gate/callback.go | 15 +++++++-------- internal/msg_gateway/gate/logic.go | 14 +++----------- internal/msg_gateway/gate/ws_server.go | 2 +- pkg/call_back_struct/msg_gateway.go | 13 ++++++------- 4 files changed, 17 insertions(+), 27 deletions(-) diff --git a/internal/msg_gateway/gate/callback.go b/internal/msg_gateway/gate/callback.go index 139d89afc..20d4837f1 100644 --- a/internal/msg_gateway/gate/callback.go +++ b/internal/msg_gateway/gate/callback.go @@ -9,7 +9,7 @@ import ( "time" ) -func callbackUserOnline(operationID, userID string, platformID int, token string, isAppBackgroundStatusChanged bool, connID string) cbApi.CommonCallbackResp { +func callbackUserOnline(operationID, userID string, platformID int, token string, isAppBackground bool, connID string) cbApi.CommonCallbackResp { callbackResp := cbApi.CommonCallbackResp{OperationID: operationID} if !config.Config.Callback.CallbackUserOnline.Enable { return callbackResp @@ -25,9 +25,9 @@ func callbackUserOnline(operationID, userID string, platformID int, token string }, UserID: userID, }, - Seq: int(time.Now().UnixNano() / 1e6), - IsAppBackgroundStatusChanged: isAppBackgroundStatusChanged, - ConnID: connID, + Seq: int(time.Now().UnixNano() / 1e6), + IsAppBackground: isAppBackground, + ConnID: connID, } callbackUserOnlineResp := &cbApi.CallbackUserOnlineResp{CommonCallbackResp: &callbackResp} if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackUserOnlineCommand, callbackUserOnlineReq, callbackUserOnlineResp, config.Config.Callback.CallbackUserOnline.CallbackTimeOut); err != nil { @@ -37,7 +37,7 @@ func callbackUserOnline(operationID, userID string, platformID int, token string return callbackResp } -func callbackUserOffline(operationID, userID string, platformID int, isAppBackgroundStatusChanged bool, connID string) cbApi.CommonCallbackResp { +func callbackUserOffline(operationID, userID string, platformID int, connID string) cbApi.CommonCallbackResp { callbackResp := cbApi.CommonCallbackResp{OperationID: operationID} if !config.Config.Callback.CallbackUserOffline.Enable { return callbackResp @@ -52,9 +52,8 @@ func callbackUserOffline(operationID, userID string, platformID int, isAppBackgr }, UserID: userID, }, - Seq: int(time.Now().UnixNano() / 1e6), - IsAppBackgroundStatusChanged: isAppBackgroundStatusChanged, - ConnID: connID, + Seq: int(time.Now().UnixNano() / 1e6), + ConnID: connID, } callbackUserOfflineResp := &cbApi.CallbackUserOfflineResp{CommonCallbackResp: &callbackResp} if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackUserOfflineCommand, callbackOfflineReq, callbackUserOfflineResp, config.Config.Callback.CallbackUserOffline.CallbackTimeOut); err != nil { diff --git a/internal/msg_gateway/gate/logic.go b/internal/msg_gateway/gate/logic.go index 4c8283b10..f249b9459 100644 --- a/internal/msg_gateway/gate/logic.go +++ b/internal/msg_gateway/gate/logic.go @@ -406,18 +406,10 @@ func (ws *WServer) setUserDeviceBackground(conn *UserConn, m *Req) { if isPass { req := pData.(*sdk_ws.SetAppBackgroundStatusReq) conn.IsBackground = req.IsBackground - if !conn.IsBackground { - callbackResp := callbackUserOnline(m.OperationID, conn.userID, int(conn.PlatformID), conn.token, true, conn.connID) - if callbackResp.ErrCode != 0 { - log.NewError(m.OperationID, utils.GetSelfFuncName(), "callbackUserOffline failed", callbackResp) - } - } else { - callbackResp := callbackUserOffline(m.OperationID, conn.userID, int(conn.PlatformID), true, conn.connID) - if callbackResp.ErrCode != 0 { - log.NewError(m.OperationID, utils.GetSelfFuncName(), "callbackUserOffline failed", callbackResp) - } + callbackResp := callbackUserOnline(m.OperationID, conn.userID, int(conn.PlatformID), conn.token, conn.IsBackground, conn.connID) + if callbackResp.ErrCode != 0 { + log.NewError(m.OperationID, utils.GetSelfFuncName(), "callbackUserOffline failed", callbackResp) } - log.NewInfo(m.OperationID, "SetUserDeviceBackground", "success", *conn, req.IsBackground) } ws.setUserDeviceBackgroundResp(conn, m, errCode, errMsg) diff --git a/internal/msg_gateway/gate/ws_server.go b/internal/msg_gateway/gate/ws_server.go index f7283514f..0d5869e11 100644 --- a/internal/msg_gateway/gate/ws_server.go +++ b/internal/msg_gateway/gate/ws_server.go @@ -388,7 +388,7 @@ func (ws *WServer) delUserConn(conn *UserConn) { if err != nil { log.Error(operationID, " close err", "", "uid", uid, "platform", platform) } - callbackResp := callbackUserOffline(operationID, conn.userID, platform, false, conn.connID) + callbackResp := callbackUserOffline(operationID, conn.userID, platform, conn.connID) if callbackResp.ErrCode != 0 { log.NewError(operationID, utils.GetSelfFuncName(), "callbackUserOffline failed", callbackResp) } diff --git a/pkg/call_back_struct/msg_gateway.go b/pkg/call_back_struct/msg_gateway.go index 235f63105..65d173829 100644 --- a/pkg/call_back_struct/msg_gateway.go +++ b/pkg/call_back_struct/msg_gateway.go @@ -2,10 +2,10 @@ package call_back_struct type CallbackUserOnlineReq struct { UserStatusCallbackReq - Token string `json:"token"` - Seq int `json:"seq"` - IsAppBackgroundStatusChanged bool `json:"isAppBackgroundStatusChanged"` - ConnID string `json:"connID"` + Token string `json:"token"` + Seq int `json:"seq"` + IsAppBackground bool `json:"isAppBackground"` + ConnID string `json:"connID"` } type CallbackUserOnlineResp struct { @@ -14,9 +14,8 @@ type CallbackUserOnlineResp struct { type CallbackUserOfflineReq struct { UserStatusCallbackReq - Seq int `json:"seq"` - IsAppBackgroundStatusChanged bool `json:"isAppBackgroundStatusChanged"` - ConnID string `json:"connID"` + Seq int `json:"seq"` + ConnID string `json:"connID"` } type CallbackUserOfflineResp struct { From f2a35fb833c7a8bc4d507e84e1485f93bb48db61 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Tue, 6 Dec 2022 21:26:47 +0800 Subject: [PATCH 065/176] callback add seq --- internal/push/logic/callback.go | 46 ++++++++++---------- internal/rpc/msg/super_group_notification.go | 14 ------ pkg/call_back_struct/push.go | 2 +- 3 files changed, 24 insertions(+), 38 deletions(-) diff --git a/internal/push/logic/callback.go b/internal/push/logic/callback.go index 8ae4ad190..0f0649558 100644 --- a/internal/push/logic/callback.go +++ b/internal/push/logic/callback.go @@ -75,14 +75,14 @@ func callbackOnlinePush(operationID string, userIDList []string, msg *commonPb.M }, UserIDList: userIDList, }, - OfflinePushInfo: msg.OfflinePushInfo, - ClientMsgID: msg.ClientMsgID, - SendID: msg.SendID, - GroupID: msg.GroupID, - ContentType: msg.ContentType, - SessionType: msg.SessionType, - AtUserIDList: msg.AtUserIDList, - Content: callback.GetContent(msg), + //OfflinePushInfo: msg.OfflinePushInfo, + ClientMsgID: msg.ClientMsgID, + SendID: msg.SendID, + GroupID: msg.GroupID, + ContentType: msg.ContentType, + SessionType: msg.SessionType, + AtUserIDList: msg.AtUserIDList, + Content: callback.GetContent(msg), } resp := &cbApi.CallbackBeforePushResp{CommonCallbackResp: &callbackResp} if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackOnlinePushCommand, req, resp, config.Config.Callback.CallbackOnlinePush.CallbackTimeOut); err != nil { @@ -97,9 +97,9 @@ func callbackOnlinePush(operationID string, userIDList []string, msg *commonPb.M } } if resp.ErrCode == constant.CallbackHandleSuccess && resp.ActionCode == constant.ActionAllow { - if resp.OfflinePushInfo != nil { - msg.OfflinePushInfo = resp.OfflinePushInfo - } + //if resp.OfflinePushInfo != nil { + // msg.OfflinePushInfo = resp.OfflinePushInfo + //} } return callbackResp } @@ -117,15 +117,15 @@ func callbackBeforeSuperGroupOnlinePush(operationID string, groupID string, msg PlatformID: msg.SenderPlatformID, Platform: constant.PlatformIDToName(int(msg.SenderPlatformID)), }, - OfflinePushInfo: msg.OfflinePushInfo, - ClientMsgID: msg.ClientMsgID, - SendID: msg.SendID, - GroupID: groupID, - ContentType: msg.ContentType, - SessionType: msg.SessionType, - AtUserIDList: msg.AtUserIDList, - Content: callback.GetContent(msg), - Seq: msg.Seq, + //OfflinePushInfo: msg.OfflinePushInfo, + ClientMsgID: msg.ClientMsgID, + SendID: msg.SendID, + GroupID: groupID, + ContentType: msg.ContentType, + SessionType: msg.SessionType, + AtUserIDList: msg.AtUserIDList, + Content: callback.GetContent(msg), + Seq: msg.Seq, } resp := &cbApi.CallbackBeforeSuperGroupOnlinePushResp{CommonCallbackResp: &callbackResp} if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackSuperGroupOnlinePushCommand, req, resp, config.Config.Callback.CallbackBeforeSuperGroupOnlinePush.CallbackTimeOut); err != nil { @@ -143,9 +143,9 @@ func callbackBeforeSuperGroupOnlinePush(operationID string, groupID string, msg if len(resp.UserIDList) != 0 { *pushToUserList = resp.UserIDList } - if resp.OfflinePushInfo != nil { - msg.OfflinePushInfo = resp.OfflinePushInfo - } + //if resp.OfflinePushInfo != nil { + // msg.OfflinePushInfo = resp.OfflinePushInfo + //} } log.NewDebug(operationID, utils.GetSelfFuncName(), pushToUserList, resp.UserIDList) return callbackResp diff --git a/internal/rpc/msg/super_group_notification.go b/internal/rpc/msg/super_group_notification.go index 9369c7910..f1966a586 100644 --- a/internal/rpc/msg/super_group_notification.go +++ b/internal/rpc/msg/super_group_notification.go @@ -10,15 +10,6 @@ import ( ) func SuperGroupNotification(operationID, sendID, recvID string) { - - //var tips sdk.TipsComm - //var err error - //marshaler := jsonpb.Marshaler{ - // OrigName: true, - // EnumsAsInts: false, - // EmitDefaults: false, - //} - //tips.JsonDetail, _ = marshaler.MarshalToString(m) n := &NotificationMsg{ SendID: sendID, RecvID: recvID, @@ -27,11 +18,6 @@ func SuperGroupNotification(operationID, sendID, recvID string) { SessionType: constant.SingleChatType, OperationID: operationID, } - //n.Content, err = proto.Marshal(&tips) - //if err != nil { - // log.NewError(operationID, utils.GetSelfFuncName(), "proto.Marshal failed") - // return - //} log.NewInfo(operationID, utils.GetSelfFuncName(), string(n.Content)) Notification(n) } diff --git a/pkg/call_back_struct/push.go b/pkg/call_back_struct/push.go index b327e8d75..68510efda 100644 --- a/pkg/call_back_struct/push.go +++ b/pkg/call_back_struct/push.go @@ -21,7 +21,7 @@ type CallbackBeforePushResp struct { } type CallbackBeforeSuperGroupOnlinePushReq struct { - *commonPb.OfflinePushInfo + //*commonPb.OfflinePushInfo UserStatusBaseCallback ClientMsgID string `json:"clientMsgID"` SendID string `json:"sendID"` From 5d4600a080ccb1f5800c7603004806075c70d2c4 Mon Sep 17 00:00:00 2001 From: skiffer-git <44203734@qq.com> Date: Wed, 7 Dec 2022 10:00:53 +0800 Subject: [PATCH 066/176] Separate the notification --- config/config.yaml | 13 +++++++++++++ internal/rpc/msg/friend_notification.go | 15 ++++++++++++--- internal/rpc/user/user.go | 4 +++- pkg/common/config/config.go | 6 ++++++ pkg/common/constant/constant.go | 1 + 5 files changed, 35 insertions(+), 4 deletions(-) diff --git a/config/config.yaml b/config/config.yaml index f7758615b..2406108a3 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -665,6 +665,19 @@ notification: defaultTips: tips: "Remove a blocked user" + friendInfoUpdated: + conversation: + reliabilityLevel: 2 + unreadCount: false + offlinePush: + switch: true + title: "friend info updated" + desc: "friend info updated" + ext: "friend info updated" + defaultTips: + tips: "friend info updated" + + #####################user######################### userInfoUpdated: conversation: diff --git a/internal/rpc/msg/friend_notification.go b/internal/rpc/msg/friend_notification.go index 08f3880a5..1755c2d78 100644 --- a/internal/rpc/msg/friend_notification.go +++ b/internal/rpc/msg/friend_notification.go @@ -68,6 +68,8 @@ func friendNotification(commID *pbFriend.CommID, contentType int32, m proto.Mess tips.DefaultTips = cn.BlackDeleted.DefaultTips.Tips + toUserNickname case constant.UserInfoUpdatedNotification: tips.DefaultTips = cn.UserInfoUpdated.DefaultTips.Tips + case constant.FriendInfoUpdatedNotification: + tips.DefaultTips = cn.FriendInfoUpdated.DefaultTips.Tips + toUserNickname default: log.Error(commID.OperationID, "contentType failed ", contentType) return @@ -158,8 +160,15 @@ func BlackDeletedNotification(req *pbFriend.RemoveBlacklistReq) { friendNotification(req.CommID, constant.BlackDeletedNotification, &blackDeletedTips) } -func UserInfoUpdatedNotification(operationID, userID string, needNotifiedUserID string) { - selfInfoUpdatedTips := open_im_sdk.UserInfoUpdatedTips{UserID: needNotifiedUserID} - commID := pbFriend.CommID{FromUserID: userID, ToUserID: needNotifiedUserID, OpUserID: userID, OperationID: operationID} +//send to myself +func UserInfoUpdatedNotification(operationID, opUserID string, changedUserID string) { + selfInfoUpdatedTips := open_im_sdk.UserInfoUpdatedTips{UserID: changedUserID} + commID := pbFriend.CommID{FromUserID: opUserID, ToUserID: changedUserID, OpUserID: opUserID, OperationID: operationID} friendNotification(&commID, constant.UserInfoUpdatedNotification, &selfInfoUpdatedTips) } + +func FriendInfoUpdatedNotification(operationID, changedUserID string, needNotifiedUserID string, opUserID string) { + selfInfoUpdatedTips := open_im_sdk.UserInfoUpdatedTips{UserID: changedUserID} + commID := pbFriend.CommID{FromUserID: opUserID, ToUserID: needNotifiedUserID, OpUserID: opUserID, OperationID: operationID} + friendNotification(&commID, constant.FriendInfoUpdatedNotification, &selfInfoUpdatedTips) +} diff --git a/internal/rpc/user/user.go b/internal/rpc/user/user.go index 3b11359ac..b6a55ca0f 100644 --- a/internal/rpc/user/user.go +++ b/internal/rpc/user/user.go @@ -444,12 +444,14 @@ func (s *userServer) UpdateUserInfo(ctx context.Context, req *pbUser.UpdateUserI } for _, v := range rpcResp.FriendInfoList { log.Info(req.OperationID, "UserInfoUpdatedNotification ", req.UserInfo.UserID, v.FriendUser.UserID) - chat.UserInfoUpdatedNotification(req.OperationID, req.UserInfo.UserID, v.FriendUser.UserID) + // chat.UserInfoUpdatedNotification(req.OperationID, req.UserInfo.UserID, v.FriendUser.UserID) + chat.FriendInfoUpdatedNotification(req.OperationID, req.UserInfo.UserID, v.FriendUser.UserID, req.OpUserID) } if err := rocksCache.DelUserInfoFromCache(user.UserID); err != nil { log.NewError(req.OperationID, "GetFriendList failed ", err.Error(), newReq) return &pbUser.UpdateUserInfoResp{CommonResp: &pbUser.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: err.Error()}}, nil } + //chat.UserInfoUpdatedNotification(req.OperationID, req.OpUserID, req.UserInfo.UserID) chat.UserInfoUpdatedNotification(req.OperationID, req.OpUserID, req.UserInfo.UserID) log.Info(req.OperationID, "UserInfoUpdatedNotification ", req.UserInfo.UserID, req.OpUserID) if req.UserInfo.FaceURL != "" { diff --git a/pkg/common/config/config.go b/pkg/common/config/config.go index f2906c2c0..2adf33b47 100644 --- a/pkg/common/config/config.go +++ b/pkg/common/config/config.go @@ -456,6 +456,12 @@ type config struct { OfflinePush POfflinePush `yaml:"offlinePush"` DefaultTips PDefaultTips `yaml:"defaultTips"` } `yaml:"blackDeleted"` + FriendInfoUpdated struct { + Conversation PConversation `yaml:"conversation"` + OfflinePush POfflinePush `yaml:"offlinePush"` + DefaultTips PDefaultTips `yaml:"defaultTips"` + } `yaml:"friendInfoUpdated"` + ConversationOptUpdate struct { Conversation PConversation `yaml:"conversation"` OfflinePush POfflinePush `yaml:"offlinePush"` diff --git a/pkg/common/constant/constant.go b/pkg/common/constant/constant.go index 54a3e2bc8..719541316 100644 --- a/pkg/common/constant/constant.go +++ b/pkg/common/constant/constant.go @@ -65,6 +65,7 @@ const ( FriendRemarkSetNotification = 1206 //set_friend_remark? BlackAddedNotification = 1207 //add_black BlackDeletedNotification = 1208 //remove_black + FriendInfoUpdatedNotification = 1209 ConversationOptChangeNotification = 1300 // change conversation opt From f190611bccb7e4196dc1157d4d96e278b2aa0a31 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Wed, 7 Dec 2022 10:56:57 +0800 Subject: [PATCH 067/176] add friend notification --- internal/rpc/msg/send_msg.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/internal/rpc/msg/send_msg.go b/internal/rpc/msg/send_msg.go index 269758dc6..b3a3cb745 100644 --- a/internal/rpc/msg/send_msg.go +++ b/internal/rpc/msg/send_msg.go @@ -1000,6 +1000,13 @@ func Notification(n *NotificationMsg) { ex = config.Config.Notification.ConversationSetPrivate.OfflinePush.Ext reliabilityLevel = config.Config.Notification.ConversationSetPrivate.Conversation.ReliabilityLevel unReadCount = config.Config.Notification.ConversationSetPrivate.Conversation.UnreadCount + case constant.FriendInfoUpdatedNotification: + pushSwitch = config.Config.Notification.FriendInfoUpdated.OfflinePush.PushSwitch + title = config.Config.Notification.FriendInfoUpdated.OfflinePush.Title + desc = config.Config.Notification.FriendInfoUpdated.OfflinePush.Desc + ex = config.Config.Notification.FriendInfoUpdated.OfflinePush.Ext + reliabilityLevel = config.Config.Notification.FriendInfoUpdated.Conversation.ReliabilityLevel + unReadCount = config.Config.Notification.FriendInfoUpdated.Conversation.UnreadCount case constant.DeleteMessageNotification: reliabilityLevel = constant.ReliableNotificationNoMsg case constant.ConversationUnreadNotification, constant.SuperGroupUpdateNotification: From be01c4da0c9e1a3f03d6a3f9f19174071e1b525f Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 7 Dec 2022 21:12:48 +0800 Subject: [PATCH 068/176] dek jinzhu --- config/config.yaml | 4 + go.mod | 1 - go.sum | 2 - internal/api/client_init/init_config.go | 10 +-- internal/demo/register/ip_limit.go | 1 - .../logic/online_msg_to_mongo_handler.go | 2 +- internal/rpc/msg/callback.go | 6 ++ pkg/common/config/config.go | 1 + pkg/common/constant/constant.go | 4 + pkg/common/db/extend_msg_mongo_model.go | 79 +++++++++++++------ .../im_mysql_model/friend_model.go | 2 - .../im_mysql_model/invitation_model.go | 5 -- pkg/common/db/rocks_cache/rocks_cache.go | 2 +- pkg/proto/msg/msg.proto | 24 ++++++ pkg/proto/sdk_ws/ws.proto | 26 +++++- 15 files changed, 126 insertions(+), 43 deletions(-) diff --git a/config/config.yaml b/config/config.yaml index 2406108a3..966c613f4 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -345,6 +345,10 @@ callback: enable: false callbackTimeOut: 2 callbackFailedContinue: true # 回调超时是否继续 + callbackBeforeExtendMsgModify: + enable: false + callbackTimeOut: 2 + callbackFailedContinue: true # 回调超时是否继续 notification: groupCreated: diff --git a/go.mod b/go.mod index 3c231e7ff..330008db8 100644 --- a/go.mod +++ b/go.mod @@ -29,7 +29,6 @@ require ( github.com/gorilla/websocket v1.4.2 github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 github.com/jinzhu/copier v0.3.4 - github.com/jinzhu/gorm v1.9.16 github.com/jonboulle/clockwork v0.2.2 // indirect github.com/lestrrat-go/file-rotatelogs v2.4.0+incompatible github.com/lestrrat-go/strftime v1.0.4 // indirect diff --git a/go.sum b/go.sum index d2621af33..c3a219fcb 100644 --- a/go.sum +++ b/go.sum @@ -368,8 +368,6 @@ github.com/jcmturner/rpc/v2 v2.0.3 h1:7FXXj8Ti1IaVFpSAziCZWNzbNuZmnvw/i6CqLNdWfZ github.com/jcmturner/rpc/v2 v2.0.3/go.mod h1:VUJYCIDm3PVOEHw8sgt091/20OJjskO/YJki3ELg/Hc= github.com/jinzhu/copier v0.3.4 h1:mfU6jI9PtCeUjkjQ322dlff9ELjGDu975C2p/nrubVI= github.com/jinzhu/copier v0.3.4/go.mod h1:DfbEm0FYsaqBcKcFuvmOZb218JkPGtvSHsKg8S8hyyg= -github.com/jinzhu/gorm v1.9.16 h1:+IyIjPEABKRpsu/F8OvDPy9fyQlgsg2luMV2ZIH5i5o= -github.com/jinzhu/gorm v1.9.16/go.mod h1:G3LB3wezTOWM2ITLzPxEXgSkOXAntiLHS7UdBefADcs= github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= github.com/jinzhu/now v1.0.1/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= diff --git a/internal/api/client_init/init_config.go b/internal/api/client_init/init_config.go index de08fc90c..2138603c4 100644 --- a/internal/api/client_init/init_config.go +++ b/internal/api/client_init/init_config.go @@ -9,7 +9,6 @@ import ( "net/http" "github.com/gin-gonic/gin" - "github.com/jinzhu/gorm" ) func SetClientInitConfig(c *gin.Context) { @@ -62,11 +61,10 @@ func GetClientInitConfig(c *gin.Context) { } config, err := imdb.GetClientInitConfig() if err != nil { - if !gorm.IsRecordNotFoundError(err) { - log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error()) - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": err.Error()}) - return - } + log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error()) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": err.Error()}) + return + } resp.Data.DiscoverPageURL = config.DiscoverPageURL log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp ", resp) diff --git a/internal/demo/register/ip_limit.go b/internal/demo/register/ip_limit.go index a94e51e74..401927613 100644 --- a/internal/demo/register/ip_limit.go +++ b/internal/demo/register/ip_limit.go @@ -10,7 +10,6 @@ import ( "github.com/gin-gonic/gin" - //"github.com/jinzhu/gorm" "net/http" "time" ) diff --git a/internal/msg_transfer/logic/online_msg_to_mongo_handler.go b/internal/msg_transfer/logic/online_msg_to_mongo_handler.go index f08b59965..11bc399ad 100644 --- a/internal/msg_transfer/logic/online_msg_to_mongo_handler.go +++ b/internal/msg_transfer/logic/online_msg_to_mongo_handler.go @@ -61,7 +61,7 @@ func (mc *OnlineHistoryMongoConsumerHandler) handleChatWs2Mongo(cMsg *sarama.Con if unexistSeqList, err := db.DB.DelMsgBySeqList(DeleteMessageTips.UserID, DeleteMessageTips.SeqList, v.OperationID); err != nil { log.NewError(v.OperationID, utils.GetSelfFuncName(), "DelMsgBySeqList args: ", DeleteMessageTips.UserID, DeleteMessageTips.SeqList, v.OperationID, err.Error(), unexistSeqList) } - + //if v.MsgData.ContentType == ? {} } } } diff --git a/internal/rpc/msg/callback.go b/internal/rpc/msg/callback.go index 5fae1e133..a927e7afc 100644 --- a/internal/rpc/msg/callback.go +++ b/internal/rpc/msg/callback.go @@ -221,3 +221,9 @@ func callbackMsgModify(msg *pbChat.SendMsgReq) cbApi.CommonCallbackResp { log.NewDebug(msg.OperationID, utils.GetSelfFuncName(), string(msg.MsgData.Content)) return callbackResp } + +func CallbackBeforeExtendMsgModify() cbApi.CommonCallbackResp { + callbackResp := cbApi.CommonCallbackResp{OperationID: msg.OperationID} + + return callbackResp +} diff --git a/pkg/common/config/config.go b/pkg/common/config/config.go index 2adf33b47..e1942a66d 100644 --- a/pkg/common/config/config.go +++ b/pkg/common/config/config.go @@ -292,6 +292,7 @@ type config struct { CallbackBeforeAddFriend callBackConfig `yaml:"callbackBeforeAddFriend"` CallbackBeforeCreateGroup callBackConfig `yaml:"callbackBeforeCreateGroup"` CallbackBeforeMemberJoinGroup callBackConfig `yaml:"callbackBeforeMemberJoinGroup"` + CallbackBeforeExtendMsgModify callBackConfig `yaml:"callbackBeforeExtendMsgModify"` } `yaml:"callback"` Notification struct { ///////////////////////group///////////////////////////// diff --git a/pkg/common/constant/constant.go b/pkg/common/constant/constant.go index 719541316..ff2e0097f 100644 --- a/pkg/common/constant/constant.go +++ b/pkg/common/constant/constant.go @@ -112,6 +112,10 @@ const ( WorkMomentNotificationBegin = 1900 WorkMomentNotification = 1901 + BusinessNotificationBegin = 2000 + BusinessNotification = 2001 + BusinessNotificationEnd = 2099 + NotificationEnd = 3000 //status diff --git a/pkg/common/db/extend_msg_mongo_model.go b/pkg/common/db/extend_msg_mongo_model.go index 7ee7c0650..f25731aea 100644 --- a/pkg/common/db/extend_msg_mongo_model.go +++ b/pkg/common/db/extend_msg_mongo_model.go @@ -6,6 +6,7 @@ import ( "context" "fmt" "go.mongodb.org/mongo-driver/bson/primitive" + "go.mongodb.org/mongo-driver/mongo/options" "strconv" "time" @@ -15,24 +16,26 @@ import ( const cExtendMsgSet = "extend_msg_set" type ExtendMsgSet struct { - ID string `bson:"id" json:"ID"` - ExtendMsgs []*ExtendMsg `bson:"extend_msgs" json:"extendMsgs"` - LatestUpdateTime int32 `bson:"latest_update_time" json:"latestUpdateTime"` - AttachedInfo *string `bson:"attached_info" json:"attachedInfo"` - Ex *string `bson:"ex" json:"ex"` - ExtendMsgNum int32 `bson:"extend_msg_num" json:"extendMsgNum"` - CreateTime int32 `bson:"create_time" json:"createTime"` + ID string `bson:"id" json:"ID"` + ExtendMsgs map[string]ExtendMsg `bson:"extend_msgs" json:"extendMsgs"` + LatestUpdateTime int32 `bson:"latest_update_time" json:"latestUpdateTime"` + AttachedInfo *string `bson:"attached_info" json:"attachedInfo"` + Ex *string `bson:"ex" json:"ex"` + ExtendMsgNum int32 `bson:"extend_msg_num" json:"extendMsgNum"` + CreateTime int32 `bson:"create_time" json:"createTime"` } type ReactionExtendMsgSet struct { - UserKey string `bson:"user_key" json:"userKey"` - Value string `bson:"value" json:"value"` + UserKey string `bson:"user_key" json:"userKey"` + Value string `bson:"value" json:"value"` + LatestUpdateTime int32 `bson:"latest_update_time" json:"latestUpdateTime"` } type ExtendMsg struct { - Content []*ReactionExtendMsgSet `bson:"content" json:"content"` - ClientMsgID string `bson:"client_msg_id" json:"clientMsgID"` - CreateTime int32 `bson:"create_time" json:"createTime"` + Content []*ReactionExtendMsgSet `bson:"content" json:"content"` + ClientMsgID string `bson:"client_msg_id" json:"clientMsgID"` + CreateTime int32 `bson:"create_time" json:"createTime"` + LatestUpdateTime int32 `bson:"latest_update_time" json:"latestUpdateTime"` } func GetExtendMsgSetID(ID string, index int32) string { @@ -46,11 +49,22 @@ func (d *DataBases) CreateExtendMsgSet(set *ExtendMsgSet) error { return err } -func (d *DataBases) GetAllExtendMsgSet(ID string) (sets []*ExtendMsgSet, err error) { +type GetAllExtendMsgSetOpts struct { + ExcludeExtendMsgs bool +} + +func (d *DataBases) GetAllExtendMsgSet(ID string, opts *GetAllExtendMsgSetOpts) (sets []*ExtendMsgSet, err error) { ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) regex := fmt.Sprintf("^%s", ID) - cursor, err := c.Find(ctx, bson.M{"uid": primitive.Regex{Pattern: regex}}) + var findOpts *options.FindOptions + if opts != nil { + if opts.ExcludeExtendMsgs { + findOpts = &options.FindOptions{} + findOpts.SetProjection(bson.M{"extend_msgs": 0}) + } + } + cursor, err := c.Find(ctx, bson.M{"uid": primitive.Regex{Pattern: regex}}, findOpts) if err != nil { return nil, utils.Wrap(err, "") } @@ -62,43 +76,62 @@ func (d *DataBases) GetAllExtendMsgSet(ID string) (sets []*ExtendMsgSet, err err } type GetExtendMsgSetOpts struct { - IncludeExtendMsgs bool + ExcludeExtendMsgs bool } func (d *DataBases) GetExtendMsgSet(ID string, index int32, opts *GetExtendMsgSetOpts) (*ExtendMsgSet, error) { ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) var set ExtendMsgSet - err := c.FindOne(ctx, bson.M{"uid": GetExtendMsgSetID(ID, index)}).Decode(&set) + var findOneOpt *options.FindOneOptions + if opts != nil { + if opts.ExcludeExtendMsgs { + findOneOpt = &options.FindOneOptions{} + findOneOpt.SetProjection(bson.M{"extend_msgs": 0}) + } + } + err := c.FindOne(ctx, bson.M{"uid": GetExtendMsgSetID(ID, index)}, findOneOpt).Decode(&set) return &set, err } -func (d *DataBases) InsertExtendMsg(ID string, index int32, msg *ExtendMsg) (msgIndex int32, err error) { +func (d *DataBases) InsertExtendMsgAndGetIndex(ID string, index int32, msg *ExtendMsg) (msgIndex int32, err error) { ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) - result := c.FindOneAndUpdate(ctx, bson.M{"uid": GetExtendMsgSetID(ID, index)}, bson.M{"$set": bson.M{"create_time": utils.GetCurrentTimestampBySecond(), "$inc": bson.M{"extend_msg_num": 1}, "$push": bson.M{"extend_msgs": msg}}}) + result := c.FindOneAndUpdate(ctx, bson.M{"uid": GetExtendMsgSetID(ID, index)}, bson.M{"$set": bson.M{"latest_update_time": utils.GetCurrentTimestampBySecond(), "$inc": bson.M{"extend_msg_num": 1}, "$push": bson.M{"extend_msgs": msg}}}) set := &ExtendMsgSet{} err = result.Decode(set) return set.ExtendMsgNum, err } -func (d *DataBases) UpdateOneExtendMsgSet(ID string, index, MsgIndex int32, userIndex string, value string) error { +func (d *DataBases) InsertOrUpdateReactionExtendMsgSet(ID string, index, msgIndex int32, userID, value string) error { ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) - _, err := c.UpdateOne(ctx, bson.M{"uid": GetExtendMsgSetID(ID, index)}, bson.M{}) + reactionExtendMsgSet := ReactionExtendMsgSet{ + UserKey: userID, + Value: value, + LatestUpdateTime: int32(utils.GetCurrentTimestampBySecond()), + } + upsert := true + opt := &options.UpdateOptions{ + Upsert: &upsert, + } + //s := fmt.Sprintf("extend_msgs.%d.content", msgIndex) + _, err := c.UpdateOne(ctx, bson.M{"uid": GetExtendMsgSetID(ID, index), "extend_msgs": bson.M{"$slice": msgIndex}}, bson.M{"$set": bson.M{"latest_update_time": utils.GetCurrentTimestampBySecond()}, "&push": bson.M{"content": &reactionExtendMsgSet}}, opt) return err } -func (d *DataBases) DelOneExtendMsgSetUserKey(ID string, index, MsgIndex int32, userIndex string, userID string) error { +func (d *DataBases) DeleteReactionExtendMsgSet(ID string, index, msgIndex int32, userID string) error { ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) - _, err := c.DeleteOne(ctx, bson.M{"uid": GetExtendMsgSetID(ID, index)}) + //s := fmt.Sprintf("extend_msgs.%d.content", msgIndex) + _, err := c.DeleteOne(ctx, bson.M{"uid": GetExtendMsgSetID(ID, index), "extend_msgs": bson.M{"$slice": msgIndex}}) return err } +// by index start end func (d *DataBases) GetExtendMsgList(ID string, index, msgStartIndex, msgEndIndex int32) (extendMsgList []*ExtendMsg, err error) { ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) - err = c.FindOne(ctx, bson.M{"uid": GetExtendMsgSetID(ID, index)}).Decode(&extendMsgList) + err = c.FindOne(ctx, bson.M{"uid": GetExtendMsgSetID(ID, index), "extend_msgs": bson.M{"$slice": []int32{msgStartIndex, msgEndIndex}}}).Decode(&extendMsgList) return extendMsgList, err } diff --git a/pkg/common/db/mysql_model/im_mysql_model/friend_model.go b/pkg/common/db/mysql_model/im_mysql_model/friend_model.go index 7cae9f9d0..4e4340d84 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/friend_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/friend_model.go @@ -4,8 +4,6 @@ import ( "Open_IM/pkg/common/db" "fmt" "time" - - _ "github.com/jinzhu/gorm/dialects/mysql" ) func InsertToFriend(toInsertFollow *db.Friend) error { diff --git a/pkg/common/db/mysql_model/im_mysql_model/invitation_model.go b/pkg/common/db/mysql_model/im_mysql_model/invitation_model.go index ddbe974c5..80d2f768a 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/invitation_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/invitation_model.go @@ -5,8 +5,6 @@ import ( "errors" "math/rand" "time" - - "github.com/jinzhu/gorm" ) /** @@ -89,9 +87,6 @@ func GetInvitationCode(code string) (*db.Invitation, error) { InvitationCode: code, } err := db.DB.MysqlDB.DefaultGormDB().Model(invitation).Find(invitation).Error - if gorm.IsRecordNotFoundError(err) { - return invitation, nil - } return invitation, err } diff --git a/pkg/common/db/rocks_cache/rocks_cache.go b/pkg/common/db/rocks_cache/rocks_cache.go index e95557ad3..f5b98869c 100644 --- a/pkg/common/db/rocks_cache/rocks_cache.go +++ b/pkg/common/db/rocks_cache/rocks_cache.go @@ -569,7 +569,7 @@ func DelConversationFromCache(ownerUserID, conversationID string) error { func GetExtendMsgSetFromCache(ID string, index int32) (*db.ExtendMsgSet, error) { getExtendMsgSet := func() (string, error) { - extendMsgSet, err := db.DB.GetExtendMsgSet(ID, index, &db.GetExtendMsgSetOpts{IncludeExtendMsgs: false}) + extendMsgSet, err := db.DB.GetExtendMsgSet(ID, index, &db.GetExtendMsgSetOpts{ExcludeExtendMsgs: false}) if err != nil { return "", utils.Wrap(err, "GetExtendMsgSet failed") } diff --git a/pkg/proto/msg/msg.proto b/pkg/proto/msg/msg.proto index c32a4ed47..38144eec9 100644 --- a/pkg/proto/msg/msg.proto +++ b/pkg/proto/msg/msg.proto @@ -1,5 +1,6 @@ syntax = "proto3"; import "Open-IM-Server/pkg/proto/sdk_ws/ws.proto"; +import "Open-IM-Server/pkg/proto/sdk_ws/wrappers.proto"; option go_package = "Open_IM/pkg/proto/msg;msg"; package msg; @@ -153,6 +154,26 @@ message GetWriteDiffMsgResp{ server_api_params.MsgData msgData = 3; } +message ModifyMsgReq { + string operationID = 1; + string ID = 2; + int32 Index = 3; + int32 msgIndex = 4; + string opUserID = 5; + string userID = 6; + bool isFirstModify = 7; + string clientMsgID = 8; + google.protobuf.StringValue value = 9; + google.protobuf.StringValue ex = 10; + google.protobuf.StringValue attachedInfo = 11; +} + +message ModifyMsgResp { + int32 errCode = 1; + string errMsg = 2; + int32 Index = 4; + int32 msgIndex = 3; +} service msg { rpc GetMaxAndMinSeq(server_api_params.GetMaxAndMinSeqReq) returns(server_api_params.GetMaxAndMinSeqResp); @@ -166,4 +187,7 @@ service msg { rpc GetSendMsgStatus(GetSendMsgStatusReq) returns(GetSendMsgStatusResp); rpc GetSuperGroupMsg(GetSuperGroupMsgReq) returns(GetSuperGroupMsgResp); rpc GetWriteDiffMsg(GetWriteDiffMsgReq) returns(GetWriteDiffMsgResp); + + // modify msg + rpc ModifyMsg(ModifyMsgReq) returns(ModifyMsgResp); } diff --git a/pkg/proto/sdk_ws/ws.proto b/pkg/proto/sdk_ws/ws.proto index e7b3932b1..b8c232965 100644 --- a/pkg/proto/sdk_ws/ws.proto +++ b/pkg/proto/sdk_ws/ws.proto @@ -704,4 +704,28 @@ message SetAppBackgroundStatusReq { message SetAppBackgroundStatusResp { int32 errCode = 1; string errMsg = 2; -} \ No newline at end of file +} + +message ExtendMsgSet { + string ID = 1; + repeated ExtendMsg extendMsgs = 2; + int32 latestUpdateTime = 3; + string attachedInfo = 4; + string ex = 5; + int32 extendMsgNum = 6; + int32 createTime = 7; +} + +message ExtendMsg { + repeated ReactionExtendMsgSet content = 1; + string clientMsgID = 2; + int32 createTime = 3; + int32 latestUpdateTime = 4; +} + +message ReactionExtendMsgSet { + string userKey = 1; + string value = 2; + int32 latestUpdateTime = 3; +} + From 0e726a20ba079745bd96b2df56fa1d34eb92b7fd Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Thu, 8 Dec 2022 12:54:39 +0800 Subject: [PATCH 069/176] modify --- internal/rpc/msg/callback.go | 2 +- pkg/common/db/extend_msg_mongo_model.go | 36 +++++++++++------------- pkg/common/db/rocks_cache/rocks_cache.go | 15 ++++------ 3 files changed, 24 insertions(+), 29 deletions(-) diff --git a/internal/rpc/msg/callback.go b/internal/rpc/msg/callback.go index a927e7afc..b4ae38418 100644 --- a/internal/rpc/msg/callback.go +++ b/internal/rpc/msg/callback.go @@ -223,7 +223,7 @@ func callbackMsgModify(msg *pbChat.SendMsgReq) cbApi.CommonCallbackResp { } func CallbackBeforeExtendMsgModify() cbApi.CommonCallbackResp { - callbackResp := cbApi.CommonCallbackResp{OperationID: msg.OperationID} + callbackResp := cbApi.CommonCallbackResp{OperationID: ""} return callbackResp } diff --git a/pkg/common/db/extend_msg_mongo_model.go b/pkg/common/db/extend_msg_mongo_model.go index f25731aea..45e97ee25 100644 --- a/pkg/common/db/extend_msg_mongo_model.go +++ b/pkg/common/db/extend_msg_mongo_model.go @@ -13,7 +13,7 @@ import ( "go.mongodb.org/mongo-driver/bson" ) -const cExtendMsgSet = "extend_msg_set" +const cExtendMsgSet = "extend_msgs" type ExtendMsgSet struct { ID string `bson:"id" json:"ID"` @@ -32,10 +32,10 @@ type ReactionExtendMsgSet struct { } type ExtendMsg struct { - Content []*ReactionExtendMsgSet `bson:"content" json:"content"` - ClientMsgID string `bson:"client_msg_id" json:"clientMsgID"` - CreateTime int32 `bson:"create_time" json:"createTime"` - LatestUpdateTime int32 `bson:"latest_update_time" json:"latestUpdateTime"` + Content map[string]ReactionExtendMsgSet `bson:"content" json:"content"` + ClientMsgID string `bson:"client_msg_id" json:"clientMsgID"` + CreateTime int32 `bson:"create_time" json:"createTime"` + LatestUpdateTime int32 `bson:"latest_update_time" json:"latestUpdateTime"` } func GetExtendMsgSetID(ID string, index int32) string { @@ -94,16 +94,16 @@ func (d *DataBases) GetExtendMsgSet(ID string, index int32, opts *GetExtendMsgSe return &set, err } -func (d *DataBases) InsertExtendMsgAndGetIndex(ID string, index int32, msg *ExtendMsg) (msgIndex int32, err error) { +// first modify msg +func (d *DataBases) InsertExtendMsgAndGetIndex(ID string, index int32, msg *ExtendMsg) error { ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) - result := c.FindOneAndUpdate(ctx, bson.M{"uid": GetExtendMsgSetID(ID, index)}, bson.M{"$set": bson.M{"latest_update_time": utils.GetCurrentTimestampBySecond(), "$inc": bson.M{"extend_msg_num": 1}, "$push": bson.M{"extend_msgs": msg}}}) - set := &ExtendMsgSet{} - err = result.Decode(set) - return set.ExtendMsgNum, err + _, err := c.UpdateOne(ctx, bson.M{"uid": GetExtendMsgSetID(ID, index)}, bson.M{"$set": bson.M{"latest_update_time": utils.GetCurrentTimestampBySecond(), "$inc": bson.M{"extend_msg_num": 1}, fmt.Sprintf("extend_msgs.%s", msg.ClientMsgID): msg}}) + return err } -func (d *DataBases) InsertOrUpdateReactionExtendMsgSet(ID string, index, msgIndex int32, userID, value string) error { +// insert or update +func (d *DataBases) InsertOrUpdateReactionExtendMsgSet(ID string, index int32, clientMsgID, userID, value string) error { ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) reactionExtendMsgSet := ReactionExtendMsgSet{ @@ -115,23 +115,21 @@ func (d *DataBases) InsertOrUpdateReactionExtendMsgSet(ID string, index, msgInde opt := &options.UpdateOptions{ Upsert: &upsert, } - //s := fmt.Sprintf("extend_msgs.%d.content", msgIndex) - _, err := c.UpdateOne(ctx, bson.M{"uid": GetExtendMsgSetID(ID, index), "extend_msgs": bson.M{"$slice": msgIndex}}, bson.M{"$set": bson.M{"latest_update_time": utils.GetCurrentTimestampBySecond()}, "&push": bson.M{"content": &reactionExtendMsgSet}}, opt) + _, err := c.UpdateOne(ctx, bson.M{"uid": GetExtendMsgSetID(ID, index)}, bson.M{"$set": bson.M{"latest_update_time": utils.GetCurrentTimestampBySecond()}, fmt.Sprintf("extend_msgs.%s.%s", clientMsgID, userID): reactionExtendMsgSet}, opt) return err } -func (d *DataBases) DeleteReactionExtendMsgSet(ID string, index, msgIndex int32, userID string) error { +func (d *DataBases) DeleteReactionExtendMsgSet(ID string, index int32, clientMsgID, userID string) error { ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) - //s := fmt.Sprintf("extend_msgs.%d.content", msgIndex) - _, err := c.DeleteOne(ctx, bson.M{"uid": GetExtendMsgSetID(ID, index), "extend_msgs": bson.M{"$slice": msgIndex}}) + _, err := c.UpdateOne(ctx, bson.M{"uid": GetExtendMsgSetID(ID, index)}, bson.M{"$unset": bson.M{}}) return err } // by index start end -func (d *DataBases) GetExtendMsgList(ID string, index, msgStartIndex, msgEndIndex int32) (extendMsgList []*ExtendMsg, err error) { +func (d *DataBases) GetExtendMsgList(ID string, index int32, clientMsgID string) (extendMsg *ExtendMsg, err error) { ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) - err = c.FindOne(ctx, bson.M{"uid": GetExtendMsgSetID(ID, index), "extend_msgs": bson.M{"$slice": []int32{msgStartIndex, msgEndIndex}}}).Decode(&extendMsgList) - return extendMsgList, err + err = c.FindOne(ctx, bson.M{"uid": GetExtendMsgSetID(ID, index), "extend_msgs": bson.M{}}).Decode(&extendMsg) + return extendMsg, err } diff --git a/pkg/common/db/rocks_cache/rocks_cache.go b/pkg/common/db/rocks_cache/rocks_cache.go index f5b98869c..3edb9f238 100644 --- a/pkg/common/db/rocks_cache/rocks_cache.go +++ b/pkg/common/db/rocks_cache/rocks_cache.go @@ -595,23 +595,20 @@ func DelExtendMsgSetFromCache(ID string, index int32) error { return utils.Wrap(db.DB.Rc.TagAsDeleted(extendMsgSetCache+db.GetExtendMsgSetID(ID, index)), "DelExtendMsgSetFromCache err") } -func GetExtendMsg(ID string, index, extendMsgIndex int32) (*db.ExtendMsg, error) { +func GetExtendMsg(ID string, index int32, clientMsgID string) (*db.ExtendMsg, error) { getExtendMsg := func() (string, error) { - extendMsg, err := db.DB.GetExtendMsgList(ID, index, extendMsgIndex, extendMsgIndex+1) + extendMsg, err := db.DB.GetExtendMsgList(ID, index, clientMsgID) if err != nil { return "", utils.Wrap(err, "GetExtendMsgList failed") } - if len(extendMsg) == 0 { - return "", nil - } - bytes, err := json.Marshal(extendMsg[0]) + bytes, err := json.Marshal(extendMsg) if err != nil { return "", utils.Wrap(err, "Marshal failed") } return string(bytes), nil } - extendMsgStr, err := db.DB.Rc.Fetch(extendMsgCache+db.GetExtendMsgSetID(ID, index)+":"+strconv.Itoa(int(extendMsgIndex)), time.Second*30*60, getExtendMsg) + extendMsgStr, err := db.DB.Rc.Fetch(extendMsgCache+db.GetExtendMsgSetID(ID, index)+":"+clientMsgID, time.Second*30*60, getExtendMsg) if err != nil { return nil, utils.Wrap(err, "Fetch failed") } @@ -623,6 +620,6 @@ func GetExtendMsg(ID string, index, extendMsgIndex int32) (*db.ExtendMsg, error) return extendMsg, nil } -func DelExtendMsg(ID string, index, extendMsgIndex int32) error { - return utils.Wrap(db.DB.Rc.TagAsDeleted(extendMsgCache+db.GetExtendMsgSetID(ID, index)+":"+strconv.Itoa(int(extendMsgIndex))), "DelExtendMsg err") +func DelExtendMsg(ID string, index int32, clientMsgID string) error { + return utils.Wrap(db.DB.Rc.TagAsDeleted(extendMsgCache+db.GetExtendMsgSetID(ID, index)+":"+clientMsgID), "DelExtendMsg err") } From a4e2e23fbe9aeb785eab6242933bdd0e7427c4e2 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Thu, 8 Dec 2022 19:50:28 +0800 Subject: [PATCH 070/176] modify --- pkg/common/db/extend_msg_mongo_model.go | 32 +- pkg/proto/msg/msg.pb.go | 709 ++++++++++++++++--- pkg/proto/msg/msg.proto | 53 +- pkg/proto/sdk_ws/ws.pb.go | 880 +++++++++++++++--------- pkg/proto/sdk_ws/ws.proto | 26 +- 5 files changed, 1243 insertions(+), 457 deletions(-) diff --git a/pkg/common/db/extend_msg_mongo_model.go b/pkg/common/db/extend_msg_mongo_model.go index 45e97ee25..d4229ba3a 100644 --- a/pkg/common/db/extend_msg_mongo_model.go +++ b/pkg/common/db/extend_msg_mongo_model.go @@ -16,26 +16,26 @@ import ( const cExtendMsgSet = "extend_msgs" type ExtendMsgSet struct { - ID string `bson:"id" json:"ID"` + SourceID string `bson:"id" json:"ID"` + SessionType string `bson:"session_type" json:"sessionType"` ExtendMsgs map[string]ExtendMsg `bson:"extend_msgs" json:"extendMsgs"` - LatestUpdateTime int32 `bson:"latest_update_time" json:"latestUpdateTime"` - AttachedInfo *string `bson:"attached_info" json:"attachedInfo"` - Ex *string `bson:"ex" json:"ex"` ExtendMsgNum int32 `bson:"extend_msg_num" json:"extendMsgNum"` - CreateTime int32 `bson:"create_time" json:"createTime"` + CreateTime int64 `bson:"create_time" json:"createTime"` // this block's create time + MaxMsgUpdateTime int64 `bson:"max_msg_update_time"` // index find msg } -type ReactionExtendMsgSet struct { - UserKey string `bson:"user_key" json:"userKey"` +type KeyValue struct { + TypeKey string `bson:"type_key" json:"typeKey"` Value string `bson:"value" json:"value"` - LatestUpdateTime int32 `bson:"latest_update_time" json:"latestUpdateTime"` + LatestUpdateTime int64 `bson:"latest_update_time" json:"latestUpdateTime"` } type ExtendMsg struct { - Content map[string]ReactionExtendMsgSet `bson:"content" json:"content"` - ClientMsgID string `bson:"client_msg_id" json:"clientMsgID"` - CreateTime int32 `bson:"create_time" json:"createTime"` - LatestUpdateTime int32 `bson:"latest_update_time" json:"latestUpdateTime"` + ReactionExtensionList map[string]KeyValue `bson:"content" json:"content"` + ClientMsgID string `bson:"client_msg_id" json:"clientMsgID"` + MsgFirstModifyTime int64 `bson:"create_time" json:"createTime"` // this extendMsg create time + AttachedInfo *string `bson:"attached_info" json:"attachedInfo"` + Ex *string `bson:"ex" json:"ex"` } func GetExtendMsgSetID(ID string, index int32) string { @@ -106,10 +106,10 @@ func (d *DataBases) InsertExtendMsgAndGetIndex(ID string, index int32, msg *Exte func (d *DataBases) InsertOrUpdateReactionExtendMsgSet(ID string, index int32, clientMsgID, userID, value string) error { ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) - reactionExtendMsgSet := ReactionExtendMsgSet{ - UserKey: userID, + reactionExtendMsgSet := KeyValue{ + TypeKey: userID, Value: value, - LatestUpdateTime: int32(utils.GetCurrentTimestampBySecond()), + LatestUpdateTime: utils.GetCurrentTimestampBySecond(), } upsert := true opt := &options.UpdateOptions{ @@ -122,7 +122,7 @@ func (d *DataBases) InsertOrUpdateReactionExtendMsgSet(ID string, index int32, c func (d *DataBases) DeleteReactionExtendMsgSet(ID string, index int32, clientMsgID, userID string) error { ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) - _, err := c.UpdateOne(ctx, bson.M{"uid": GetExtendMsgSetID(ID, index)}, bson.M{"$unset": bson.M{}}) + _, err := c.UpdateOne(ctx, bson.M{"uid": GetExtendMsgSetID(ID, index)}, bson.M{"$unset": bson.M{fmt.Sprintf("extend_msgs.%s.%s", clientMsgID, userID): ""}}) return err } diff --git a/pkg/proto/msg/msg.pb.go b/pkg/proto/msg/msg.pb.go index 532c73b84..8a5c94d97 100644 --- a/pkg/proto/msg/msg.pb.go +++ b/pkg/proto/msg/msg.pb.go @@ -7,6 +7,7 @@ import proto "github.com/golang/protobuf/proto" import fmt "fmt" import math "math" import sdk_ws "Open_IM/pkg/proto/sdk_ws" +import wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" import ( context "golang.org/x/net/context" @@ -37,7 +38,7 @@ func (m *MsgDataToMQ) Reset() { *m = MsgDataToMQ{} } func (m *MsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMQ) ProtoMessage() {} func (*MsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_3f0146015dfd26d9, []int{0} + return fileDescriptor_msg_c6fbff1b04f5a192, []int{0} } func (m *MsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMQ.Unmarshal(m, b) @@ -90,7 +91,7 @@ func (m *MsgDataToDB) Reset() { *m = MsgDataToDB{} } func (m *MsgDataToDB) String() string { return proto.CompactTextString(m) } func (*MsgDataToDB) ProtoMessage() {} func (*MsgDataToDB) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_3f0146015dfd26d9, []int{1} + return fileDescriptor_msg_c6fbff1b04f5a192, []int{1} } func (m *MsgDataToDB) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToDB.Unmarshal(m, b) @@ -137,7 +138,7 @@ func (m *PushMsgDataToMQ) Reset() { *m = PushMsgDataToMQ{} } func (m *PushMsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*PushMsgDataToMQ) ProtoMessage() {} func (*PushMsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_3f0146015dfd26d9, []int{2} + return fileDescriptor_msg_c6fbff1b04f5a192, []int{2} } func (m *PushMsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PushMsgDataToMQ.Unmarshal(m, b) @@ -192,7 +193,7 @@ func (m *MsgDataToMongoByMQ) Reset() { *m = MsgDataToMongoByMQ{} } func (m *MsgDataToMongoByMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMongoByMQ) ProtoMessage() {} func (*MsgDataToMongoByMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_3f0146015dfd26d9, []int{3} + return fileDescriptor_msg_c6fbff1b04f5a192, []int{3} } func (m *MsgDataToMongoByMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMongoByMQ.Unmarshal(m, b) @@ -272,7 +273,7 @@ func (m *GetMaxAndMinSeqReq) Reset() { *m = GetMaxAndMinSeqReq{} } func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqReq) ProtoMessage() {} func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_3f0146015dfd26d9, []int{4} + return fileDescriptor_msg_c6fbff1b04f5a192, []int{4} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -320,7 +321,7 @@ func (m *GetMaxAndMinSeqResp) Reset() { *m = GetMaxAndMinSeqResp{} } func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqResp) ProtoMessage() {} func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_3f0146015dfd26d9, []int{5} + return fileDescriptor_msg_c6fbff1b04f5a192, []int{5} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -381,7 +382,7 @@ func (m *SendMsgReq) Reset() { *m = SendMsgReq{} } func (m *SendMsgReq) String() string { return proto.CompactTextString(m) } func (*SendMsgReq) ProtoMessage() {} func (*SendMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_3f0146015dfd26d9, []int{6} + return fileDescriptor_msg_c6fbff1b04f5a192, []int{6} } func (m *SendMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgReq.Unmarshal(m, b) @@ -437,7 +438,7 @@ func (m *SendMsgResp) Reset() { *m = SendMsgResp{} } func (m *SendMsgResp) String() string { return proto.CompactTextString(m) } func (*SendMsgResp) ProtoMessage() {} func (*SendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_3f0146015dfd26d9, []int{7} + return fileDescriptor_msg_c6fbff1b04f5a192, []int{7} } func (m *SendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgResp.Unmarshal(m, b) @@ -505,7 +506,7 @@ func (m *ClearMsgReq) Reset() { *m = ClearMsgReq{} } func (m *ClearMsgReq) String() string { return proto.CompactTextString(m) } func (*ClearMsgReq) ProtoMessage() {} func (*ClearMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_3f0146015dfd26d9, []int{8} + return fileDescriptor_msg_c6fbff1b04f5a192, []int{8} } func (m *ClearMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgReq.Unmarshal(m, b) @@ -558,7 +559,7 @@ func (m *ClearMsgResp) Reset() { *m = ClearMsgResp{} } func (m *ClearMsgResp) String() string { return proto.CompactTextString(m) } func (*ClearMsgResp) ProtoMessage() {} func (*ClearMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_3f0146015dfd26d9, []int{9} + return fileDescriptor_msg_c6fbff1b04f5a192, []int{9} } func (m *ClearMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgResp.Unmarshal(m, b) @@ -607,7 +608,7 @@ func (m *SetMsgMinSeqReq) Reset() { *m = SetMsgMinSeqReq{} } func (m *SetMsgMinSeqReq) String() string { return proto.CompactTextString(m) } func (*SetMsgMinSeqReq) ProtoMessage() {} func (*SetMsgMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_3f0146015dfd26d9, []int{10} + return fileDescriptor_msg_c6fbff1b04f5a192, []int{10} } func (m *SetMsgMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqReq.Unmarshal(m, b) @@ -674,7 +675,7 @@ func (m *SetMsgMinSeqResp) Reset() { *m = SetMsgMinSeqResp{} } func (m *SetMsgMinSeqResp) String() string { return proto.CompactTextString(m) } func (*SetMsgMinSeqResp) ProtoMessage() {} func (*SetMsgMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_3f0146015dfd26d9, []int{11} + return fileDescriptor_msg_c6fbff1b04f5a192, []int{11} } func (m *SetMsgMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqResp.Unmarshal(m, b) @@ -720,7 +721,7 @@ func (m *SetSendMsgStatusReq) Reset() { *m = SetSendMsgStatusReq{} } func (m *SetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (*SetSendMsgStatusReq) ProtoMessage() {} func (*SetSendMsgStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_3f0146015dfd26d9, []int{12} + return fileDescriptor_msg_c6fbff1b04f5a192, []int{12} } func (m *SetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgStatusReq.Unmarshal(m, b) @@ -766,7 +767,7 @@ func (m *SetSendMsgStatusResp) Reset() { *m = SetSendMsgStatusResp{} } func (m *SetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (*SetSendMsgStatusResp) ProtoMessage() {} func (*SetSendMsgStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_3f0146015dfd26d9, []int{13} + return fileDescriptor_msg_c6fbff1b04f5a192, []int{13} } func (m *SetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgStatusResp.Unmarshal(m, b) @@ -811,7 +812,7 @@ func (m *GetSendMsgStatusReq) Reset() { *m = GetSendMsgStatusReq{} } func (m *GetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (*GetSendMsgStatusReq) ProtoMessage() {} func (*GetSendMsgStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_3f0146015dfd26d9, []int{14} + return fileDescriptor_msg_c6fbff1b04f5a192, []int{14} } func (m *GetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusReq.Unmarshal(m, b) @@ -851,7 +852,7 @@ func (m *GetSendMsgStatusResp) Reset() { *m = GetSendMsgStatusResp{} } func (m *GetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (*GetSendMsgStatusResp) ProtoMessage() {} func (*GetSendMsgStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_3f0146015dfd26d9, []int{15} + return fileDescriptor_msg_c6fbff1b04f5a192, []int{15} } func (m *GetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusResp.Unmarshal(m, b) @@ -906,7 +907,7 @@ func (m *DelSuperGroupMsgReq) Reset() { *m = DelSuperGroupMsgReq{} } func (m *DelSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (*DelSuperGroupMsgReq) ProtoMessage() {} func (*DelSuperGroupMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_3f0146015dfd26d9, []int{16} + return fileDescriptor_msg_c6fbff1b04f5a192, []int{16} } func (m *DelSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelSuperGroupMsgReq.Unmarshal(m, b) @@ -966,7 +967,7 @@ func (m *DelSuperGroupMsgResp) Reset() { *m = DelSuperGroupMsgResp{} } func (m *DelSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (*DelSuperGroupMsgResp) ProtoMessage() {} func (*DelSuperGroupMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_3f0146015dfd26d9, []int{17} + return fileDescriptor_msg_c6fbff1b04f5a192, []int{17} } func (m *DelSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelSuperGroupMsgResp.Unmarshal(m, b) @@ -1013,7 +1014,7 @@ func (m *GetSuperGroupMsgReq) Reset() { *m = GetSuperGroupMsgReq{} } func (m *GetSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupMsgReq) ProtoMessage() {} func (*GetSuperGroupMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_3f0146015dfd26d9, []int{18} + return fileDescriptor_msg_c6fbff1b04f5a192, []int{18} } func (m *GetSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupMsgReq.Unmarshal(m, b) @@ -1067,7 +1068,7 @@ func (m *GetSuperGroupMsgResp) Reset() { *m = GetSuperGroupMsgResp{} } func (m *GetSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupMsgResp) ProtoMessage() {} func (*GetSuperGroupMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_3f0146015dfd26d9, []int{19} + return fileDescriptor_msg_c6fbff1b04f5a192, []int{19} } func (m *GetSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupMsgResp.Unmarshal(m, b) @@ -1120,7 +1121,7 @@ func (m *GetWriteDiffMsgReq) Reset() { *m = GetWriteDiffMsgReq{} } func (m *GetWriteDiffMsgReq) String() string { return proto.CompactTextString(m) } func (*GetWriteDiffMsgReq) ProtoMessage() {} func (*GetWriteDiffMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_3f0146015dfd26d9, []int{20} + return fileDescriptor_msg_c6fbff1b04f5a192, []int{20} } func (m *GetWriteDiffMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetWriteDiffMsgReq.Unmarshal(m, b) @@ -1167,7 +1168,7 @@ func (m *GetWriteDiffMsgResp) Reset() { *m = GetWriteDiffMsgResp{} } func (m *GetWriteDiffMsgResp) String() string { return proto.CompactTextString(m) } func (*GetWriteDiffMsgResp) ProtoMessage() {} func (*GetWriteDiffMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_3f0146015dfd26d9, []int{21} + return fileDescriptor_msg_c6fbff1b04f5a192, []int{21} } func (m *GetWriteDiffMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetWriteDiffMsgResp.Unmarshal(m, b) @@ -1208,6 +1209,380 @@ func (m *GetWriteDiffMsgResp) GetMsgData() *sdk_ws.MsgData { return nil } +type ModifyMessageReactionExtensionsReq struct { + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + SourceID string `protobuf:"bytes,2,opt,name=sourceID" json:"sourceID,omitempty"` + OpUserID string `protobuf:"bytes,3,opt,name=opUserID" json:"opUserID,omitempty"` + SessionType int32 `protobuf:"varint,4,opt,name=sessionType" json:"sessionType,omitempty"` + ReactionExtensionList map[string]*sdk_ws.KeyValue `protobuf:"bytes,5,rep,name=reactionExtensionList" json:"reactionExtensionList,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + ClientMsgID string `protobuf:"bytes,6,opt,name=clientMsgID" json:"clientMsgID,omitempty"` + Ex *wrapperspb.StringValue `protobuf:"bytes,7,opt,name=ex" json:"ex,omitempty"` + AttachedInfo *wrapperspb.StringValue `protobuf:"bytes,8,opt,name=attachedInfo" json:"attachedInfo,omitempty"` + IsReact bool `protobuf:"varint,9,opt,name=isReact" json:"isReact,omitempty"` + IsExternalExtensions bool `protobuf:"varint,10,opt,name=isExternalExtensions" json:"isExternalExtensions,omitempty"` + MsgFirstModifyTime int64 `protobuf:"varint,11,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ModifyMessageReactionExtensionsReq) Reset() { *m = ModifyMessageReactionExtensionsReq{} } +func (m *ModifyMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) } +func (*ModifyMessageReactionExtensionsReq) ProtoMessage() {} +func (*ModifyMessageReactionExtensionsReq) Descriptor() ([]byte, []int) { + return fileDescriptor_msg_c6fbff1b04f5a192, []int{22} +} +func (m *ModifyMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ModifyMessageReactionExtensionsReq.Unmarshal(m, b) +} +func (m *ModifyMessageReactionExtensionsReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ModifyMessageReactionExtensionsReq.Marshal(b, m, deterministic) +} +func (dst *ModifyMessageReactionExtensionsReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_ModifyMessageReactionExtensionsReq.Merge(dst, src) +} +func (m *ModifyMessageReactionExtensionsReq) XXX_Size() int { + return xxx_messageInfo_ModifyMessageReactionExtensionsReq.Size(m) +} +func (m *ModifyMessageReactionExtensionsReq) XXX_DiscardUnknown() { + xxx_messageInfo_ModifyMessageReactionExtensionsReq.DiscardUnknown(m) +} + +var xxx_messageInfo_ModifyMessageReactionExtensionsReq proto.InternalMessageInfo + +func (m *ModifyMessageReactionExtensionsReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *ModifyMessageReactionExtensionsReq) GetSourceID() string { + if m != nil { + return m.SourceID + } + return "" +} + +func (m *ModifyMessageReactionExtensionsReq) GetOpUserID() string { + if m != nil { + return m.OpUserID + } + return "" +} + +func (m *ModifyMessageReactionExtensionsReq) GetSessionType() int32 { + if m != nil { + return m.SessionType + } + return 0 +} + +func (m *ModifyMessageReactionExtensionsReq) GetReactionExtensionList() map[string]*sdk_ws.KeyValue { + if m != nil { + return m.ReactionExtensionList + } + return nil +} + +func (m *ModifyMessageReactionExtensionsReq) GetClientMsgID() string { + if m != nil { + return m.ClientMsgID + } + return "" +} + +func (m *ModifyMessageReactionExtensionsReq) GetEx() *wrapperspb.StringValue { + if m != nil { + return m.Ex + } + return nil +} + +func (m *ModifyMessageReactionExtensionsReq) GetAttachedInfo() *wrapperspb.StringValue { + if m != nil { + return m.AttachedInfo + } + return nil +} + +func (m *ModifyMessageReactionExtensionsReq) GetIsReact() bool { + if m != nil { + return m.IsReact + } + return false +} + +func (m *ModifyMessageReactionExtensionsReq) GetIsExternalExtensions() bool { + if m != nil { + return m.IsExternalExtensions + } + return false +} + +func (m *ModifyMessageReactionExtensionsReq) GetMsgFirstModifyTime() int64 { + if m != nil { + return m.MsgFirstModifyTime + } + return 0 +} + +type ModifyMessageReactionExtensionsResp struct { + ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` + SuccessList []*sdk_ws.ExtendMsg `protobuf:"bytes,3,rep,name=successList" json:"successList,omitempty"` + FailedList []*sdk_ws.ExtendMsg `protobuf:"bytes,4,rep,name=failedList" json:"failedList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ModifyMessageReactionExtensionsResp) Reset() { *m = ModifyMessageReactionExtensionsResp{} } +func (m *ModifyMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) } +func (*ModifyMessageReactionExtensionsResp) ProtoMessage() {} +func (*ModifyMessageReactionExtensionsResp) Descriptor() ([]byte, []int) { + return fileDescriptor_msg_c6fbff1b04f5a192, []int{23} +} +func (m *ModifyMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ModifyMessageReactionExtensionsResp.Unmarshal(m, b) +} +func (m *ModifyMessageReactionExtensionsResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ModifyMessageReactionExtensionsResp.Marshal(b, m, deterministic) +} +func (dst *ModifyMessageReactionExtensionsResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_ModifyMessageReactionExtensionsResp.Merge(dst, src) +} +func (m *ModifyMessageReactionExtensionsResp) XXX_Size() int { + return xxx_messageInfo_ModifyMessageReactionExtensionsResp.Size(m) +} +func (m *ModifyMessageReactionExtensionsResp) XXX_DiscardUnknown() { + xxx_messageInfo_ModifyMessageReactionExtensionsResp.DiscardUnknown(m) +} + +var xxx_messageInfo_ModifyMessageReactionExtensionsResp proto.InternalMessageInfo + +func (m *ModifyMessageReactionExtensionsResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode + } + return 0 +} + +func (m *ModifyMessageReactionExtensionsResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg + } + return "" +} + +func (m *ModifyMessageReactionExtensionsResp) GetSuccessList() []*sdk_ws.ExtendMsg { + if m != nil { + return m.SuccessList + } + return nil +} + +func (m *ModifyMessageReactionExtensionsResp) GetFailedList() []*sdk_ws.ExtendMsg { + if m != nil { + return m.FailedList + } + return nil +} + +type OperateMessageListReactionExtensionsReq struct { + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + OpUserID string `protobuf:"bytes,2,opt,name=opUserID" json:"opUserID,omitempty"` + SourceID string `protobuf:"bytes,3,opt,name=sourceID" json:"sourceID,omitempty"` + SessionType string `protobuf:"bytes,4,opt,name=sessionType" json:"sessionType,omitempty"` + MessageReactionKeyList []*OperateMessageListReactionExtensionsReq_MessageReactionKey `protobuf:"bytes,5,rep,name=messageReactionKeyList" json:"messageReactionKeyList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *OperateMessageListReactionExtensionsReq) Reset() { + *m = OperateMessageListReactionExtensionsReq{} +} +func (m *OperateMessageListReactionExtensionsReq) String() string { return proto.CompactTextString(m) } +func (*OperateMessageListReactionExtensionsReq) ProtoMessage() {} +func (*OperateMessageListReactionExtensionsReq) Descriptor() ([]byte, []int) { + return fileDescriptor_msg_c6fbff1b04f5a192, []int{24} +} +func (m *OperateMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OperateMessageListReactionExtensionsReq.Unmarshal(m, b) +} +func (m *OperateMessageListReactionExtensionsReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OperateMessageListReactionExtensionsReq.Marshal(b, m, deterministic) +} +func (dst *OperateMessageListReactionExtensionsReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_OperateMessageListReactionExtensionsReq.Merge(dst, src) +} +func (m *OperateMessageListReactionExtensionsReq) XXX_Size() int { + return xxx_messageInfo_OperateMessageListReactionExtensionsReq.Size(m) +} +func (m *OperateMessageListReactionExtensionsReq) XXX_DiscardUnknown() { + xxx_messageInfo_OperateMessageListReactionExtensionsReq.DiscardUnknown(m) +} + +var xxx_messageInfo_OperateMessageListReactionExtensionsReq proto.InternalMessageInfo + +func (m *OperateMessageListReactionExtensionsReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *OperateMessageListReactionExtensionsReq) GetOpUserID() string { + if m != nil { + return m.OpUserID + } + return "" +} + +func (m *OperateMessageListReactionExtensionsReq) GetSourceID() string { + if m != nil { + return m.SourceID + } + return "" +} + +func (m *OperateMessageListReactionExtensionsReq) GetSessionType() string { + if m != nil { + return m.SessionType + } + return "" +} + +func (m *OperateMessageListReactionExtensionsReq) GetMessageReactionKeyList() []*OperateMessageListReactionExtensionsReq_MessageReactionKey { + if m != nil { + return m.MessageReactionKeyList + } + return nil +} + +type OperateMessageListReactionExtensionsReq_MessageReactionKey struct { + ClientMsgID string `protobuf:"bytes,1,opt,name=clientMsgID" json:"clientMsgID,omitempty"` + MsgFirstModifyTime int64 `protobuf:"varint,2,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"` + ReactionExtensionList []*sdk_ws.KeyValue `protobuf:"bytes,3,rep,name=reactionExtensionList" json:"reactionExtensionList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) Reset() { + *m = OperateMessageListReactionExtensionsReq_MessageReactionKey{} +} +func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) String() string { + return proto.CompactTextString(m) +} +func (*OperateMessageListReactionExtensionsReq_MessageReactionKey) ProtoMessage() {} +func (*OperateMessageListReactionExtensionsReq_MessageReactionKey) Descriptor() ([]byte, []int) { + return fileDescriptor_msg_c6fbff1b04f5a192, []int{24, 0} +} +func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OperateMessageListReactionExtensionsReq_MessageReactionKey.Unmarshal(m, b) +} +func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OperateMessageListReactionExtensionsReq_MessageReactionKey.Marshal(b, m, deterministic) +} +func (dst *OperateMessageListReactionExtensionsReq_MessageReactionKey) XXX_Merge(src proto.Message) { + xxx_messageInfo_OperateMessageListReactionExtensionsReq_MessageReactionKey.Merge(dst, src) +} +func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) XXX_Size() int { + return xxx_messageInfo_OperateMessageListReactionExtensionsReq_MessageReactionKey.Size(m) +} +func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) XXX_DiscardUnknown() { + xxx_messageInfo_OperateMessageListReactionExtensionsReq_MessageReactionKey.DiscardUnknown(m) +} + +var xxx_messageInfo_OperateMessageListReactionExtensionsReq_MessageReactionKey proto.InternalMessageInfo + +func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) GetClientMsgID() string { + if m != nil { + return m.ClientMsgID + } + return "" +} + +func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) GetMsgFirstModifyTime() int64 { + if m != nil { + return m.MsgFirstModifyTime + } + return 0 +} + +func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) GetReactionExtensionList() []*sdk_ws.KeyValue { + if m != nil { + return m.ReactionExtensionList + } + return nil +} + +type OperateMessageListReactionExtensionsResp struct { + ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` + SuccessList []*sdk_ws.ExtendMsg `protobuf:"bytes,3,rep,name=successList" json:"successList,omitempty"` + FailedList []*sdk_ws.ExtendMsg `protobuf:"bytes,4,rep,name=failedList" json:"failedList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *OperateMessageListReactionExtensionsResp) Reset() { + *m = OperateMessageListReactionExtensionsResp{} +} +func (m *OperateMessageListReactionExtensionsResp) String() string { return proto.CompactTextString(m) } +func (*OperateMessageListReactionExtensionsResp) ProtoMessage() {} +func (*OperateMessageListReactionExtensionsResp) Descriptor() ([]byte, []int) { + return fileDescriptor_msg_c6fbff1b04f5a192, []int{25} +} +func (m *OperateMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OperateMessageListReactionExtensionsResp.Unmarshal(m, b) +} +func (m *OperateMessageListReactionExtensionsResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OperateMessageListReactionExtensionsResp.Marshal(b, m, deterministic) +} +func (dst *OperateMessageListReactionExtensionsResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_OperateMessageListReactionExtensionsResp.Merge(dst, src) +} +func (m *OperateMessageListReactionExtensionsResp) XXX_Size() int { + return xxx_messageInfo_OperateMessageListReactionExtensionsResp.Size(m) +} +func (m *OperateMessageListReactionExtensionsResp) XXX_DiscardUnknown() { + xxx_messageInfo_OperateMessageListReactionExtensionsResp.DiscardUnknown(m) +} + +var xxx_messageInfo_OperateMessageListReactionExtensionsResp proto.InternalMessageInfo + +func (m *OperateMessageListReactionExtensionsResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode + } + return 0 +} + +func (m *OperateMessageListReactionExtensionsResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg + } + return "" +} + +func (m *OperateMessageListReactionExtensionsResp) GetSuccessList() []*sdk_ws.ExtendMsg { + if m != nil { + return m.SuccessList + } + return nil +} + +func (m *OperateMessageListReactionExtensionsResp) GetFailedList() []*sdk_ws.ExtendMsg { + if m != nil { + return m.FailedList + } + return nil +} + func init() { proto.RegisterType((*MsgDataToMQ)(nil), "msg.MsgDataToMQ") proto.RegisterType((*MsgDataToDB)(nil), "msg.MsgDataToDB") @@ -1231,6 +1606,12 @@ func init() { proto.RegisterType((*GetSuperGroupMsgResp)(nil), "msg.GetSuperGroupMsgResp") proto.RegisterType((*GetWriteDiffMsgReq)(nil), "msg.GetWriteDiffMsgReq") proto.RegisterType((*GetWriteDiffMsgResp)(nil), "msg.GetWriteDiffMsgResp") + proto.RegisterType((*ModifyMessageReactionExtensionsReq)(nil), "msg.ModifyMessageReactionExtensionsReq") + proto.RegisterMapType((map[string]*sdk_ws.KeyValue)(nil), "msg.ModifyMessageReactionExtensionsReq.ReactionExtensionListEntry") + proto.RegisterType((*ModifyMessageReactionExtensionsResp)(nil), "msg.ModifyMessageReactionExtensionsResp") + proto.RegisterType((*OperateMessageListReactionExtensionsReq)(nil), "msg.OperateMessageListReactionExtensionsReq") + proto.RegisterType((*OperateMessageListReactionExtensionsReq_MessageReactionKey)(nil), "msg.OperateMessageListReactionExtensionsReq.MessageReactionKey") + proto.RegisterType((*OperateMessageListReactionExtensionsResp)(nil), "msg.OperateMessageListReactionExtensionsResp") } // Reference imports to suppress errors if they are not otherwise used. @@ -1255,6 +1636,11 @@ type MsgClient interface { GetSendMsgStatus(ctx context.Context, in *GetSendMsgStatusReq, opts ...grpc.CallOption) (*GetSendMsgStatusResp, error) GetSuperGroupMsg(ctx context.Context, in *GetSuperGroupMsgReq, opts ...grpc.CallOption) (*GetSuperGroupMsgResp, error) GetWriteDiffMsg(ctx context.Context, in *GetWriteDiffMsgReq, opts ...grpc.CallOption) (*GetWriteDiffMsgResp, error) + // modify msg + SetMessageReactionExtensions(ctx context.Context, in *ModifyMessageReactionExtensionsReq, opts ...grpc.CallOption) (*ModifyMessageReactionExtensionsResp, error) + GetMessageListReactionExtensions(ctx context.Context, in *OperateMessageListReactionExtensionsReq, opts ...grpc.CallOption) (*OperateMessageListReactionExtensionsResp, error) + AddMessageReactionExtensions(ctx context.Context, in *ModifyMessageReactionExtensionsReq, opts ...grpc.CallOption) (*ModifyMessageReactionExtensionsResp, error) + DeleteMessageReactionExtensions(ctx context.Context, in *OperateMessageListReactionExtensionsReq, opts ...grpc.CallOption) (*OperateMessageListReactionExtensionsResp, error) } type msgClient struct { @@ -1364,6 +1750,42 @@ func (c *msgClient) GetWriteDiffMsg(ctx context.Context, in *GetWriteDiffMsgReq, return out, nil } +func (c *msgClient) SetMessageReactionExtensions(ctx context.Context, in *ModifyMessageReactionExtensionsReq, opts ...grpc.CallOption) (*ModifyMessageReactionExtensionsResp, error) { + out := new(ModifyMessageReactionExtensionsResp) + err := grpc.Invoke(ctx, "/msg.msg/SetMessageReactionExtensions", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) GetMessageListReactionExtensions(ctx context.Context, in *OperateMessageListReactionExtensionsReq, opts ...grpc.CallOption) (*OperateMessageListReactionExtensionsResp, error) { + out := new(OperateMessageListReactionExtensionsResp) + err := grpc.Invoke(ctx, "/msg.msg/GetMessageListReactionExtensions", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) AddMessageReactionExtensions(ctx context.Context, in *ModifyMessageReactionExtensionsReq, opts ...grpc.CallOption) (*ModifyMessageReactionExtensionsResp, error) { + out := new(ModifyMessageReactionExtensionsResp) + err := grpc.Invoke(ctx, "/msg.msg/AddMessageReactionExtensions", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) DeleteMessageReactionExtensions(ctx context.Context, in *OperateMessageListReactionExtensionsReq, opts ...grpc.CallOption) (*OperateMessageListReactionExtensionsResp, error) { + out := new(OperateMessageListReactionExtensionsResp) + err := grpc.Invoke(ctx, "/msg.msg/DeleteMessageReactionExtensions", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // Server API for Msg service type MsgServer interface { @@ -1378,6 +1800,11 @@ type MsgServer interface { GetSendMsgStatus(context.Context, *GetSendMsgStatusReq) (*GetSendMsgStatusResp, error) GetSuperGroupMsg(context.Context, *GetSuperGroupMsgReq) (*GetSuperGroupMsgResp, error) GetWriteDiffMsg(context.Context, *GetWriteDiffMsgReq) (*GetWriteDiffMsgResp, error) + // modify msg + SetMessageReactionExtensions(context.Context, *ModifyMessageReactionExtensionsReq) (*ModifyMessageReactionExtensionsResp, error) + GetMessageListReactionExtensions(context.Context, *OperateMessageListReactionExtensionsReq) (*OperateMessageListReactionExtensionsResp, error) + AddMessageReactionExtensions(context.Context, *ModifyMessageReactionExtensionsReq) (*ModifyMessageReactionExtensionsResp, error) + DeleteMessageReactionExtensions(context.Context, *OperateMessageListReactionExtensionsReq) (*OperateMessageListReactionExtensionsResp, error) } func RegisterMsgServer(s *grpc.Server, srv MsgServer) { @@ -1582,6 +2009,78 @@ func _Msg_GetWriteDiffMsg_Handler(srv interface{}, ctx context.Context, dec func return interceptor(ctx, in, info, handler) } +func _Msg_SetMessageReactionExtensions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ModifyMessageReactionExtensionsReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).SetMessageReactionExtensions(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/msg.msg/SetMessageReactionExtensions", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SetMessageReactionExtensions(ctx, req.(*ModifyMessageReactionExtensionsReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_GetMessageListReactionExtensions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(OperateMessageListReactionExtensionsReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).GetMessageListReactionExtensions(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/msg.msg/GetMessageListReactionExtensions", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).GetMessageListReactionExtensions(ctx, req.(*OperateMessageListReactionExtensionsReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_AddMessageReactionExtensions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ModifyMessageReactionExtensionsReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).AddMessageReactionExtensions(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/msg.msg/AddMessageReactionExtensions", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).AddMessageReactionExtensions(ctx, req.(*ModifyMessageReactionExtensionsReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_DeleteMessageReactionExtensions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(OperateMessageListReactionExtensionsReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).DeleteMessageReactionExtensions(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/msg.msg/DeleteMessageReactionExtensions", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).DeleteMessageReactionExtensions(ctx, req.(*OperateMessageListReactionExtensionsReq)) + } + return interceptor(ctx, in, info, handler) +} + var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "msg.msg", HandlerType: (*MsgServer)(nil), @@ -1630,71 +2129,115 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ MethodName: "GetWriteDiffMsg", Handler: _Msg_GetWriteDiffMsg_Handler, }, + { + MethodName: "SetMessageReactionExtensions", + Handler: _Msg_SetMessageReactionExtensions_Handler, + }, + { + MethodName: "GetMessageListReactionExtensions", + Handler: _Msg_GetMessageListReactionExtensions_Handler, + }, + { + MethodName: "AddMessageReactionExtensions", + Handler: _Msg_AddMessageReactionExtensions_Handler, + }, + { + MethodName: "DeleteMessageReactionExtensions", + Handler: _Msg_DeleteMessageReactionExtensions_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "msg/msg.proto", } -func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_3f0146015dfd26d9) } +func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_c6fbff1b04f5a192) } -var fileDescriptor_msg_3f0146015dfd26d9 = []byte{ - // 928 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x57, 0xcf, 0x6f, 0xe3, 0x44, - 0x14, 0x96, 0xe3, 0x26, 0xdd, 0xbe, 0xb4, 0x6a, 0x98, 0x86, 0xe2, 0x35, 0x1c, 0x82, 0x05, 0x28, - 0x02, 0xb6, 0x91, 0x0a, 0x12, 0x87, 0xbd, 0x40, 0xd7, 0x2b, 0x6f, 0x25, 0x4c, 0xb7, 0x76, 0x11, - 0x12, 0x97, 0xae, 0x69, 0x66, 0x67, 0xad, 0xc6, 0xf6, 0xd4, 0xcf, 0xa1, 0xbb, 0x20, 0xb8, 0x71, - 0xe4, 0x0f, 0xe0, 0xc4, 0x8d, 0x3b, 0xff, 0x21, 0x9a, 0x19, 0x27, 0x19, 0xff, 0x28, 0x2d, 0x61, - 0xb5, 0xb7, 0xbc, 0x37, 0x6f, 0xbe, 0xf7, 0x7d, 0x6f, 0xde, 0xcc, 0x8b, 0x61, 0x27, 0x41, 0x36, - 0x49, 0x90, 0x1d, 0xf0, 0x3c, 0x2b, 0x32, 0x62, 0x26, 0xc8, 0xec, 0xf1, 0x09, 0xa7, 0xe9, 0x83, - 0x63, 0xff, 0x41, 0x48, 0xf3, 0x1f, 0x69, 0x3e, 0xe1, 0x97, 0x6c, 0x22, 0x97, 0x27, 0x38, 0xbd, - 0x3c, 0xbf, 0xc6, 0xc9, 0x35, 0xaa, 0x70, 0xe7, 0x67, 0xe8, 0xfb, 0xc8, 0xdc, 0xa8, 0x88, 0xce, - 0x32, 0xff, 0x94, 0x0c, 0xa1, 0x5b, 0x64, 0x97, 0x34, 0xb5, 0x8c, 0x91, 0x31, 0xde, 0x0a, 0x94, - 0x41, 0x46, 0xd0, 0xcf, 0x38, 0xcd, 0xa3, 0x22, 0xce, 0xd2, 0x63, 0xd7, 0xea, 0xc8, 0x35, 0xdd, - 0x45, 0x3e, 0x87, 0xcd, 0x44, 0xc1, 0x58, 0xe6, 0xc8, 0x18, 0xf7, 0x0f, 0xed, 0x03, 0x94, 0xa9, - 0xcf, 0x23, 0x1e, 0x9f, 0xf3, 0x28, 0x8f, 0x12, 0x3c, 0x28, 0x13, 0x05, 0x8b, 0x50, 0x87, 0x6a, - 0xc9, 0xdd, 0x23, 0x1d, 0xc4, 0xb8, 0x33, 0xc8, 0xed, 0xe4, 0x9c, 0xdf, 0x0d, 0xd8, 0x7d, 0x3a, - 0xc7, 0x17, 0xba, 0xd0, 0x11, 0xf4, 0x4f, 0xb4, 0x5d, 0x4a, 0xae, 0xee, 0xd2, 0xd9, 0x74, 0xee, - 0xce, 0xc6, 0x81, 0x6d, 0x3e, 0xc7, 0x17, 0x67, 0xd9, 0xb7, 0x48, 0xf3, 0x63, 0x57, 0x56, 0x63, - 0x2b, 0xa8, 0xf8, 0x9c, 0xbf, 0x0c, 0x20, 0x2b, 0x2e, 0x59, 0xca, 0xb2, 0xa3, 0x57, 0xfe, 0x29, - 0xb1, 0x60, 0x73, 0x16, 0x61, 0x11, 0xd2, 0x2b, 0x49, 0x67, 0x23, 0x58, 0x98, 0xe4, 0x03, 0xd8, - 0x89, 0x18, 0xcb, 0x29, 0xab, 0x8a, 0xac, 0x3a, 0xc9, 0x21, 0xf4, 0x13, 0x8a, 0x18, 0x31, 0xfa, - 0x75, 0x8c, 0x85, 0x65, 0x8e, 0xcc, 0x71, 0xff, 0x70, 0x70, 0x20, 0x5a, 0x43, 0x53, 0x1e, 0xe8, - 0x41, 0xe4, 0x3d, 0xd8, 0x2a, 0xf2, 0x98, 0x31, 0xc9, 0x75, 0x43, 0xa2, 0xae, 0x1c, 0xce, 0x37, - 0x40, 0x3c, 0x5a, 0xf8, 0xd1, 0xcb, 0xaf, 0xd2, 0xa9, 0x1f, 0xa7, 0x21, 0xbd, 0x0a, 0xe8, 0x15, - 0xd9, 0x87, 0x5e, 0x29, 0x4e, 0x55, 0xad, 0xb4, 0xea, 0x25, 0xed, 0x34, 0x4a, 0xea, 0x5c, 0xc3, - 0x5e, 0x03, 0x0f, 0xb9, 0x10, 0xfe, 0x38, 0xcf, 0x1f, 0x65, 0x53, 0x2a, 0x11, 0xbb, 0xc1, 0xc2, - 0x14, 0xa9, 0x1e, 0xe7, 0xb9, 0x8f, 0xac, 0x44, 0x2b, 0x2d, 0xe1, 0xf7, 0xa3, 0x97, 0xa2, 0x52, - 0xa2, 0xbe, 0x3b, 0x41, 0x69, 0x49, 0xbf, 0xc4, 0x95, 0x5a, 0x84, 0x5f, 0x5a, 0xce, 0x4f, 0x00, - 0x21, 0x4d, 0xa7, 0x3e, 0x32, 0x21, 0xe0, 0xcd, 0x36, 0xf9, 0x9f, 0x06, 0xf4, 0x97, 0xc9, 0x95, - 0x5a, 0x5a, 0x55, 0x4b, 0x57, 0x6a, 0x69, 0x45, 0xad, 0xb2, 0x04, 0x33, 0x95, 0xc7, 0x47, 0xb6, - 0x3c, 0x26, 0xdd, 0x25, 0x22, 0x2e, 0x66, 0x31, 0x4d, 0x0b, 0x15, 0xd1, 0x55, 0x11, 0x9a, 0x8b, - 0xd8, 0x70, 0x0f, 0x69, 0x3a, 0x3d, 0x8b, 0x13, 0x6a, 0xf5, 0x46, 0xc6, 0xd8, 0x0c, 0x96, 0xb6, - 0x73, 0x01, 0xfd, 0x47, 0x33, 0x1a, 0xe5, 0x65, 0x79, 0xf6, 0xa1, 0x37, 0xaf, 0x9c, 0xaf, 0xb2, - 0x04, 0x44, 0xc6, 0xcb, 0x93, 0x57, 0x04, 0x97, 0x76, 0xbd, 0x78, 0x66, 0xf3, 0x12, 0x7e, 0x09, - 0xdb, 0xab, 0x24, 0xeb, 0x94, 0xc1, 0xf9, 0xc3, 0x80, 0xdd, 0x90, 0x0a, 0x3d, 0x95, 0x5e, 0x6c, - 0xe5, 0x6a, 0xc1, 0x26, 0xcb, 0xb3, 0x39, 0x5f, 0x52, 0x5d, 0x98, 0x62, 0x47, 0xa2, 0x5a, 0xa4, - 0x6c, 0x1d, 0x65, 0xd5, 0x15, 0x6c, 0x34, 0x8f, 0x5f, 0xd7, 0xdf, 0xad, 0xea, 0x77, 0x5c, 0x18, - 0x54, 0xa9, 0xad, 0xa5, 0xf0, 0x04, 0xf6, 0x42, 0x5a, 0x94, 0xcd, 0x12, 0x16, 0x51, 0x31, 0xc7, - 0xa0, 0x49, 0xcd, 0x68, 0x52, 0xdb, 0x87, 0x1e, 0xca, 0x70, 0x09, 0xd8, 0x0d, 0x4a, 0xcb, 0x79, - 0x02, 0xc3, 0x26, 0xe0, 0x5a, 0xd4, 0xbe, 0x90, 0x57, 0xf7, 0xbf, 0x53, 0x73, 0x9e, 0xc1, 0xd0, - 0x7b, 0x2d, 0x14, 0x34, 0x91, 0x66, 0x45, 0xe4, 0x6f, 0x06, 0xec, 0xb9, 0x74, 0x16, 0xce, 0x39, - 0xcd, 0x3d, 0x71, 0xca, 0x65, 0x1f, 0xeb, 0xe7, 0x65, 0xd4, 0xfa, 0x75, 0xd5, 0x37, 0x9d, 0x9b, - 0xfa, 0xc6, 0xac, 0xf6, 0xcd, 0xad, 0xfd, 0x21, 0x8a, 0xdd, 0xa4, 0xb1, 0x56, 0xb1, 0x2f, 0x54, - 0xb1, 0xeb, 0x82, 0x6e, 0xef, 0x83, 0x01, 0x98, 0xa2, 0xb3, 0x3b, 0xb2, 0xb3, 0xc5, 0xcf, 0x9b, - 0x05, 0x39, 0xbf, 0xaa, 0x83, 0xf9, 0xff, 0x74, 0xd7, 0x7c, 0x17, 0x9f, 0xc8, 0xe1, 0xf2, 0x5d, - 0x1e, 0x17, 0xd4, 0x8d, 0x9f, 0x3f, 0x5f, 0x5f, 0xa3, 0xf3, 0x8b, 0x2c, 0x57, 0x15, 0xe9, 0xcd, - 0x09, 0x39, 0xfc, 0xbb, 0x07, 0xe2, 0x4f, 0x17, 0x79, 0x06, 0xbb, 0xb5, 0xe9, 0x46, 0x3e, 0x6c, - 0xd9, 0xdf, 0x9c, 0xa8, 0xf6, 0x47, 0x77, 0x09, 0x43, 0x4e, 0x32, 0x18, 0x3e, 0x9d, 0xcf, 0x66, - 0xbe, 0x1a, 0xe0, 0x47, 0xaf, 0x42, 0x7a, 0x25, 0xa7, 0xf8, 0xc7, 0x2d, 0xfb, 0xdb, 0x02, 0x45, - 0xae, 0x4f, 0xee, 0x1c, 0x8b, 0x9c, 0x7c, 0x0a, 0x9b, 0xe5, 0xcd, 0x25, 0xbb, 0xf2, 0x8f, 0xc4, - 0x6a, 0x8a, 0xda, 0x83, 0xaa, 0x03, 0x39, 0x39, 0x05, 0x70, 0xe9, 0xcc, 0x47, 0x26, 0x49, 0x8d, - 0x5a, 0x12, 0xad, 0x96, 0x05, 0xc2, 0xfb, 0xb7, 0x44, 0x20, 0x27, 0x1e, 0x0c, 0xea, 0x77, 0x8a, - 0x58, 0x32, 0x71, 0xcb, 0x8d, 0xb7, 0xef, 0xdf, 0xb0, 0x82, 0x9c, 0x4c, 0xe0, 0xde, 0x62, 0xfc, - 0x10, 0xc5, 0x5c, 0x1b, 0x79, 0xf6, 0x5b, 0x35, 0x0f, 0x72, 0xf2, 0x10, 0xb6, 0xf5, 0x17, 0x9d, - 0x0c, 0x4b, 0xb9, 0x95, 0xf9, 0x63, 0xbf, 0xdd, 0xe2, 0x55, 0xb4, 0xeb, 0xef, 0x6e, 0x49, 0xbb, - 0xe5, 0x7d, 0x2f, 0x69, 0xb7, 0x3e, 0xd4, 0x1e, 0x0c, 0xbc, 0x76, 0x20, 0xef, 0x46, 0x20, 0xef, - 0x5f, 0x80, 0x5a, 0x0a, 0xd9, 0xf2, 0xd2, 0x68, 0x40, 0x8d, 0x42, 0xba, 0xb2, 0xcb, 0xf5, 0xcb, - 0x46, 0xde, 0x59, 0x44, 0xd7, 0x2e, 0xb3, 0x6d, 0xb5, 0x2f, 0x20, 0x3f, 0x7a, 0xf7, 0xfb, 0xfb, - 0xe2, 0x13, 0xe5, 0xfc, 0xd8, 0xd7, 0xbe, 0x4d, 0x12, 0x64, 0x0f, 0x13, 0x64, 0x3f, 0xf4, 0xa4, - 0xf9, 0xd9, 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x68, 0xc1, 0xb8, 0x4c, 0xda, 0x0c, 0x00, 0x00, +var fileDescriptor_msg_c6fbff1b04f5a192 = []byte{ + // 1363 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x58, 0x4f, 0x6f, 0x1b, 0x45, + 0x14, 0xd7, 0xda, 0x71, 0xfe, 0x3c, 0xa7, 0x4a, 0x98, 0xa6, 0x61, 0xbb, 0x8d, 0x84, 0x59, 0xfe, + 0xd4, 0x82, 0xd6, 0x11, 0x01, 0x09, 0x44, 0x11, 0xb4, 0xa9, 0x83, 0x1b, 0x95, 0x25, 0xcd, 0x3a, + 0x80, 0xc4, 0x25, 0xdd, 0xda, 0x2f, 0xdb, 0x55, 0xec, 0xdd, 0xcd, 0xcc, 0xba, 0xb1, 0x41, 0x94, + 0x13, 0x47, 0x0e, 0xdc, 0xe0, 0xc4, 0x8d, 0xef, 0xc0, 0x07, 0xe1, 0xd2, 0x4f, 0x83, 0x66, 0x66, + 0x6d, 0xcf, 0xfe, 0x71, 0xed, 0xb8, 0x28, 0x12, 0x37, 0xbf, 0x37, 0x6f, 0xde, 0xfc, 0x7e, 0x6f, + 0x7e, 0xb3, 0xf3, 0xc6, 0x70, 0xa5, 0xcb, 0xdc, 0xed, 0x2e, 0x73, 0x6b, 0x21, 0x0d, 0xa2, 0x80, + 0x14, 0xbb, 0xcc, 0x35, 0xaa, 0x07, 0x21, 0xfa, 0xb7, 0xf7, 0xad, 0xdb, 0x4d, 0xa4, 0xcf, 0x90, + 0x6e, 0x87, 0xa7, 0xee, 0xb6, 0x18, 0xde, 0x66, 0xed, 0xd3, 0xe3, 0x73, 0xb6, 0x7d, 0xce, 0x64, + 0xb8, 0x51, 0x9b, 0x1a, 0x49, 0x9d, 0x30, 0x44, 0x1a, 0xc7, 0x9b, 0x3f, 0x42, 0xd9, 0x62, 0x6e, + 0xdd, 0x89, 0x9c, 0xa3, 0xc0, 0x3a, 0x24, 0x1b, 0x50, 0x8a, 0x82, 0x53, 0xf4, 0x75, 0xad, 0xa2, + 0x55, 0x57, 0x6c, 0x69, 0x90, 0x0a, 0x94, 0x83, 0x10, 0xa9, 0x13, 0x79, 0x81, 0xbf, 0x5f, 0xd7, + 0x0b, 0x62, 0x4c, 0x75, 0x91, 0x8f, 0x60, 0xa9, 0x2b, 0xd3, 0xe8, 0xc5, 0x8a, 0x56, 0x2d, 0xef, + 0x18, 0x35, 0x26, 0x00, 0x1c, 0x3b, 0xa1, 0x77, 0x1c, 0x3a, 0xd4, 0xe9, 0xb2, 0x5a, 0xbc, 0x90, + 0x3d, 0x0c, 0x35, 0x51, 0x59, 0xbc, 0xbe, 0xab, 0x26, 0xd1, 0x66, 0x4e, 0x32, 0x1d, 0x9c, 0xf9, + 0xab, 0x06, 0x6b, 0x8f, 0x7a, 0xec, 0xa9, 0x4a, 0xb4, 0x02, 0xe5, 0x03, 0x65, 0x96, 0xa4, 0xab, + 0xba, 0x54, 0x34, 0x85, 0xd9, 0xd1, 0x98, 0xb0, 0x1a, 0xf6, 0xd8, 0xd3, 0xa3, 0xe0, 0x1b, 0x86, + 0x74, 0xbf, 0x2e, 0xaa, 0xb1, 0x62, 0x27, 0x7c, 0xe6, 0x5f, 0x1a, 0x90, 0x31, 0x96, 0xc0, 0x77, + 0x83, 0xdd, 0x81, 0x75, 0x48, 0x74, 0x58, 0xea, 0x38, 0x2c, 0x6a, 0xe2, 0x99, 0x80, 0xb3, 0x60, + 0x0f, 0x4d, 0xf2, 0x36, 0x5c, 0x71, 0x5c, 0x97, 0xa2, 0x9b, 0x24, 0x99, 0x74, 0x92, 0x1d, 0x28, + 0x77, 0x91, 0x31, 0xc7, 0xc5, 0xaf, 0x3c, 0x16, 0xe9, 0xc5, 0x4a, 0xb1, 0x5a, 0xde, 0x59, 0xaf, + 0x71, 0x29, 0x29, 0xcc, 0x6d, 0x35, 0x88, 0x6c, 0xc1, 0x4a, 0x44, 0x3d, 0xd7, 0x15, 0x58, 0x17, + 0x44, 0xd6, 0xb1, 0xc3, 0xfc, 0x1a, 0x48, 0x03, 0x23, 0xcb, 0xe9, 0xdf, 0xf3, 0xdb, 0x96, 0xe7, + 0x37, 0xf1, 0xcc, 0xc6, 0x33, 0xb2, 0x09, 0x8b, 0x31, 0x39, 0x59, 0xb5, 0xd8, 0x4a, 0x97, 0xb4, + 0x90, 0x29, 0xa9, 0x79, 0x0e, 0x57, 0x33, 0xf9, 0x58, 0xc8, 0x89, 0xef, 0x51, 0x7a, 0x3f, 0x68, + 0xa3, 0xc8, 0x58, 0xb2, 0x87, 0x26, 0x5f, 0x6a, 0x8f, 0x52, 0x8b, 0xb9, 0x71, 0xb6, 0xd8, 0xe2, + 0x7e, 0xcb, 0xe9, 0xf3, 0x4a, 0xf1, 0xfa, 0x5e, 0xb1, 0x63, 0x4b, 0xf8, 0x45, 0x5e, 0xc1, 0x85, + 0xfb, 0x85, 0x65, 0xfe, 0x00, 0xd0, 0x44, 0xbf, 0x6d, 0x31, 0x97, 0x13, 0xb8, 0x5c, 0x91, 0xff, + 0xa9, 0x41, 0x79, 0xb4, 0xb8, 0x64, 0x8b, 0x49, 0xb6, 0x38, 0x66, 0x8b, 0x09, 0xb6, 0xd2, 0xe2, + 0xc8, 0xe4, 0x3a, 0x16, 0x73, 0x47, 0xdb, 0xa4, 0xba, 0x78, 0x44, 0xab, 0xe3, 0xa1, 0x1f, 0xc9, + 0x88, 0x92, 0x8c, 0x50, 0x5c, 0xc4, 0x80, 0x65, 0x86, 0x7e, 0xfb, 0xc8, 0xeb, 0xa2, 0xbe, 0x58, + 0xd1, 0xaa, 0x45, 0x7b, 0x64, 0x9b, 0x2d, 0x28, 0xdf, 0xef, 0xa0, 0x43, 0xe3, 0xf2, 0x6c, 0xc2, + 0x62, 0x2f, 0xb1, 0xbf, 0xd2, 0xe2, 0x29, 0x82, 0x30, 0xde, 0x79, 0x09, 0x70, 0x64, 0xa7, 0x8b, + 0x57, 0xcc, 0x1e, 0xc2, 0xbb, 0xb0, 0x3a, 0x5e, 0x64, 0x9e, 0x32, 0x98, 0x7f, 0x68, 0xb0, 0xd6, + 0x44, 0xce, 0x27, 0xa1, 0xc5, 0x5c, 0xac, 0x3a, 0x2c, 0xb9, 0x34, 0xe8, 0x85, 0x23, 0xa8, 0x43, + 0x93, 0xcf, 0xe8, 0x4a, 0x89, 0xc4, 0xd2, 0x91, 0x56, 0x9a, 0xc1, 0x42, 0x76, 0xfb, 0x55, 0xfe, + 0xa5, 0x24, 0x7f, 0xb3, 0x0e, 0xeb, 0x49, 0x68, 0x73, 0x31, 0x3c, 0x80, 0xab, 0x4d, 0x8c, 0x62, + 0xb1, 0x34, 0x23, 0x27, 0xea, 0x31, 0x3b, 0x0b, 0x4d, 0xcb, 0x42, 0xdb, 0x84, 0x45, 0x26, 0xc2, + 0x45, 0xc2, 0x92, 0x1d, 0x5b, 0xe6, 0x03, 0xd8, 0xc8, 0x26, 0x9c, 0x0b, 0xda, 0xc7, 0xe2, 0xe8, + 0x5e, 0x1c, 0x9a, 0xf9, 0x18, 0x36, 0x1a, 0xff, 0x09, 0x04, 0x85, 0x64, 0x31, 0x41, 0xf2, 0x17, + 0x0d, 0xae, 0xd6, 0xb1, 0xd3, 0xec, 0x85, 0x48, 0x1b, 0x7c, 0x97, 0x63, 0x1d, 0xab, 0xfb, 0xa5, + 0xa5, 0xf4, 0x3a, 0xd6, 0x4d, 0x61, 0x92, 0x6e, 0x8a, 0x49, 0xdd, 0x4c, 0xd5, 0x07, 0x2f, 0x76, + 0x16, 0xc6, 0x5c, 0xc5, 0x6e, 0xc9, 0x62, 0xa7, 0x09, 0x4d, 0xd7, 0xc1, 0x3a, 0x14, 0xb9, 0xb2, + 0x0b, 0x42, 0xd9, 0xfc, 0xe7, 0x64, 0x42, 0xe6, 0x73, 0xb9, 0x31, 0xaf, 0x0e, 0x77, 0xce, 0xef, + 0xe2, 0x03, 0x71, 0xb9, 0x7c, 0x47, 0xbd, 0x08, 0xeb, 0xde, 0xc9, 0xc9, 0xfc, 0x1c, 0xcd, 0x9f, + 0x44, 0xb9, 0x92, 0x99, 0x2e, 0x91, 0xc8, 0x6f, 0x25, 0x30, 0xad, 0xa0, 0xed, 0x9d, 0x0c, 0x2c, + 0x79, 0xb3, 0xda, 0xe8, 0xb4, 0x38, 0xd8, 0xbd, 0x7e, 0x84, 0x3e, 0xf3, 0x02, 0x7f, 0xc6, 0x53, + 0xcc, 0xbf, 0xd1, 0x41, 0x8f, 0xb6, 0x70, 0xfc, 0x81, 0x1d, 0xda, 0x09, 0x31, 0x17, 0xb3, 0x1f, + 0x5f, 0x86, 0x8c, 0x2f, 0x74, 0x34, 0x08, 0x51, 0x48, 0xb3, 0x64, 0xab, 0x2e, 0xd2, 0x87, 0x6b, + 0x34, 0x0d, 0x4a, 0x34, 0x09, 0x25, 0xd1, 0x24, 0xec, 0xca, 0x26, 0x61, 0x2a, 0x87, 0x9a, 0x9d, + 0x97, 0x64, 0xcf, 0x8f, 0xe8, 0xc0, 0xce, 0x5f, 0x20, 0x7d, 0x33, 0x2d, 0x66, 0x6f, 0xa6, 0x5b, + 0x50, 0xc0, 0xbe, 0xbe, 0x24, 0xea, 0xbd, 0x55, 0x73, 0x83, 0xc0, 0xed, 0xa0, 0x6c, 0x4e, 0x9f, + 0xf4, 0x4e, 0x6a, 0xcd, 0x88, 0x7a, 0xbe, 0xfb, 0xad, 0xd3, 0xe9, 0xa1, 0x5d, 0xc0, 0x3e, 0xb9, + 0x0b, 0xab, 0x4e, 0x14, 0x39, 0xad, 0xa7, 0xd8, 0xde, 0xf7, 0x4f, 0x02, 0x7d, 0x79, 0x86, 0x79, + 0x89, 0x19, 0x5c, 0x16, 0x1e, 0x13, 0x44, 0xf4, 0x95, 0x8a, 0x56, 0x5d, 0xb6, 0x87, 0x26, 0xd9, + 0x81, 0x0d, 0x8f, 0x71, 0xf8, 0xd4, 0x77, 0x3a, 0x63, 0xe2, 0x3a, 0x88, 0xb0, 0xdc, 0x31, 0x52, + 0x03, 0xd2, 0x65, 0xee, 0x97, 0x1e, 0x65, 0x91, 0xac, 0x9f, 0xb8, 0x61, 0xcb, 0xe2, 0x86, 0xcd, + 0x19, 0x31, 0x10, 0x8c, 0xc9, 0x45, 0xe4, 0xda, 0x3e, 0xc5, 0x41, 0xac, 0x0d, 0xfe, 0x93, 0x7c, + 0x00, 0xa5, 0x67, 0x9c, 0x44, 0xdc, 0x83, 0xde, 0xc8, 0x11, 0xe4, 0x43, 0x1c, 0x48, 0x9e, 0x32, + 0xf2, 0xd3, 0xc2, 0x27, 0x9a, 0xf9, 0x8f, 0x06, 0x6f, 0x4d, 0xdd, 0xcf, 0xb9, 0xce, 0xc8, 0xe7, + 0x50, 0x66, 0xbd, 0x56, 0x0b, 0x19, 0x53, 0xba, 0xcc, 0xad, 0x1c, 0x58, 0x62, 0x25, 0xd1, 0xf5, + 0xa8, 0x13, 0xc8, 0x67, 0x00, 0x27, 0x8e, 0xd7, 0xc1, 0xb6, 0x98, 0xbe, 0x30, 0xc3, 0x74, 0x25, + 0xde, 0x7c, 0x51, 0x84, 0x9b, 0xb2, 0xa3, 0x44, 0x6b, 0xdc, 0xc6, 0xbe, 0xc2, 0x81, 0x9b, 0xd8, + 0xd1, 0xa8, 0x87, 0xb1, 0x98, 0x3a, 0x8c, 0x39, 0x07, 0x6e, 0x25, 0x79, 0xe0, 0xce, 0x61, 0xb3, + 0x9b, 0x2c, 0xfc, 0x43, 0x1c, 0x28, 0x27, 0xee, 0x0b, 0x71, 0xe2, 0x66, 0x64, 0x52, 0xb3, 0x32, + 0xa9, 0xec, 0x09, 0xe9, 0x8d, 0xbf, 0xf9, 0xdb, 0x22, 0x33, 0x94, 0x3e, 0x86, 0x5a, 0xf6, 0x18, + 0xe6, 0x0b, 0xb9, 0x30, 0x49, 0xc8, 0xe4, 0x70, 0xd2, 0x27, 0x45, 0x2a, 0xe2, 0xa5, 0x42, 0xcd, + 0x9f, 0x69, 0xbe, 0xd0, 0xa0, 0x3a, 0x5b, 0x49, 0xfe, 0x7f, 0xca, 0xdd, 0xf9, 0x1d, 0x80, 0x3f, + 0xe5, 0xc9, 0x63, 0x58, 0x4b, 0xbd, 0x81, 0xc8, 0x3b, 0x39, 0x49, 0xb2, 0xef, 0x2e, 0xe3, 0xdd, + 0x59, 0xc2, 0x58, 0x48, 0x02, 0xd8, 0x78, 0xd4, 0xeb, 0x74, 0xe2, 0x12, 0xee, 0x0e, 0x9a, 0x78, + 0x26, 0xf0, 0xbf, 0x97, 0x33, 0x3f, 0x2f, 0x90, 0xaf, 0xf5, 0xfe, 0xcc, 0xb1, 0x2c, 0x24, 0xb7, + 0x60, 0x29, 0xee, 0xef, 0xc8, 0x9a, 0xd0, 0xf5, 0xf8, 0xad, 0x65, 0xac, 0x27, 0x1d, 0x2c, 0x24, + 0x87, 0x00, 0x75, 0xec, 0x58, 0xcc, 0x95, 0xf7, 0x43, 0xce, 0x42, 0xe3, 0x61, 0x9e, 0xe1, 0xcd, + 0x29, 0x11, 0x2c, 0x24, 0x0d, 0x58, 0x4f, 0x77, 0x5e, 0x44, 0x17, 0x0b, 0xe7, 0xf4, 0x85, 0xc6, + 0xf5, 0x09, 0x23, 0x2c, 0x24, 0xdb, 0xb0, 0x3c, 0x7c, 0xa4, 0x10, 0x89, 0x5c, 0x79, 0x18, 0x19, + 0xaf, 0xa5, 0x3c, 0x2c, 0x24, 0x77, 0x60, 0x55, 0xed, 0xfb, 0xc9, 0x46, 0x4c, 0x37, 0xf1, 0x4a, + 0x31, 0xae, 0xe5, 0x78, 0x25, 0xec, 0x74, 0x77, 0x1e, 0xc3, 0xce, 0x79, 0x05, 0xc4, 0xb0, 0x73, + 0xdb, 0xf9, 0x06, 0xac, 0x37, 0xf2, 0x13, 0x35, 0x26, 0x26, 0x6a, 0xbc, 0x24, 0x51, 0x4e, 0x21, + 0x73, 0xfa, 0x51, 0x25, 0x51, 0xa6, 0x90, 0x75, 0xa1, 0x72, 0xb5, 0x25, 0x23, 0xaf, 0x0f, 0xa3, + 0x53, 0x2d, 0x9f, 0xa1, 0xe7, 0x0f, 0xb0, 0x90, 0x9c, 0xc1, 0x16, 0x2f, 0xda, 0xa4, 0x1b, 0x8c, + 0xdc, 0x9c, 0xb1, 0x6f, 0x31, 0xaa, 0xb3, 0x05, 0xb2, 0x90, 0xfc, 0x0c, 0x95, 0xc6, 0x68, 0xc9, + 0xfc, 0xcf, 0x0f, 0xb9, 0x75, 0x91, 0x8f, 0xb7, 0x71, 0xfb, 0x02, 0xd1, 0x92, 0xf3, 0xbd, 0x76, + 0xfb, 0x52, 0x39, 0x3f, 0x87, 0x37, 0xea, 0xd8, 0xc1, 0x11, 0xba, 0x4b, 0xa6, 0xbc, 0x7b, 0xe3, + 0xfb, 0xeb, 0x07, 0x21, 0xfa, 0xc7, 0xfb, 0x96, 0xf2, 0x77, 0x65, 0x97, 0xb9, 0x77, 0xba, 0xcc, + 0x7d, 0xb2, 0x28, 0xcc, 0x0f, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x60, 0xb9, 0x8a, 0xda, 0x17, + 0x15, 0x00, 0x00, } diff --git a/pkg/proto/msg/msg.proto b/pkg/proto/msg/msg.proto index 38144eec9..bd7899019 100644 --- a/pkg/proto/msg/msg.proto +++ b/pkg/proto/msg/msg.proto @@ -154,25 +154,45 @@ message GetWriteDiffMsgResp{ server_api_params.MsgData msgData = 3; } -message ModifyMsgReq { +message ModifyMessageReactionExtensionsReq { string operationID = 1; - string ID = 2; - int32 Index = 3; - int32 msgIndex = 4; - string opUserID = 5; - string userID = 6; - bool isFirstModify = 7; - string clientMsgID = 8; - google.protobuf.StringValue value = 9; - google.protobuf.StringValue ex = 10; - google.protobuf.StringValue attachedInfo = 11; + string sourceID = 2; + string opUserID = 3; + int32 sessionType = 4; + map reactionExtensionList = 5; + string clientMsgID = 6; + google.protobuf.StringValue ex = 7; + google.protobuf.StringValue attachedInfo = 8; + bool isReact = 9; + bool isExternalExtensions = 10; + int64 msgFirstModifyTime = 11; } -message ModifyMsgResp { +message ModifyMessageReactionExtensionsResp { int32 errCode = 1; string errMsg = 2; - int32 Index = 4; - int32 msgIndex = 3; + repeated server_api_params.ExtendMsg successList = 3; + repeated server_api_params.ExtendMsg failedList = 4; +} + +message OperateMessageListReactionExtensionsReq { + string operationID = 1; + string opUserID = 2; + string sourceID = 3; + string sessionType = 4; + message MessageReactionKey { + string clientMsgID = 1; + int64 msgFirstModifyTime = 2; + repeated server_api_params.KeyValue reactionExtensionList = 3; + } + repeated MessageReactionKey messageReactionKeyList = 5; +} + +message OperateMessageListReactionExtensionsResp { + int32 errCode = 1; + string errMsg = 2; + repeated server_api_params.ExtendMsg successList = 3; + repeated server_api_params.ExtendMsg failedList = 4; } service msg { @@ -189,5 +209,8 @@ service msg { rpc GetWriteDiffMsg(GetWriteDiffMsgReq) returns(GetWriteDiffMsgResp); // modify msg - rpc ModifyMsg(ModifyMsgReq) returns(ModifyMsgResp); + rpc SetMessageReactionExtensions(ModifyMessageReactionExtensionsReq) returns(ModifyMessageReactionExtensionsResp); + rpc GetMessageListReactionExtensions(OperateMessageListReactionExtensionsReq) returns(OperateMessageListReactionExtensionsResp); + rpc AddMessageReactionExtensions(ModifyMessageReactionExtensionsReq) returns(ModifyMessageReactionExtensionsResp); + rpc DeleteMessageReactionExtensions(OperateMessageListReactionExtensionsReq) returns(OperateMessageListReactionExtensionsResp); } diff --git a/pkg/proto/sdk_ws/ws.pb.go b/pkg/proto/sdk_ws/ws.pb.go index 9ee84f836..1341cfc53 100644 --- a/pkg/proto/sdk_ws/ws.pb.go +++ b/pkg/proto/sdk_ws/ws.pb.go @@ -46,7 +46,7 @@ func (m *GroupInfo) Reset() { *m = GroupInfo{} } func (m *GroupInfo) String() string { return proto.CompactTextString(m) } func (*GroupInfo) ProtoMessage() {} func (*GroupInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{0} + return fileDescriptor_ws_20501d8722cdea6e, []int{0} } func (m *GroupInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfo.Unmarshal(m, b) @@ -204,7 +204,7 @@ func (m *GroupInfoForSet) Reset() { *m = GroupInfoForSet{} } func (m *GroupInfoForSet) String() string { return proto.CompactTextString(m) } func (*GroupInfoForSet) ProtoMessage() {} func (*GroupInfoForSet) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{1} + return fileDescriptor_ws_20501d8722cdea6e, []int{1} } func (m *GroupInfoForSet) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfoForSet.Unmarshal(m, b) @@ -309,7 +309,7 @@ func (m *GroupMemberFullInfo) Reset() { *m = GroupMemberFullInfo{} } func (m *GroupMemberFullInfo) String() string { return proto.CompactTextString(m) } func (*GroupMemberFullInfo) ProtoMessage() {} func (*GroupMemberFullInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{2} + return fileDescriptor_ws_20501d8722cdea6e, []int{2} } func (m *GroupMemberFullInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMemberFullInfo.Unmarshal(m, b) @@ -428,7 +428,7 @@ func (m *PublicUserInfo) Reset() { *m = PublicUserInfo{} } func (m *PublicUserInfo) String() string { return proto.CompactTextString(m) } func (*PublicUserInfo) ProtoMessage() {} func (*PublicUserInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{3} + return fileDescriptor_ws_20501d8722cdea6e, []int{3} } func (m *PublicUserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PublicUserInfo.Unmarshal(m, b) @@ -505,7 +505,7 @@ func (m *UserInfo) Reset() { *m = UserInfo{} } func (m *UserInfo) String() string { return proto.CompactTextString(m) } func (*UserInfo) ProtoMessage() {} func (*UserInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{4} + return fileDescriptor_ws_20501d8722cdea6e, []int{4} } func (m *UserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfo.Unmarshal(m, b) @@ -626,7 +626,7 @@ func (m *FriendInfo) Reset() { *m = FriendInfo{} } func (m *FriendInfo) String() string { return proto.CompactTextString(m) } func (*FriendInfo) ProtoMessage() {} func (*FriendInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{5} + return fileDescriptor_ws_20501d8722cdea6e, []int{5} } func (m *FriendInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendInfo.Unmarshal(m, b) @@ -711,7 +711,7 @@ func (m *BlackInfo) Reset() { *m = BlackInfo{} } func (m *BlackInfo) String() string { return proto.CompactTextString(m) } func (*BlackInfo) ProtoMessage() {} func (*BlackInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{6} + return fileDescriptor_ws_20501d8722cdea6e, []int{6} } func (m *BlackInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackInfo.Unmarshal(m, b) @@ -794,7 +794,7 @@ func (m *GroupRequest) Reset() { *m = GroupRequest{} } func (m *GroupRequest) String() string { return proto.CompactTextString(m) } func (*GroupRequest) ProtoMessage() {} func (*GroupRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{7} + return fileDescriptor_ws_20501d8722cdea6e, []int{7} } func (m *GroupRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupRequest.Unmarshal(m, b) @@ -916,7 +916,7 @@ func (m *FriendRequest) Reset() { *m = FriendRequest{} } func (m *FriendRequest) String() string { return proto.CompactTextString(m) } func (*FriendRequest) ProtoMessage() {} func (*FriendRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{8} + return fileDescriptor_ws_20501d8722cdea6e, []int{8} } func (m *FriendRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendRequest.Unmarshal(m, b) @@ -1061,7 +1061,7 @@ func (m *Department) Reset() { *m = Department{} } func (m *Department) String() string { return proto.CompactTextString(m) } func (*Department) ProtoMessage() {} func (*Department) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{9} + return fileDescriptor_ws_20501d8722cdea6e, []int{9} } func (m *Department) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Department.Unmarshal(m, b) @@ -1173,7 +1173,7 @@ func (m *OrganizationUser) Reset() { *m = OrganizationUser{} } func (m *OrganizationUser) String() string { return proto.CompactTextString(m) } func (*OrganizationUser) ProtoMessage() {} func (*OrganizationUser) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{10} + return fileDescriptor_ws_20501d8722cdea6e, []int{10} } func (m *OrganizationUser) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OrganizationUser.Unmarshal(m, b) @@ -1294,7 +1294,7 @@ func (m *DepartmentMember) Reset() { *m = DepartmentMember{} } func (m *DepartmentMember) String() string { return proto.CompactTextString(m) } func (*DepartmentMember) ProtoMessage() {} func (*DepartmentMember) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{11} + return fileDescriptor_ws_20501d8722cdea6e, []int{11} } func (m *DepartmentMember) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DepartmentMember.Unmarshal(m, b) @@ -1375,7 +1375,7 @@ func (m *UserDepartmentMember) Reset() { *m = UserDepartmentMember{} } func (m *UserDepartmentMember) String() string { return proto.CompactTextString(m) } func (*UserDepartmentMember) ProtoMessage() {} func (*UserDepartmentMember) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{12} + return fileDescriptor_ws_20501d8722cdea6e, []int{12} } func (m *UserDepartmentMember) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserDepartmentMember.Unmarshal(m, b) @@ -1421,7 +1421,7 @@ func (m *UserInDepartment) Reset() { *m = UserInDepartment{} } func (m *UserInDepartment) String() string { return proto.CompactTextString(m) } func (*UserInDepartment) ProtoMessage() {} func (*UserInDepartment) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{13} + return fileDescriptor_ws_20501d8722cdea6e, []int{13} } func (m *UserInDepartment) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInDepartment.Unmarshal(m, b) @@ -1470,7 +1470,7 @@ func (m *PullMessageBySeqListReq) Reset() { *m = PullMessageBySeqListReq func (m *PullMessageBySeqListReq) String() string { return proto.CompactTextString(m) } func (*PullMessageBySeqListReq) ProtoMessage() {} func (*PullMessageBySeqListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{14} + return fileDescriptor_ws_20501d8722cdea6e, []int{14} } func (m *PullMessageBySeqListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListReq.Unmarshal(m, b) @@ -1529,7 +1529,7 @@ func (m *SeqList) Reset() { *m = SeqList{} } func (m *SeqList) String() string { return proto.CompactTextString(m) } func (*SeqList) ProtoMessage() {} func (*SeqList) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{15} + return fileDescriptor_ws_20501d8722cdea6e, []int{15} } func (m *SeqList) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SeqList.Unmarshal(m, b) @@ -1567,7 +1567,7 @@ func (m *MsgDataList) Reset() { *m = MsgDataList{} } func (m *MsgDataList) String() string { return proto.CompactTextString(m) } func (*MsgDataList) ProtoMessage() {} func (*MsgDataList) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{16} + return fileDescriptor_ws_20501d8722cdea6e, []int{16} } func (m *MsgDataList) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataList.Unmarshal(m, b) @@ -1608,7 +1608,7 @@ func (m *PullMessageBySeqListResp) Reset() { *m = PullMessageBySeqListRe func (m *PullMessageBySeqListResp) String() string { return proto.CompactTextString(m) } func (*PullMessageBySeqListResp) ProtoMessage() {} func (*PullMessageBySeqListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{17} + return fileDescriptor_ws_20501d8722cdea6e, []int{17} } func (m *PullMessageBySeqListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListResp.Unmarshal(m, b) @@ -1669,7 +1669,7 @@ func (m *GetMaxAndMinSeqReq) Reset() { *m = GetMaxAndMinSeqReq{} } func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqReq) ProtoMessage() {} func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{18} + return fileDescriptor_ws_20501d8722cdea6e, []int{18} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -1722,7 +1722,7 @@ func (m *MaxAndMinSeq) Reset() { *m = MaxAndMinSeq{} } func (m *MaxAndMinSeq) String() string { return proto.CompactTextString(m) } func (*MaxAndMinSeq) ProtoMessage() {} func (*MaxAndMinSeq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{19} + return fileDescriptor_ws_20501d8722cdea6e, []int{19} } func (m *MaxAndMinSeq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MaxAndMinSeq.Unmarshal(m, b) @@ -1771,7 +1771,7 @@ func (m *GetMaxAndMinSeqResp) Reset() { *m = GetMaxAndMinSeqResp{} } func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqResp) ProtoMessage() {} func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{20} + return fileDescriptor_ws_20501d8722cdea6e, []int{20} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -1839,7 +1839,7 @@ func (m *UserSendMsgResp) Reset() { *m = UserSendMsgResp{} } func (m *UserSendMsgResp) String() string { return proto.CompactTextString(m) } func (*UserSendMsgResp) ProtoMessage() {} func (*UserSendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{21} + return fileDescriptor_ws_20501d8722cdea6e, []int{21} } func (m *UserSendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserSendMsgResp.Unmarshal(m, b) @@ -1912,7 +1912,7 @@ func (m *MsgData) Reset() { *m = MsgData{} } func (m *MsgData) String() string { return proto.CompactTextString(m) } func (*MsgData) ProtoMessage() {} func (*MsgData) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{22} + return fileDescriptor_ws_20501d8722cdea6e, []int{22} } func (m *MsgData) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgData.Unmarshal(m, b) @@ -2101,7 +2101,7 @@ func (m *OfflinePushInfo) Reset() { *m = OfflinePushInfo{} } func (m *OfflinePushInfo) String() string { return proto.CompactTextString(m) } func (*OfflinePushInfo) ProtoMessage() {} func (*OfflinePushInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{23} + return fileDescriptor_ws_20501d8722cdea6e, []int{23} } func (m *OfflinePushInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OfflinePushInfo.Unmarshal(m, b) @@ -2169,7 +2169,7 @@ func (m *TipsComm) Reset() { *m = TipsComm{} } func (m *TipsComm) String() string { return proto.CompactTextString(m) } func (*TipsComm) ProtoMessage() {} func (*TipsComm) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{24} + return fileDescriptor_ws_20501d8722cdea6e, []int{24} } func (m *TipsComm) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TipsComm.Unmarshal(m, b) @@ -2226,7 +2226,7 @@ func (m *GroupCreatedTips) Reset() { *m = GroupCreatedTips{} } func (m *GroupCreatedTips) String() string { return proto.CompactTextString(m) } func (*GroupCreatedTips) ProtoMessage() {} func (*GroupCreatedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{25} + return fileDescriptor_ws_20501d8722cdea6e, []int{25} } func (m *GroupCreatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupCreatedTips.Unmarshal(m, b) @@ -2295,7 +2295,7 @@ func (m *GroupInfoSetTips) Reset() { *m = GroupInfoSetTips{} } func (m *GroupInfoSetTips) String() string { return proto.CompactTextString(m) } func (*GroupInfoSetTips) ProtoMessage() {} func (*GroupInfoSetTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{26} + return fileDescriptor_ws_20501d8722cdea6e, []int{26} } func (m *GroupInfoSetTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfoSetTips.Unmarshal(m, b) @@ -2350,7 +2350,7 @@ func (m *JoinGroupApplicationTips) Reset() { *m = JoinGroupApplicationTi func (m *JoinGroupApplicationTips) String() string { return proto.CompactTextString(m) } func (*JoinGroupApplicationTips) ProtoMessage() {} func (*JoinGroupApplicationTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{27} + return fileDescriptor_ws_20501d8722cdea6e, []int{27} } func (m *JoinGroupApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_JoinGroupApplicationTips.Unmarshal(m, b) @@ -2406,7 +2406,7 @@ func (m *MemberQuitTips) Reset() { *m = MemberQuitTips{} } func (m *MemberQuitTips) String() string { return proto.CompactTextString(m) } func (*MemberQuitTips) ProtoMessage() {} func (*MemberQuitTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{28} + return fileDescriptor_ws_20501d8722cdea6e, []int{28} } func (m *MemberQuitTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberQuitTips.Unmarshal(m, b) @@ -2461,7 +2461,7 @@ func (m *GroupApplicationAcceptedTips) Reset() { *m = GroupApplicationAc func (m *GroupApplicationAcceptedTips) String() string { return proto.CompactTextString(m) } func (*GroupApplicationAcceptedTips) ProtoMessage() {} func (*GroupApplicationAcceptedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{29} + return fileDescriptor_ws_20501d8722cdea6e, []int{29} } func (m *GroupApplicationAcceptedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationAcceptedTips.Unmarshal(m, b) @@ -2516,7 +2516,7 @@ func (m *GroupApplicationRejectedTips) Reset() { *m = GroupApplicationRe func (m *GroupApplicationRejectedTips) String() string { return proto.CompactTextString(m) } func (*GroupApplicationRejectedTips) ProtoMessage() {} func (*GroupApplicationRejectedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{30} + return fileDescriptor_ws_20501d8722cdea6e, []int{30} } func (m *GroupApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationRejectedTips.Unmarshal(m, b) @@ -2572,7 +2572,7 @@ func (m *GroupOwnerTransferredTips) Reset() { *m = GroupOwnerTransferred func (m *GroupOwnerTransferredTips) String() string { return proto.CompactTextString(m) } func (*GroupOwnerTransferredTips) ProtoMessage() {} func (*GroupOwnerTransferredTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{31} + return fileDescriptor_ws_20501d8722cdea6e, []int{31} } func (m *GroupOwnerTransferredTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupOwnerTransferredTips.Unmarshal(m, b) @@ -2635,7 +2635,7 @@ func (m *MemberKickedTips) Reset() { *m = MemberKickedTips{} } func (m *MemberKickedTips) String() string { return proto.CompactTextString(m) } func (*MemberKickedTips) ProtoMessage() {} func (*MemberKickedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{32} + return fileDescriptor_ws_20501d8722cdea6e, []int{32} } func (m *MemberKickedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberKickedTips.Unmarshal(m, b) @@ -2698,7 +2698,7 @@ func (m *MemberInvitedTips) Reset() { *m = MemberInvitedTips{} } func (m *MemberInvitedTips) String() string { return proto.CompactTextString(m) } func (*MemberInvitedTips) ProtoMessage() {} func (*MemberInvitedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{33} + return fileDescriptor_ws_20501d8722cdea6e, []int{33} } func (m *MemberInvitedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberInvitedTips.Unmarshal(m, b) @@ -2760,7 +2760,7 @@ func (m *MemberEnterTips) Reset() { *m = MemberEnterTips{} } func (m *MemberEnterTips) String() string { return proto.CompactTextString(m) } func (*MemberEnterTips) ProtoMessage() {} func (*MemberEnterTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{34} + return fileDescriptor_ws_20501d8722cdea6e, []int{34} } func (m *MemberEnterTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberEnterTips.Unmarshal(m, b) @@ -2814,7 +2814,7 @@ func (m *GroupDismissedTips) Reset() { *m = GroupDismissedTips{} } func (m *GroupDismissedTips) String() string { return proto.CompactTextString(m) } func (*GroupDismissedTips) ProtoMessage() {} func (*GroupDismissedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{35} + return fileDescriptor_ws_20501d8722cdea6e, []int{35} } func (m *GroupDismissedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupDismissedTips.Unmarshal(m, b) @@ -2870,7 +2870,7 @@ func (m *GroupMemberMutedTips) Reset() { *m = GroupMemberMutedTips{} } func (m *GroupMemberMutedTips) String() string { return proto.CompactTextString(m) } func (*GroupMemberMutedTips) ProtoMessage() {} func (*GroupMemberMutedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{36} + return fileDescriptor_ws_20501d8722cdea6e, []int{36} } func (m *GroupMemberMutedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMemberMutedTips.Unmarshal(m, b) @@ -2939,7 +2939,7 @@ func (m *GroupMemberCancelMutedTips) Reset() { *m = GroupMemberCancelMut func (m *GroupMemberCancelMutedTips) String() string { return proto.CompactTextString(m) } func (*GroupMemberCancelMutedTips) ProtoMessage() {} func (*GroupMemberCancelMutedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{37} + return fileDescriptor_ws_20501d8722cdea6e, []int{37} } func (m *GroupMemberCancelMutedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMemberCancelMutedTips.Unmarshal(m, b) @@ -3000,7 +3000,7 @@ func (m *GroupMutedTips) Reset() { *m = GroupMutedTips{} } func (m *GroupMutedTips) String() string { return proto.CompactTextString(m) } func (*GroupMutedTips) ProtoMessage() {} func (*GroupMutedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{38} + return fileDescriptor_ws_20501d8722cdea6e, []int{38} } func (m *GroupMutedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMutedTips.Unmarshal(m, b) @@ -3054,7 +3054,7 @@ func (m *GroupCancelMutedTips) Reset() { *m = GroupCancelMutedTips{} } func (m *GroupCancelMutedTips) String() string { return proto.CompactTextString(m) } func (*GroupCancelMutedTips) ProtoMessage() {} func (*GroupCancelMutedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{39} + return fileDescriptor_ws_20501d8722cdea6e, []int{39} } func (m *GroupCancelMutedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupCancelMutedTips.Unmarshal(m, b) @@ -3109,7 +3109,7 @@ func (m *GroupMemberInfoSetTips) Reset() { *m = GroupMemberInfoSetTips{} func (m *GroupMemberInfoSetTips) String() string { return proto.CompactTextString(m) } func (*GroupMemberInfoSetTips) ProtoMessage() {} func (*GroupMemberInfoSetTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{40} + return fileDescriptor_ws_20501d8722cdea6e, []int{40} } func (m *GroupMemberInfoSetTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMemberInfoSetTips.Unmarshal(m, b) @@ -3169,7 +3169,7 @@ func (m *OrganizationChangedTips) Reset() { *m = OrganizationChangedTips func (m *OrganizationChangedTips) String() string { return proto.CompactTextString(m) } func (*OrganizationChangedTips) ProtoMessage() {} func (*OrganizationChangedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{41} + return fileDescriptor_ws_20501d8722cdea6e, []int{41} } func (m *OrganizationChangedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OrganizationChangedTips.Unmarshal(m, b) @@ -3216,7 +3216,7 @@ func (m *FriendApplication) Reset() { *m = FriendApplication{} } func (m *FriendApplication) String() string { return proto.CompactTextString(m) } func (*FriendApplication) ProtoMessage() {} func (*FriendApplication) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{42} + return fileDescriptor_ws_20501d8722cdea6e, []int{42} } func (m *FriendApplication) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplication.Unmarshal(m, b) @@ -3269,7 +3269,7 @@ func (m *FromToUserID) Reset() { *m = FromToUserID{} } func (m *FromToUserID) String() string { return proto.CompactTextString(m) } func (*FromToUserID) ProtoMessage() {} func (*FromToUserID) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{43} + return fileDescriptor_ws_20501d8722cdea6e, []int{43} } func (m *FromToUserID) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FromToUserID.Unmarshal(m, b) @@ -3315,7 +3315,7 @@ func (m *FriendApplicationTips) Reset() { *m = FriendApplicationTips{} } func (m *FriendApplicationTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationTips) ProtoMessage() {} func (*FriendApplicationTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{44} + return fileDescriptor_ws_20501d8722cdea6e, []int{44} } func (m *FriendApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationTips.Unmarshal(m, b) @@ -3355,7 +3355,7 @@ func (m *FriendApplicationApprovedTips) Reset() { *m = FriendApplication func (m *FriendApplicationApprovedTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationApprovedTips) ProtoMessage() {} func (*FriendApplicationApprovedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{45} + return fileDescriptor_ws_20501d8722cdea6e, []int{45} } func (m *FriendApplicationApprovedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationApprovedTips.Unmarshal(m, b) @@ -3402,7 +3402,7 @@ func (m *FriendApplicationRejectedTips) Reset() { *m = FriendApplication func (m *FriendApplicationRejectedTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationRejectedTips) ProtoMessage() {} func (*FriendApplicationRejectedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{46} + return fileDescriptor_ws_20501d8722cdea6e, []int{46} } func (m *FriendApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationRejectedTips.Unmarshal(m, b) @@ -3450,7 +3450,7 @@ func (m *FriendAddedTips) Reset() { *m = FriendAddedTips{} } func (m *FriendAddedTips) String() string { return proto.CompactTextString(m) } func (*FriendAddedTips) ProtoMessage() {} func (*FriendAddedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{47} + return fileDescriptor_ws_20501d8722cdea6e, []int{47} } func (m *FriendAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendAddedTips.Unmarshal(m, b) @@ -3503,7 +3503,7 @@ func (m *FriendDeletedTips) Reset() { *m = FriendDeletedTips{} } func (m *FriendDeletedTips) String() string { return proto.CompactTextString(m) } func (*FriendDeletedTips) ProtoMessage() {} func (*FriendDeletedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{48} + return fileDescriptor_ws_20501d8722cdea6e, []int{48} } func (m *FriendDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendDeletedTips.Unmarshal(m, b) @@ -3541,7 +3541,7 @@ func (m *BlackAddedTips) Reset() { *m = BlackAddedTips{} } func (m *BlackAddedTips) String() string { return proto.CompactTextString(m) } func (*BlackAddedTips) ProtoMessage() {} func (*BlackAddedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{49} + return fileDescriptor_ws_20501d8722cdea6e, []int{49} } func (m *BlackAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackAddedTips.Unmarshal(m, b) @@ -3579,7 +3579,7 @@ func (m *BlackDeletedTips) Reset() { *m = BlackDeletedTips{} } func (m *BlackDeletedTips) String() string { return proto.CompactTextString(m) } func (*BlackDeletedTips) ProtoMessage() {} func (*BlackDeletedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{50} + return fileDescriptor_ws_20501d8722cdea6e, []int{50} } func (m *BlackDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackDeletedTips.Unmarshal(m, b) @@ -3617,7 +3617,7 @@ func (m *FriendInfoChangedTips) Reset() { *m = FriendInfoChangedTips{} } func (m *FriendInfoChangedTips) String() string { return proto.CompactTextString(m) } func (*FriendInfoChangedTips) ProtoMessage() {} func (*FriendInfoChangedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{51} + return fileDescriptor_ws_20501d8722cdea6e, []int{51} } func (m *FriendInfoChangedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendInfoChangedTips.Unmarshal(m, b) @@ -3656,7 +3656,7 @@ func (m *UserInfoUpdatedTips) Reset() { *m = UserInfoUpdatedTips{} } func (m *UserInfoUpdatedTips) String() string { return proto.CompactTextString(m) } func (*UserInfoUpdatedTips) ProtoMessage() {} func (*UserInfoUpdatedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{52} + return fileDescriptor_ws_20501d8722cdea6e, []int{52} } func (m *UserInfoUpdatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfoUpdatedTips.Unmarshal(m, b) @@ -3697,7 +3697,7 @@ func (m *ConversationUpdateTips) Reset() { *m = ConversationUpdateTips{} func (m *ConversationUpdateTips) String() string { return proto.CompactTextString(m) } func (*ConversationUpdateTips) ProtoMessage() {} func (*ConversationUpdateTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{53} + return fileDescriptor_ws_20501d8722cdea6e, []int{53} } func (m *ConversationUpdateTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConversationUpdateTips.Unmarshal(m, b) @@ -3751,7 +3751,7 @@ func (m *ConversationSetPrivateTips) Reset() { *m = ConversationSetPriva func (m *ConversationSetPrivateTips) String() string { return proto.CompactTextString(m) } func (*ConversationSetPrivateTips) ProtoMessage() {} func (*ConversationSetPrivateTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{54} + return fileDescriptor_ws_20501d8722cdea6e, []int{54} } func (m *ConversationSetPrivateTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConversationSetPrivateTips.Unmarshal(m, b) @@ -3806,7 +3806,7 @@ func (m *DeleteMessageTips) Reset() { *m = DeleteMessageTips{} } func (m *DeleteMessageTips) String() string { return proto.CompactTextString(m) } func (*DeleteMessageTips) ProtoMessage() {} func (*DeleteMessageTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{55} + return fileDescriptor_ws_20501d8722cdea6e, []int{55} } func (m *DeleteMessageTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteMessageTips.Unmarshal(m, b) @@ -3860,7 +3860,7 @@ func (m *RequestPagination) Reset() { *m = RequestPagination{} } func (m *RequestPagination) String() string { return proto.CompactTextString(m) } func (*RequestPagination) ProtoMessage() {} func (*RequestPagination) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{56} + return fileDescriptor_ws_20501d8722cdea6e, []int{56} } func (m *RequestPagination) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RequestPagination.Unmarshal(m, b) @@ -3906,7 +3906,7 @@ func (m *ResponsePagination) Reset() { *m = ResponsePagination{} } func (m *ResponsePagination) String() string { return proto.CompactTextString(m) } func (*ResponsePagination) ProtoMessage() {} func (*ResponsePagination) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{57} + return fileDescriptor_ws_20501d8722cdea6e, []int{57} } func (m *ResponsePagination) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ResponsePagination.Unmarshal(m, b) @@ -3963,7 +3963,7 @@ func (m *SignalReq) Reset() { *m = SignalReq{} } func (m *SignalReq) String() string { return proto.CompactTextString(m) } func (*SignalReq) ProtoMessage() {} func (*SignalReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{58} + return fileDescriptor_ws_20501d8722cdea6e, []int{58} } func (m *SignalReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalReq.Unmarshal(m, b) @@ -4352,7 +4352,7 @@ func (m *SignalResp) Reset() { *m = SignalResp{} } func (m *SignalResp) String() string { return proto.CompactTextString(m) } func (*SignalResp) ProtoMessage() {} func (*SignalResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{59} + return fileDescriptor_ws_20501d8722cdea6e, []int{59} } func (m *SignalResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalResp.Unmarshal(m, b) @@ -4682,7 +4682,7 @@ func (m *InvitationInfo) Reset() { *m = InvitationInfo{} } func (m *InvitationInfo) String() string { return proto.CompactTextString(m) } func (*InvitationInfo) ProtoMessage() {} func (*InvitationInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{60} + return fileDescriptor_ws_20501d8722cdea6e, []int{60} } func (m *InvitationInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_InvitationInfo.Unmarshal(m, b) @@ -4792,7 +4792,7 @@ func (m *ParticipantMetaData) Reset() { *m = ParticipantMetaData{} } func (m *ParticipantMetaData) String() string { return proto.CompactTextString(m) } func (*ParticipantMetaData) ProtoMessage() {} func (*ParticipantMetaData) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{61} + return fileDescriptor_ws_20501d8722cdea6e, []int{61} } func (m *ParticipantMetaData) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ParticipantMetaData.Unmarshal(m, b) @@ -4847,7 +4847,7 @@ func (m *SignalInviteReq) Reset() { *m = SignalInviteReq{} } func (m *SignalInviteReq) String() string { return proto.CompactTextString(m) } func (*SignalInviteReq) ProtoMessage() {} func (*SignalInviteReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{62} + return fileDescriptor_ws_20501d8722cdea6e, []int{62} } func (m *SignalInviteReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteReq.Unmarshal(m, b) @@ -4909,7 +4909,7 @@ func (m *SignalInviteReply) Reset() { *m = SignalInviteReply{} } func (m *SignalInviteReply) String() string { return proto.CompactTextString(m) } func (*SignalInviteReply) ProtoMessage() {} func (*SignalInviteReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{63} + return fileDescriptor_ws_20501d8722cdea6e, []int{63} } func (m *SignalInviteReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteReply.Unmarshal(m, b) @@ -4971,7 +4971,7 @@ func (m *SignalInviteInGroupReq) Reset() { *m = SignalInviteInGroupReq{} func (m *SignalInviteInGroupReq) String() string { return proto.CompactTextString(m) } func (*SignalInviteInGroupReq) ProtoMessage() {} func (*SignalInviteInGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{64} + return fileDescriptor_ws_20501d8722cdea6e, []int{64} } func (m *SignalInviteInGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteInGroupReq.Unmarshal(m, b) @@ -5033,7 +5033,7 @@ func (m *SignalInviteInGroupReply) Reset() { *m = SignalInviteInGroupRep func (m *SignalInviteInGroupReply) String() string { return proto.CompactTextString(m) } func (*SignalInviteInGroupReply) ProtoMessage() {} func (*SignalInviteInGroupReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{65} + return fileDescriptor_ws_20501d8722cdea6e, []int{65} } func (m *SignalInviteInGroupReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteInGroupReply.Unmarshal(m, b) @@ -5095,7 +5095,7 @@ func (m *SignalCancelReq) Reset() { *m = SignalCancelReq{} } func (m *SignalCancelReq) String() string { return proto.CompactTextString(m) } func (*SignalCancelReq) ProtoMessage() {} func (*SignalCancelReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{66} + return fileDescriptor_ws_20501d8722cdea6e, []int{66} } func (m *SignalCancelReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalCancelReq.Unmarshal(m, b) @@ -5153,7 +5153,7 @@ func (m *SignalCancelReply) Reset() { *m = SignalCancelReply{} } func (m *SignalCancelReply) String() string { return proto.CompactTextString(m) } func (*SignalCancelReply) ProtoMessage() {} func (*SignalCancelReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{67} + return fileDescriptor_ws_20501d8722cdea6e, []int{67} } func (m *SignalCancelReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalCancelReply.Unmarshal(m, b) @@ -5188,7 +5188,7 @@ func (m *SignalAcceptReq) Reset() { *m = SignalAcceptReq{} } func (m *SignalAcceptReq) String() string { return proto.CompactTextString(m) } func (*SignalAcceptReq) ProtoMessage() {} func (*SignalAcceptReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{68} + return fileDescriptor_ws_20501d8722cdea6e, []int{68} } func (m *SignalAcceptReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalAcceptReq.Unmarshal(m, b) @@ -5256,7 +5256,7 @@ func (m *SignalAcceptReply) Reset() { *m = SignalAcceptReply{} } func (m *SignalAcceptReply) String() string { return proto.CompactTextString(m) } func (*SignalAcceptReply) ProtoMessage() {} func (*SignalAcceptReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{69} + return fileDescriptor_ws_20501d8722cdea6e, []int{69} } func (m *SignalAcceptReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalAcceptReply.Unmarshal(m, b) @@ -5310,7 +5310,7 @@ func (m *SignalHungUpReq) Reset() { *m = SignalHungUpReq{} } func (m *SignalHungUpReq) String() string { return proto.CompactTextString(m) } func (*SignalHungUpReq) ProtoMessage() {} func (*SignalHungUpReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{70} + return fileDescriptor_ws_20501d8722cdea6e, []int{70} } func (m *SignalHungUpReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalHungUpReq.Unmarshal(m, b) @@ -5361,7 +5361,7 @@ func (m *SignalHungUpReply) Reset() { *m = SignalHungUpReply{} } func (m *SignalHungUpReply) String() string { return proto.CompactTextString(m) } func (*SignalHungUpReply) ProtoMessage() {} func (*SignalHungUpReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{71} + return fileDescriptor_ws_20501d8722cdea6e, []int{71} } func (m *SignalHungUpReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalHungUpReply.Unmarshal(m, b) @@ -5396,7 +5396,7 @@ func (m *SignalRejectReq) Reset() { *m = SignalRejectReq{} } func (m *SignalRejectReq) String() string { return proto.CompactTextString(m) } func (*SignalRejectReq) ProtoMessage() {} func (*SignalRejectReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{72} + return fileDescriptor_ws_20501d8722cdea6e, []int{72} } func (m *SignalRejectReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalRejectReq.Unmarshal(m, b) @@ -5461,7 +5461,7 @@ func (m *SignalRejectReply) Reset() { *m = SignalRejectReply{} } func (m *SignalRejectReply) String() string { return proto.CompactTextString(m) } func (*SignalRejectReply) ProtoMessage() {} func (*SignalRejectReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{73} + return fileDescriptor_ws_20501d8722cdea6e, []int{73} } func (m *SignalRejectReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalRejectReply.Unmarshal(m, b) @@ -5494,7 +5494,7 @@ func (m *SignalGetRoomByGroupIDReq) Reset() { *m = SignalGetRoomByGroupI func (m *SignalGetRoomByGroupIDReq) String() string { return proto.CompactTextString(m) } func (*SignalGetRoomByGroupIDReq) ProtoMessage() {} func (*SignalGetRoomByGroupIDReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{74} + return fileDescriptor_ws_20501d8722cdea6e, []int{74} } func (m *SignalGetRoomByGroupIDReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalGetRoomByGroupIDReq.Unmarshal(m, b) @@ -5548,7 +5548,7 @@ func (m *SignalGetRoomByGroupIDReply) Reset() { *m = SignalGetRoomByGrou func (m *SignalGetRoomByGroupIDReply) String() string { return proto.CompactTextString(m) } func (*SignalGetRoomByGroupIDReply) ProtoMessage() {} func (*SignalGetRoomByGroupIDReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{75} + return fileDescriptor_ws_20501d8722cdea6e, []int{75} } func (m *SignalGetRoomByGroupIDReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalGetRoomByGroupIDReply.Unmarshal(m, b) @@ -5602,7 +5602,7 @@ func (m *SignalOnRoomParticipantConnectedReq) Reset() { *m = SignalOnRoo func (m *SignalOnRoomParticipantConnectedReq) String() string { return proto.CompactTextString(m) } func (*SignalOnRoomParticipantConnectedReq) ProtoMessage() {} func (*SignalOnRoomParticipantConnectedReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{76} + return fileDescriptor_ws_20501d8722cdea6e, []int{76} } func (m *SignalOnRoomParticipantConnectedReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalOnRoomParticipantConnectedReq.Unmarshal(m, b) @@ -5658,7 +5658,7 @@ func (m *SignalOnRoomParticipantDisconnectedReq) Reset() { func (m *SignalOnRoomParticipantDisconnectedReq) String() string { return proto.CompactTextString(m) } func (*SignalOnRoomParticipantDisconnectedReq) ProtoMessage() {} func (*SignalOnRoomParticipantDisconnectedReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{77} + return fileDescriptor_ws_20501d8722cdea6e, []int{77} } func (m *SignalOnRoomParticipantDisconnectedReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalOnRoomParticipantDisconnectedReq.Unmarshal(m, b) @@ -5713,7 +5713,7 @@ func (m *SignalGetTokenByRoomIDReq) Reset() { *m = SignalGetTokenByRoomI func (m *SignalGetTokenByRoomIDReq) String() string { return proto.CompactTextString(m) } func (*SignalGetTokenByRoomIDReq) ProtoMessage() {} func (*SignalGetTokenByRoomIDReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{78} + return fileDescriptor_ws_20501d8722cdea6e, []int{78} } func (m *SignalGetTokenByRoomIDReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalGetTokenByRoomIDReq.Unmarshal(m, b) @@ -5773,7 +5773,7 @@ func (m *SignalGetTokenByRoomIDReply) Reset() { *m = SignalGetTokenByRoo func (m *SignalGetTokenByRoomIDReply) String() string { return proto.CompactTextString(m) } func (*SignalGetTokenByRoomIDReply) ProtoMessage() {} func (*SignalGetTokenByRoomIDReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{79} + return fileDescriptor_ws_20501d8722cdea6e, []int{79} } func (m *SignalGetTokenByRoomIDReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalGetTokenByRoomIDReply.Unmarshal(m, b) @@ -5821,7 +5821,7 @@ func (m *DelMsgListReq) Reset() { *m = DelMsgListReq{} } func (m *DelMsgListReq) String() string { return proto.CompactTextString(m) } func (*DelMsgListReq) ProtoMessage() {} func (*DelMsgListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{80} + return fileDescriptor_ws_20501d8722cdea6e, []int{80} } func (m *DelMsgListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelMsgListReq.Unmarshal(m, b) @@ -5881,7 +5881,7 @@ func (m *DelMsgListResp) Reset() { *m = DelMsgListResp{} } func (m *DelMsgListResp) String() string { return proto.CompactTextString(m) } func (*DelMsgListResp) ProtoMessage() {} func (*DelMsgListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{81} + return fileDescriptor_ws_20501d8722cdea6e, []int{81} } func (m *DelMsgListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelMsgListResp.Unmarshal(m, b) @@ -5927,7 +5927,7 @@ func (m *SetAppBackgroundStatusReq) Reset() { *m = SetAppBackgroundStatu func (m *SetAppBackgroundStatusReq) String() string { return proto.CompactTextString(m) } func (*SetAppBackgroundStatusReq) ProtoMessage() {} func (*SetAppBackgroundStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{82} + return fileDescriptor_ws_20501d8722cdea6e, []int{82} } func (m *SetAppBackgroundStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetAppBackgroundStatusReq.Unmarshal(m, b) @@ -5973,7 +5973,7 @@ func (m *SetAppBackgroundStatusResp) Reset() { *m = SetAppBackgroundStat func (m *SetAppBackgroundStatusResp) String() string { return proto.CompactTextString(m) } func (*SetAppBackgroundStatusResp) ProtoMessage() {} func (*SetAppBackgroundStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{83} + return fileDescriptor_ws_20501d8722cdea6e, []int{83} } func (m *SetAppBackgroundStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetAppBackgroundStatusResp.Unmarshal(m, b) @@ -6007,6 +6007,208 @@ func (m *SetAppBackgroundStatusResp) GetErrMsg() string { return "" } +type ExtendMsgSet struct { + SourceID string `protobuf:"bytes,1,opt,name=sourceID" json:"sourceID,omitempty"` + SessionType int32 `protobuf:"varint,2,opt,name=sessionType" json:"sessionType,omitempty"` + ExtendMsgs map[string]*ExtendMsg `protobuf:"bytes,3,rep,name=extendMsgs" json:"extendMsgs,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + MaxMsgUpdateTime int64 `protobuf:"varint,4,opt,name=MaxMsgUpdateTime" json:"MaxMsgUpdateTime,omitempty"` + ExtendMsgNum int32 `protobuf:"varint,5,opt,name=extendMsgNum" json:"extendMsgNum,omitempty"` + CreateTime int64 `protobuf:"varint,6,opt,name=createTime" json:"createTime,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ExtendMsgSet) Reset() { *m = ExtendMsgSet{} } +func (m *ExtendMsgSet) String() string { return proto.CompactTextString(m) } +func (*ExtendMsgSet) ProtoMessage() {} +func (*ExtendMsgSet) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_20501d8722cdea6e, []int{84} +} +func (m *ExtendMsgSet) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ExtendMsgSet.Unmarshal(m, b) +} +func (m *ExtendMsgSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ExtendMsgSet.Marshal(b, m, deterministic) +} +func (dst *ExtendMsgSet) XXX_Merge(src proto.Message) { + xxx_messageInfo_ExtendMsgSet.Merge(dst, src) +} +func (m *ExtendMsgSet) XXX_Size() int { + return xxx_messageInfo_ExtendMsgSet.Size(m) +} +func (m *ExtendMsgSet) XXX_DiscardUnknown() { + xxx_messageInfo_ExtendMsgSet.DiscardUnknown(m) +} + +var xxx_messageInfo_ExtendMsgSet proto.InternalMessageInfo + +func (m *ExtendMsgSet) GetSourceID() string { + if m != nil { + return m.SourceID + } + return "" +} + +func (m *ExtendMsgSet) GetSessionType() int32 { + if m != nil { + return m.SessionType + } + return 0 +} + +func (m *ExtendMsgSet) GetExtendMsgs() map[string]*ExtendMsg { + if m != nil { + return m.ExtendMsgs + } + return nil +} + +func (m *ExtendMsgSet) GetMaxMsgUpdateTime() int64 { + if m != nil { + return m.MaxMsgUpdateTime + } + return 0 +} + +func (m *ExtendMsgSet) GetExtendMsgNum() int32 { + if m != nil { + return m.ExtendMsgNum + } + return 0 +} + +func (m *ExtendMsgSet) GetCreateTime() int64 { + if m != nil { + return m.CreateTime + } + return 0 +} + +type ExtendMsg struct { + ReactionExtensionList map[string]*KeyValue `protobuf:"bytes,1,rep,name=reactionExtensionList" json:"reactionExtensionList,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + ClientMsgID string `protobuf:"bytes,2,opt,name=clientMsgID" json:"clientMsgID,omitempty"` + MsgFirstModifyTime int64 `protobuf:"varint,3,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"` + AttachedInfo string `protobuf:"bytes,4,opt,name=attachedInfo" json:"attachedInfo,omitempty"` + Ex string `protobuf:"bytes,5,opt,name=ex" json:"ex,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ExtendMsg) Reset() { *m = ExtendMsg{} } +func (m *ExtendMsg) String() string { return proto.CompactTextString(m) } +func (*ExtendMsg) ProtoMessage() {} +func (*ExtendMsg) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_20501d8722cdea6e, []int{85} +} +func (m *ExtendMsg) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ExtendMsg.Unmarshal(m, b) +} +func (m *ExtendMsg) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ExtendMsg.Marshal(b, m, deterministic) +} +func (dst *ExtendMsg) XXX_Merge(src proto.Message) { + xxx_messageInfo_ExtendMsg.Merge(dst, src) +} +func (m *ExtendMsg) XXX_Size() int { + return xxx_messageInfo_ExtendMsg.Size(m) +} +func (m *ExtendMsg) XXX_DiscardUnknown() { + xxx_messageInfo_ExtendMsg.DiscardUnknown(m) +} + +var xxx_messageInfo_ExtendMsg proto.InternalMessageInfo + +func (m *ExtendMsg) GetReactionExtensionList() map[string]*KeyValue { + if m != nil { + return m.ReactionExtensionList + } + return nil +} + +func (m *ExtendMsg) GetClientMsgID() string { + if m != nil { + return m.ClientMsgID + } + return "" +} + +func (m *ExtendMsg) GetMsgFirstModifyTime() int64 { + if m != nil { + return m.MsgFirstModifyTime + } + return 0 +} + +func (m *ExtendMsg) GetAttachedInfo() string { + if m != nil { + return m.AttachedInfo + } + return "" +} + +func (m *ExtendMsg) GetEx() string { + if m != nil { + return m.Ex + } + return "" +} + +type KeyValue struct { + TypeKey string `protobuf:"bytes,1,opt,name=typeKey" json:"typeKey,omitempty"` + Value string `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"` + LatestUpdateTime int64 `protobuf:"varint,3,opt,name=latestUpdateTime" json:"latestUpdateTime,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *KeyValue) Reset() { *m = KeyValue{} } +func (m *KeyValue) String() string { return proto.CompactTextString(m) } +func (*KeyValue) ProtoMessage() {} +func (*KeyValue) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_20501d8722cdea6e, []int{86} +} +func (m *KeyValue) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_KeyValue.Unmarshal(m, b) +} +func (m *KeyValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_KeyValue.Marshal(b, m, deterministic) +} +func (dst *KeyValue) XXX_Merge(src proto.Message) { + xxx_messageInfo_KeyValue.Merge(dst, src) +} +func (m *KeyValue) XXX_Size() int { + return xxx_messageInfo_KeyValue.Size(m) +} +func (m *KeyValue) XXX_DiscardUnknown() { + xxx_messageInfo_KeyValue.DiscardUnknown(m) +} + +var xxx_messageInfo_KeyValue proto.InternalMessageInfo + +func (m *KeyValue) GetTypeKey() string { + if m != nil { + return m.TypeKey + } + return "" +} + +func (m *KeyValue) GetValue() string { + if m != nil { + return m.Value + } + return "" +} + +func (m *KeyValue) GetLatestUpdateTime() int64 { + if m != nil { + return m.LatestUpdateTime + } + return 0 +} + func init() { proto.RegisterType((*GroupInfo)(nil), "server_api_params.GroupInfo") proto.RegisterType((*GroupInfoForSet)(nil), "server_api_params.GroupInfoForSet") @@ -6096,253 +6298,271 @@ func init() { proto.RegisterType((*DelMsgListResp)(nil), "server_api_params.DelMsgListResp") proto.RegisterType((*SetAppBackgroundStatusReq)(nil), "server_api_params.SetAppBackgroundStatusReq") proto.RegisterType((*SetAppBackgroundStatusResp)(nil), "server_api_params.SetAppBackgroundStatusResp") + proto.RegisterType((*ExtendMsgSet)(nil), "server_api_params.ExtendMsgSet") + proto.RegisterMapType((map[string]*ExtendMsg)(nil), "server_api_params.ExtendMsgSet.ExtendMsgsEntry") + proto.RegisterType((*ExtendMsg)(nil), "server_api_params.ExtendMsg") + proto.RegisterMapType((map[string]*KeyValue)(nil), "server_api_params.ExtendMsg.ReactionExtensionListEntry") + proto.RegisterType((*KeyValue)(nil), "server_api_params.KeyValue") } -func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_064f17309f8224cf) } +func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_20501d8722cdea6e) } -var fileDescriptor_ws_064f17309f8224cf = []byte{ - // 3880 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x3c, 0x5b, 0x6f, 0x1c, 0xd7, - 0x79, 0x9e, 0x59, 0xee, 0x92, 0xfb, 0x2d, 0x2f, 0xcb, 0x91, 0x44, 0xaf, 0x69, 0x59, 0x65, 0xc7, - 0x82, 0xea, 0xaa, 0x32, 0x55, 0xc8, 0x17, 0xd4, 0x37, 0x15, 0xbc, 0x58, 0x14, 0x6d, 0x2d, 0x49, - 0xcf, 0x4a, 0x56, 0x61, 0x1b, 0x50, 0x87, 0x3b, 0x87, 0xcb, 0x31, 0x67, 0x67, 0x86, 0x73, 0xa1, - 0xc4, 0x3e, 0xb4, 0x40, 0x5b, 0xb4, 0x05, 0xfa, 0x50, 0xa0, 0xe8, 0x05, 0x48, 0xde, 0xf2, 0x12, - 0x24, 0x08, 0x8c, 0x20, 0x48, 0x82, 0x00, 0x09, 0x82, 0x20, 0xc8, 0x43, 0x80, 0x04, 0x48, 0xde, - 0x03, 0x24, 0x48, 0x9e, 0xf2, 0x90, 0x3f, 0x10, 0x20, 0x80, 0x83, 0x73, 0xbe, 0x33, 0x33, 0xe7, - 0xcc, 0xcc, 0x5e, 0x44, 0x10, 0x96, 0x0c, 0xe5, 0x8d, 0xdf, 0x37, 0xe7, 0xfb, 0xce, 0x77, 0x3f, - 0xdf, 0xb9, 0x2c, 0x61, 0x2e, 0xb4, 0x0e, 0xee, 0xdd, 0x0f, 0xaf, 0xde, 0x0f, 0x97, 0xfd, 0xc0, - 0x8b, 0x3c, 0x6d, 0x3e, 0x24, 0xc1, 0x11, 0x09, 0xee, 0x99, 0xbe, 0x7d, 0xcf, 0x37, 0x03, 0xb3, - 0x1f, 0x2e, 0x2e, 0x6f, 0xfb, 0xc4, 0x7d, 0x71, 0xb3, 0xfd, 0x62, 0x87, 0x7d, 0xba, 0xea, 0x1f, - 0xf4, 0xae, 0xb2, 0xc1, 0x57, 0x13, 0xe2, 0xc0, 0xf4, 0x7d, 0x12, 0x70, 0x16, 0xfa, 0xaf, 0x26, - 0xa0, 0xbe, 0x11, 0x78, 0xb1, 0xbf, 0xe9, 0xee, 0x79, 0x5a, 0x0b, 0x26, 0x7b, 0x0c, 0x58, 0x6f, - 0x29, 0x4b, 0xca, 0x0b, 0x75, 0x23, 0x01, 0xb5, 0xf3, 0x50, 0x67, 0x7f, 0x6e, 0x99, 0x7d, 0xd2, - 0x52, 0xd9, 0xb7, 0x0c, 0xa1, 0xe9, 0x30, 0xed, 0x7a, 0x91, 0xbd, 0x67, 0x77, 0xcd, 0xc8, 0xf6, - 0xdc, 0x56, 0x85, 0x0d, 0x90, 0x70, 0x74, 0x8c, 0xed, 0x46, 0x81, 0x67, 0xc5, 0x5d, 0x36, 0x66, - 0x02, 0xc7, 0x88, 0x38, 0x3a, 0xff, 0x9e, 0xd9, 0x25, 0x77, 0x8c, 0x5b, 0xad, 0x2a, 0xce, 0xcf, - 0x41, 0x6d, 0x09, 0x1a, 0xde, 0x7d, 0x97, 0x04, 0x77, 0x42, 0x12, 0x6c, 0xae, 0xb7, 0x6a, 0xec, - 0xab, 0x88, 0xd2, 0x2e, 0x00, 0x74, 0x03, 0x62, 0x46, 0xe4, 0xb6, 0xdd, 0x27, 0xad, 0xc9, 0x25, - 0xe5, 0x85, 0x19, 0x43, 0xc0, 0x50, 0x0e, 0x7d, 0xd2, 0xdf, 0x25, 0xc1, 0x9a, 0x17, 0xbb, 0x51, - 0x6b, 0x8a, 0x0d, 0x10, 0x51, 0xda, 0x2c, 0xa8, 0xe4, 0x41, 0xab, 0xce, 0x58, 0xab, 0xe4, 0x81, - 0xb6, 0x00, 0xb5, 0x30, 0x32, 0xa3, 0x38, 0x6c, 0xc1, 0x92, 0xf2, 0x42, 0xd5, 0xe0, 0x90, 0x76, - 0x11, 0x66, 0x18, 0x5f, 0x2f, 0x91, 0xa6, 0xc1, 0x48, 0x64, 0x64, 0x6a, 0xb1, 0xdb, 0xc7, 0x3e, - 0x69, 0x4d, 0x33, 0x06, 0x19, 0x42, 0xbb, 0x0c, 0x4d, 0x97, 0x10, 0xeb, 0x7d, 0x12, 0x64, 0x56, - 0x9b, 0x61, 0x83, 0x0a, 0x78, 0xed, 0x12, 0xcc, 0x3a, 0x9e, 0x77, 0xd0, 0x66, 0xa2, 0x52, 0x3f, - 0xb5, 0x66, 0xd9, 0xc8, 0x1c, 0x56, 0xbb, 0x02, 0xf3, 0xa6, 0xef, 0x3b, 0xc7, 0x88, 0xba, 0x11, - 0xd8, 0xc4, 0xb5, 0x5a, 0x73, 0x6c, 0x68, 0xf1, 0x83, 0xf6, 0x2a, 0x2c, 0x88, 0xfe, 0xb9, 0xe3, - 0x5b, 0x89, 0xed, 0x9a, 0xcc, 0x34, 0x03, 0xbe, 0x6a, 0xcb, 0xa0, 0x49, 0x5f, 0xd0, 0x04, 0xf3, - 0xcc, 0x04, 0x25, 0x5f, 0xf4, 0xff, 0xa9, 0xc0, 0x5c, 0x1a, 0x61, 0x37, 0xbc, 0xa0, 0x43, 0xa2, - 0xc7, 0x38, 0xce, 0x30, 0x06, 0x6a, 0x69, 0x0c, 0x6c, 0x94, 0xf8, 0x89, 0xc6, 0x56, 0xe3, 0xda, - 0xb3, 0xcb, 0x3d, 0xcf, 0xeb, 0x39, 0x04, 0x13, 0x69, 0x37, 0xde, 0x5b, 0xde, 0x74, 0xa3, 0x97, - 0xae, 0xbd, 0x6f, 0x3a, 0x31, 0x29, 0x71, 0xe2, 0x5a, 0xc1, 0x89, 0x53, 0xa3, 0xd9, 0xe4, 0x3d, - 0xbc, 0x59, 0xe6, 0xe1, 0xfa, 0x68, 0x3e, 0x45, 0x2a, 0xfd, 0x53, 0x15, 0xce, 0x30, 0xb7, 0x70, - 0x6c, 0xec, 0x38, 0x23, 0x4a, 0xc0, 0x02, 0xd4, 0x62, 0x74, 0x36, 0xfa, 0x85, 0x43, 0xd4, 0x65, - 0x81, 0xe7, 0x90, 0x5b, 0xe4, 0x88, 0x38, 0xcc, 0x23, 0x55, 0x23, 0x43, 0x68, 0x8b, 0x30, 0xf5, - 0xb1, 0x67, 0xbb, 0x2c, 0xb0, 0x26, 0xd8, 0xc7, 0x14, 0xa6, 0xdf, 0x5c, 0xbb, 0x7b, 0xe0, 0x52, - 0x5f, 0xa3, 0x1f, 0x52, 0x58, 0x74, 0x51, 0x4d, 0x76, 0xd1, 0x25, 0x98, 0x35, 0x7d, 0xbf, 0x6d, - 0xba, 0x3d, 0x12, 0xe0, 0xa4, 0x93, 0x98, 0x0e, 0x32, 0x96, 0x16, 0x04, 0x3a, 0x53, 0xc7, 0x8b, - 0x83, 0x2e, 0x61, 0xd6, 0xae, 0x1a, 0x02, 0x86, 0xf2, 0xf1, 0x7c, 0x12, 0x08, 0x79, 0x8c, 0xa9, - 0x9f, 0xc3, 0xf2, 0x90, 0x80, 0x34, 0x24, 0x68, 0x21, 0x89, 0x23, 0xf2, 0xb6, 0x6b, 0x31, 0xa5, - 0x1a, 0xbc, 0x90, 0x64, 0x28, 0x5a, 0x20, 0x6c, 0xf7, 0xc8, 0x8e, 0xd2, 0x72, 0x35, 0x8d, 0x05, - 0x42, 0x42, 0xea, 0xff, 0xa6, 0xc0, 0xec, 0x4e, 0xbc, 0xeb, 0xd8, 0x5d, 0x86, 0xa0, 0xc6, 0xcf, - 0x4c, 0xac, 0x48, 0x26, 0x16, 0x0d, 0xa5, 0x0e, 0x36, 0x54, 0x45, 0x36, 0xd4, 0x02, 0xd4, 0x7a, - 0xc4, 0xb5, 0x48, 0xc0, 0x0d, 0xcf, 0x21, 0xae, 0x50, 0x35, 0x51, 0x48, 0xff, 0xa5, 0x0a, 0x53, - 0x9f, 0xb1, 0x08, 0x4b, 0xd0, 0xf0, 0xf7, 0x3d, 0x97, 0x6c, 0xc5, 0x34, 0xf8, 0xb8, 0x2c, 0x22, - 0x4a, 0x3b, 0x0b, 0xd5, 0x5d, 0x3b, 0x88, 0xf6, 0x99, 0xf7, 0x67, 0x0c, 0x04, 0x28, 0x96, 0xf4, - 0x4d, 0x1b, 0x5d, 0x5e, 0x37, 0x10, 0xe0, 0x0a, 0x4d, 0xa5, 0x1e, 0x92, 0x97, 0x82, 0x7a, 0x61, - 0x29, 0x28, 0x46, 0x10, 0x94, 0x46, 0xd0, 0x65, 0x68, 0xf6, 0x1c, 0x6f, 0xd7, 0x74, 0x0c, 0xd2, - 0x3d, 0x6a, 0x87, 0xbd, 0x6d, 0x3f, 0x62, 0xee, 0xae, 0x1a, 0x05, 0x3c, 0xb5, 0x0f, 0x13, 0xb1, - 0x13, 0x05, 0xdc, 0xdd, 0x29, 0xac, 0xff, 0x5e, 0x01, 0xc0, 0xb4, 0x63, 0x26, 0xce, 0xad, 0x65, - 0x4a, 0x71, 0x2d, 0x5b, 0x80, 0x5a, 0x40, 0xfa, 0x66, 0x70, 0x90, 0xa4, 0x1a, 0x42, 0x39, 0xc5, - 0x2a, 0x05, 0xc5, 0xde, 0x00, 0xd8, 0x63, 0xf3, 0x50, 0x3e, 0xcc, 0xe4, 0xb4, 0x30, 0x14, 0xba, - 0x84, 0xe5, 0xc4, 0xdb, 0x86, 0x30, 0x9c, 0xe6, 0xb1, 0x69, 0x59, 0x3c, 0x5d, 0xaa, 0x98, 0xc7, - 0x29, 0xa2, 0x24, 0x5b, 0x6a, 0x43, 0xb2, 0x65, 0x32, 0x0d, 0xae, 0xdf, 0x29, 0x50, 0x5f, 0x75, - 0xcc, 0xee, 0xc1, 0x98, 0xaa, 0xcb, 0x2a, 0xaa, 0x05, 0x15, 0x37, 0x60, 0x66, 0x97, 0xb2, 0x4b, - 0x54, 0x60, 0x56, 0x68, 0x5c, 0xfb, 0xf3, 0x12, 0x2d, 0xe5, 0xe4, 0x32, 0x64, 0x3a, 0x59, 0xdd, - 0x89, 0xd1, 0xea, 0x56, 0x87, 0xa8, 0x9b, 0xae, 0x17, 0xfa, 0xff, 0x57, 0x60, 0x9a, 0x95, 0x55, - 0x83, 0x1c, 0xc6, 0x24, 0x8c, 0xb4, 0xb7, 0x60, 0x2a, 0x4e, 0x44, 0x55, 0xc6, 0x15, 0x35, 0x25, - 0xd1, 0x5e, 0xe7, 0xeb, 0x21, 0xa3, 0x57, 0x19, 0xfd, 0xf9, 0x12, 0xfa, 0x74, 0x81, 0x35, 0xb2, - 0xe1, 0x74, 0x25, 0xdc, 0x37, 0x5d, 0xcb, 0x21, 0x06, 0x09, 0x63, 0x27, 0xe2, 0xb5, 0x59, 0xc2, - 0x61, 0xa4, 0x1d, 0xb6, 0xc3, 0x1e, 0x5f, 0x27, 0x39, 0x44, 0xad, 0x83, 0xe3, 0xe8, 0x27, 0x54, - 0x3d, 0x43, 0xd0, 0x84, 0x0f, 0xc8, 0x21, 0xf3, 0x10, 0xa6, 0x67, 0x02, 0x66, 0x73, 0x72, 0xab, - 0x61, 0x20, 0x48, 0x38, 0xea, 0x62, 0x84, 0x19, 0x03, 0x6c, 0xc4, 0x04, 0x4c, 0xa1, 0x0f, 0x93, - 0x0b, 0x39, 0x14, 0x0a, 0x79, 0xa1, 0xdc, 0x36, 0xca, 0xca, 0xed, 0x2f, 0x2a, 0x30, 0x83, 0x49, - 0x98, 0xb8, 0xe6, 0x02, 0xcd, 0x16, 0xaf, 0x2f, 0xc5, 0xa2, 0x80, 0xa1, 0xba, 0x50, 0x68, 0x4b, - 0x2e, 0x7b, 0x12, 0x8e, 0x06, 0x34, 0x85, 0x6f, 0x48, 0xe5, 0x4f, 0x44, 0x25, 0xb3, 0x6c, 0x88, - 0x65, 0x50, 0xc0, 0xd0, 0xc2, 0x11, 0x79, 0x52, 0x8c, 0xa5, 0x30, 0xa5, 0x8d, 0xbc, 0x74, 0x7e, - 0x8c, 0x32, 0x01, 0x43, 0xbd, 0x14, 0x79, 0xc9, 0xdc, 0x68, 0xea, 0x0c, 0x81, 0x9c, 0xf9, 0xbc, - 0xb8, 0xfc, 0xa5, 0x70, 0x21, 0x36, 0xea, 0x43, 0x63, 0x03, 0xa4, 0xd8, 0x90, 0x53, 0xb4, 0x51, - 0x48, 0xd1, 0x8b, 0x30, 0x83, 0x7c, 0x72, 0xcb, 0x9f, 0x84, 0x94, 0x23, 0x6c, 0x26, 0x1f, 0x61, - 0x72, 0x8c, 0xcc, 0x0e, 0x88, 0x91, 0xb9, 0x34, 0xef, 0xbe, 0xa1, 0x02, 0xac, 0x13, 0xdf, 0x0c, - 0xa2, 0x3e, 0x71, 0x23, 0xaa, 0x9e, 0x95, 0x42, 0xa9, 0x73, 0x25, 0x9c, 0xb8, 0x6a, 0xa9, 0xf2, - 0xaa, 0xa5, 0xc1, 0x04, 0x33, 0x38, 0x7a, 0x93, 0xfd, 0x4d, 0x8d, 0xe9, 0x9b, 0x01, 0x72, 0xc3, - 0x54, 0x49, 0x61, 0xba, 0x2a, 0x79, 0x81, 0xc5, 0xd7, 0xb1, 0xaa, 0x81, 0x00, 0x2d, 0x21, 0xd9, - 0x7c, 0x6c, 0x17, 0x50, 0xc3, 0x55, 0x46, 0xc6, 0x8e, 0xdc, 0xb8, 0x5c, 0x86, 0x66, 0x18, 0xef, - 0x66, 0xca, 0x6d, 0xc5, 0x7d, 0x9e, 0x34, 0x05, 0x3c, 0x35, 0x2a, 0xee, 0x68, 0xe8, 0x20, 0x5c, - 0xf8, 0x32, 0x44, 0xbe, 0x93, 0xd1, 0x7f, 0xac, 0x42, 0x73, 0x3b, 0xe8, 0x99, 0xae, 0xfd, 0x0f, - 0x69, 0xc7, 0x7e, 0xa2, 0x06, 0x60, 0x09, 0x1a, 0xc4, 0xed, 0x39, 0x76, 0xb8, 0xbf, 0x95, 0xd9, - 0x4d, 0x44, 0x89, 0xc6, 0x9e, 0x18, 0xd4, 0x22, 0x54, 0xa5, 0x16, 0x61, 0x01, 0x6a, 0x7d, 0x6f, - 0xd7, 0x76, 0x92, 0xb8, 0xe7, 0x10, 0x8b, 0x79, 0xe2, 0x10, 0xd6, 0x2b, 0xa4, 0x31, 0x9f, 0x20, - 0xb2, 0xb6, 0x61, 0xaa, 0xb4, 0x6d, 0xa8, 0x8b, 0x6d, 0x83, 0x6c, 0x78, 0x28, 0x18, 0x1e, 0xcd, - 0xd5, 0x48, 0xeb, 0xd0, 0xb0, 0x25, 0xfe, 0x07, 0x0a, 0x34, 0x33, 0x57, 0x60, 0x4f, 0x3d, 0xd0, - 0x94, 0xf9, 0xe8, 0x54, 0x4b, 0xa2, 0x33, 0x8d, 0xa9, 0x8a, 0x18, 0x53, 0x34, 0x0a, 0xbd, 0xd0, - 0x16, 0x36, 0x36, 0x29, 0x4c, 0x67, 0x73, 0x88, 0x29, 0x18, 0x12, 0x21, 0x61, 0x1b, 0x5b, 0x93, - 0xb6, 0xb1, 0xf9, 0x95, 0xfa, 0x3b, 0x0a, 0x9c, 0xa5, 0x11, 0x50, 0x50, 0x63, 0x1b, 0x9a, 0x5e, - 0x2e, 0x4a, 0xf8, 0x52, 0xf6, 0x7c, 0xc9, 0x52, 0x94, 0x0f, 0x28, 0xa3, 0x40, 0x4c, 0x19, 0x5a, - 0xb9, 0x49, 0xf8, 0xda, 0x56, 0xc6, 0x30, 0x2f, 0x8f, 0x51, 0x20, 0xd6, 0xbf, 0xa7, 0x40, 0x13, - 0x17, 0x4f, 0xa1, 0x06, 0x9c, 0xba, 0xd8, 0x77, 0xe1, 0x6c, 0x7e, 0xe6, 0x5b, 0x76, 0x18, 0xb5, - 0xd4, 0xa5, 0xca, 0xb8, 0xa2, 0x97, 0x32, 0xd0, 0xbf, 0xa6, 0xc2, 0xd3, 0x3b, 0xb1, 0xe3, 0xb4, - 0x49, 0x18, 0x9a, 0x3d, 0xb2, 0x7a, 0xdc, 0x21, 0x87, 0xf4, 0x83, 0x41, 0x0e, 0x07, 0xc6, 0x10, - 0xed, 0xa4, 0x58, 0x2b, 0x62, 0x7b, 0x6e, 0x1a, 0x42, 0x22, 0x8a, 0xa6, 0x5c, 0x88, 0x7c, 0x5a, - 0x95, 0xa5, 0x0a, 0x5d, 0xa4, 0x39, 0xa8, 0xfd, 0x3d, 0x4c, 0xb3, 0x2e, 0x81, 0x4f, 0xd3, 0x9a, - 0x60, 0x0a, 0xbc, 0x59, 0xda, 0x97, 0x94, 0x4a, 0x85, 0xfd, 0x06, 0x87, 0xdf, 0x76, 0xa3, 0xe0, - 0xd8, 0x90, 0x38, 0x2e, 0x7e, 0x08, 0xf3, 0x85, 0x21, 0x5a, 0x13, 0x2a, 0x07, 0xe4, 0x98, 0xeb, - 0x41, 0xff, 0xd4, 0xfe, 0x1a, 0xaa, 0x47, 0x74, 0x83, 0xca, 0xbd, 0xbf, 0x58, 0x22, 0x01, 0x97, - 0xd9, 0xc0, 0x81, 0xaf, 0xab, 0x7f, 0xa3, 0xe8, 0xcf, 0xa7, 0x8a, 0x89, 0x3a, 0x2a, 0x92, 0x8e, - 0xfa, 0xbb, 0xd0, 0x68, 0x87, 0xbd, 0x75, 0x33, 0x32, 0xd9, 0xc0, 0x37, 0xa1, 0xd1, 0xcf, 0x40, - 0x36, 0xb8, 0x7c, 0x3e, 0x4e, 0x64, 0x88, 0xc3, 0xf5, 0x9f, 0xab, 0xd0, 0x2a, 0x37, 0x45, 0xe8, - 0x53, 0x19, 0x48, 0x10, 0xac, 0x79, 0x16, 0x61, 0xaa, 0x55, 0x8d, 0x04, 0xa4, 0xbe, 0x23, 0x41, - 0x40, 0xd7, 0x37, 0xde, 0xc6, 0x23, 0xa4, 0x2d, 0xc3, 0x84, 0x93, 0xb8, 0x65, 0xb8, 0x14, 0x6c, - 0x9c, 0xd6, 0x87, 0x26, 0xb3, 0xae, 0xa0, 0x10, 0xf7, 0xd9, 0xca, 0xd8, 0x3e, 0x0b, 0x7d, 0x74, - 0x9a, 0xc0, 0x03, 0x1d, 0x57, 0x60, 0xbd, 0xd8, 0x85, 0x73, 0xa5, 0x43, 0x4b, 0x1c, 0xf8, 0xb2, - 0xec, 0xc0, 0x0b, 0x83, 0x55, 0xc9, 0x3b, 0xd1, 0x07, 0x6d, 0x83, 0x44, 0x6d, 0xf3, 0xc1, 0x8a, - 0x6b, 0xb5, 0x6d, 0xb7, 0x43, 0x0e, 0x69, 0xb4, 0x2f, 0x41, 0x83, 0x1f, 0x37, 0xa4, 0x6e, 0xaa, - 0x1b, 0x22, 0x6a, 0xe0, 0x29, 0x44, 0x2e, 0x1f, 0x2a, 0x85, 0x7c, 0xd0, 0xaf, 0xc3, 0xb4, 0x38, - 0x1d, 0x5b, 0x60, 0xcc, 0x07, 0x1d, 0x72, 0xc8, 0x14, 0x9a, 0x31, 0x38, 0xc4, 0xf0, 0x6c, 0x04, - 0xdf, 0x7d, 0x70, 0x48, 0xff, 0x89, 0x0a, 0x67, 0x0a, 0x22, 0x87, 0xfe, 0xc3, 0xf2, 0x11, 0xe3, - 0xa5, 0x32, 0x28, 0x5e, 0x26, 0xa4, 0x78, 0x39, 0x80, 0x79, 0x74, 0x92, 0x30, 0x75, 0xab, 0xca, - 0x02, 0xe0, 0xad, 0xb2, 0xcd, 0x40, 0x51, 0x48, 0xee, 0x7b, 0x01, 0x8b, 0xce, 0x2f, 0xf2, 0x5d, - 0x24, 0xb0, 0x50, 0x3e, 0xb8, 0xc4, 0xfd, 0xaf, 0xc8, 0xee, 0xff, 0xb3, 0x32, 0xf7, 0x8b, 0x92, - 0x08, 0xfe, 0x3f, 0x84, 0x39, 0x5a, 0x54, 0x3b, 0xc4, 0xb5, 0xda, 0x61, 0x8f, 0x19, 0x72, 0x09, - 0x1a, 0x48, 0xdf, 0x0e, 0x7b, 0xd9, 0xe6, 0x50, 0x40, 0xd1, 0x11, 0x5d, 0xc7, 0xa6, 0xc5, 0x93, - 0x8d, 0xe0, 0x45, 0x4f, 0x40, 0xd1, 0x05, 0x32, 0x24, 0xfc, 0x64, 0x86, 0x5a, 0xb7, 0x62, 0xa4, - 0xb0, 0xfe, 0xed, 0x1a, 0x4c, 0xf2, 0x68, 0x64, 0x8b, 0x22, 0xdd, 0x8f, 0xa7, 0x65, 0x15, 0x21, - 0xec, 0x79, 0xbb, 0x47, 0x59, 0x78, 0x21, 0x24, 0x1e, 0x8b, 0x55, 0xe4, 0x63, 0xb1, 0x9c, 0x4c, - 0x13, 0x45, 0x99, 0x72, 0x7a, 0x55, 0x8b, 0x7a, 0xd1, 0x16, 0x8f, 0x75, 0x3d, 0x3b, 0x8e, 0x19, - 0xed, 0x79, 0x41, 0x9f, 0x6f, 0xaf, 0xab, 0x46, 0x01, 0x4f, 0xdb, 0x4a, 0xc4, 0xa5, 0xfb, 0x02, - 0x5c, 0xc2, 0x73, 0x58, 0xda, 0x85, 0x23, 0x26, 0xd9, 0x1f, 0xe0, 0xf9, 0x88, 0x8c, 0x44, 0xd9, - 0xc2, 0xd0, 0xf6, 0x5c, 0xd6, 0xa1, 0xe2, 0x36, 0x40, 0x44, 0x51, 0xcd, 0xfb, 0x61, 0xef, 0x46, - 0xe0, 0xf5, 0xf9, 0xd6, 0x2b, 0x01, 0x99, 0xe6, 0x9e, 0x1b, 0x25, 0xdd, 0x2d, 0x9e, 0x8c, 0x88, - 0x28, 0x4a, 0xcb, 0x41, 0xd6, 0x30, 0x4d, 0x1b, 0x09, 0x48, 0x63, 0x29, 0x24, 0x87, 0xbc, 0xb1, - 0xa7, 0x7f, 0x4a, 0x9e, 0x9b, 0x93, 0x3d, 0x97, 0xeb, 0xd4, 0x9a, 0xec, 0xab, 0xd8, 0xa9, 0x65, - 0x2d, 0xce, 0xbc, 0xd4, 0xe2, 0xac, 0xc0, 0xa4, 0xe7, 0xd3, 0xf4, 0x0f, 0x5b, 0x1a, 0x4b, 0x97, - 0xbf, 0x18, 0x5c, 0xa0, 0x96, 0xb7, 0x71, 0x24, 0x26, 0x46, 0x42, 0xa7, 0xdd, 0x82, 0x39, 0x6f, - 0x6f, 0xcf, 0xb1, 0x5d, 0xb2, 0x13, 0x87, 0xfb, 0x6c, 0x1b, 0x7e, 0x86, 0x05, 0xbb, 0x5e, 0xd6, - 0x44, 0xc8, 0x23, 0x8d, 0x3c, 0x29, 0xed, 0xfc, 0xcc, 0x08, 0x37, 0x40, 0xac, 0xc0, 0x9d, 0x65, - 0x05, 0x4e, 0xc2, 0xb1, 0xf3, 0x45, 0xa1, 0xd0, 0x9f, 0x63, 0x86, 0x13, 0x51, 0xc8, 0x25, 0x32, - 0xbb, 0xfb, 0x84, 0x1d, 0x28, 0xb5, 0x16, 0xb0, 0x7f, 0x14, 0x71, 0xbc, 0xbb, 0x7b, 0x3a, 0xe9, - 0xee, 0x16, 0x5f, 0x87, 0x69, 0x51, 0xc1, 0x92, 0x64, 0x3e, 0x2b, 0x26, 0xf3, 0x94, 0x98, 0xab, - 0xff, 0xab, 0xc0, 0x5c, 0x4e, 0x35, 0x3a, 0x3a, 0xb2, 0x23, 0x87, 0x70, 0x0e, 0x08, 0xd0, 0x9d, - 0x93, 0x45, 0xc2, 0x2e, 0x4f, 0x1e, 0xf6, 0x37, 0x97, 0xa4, 0x92, 0xb6, 0xd1, 0x3a, 0x4c, 0xdb, - 0xdb, 0x1d, 0xca, 0xa8, 0xe3, 0xc5, 0xae, 0x95, 0x1e, 0xd0, 0x0b, 0x38, 0xb6, 0xa5, 0xdf, 0xee, - 0xac, 0x9a, 0x56, 0x8f, 0xe0, 0x75, 0x4d, 0x95, 0xc9, 0x24, 0x23, 0x75, 0x0b, 0xa6, 0x6e, 0xdb, - 0x7e, 0xb8, 0xe6, 0xf5, 0xfb, 0x34, 0x04, 0x2c, 0x12, 0xd1, 0x1e, 0x5f, 0x61, 0x06, 0xe3, 0x10, - 0xb5, 0xa6, 0x45, 0xf6, 0xcc, 0xd8, 0x89, 0xe8, 0xd0, 0xa4, 0x64, 0x08, 0x28, 0x76, 0xbc, 0x10, - 0x7a, 0xee, 0x3a, 0x52, 0xa3, 0x9c, 0x02, 0x46, 0xff, 0x91, 0x0a, 0x4d, 0x56, 0x11, 0xd7, 0x58, - 0xc0, 0x59, 0x8c, 0xe8, 0x1a, 0x54, 0x59, 0x01, 0xe0, 0x1d, 0xe5, 0xf0, 0x33, 0x19, 0x1c, 0xaa, - 0x5d, 0x87, 0x9a, 0xe7, 0xb3, 0x36, 0x14, 0xcb, 0xe5, 0xa5, 0x41, 0x44, 0xf2, 0x91, 0xbc, 0xc1, - 0xa9, 0xb4, 0x1b, 0x00, 0xfd, 0xac, 0xeb, 0xc4, 0xe6, 0x61, 0x5c, 0x1e, 0x02, 0x25, 0x35, 0x6e, - 0xba, 0x2e, 0xa6, 0xe7, 0xf2, 0x15, 0x43, 0x46, 0x6a, 0x5b, 0x30, 0xcb, 0xc4, 0xde, 0x4e, 0x0e, - 0xe7, 0x98, 0x0f, 0xc6, 0x9f, 0x31, 0x47, 0xad, 0x7f, 0x49, 0xe1, 0x66, 0xa4, 0x5f, 0x3b, 0x04, - 0x6d, 0x9f, 0x99, 0x44, 0x39, 0x91, 0x49, 0x16, 0x61, 0xaa, 0x1f, 0x0b, 0x67, 0x85, 0x15, 0x23, - 0x85, 0x33, 0x17, 0x55, 0xc6, 0x76, 0x91, 0xfe, 0x65, 0x05, 0x5a, 0xef, 0x78, 0xb6, 0xcb, 0x3e, - 0xac, 0xf8, 0xbe, 0xc3, 0xaf, 0x6f, 0x4e, 0xec, 0xf3, 0xbf, 0x85, 0xba, 0x89, 0x6c, 0xdc, 0x88, - 0xbb, 0x7d, 0x8c, 0xf3, 0xbf, 0x8c, 0x46, 0x38, 0x84, 0xa9, 0x88, 0x87, 0x30, 0xfa, 0x27, 0x0a, - 0xcc, 0xa2, 0x51, 0xde, 0x8b, 0xed, 0xe8, 0xc4, 0xf2, 0xad, 0xc2, 0xd4, 0x61, 0x6c, 0x47, 0x27, - 0x88, 0xca, 0x94, 0xae, 0x18, 0x4f, 0x95, 0x92, 0x78, 0xd2, 0xbf, 0xae, 0xc0, 0xf9, 0xbc, 0x59, - 0x57, 0xba, 0x5d, 0xe2, 0x3f, 0xca, 0x94, 0x92, 0x0e, 0xa1, 0x26, 0x72, 0x87, 0x50, 0xa5, 0x22, - 0x1b, 0xe4, 0x63, 0xd2, 0x7d, 0x7c, 0x45, 0xfe, 0x17, 0x15, 0x9e, 0xd9, 0x48, 0x13, 0xef, 0x76, - 0x60, 0xba, 0xe1, 0x1e, 0x09, 0x82, 0x47, 0x28, 0xef, 0x2d, 0x98, 0x71, 0xc9, 0xfd, 0x4c, 0x26, - 0x9e, 0x8e, 0xe3, 0xb2, 0x91, 0x89, 0xc7, 0xab, 0x5d, 0xfa, 0x1f, 0x14, 0x68, 0x22, 0x9f, 0x77, - 0xed, 0xee, 0xc1, 0x23, 0x54, 0x7e, 0x0b, 0x66, 0x0f, 0x98, 0x04, 0x14, 0x3a, 0x41, 0xd9, 0xce, - 0x51, 0x8f, 0xa9, 0xfe, 0xa7, 0x0a, 0xcc, 0x27, 0xb7, 0xc6, 0x47, 0xf6, 0xa3, 0x0c, 0xd6, 0x1d, - 0x98, 0xc3, 0x53, 0xf8, 0x93, 0x1a, 0x20, 0x4f, 0x3e, 0xa6, 0x05, 0xbe, 0xa5, 0xc0, 0x1c, 0x72, - 0x7a, 0xdb, 0x8d, 0x48, 0x70, 0x62, 0xfd, 0x6f, 0x42, 0x83, 0xb8, 0x51, 0x60, 0xba, 0x27, 0xa9, - 0x90, 0x22, 0xe9, 0x98, 0x45, 0xf2, 0x13, 0x05, 0x34, 0xc6, 0x6a, 0xdd, 0x0e, 0xfb, 0x76, 0x18, - 0x3e, 0x42, 0xd7, 0x8d, 0x27, 0xf0, 0x17, 0x54, 0x38, 0x2b, 0x70, 0x69, 0xc7, 0xd1, 0xe3, 0x2e, - 0xb2, 0xb6, 0x0e, 0x75, 0xda, 0x23, 0x88, 0x77, 0xa4, 0xe3, 0x4e, 0x94, 0x11, 0xd2, 0x2e, 0x96, - 0x01, 0x1d, 0xd2, 0xf5, 0x5c, 0x2b, 0x64, 0xcd, 0xd1, 0x8c, 0x21, 0xe1, 0x68, 0x19, 0x5a, 0x14, - 0xd8, 0xac, 0x99, 0x6e, 0x97, 0x38, 0x4f, 0x8c, 0x89, 0xf4, 0xaf, 0x2a, 0x30, 0x8b, 0x43, 0x1e, - 0x7f, 0x95, 0xe9, 0x5a, 0x8f, 0x81, 0xfc, 0xb9, 0xf1, 0x12, 0x0d, 0xaf, 0x05, 0x81, 0x8b, 0xd8, - 0x57, 0x3f, 0xbe, 0xa1, 0x75, 0x13, 0x1a, 0xdd, 0x7d, 0xd3, 0xed, 0x9d, 0x28, 0xb8, 0x44, 0x52, - 0x3d, 0x82, 0xa7, 0xc5, 0x43, 0xfb, 0x35, 0xfc, 0xc4, 0xd4, 0x7f, 0x29, 0xa7, 0xca, 0xd0, 0x37, - 0x10, 0x0f, 0x67, 0xf4, 0x03, 0x98, 0xc7, 0x5b, 0x64, 0xa1, 0x27, 0xd4, 0x5a, 0x30, 0x69, 0x5a, - 0x78, 0x74, 0xa1, 0x30, 0xa2, 0x04, 0x94, 0x5f, 0x19, 0xf0, 0xf7, 0x6c, 0xd9, 0x2b, 0x83, 0x0b, - 0x00, 0xa6, 0x65, 0xdd, 0xf5, 0x02, 0xcb, 0x76, 0x93, 0x06, 0x5f, 0xc0, 0xe8, 0xef, 0xc0, 0xf4, - 0x8d, 0xc0, 0xeb, 0xdf, 0x16, 0xee, 0x83, 0x87, 0xde, 0x58, 0x8b, 0x77, 0xc9, 0xaa, 0x7c, 0x97, - 0xac, 0x7f, 0x04, 0xe7, 0x0a, 0x82, 0x33, 0x63, 0xad, 0xe1, 0x35, 0x77, 0x32, 0x09, 0x0f, 0x99, - 0xb2, 0xb3, 0x3c, 0x51, 0x16, 0x43, 0x22, 0xd2, 0xff, 0x59, 0x81, 0xe7, 0x0a, 0xec, 0x57, 0x7c, - 0x3f, 0xf0, 0x8e, 0xb8, 0x4f, 0x4e, 0x63, 0x1a, 0xb9, 0xf9, 0x55, 0xf3, 0xcd, 0x6f, 0xa9, 0x10, - 0x52, 0xc3, 0xfe, 0x19, 0x08, 0xf1, 0x15, 0x05, 0xe6, 0xb8, 0x10, 0x96, 0xc5, 0xa7, 0x7d, 0x05, - 0x6a, 0xf8, 0xd0, 0x86, 0x4f, 0xf8, 0x5c, 0xe9, 0x84, 0xc9, 0x03, 0x21, 0x83, 0x0f, 0x2e, 0x46, - 0xa4, 0x5a, 0x96, 0x51, 0xaf, 0xa5, 0xc1, 0x3e, 0xf6, 0x53, 0x18, 0x4e, 0xa0, 0xff, 0x5d, 0x12, - 0xcc, 0xeb, 0xc4, 0x21, 0xa7, 0x69, 0x23, 0xfd, 0x0e, 0xcc, 0xb2, 0x57, 0x3f, 0x99, 0x0d, 0x4e, - 0x85, 0xed, 0x5d, 0x68, 0x32, 0xb6, 0xa7, 0x2e, 0x6f, 0x9a, 0x1d, 0xd4, 0x3e, 0x62, 0x29, 0x39, - 0x15, 0xee, 0x2f, 0xc2, 0x99, 0xc4, 0xf6, 0xf8, 0x92, 0x16, 0x79, 0x0f, 0xb8, 0xdb, 0xd3, 0xff, - 0x4f, 0x81, 0x85, 0x35, 0xcf, 0x3d, 0x22, 0x41, 0x28, 0xbd, 0xbe, 0x45, 0x12, 0x29, 0xfb, 0x39, - 0xa4, 0x2d, 0x83, 0xd6, 0x15, 0x28, 0xf8, 0xf1, 0xa2, 0xca, 0x8e, 0x17, 0x4b, 0xbe, 0x68, 0x2f, - 0xc3, 0xb9, 0x98, 0x71, 0xbd, 0xe3, 0x06, 0xc4, 0xb4, 0xd8, 0x79, 0x9a, 0x50, 0xf4, 0xca, 0x3f, - 0xea, 0x1f, 0xc3, 0xa2, 0x28, 0x57, 0x87, 0x44, 0x3b, 0x81, 0x7d, 0x24, 0xc8, 0xc6, 0xcf, 0xce, - 0x15, 0xe9, 0xec, 0x3c, 0x3b, 0x6b, 0x57, 0xa5, 0xb3, 0xf6, 0xf3, 0x50, 0xb7, 0x43, 0xce, 0x80, - 0xcd, 0x3b, 0x65, 0x64, 0x08, 0xdd, 0x84, 0x79, 0xf4, 0x32, 0xbf, 0xcb, 0x62, 0x53, 0x2c, 0xc2, - 0x14, 0x86, 0x6e, 0x3a, 0x49, 0x0a, 0x0f, 0xbc, 0x19, 0x1a, 0x78, 0x0f, 0xaa, 0x77, 0x60, 0x9e, - 0xbf, 0x05, 0xda, 0x31, 0x7b, 0xb6, 0x8b, 0xb5, 0xfc, 0x02, 0x80, 0x6f, 0xf6, 0x92, 0x97, 0x89, - 0x78, 0xa3, 0x27, 0x60, 0xe8, 0xf7, 0x70, 0xdf, 0xbb, 0xcf, 0xbf, 0xab, 0xf8, 0x3d, 0xc3, 0xe8, - 0xef, 0x83, 0x66, 0x90, 0xd0, 0xf7, 0xdc, 0x90, 0x08, 0x5c, 0x97, 0xa0, 0xb1, 0x16, 0x07, 0x01, - 0x71, 0xe9, 0x54, 0xc9, 0xf3, 0x3a, 0x11, 0x45, 0xf9, 0x76, 0x32, 0xbe, 0x78, 0xfa, 0x2f, 0x60, - 0xf4, 0x5f, 0xd7, 0xa0, 0xde, 0xb1, 0x7b, 0xae, 0xe9, 0x18, 0xe4, 0x50, 0x7b, 0x13, 0x6a, 0xb8, - 0x33, 0xe2, 0x01, 0x59, 0x76, 0x1a, 0x8d, 0xa3, 0x71, 0x0b, 0x68, 0x90, 0xc3, 0x9b, 0x4f, 0x19, - 0x9c, 0x46, 0x7b, 0x2f, 0x79, 0x31, 0xb5, 0x89, 0x27, 0x5d, 0x7c, 0x99, 0xfc, 0xcb, 0x11, 0x4c, - 0xf8, 0x68, 0xe4, 0x25, 0x73, 0xa0, 0x02, 0x75, 0x59, 0xe7, 0xc4, 0xab, 0xd0, 0x60, 0x81, 0xb0, - 0xc1, 0xe2, 0x02, 0x21, 0x0d, 0xa5, 0x36, 0xd9, 0x59, 0x10, 0x6f, 0x08, 0x06, 0x53, 0xe3, 0x91, - 0x11, 0xa7, 0x46, 0x1a, 0x4a, 0xbd, 0x1f, 0xbb, 0xbd, 0x3b, 0x3e, 0x3f, 0xa2, 0x1c, 0x4c, 0x7d, - 0x93, 0x0d, 0xe3, 0xd4, 0x48, 0x43, 0xa9, 0x03, 0xb6, 0x46, 0x30, 0xa3, 0x0f, 0xa3, 0xc6, 0xa5, - 0x84, 0x53, 0x23, 0x8d, 0xf6, 0x01, 0x34, 0x7b, 0x24, 0x32, 0x3c, 0xaf, 0xbf, 0x7a, 0xbc, 0xc1, - 0x6f, 0x88, 0xf0, 0x81, 0xf8, 0x95, 0x81, 0x7c, 0x36, 0x72, 0x04, 0xc8, 0xb1, 0xc0, 0x47, 0xfb, - 0x47, 0x78, 0xce, 0x73, 0x29, 0x6a, 0xc7, 0x0c, 0x22, 0xbb, 0x6b, 0xfb, 0xa6, 0x1b, 0xad, 0x79, - 0xae, 0xcb, 0xd6, 0x33, 0x83, 0x1c, 0xf2, 0x27, 0xe4, 0xaf, 0x0e, 0x9c, 0x68, 0x7b, 0x18, 0xf5, - 0xcd, 0xa7, 0x8c, 0xe1, 0xec, 0xb5, 0x7f, 0x57, 0x60, 0xa9, 0x30, 0x62, 0xdd, 0x0e, 0xbb, 0xa2, - 0x0c, 0xf8, 0xfc, 0xfc, 0xb5, 0xf1, 0x65, 0xc8, 0x31, 0xb8, 0xf9, 0x94, 0x31, 0x72, 0x12, 0x6e, - 0xe5, 0xdb, 0xde, 0x01, 0x71, 0x57, 0x8f, 0xe9, 0xd8, 0xcd, 0x75, 0x76, 0x1b, 0x35, 0xc2, 0xca, - 0x12, 0x41, 0x66, 0x65, 0x09, 0xbd, 0x5a, 0x87, 0x49, 0xdf, 0x3c, 0x76, 0x3c, 0xd3, 0xd2, 0x7f, - 0x3b, 0x01, 0x90, 0xb8, 0x3a, 0x64, 0x1d, 0xb1, 0x94, 0x64, 0x17, 0x47, 0x26, 0x99, 0xef, 0x1c, - 0x0b, 0x69, 0xd6, 0x29, 0x4f, 0xb3, 0xbf, 0x1a, 0x37, 0xcd, 0x90, 0x5b, 0x2e, 0xd1, 0xae, 0xe7, - 0x12, 0xed, 0xe2, 0xc8, 0x44, 0xe3, 0x42, 0xf1, 0x54, 0xbb, 0x9e, 0x4b, 0xb5, 0x8b, 0x23, 0x53, - 0x8d, 0xd3, 0xf3, 0x64, 0xbb, 0x9e, 0x4b, 0xb6, 0x8b, 0x23, 0x93, 0x8d, 0xd3, 0xf3, 0x74, 0xbb, - 0x9e, 0x4b, 0xb7, 0x8b, 0x23, 0xd3, 0x8d, 0xd3, 0xf3, 0x84, 0xfb, 0x68, 0x60, 0xc2, 0x2d, 0x3f, - 0x44, 0xc2, 0x21, 0xcf, 0x62, 0xca, 0x7d, 0x54, 0x12, 0x68, 0x53, 0xa3, 0xb9, 0xe7, 0x02, 0x2d, - 0xe3, 0x3e, 0x30, 0xd4, 0xfe, 0xb5, 0x02, 0xb3, 0xcc, 0xdd, 0xb8, 0x2a, 0xbb, 0x7b, 0x5e, 0xf1, - 0x1d, 0xab, 0x52, 0xf2, 0x8e, 0x55, 0xbb, 0x02, 0xf3, 0x88, 0x20, 0xc2, 0x3d, 0x22, 0x2e, 0xf4, - 0xc5, 0x0f, 0xec, 0xe6, 0x34, 0x0e, 0x23, 0xaf, 0xbf, 0x6e, 0x46, 0x66, 0xb2, 0xc3, 0xc8, 0x30, - 0xe2, 0xbd, 0xf6, 0x44, 0xe1, 0xe7, 0x1e, 0x01, 0xea, 0x5f, 0xe5, 0xab, 0x39, 0x83, 0x28, 0x45, - 0x64, 0xf7, 0x89, 0x17, 0x47, 0x7c, 0x91, 0x4a, 0x40, 0x7c, 0x7c, 0x68, 0xd9, 0x26, 0xbb, 0x0d, - 0xe6, 0x2f, 0xf3, 0x52, 0x04, 0x5b, 0x57, 0xb3, 0xdb, 0x6d, 0xfe, 0x73, 0x8c, 0x0c, 0x33, 0xc6, - 0x4d, 0x34, 0xfb, 0x65, 0x8f, 0x1d, 0xd9, 0xe2, 0x8b, 0xbd, 0xaa, 0x21, 0xe1, 0x68, 0x1f, 0xb4, - 0x1b, 0x87, 0xc7, 0xb7, 0x6c, 0x57, 0x34, 0x4f, 0x03, 0xfb, 0xa0, 0xe2, 0x17, 0xfd, 0x37, 0x0a, - 0x9c, 0x11, 0xea, 0x4e, 0x9b, 0x44, 0x26, 0xb3, 0x8b, 0xf4, 0xee, 0x5a, 0x79, 0xb8, 0x77, 0xd7, - 0x3b, 0x30, 0xd7, 0x93, 0xb7, 0xe5, 0x0f, 0xb9, 0xa3, 0xce, 0x93, 0x4b, 0x8f, 0xc8, 0x2b, 0x0f, - 0xfd, 0x88, 0x5c, 0xff, 0x0f, 0x15, 0xe6, 0x72, 0xcd, 0xc0, 0xd0, 0x4e, 0x6a, 0x05, 0xc0, 0x4e, - 0x43, 0x73, 0xc8, 0xad, 0x95, 0x1c, 0xbf, 0x86, 0x40, 0x54, 0x76, 0x6d, 0x5e, 0x39, 0xf9, 0xb5, - 0xf9, 0x4d, 0x68, 0xf8, 0x99, 0x93, 0x86, 0x1c, 0x1a, 0x94, 0xb8, 0xd2, 0x10, 0x49, 0xf5, 0xff, - 0x54, 0x60, 0xbe, 0x50, 0xb2, 0xd9, 0x65, 0x36, 0x4d, 0xd4, 0xf4, 0x32, 0x9b, 0x02, 0x42, 0x06, - 0xa8, 0xf9, 0x0c, 0x70, 0xec, 0x23, 0xf1, 0xe7, 0x2e, 0x1c, 0x1c, 0x10, 0x7d, 0x13, 0x03, 0xa3, - 0xef, 0xbf, 0x54, 0x58, 0x28, 0x6f, 0xb0, 0x9e, 0x54, 0xff, 0xfc, 0xb7, 0x02, 0xad, 0x41, 0x6b, - 0xe1, 0x23, 0x73, 0x53, 0x96, 0x3f, 0x69, 0xef, 0xfa, 0xa4, 0xfa, 0xe7, 0x4c, 0x92, 0x3e, 0x42, - 0x73, 0xa1, 0x7f, 0x33, 0xb5, 0x4f, 0xda, 0x9d, 0x3f, 0xa1, 0xf6, 0xd1, 0x2e, 0x43, 0x13, 0xd5, - 0x14, 0x5e, 0x72, 0xe1, 0x66, 0xaf, 0x80, 0xd7, 0x3f, 0x4c, 0x6c, 0x29, 0x34, 0x5a, 0xa7, 0x15, - 0xe3, 0xfa, 0xf7, 0x95, 0xc4, 0x27, 0xe9, 0x9e, 0xe7, 0x73, 0xe5, 0x93, 0x2c, 0xd2, 0x84, 0x36, - 0x52, 0x88, 0xb4, 0x74, 0x2f, 0xf6, 0xa7, 0x48, 0x1b, 0x1d, 0x69, 0xa9, 0x2d, 0x85, 0x96, 0x5a, - 0xff, 0xa2, 0x02, 0xcf, 0x0c, 0xdc, 0x8f, 0x0e, 0xb5, 0xaa, 0xd0, 0x34, 0xaa, 0x72, 0xd3, 0x98, - 0x53, 0xaf, 0x72, 0xf2, 0x42, 0xf3, 0x43, 0x05, 0x9e, 0x1d, 0xd2, 0xbc, 0xe7, 0x3c, 0xab, 0x9c, - 0xc4, 0xb3, 0x39, 0x61, 0xd5, 0x81, 0x17, 0xd3, 0x23, 0x7d, 0x91, 0xa5, 0x67, 0x45, 0x4c, 0x4f, - 0xfd, 0xa7, 0x0a, 0x3c, 0x3f, 0xc6, 0x4e, 0xfc, 0xf1, 0x52, 0x66, 0xe0, 0x53, 0x57, 0xfd, 0x67, - 0x0a, 0x5c, 0x1a, 0x6f, 0x53, 0xff, 0x79, 0xd1, 0xe8, 0xbb, 0x62, 0x0e, 0xe4, 0x4f, 0x0b, 0x04, - 0xb7, 0x2a, 0x52, 0xd5, 0x15, 0x73, 0x43, 0xcd, 0xe5, 0xc6, 0xa9, 0x65, 0x40, 0xfe, 0x45, 0xfb, - 0x44, 0xf1, 0x45, 0x7b, 0x5b, 0x48, 0x91, 0xe2, 0x0e, 0x74, 0xc0, 0x52, 0x22, 0x2c, 0x19, 0xaa, - 0xbc, 0x64, 0xfc, 0x13, 0xcc, 0xac, 0x13, 0xa7, 0x1d, 0xf6, 0x92, 0xdf, 0x9e, 0x9c, 0xea, 0x69, - 0xeb, 0x18, 0xfa, 0xac, 0xc2, 0xac, 0x28, 0xc0, 0x49, 0x7e, 0x5b, 0xa1, 0xdf, 0x85, 0x67, 0x3a, - 0x24, 0x5a, 0xf1, 0xfd, 0x55, 0xb3, 0x7b, 0x40, 0xdd, 0xec, 0x5a, 0x1d, 0xf6, 0x18, 0x78, 0xd8, - 0x8f, 0x69, 0xe8, 0xce, 0x32, 0xcc, 0x08, 0xf8, 0x0b, 0x58, 0x09, 0xa7, 0x6f, 0xc1, 0xe2, 0x20, - 0xc6, 0x27, 0x11, 0x74, 0xf5, 0xca, 0x07, 0x97, 0xb7, 0x7d, 0xe2, 0xde, 0xdb, 0x6c, 0x17, 0xfe, - 0x49, 0xcb, 0x1b, 0x85, 0x68, 0xd9, 0xad, 0xb1, 0xef, 0x2f, 0xfd, 0x31, 0x00, 0x00, 0xff, 0xff, - 0x49, 0xe5, 0xf2, 0x74, 0x04, 0x46, 0x00, 0x00, +var fileDescriptor_ws_20501d8722cdea6e = []byte{ + // 4096 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x3c, 0x59, 0x6f, 0x1c, 0x59, + 0x57, 0x53, 0xd5, 0x8b, 0xdd, 0xa7, 0xbd, 0xb4, 0x2b, 0x89, 0xa7, 0xc7, 0x93, 0x09, 0xa6, 0x26, + 0x0a, 0x43, 0xc8, 0x38, 0x90, 0x59, 0x60, 0xb6, 0x20, 0x2f, 0x89, 0xe3, 0x49, 0xda, 0xf6, 0x54, + 0x27, 0x13, 0x34, 0x33, 0x52, 0x28, 0x77, 0x5d, 0xb7, 0x6b, 0x5c, 0x5d, 0x55, 0xae, 0xc5, 0x89, + 0x79, 0x00, 0x09, 0x10, 0x20, 0xf1, 0x80, 0x84, 0x58, 0x24, 0x78, 0xe3, 0x05, 0x81, 0xd0, 0x08, + 0x21, 0x40, 0x48, 0x20, 0x84, 0x10, 0x0f, 0x48, 0x20, 0xc1, 0x3b, 0x12, 0x08, 0x5e, 0xf8, 0xf4, + 0xe9, 0xfb, 0x03, 0x9f, 0xf4, 0x49, 0xf3, 0xe9, 0xde, 0x73, 0xab, 0xea, 0xde, 0xaa, 0xea, 0x25, + 0x96, 0x35, 0xc9, 0x28, 0xdf, 0x9b, 0xcf, 0xa9, 0x7b, 0xce, 0x3d, 0xeb, 0x3d, 0xe7, 0x2e, 0x6d, + 0x98, 0x0f, 0xad, 0xc3, 0x47, 0x8f, 0xc3, 0xeb, 0x8f, 0xc3, 0x15, 0x3f, 0xf0, 0x22, 0x4f, 0x5b, + 0x08, 0x49, 0x70, 0x4c, 0x82, 0x47, 0xa6, 0x6f, 0x3f, 0xf2, 0xcd, 0xc0, 0x1c, 0x84, 0x4b, 0x2b, + 0x3b, 0x3e, 0x71, 0xdf, 0xdc, 0xea, 0xbc, 0xd9, 0x65, 0x9f, 0xae, 0xfb, 0x87, 0xfd, 0xeb, 0x6c, + 0xf0, 0xf5, 0x84, 0x38, 0x30, 0x7d, 0x9f, 0x04, 0x9c, 0x85, 0xfe, 0x3f, 0x55, 0x68, 0x6c, 0x06, + 0x5e, 0xec, 0x6f, 0xb9, 0xfb, 0x9e, 0xd6, 0x86, 0xa9, 0x3e, 0x03, 0x36, 0xda, 0xca, 0xb2, 0xf2, + 0x46, 0xc3, 0x48, 0x40, 0xed, 0x22, 0x34, 0xd8, 0x9f, 0xdb, 0xe6, 0x80, 0xb4, 0x55, 0xf6, 0x2d, + 0x43, 0x68, 0x3a, 0xcc, 0xb8, 0x5e, 0x64, 0xef, 0xdb, 0x3d, 0x33, 0xb2, 0x3d, 0xb7, 0x5d, 0x61, + 0x03, 0x24, 0x1c, 0x1d, 0x63, 0xbb, 0x51, 0xe0, 0x59, 0x71, 0x8f, 0x8d, 0xa9, 0xe2, 0x18, 0x11, + 0x47, 0xe7, 0xdf, 0x37, 0x7b, 0xe4, 0x81, 0x71, 0xaf, 0x5d, 0xc3, 0xf9, 0x39, 0xa8, 0x2d, 0x43, + 0xd3, 0x7b, 0xec, 0x92, 0xe0, 0x41, 0x48, 0x82, 0xad, 0x8d, 0x76, 0x9d, 0x7d, 0x15, 0x51, 0xda, + 0x25, 0x80, 0x5e, 0x40, 0xcc, 0x88, 0xdc, 0xb7, 0x07, 0xa4, 0x3d, 0xb5, 0xac, 0xbc, 0x31, 0x6b, + 0x08, 0x18, 0xca, 0x61, 0x40, 0x06, 0x7b, 0x24, 0x58, 0xf7, 0x62, 0x37, 0x6a, 0x4f, 0xb3, 0x01, + 0x22, 0x4a, 0x9b, 0x03, 0x95, 0x3c, 0x69, 0x37, 0x18, 0x6b, 0x95, 0x3c, 0xd1, 0x16, 0xa1, 0x1e, + 0x46, 0x66, 0x14, 0x87, 0x6d, 0x58, 0x56, 0xde, 0xa8, 0x19, 0x1c, 0xd2, 0x2e, 0xc3, 0x2c, 0xe3, + 0xeb, 0x25, 0xd2, 0x34, 0x19, 0x89, 0x8c, 0x4c, 0x2d, 0x76, 0xff, 0xc4, 0x27, 0xed, 0x19, 0xc6, + 0x20, 0x43, 0x68, 0x57, 0xa1, 0xe5, 0x12, 0x62, 0x7d, 0x4a, 0x82, 0xcc, 0x6a, 0xb3, 0x6c, 0x50, + 0x01, 0xaf, 0x5d, 0x81, 0x39, 0xc7, 0xf3, 0x0e, 0x3b, 0x4c, 0x54, 0xea, 0xa7, 0xf6, 0x1c, 0x1b, + 0x99, 0xc3, 0x6a, 0xd7, 0x60, 0xc1, 0xf4, 0x7d, 0xe7, 0x04, 0x51, 0xb7, 0x03, 0x9b, 0xb8, 0x56, + 0x7b, 0x9e, 0x0d, 0x2d, 0x7e, 0xd0, 0xde, 0x85, 0x45, 0xd1, 0x3f, 0x0f, 0x7c, 0x2b, 0xb1, 0x5d, + 0x8b, 0x99, 0x66, 0xc8, 0x57, 0x6d, 0x05, 0x34, 0xe9, 0x0b, 0x9a, 0x60, 0x81, 0x99, 0xa0, 0xe4, + 0x8b, 0xfe, 0x7b, 0x15, 0x98, 0x4f, 0x23, 0xec, 0xb6, 0x17, 0x74, 0x49, 0xf4, 0x1c, 0xc7, 0x19, + 0xc6, 0x40, 0x3d, 0x8d, 0x81, 0xcd, 0x12, 0x3f, 0xd1, 0xd8, 0x6a, 0xde, 0x78, 0x75, 0xa5, 0xef, + 0x79, 0x7d, 0x87, 0x60, 0x22, 0xed, 0xc5, 0xfb, 0x2b, 0x5b, 0x6e, 0xf4, 0xd6, 0x8d, 0x4f, 0x4d, + 0x27, 0x26, 0x25, 0x4e, 0x5c, 0x2f, 0x38, 0x71, 0x7a, 0x3c, 0x9b, 0xbc, 0x87, 0xb7, 0xca, 0x3c, + 0xdc, 0x18, 0xcf, 0xa7, 0x48, 0xa5, 0x7f, 0xad, 0xc2, 0x39, 0xe6, 0x16, 0x8e, 0x8d, 0x1d, 0x67, + 0xcc, 0x12, 0xb0, 0x08, 0xf5, 0x18, 0x9d, 0x8d, 0x7e, 0xe1, 0x10, 0x75, 0x59, 0xe0, 0x39, 0xe4, + 0x1e, 0x39, 0x26, 0x0e, 0xf3, 0x48, 0xcd, 0xc8, 0x10, 0xda, 0x12, 0x4c, 0x7f, 0xe9, 0xd9, 0x2e, + 0x0b, 0xac, 0x2a, 0xfb, 0x98, 0xc2, 0xf4, 0x9b, 0x6b, 0xf7, 0x0e, 0x5d, 0xea, 0x6b, 0xf4, 0x43, + 0x0a, 0x8b, 0x2e, 0xaa, 0xcb, 0x2e, 0xba, 0x02, 0x73, 0xa6, 0xef, 0x77, 0x4c, 0xb7, 0x4f, 0x02, + 0x9c, 0x74, 0x0a, 0xd3, 0x41, 0xc6, 0xd2, 0x05, 0x81, 0xce, 0xd4, 0xf5, 0xe2, 0xa0, 0x47, 0x98, + 0xb5, 0x6b, 0x86, 0x80, 0xa1, 0x7c, 0x3c, 0x9f, 0x04, 0x42, 0x1e, 0x63, 0xea, 0xe7, 0xb0, 0x3c, + 0x24, 0x20, 0x0d, 0x09, 0xba, 0x90, 0xc4, 0x11, 0xb9, 0xe5, 0x5a, 0x4c, 0xa9, 0x26, 0x5f, 0x48, + 0x32, 0x14, 0x5d, 0x20, 0x6c, 0xf7, 0xd8, 0x8e, 0xd2, 0xe5, 0x6a, 0x06, 0x17, 0x08, 0x09, 0xa9, + 0xff, 0x86, 0x02, 0x73, 0xbb, 0xf1, 0x9e, 0x63, 0xf7, 0x18, 0x82, 0x1a, 0x3f, 0x33, 0xb1, 0x22, + 0x99, 0x58, 0x34, 0x94, 0x3a, 0xdc, 0x50, 0x15, 0xd9, 0x50, 0x8b, 0x50, 0xef, 0x13, 0xd7, 0x22, + 0x01, 0x37, 0x3c, 0x87, 0xb8, 0x42, 0xb5, 0x44, 0x21, 0xfd, 0xbf, 0x55, 0x98, 0xfe, 0x86, 0x45, + 0x58, 0x86, 0xa6, 0x7f, 0xe0, 0xb9, 0x64, 0x3b, 0xa6, 0xc1, 0xc7, 0x65, 0x11, 0x51, 0xda, 0x79, + 0xa8, 0xed, 0xd9, 0x41, 0x74, 0xc0, 0xbc, 0x3f, 0x6b, 0x20, 0x40, 0xb1, 0x64, 0x60, 0xda, 0xe8, + 0xf2, 0x86, 0x81, 0x00, 0x57, 0x68, 0x3a, 0xf5, 0x90, 0x5c, 0x0a, 0x1a, 0x85, 0x52, 0x50, 0x8c, + 0x20, 0x28, 0x8d, 0xa0, 0xab, 0xd0, 0xea, 0x3b, 0xde, 0x9e, 0xe9, 0x18, 0xa4, 0x77, 0xdc, 0x09, + 0xfb, 0x3b, 0x7e, 0xc4, 0xdc, 0x5d, 0x33, 0x0a, 0x78, 0x6a, 0x1f, 0x26, 0x62, 0x37, 0x0a, 0xb8, + 0xbb, 0x53, 0x58, 0xff, 0xbe, 0x02, 0x80, 0x69, 0xc7, 0x4c, 0x9c, 0xab, 0x65, 0x4a, 0xb1, 0x96, + 0x2d, 0x42, 0x3d, 0x20, 0x03, 0x33, 0x38, 0x4c, 0x52, 0x0d, 0xa1, 0x9c, 0x62, 0x95, 0x82, 0x62, + 0x1f, 0x00, 0xec, 0xb3, 0x79, 0x28, 0x1f, 0x66, 0x72, 0xba, 0x30, 0x14, 0xba, 0x84, 0x95, 0xc4, + 0xdb, 0x86, 0x30, 0x9c, 0xe6, 0xb1, 0x69, 0x59, 0x3c, 0x5d, 0x6a, 0x98, 0xc7, 0x29, 0xa2, 0x24, + 0x5b, 0xea, 0x23, 0xb2, 0x65, 0x2a, 0x0d, 0xae, 0xef, 0x29, 0xd0, 0x58, 0x73, 0xcc, 0xde, 0xe1, + 0x84, 0xaa, 0xcb, 0x2a, 0xaa, 0x05, 0x15, 0x37, 0x61, 0x76, 0x8f, 0xb2, 0x4b, 0x54, 0x60, 0x56, + 0x68, 0xde, 0xf8, 0xf1, 0x12, 0x2d, 0xe5, 0xe4, 0x32, 0x64, 0x3a, 0x59, 0xdd, 0xea, 0x78, 0x75, + 0x6b, 0x23, 0xd4, 0x4d, 0xeb, 0x85, 0xfe, 0x87, 0x15, 0x98, 0x61, 0xcb, 0xaa, 0x41, 0x8e, 0x62, + 0x12, 0x46, 0xda, 0x47, 0x30, 0x1d, 0x27, 0xa2, 0x2a, 0x93, 0x8a, 0x9a, 0x92, 0x68, 0xef, 0xf3, + 0x7a, 0xc8, 0xe8, 0x55, 0x46, 0x7f, 0xb1, 0x84, 0x3e, 0x2d, 0xb0, 0x46, 0x36, 0x9c, 0x56, 0xc2, + 0x03, 0xd3, 0xb5, 0x1c, 0x62, 0x90, 0x30, 0x76, 0x22, 0xbe, 0x36, 0x4b, 0x38, 0x8c, 0xb4, 0xa3, + 0x4e, 0xd8, 0xe7, 0x75, 0x92, 0x43, 0xd4, 0x3a, 0x38, 0x8e, 0x7e, 0x42, 0xd5, 0x33, 0x04, 0x4d, + 0xf8, 0x80, 0x1c, 0x31, 0x0f, 0x61, 0x7a, 0x26, 0x60, 0x36, 0x27, 0xb7, 0x1a, 0x06, 0x82, 0x84, + 0xa3, 0x2e, 0x46, 0x98, 0x31, 0xc0, 0x46, 0x4c, 0xc0, 0x14, 0xfa, 0x30, 0x79, 0x21, 0x87, 0xc2, + 0x42, 0x5e, 0x58, 0x6e, 0x9b, 0x65, 0xcb, 0xed, 0x7f, 0x55, 0x60, 0x16, 0x93, 0x30, 0x71, 0xcd, + 0x25, 0x9a, 0x2d, 0xde, 0x40, 0x8a, 0x45, 0x01, 0x43, 0x75, 0xa1, 0xd0, 0xb6, 0xbc, 0xec, 0x49, + 0x38, 0x1a, 0xd0, 0x14, 0xbe, 0x2d, 0x2d, 0x7f, 0x22, 0x2a, 0x99, 0x65, 0x53, 0x5c, 0x06, 0x05, + 0x0c, 0x5d, 0x38, 0x22, 0x4f, 0x8a, 0xb1, 0x14, 0xa6, 0xb4, 0x91, 0x97, 0xce, 0x8f, 0x51, 0x26, + 0x60, 0xa8, 0x97, 0x22, 0x2f, 0x99, 0x1b, 0x4d, 0x9d, 0x21, 0x90, 0x33, 0x9f, 0x17, 0xcb, 0x5f, + 0x0a, 0x17, 0x62, 0xa3, 0x31, 0x32, 0x36, 0x40, 0x8a, 0x0d, 0x39, 0x45, 0x9b, 0x85, 0x14, 0xbd, + 0x0c, 0xb3, 0xc8, 0x27, 0x57, 0xfe, 0x24, 0xa4, 0x1c, 0x61, 0xb3, 0xf9, 0x08, 0x93, 0x63, 0x64, + 0x6e, 0x48, 0x8c, 0xcc, 0xa7, 0x79, 0xf7, 0x57, 0x2a, 0xc0, 0x06, 0xf1, 0xcd, 0x20, 0x1a, 0x10, + 0x37, 0xa2, 0xea, 0x59, 0x29, 0x94, 0x3a, 0x57, 0xc2, 0x89, 0x55, 0x4b, 0x95, 0xab, 0x96, 0x06, + 0x55, 0x66, 0x70, 0xf4, 0x26, 0xfb, 0x9b, 0x1a, 0xd3, 0x37, 0x03, 0xe4, 0x86, 0xa9, 0x92, 0xc2, + 0xb4, 0x2a, 0x79, 0x81, 0xc5, 0xeb, 0x58, 0xcd, 0x40, 0x80, 0x2e, 0x21, 0xd9, 0x7c, 0x6c, 0x17, + 0x50, 0xc7, 0x2a, 0x23, 0x63, 0xc7, 0x6e, 0x5c, 0xae, 0x42, 0x2b, 0x8c, 0xf7, 0x32, 0xe5, 0xb6, + 0xe3, 0x01, 0x4f, 0x9a, 0x02, 0x9e, 0x1a, 0x15, 0x77, 0x34, 0x74, 0x10, 0x16, 0xbe, 0x0c, 0x91, + 0xef, 0x64, 0xf4, 0x7f, 0x55, 0xa1, 0xb5, 0x13, 0xf4, 0x4d, 0xd7, 0xfe, 0xa5, 0xb4, 0x63, 0x3f, + 0x55, 0x03, 0xb0, 0x0c, 0x4d, 0xe2, 0xf6, 0x1d, 0x3b, 0x3c, 0xd8, 0xce, 0xec, 0x26, 0xa2, 0x44, + 0x63, 0x57, 0x87, 0xb5, 0x08, 0x35, 0xa9, 0x45, 0x58, 0x84, 0xfa, 0xc0, 0xdb, 0xb3, 0x9d, 0x24, + 0xee, 0x39, 0xc4, 0x62, 0x9e, 0x38, 0x84, 0xf5, 0x0a, 0x69, 0xcc, 0x27, 0x88, 0xac, 0x6d, 0x98, + 0x2e, 0x6d, 0x1b, 0x1a, 0x62, 0xdb, 0x20, 0x1b, 0x1e, 0x0a, 0x86, 0x47, 0x73, 0x35, 0xd3, 0x75, + 0x68, 0x54, 0x89, 0xff, 0x27, 0x05, 0x5a, 0x99, 0x2b, 0xb0, 0xa7, 0x1e, 0x6a, 0xca, 0x7c, 0x74, + 0xaa, 0x25, 0xd1, 0x99, 0xc6, 0x54, 0x45, 0x8c, 0x29, 0x1a, 0x85, 0x5e, 0x68, 0x0b, 0x1b, 0x9b, + 0x14, 0xa6, 0xb3, 0x39, 0xc4, 0x14, 0x0c, 0x89, 0x90, 0xb0, 0x8d, 0xad, 0x4b, 0xdb, 0xd8, 0x7c, + 0xa5, 0xfe, 0x3b, 0x05, 0xce, 0xd3, 0x08, 0x28, 0xa8, 0xb1, 0x03, 0x2d, 0x2f, 0x17, 0x25, 0xbc, + 0x94, 0xbd, 0x5e, 0x52, 0x8a, 0xf2, 0x01, 0x65, 0x14, 0x88, 0x29, 0x43, 0x2b, 0x37, 0x09, 0xaf, + 0x6d, 0x65, 0x0c, 0xf3, 0xf2, 0x18, 0x05, 0x62, 0xfd, 0x1f, 0x14, 0x68, 0x61, 0xf1, 0x14, 0xd6, + 0x80, 0x33, 0x17, 0xfb, 0x21, 0x9c, 0xcf, 0xcf, 0x7c, 0xcf, 0x0e, 0xa3, 0xb6, 0xba, 0x5c, 0x99, + 0x54, 0xf4, 0x52, 0x06, 0xfa, 0x5f, 0xa8, 0xf0, 0xf2, 0x6e, 0xec, 0x38, 0x1d, 0x12, 0x86, 0x66, + 0x9f, 0xac, 0x9d, 0x74, 0xc9, 0x11, 0xfd, 0x60, 0x90, 0xa3, 0xa1, 0x31, 0x44, 0x3b, 0x29, 0xd6, + 0x8a, 0xd8, 0x9e, 0x9b, 0x86, 0x90, 0x88, 0xa2, 0x29, 0x17, 0x22, 0x9f, 0x76, 0x65, 0xb9, 0x42, + 0x8b, 0x34, 0x07, 0xb5, 0x5f, 0x84, 0x19, 0xd6, 0x25, 0xf0, 0x69, 0xda, 0x55, 0xa6, 0xc0, 0x87, + 0xa5, 0x7d, 0x49, 0xa9, 0x54, 0xd8, 0x6f, 0x70, 0xf8, 0x96, 0x1b, 0x05, 0x27, 0x86, 0xc4, 0x71, + 0xe9, 0x73, 0x58, 0x28, 0x0c, 0xd1, 0x5a, 0x50, 0x39, 0x24, 0x27, 0x5c, 0x0f, 0xfa, 0xa7, 0xf6, + 0xd3, 0x50, 0x3b, 0xa6, 0x1b, 0x54, 0xee, 0xfd, 0xa5, 0x12, 0x09, 0xb8, 0xcc, 0x06, 0x0e, 0x7c, + 0x5f, 0xfd, 0x39, 0x45, 0x7f, 0x3d, 0x55, 0x4c, 0xd4, 0x51, 0x91, 0x74, 0xd4, 0xef, 0x42, 0xb3, + 0x13, 0xf6, 0x37, 0xcc, 0xc8, 0x64, 0x03, 0x3f, 0x84, 0xe6, 0x20, 0x03, 0xd9, 0xe0, 0xf2, 0xf9, + 0x38, 0x91, 0x21, 0x0e, 0xd7, 0xff, 0x53, 0x85, 0x76, 0xb9, 0x29, 0x42, 0x9f, 0xca, 0x40, 0x82, + 0x60, 0xdd, 0xb3, 0x08, 0x53, 0xad, 0x66, 0x24, 0x20, 0xf5, 0x1d, 0x09, 0x02, 0x5a, 0xdf, 0x78, + 0x1b, 0x8f, 0x90, 0xb6, 0x02, 0x55, 0x27, 0x71, 0xcb, 0x68, 0x29, 0xd8, 0x38, 0x6d, 0x00, 0x2d, + 0x66, 0x5d, 0x41, 0x21, 0xee, 0xb3, 0xd5, 0x89, 0x7d, 0x16, 0xfa, 0xe8, 0x34, 0x81, 0x07, 0x3a, + 0xae, 0xc0, 0x7a, 0xa9, 0x07, 0x17, 0x4a, 0x87, 0x96, 0x38, 0xf0, 0x6d, 0xd9, 0x81, 0x97, 0x86, + 0xab, 0x92, 0x77, 0xa2, 0x0f, 0xda, 0x26, 0x89, 0x3a, 0xe6, 0x93, 0x55, 0xd7, 0xea, 0xd8, 0x6e, + 0x97, 0x1c, 0xd1, 0x68, 0x5f, 0x86, 0x26, 0x3f, 0x6e, 0x48, 0xdd, 0xd4, 0x30, 0x44, 0xd4, 0xd0, + 0x53, 0x88, 0x5c, 0x3e, 0x54, 0x0a, 0xf9, 0xa0, 0xdf, 0x84, 0x19, 0x71, 0x3a, 0x56, 0x60, 0xcc, + 0x27, 0x5d, 0x72, 0xc4, 0x14, 0x9a, 0x35, 0x38, 0xc4, 0xf0, 0x6c, 0x04, 0xdf, 0x7d, 0x70, 0x48, + 0xff, 0x37, 0x15, 0xce, 0x15, 0x44, 0x0e, 0xfd, 0xa7, 0xe5, 0x23, 0xc6, 0x4b, 0x65, 0x58, 0xbc, + 0x54, 0xa5, 0x78, 0x39, 0x84, 0x05, 0x74, 0x92, 0x30, 0x75, 0xbb, 0xc6, 0x02, 0xe0, 0xa3, 0xb2, + 0xcd, 0x40, 0x51, 0x48, 0xee, 0x7b, 0x01, 0x8b, 0xce, 0x2f, 0xf2, 0x5d, 0x22, 0xb0, 0x58, 0x3e, + 0xb8, 0xc4, 0xfd, 0xef, 0xc8, 0xee, 0xff, 0xb1, 0x32, 0xf7, 0x8b, 0x92, 0x08, 0xfe, 0x3f, 0x82, + 0x79, 0xba, 0xa8, 0x76, 0x89, 0x6b, 0x75, 0xc2, 0x3e, 0x33, 0xe4, 0x32, 0x34, 0x91, 0xbe, 0x13, + 0xf6, 0xb3, 0xcd, 0xa1, 0x80, 0xa2, 0x23, 0x7a, 0x8e, 0x4d, 0x17, 0x4f, 0x36, 0x82, 0x2f, 0x7a, + 0x02, 0x8a, 0x16, 0xc8, 0x90, 0xf0, 0x93, 0x19, 0x6a, 0xdd, 0x8a, 0x91, 0xc2, 0xfa, 0xdf, 0xd6, + 0x61, 0x8a, 0x47, 0x23, 0x2b, 0x8a, 0x74, 0x3f, 0x9e, 0x2e, 0xab, 0x08, 0x61, 0xcf, 0xdb, 0x3b, + 0xce, 0xc2, 0x0b, 0x21, 0xf1, 0x58, 0xac, 0x22, 0x1f, 0x8b, 0xe5, 0x64, 0xaa, 0x16, 0x65, 0xca, + 0xe9, 0x55, 0x2b, 0xea, 0x45, 0x5b, 0x3c, 0xd6, 0xf5, 0xec, 0x3a, 0x66, 0xb4, 0xef, 0x05, 0x03, + 0xbe, 0xbd, 0xae, 0x19, 0x05, 0x3c, 0x6d, 0x2b, 0x11, 0x97, 0xee, 0x0b, 0xb0, 0x84, 0xe7, 0xb0, + 0xb4, 0x0b, 0x47, 0x4c, 0xb2, 0x3f, 0xc0, 0xf3, 0x11, 0x19, 0x89, 0xb2, 0x85, 0xa1, 0xed, 0xb9, + 0xac, 0x43, 0xc5, 0x6d, 0x80, 0x88, 0xa2, 0x9a, 0x0f, 0xc2, 0xfe, 0xed, 0xc0, 0x1b, 0xf0, 0xad, + 0x57, 0x02, 0x32, 0xcd, 0x3d, 0x37, 0x4a, 0xba, 0x5b, 0x3c, 0x19, 0x11, 0x51, 0x94, 0x96, 0x83, + 0xac, 0x61, 0x9a, 0x31, 0x12, 0x90, 0xc6, 0x52, 0x48, 0x8e, 0x78, 0x63, 0x4f, 0xff, 0x94, 0x3c, + 0x37, 0x2f, 0x7b, 0x2e, 0xd7, 0xa9, 0xb5, 0xd8, 0x57, 0xb1, 0x53, 0xcb, 0x5a, 0x9c, 0x05, 0xa9, + 0xc5, 0x59, 0x85, 0x29, 0xcf, 0xa7, 0xe9, 0x1f, 0xb6, 0x35, 0x96, 0x2e, 0x3f, 0x31, 0x7c, 0x81, + 0x5a, 0xd9, 0xc1, 0x91, 0x98, 0x18, 0x09, 0x9d, 0x76, 0x0f, 0xe6, 0xbd, 0xfd, 0x7d, 0xc7, 0x76, + 0xc9, 0x6e, 0x1c, 0x1e, 0xb0, 0x6d, 0xf8, 0x39, 0x16, 0xec, 0x7a, 0x59, 0x13, 0x21, 0x8f, 0x34, + 0xf2, 0xa4, 0xb4, 0xf3, 0x33, 0x23, 0xdc, 0x00, 0xb1, 0x05, 0xee, 0x3c, 0x5b, 0xe0, 0x24, 0x1c, + 0x3b, 0x5f, 0x14, 0x16, 0xfa, 0x0b, 0xcc, 0x70, 0x22, 0x0a, 0xb9, 0x44, 0x66, 0xef, 0x80, 0xb0, + 0x03, 0xa5, 0xf6, 0x22, 0xf6, 0x8f, 0x22, 0x8e, 0x77, 0x77, 0x2f, 0x27, 0xdd, 0xdd, 0xd2, 0xfb, + 0x30, 0x23, 0x2a, 0x58, 0x92, 0xcc, 0xe7, 0xc5, 0x64, 0x9e, 0x16, 0x73, 0xf5, 0xf7, 0x15, 0x98, + 0xcf, 0xa9, 0x46, 0x47, 0x47, 0x76, 0xe4, 0x10, 0xce, 0x01, 0x01, 0xba, 0x73, 0xb2, 0x48, 0xd8, + 0xe3, 0xc9, 0xc3, 0xfe, 0xe6, 0x92, 0x54, 0xd2, 0x36, 0x5a, 0x87, 0x19, 0x7b, 0xa7, 0x4b, 0x19, + 0x75, 0xbd, 0xd8, 0xb5, 0xd2, 0x03, 0x7a, 0x01, 0xc7, 0xb6, 0xf4, 0x3b, 0xdd, 0x35, 0xd3, 0xea, + 0x13, 0xbc, 0xae, 0xa9, 0x31, 0x99, 0x64, 0xa4, 0x6e, 0xc1, 0xf4, 0x7d, 0xdb, 0x0f, 0xd7, 0xbd, + 0xc1, 0x80, 0x86, 0x80, 0x45, 0x22, 0xda, 0xe3, 0x2b, 0xcc, 0x60, 0x1c, 0xa2, 0xd6, 0xb4, 0xc8, + 0xbe, 0x19, 0x3b, 0x11, 0x1d, 0x9a, 0x2c, 0x19, 0x02, 0x8a, 0x1d, 0x2f, 0x84, 0x9e, 0xbb, 0x81, + 0xd4, 0x28, 0xa7, 0x80, 0xd1, 0xff, 0x45, 0x85, 0x16, 0x5b, 0x11, 0xd7, 0x59, 0xc0, 0x59, 0x8c, + 0xe8, 0x06, 0xd4, 0xd8, 0x02, 0xc0, 0x3b, 0xca, 0xd1, 0x67, 0x32, 0x38, 0x54, 0xbb, 0x09, 0x75, + 0xcf, 0x67, 0x6d, 0x28, 0x2e, 0x97, 0x57, 0x86, 0x11, 0xc9, 0x47, 0xf2, 0x06, 0xa7, 0xd2, 0x6e, + 0x03, 0x0c, 0xb2, 0xae, 0x13, 0x9b, 0x87, 0x49, 0x79, 0x08, 0x94, 0xd4, 0xb8, 0x69, 0x5d, 0x4c, + 0xcf, 0xe5, 0x2b, 0x86, 0x8c, 0xd4, 0xb6, 0x61, 0x8e, 0x89, 0xbd, 0x93, 0x1c, 0xce, 0x31, 0x1f, + 0x4c, 0x3e, 0x63, 0x8e, 0x5a, 0xff, 0x13, 0x85, 0x9b, 0x91, 0x7e, 0xed, 0x12, 0xb4, 0x7d, 0x66, + 0x12, 0xe5, 0x54, 0x26, 0x59, 0x82, 0xe9, 0x41, 0x2c, 0x9c, 0x15, 0x56, 0x8c, 0x14, 0xce, 0x5c, + 0x54, 0x99, 0xd8, 0x45, 0xfa, 0x9f, 0x2a, 0xd0, 0xfe, 0xd8, 0xb3, 0x5d, 0xf6, 0x61, 0xd5, 0xf7, + 0x1d, 0x7e, 0x7d, 0x73, 0x6a, 0x9f, 0xff, 0x3c, 0x34, 0x4c, 0x64, 0xe3, 0x46, 0xdc, 0xed, 0x13, + 0x9c, 0xff, 0x65, 0x34, 0xc2, 0x21, 0x4c, 0x45, 0x3c, 0x84, 0xd1, 0xbf, 0x52, 0x60, 0x0e, 0x8d, + 0xf2, 0x49, 0x6c, 0x47, 0xa7, 0x96, 0x6f, 0x0d, 0xa6, 0x8f, 0x62, 0x3b, 0x3a, 0x45, 0x54, 0xa6, + 0x74, 0xc5, 0x78, 0xaa, 0x94, 0xc4, 0x93, 0xfe, 0x97, 0x0a, 0x5c, 0xcc, 0x9b, 0x75, 0xb5, 0xd7, + 0x23, 0xfe, 0xb3, 0x4c, 0x29, 0xe9, 0x10, 0xaa, 0x9a, 0x3b, 0x84, 0x2a, 0x15, 0xd9, 0x20, 0x5f, + 0x92, 0xde, 0xf3, 0x2b, 0xf2, 0xaf, 0xa9, 0xf0, 0xca, 0x66, 0x9a, 0x78, 0xf7, 0x03, 0xd3, 0x0d, + 0xf7, 0x49, 0x10, 0x3c, 0x43, 0x79, 0xef, 0xc1, 0xac, 0x4b, 0x1e, 0x67, 0x32, 0xf1, 0x74, 0x9c, + 0x94, 0x8d, 0x4c, 0x3c, 0xd9, 0xda, 0xa5, 0xff, 0x40, 0x81, 0x16, 0xf2, 0xb9, 0x6b, 0xf7, 0x0e, + 0x9f, 0xa1, 0xf2, 0xdb, 0x30, 0x77, 0xc8, 0x24, 0xa0, 0xd0, 0x29, 0x96, 0xed, 0x1c, 0xf5, 0x84, + 0xea, 0x7f, 0xad, 0xc0, 0x42, 0x72, 0x6b, 0x7c, 0x6c, 0x3f, 0xcb, 0x60, 0xdd, 0x85, 0x79, 0x3c, + 0x85, 0x3f, 0xad, 0x01, 0xf2, 0xe4, 0x13, 0x5a, 0xe0, 0x6f, 0x14, 0x98, 0x47, 0x4e, 0xb7, 0xdc, + 0x88, 0x04, 0xa7, 0xd6, 0xff, 0x0e, 0x34, 0x89, 0x1b, 0x05, 0xa6, 0x7b, 0x9a, 0x15, 0x52, 0x24, + 0x9d, 0x70, 0x91, 0xfc, 0x4a, 0x01, 0x8d, 0xb1, 0xda, 0xb0, 0xc3, 0x81, 0x1d, 0x86, 0xcf, 0xd0, + 0x75, 0x93, 0x09, 0xfc, 0x47, 0x2a, 0x9c, 0x17, 0xb8, 0x74, 0xe2, 0xe8, 0x79, 0x17, 0x59, 0xdb, + 0x80, 0x06, 0xed, 0x11, 0xc4, 0x3b, 0xd2, 0x49, 0x27, 0xca, 0x08, 0x69, 0x17, 0xcb, 0x80, 0x2e, + 0xe9, 0x79, 0xae, 0x15, 0xb2, 0xe6, 0x68, 0xd6, 0x90, 0x70, 0x74, 0x19, 0x5a, 0x12, 0xd8, 0xac, + 0x9b, 0x6e, 0x8f, 0x38, 0x2f, 0x8c, 0x89, 0xf4, 0x3f, 0x57, 0x60, 0x0e, 0x87, 0x3c, 0xff, 0x2a, + 0xd3, 0x5a, 0x8f, 0x81, 0xfc, 0xad, 0xf1, 0x12, 0x0d, 0xaf, 0x45, 0x81, 0x8b, 0xd8, 0x57, 0x3f, + 0xbf, 0xa1, 0x75, 0x07, 0x9a, 0xbd, 0x03, 0xd3, 0xed, 0x9f, 0x2a, 0xb8, 0x44, 0x52, 0x3d, 0x82, + 0x97, 0xc5, 0x43, 0xfb, 0x75, 0xfc, 0xc4, 0xd4, 0x7f, 0x2b, 0xa7, 0xca, 0xc8, 0x37, 0x10, 0x4f, + 0x67, 0xf4, 0x43, 0x58, 0xc0, 0x5b, 0x64, 0xa1, 0x27, 0xd4, 0xda, 0x30, 0x65, 0x5a, 0x78, 0x74, + 0xa1, 0x30, 0xa2, 0x04, 0x94, 0x5f, 0x19, 0xf0, 0xf7, 0x6c, 0xd9, 0x2b, 0x83, 0x4b, 0x00, 0xa6, + 0x65, 0x3d, 0xf4, 0x02, 0xcb, 0x76, 0x93, 0x06, 0x5f, 0xc0, 0xe8, 0x1f, 0xc3, 0xcc, 0xed, 0xc0, + 0x1b, 0xdc, 0x17, 0xee, 0x83, 0x47, 0xde, 0x58, 0x8b, 0x77, 0xc9, 0xaa, 0x7c, 0x97, 0xac, 0x7f, + 0x01, 0x17, 0x0a, 0x82, 0x33, 0x63, 0xad, 0xe3, 0x35, 0x77, 0x32, 0x09, 0x0f, 0x99, 0xb2, 0xb3, + 0x3c, 0x51, 0x16, 0x43, 0x22, 0xd2, 0x7f, 0x55, 0x81, 0xd7, 0x0a, 0xec, 0x57, 0x7d, 0x3f, 0xf0, + 0x8e, 0xb9, 0x4f, 0xce, 0x62, 0x1a, 0xb9, 0xf9, 0x55, 0xf3, 0xcd, 0x6f, 0xa9, 0x10, 0x52, 0xc3, + 0xfe, 0x0d, 0x08, 0xf1, 0x67, 0x0a, 0xcc, 0x73, 0x21, 0x2c, 0x8b, 0x4f, 0xfb, 0x0e, 0xd4, 0xf1, + 0xa1, 0x0d, 0x9f, 0xf0, 0xb5, 0xd2, 0x09, 0x93, 0x07, 0x42, 0x06, 0x1f, 0x5c, 0x8c, 0x48, 0xb5, + 0x2c, 0xa3, 0xde, 0x4b, 0x83, 0x7d, 0xe2, 0xa7, 0x30, 0x9c, 0x40, 0xff, 0x85, 0x24, 0x98, 0x37, + 0x88, 0x43, 0xce, 0xd2, 0x46, 0xfa, 0x03, 0x98, 0x63, 0xaf, 0x7e, 0x32, 0x1b, 0x9c, 0x09, 0xdb, + 0x87, 0xd0, 0x62, 0x6c, 0xcf, 0x5c, 0xde, 0x34, 0x3b, 0xa8, 0x7d, 0xc4, 0xa5, 0xe4, 0x4c, 0xb8, + 0xbf, 0x09, 0xe7, 0x12, 0xdb, 0xe3, 0x4b, 0x5a, 0xe4, 0x3d, 0xe4, 0x6e, 0x4f, 0xff, 0x03, 0x05, + 0x16, 0xd7, 0x3d, 0xf7, 0x98, 0x04, 0xa1, 0xf4, 0xfa, 0x16, 0x49, 0xa4, 0xec, 0xe7, 0x90, 0xb6, + 0x02, 0x5a, 0x4f, 0xa0, 0xe0, 0xc7, 0x8b, 0x2a, 0x3b, 0x5e, 0x2c, 0xf9, 0xa2, 0xbd, 0x0d, 0x17, + 0x62, 0xc6, 0xf5, 0x81, 0x1b, 0x10, 0xd3, 0x62, 0xe7, 0x69, 0xc2, 0xa2, 0x57, 0xfe, 0x51, 0xff, + 0x12, 0x96, 0x44, 0xb9, 0xba, 0x24, 0xda, 0x0d, 0xec, 0x63, 0x41, 0x36, 0x7e, 0x76, 0xae, 0x48, + 0x67, 0xe7, 0xd9, 0x59, 0xbb, 0x2a, 0x9d, 0xb5, 0x5f, 0x84, 0x86, 0x1d, 0x72, 0x06, 0x6c, 0xde, + 0x69, 0x23, 0x43, 0xe8, 0x26, 0x2c, 0xa0, 0x97, 0xf9, 0x5d, 0x16, 0x9b, 0x62, 0x09, 0xa6, 0x31, + 0x74, 0xd3, 0x49, 0x52, 0x78, 0xe8, 0xcd, 0xd0, 0xd0, 0x7b, 0x50, 0xbd, 0x0b, 0x0b, 0xfc, 0x2d, + 0xd0, 0xae, 0xd9, 0xb7, 0x5d, 0x5c, 0xcb, 0x2f, 0x01, 0xf8, 0x66, 0x3f, 0x79, 0x99, 0x88, 0x37, + 0x7a, 0x02, 0x86, 0x7e, 0x0f, 0x0f, 0xbc, 0xc7, 0xfc, 0xbb, 0x8a, 0xdf, 0x33, 0x8c, 0xfe, 0x29, + 0x68, 0x06, 0x09, 0x7d, 0xcf, 0x0d, 0x89, 0xc0, 0x75, 0x19, 0x9a, 0xeb, 0x71, 0x10, 0x10, 0x97, + 0x4e, 0x95, 0x3c, 0xaf, 0x13, 0x51, 0x94, 0x6f, 0x37, 0xe3, 0x8b, 0xa7, 0xff, 0x02, 0x46, 0xff, + 0xdf, 0x3a, 0x34, 0xba, 0x76, 0xdf, 0x35, 0x1d, 0x83, 0x1c, 0x69, 0x1f, 0x42, 0x1d, 0x77, 0x46, + 0x3c, 0x20, 0xcb, 0x4e, 0xa3, 0x71, 0x34, 0x6e, 0x01, 0x0d, 0x72, 0x74, 0xe7, 0x25, 0x83, 0xd3, + 0x68, 0x9f, 0x24, 0x2f, 0xa6, 0xb6, 0xf0, 0xa4, 0x8b, 0x97, 0xc9, 0x9f, 0x1c, 0xc3, 0x84, 0x8f, + 0x46, 0x5e, 0x32, 0x07, 0x2a, 0x50, 0x8f, 0x75, 0x4e, 0x7c, 0x15, 0x1a, 0x2e, 0x10, 0x36, 0x58, + 0x5c, 0x20, 0xa4, 0xa1, 0xd4, 0x26, 0x3b, 0x0b, 0xe2, 0x0d, 0xc1, 0x70, 0x6a, 0x3c, 0x32, 0xe2, + 0xd4, 0x48, 0x43, 0xa9, 0x0f, 0x62, 0xb7, 0xff, 0xc0, 0xe7, 0x47, 0x94, 0xc3, 0xa9, 0xef, 0xb0, + 0x61, 0x9c, 0x1a, 0x69, 0x28, 0x75, 0xc0, 0x6a, 0x04, 0x33, 0xfa, 0x28, 0x6a, 0x2c, 0x25, 0x9c, + 0x1a, 0x69, 0xb4, 0xcf, 0xa0, 0xd5, 0x27, 0x91, 0xe1, 0x79, 0x83, 0xb5, 0x93, 0x4d, 0x7e, 0x43, + 0x84, 0x0f, 0xc4, 0xaf, 0x0d, 0xe5, 0xb3, 0x99, 0x23, 0x40, 0x8e, 0x05, 0x3e, 0xda, 0x2f, 0xc3, + 0x6b, 0x9e, 0x4b, 0x51, 0xbb, 0x66, 0x10, 0xd9, 0x3d, 0xdb, 0x37, 0xdd, 0x68, 0xdd, 0x73, 0x5d, + 0x56, 0xcf, 0x0c, 0x72, 0xc4, 0x9f, 0x90, 0xbf, 0x3b, 0x74, 0xa2, 0x9d, 0x51, 0xd4, 0x77, 0x5e, + 0x32, 0x46, 0xb3, 0xd7, 0x7e, 0x53, 0x81, 0xe5, 0xc2, 0x88, 0x0d, 0x3b, 0xec, 0x89, 0x32, 0xe0, + 0xf3, 0xf3, 0xf7, 0x26, 0x97, 0x21, 0xc7, 0xe0, 0xce, 0x4b, 0xc6, 0xd8, 0x49, 0xb8, 0x95, 0xef, + 0x7b, 0x87, 0xc4, 0x5d, 0x3b, 0xa1, 0x63, 0xb7, 0x36, 0xd8, 0x6d, 0xd4, 0x18, 0x2b, 0x4b, 0x04, + 0x99, 0x95, 0x25, 0xf4, 0x5a, 0x03, 0xa6, 0x7c, 0xf3, 0xc4, 0xf1, 0x4c, 0x4b, 0xff, 0x4e, 0x15, + 0x20, 0x71, 0x75, 0xc8, 0x3a, 0x62, 0x29, 0xc9, 0x2e, 0x8f, 0x4d, 0x32, 0xdf, 0x39, 0x11, 0xd2, + 0xac, 0x5b, 0x9e, 0x66, 0x3f, 0x35, 0x69, 0x9a, 0x21, 0xb7, 0x5c, 0xa2, 0xdd, 0xcc, 0x25, 0xda, + 0xe5, 0xb1, 0x89, 0xc6, 0x85, 0xe2, 0xa9, 0x76, 0x33, 0x97, 0x6a, 0x97, 0xc7, 0xa6, 0x1a, 0xa7, + 0xe7, 0xc9, 0x76, 0x33, 0x97, 0x6c, 0x97, 0xc7, 0x26, 0x1b, 0xa7, 0xe7, 0xe9, 0x76, 0x33, 0x97, + 0x6e, 0x97, 0xc7, 0xa6, 0x1b, 0xa7, 0xe7, 0x09, 0xf7, 0xc5, 0xd0, 0x84, 0x5b, 0x79, 0x8a, 0x84, + 0x43, 0x9e, 0xc5, 0x94, 0xfb, 0xa2, 0x24, 0xd0, 0xa6, 0xc7, 0x73, 0xcf, 0x05, 0x5a, 0xc6, 0x7d, + 0x68, 0xa8, 0xfd, 0x7a, 0x05, 0xe6, 0x98, 0xbb, 0xb1, 0x2a, 0xbb, 0xfb, 0x5e, 0xf1, 0x1d, 0xab, + 0x52, 0xf2, 0x8e, 0x55, 0xbb, 0x06, 0x0b, 0x88, 0x20, 0xc2, 0x3d, 0x22, 0x16, 0xfa, 0xe2, 0x07, + 0x76, 0x73, 0x1a, 0x87, 0x91, 0x37, 0xd8, 0x30, 0x23, 0x33, 0xd9, 0x61, 0x64, 0x18, 0xf1, 0x5e, + 0xbb, 0x5a, 0xf8, 0xb9, 0x47, 0x80, 0xfa, 0xd7, 0x78, 0x35, 0x67, 0x10, 0xa5, 0x88, 0xec, 0x01, + 0xf1, 0xe2, 0x88, 0x17, 0xa9, 0x04, 0xc4, 0xc7, 0x87, 0x96, 0x6d, 0xb2, 0xdb, 0x60, 0xfe, 0x32, + 0x2f, 0x45, 0xb0, 0xba, 0x9a, 0xdd, 0x6e, 0xf3, 0x9f, 0x63, 0x64, 0x98, 0x09, 0x6e, 0xa2, 0xd9, + 0x2f, 0x7b, 0xec, 0xc8, 0x16, 0x5f, 0xec, 0xd5, 0x0c, 0x09, 0x47, 0xfb, 0xa0, 0xbd, 0x38, 0x3c, + 0xb9, 0x67, 0xbb, 0xa2, 0x79, 0x9a, 0xd8, 0x07, 0x15, 0xbf, 0xe8, 0xff, 0xa7, 0xc0, 0x39, 0x61, + 0xdd, 0xe9, 0x90, 0xc8, 0x64, 0x76, 0x91, 0xde, 0x5d, 0x2b, 0x4f, 0xf7, 0xee, 0x7a, 0x17, 0xe6, + 0xfb, 0xf2, 0xb6, 0xfc, 0x29, 0x77, 0xd4, 0x79, 0x72, 0xe9, 0x11, 0x79, 0xe5, 0xa9, 0x1f, 0x91, + 0xeb, 0xbf, 0xa5, 0xc2, 0x7c, 0xae, 0x19, 0x18, 0xd9, 0x49, 0xad, 0x02, 0xd8, 0x69, 0x68, 0x8e, + 0xb8, 0xb5, 0x92, 0xe3, 0xd7, 0x10, 0x88, 0xca, 0xae, 0xcd, 0x2b, 0xa7, 0xbf, 0x36, 0xbf, 0x03, + 0x4d, 0x3f, 0x73, 0xd2, 0x88, 0x43, 0x83, 0x12, 0x57, 0x1a, 0x22, 0xa9, 0xfe, 0xdb, 0x0a, 0x2c, + 0x14, 0x96, 0x6c, 0x76, 0x99, 0x4d, 0x13, 0x35, 0xbd, 0xcc, 0xa6, 0x80, 0x90, 0x01, 0x6a, 0x3e, + 0x03, 0x1c, 0xfb, 0x58, 0xfc, 0xb9, 0x0b, 0x07, 0x87, 0x44, 0x5f, 0x75, 0x68, 0xf4, 0xfd, 0x8e, + 0x0a, 0x8b, 0xe5, 0x0d, 0xd6, 0x8b, 0xea, 0x9f, 0xdf, 0x55, 0xa0, 0x3d, 0xac, 0x16, 0x3e, 0x33, + 0x37, 0x65, 0xf9, 0x93, 0xf6, 0xae, 0x2f, 0xaa, 0x7f, 0xce, 0x25, 0xe9, 0x23, 0x34, 0x17, 0xfa, + 0x5f, 0xa7, 0xf6, 0x49, 0xbb, 0xf3, 0x17, 0xd4, 0x3e, 0xda, 0x55, 0x68, 0xa1, 0x9a, 0xc2, 0x4b, + 0x2e, 0xdc, 0xec, 0x15, 0xf0, 0xfa, 0xe7, 0x89, 0x2d, 0x85, 0x46, 0xeb, 0xac, 0x62, 0x5c, 0xff, + 0x47, 0x25, 0xf1, 0x49, 0xba, 0xe7, 0xf9, 0x56, 0xf9, 0x24, 0x8b, 0x34, 0xa1, 0x8d, 0x14, 0x22, + 0x2d, 0xdd, 0x8b, 0xfd, 0x28, 0xd2, 0xc6, 0x47, 0x5a, 0x6a, 0x4b, 0xa1, 0xa5, 0xd6, 0xff, 0x58, + 0x81, 0x57, 0x86, 0xee, 0x47, 0x47, 0x5a, 0x55, 0x68, 0x1a, 0x55, 0xb9, 0x69, 0xcc, 0xa9, 0x57, + 0x39, 0xfd, 0x42, 0xf3, 0xcf, 0x0a, 0xbc, 0x3a, 0xa2, 0x79, 0xcf, 0x79, 0x56, 0x39, 0x8d, 0x67, + 0x73, 0xc2, 0xaa, 0x43, 0x2f, 0xa6, 0xc7, 0xfa, 0x22, 0x4b, 0xcf, 0x8a, 0x98, 0x9e, 0xfa, 0xbf, + 0x2b, 0xf0, 0xfa, 0x04, 0x3b, 0xf1, 0xe7, 0x4b, 0x99, 0xa1, 0x4f, 0x5d, 0xf5, 0xff, 0x50, 0xe0, + 0xca, 0x64, 0x9b, 0xfa, 0x6f, 0x8b, 0x46, 0x7f, 0x2f, 0xe6, 0x40, 0xfe, 0xb4, 0x40, 0x70, 0xab, + 0x22, 0xad, 0xba, 0x62, 0x6e, 0xa8, 0xb9, 0xdc, 0x38, 0xb3, 0x0c, 0xc8, 0xbf, 0x68, 0xaf, 0x16, + 0x5f, 0xb4, 0x77, 0x84, 0x14, 0x29, 0xee, 0x40, 0x87, 0x94, 0x12, 0xa1, 0x64, 0xa8, 0x72, 0xc9, + 0xf8, 0x15, 0x98, 0xdd, 0x20, 0x4e, 0x27, 0xec, 0x27, 0xbf, 0x3d, 0x39, 0xd3, 0xd3, 0xd6, 0x09, + 0xf4, 0x59, 0x83, 0x39, 0x51, 0x80, 0xd3, 0xfc, 0xb6, 0x42, 0x7f, 0x08, 0xaf, 0x74, 0x49, 0xb4, + 0xea, 0xfb, 0x6b, 0x66, 0xef, 0x90, 0xba, 0xd9, 0xb5, 0xba, 0xec, 0x31, 0xf0, 0xa8, 0x1f, 0xd3, + 0xd0, 0x9d, 0x65, 0x98, 0x11, 0xf0, 0x17, 0xb0, 0x12, 0x4e, 0xdf, 0x86, 0xa5, 0x61, 0x8c, 0x4f, + 0x25, 0xe8, 0x77, 0x55, 0x98, 0xb9, 0xf5, 0x24, 0xc2, 0xf7, 0xef, 0x5d, 0xc2, 0x7e, 0x41, 0x1e, + 0xb2, 0x6b, 0xc1, 0xcc, 0xda, 0x09, 0x9c, 0xdf, 0x1c, 0xab, 0xc5, 0xcd, 0xf1, 0x0e, 0x00, 0x49, + 0xb8, 0x85, 0xfc, 0x91, 0xcd, 0xf5, 0x92, 0xb0, 0x13, 0xa7, 0xcc, 0x00, 0xfe, 0xea, 0x59, 0x60, + 0x41, 0xeb, 0x4b, 0xc7, 0x7c, 0xd2, 0x09, 0xfb, 0xc2, 0x7f, 0x06, 0xc1, 0xb7, 0x36, 0x05, 0x3c, + 0xb5, 0x5f, 0x4a, 0xb9, 0x1d, 0x0f, 0x78, 0x1d, 0x92, 0x70, 0xb9, 0x37, 0xdc, 0xf5, 0xfc, 0x1b, + 0xee, 0xa5, 0xcf, 0x61, 0x3e, 0x27, 0x4e, 0xc9, 0x1b, 0xe5, 0x1b, 0xf2, 0x0f, 0x0e, 0x2e, 0x8e, + 0x52, 0x50, 0x7c, 0xc1, 0xfc, 0xff, 0x2a, 0x34, 0xd2, 0x0f, 0xda, 0x00, 0x2e, 0x04, 0xc4, 0x64, + 0xff, 0x0a, 0x84, 0x21, 0xa9, 0x11, 0x85, 0x9f, 0x05, 0xfd, 0xec, 0x28, 0xae, 0x2b, 0x46, 0x19, + 0x25, 0x9a, 0xaf, 0x9c, 0xeb, 0x04, 0xbf, 0x5a, 0x58, 0x01, 0x6d, 0x10, 0xf6, 0x6f, 0xdb, 0x41, + 0x18, 0x75, 0x3c, 0xcb, 0xde, 0x3f, 0x11, 0xae, 0x62, 0x4a, 0xbe, 0x14, 0x1e, 0x80, 0x57, 0x87, + 0x3e, 0x00, 0x4f, 0xff, 0xcb, 0xc3, 0x12, 0x81, 0xa5, 0xe1, 0xa2, 0x97, 0x98, 0xfa, 0x67, 0x64, + 0x53, 0x97, 0x5d, 0xa1, 0xdf, 0x25, 0x27, 0xf8, 0xff, 0x45, 0x04, 0x4b, 0xef, 0xc3, 0x74, 0x82, + 0x66, 0x47, 0x45, 0x27, 0x3e, 0xb9, 0x9b, 0x32, 0x4e, 0x40, 0xf9, 0xad, 0x79, 0x83, 0xd3, 0xd3, + 0x90, 0x73, 0xcc, 0x88, 0x84, 0x91, 0x10, 0x72, 0x68, 0x84, 0x02, 0x7e, 0xed, 0xda, 0x67, 0x57, + 0x77, 0x7c, 0xe2, 0x3e, 0xda, 0xea, 0x14, 0xfe, 0xc7, 0xd1, 0x07, 0x05, 0x49, 0xf7, 0xea, 0xec, + 0xfb, 0x5b, 0x3f, 0x0c, 0x00, 0x00, 0xff, 0xff, 0xa5, 0x20, 0xfb, 0xbd, 0x43, 0x49, 0x00, 0x00, } diff --git a/pkg/proto/sdk_ws/ws.proto b/pkg/proto/sdk_ws/ws.proto index b8c232965..b0b531f8f 100644 --- a/pkg/proto/sdk_ws/ws.proto +++ b/pkg/proto/sdk_ws/ws.proto @@ -707,25 +707,25 @@ message SetAppBackgroundStatusResp { } message ExtendMsgSet { - string ID = 1; - repeated ExtendMsg extendMsgs = 2; - int32 latestUpdateTime = 3; - string attachedInfo = 4; - string ex = 5; - int32 extendMsgNum = 6; - int32 createTime = 7; + string sourceID = 1; + int32 sessionType = 2; + map extendMsgs = 3; + int64 MaxMsgUpdateTime = 4; + int32 extendMsgNum = 5; + int64 createTime = 6; } message ExtendMsg { - repeated ReactionExtendMsgSet content = 1; + map reactionExtensionList = 1; string clientMsgID = 2; - int32 createTime = 3; - int32 latestUpdateTime = 4; + int64 msgFirstModifyTime = 3; + string attachedInfo = 4; + string ex = 5; } -message ReactionExtendMsgSet { - string userKey = 1; +message KeyValue { + string typeKey = 1; string value = 2; - int32 latestUpdateTime = 3; + int64 latestUpdateTime = 3; } From 53cd4205e813db3b8d584887d5b67134d936f809 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 9 Dec 2022 10:45:51 +0800 Subject: [PATCH 071/176] modify --- internal/rpc/msg/extend_msg.go | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/internal/rpc/msg/extend_msg.go b/internal/rpc/msg/extend_msg.go index 6cb5870b7..682485c50 100644 --- a/internal/rpc/msg/extend_msg.go +++ b/internal/rpc/msg/extend_msg.go @@ -1 +1,22 @@ package msg + +import ( + "Open_IM/pkg/proto/msg" + "context" +) + +func (rpc *rpcChat) SetMessageReactionExtensions(ctx context.Context, req *msg.ModifyMessageReactionExtensionsReq) (resp *msg.ModifyMessageReactionExtensionsResp, err error) { + return +} + +func (rpc *rpcChat) GetMessageListReactionExtensions(ctx context.Context, req *msg.OperateMessageListReactionExtensionsReq) (resp *msg.OperateMessageListReactionExtensionsResp, err error) { + return +} + +func (rpc *rpcChat) AddMessageReactionExtensions(ctx context.Context, req *msg.ModifyMessageReactionExtensionsReq) (resp *msg.ModifyMessageReactionExtensionsResp, err error) { + return +} + +func (rpc *rpcChat) DeleteMessageReactionExtensions(ctx context.Context, req *msg.OperateMessageListReactionExtensionsReq) (resp *msg.OperateMessageListReactionExtensionsResp, err error) { + return +} From 4d56dfdfa29813ec7df55b9daf6219fb2f7a8463 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 9 Dec 2022 12:13:14 +0800 Subject: [PATCH 072/176] modify --- cmd/open_im_api/main.go | 5 + config/config.yaml | 3 +- internal/api/msg/extend_msg.go | 206 ++++++++++++++++++++++++ internal/rpc/msg/callback.go | 6 - internal/rpc/msg/extend_msg_callback.go | 9 ++ pkg/base_info/msg.go | 61 ++++++- 6 files changed, 278 insertions(+), 12 deletions(-) create mode 100644 internal/api/msg/extend_msg.go create mode 100644 internal/rpc/msg/extend_msg_callback.go diff --git a/cmd/open_im_api/main.go b/cmd/open_im_api/main.go index 94cb88831..074028eec 100644 --- a/cmd/open_im_api/main.go +++ b/cmd/open_im_api/main.go @@ -163,6 +163,11 @@ func main() { chatGroup.POST("/batch_send_msg", manage.ManagementBatchSendMsg) chatGroup.POST("/check_msg_is_send_success", manage.CheckMsgIsSendSuccess) chatGroup.POST("/set_msg_min_seq", apiChat.SetMsgMinSeq) + + chatGroup.POST("/set_message_reaction_extensions", apiChat.SetMessageReactionExtensions) + chatGroup.POST("/get_message_list_reaction_extensions", apiChat.GetMessageListReactionExtensions) + chatGroup.POST("/add_message_reaction_extensions", apiChat.AddMessageReactionExtensions) + chatGroup.POST("/delete_message_reaction_extensions", apiChat.DeleteMessageReactionExtensions) } //Conversation conversationGroup := r.Group("/conversation") diff --git a/config/config.yaml b/config/config.yaml index 966c613f4..9d452e0e1 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -345,11 +345,12 @@ callback: enable: false callbackTimeOut: 2 callbackFailedContinue: true # 回调超时是否继续 - callbackBeforeExtendMsgModify: + callbackSetMessageReactionExtensions: enable: false callbackTimeOut: 2 callbackFailedContinue: true # 回调超时是否继续 + notification: groupCreated: conversation: diff --git a/internal/api/msg/extend_msg.go b/internal/api/msg/extend_msg.go new file mode 100644 index 000000000..1d6b8db07 --- /dev/null +++ b/internal/api/msg/extend_msg.go @@ -0,0 +1,206 @@ +package msg + +import ( + api "Open_IM/pkg/base_info" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/constant" + "Open_IM/pkg/common/log" + "Open_IM/pkg/common/token_verify" + "Open_IM/pkg/grpc-etcdv3/getcdv3" + rpc "Open_IM/pkg/proto/msg" + "Open_IM/pkg/utils" + "context" + "github.com/gin-gonic/gin" + "net/http" + "strings" +) + +func SetMessageReactionExtensions(c *gin.Context) { + var ( + req api.SetMessageReactionExtensionsCallbackReq + resp api.SetMessageReactionExtensionsCallbackResp + reqPb rpc.ModifyMessageReactionExtensionsReq + ) + + if err := c.BindJSON(&req); err != nil { + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) + return + } + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req:", req) + + if err := utils.CopyStructFields(&reqPb, &req); err != nil { + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields", err.Error()) + } + var ok bool + var errInfo string + ok, reqPb.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + if !ok { + errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") + log.NewError(req.OperationID, errMsg) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 500, "errMsg": errMsg}) + return + } + + grpcConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImMsgName, req.OperationID) + if grpcConn == nil { + errMsg := req.OperationID + " getcdv3.GetDefaultConn == nil" + log.NewError(req.OperationID, errMsg) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) + return + } + msgClient := rpc.NewMsgClient(grpcConn) + respPb, err := msgClient.SetMessageReactionExtensions(context.Background(), &reqPb) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "DelMsgList failed", err.Error(), reqPb) + c.JSON(http.StatusOK, gin.H{"errCode": constant.ErrServer.ErrCode, "errMsg": constant.ErrServer.ErrMsg + err.Error()}) + return + } + resp.ErrCode = respPb.ErrCode + resp.ErrMsg = respPb.ErrMsg + resp.FailedList = respPb.FailedList + resp.SuccessList = respPb.SuccessList + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), resp) + c.JSON(http.StatusOK, resp) + +} + +func GetMessageListReactionExtensions(c *gin.Context) { + var ( + req api.GetMessageListReactionExtensionsReq + resp api.GetMessageListReactionExtensionsResp + reqPb rpc.OperateMessageListReactionExtensionsReq + ) + if err := c.BindJSON(&req); err != nil { + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) + return + } + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req:", req) + + if err := utils.CopyStructFields(&reqPb, &req); err != nil { + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields", err.Error()) + } + var ok bool + var errInfo string + ok, reqPb.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + if !ok { + errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") + log.NewError(req.OperationID, errMsg) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 500, "errMsg": errMsg}) + return + } + + grpcConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImMsgName, req.OperationID) + if grpcConn == nil { + errMsg := req.OperationID + " getcdv3.GetDefaultConn == nil" + log.NewError(req.OperationID, errMsg) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) + return + } + msgClient := rpc.NewMsgClient(grpcConn) + respPb, err := msgClient.GetMessageListReactionExtensions(context.Background(), &reqPb) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "DelMsgList failed", err.Error(), reqPb) + c.JSON(http.StatusOK, gin.H{"errCode": constant.ErrServer.ErrCode, "errMsg": constant.ErrServer.ErrMsg + err.Error()}) + return + } + resp.ErrCode = respPb.ErrCode + resp.ErrMsg = respPb.ErrMsg + resp.FailedList = respPb.FailedList + resp.SuccessList = respPb.SuccessList + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), resp) + c.JSON(http.StatusOK, resp) +} + +func AddMessageReactionExtensions(c *gin.Context) { + var ( + req api.AddMessageReactionExtensionsReq + resp api.AddMessageReactionExtensionsResp + reqPb rpc.ModifyMessageReactionExtensionsReq + ) + if err := c.BindJSON(&req); err != nil { + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) + return + } + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req:", req) + + if err := utils.CopyStructFields(&reqPb, &req); err != nil { + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields", err.Error()) + } + var ok bool + var errInfo string + ok, reqPb.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + if !ok { + errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") + log.NewError(req.OperationID, errMsg) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 500, "errMsg": errMsg}) + return + } + + grpcConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImMsgName, req.OperationID) + if grpcConn == nil { + errMsg := req.OperationID + " getcdv3.GetDefaultConn == nil" + log.NewError(req.OperationID, errMsg) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) + return + } + msgClient := rpc.NewMsgClient(grpcConn) + respPb, err := msgClient.AddMessageReactionExtensions(context.Background(), &reqPb) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "DelMsgList failed", err.Error(), reqPb) + c.JSON(http.StatusOK, gin.H{"errCode": constant.ErrServer.ErrCode, "errMsg": constant.ErrServer.ErrMsg + err.Error()}) + return + } + resp.ErrCode = respPb.ErrCode + resp.ErrMsg = respPb.ErrMsg + resp.FailedList = respPb.FailedList + resp.SuccessList = respPb.SuccessList + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), resp) + c.JSON(http.StatusOK, resp) +} + +func DeleteMessageReactionExtensions(c *gin.Context) { + var ( + req api.DeleteMessageReactionExtensionsReq + resp api.DeleteMessageReactionExtensionsResp + reqPb rpc.OperateMessageListReactionExtensionsReq + ) + if err := c.BindJSON(&req); err != nil { + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) + return + } + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req:", req) + + if err := utils.CopyStructFields(&reqPb, &req); err != nil { + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields", err.Error()) + } + var ok bool + var errInfo string + ok, reqPb.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + if !ok { + errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") + log.NewError(req.OperationID, errMsg) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 500, "errMsg": errMsg}) + return + } + + grpcConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImMsgName, req.OperationID) + if grpcConn == nil { + errMsg := req.OperationID + " getcdv3.GetDefaultConn == nil" + log.NewError(req.OperationID, errMsg) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) + return + } + msgClient := rpc.NewMsgClient(grpcConn) + respPb, err := msgClient.DeleteMessageReactionExtensions(context.Background(), &reqPb) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "DelMsgList failed", err.Error(), reqPb) + c.JSON(http.StatusOK, gin.H{"errCode": constant.ErrServer.ErrCode, "errMsg": constant.ErrServer.ErrMsg + err.Error()}) + return + } + resp.ErrCode = respPb.ErrCode + resp.ErrMsg = respPb.ErrMsg + resp.FailedList = respPb.FailedList + resp.SuccessList = respPb.SuccessList + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), resp) + c.JSON(http.StatusOK, resp) +} diff --git a/internal/rpc/msg/callback.go b/internal/rpc/msg/callback.go index b4ae38418..5fae1e133 100644 --- a/internal/rpc/msg/callback.go +++ b/internal/rpc/msg/callback.go @@ -221,9 +221,3 @@ func callbackMsgModify(msg *pbChat.SendMsgReq) cbApi.CommonCallbackResp { log.NewDebug(msg.OperationID, utils.GetSelfFuncName(), string(msg.MsgData.Content)) return callbackResp } - -func CallbackBeforeExtendMsgModify() cbApi.CommonCallbackResp { - callbackResp := cbApi.CommonCallbackResp{OperationID: ""} - - return callbackResp -} diff --git a/internal/rpc/msg/extend_msg_callback.go b/internal/rpc/msg/extend_msg_callback.go new file mode 100644 index 000000000..956c86c9d --- /dev/null +++ b/internal/rpc/msg/extend_msg_callback.go @@ -0,0 +1,9 @@ +package msg + +func callbackSetMessageReactionExtensions() { + +} + +func callbackDeleteMessageReactionExtensions() { + +} diff --git a/pkg/base_info/msg.go b/pkg/base_info/msg.go index 2b12a2b2e..4e27873b7 100644 --- a/pkg/base_info/msg.go +++ b/pkg/base_info/msg.go @@ -1,5 +1,10 @@ package base_info +import ( + "Open_IM/pkg/proto/msg" + sdk_ws "Open_IM/pkg/proto/sdk_ws" +) + type DelMsgReq struct { UserID string `json:"userID,omitempty" binding:"required"` SeqList []uint32 `json:"seqList,omitempty" binding:"required"` @@ -18,6 +23,7 @@ type CleanUpMsgReq struct { type CleanUpMsgResp struct { CommResp } + type DelSuperGroupMsgReq struct { UserID string `json:"userID" binding:"required"` GroupID string `json:"groupID" binding:"required"` @@ -29,23 +35,68 @@ type DelSuperGroupMsgReq struct { type DelSuperGroupMsgResp struct { CommResp } + type MsgDeleteNotificationElem struct { GroupID string `json:"groupID"` IsAllDelete bool `json:"isAllDelete"` SeqList []uint32 `json:"seqList"` } -//UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` -// GroupID string `protobuf:"bytes,2,opt,name=groupID" json:"groupID,omitempty"` -// MinSeq uint32 `protobuf:"varint,3,opt,name=minSeq" json:"minSeq,omitempty"` -// OperationID string `protobuf:"bytes,4,opt,name=operationID" json:"operationID,omitempty"` -// OpUserID string `protobuf:"bytes,5,opt,name=opUserID" json:"opUserID,omitempty"` type SetMsgMinSeqReq struct { UserID string `json:"userID" binding:"required"` GroupID string `json:"groupID"` MinSeq uint32 `json:"minSeq" binding:"required"` OperationID string `json:"operationID" binding:"required"` } + type SetMsgMinSeqResp struct { CommResp } + +type ModifyMessageReactionExtensionsReq struct { + OperationID string `json:"operationID" binding:"required"` + SourceID string `json:"sourceID" binding:"required"` + SessionType int32 `json:"sessionType" binding:"required"` + ReactionExtensionList map[string]*sdk_ws.KeyValue `json:"reactionExtensionList,omitempty" binding:"required"` + ClientMsgID string `json:"clientMsgID" binding:"required"` + Ex *string `json:"ex"` + AttachedInfo *string `json:"attachedInfo"` + IsReact bool `json:"isReact"` + IsExternalExtensions bool `json:"isExternalExtensions"` + MsgFirstModifyTime int64 `json:"msgFirstModifyTime"` +} + +type ModifyMessageReactionExtensionsResp struct { + CommResp + SuccessList []*sdk_ws.ExtendMsg `json:"successList"` + FailedList []*sdk_ws.ExtendMsg `json:"failedList"` +} + +type OperateMessageListReactionExtensionsReq struct { + OperationID string `json:"operationID" binding:"required"` + SourceID string `json:"sourceID" binding:"required"` + SessionType string `json:"sessionType" binding:"required"` + MessageReactionKeyList []*msg.OperateMessageListReactionExtensionsReq_MessageReactionKey `json:"messageReactionKeyList" binding:"required"` +} + +type OperateMessageListReactionExtensionsResp struct { + CommResp + SuccessList []*sdk_ws.ExtendMsg `json:"successList"` + FailedList []*sdk_ws.ExtendMsg `json:"failedList"` +} + +type SetMessageReactionExtensionsCallbackReq ModifyMessageReactionExtensionsReq + +type SetMessageReactionExtensionsCallbackResp ModifyMessageReactionExtensionsResp + +type GetMessageListReactionExtensionsReq OperateMessageListReactionExtensionsReq + +type GetMessageListReactionExtensionsResp OperateMessageListReactionExtensionsResp + +type AddMessageReactionExtensionsReq ModifyMessageReactionExtensionsReq + +type AddMessageReactionExtensionsResp ModifyMessageReactionExtensionsResp + +type DeleteMessageReactionExtensionsReq OperateMessageListReactionExtensionsReq + +type DeleteMessageReactionExtensionsResp OperateMessageListReactionExtensionsResp From 0fbf882059af63f63928819587504e57e261856f Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 9 Dec 2022 12:18:38 +0800 Subject: [PATCH 073/176] modify --- internal/api/msg/extend_msg.go | 16 ++++++++-------- pkg/base_info/msg.go | 12 ++++++++---- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/internal/api/msg/extend_msg.go b/internal/api/msg/extend_msg.go index 1d6b8db07..62c11773d 100644 --- a/internal/api/msg/extend_msg.go +++ b/internal/api/msg/extend_msg.go @@ -57,8 +57,8 @@ func SetMessageReactionExtensions(c *gin.Context) { } resp.ErrCode = respPb.ErrCode resp.ErrMsg = respPb.ErrMsg - resp.FailedList = respPb.FailedList - resp.SuccessList = respPb.SuccessList + resp.Data.FailedList = respPb.FailedList + resp.Data.SuccessList = respPb.SuccessList log.NewInfo(req.OperationID, utils.GetSelfFuncName(), resp) c.JSON(http.StatusOK, resp) @@ -105,8 +105,8 @@ func GetMessageListReactionExtensions(c *gin.Context) { } resp.ErrCode = respPb.ErrCode resp.ErrMsg = respPb.ErrMsg - resp.FailedList = respPb.FailedList - resp.SuccessList = respPb.SuccessList + resp.Data.FailedList = respPb.FailedList + resp.Data.SuccessList = respPb.SuccessList log.NewInfo(req.OperationID, utils.GetSelfFuncName(), resp) c.JSON(http.StatusOK, resp) } @@ -152,8 +152,8 @@ func AddMessageReactionExtensions(c *gin.Context) { } resp.ErrCode = respPb.ErrCode resp.ErrMsg = respPb.ErrMsg - resp.FailedList = respPb.FailedList - resp.SuccessList = respPb.SuccessList + resp.Data.FailedList = respPb.FailedList + resp.Data.SuccessList = respPb.SuccessList log.NewInfo(req.OperationID, utils.GetSelfFuncName(), resp) c.JSON(http.StatusOK, resp) } @@ -199,8 +199,8 @@ func DeleteMessageReactionExtensions(c *gin.Context) { } resp.ErrCode = respPb.ErrCode resp.ErrMsg = respPb.ErrMsg - resp.FailedList = respPb.FailedList - resp.SuccessList = respPb.SuccessList + resp.Data.FailedList = respPb.FailedList + resp.Data.SuccessList = respPb.SuccessList log.NewInfo(req.OperationID, utils.GetSelfFuncName(), resp) c.JSON(http.StatusOK, resp) } diff --git a/pkg/base_info/msg.go b/pkg/base_info/msg.go index 4e27873b7..4927d7969 100644 --- a/pkg/base_info/msg.go +++ b/pkg/base_info/msg.go @@ -68,8 +68,10 @@ type ModifyMessageReactionExtensionsReq struct { type ModifyMessageReactionExtensionsResp struct { CommResp - SuccessList []*sdk_ws.ExtendMsg `json:"successList"` - FailedList []*sdk_ws.ExtendMsg `json:"failedList"` + Data struct { + SuccessList []*sdk_ws.ExtendMsg `json:"successList"` + FailedList []*sdk_ws.ExtendMsg `json:"failedList"` + } `json:"data"` } type OperateMessageListReactionExtensionsReq struct { @@ -81,8 +83,10 @@ type OperateMessageListReactionExtensionsReq struct { type OperateMessageListReactionExtensionsResp struct { CommResp - SuccessList []*sdk_ws.ExtendMsg `json:"successList"` - FailedList []*sdk_ws.ExtendMsg `json:"failedList"` + Data struct { + SuccessList []*sdk_ws.ExtendMsg `json:"successList"` + FailedList []*sdk_ws.ExtendMsg `json:"failedList"` + } `json:"data"` } type SetMessageReactionExtensionsCallbackReq ModifyMessageReactionExtensionsReq From 1d78b6883128f25ec4d8337fe917a6e7504902fa Mon Sep 17 00:00:00 2001 From: skiffer-git <44203734@qq.com> Date: Fri, 9 Dec 2022 13:18:36 +0800 Subject: [PATCH 074/176] set group member ex == "" if ex == nil --- internal/rpc/group/group.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index 064448432..2b1f2224d 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -1821,6 +1821,8 @@ func (s *groupServer) SetGroupMemberInfo(ctx context.Context, req *pbGroup.SetGr } if req.Ex != nil { m["ex"] = req.Ex.Value + } else { + m["ex"] = "" } err = imdb.UpdateGroupMemberInfoByMap(groupMember, m) if err != nil { From 9cb30e0ec6bd2cab73ba965b151628a58e95f707 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Fri, 9 Dec 2022 14:28:24 +0800 Subject: [PATCH 075/176] reaction message --- pkg/common/constant/constant.go | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkg/common/constant/constant.go b/pkg/common/constant/constant.go index ff2e0097f..76b285c24 100644 --- a/pkg/common/constant/constant.go +++ b/pkg/common/constant/constant.go @@ -99,10 +99,11 @@ const ( SignalingNotification = 1601 SignalingNotificationEnd = 1649 - SuperGroupNotificationBegin = 1650 - SuperGroupUpdateNotification = 1651 - MsgDeleteNotification = 1652 - SuperGroupNotificationEnd = 1699 + SuperGroupNotificationBegin = 1650 + SuperGroupUpdateNotification = 1651 + MsgDeleteNotification = 1652 + ReactionMessageModifierNotification = 1653 + SuperGroupNotificationEnd = 1699 ConversationPrivateChatNotification = 1701 ConversationUnreadNotification = 1702 From 7f449aed5b42c964ac1d9571ba9dc580baa8f6be Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 9 Dec 2022 16:42:43 +0800 Subject: [PATCH 076/176] modify msg --- pkg/proto/msg/msg.pb.go | 111 ++++++++++++++++++++-------------------- pkg/proto/msg/msg.proto | 12 +++-- 2 files changed, 64 insertions(+), 59 deletions(-) diff --git a/pkg/proto/msg/msg.pb.go b/pkg/proto/msg/msg.pb.go index 8a5c94d97..0ea6d4f62 100644 --- a/pkg/proto/msg/msg.pb.go +++ b/pkg/proto/msg/msg.pb.go @@ -38,7 +38,7 @@ func (m *MsgDataToMQ) Reset() { *m = MsgDataToMQ{} } func (m *MsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMQ) ProtoMessage() {} func (*MsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{0} + return fileDescriptor_msg_21d1ceb5221a9786, []int{0} } func (m *MsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMQ.Unmarshal(m, b) @@ -91,7 +91,7 @@ func (m *MsgDataToDB) Reset() { *m = MsgDataToDB{} } func (m *MsgDataToDB) String() string { return proto.CompactTextString(m) } func (*MsgDataToDB) ProtoMessage() {} func (*MsgDataToDB) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{1} + return fileDescriptor_msg_21d1ceb5221a9786, []int{1} } func (m *MsgDataToDB) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToDB.Unmarshal(m, b) @@ -138,7 +138,7 @@ func (m *PushMsgDataToMQ) Reset() { *m = PushMsgDataToMQ{} } func (m *PushMsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*PushMsgDataToMQ) ProtoMessage() {} func (*PushMsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{2} + return fileDescriptor_msg_21d1ceb5221a9786, []int{2} } func (m *PushMsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PushMsgDataToMQ.Unmarshal(m, b) @@ -193,7 +193,7 @@ func (m *MsgDataToMongoByMQ) Reset() { *m = MsgDataToMongoByMQ{} } func (m *MsgDataToMongoByMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMongoByMQ) ProtoMessage() {} func (*MsgDataToMongoByMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{3} + return fileDescriptor_msg_21d1ceb5221a9786, []int{3} } func (m *MsgDataToMongoByMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMongoByMQ.Unmarshal(m, b) @@ -273,7 +273,7 @@ func (m *GetMaxAndMinSeqReq) Reset() { *m = GetMaxAndMinSeqReq{} } func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqReq) ProtoMessage() {} func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{4} + return fileDescriptor_msg_21d1ceb5221a9786, []int{4} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -321,7 +321,7 @@ func (m *GetMaxAndMinSeqResp) Reset() { *m = GetMaxAndMinSeqResp{} } func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqResp) ProtoMessage() {} func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{5} + return fileDescriptor_msg_21d1ceb5221a9786, []int{5} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -382,7 +382,7 @@ func (m *SendMsgReq) Reset() { *m = SendMsgReq{} } func (m *SendMsgReq) String() string { return proto.CompactTextString(m) } func (*SendMsgReq) ProtoMessage() {} func (*SendMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{6} + return fileDescriptor_msg_21d1ceb5221a9786, []int{6} } func (m *SendMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgReq.Unmarshal(m, b) @@ -438,7 +438,7 @@ func (m *SendMsgResp) Reset() { *m = SendMsgResp{} } func (m *SendMsgResp) String() string { return proto.CompactTextString(m) } func (*SendMsgResp) ProtoMessage() {} func (*SendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{7} + return fileDescriptor_msg_21d1ceb5221a9786, []int{7} } func (m *SendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgResp.Unmarshal(m, b) @@ -506,7 +506,7 @@ func (m *ClearMsgReq) Reset() { *m = ClearMsgReq{} } func (m *ClearMsgReq) String() string { return proto.CompactTextString(m) } func (*ClearMsgReq) ProtoMessage() {} func (*ClearMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{8} + return fileDescriptor_msg_21d1ceb5221a9786, []int{8} } func (m *ClearMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgReq.Unmarshal(m, b) @@ -559,7 +559,7 @@ func (m *ClearMsgResp) Reset() { *m = ClearMsgResp{} } func (m *ClearMsgResp) String() string { return proto.CompactTextString(m) } func (*ClearMsgResp) ProtoMessage() {} func (*ClearMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{9} + return fileDescriptor_msg_21d1ceb5221a9786, []int{9} } func (m *ClearMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgResp.Unmarshal(m, b) @@ -608,7 +608,7 @@ func (m *SetMsgMinSeqReq) Reset() { *m = SetMsgMinSeqReq{} } func (m *SetMsgMinSeqReq) String() string { return proto.CompactTextString(m) } func (*SetMsgMinSeqReq) ProtoMessage() {} func (*SetMsgMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{10} + return fileDescriptor_msg_21d1ceb5221a9786, []int{10} } func (m *SetMsgMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqReq.Unmarshal(m, b) @@ -675,7 +675,7 @@ func (m *SetMsgMinSeqResp) Reset() { *m = SetMsgMinSeqResp{} } func (m *SetMsgMinSeqResp) String() string { return proto.CompactTextString(m) } func (*SetMsgMinSeqResp) ProtoMessage() {} func (*SetMsgMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{11} + return fileDescriptor_msg_21d1ceb5221a9786, []int{11} } func (m *SetMsgMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqResp.Unmarshal(m, b) @@ -721,7 +721,7 @@ func (m *SetSendMsgStatusReq) Reset() { *m = SetSendMsgStatusReq{} } func (m *SetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (*SetSendMsgStatusReq) ProtoMessage() {} func (*SetSendMsgStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{12} + return fileDescriptor_msg_21d1ceb5221a9786, []int{12} } func (m *SetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgStatusReq.Unmarshal(m, b) @@ -767,7 +767,7 @@ func (m *SetSendMsgStatusResp) Reset() { *m = SetSendMsgStatusResp{} } func (m *SetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (*SetSendMsgStatusResp) ProtoMessage() {} func (*SetSendMsgStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{13} + return fileDescriptor_msg_21d1ceb5221a9786, []int{13} } func (m *SetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgStatusResp.Unmarshal(m, b) @@ -812,7 +812,7 @@ func (m *GetSendMsgStatusReq) Reset() { *m = GetSendMsgStatusReq{} } func (m *GetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (*GetSendMsgStatusReq) ProtoMessage() {} func (*GetSendMsgStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{14} + return fileDescriptor_msg_21d1ceb5221a9786, []int{14} } func (m *GetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusReq.Unmarshal(m, b) @@ -852,7 +852,7 @@ func (m *GetSendMsgStatusResp) Reset() { *m = GetSendMsgStatusResp{} } func (m *GetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (*GetSendMsgStatusResp) ProtoMessage() {} func (*GetSendMsgStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{15} + return fileDescriptor_msg_21d1ceb5221a9786, []int{15} } func (m *GetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusResp.Unmarshal(m, b) @@ -907,7 +907,7 @@ func (m *DelSuperGroupMsgReq) Reset() { *m = DelSuperGroupMsgReq{} } func (m *DelSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (*DelSuperGroupMsgReq) ProtoMessage() {} func (*DelSuperGroupMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{16} + return fileDescriptor_msg_21d1ceb5221a9786, []int{16} } func (m *DelSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelSuperGroupMsgReq.Unmarshal(m, b) @@ -967,7 +967,7 @@ func (m *DelSuperGroupMsgResp) Reset() { *m = DelSuperGroupMsgResp{} } func (m *DelSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (*DelSuperGroupMsgResp) ProtoMessage() {} func (*DelSuperGroupMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{17} + return fileDescriptor_msg_21d1ceb5221a9786, []int{17} } func (m *DelSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelSuperGroupMsgResp.Unmarshal(m, b) @@ -1014,7 +1014,7 @@ func (m *GetSuperGroupMsgReq) Reset() { *m = GetSuperGroupMsgReq{} } func (m *GetSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupMsgReq) ProtoMessage() {} func (*GetSuperGroupMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{18} + return fileDescriptor_msg_21d1ceb5221a9786, []int{18} } func (m *GetSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupMsgReq.Unmarshal(m, b) @@ -1068,7 +1068,7 @@ func (m *GetSuperGroupMsgResp) Reset() { *m = GetSuperGroupMsgResp{} } func (m *GetSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupMsgResp) ProtoMessage() {} func (*GetSuperGroupMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{19} + return fileDescriptor_msg_21d1ceb5221a9786, []int{19} } func (m *GetSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupMsgResp.Unmarshal(m, b) @@ -1121,7 +1121,7 @@ func (m *GetWriteDiffMsgReq) Reset() { *m = GetWriteDiffMsgReq{} } func (m *GetWriteDiffMsgReq) String() string { return proto.CompactTextString(m) } func (*GetWriteDiffMsgReq) ProtoMessage() {} func (*GetWriteDiffMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{20} + return fileDescriptor_msg_21d1ceb5221a9786, []int{20} } func (m *GetWriteDiffMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetWriteDiffMsgReq.Unmarshal(m, b) @@ -1168,7 +1168,7 @@ func (m *GetWriteDiffMsgResp) Reset() { *m = GetWriteDiffMsgResp{} } func (m *GetWriteDiffMsgResp) String() string { return proto.CompactTextString(m) } func (*GetWriteDiffMsgResp) ProtoMessage() {} func (*GetWriteDiffMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{21} + return fileDescriptor_msg_21d1ceb5221a9786, []int{21} } func (m *GetWriteDiffMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetWriteDiffMsgResp.Unmarshal(m, b) @@ -1230,7 +1230,7 @@ func (m *ModifyMessageReactionExtensionsReq) Reset() { *m = ModifyMessag func (m *ModifyMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*ModifyMessageReactionExtensionsReq) ProtoMessage() {} func (*ModifyMessageReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{22} + return fileDescriptor_msg_21d1ceb5221a9786, []int{22} } func (m *ModifyMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyMessageReactionExtensionsReq.Unmarshal(m, b) @@ -1341,7 +1341,7 @@ func (m *ModifyMessageReactionExtensionsResp) Reset() { *m = ModifyMessa func (m *ModifyMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*ModifyMessageReactionExtensionsResp) ProtoMessage() {} func (*ModifyMessageReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{23} + return fileDescriptor_msg_21d1ceb5221a9786, []int{23} } func (m *ModifyMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyMessageReactionExtensionsResp.Unmarshal(m, b) @@ -1393,7 +1393,7 @@ type OperateMessageListReactionExtensionsReq struct { OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` OpUserID string `protobuf:"bytes,2,opt,name=opUserID" json:"opUserID,omitempty"` SourceID string `protobuf:"bytes,3,opt,name=sourceID" json:"sourceID,omitempty"` - SessionType string `protobuf:"bytes,4,opt,name=sessionType" json:"sessionType,omitempty"` + SessionType int32 `protobuf:"varint,4,opt,name=sessionType" json:"sessionType,omitempty"` MessageReactionKeyList []*OperateMessageListReactionExtensionsReq_MessageReactionKey `protobuf:"bytes,5,rep,name=messageReactionKeyList" json:"messageReactionKeyList,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` @@ -1406,7 +1406,7 @@ func (m *OperateMessageListReactionExtensionsReq) Reset() { func (m *OperateMessageListReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*OperateMessageListReactionExtensionsReq) ProtoMessage() {} func (*OperateMessageListReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{24} + return fileDescriptor_msg_21d1ceb5221a9786, []int{24} } func (m *OperateMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OperateMessageListReactionExtensionsReq.Unmarshal(m, b) @@ -1447,11 +1447,11 @@ func (m *OperateMessageListReactionExtensionsReq) GetSourceID() string { return "" } -func (m *OperateMessageListReactionExtensionsReq) GetSessionType() string { +func (m *OperateMessageListReactionExtensionsReq) GetSessionType() int32 { if m != nil { return m.SessionType } - return "" + return 0 } func (m *OperateMessageListReactionExtensionsReq) GetMessageReactionKeyList() []*OperateMessageListReactionExtensionsReq_MessageReactionKey { @@ -1478,7 +1478,7 @@ func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) String() st } func (*OperateMessageListReactionExtensionsReq_MessageReactionKey) ProtoMessage() {} func (*OperateMessageListReactionExtensionsReq_MessageReactionKey) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{24, 0} + return fileDescriptor_msg_21d1ceb5221a9786, []int{24, 0} } func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OperateMessageListReactionExtensionsReq_MessageReactionKey.Unmarshal(m, b) @@ -1535,7 +1535,7 @@ func (m *OperateMessageListReactionExtensionsResp) Reset() { func (m *OperateMessageListReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*OperateMessageListReactionExtensionsResp) ProtoMessage() {} func (*OperateMessageListReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{25} + return fileDescriptor_msg_21d1ceb5221a9786, []int{25} } func (m *OperateMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OperateMessageListReactionExtensionsResp.Unmarshal(m, b) @@ -2150,10 +2150,10 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ Metadata: "msg/msg.proto", } -func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_c6fbff1b04f5a192) } +func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_21d1ceb5221a9786) } -var fileDescriptor_msg_c6fbff1b04f5a192 = []byte{ - // 1363 bytes of a gzipped FileDescriptorProto +var fileDescriptor_msg_21d1ceb5221a9786 = []byte{ + // 1360 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x58, 0x4f, 0x6f, 0x1b, 0x45, 0x14, 0xd7, 0xda, 0x71, 0xfe, 0x3c, 0xa7, 0x4a, 0x98, 0xa6, 0x61, 0xbb, 0x8d, 0x84, 0x59, 0xfe, 0xd4, 0x82, 0xd6, 0x11, 0x01, 0x09, 0x44, 0x11, 0xb4, 0xa9, 0x83, 0x1b, 0x95, 0x25, 0xcd, 0x3a, @@ -2217,27 +2217,26 @@ var fileDescriptor_msg_c6fbff1b04f5a192 = []byte{ 0x50, 0x66, 0xbd, 0x56, 0x0b, 0x19, 0x53, 0xba, 0xcc, 0xad, 0x1c, 0x58, 0x62, 0x25, 0xd1, 0xf5, 0xa8, 0x13, 0xc8, 0x67, 0x00, 0x27, 0x8e, 0xd7, 0xc1, 0xb6, 0x98, 0xbe, 0x30, 0xc3, 0x74, 0x25, 0xde, 0x7c, 0x51, 0x84, 0x9b, 0xb2, 0xa3, 0x44, 0x6b, 0xdc, 0xc6, 0xbe, 0xc2, 0x81, 0x9b, 0xd8, - 0xd1, 0xa8, 0x87, 0xb1, 0x98, 0x3a, 0x8c, 0x39, 0x07, 0x6e, 0x25, 0x79, 0xe0, 0xce, 0x61, 0xb3, - 0x9b, 0x2c, 0xfc, 0x43, 0x1c, 0x28, 0x27, 0xee, 0x0b, 0x71, 0xe2, 0x66, 0x64, 0x52, 0xb3, 0x32, - 0xa9, 0xec, 0x09, 0xe9, 0x8d, 0xbf, 0xf9, 0xdb, 0x22, 0x33, 0x94, 0x3e, 0x86, 0x5a, 0xf6, 0x18, - 0xe6, 0x0b, 0xb9, 0x30, 0x49, 0xc8, 0xe4, 0x70, 0xd2, 0x27, 0x45, 0x2a, 0xe2, 0xa5, 0x42, 0xcd, - 0x9f, 0x69, 0xbe, 0xd0, 0xa0, 0x3a, 0x5b, 0x49, 0xfe, 0x7f, 0xca, 0xdd, 0xf9, 0x1d, 0x80, 0x3f, - 0xe5, 0xc9, 0x63, 0x58, 0x4b, 0xbd, 0x81, 0xc8, 0x3b, 0x39, 0x49, 0xb2, 0xef, 0x2e, 0xe3, 0xdd, - 0x59, 0xc2, 0x58, 0x48, 0x02, 0xd8, 0x78, 0xd4, 0xeb, 0x74, 0xe2, 0x12, 0xee, 0x0e, 0x9a, 0x78, - 0x26, 0xf0, 0xbf, 0x97, 0x33, 0x3f, 0x2f, 0x90, 0xaf, 0xf5, 0xfe, 0xcc, 0xb1, 0x2c, 0x24, 0xb7, - 0x60, 0x29, 0xee, 0xef, 0xc8, 0x9a, 0xd0, 0xf5, 0xf8, 0xad, 0x65, 0xac, 0x27, 0x1d, 0x2c, 0x24, - 0x87, 0x00, 0x75, 0xec, 0x58, 0xcc, 0x95, 0xf7, 0x43, 0xce, 0x42, 0xe3, 0x61, 0x9e, 0xe1, 0xcd, - 0x29, 0x11, 0x2c, 0x24, 0x0d, 0x58, 0x4f, 0x77, 0x5e, 0x44, 0x17, 0x0b, 0xe7, 0xf4, 0x85, 0xc6, - 0xf5, 0x09, 0x23, 0x2c, 0x24, 0xdb, 0xb0, 0x3c, 0x7c, 0xa4, 0x10, 0x89, 0x5c, 0x79, 0x18, 0x19, - 0xaf, 0xa5, 0x3c, 0x2c, 0x24, 0x77, 0x60, 0x55, 0xed, 0xfb, 0xc9, 0x46, 0x4c, 0x37, 0xf1, 0x4a, - 0x31, 0xae, 0xe5, 0x78, 0x25, 0xec, 0x74, 0x77, 0x1e, 0xc3, 0xce, 0x79, 0x05, 0xc4, 0xb0, 0x73, - 0xdb, 0xf9, 0x06, 0xac, 0x37, 0xf2, 0x13, 0x35, 0x26, 0x26, 0x6a, 0xbc, 0x24, 0x51, 0x4e, 0x21, - 0x73, 0xfa, 0x51, 0x25, 0x51, 0xa6, 0x90, 0x75, 0xa1, 0x72, 0xb5, 0x25, 0x23, 0xaf, 0x0f, 0xa3, - 0x53, 0x2d, 0x9f, 0xa1, 0xe7, 0x0f, 0xb0, 0x90, 0x9c, 0xc1, 0x16, 0x2f, 0xda, 0xa4, 0x1b, 0x8c, - 0xdc, 0x9c, 0xb1, 0x6f, 0x31, 0xaa, 0xb3, 0x05, 0xb2, 0x90, 0xfc, 0x0c, 0x95, 0xc6, 0x68, 0xc9, - 0xfc, 0xcf, 0x0f, 0xb9, 0x75, 0x91, 0x8f, 0xb7, 0x71, 0xfb, 0x02, 0xd1, 0x92, 0xf3, 0xbd, 0x76, - 0xfb, 0x52, 0x39, 0x3f, 0x87, 0x37, 0xea, 0xd8, 0xc1, 0x11, 0xba, 0x4b, 0xa6, 0xbc, 0x7b, 0xe3, - 0xfb, 0xeb, 0x07, 0x21, 0xfa, 0xc7, 0xfb, 0x96, 0xf2, 0x77, 0x65, 0x97, 0xb9, 0x77, 0xba, 0xcc, - 0x7d, 0xb2, 0x28, 0xcc, 0x0f, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x60, 0xb9, 0x8a, 0xda, 0x17, - 0x15, 0x00, 0x00, + 0xd1, 0xa8, 0x87, 0xb1, 0x98, 0x3a, 0x8c, 0xd3, 0x0f, 0xdc, 0x39, 0x6c, 0x76, 0x93, 0x85, 0x7f, + 0x88, 0x03, 0xe5, 0xc4, 0x7d, 0x21, 0x4e, 0xdc, 0x8c, 0x4c, 0x6a, 0x56, 0x26, 0x95, 0x3d, 0x21, + 0xbd, 0xf1, 0x37, 0x7f, 0x5b, 0x64, 0x86, 0xd2, 0xc7, 0x50, 0xcb, 0x1e, 0xc3, 0x7c, 0x21, 0x17, + 0x26, 0x09, 0x99, 0x1c, 0x4e, 0xfa, 0xa4, 0x48, 0x45, 0xbc, 0x54, 0xa8, 0xf9, 0x33, 0xcd, 0x17, + 0x1a, 0x54, 0x67, 0x2b, 0xc9, 0xff, 0x4f, 0xb9, 0x3b, 0xbf, 0x03, 0xf0, 0xa7, 0x3c, 0x79, 0x0c, + 0x6b, 0xa9, 0x37, 0x10, 0x79, 0x27, 0x27, 0x49, 0xf6, 0xdd, 0x65, 0xbc, 0x3b, 0x4b, 0x18, 0x0b, + 0x49, 0x00, 0x1b, 0x8f, 0x7a, 0x9d, 0x4e, 0x5c, 0xc2, 0xdd, 0x41, 0x13, 0xcf, 0x04, 0xfe, 0xf7, + 0x72, 0xe6, 0xe7, 0x05, 0xf2, 0xb5, 0xde, 0x9f, 0x39, 0x96, 0x85, 0xe4, 0x16, 0x2c, 0xc5, 0xfd, + 0x1d, 0x59, 0x13, 0xba, 0x1e, 0xbf, 0xb5, 0x8c, 0xf5, 0xa4, 0x83, 0x85, 0xe4, 0x10, 0xa0, 0x8e, + 0x1d, 0x8b, 0xb9, 0xf2, 0x7e, 0xc8, 0x59, 0x68, 0x3c, 0xcc, 0x33, 0xbc, 0x39, 0x25, 0x82, 0x85, + 0xa4, 0x01, 0xeb, 0xe9, 0xce, 0x8b, 0xe8, 0x62, 0xe1, 0x9c, 0xbe, 0xd0, 0xb8, 0x3e, 0x61, 0x84, + 0x85, 0x64, 0x1b, 0x96, 0x87, 0x8f, 0x14, 0x22, 0x91, 0x2b, 0x0f, 0x23, 0xe3, 0xb5, 0x94, 0x87, + 0x85, 0xe4, 0x0e, 0xac, 0xaa, 0x7d, 0x3f, 0xd9, 0x88, 0xe9, 0x26, 0x5e, 0x29, 0xc6, 0xb5, 0x1c, + 0xaf, 0x84, 0x9d, 0xee, 0xce, 0x63, 0xd8, 0x39, 0xaf, 0x80, 0x18, 0x76, 0x6e, 0x3b, 0xdf, 0x80, + 0xf5, 0x46, 0x7e, 0xa2, 0xc6, 0xc4, 0x44, 0x8d, 0x97, 0x24, 0xca, 0x29, 0x64, 0x4e, 0x3f, 0xaa, + 0x24, 0xca, 0x14, 0xb2, 0x2e, 0x54, 0xae, 0xb6, 0x64, 0xe4, 0xf5, 0x61, 0x74, 0xaa, 0xe5, 0x33, + 0xf4, 0xfc, 0x01, 0x16, 0x92, 0x33, 0xd8, 0xe2, 0x45, 0x9b, 0x74, 0x83, 0x91, 0x9b, 0x33, 0xf6, + 0x2d, 0x46, 0x75, 0xb6, 0x40, 0x16, 0x92, 0x9f, 0xa1, 0xd2, 0x18, 0x2d, 0x99, 0xff, 0xf9, 0x21, + 0xb7, 0x2e, 0xf2, 0xf1, 0x36, 0x6e, 0x5f, 0x20, 0x5a, 0x72, 0xbe, 0xd7, 0x6e, 0x5f, 0x2a, 0xe7, + 0xe7, 0xf0, 0x46, 0x1d, 0x3b, 0x38, 0x42, 0x77, 0xc9, 0x94, 0x77, 0x6f, 0x7c, 0x7f, 0xfd, 0x20, + 0x44, 0xff, 0x78, 0xdf, 0x52, 0xfe, 0xae, 0xec, 0x32, 0xf7, 0x4e, 0x97, 0xb9, 0x4f, 0x16, 0x85, + 0xf9, 0xe1, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x7b, 0xb1, 0xa4, 0x31, 0x17, 0x15, 0x00, 0x00, } diff --git a/pkg/proto/msg/msg.proto b/pkg/proto/msg/msg.proto index bd7899019..6324d2c6d 100644 --- a/pkg/proto/msg/msg.proto +++ b/pkg/proto/msg/msg.proto @@ -179,7 +179,7 @@ message OperateMessageListReactionExtensionsReq { string operationID = 1; string opUserID = 2; string sourceID = 3; - string sessionType = 4; + int32 sessionType = 4; message MessageReactionKey { string clientMsgID = 1; int64 msgFirstModifyTime = 2; @@ -191,8 +191,14 @@ message OperateMessageListReactionExtensionsReq { message OperateMessageListReactionExtensionsResp { int32 errCode = 1; string errMsg = 2; - repeated server_api_params.ExtendMsg successList = 3; - repeated server_api_params.ExtendMsg failedList = 4; + repeated ExtendMsgResp successList = 3; + repeated ExtendMsgResp failedList = 4; +} + +message ExtendMsgResp { + server_api_params.ExtendMsg extendMsg = 1; + int32 errCode = 2; + string errMsg = 3; } service msg { From b77bbe6a66d8fbf5138d23fc9e3101d5f39e63eb Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 9 Dec 2022 16:55:01 +0800 Subject: [PATCH 077/176] modify msg --- pkg/proto/msg/msg.pb.go | 323 +++++++++++++++++++++++----------------- pkg/proto/msg/msg.proto | 4 +- 2 files changed, 192 insertions(+), 135 deletions(-) diff --git a/pkg/proto/msg/msg.pb.go b/pkg/proto/msg/msg.pb.go index 0ea6d4f62..1cede638a 100644 --- a/pkg/proto/msg/msg.pb.go +++ b/pkg/proto/msg/msg.pb.go @@ -38,7 +38,7 @@ func (m *MsgDataToMQ) Reset() { *m = MsgDataToMQ{} } func (m *MsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMQ) ProtoMessage() {} func (*MsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{0} + return fileDescriptor_msg_46916c59bfcbd84e, []int{0} } func (m *MsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMQ.Unmarshal(m, b) @@ -91,7 +91,7 @@ func (m *MsgDataToDB) Reset() { *m = MsgDataToDB{} } func (m *MsgDataToDB) String() string { return proto.CompactTextString(m) } func (*MsgDataToDB) ProtoMessage() {} func (*MsgDataToDB) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{1} + return fileDescriptor_msg_46916c59bfcbd84e, []int{1} } func (m *MsgDataToDB) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToDB.Unmarshal(m, b) @@ -138,7 +138,7 @@ func (m *PushMsgDataToMQ) Reset() { *m = PushMsgDataToMQ{} } func (m *PushMsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*PushMsgDataToMQ) ProtoMessage() {} func (*PushMsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{2} + return fileDescriptor_msg_46916c59bfcbd84e, []int{2} } func (m *PushMsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PushMsgDataToMQ.Unmarshal(m, b) @@ -193,7 +193,7 @@ func (m *MsgDataToMongoByMQ) Reset() { *m = MsgDataToMongoByMQ{} } func (m *MsgDataToMongoByMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMongoByMQ) ProtoMessage() {} func (*MsgDataToMongoByMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{3} + return fileDescriptor_msg_46916c59bfcbd84e, []int{3} } func (m *MsgDataToMongoByMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMongoByMQ.Unmarshal(m, b) @@ -273,7 +273,7 @@ func (m *GetMaxAndMinSeqReq) Reset() { *m = GetMaxAndMinSeqReq{} } func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqReq) ProtoMessage() {} func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{4} + return fileDescriptor_msg_46916c59bfcbd84e, []int{4} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -321,7 +321,7 @@ func (m *GetMaxAndMinSeqResp) Reset() { *m = GetMaxAndMinSeqResp{} } func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqResp) ProtoMessage() {} func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{5} + return fileDescriptor_msg_46916c59bfcbd84e, []int{5} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -382,7 +382,7 @@ func (m *SendMsgReq) Reset() { *m = SendMsgReq{} } func (m *SendMsgReq) String() string { return proto.CompactTextString(m) } func (*SendMsgReq) ProtoMessage() {} func (*SendMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{6} + return fileDescriptor_msg_46916c59bfcbd84e, []int{6} } func (m *SendMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgReq.Unmarshal(m, b) @@ -438,7 +438,7 @@ func (m *SendMsgResp) Reset() { *m = SendMsgResp{} } func (m *SendMsgResp) String() string { return proto.CompactTextString(m) } func (*SendMsgResp) ProtoMessage() {} func (*SendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{7} + return fileDescriptor_msg_46916c59bfcbd84e, []int{7} } func (m *SendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgResp.Unmarshal(m, b) @@ -506,7 +506,7 @@ func (m *ClearMsgReq) Reset() { *m = ClearMsgReq{} } func (m *ClearMsgReq) String() string { return proto.CompactTextString(m) } func (*ClearMsgReq) ProtoMessage() {} func (*ClearMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{8} + return fileDescriptor_msg_46916c59bfcbd84e, []int{8} } func (m *ClearMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgReq.Unmarshal(m, b) @@ -559,7 +559,7 @@ func (m *ClearMsgResp) Reset() { *m = ClearMsgResp{} } func (m *ClearMsgResp) String() string { return proto.CompactTextString(m) } func (*ClearMsgResp) ProtoMessage() {} func (*ClearMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{9} + return fileDescriptor_msg_46916c59bfcbd84e, []int{9} } func (m *ClearMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgResp.Unmarshal(m, b) @@ -608,7 +608,7 @@ func (m *SetMsgMinSeqReq) Reset() { *m = SetMsgMinSeqReq{} } func (m *SetMsgMinSeqReq) String() string { return proto.CompactTextString(m) } func (*SetMsgMinSeqReq) ProtoMessage() {} func (*SetMsgMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{10} + return fileDescriptor_msg_46916c59bfcbd84e, []int{10} } func (m *SetMsgMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqReq.Unmarshal(m, b) @@ -675,7 +675,7 @@ func (m *SetMsgMinSeqResp) Reset() { *m = SetMsgMinSeqResp{} } func (m *SetMsgMinSeqResp) String() string { return proto.CompactTextString(m) } func (*SetMsgMinSeqResp) ProtoMessage() {} func (*SetMsgMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{11} + return fileDescriptor_msg_46916c59bfcbd84e, []int{11} } func (m *SetMsgMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqResp.Unmarshal(m, b) @@ -721,7 +721,7 @@ func (m *SetSendMsgStatusReq) Reset() { *m = SetSendMsgStatusReq{} } func (m *SetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (*SetSendMsgStatusReq) ProtoMessage() {} func (*SetSendMsgStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{12} + return fileDescriptor_msg_46916c59bfcbd84e, []int{12} } func (m *SetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgStatusReq.Unmarshal(m, b) @@ -767,7 +767,7 @@ func (m *SetSendMsgStatusResp) Reset() { *m = SetSendMsgStatusResp{} } func (m *SetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (*SetSendMsgStatusResp) ProtoMessage() {} func (*SetSendMsgStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{13} + return fileDescriptor_msg_46916c59bfcbd84e, []int{13} } func (m *SetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgStatusResp.Unmarshal(m, b) @@ -812,7 +812,7 @@ func (m *GetSendMsgStatusReq) Reset() { *m = GetSendMsgStatusReq{} } func (m *GetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (*GetSendMsgStatusReq) ProtoMessage() {} func (*GetSendMsgStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{14} + return fileDescriptor_msg_46916c59bfcbd84e, []int{14} } func (m *GetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusReq.Unmarshal(m, b) @@ -852,7 +852,7 @@ func (m *GetSendMsgStatusResp) Reset() { *m = GetSendMsgStatusResp{} } func (m *GetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (*GetSendMsgStatusResp) ProtoMessage() {} func (*GetSendMsgStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{15} + return fileDescriptor_msg_46916c59bfcbd84e, []int{15} } func (m *GetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusResp.Unmarshal(m, b) @@ -907,7 +907,7 @@ func (m *DelSuperGroupMsgReq) Reset() { *m = DelSuperGroupMsgReq{} } func (m *DelSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (*DelSuperGroupMsgReq) ProtoMessage() {} func (*DelSuperGroupMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{16} + return fileDescriptor_msg_46916c59bfcbd84e, []int{16} } func (m *DelSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelSuperGroupMsgReq.Unmarshal(m, b) @@ -967,7 +967,7 @@ func (m *DelSuperGroupMsgResp) Reset() { *m = DelSuperGroupMsgResp{} } func (m *DelSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (*DelSuperGroupMsgResp) ProtoMessage() {} func (*DelSuperGroupMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{17} + return fileDescriptor_msg_46916c59bfcbd84e, []int{17} } func (m *DelSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelSuperGroupMsgResp.Unmarshal(m, b) @@ -1014,7 +1014,7 @@ func (m *GetSuperGroupMsgReq) Reset() { *m = GetSuperGroupMsgReq{} } func (m *GetSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupMsgReq) ProtoMessage() {} func (*GetSuperGroupMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{18} + return fileDescriptor_msg_46916c59bfcbd84e, []int{18} } func (m *GetSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupMsgReq.Unmarshal(m, b) @@ -1068,7 +1068,7 @@ func (m *GetSuperGroupMsgResp) Reset() { *m = GetSuperGroupMsgResp{} } func (m *GetSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupMsgResp) ProtoMessage() {} func (*GetSuperGroupMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{19} + return fileDescriptor_msg_46916c59bfcbd84e, []int{19} } func (m *GetSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupMsgResp.Unmarshal(m, b) @@ -1121,7 +1121,7 @@ func (m *GetWriteDiffMsgReq) Reset() { *m = GetWriteDiffMsgReq{} } func (m *GetWriteDiffMsgReq) String() string { return proto.CompactTextString(m) } func (*GetWriteDiffMsgReq) ProtoMessage() {} func (*GetWriteDiffMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{20} + return fileDescriptor_msg_46916c59bfcbd84e, []int{20} } func (m *GetWriteDiffMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetWriteDiffMsgReq.Unmarshal(m, b) @@ -1168,7 +1168,7 @@ func (m *GetWriteDiffMsgResp) Reset() { *m = GetWriteDiffMsgResp{} } func (m *GetWriteDiffMsgResp) String() string { return proto.CompactTextString(m) } func (*GetWriteDiffMsgResp) ProtoMessage() {} func (*GetWriteDiffMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{21} + return fileDescriptor_msg_46916c59bfcbd84e, []int{21} } func (m *GetWriteDiffMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetWriteDiffMsgResp.Unmarshal(m, b) @@ -1230,7 +1230,7 @@ func (m *ModifyMessageReactionExtensionsReq) Reset() { *m = ModifyMessag func (m *ModifyMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*ModifyMessageReactionExtensionsReq) ProtoMessage() {} func (*ModifyMessageReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{22} + return fileDescriptor_msg_46916c59bfcbd84e, []int{22} } func (m *ModifyMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyMessageReactionExtensionsReq.Unmarshal(m, b) @@ -1328,20 +1328,20 @@ func (m *ModifyMessageReactionExtensionsReq) GetMsgFirstModifyTime() int64 { } type ModifyMessageReactionExtensionsResp struct { - ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` - ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` - SuccessList []*sdk_ws.ExtendMsg `protobuf:"bytes,3,rep,name=successList" json:"successList,omitempty"` - FailedList []*sdk_ws.ExtendMsg `protobuf:"bytes,4,rep,name=failedList" json:"failedList,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` + SuccessList []*ExtendMsgResp `protobuf:"bytes,3,rep,name=successList" json:"successList,omitempty"` + FailedList []*ExtendMsgResp `protobuf:"bytes,4,rep,name=failedList" json:"failedList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *ModifyMessageReactionExtensionsResp) Reset() { *m = ModifyMessageReactionExtensionsResp{} } func (m *ModifyMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*ModifyMessageReactionExtensionsResp) ProtoMessage() {} func (*ModifyMessageReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{23} + return fileDescriptor_msg_46916c59bfcbd84e, []int{23} } func (m *ModifyMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyMessageReactionExtensionsResp.Unmarshal(m, b) @@ -1375,14 +1375,14 @@ func (m *ModifyMessageReactionExtensionsResp) GetErrMsg() string { return "" } -func (m *ModifyMessageReactionExtensionsResp) GetSuccessList() []*sdk_ws.ExtendMsg { +func (m *ModifyMessageReactionExtensionsResp) GetSuccessList() []*ExtendMsgResp { if m != nil { return m.SuccessList } return nil } -func (m *ModifyMessageReactionExtensionsResp) GetFailedList() []*sdk_ws.ExtendMsg { +func (m *ModifyMessageReactionExtensionsResp) GetFailedList() []*ExtendMsgResp { if m != nil { return m.FailedList } @@ -1406,7 +1406,7 @@ func (m *OperateMessageListReactionExtensionsReq) Reset() { func (m *OperateMessageListReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*OperateMessageListReactionExtensionsReq) ProtoMessage() {} func (*OperateMessageListReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{24} + return fileDescriptor_msg_46916c59bfcbd84e, []int{24} } func (m *OperateMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OperateMessageListReactionExtensionsReq.Unmarshal(m, b) @@ -1478,7 +1478,7 @@ func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) String() st } func (*OperateMessageListReactionExtensionsReq_MessageReactionKey) ProtoMessage() {} func (*OperateMessageListReactionExtensionsReq_MessageReactionKey) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{24, 0} + return fileDescriptor_msg_46916c59bfcbd84e, []int{24, 0} } func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OperateMessageListReactionExtensionsReq_MessageReactionKey.Unmarshal(m, b) @@ -1520,13 +1520,13 @@ func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) GetReaction } type OperateMessageListReactionExtensionsResp struct { - ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` - ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` - SuccessList []*sdk_ws.ExtendMsg `protobuf:"bytes,3,rep,name=successList" json:"successList,omitempty"` - FailedList []*sdk_ws.ExtendMsg `protobuf:"bytes,4,rep,name=failedList" json:"failedList,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` + SuccessList []*ExtendMsgResp `protobuf:"bytes,3,rep,name=successList" json:"successList,omitempty"` + FailedList []*ExtendMsgResp `protobuf:"bytes,4,rep,name=failedList" json:"failedList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *OperateMessageListReactionExtensionsResp) Reset() { @@ -1535,7 +1535,7 @@ func (m *OperateMessageListReactionExtensionsResp) Reset() { func (m *OperateMessageListReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*OperateMessageListReactionExtensionsResp) ProtoMessage() {} func (*OperateMessageListReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{25} + return fileDescriptor_msg_46916c59bfcbd84e, []int{25} } func (m *OperateMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OperateMessageListReactionExtensionsResp.Unmarshal(m, b) @@ -1569,20 +1569,74 @@ func (m *OperateMessageListReactionExtensionsResp) GetErrMsg() string { return "" } -func (m *OperateMessageListReactionExtensionsResp) GetSuccessList() []*sdk_ws.ExtendMsg { +func (m *OperateMessageListReactionExtensionsResp) GetSuccessList() []*ExtendMsgResp { if m != nil { return m.SuccessList } return nil } -func (m *OperateMessageListReactionExtensionsResp) GetFailedList() []*sdk_ws.ExtendMsg { +func (m *OperateMessageListReactionExtensionsResp) GetFailedList() []*ExtendMsgResp { if m != nil { return m.FailedList } return nil } +type ExtendMsgResp struct { + ExtendMsg *sdk_ws.ExtendMsg `protobuf:"bytes,1,opt,name=extendMsg" json:"extendMsg,omitempty"` + ErrCode int32 `protobuf:"varint,2,opt,name=errCode" json:"errCode,omitempty"` + ErrMsg string `protobuf:"bytes,3,opt,name=errMsg" json:"errMsg,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ExtendMsgResp) Reset() { *m = ExtendMsgResp{} } +func (m *ExtendMsgResp) String() string { return proto.CompactTextString(m) } +func (*ExtendMsgResp) ProtoMessage() {} +func (*ExtendMsgResp) Descriptor() ([]byte, []int) { + return fileDescriptor_msg_46916c59bfcbd84e, []int{26} +} +func (m *ExtendMsgResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ExtendMsgResp.Unmarshal(m, b) +} +func (m *ExtendMsgResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ExtendMsgResp.Marshal(b, m, deterministic) +} +func (dst *ExtendMsgResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_ExtendMsgResp.Merge(dst, src) +} +func (m *ExtendMsgResp) XXX_Size() int { + return xxx_messageInfo_ExtendMsgResp.Size(m) +} +func (m *ExtendMsgResp) XXX_DiscardUnknown() { + xxx_messageInfo_ExtendMsgResp.DiscardUnknown(m) +} + +var xxx_messageInfo_ExtendMsgResp proto.InternalMessageInfo + +func (m *ExtendMsgResp) GetExtendMsg() *sdk_ws.ExtendMsg { + if m != nil { + return m.ExtendMsg + } + return nil +} + +func (m *ExtendMsgResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode + } + return 0 +} + +func (m *ExtendMsgResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg + } + return "" +} + func init() { proto.RegisterType((*MsgDataToMQ)(nil), "msg.MsgDataToMQ") proto.RegisterType((*MsgDataToDB)(nil), "msg.MsgDataToDB") @@ -1612,6 +1666,7 @@ func init() { proto.RegisterType((*OperateMessageListReactionExtensionsReq)(nil), "msg.OperateMessageListReactionExtensionsReq") proto.RegisterType((*OperateMessageListReactionExtensionsReq_MessageReactionKey)(nil), "msg.OperateMessageListReactionExtensionsReq.MessageReactionKey") proto.RegisterType((*OperateMessageListReactionExtensionsResp)(nil), "msg.OperateMessageListReactionExtensionsResp") + proto.RegisterType((*ExtendMsgResp)(nil), "msg.ExtendMsgResp") } // Reference imports to suppress errors if they are not otherwise used. @@ -2150,93 +2205,95 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ Metadata: "msg/msg.proto", } -func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_21d1ceb5221a9786) } +func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_46916c59bfcbd84e) } -var fileDescriptor_msg_21d1ceb5221a9786 = []byte{ - // 1360 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x58, 0x4f, 0x6f, 0x1b, 0x45, - 0x14, 0xd7, 0xda, 0x71, 0xfe, 0x3c, 0xa7, 0x4a, 0x98, 0xa6, 0x61, 0xbb, 0x8d, 0x84, 0x59, 0xfe, - 0xd4, 0x82, 0xd6, 0x11, 0x01, 0x09, 0x44, 0x11, 0xb4, 0xa9, 0x83, 0x1b, 0x95, 0x25, 0xcd, 0x3a, - 0x80, 0xc4, 0x25, 0xdd, 0xda, 0x2f, 0xdb, 0x55, 0xec, 0xdd, 0xcd, 0xcc, 0xba, 0xb1, 0x41, 0x94, - 0x13, 0x47, 0x0e, 0xdc, 0xe0, 0xc4, 0x8d, 0xef, 0xc0, 0x07, 0xe1, 0xd2, 0x4f, 0x83, 0x66, 0x66, - 0x6d, 0xcf, 0xfe, 0x71, 0xed, 0xb8, 0x28, 0x12, 0x37, 0xbf, 0x37, 0x6f, 0xde, 0xfc, 0x7e, 0x6f, - 0x7e, 0xb3, 0xf3, 0xc6, 0x70, 0xa5, 0xcb, 0xdc, 0xed, 0x2e, 0x73, 0x6b, 0x21, 0x0d, 0xa2, 0x80, - 0x14, 0xbb, 0xcc, 0x35, 0xaa, 0x07, 0x21, 0xfa, 0xb7, 0xf7, 0xad, 0xdb, 0x4d, 0xa4, 0xcf, 0x90, - 0x6e, 0x87, 0xa7, 0xee, 0xb6, 0x18, 0xde, 0x66, 0xed, 0xd3, 0xe3, 0x73, 0xb6, 0x7d, 0xce, 0x64, - 0xb8, 0x51, 0x9b, 0x1a, 0x49, 0x9d, 0x30, 0x44, 0x1a, 0xc7, 0x9b, 0x3f, 0x42, 0xd9, 0x62, 0x6e, - 0xdd, 0x89, 0x9c, 0xa3, 0xc0, 0x3a, 0x24, 0x1b, 0x50, 0x8a, 0x82, 0x53, 0xf4, 0x75, 0xad, 0xa2, - 0x55, 0x57, 0x6c, 0x69, 0x90, 0x0a, 0x94, 0x83, 0x10, 0xa9, 0x13, 0x79, 0x81, 0xbf, 0x5f, 0xd7, - 0x0b, 0x62, 0x4c, 0x75, 0x91, 0x8f, 0x60, 0xa9, 0x2b, 0xd3, 0xe8, 0xc5, 0x8a, 0x56, 0x2d, 0xef, - 0x18, 0x35, 0x26, 0x00, 0x1c, 0x3b, 0xa1, 0x77, 0x1c, 0x3a, 0xd4, 0xe9, 0xb2, 0x5a, 0xbc, 0x90, - 0x3d, 0x0c, 0x35, 0x51, 0x59, 0xbc, 0xbe, 0xab, 0x26, 0xd1, 0x66, 0x4e, 0x32, 0x1d, 0x9c, 0xf9, - 0xab, 0x06, 0x6b, 0x8f, 0x7a, 0xec, 0xa9, 0x4a, 0xb4, 0x02, 0xe5, 0x03, 0x65, 0x96, 0xa4, 0xab, - 0xba, 0x54, 0x34, 0x85, 0xd9, 0xd1, 0x98, 0xb0, 0x1a, 0xf6, 0xd8, 0xd3, 0xa3, 0xe0, 0x1b, 0x86, - 0x74, 0xbf, 0x2e, 0xaa, 0xb1, 0x62, 0x27, 0x7c, 0xe6, 0x5f, 0x1a, 0x90, 0x31, 0x96, 0xc0, 0x77, - 0x83, 0xdd, 0x81, 0x75, 0x48, 0x74, 0x58, 0xea, 0x38, 0x2c, 0x6a, 0xe2, 0x99, 0x80, 0xb3, 0x60, - 0x0f, 0x4d, 0xf2, 0x36, 0x5c, 0x71, 0x5c, 0x97, 0xa2, 0x9b, 0x24, 0x99, 0x74, 0x92, 0x1d, 0x28, - 0x77, 0x91, 0x31, 0xc7, 0xc5, 0xaf, 0x3c, 0x16, 0xe9, 0xc5, 0x4a, 0xb1, 0x5a, 0xde, 0x59, 0xaf, - 0x71, 0x29, 0x29, 0xcc, 0x6d, 0x35, 0x88, 0x6c, 0xc1, 0x4a, 0x44, 0x3d, 0xd7, 0x15, 0x58, 0x17, - 0x44, 0xd6, 0xb1, 0xc3, 0xfc, 0x1a, 0x48, 0x03, 0x23, 0xcb, 0xe9, 0xdf, 0xf3, 0xdb, 0x96, 0xe7, - 0x37, 0xf1, 0xcc, 0xc6, 0x33, 0xb2, 0x09, 0x8b, 0x31, 0x39, 0x59, 0xb5, 0xd8, 0x4a, 0x97, 0xb4, - 0x90, 0x29, 0xa9, 0x79, 0x0e, 0x57, 0x33, 0xf9, 0x58, 0xc8, 0x89, 0xef, 0x51, 0x7a, 0x3f, 0x68, - 0xa3, 0xc8, 0x58, 0xb2, 0x87, 0x26, 0x5f, 0x6a, 0x8f, 0x52, 0x8b, 0xb9, 0x71, 0xb6, 0xd8, 0xe2, - 0x7e, 0xcb, 0xe9, 0xf3, 0x4a, 0xf1, 0xfa, 0x5e, 0xb1, 0x63, 0x4b, 0xf8, 0x45, 0x5e, 0xc1, 0x85, - 0xfb, 0x85, 0x65, 0xfe, 0x00, 0xd0, 0x44, 0xbf, 0x6d, 0x31, 0x97, 0x13, 0xb8, 0x5c, 0x91, 0xff, - 0xa9, 0x41, 0x79, 0xb4, 0xb8, 0x64, 0x8b, 0x49, 0xb6, 0x38, 0x66, 0x8b, 0x09, 0xb6, 0xd2, 0xe2, - 0xc8, 0xe4, 0x3a, 0x16, 0x73, 0x47, 0xdb, 0xa4, 0xba, 0x78, 0x44, 0xab, 0xe3, 0xa1, 0x1f, 0xc9, - 0x88, 0x92, 0x8c, 0x50, 0x5c, 0xc4, 0x80, 0x65, 0x86, 0x7e, 0xfb, 0xc8, 0xeb, 0xa2, 0xbe, 0x58, - 0xd1, 0xaa, 0x45, 0x7b, 0x64, 0x9b, 0x2d, 0x28, 0xdf, 0xef, 0xa0, 0x43, 0xe3, 0xf2, 0x6c, 0xc2, - 0x62, 0x2f, 0xb1, 0xbf, 0xd2, 0xe2, 0x29, 0x82, 0x30, 0xde, 0x79, 0x09, 0x70, 0x64, 0xa7, 0x8b, - 0x57, 0xcc, 0x1e, 0xc2, 0xbb, 0xb0, 0x3a, 0x5e, 0x64, 0x9e, 0x32, 0x98, 0x7f, 0x68, 0xb0, 0xd6, - 0x44, 0xce, 0x27, 0xa1, 0xc5, 0x5c, 0xac, 0x3a, 0x2c, 0xb9, 0x34, 0xe8, 0x85, 0x23, 0xa8, 0x43, - 0x93, 0xcf, 0xe8, 0x4a, 0x89, 0xc4, 0xd2, 0x91, 0x56, 0x9a, 0xc1, 0x42, 0x76, 0xfb, 0x55, 0xfe, - 0xa5, 0x24, 0x7f, 0xb3, 0x0e, 0xeb, 0x49, 0x68, 0x73, 0x31, 0x3c, 0x80, 0xab, 0x4d, 0x8c, 0x62, - 0xb1, 0x34, 0x23, 0x27, 0xea, 0x31, 0x3b, 0x0b, 0x4d, 0xcb, 0x42, 0xdb, 0x84, 0x45, 0x26, 0xc2, - 0x45, 0xc2, 0x92, 0x1d, 0x5b, 0xe6, 0x03, 0xd8, 0xc8, 0x26, 0x9c, 0x0b, 0xda, 0xc7, 0xe2, 0xe8, - 0x5e, 0x1c, 0x9a, 0xf9, 0x18, 0x36, 0x1a, 0xff, 0x09, 0x04, 0x85, 0x64, 0x31, 0x41, 0xf2, 0x17, - 0x0d, 0xae, 0xd6, 0xb1, 0xd3, 0xec, 0x85, 0x48, 0x1b, 0x7c, 0x97, 0x63, 0x1d, 0xab, 0xfb, 0xa5, - 0xa5, 0xf4, 0x3a, 0xd6, 0x4d, 0x61, 0x92, 0x6e, 0x8a, 0x49, 0xdd, 0x4c, 0xd5, 0x07, 0x2f, 0x76, - 0x16, 0xc6, 0x5c, 0xc5, 0x6e, 0xc9, 0x62, 0xa7, 0x09, 0x4d, 0xd7, 0xc1, 0x3a, 0x14, 0xb9, 0xb2, - 0x0b, 0x42, 0xd9, 0xfc, 0xe7, 0x64, 0x42, 0xe6, 0x73, 0xb9, 0x31, 0xaf, 0x0e, 0x77, 0xce, 0xef, - 0xe2, 0x03, 0x71, 0xb9, 0x7c, 0x47, 0xbd, 0x08, 0xeb, 0xde, 0xc9, 0xc9, 0xfc, 0x1c, 0xcd, 0x9f, - 0x44, 0xb9, 0x92, 0x99, 0x2e, 0x91, 0xc8, 0x6f, 0x25, 0x30, 0xad, 0xa0, 0xed, 0x9d, 0x0c, 0x2c, - 0x79, 0xb3, 0xda, 0xe8, 0xb4, 0x38, 0xd8, 0xbd, 0x7e, 0x84, 0x3e, 0xf3, 0x02, 0x7f, 0xc6, 0x53, - 0xcc, 0xbf, 0xd1, 0x41, 0x8f, 0xb6, 0x70, 0xfc, 0x81, 0x1d, 0xda, 0x09, 0x31, 0x17, 0xb3, 0x1f, - 0x5f, 0x86, 0x8c, 0x2f, 0x74, 0x34, 0x08, 0x51, 0x48, 0xb3, 0x64, 0xab, 0x2e, 0xd2, 0x87, 0x6b, - 0x34, 0x0d, 0x4a, 0x34, 0x09, 0x25, 0xd1, 0x24, 0xec, 0xca, 0x26, 0x61, 0x2a, 0x87, 0x9a, 0x9d, - 0x97, 0x64, 0xcf, 0x8f, 0xe8, 0xc0, 0xce, 0x5f, 0x20, 0x7d, 0x33, 0x2d, 0x66, 0x6f, 0xa6, 0x5b, - 0x50, 0xc0, 0xbe, 0xbe, 0x24, 0xea, 0xbd, 0x55, 0x73, 0x83, 0xc0, 0xed, 0xa0, 0x6c, 0x4e, 0x9f, - 0xf4, 0x4e, 0x6a, 0xcd, 0x88, 0x7a, 0xbe, 0xfb, 0xad, 0xd3, 0xe9, 0xa1, 0x5d, 0xc0, 0x3e, 0xb9, - 0x0b, 0xab, 0x4e, 0x14, 0x39, 0xad, 0xa7, 0xd8, 0xde, 0xf7, 0x4f, 0x02, 0x7d, 0x79, 0x86, 0x79, - 0x89, 0x19, 0x5c, 0x16, 0x1e, 0x13, 0x44, 0xf4, 0x95, 0x8a, 0x56, 0x5d, 0xb6, 0x87, 0x26, 0xd9, - 0x81, 0x0d, 0x8f, 0x71, 0xf8, 0xd4, 0x77, 0x3a, 0x63, 0xe2, 0x3a, 0x88, 0xb0, 0xdc, 0x31, 0x52, - 0x03, 0xd2, 0x65, 0xee, 0x97, 0x1e, 0x65, 0x91, 0xac, 0x9f, 0xb8, 0x61, 0xcb, 0xe2, 0x86, 0xcd, - 0x19, 0x31, 0x10, 0x8c, 0xc9, 0x45, 0xe4, 0xda, 0x3e, 0xc5, 0x41, 0xac, 0x0d, 0xfe, 0x93, 0x7c, - 0x00, 0xa5, 0x67, 0x9c, 0x44, 0xdc, 0x83, 0xde, 0xc8, 0x11, 0xe4, 0x43, 0x1c, 0x48, 0x9e, 0x32, - 0xf2, 0xd3, 0xc2, 0x27, 0x9a, 0xf9, 0x8f, 0x06, 0x6f, 0x4d, 0xdd, 0xcf, 0xb9, 0xce, 0xc8, 0xe7, - 0x50, 0x66, 0xbd, 0x56, 0x0b, 0x19, 0x53, 0xba, 0xcc, 0xad, 0x1c, 0x58, 0x62, 0x25, 0xd1, 0xf5, - 0xa8, 0x13, 0xc8, 0x67, 0x00, 0x27, 0x8e, 0xd7, 0xc1, 0xb6, 0x98, 0xbe, 0x30, 0xc3, 0x74, 0x25, - 0xde, 0x7c, 0x51, 0x84, 0x9b, 0xb2, 0xa3, 0x44, 0x6b, 0xdc, 0xc6, 0xbe, 0xc2, 0x81, 0x9b, 0xd8, - 0xd1, 0xa8, 0x87, 0xb1, 0x98, 0x3a, 0x8c, 0xd3, 0x0f, 0xdc, 0x39, 0x6c, 0x76, 0x93, 0x85, 0x7f, - 0x88, 0x03, 0xe5, 0xc4, 0x7d, 0x21, 0x4e, 0xdc, 0x8c, 0x4c, 0x6a, 0x56, 0x26, 0x95, 0x3d, 0x21, - 0xbd, 0xf1, 0x37, 0x7f, 0x5b, 0x64, 0x86, 0xd2, 0xc7, 0x50, 0xcb, 0x1e, 0xc3, 0x7c, 0x21, 0x17, - 0x26, 0x09, 0x99, 0x1c, 0x4e, 0xfa, 0xa4, 0x48, 0x45, 0xbc, 0x54, 0xa8, 0xf9, 0x33, 0xcd, 0x17, - 0x1a, 0x54, 0x67, 0x2b, 0xc9, 0xff, 0x4f, 0xb9, 0x3b, 0xbf, 0x03, 0xf0, 0xa7, 0x3c, 0x79, 0x0c, - 0x6b, 0xa9, 0x37, 0x10, 0x79, 0x27, 0x27, 0x49, 0xf6, 0xdd, 0x65, 0xbc, 0x3b, 0x4b, 0x18, 0x0b, - 0x49, 0x00, 0x1b, 0x8f, 0x7a, 0x9d, 0x4e, 0x5c, 0xc2, 0xdd, 0x41, 0x13, 0xcf, 0x04, 0xfe, 0xf7, - 0x72, 0xe6, 0xe7, 0x05, 0xf2, 0xb5, 0xde, 0x9f, 0x39, 0x96, 0x85, 0xe4, 0x16, 0x2c, 0xc5, 0xfd, - 0x1d, 0x59, 0x13, 0xba, 0x1e, 0xbf, 0xb5, 0x8c, 0xf5, 0xa4, 0x83, 0x85, 0xe4, 0x10, 0xa0, 0x8e, - 0x1d, 0x8b, 0xb9, 0xf2, 0x7e, 0xc8, 0x59, 0x68, 0x3c, 0xcc, 0x33, 0xbc, 0x39, 0x25, 0x82, 0x85, - 0xa4, 0x01, 0xeb, 0xe9, 0xce, 0x8b, 0xe8, 0x62, 0xe1, 0x9c, 0xbe, 0xd0, 0xb8, 0x3e, 0x61, 0x84, - 0x85, 0x64, 0x1b, 0x96, 0x87, 0x8f, 0x14, 0x22, 0x91, 0x2b, 0x0f, 0x23, 0xe3, 0xb5, 0x94, 0x87, - 0x85, 0xe4, 0x0e, 0xac, 0xaa, 0x7d, 0x3f, 0xd9, 0x88, 0xe9, 0x26, 0x5e, 0x29, 0xc6, 0xb5, 0x1c, - 0xaf, 0x84, 0x9d, 0xee, 0xce, 0x63, 0xd8, 0x39, 0xaf, 0x80, 0x18, 0x76, 0x6e, 0x3b, 0xdf, 0x80, - 0xf5, 0x46, 0x7e, 0xa2, 0xc6, 0xc4, 0x44, 0x8d, 0x97, 0x24, 0xca, 0x29, 0x64, 0x4e, 0x3f, 0xaa, - 0x24, 0xca, 0x14, 0xb2, 0x2e, 0x54, 0xae, 0xb6, 0x64, 0xe4, 0xf5, 0x61, 0x74, 0xaa, 0xe5, 0x33, - 0xf4, 0xfc, 0x01, 0x16, 0x92, 0x33, 0xd8, 0xe2, 0x45, 0x9b, 0x74, 0x83, 0x91, 0x9b, 0x33, 0xf6, - 0x2d, 0x46, 0x75, 0xb6, 0x40, 0x16, 0x92, 0x9f, 0xa1, 0xd2, 0x18, 0x2d, 0x99, 0xff, 0xf9, 0x21, - 0xb7, 0x2e, 0xf2, 0xf1, 0x36, 0x6e, 0x5f, 0x20, 0x5a, 0x72, 0xbe, 0xd7, 0x6e, 0x5f, 0x2a, 0xe7, - 0xe7, 0xf0, 0x46, 0x1d, 0x3b, 0x38, 0x42, 0x77, 0xc9, 0x94, 0x77, 0x6f, 0x7c, 0x7f, 0xfd, 0x20, - 0x44, 0xff, 0x78, 0xdf, 0x52, 0xfe, 0xae, 0xec, 0x32, 0xf7, 0x4e, 0x97, 0xb9, 0x4f, 0x16, 0x85, - 0xf9, 0xe1, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x7b, 0xb1, 0xa4, 0x31, 0x17, 0x15, 0x00, 0x00, +var fileDescriptor_msg_46916c59bfcbd84e = []byte{ + // 1387 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x58, 0x4b, 0x73, 0x1b, 0x45, + 0x10, 0xae, 0xd5, 0x5a, 0x7e, 0xb4, 0xec, 0xb2, 0x99, 0x38, 0x66, 0xb3, 0x71, 0x15, 0x62, 0x79, + 0x44, 0x05, 0x89, 0x5c, 0x18, 0xaa, 0xa0, 0x92, 0x03, 0x89, 0x23, 0xa3, 0xb8, 0xc2, 0xe2, 0x78, + 0x65, 0xa0, 0x8a, 0x8b, 0xb3, 0x91, 0xda, 0x9b, 0x2d, 0x6b, 0x1f, 0xde, 0x59, 0xc5, 0x12, 0x54, + 0xc2, 0x89, 0x23, 0x07, 0x6e, 0x70, 0xe2, 0xc6, 0x7f, 0xe0, 0xc8, 0x85, 0x1f, 0xc1, 0xaf, 0xa1, + 0x66, 0x66, 0x25, 0xcd, 0x3e, 0x14, 0x29, 0x0a, 0xe5, 0xe2, 0xa6, 0xee, 0xe9, 0xe9, 0xf9, 0xbe, + 0x9e, 0x6f, 0x76, 0x7a, 0x04, 0x6b, 0x1e, 0x75, 0x76, 0x3c, 0xea, 0xd4, 0xc3, 0x28, 0x88, 0x03, + 0xa2, 0x7a, 0xd4, 0xd1, 0x6b, 0x87, 0x21, 0xfa, 0xb7, 0x0e, 0xcc, 0x5b, 0x2d, 0x8c, 0x9e, 0x61, + 0xb4, 0x13, 0x9e, 0x39, 0x3b, 0x7c, 0x78, 0x87, 0x76, 0xce, 0x4e, 0x2e, 0xe8, 0xce, 0x05, 0x15, + 0xe1, 0x7a, 0x7d, 0x6a, 0x64, 0x64, 0x87, 0x21, 0x46, 0x49, 0xbc, 0xf1, 0x03, 0x54, 0x4c, 0xea, + 0x34, 0xec, 0xd8, 0x3e, 0x0e, 0xcc, 0x23, 0xb2, 0x09, 0xe5, 0x38, 0x38, 0x43, 0x5f, 0x53, 0xaa, + 0x4a, 0x6d, 0xc5, 0x12, 0x06, 0xa9, 0x42, 0x25, 0x08, 0x31, 0xb2, 0x63, 0x37, 0xf0, 0x0f, 0x1a, + 0x5a, 0x89, 0x8f, 0xc9, 0x2e, 0xf2, 0x09, 0x2c, 0x79, 0x22, 0x8d, 0xa6, 0x56, 0x95, 0x5a, 0x65, + 0x57, 0xaf, 0x53, 0x0e, 0xe0, 0xc4, 0x0e, 0xdd, 0x93, 0xd0, 0x8e, 0x6c, 0x8f, 0xd6, 0x93, 0x85, + 0xac, 0x61, 0xa8, 0x81, 0xd2, 0xe2, 0x8d, 0x3d, 0x39, 0x89, 0x32, 0x73, 0x92, 0xe9, 0xe0, 0x8c, + 0x9f, 0x15, 0x58, 0x7f, 0xd4, 0xa3, 0x4f, 0x65, 0xa2, 0x55, 0xa8, 0x1c, 0x4a, 0xb3, 0x04, 0x5d, + 0xd9, 0x25, 0xa3, 0x29, 0xcd, 0x8e, 0xc6, 0x80, 0xd5, 0xb0, 0x47, 0x9f, 0x1e, 0x07, 0x5f, 0x53, + 0x8c, 0x0e, 0x1a, 0xbc, 0x1a, 0x2b, 0x56, 0xca, 0x67, 0xfc, 0xa1, 0x00, 0x19, 0x63, 0x09, 0x7c, + 0x27, 0xd8, 0x1b, 0x98, 0x47, 0x44, 0x83, 0xa5, 0xae, 0x4d, 0xe3, 0x16, 0x9e, 0x73, 0x38, 0x0b, + 0xd6, 0xd0, 0x24, 0xef, 0xc2, 0x9a, 0xed, 0x38, 0x11, 0x3a, 0x69, 0x92, 0x69, 0x27, 0xd9, 0x85, + 0x8a, 0x87, 0x94, 0xda, 0x0e, 0x7e, 0xe9, 0xd2, 0x58, 0x53, 0xab, 0x6a, 0xad, 0xb2, 0xbb, 0x51, + 0x67, 0x52, 0x92, 0x98, 0x5b, 0x72, 0x10, 0xd9, 0x86, 0x95, 0x38, 0x72, 0x1d, 0x87, 0x63, 0x5d, + 0xe0, 0x59, 0xc7, 0x0e, 0xe3, 0x2b, 0x20, 0x4d, 0x8c, 0x4d, 0xbb, 0x7f, 0xcf, 0xef, 0x98, 0xae, + 0xdf, 0xc2, 0x73, 0x0b, 0xcf, 0xc9, 0x16, 0x2c, 0x26, 0xe4, 0x44, 0xd5, 0x12, 0x2b, 0x5b, 0xd2, + 0x52, 0xae, 0xa4, 0xc6, 0x05, 0x5c, 0xc9, 0xe5, 0xa3, 0x21, 0x23, 0xbe, 0x1f, 0x45, 0xf7, 0x83, + 0x0e, 0xf2, 0x8c, 0x65, 0x6b, 0x68, 0xb2, 0xa5, 0xf6, 0xa3, 0xc8, 0xa4, 0x4e, 0x92, 0x2d, 0xb1, + 0x98, 0xdf, 0xb4, 0xfb, 0xac, 0x52, 0xac, 0xbe, 0x6b, 0x56, 0x62, 0x71, 0x3f, 0xcf, 0xcb, 0xb9, + 0x30, 0x3f, 0xb7, 0x8c, 0xef, 0x01, 0x5a, 0xe8, 0x77, 0x4c, 0xea, 0x30, 0x02, 0x97, 0x2b, 0xf2, + 0xdf, 0x15, 0xa8, 0x8c, 0x16, 0x17, 0x6c, 0x31, 0xcd, 0x16, 0xc7, 0x6c, 0x31, 0xc5, 0x56, 0x58, + 0x0c, 0x99, 0x58, 0xc7, 0xa4, 0xce, 0x68, 0x9b, 0x64, 0x17, 0x8b, 0x68, 0x77, 0x5d, 0xf4, 0x63, + 0x11, 0x51, 0x16, 0x11, 0x92, 0x8b, 0xe8, 0xb0, 0x4c, 0xd1, 0xef, 0x1c, 0xbb, 0x1e, 0x6a, 0x8b, + 0x55, 0xa5, 0xa6, 0x5a, 0x23, 0xdb, 0x68, 0x43, 0xe5, 0x7e, 0x17, 0xed, 0x28, 0x29, 0xcf, 0x16, + 0x2c, 0xf6, 0x52, 0xfb, 0x2b, 0x2c, 0x96, 0x22, 0x08, 0x93, 0x9d, 0x17, 0x00, 0x47, 0x76, 0xb6, + 0x78, 0x6a, 0xfe, 0x10, 0xde, 0x85, 0xd5, 0xf1, 0x22, 0xf3, 0x94, 0xc1, 0xf8, 0x4d, 0x81, 0xf5, + 0x16, 0x32, 0x3e, 0x29, 0x2d, 0x16, 0x62, 0xd5, 0x60, 0xc9, 0x89, 0x82, 0x5e, 0x38, 0x82, 0x3a, + 0x34, 0xd9, 0x0c, 0x4f, 0x48, 0x24, 0x91, 0x8e, 0xb0, 0xb2, 0x0c, 0x16, 0xf2, 0xdb, 0x2f, 0xf3, + 0x2f, 0xa7, 0xf9, 0x1b, 0x0d, 0xd8, 0x48, 0x43, 0x9b, 0x8b, 0xe1, 0x21, 0x5c, 0x69, 0x61, 0x9c, + 0x88, 0xa5, 0x15, 0xdb, 0x71, 0x8f, 0x5a, 0x79, 0x68, 0x4a, 0x1e, 0xda, 0x16, 0x2c, 0x52, 0x1e, + 0xce, 0x13, 0x96, 0xad, 0xc4, 0x32, 0x1e, 0xc0, 0x66, 0x3e, 0xe1, 0x5c, 0xd0, 0x3e, 0xe5, 0x47, + 0xf7, 0xd5, 0xa1, 0x19, 0x8f, 0x61, 0xb3, 0xf9, 0x9f, 0x40, 0x90, 0x48, 0xaa, 0x29, 0x92, 0x3f, + 0x29, 0x70, 0xa5, 0x81, 0xdd, 0x56, 0x2f, 0xc4, 0xa8, 0xc9, 0x76, 0x39, 0xd1, 0xb1, 0xbc, 0x5f, + 0x4a, 0x46, 0xaf, 0x63, 0xdd, 0x94, 0x26, 0xe9, 0x46, 0x4d, 0xeb, 0x66, 0xaa, 0x3e, 0x58, 0xb1, + 0xf3, 0x30, 0xe6, 0x2a, 0x76, 0x5b, 0x14, 0x3b, 0x4b, 0x68, 0xba, 0x0e, 0x36, 0x40, 0x65, 0xca, + 0x2e, 0x71, 0x65, 0xb3, 0x9f, 0x93, 0x09, 0x19, 0x2f, 0xc4, 0xc6, 0xbc, 0x3e, 0xdc, 0x39, 0xbf, + 0x8b, 0x0f, 0xf8, 0xe5, 0xf2, 0x6d, 0xe4, 0xc6, 0xd8, 0x70, 0x4f, 0x4f, 0xe7, 0xe7, 0x68, 0x3c, + 0xe7, 0xe5, 0x4a, 0x67, 0xba, 0x44, 0x22, 0xbf, 0x94, 0xc1, 0x30, 0x83, 0x8e, 0x7b, 0x3a, 0x30, + 0xc5, 0xcd, 0x6a, 0xa1, 0xdd, 0x66, 0x60, 0xf7, 0xfb, 0x31, 0xfa, 0xd4, 0x0d, 0xfc, 0x19, 0x4f, + 0x31, 0xfb, 0x46, 0x07, 0xbd, 0xa8, 0x8d, 0xe3, 0x0f, 0xec, 0xd0, 0x4e, 0x89, 0x59, 0xcd, 0x7f, + 0x7c, 0x29, 0x52, 0xb6, 0xd0, 0xf1, 0x20, 0x44, 0x2e, 0xcd, 0xb2, 0x25, 0xbb, 0x48, 0x1f, 0xae, + 0x46, 0x59, 0x50, 0xbc, 0x49, 0x28, 0xf3, 0x26, 0x61, 0x4f, 0x34, 0x09, 0x53, 0x39, 0xd4, 0xad, + 0xa2, 0x24, 0xfb, 0x7e, 0x1c, 0x0d, 0xac, 0xe2, 0x05, 0xb2, 0x37, 0xd3, 0x62, 0xfe, 0x66, 0xba, + 0x09, 0x25, 0xec, 0x6b, 0x4b, 0xbc, 0xde, 0xdb, 0x75, 0x27, 0x08, 0x9c, 0x2e, 0x8a, 0xe6, 0xf4, + 0x49, 0xef, 0xb4, 0xde, 0x8a, 0x23, 0xd7, 0x77, 0xbe, 0xb1, 0xbb, 0x3d, 0xb4, 0x4a, 0xd8, 0x27, + 0x77, 0x61, 0xd5, 0x8e, 0x63, 0xbb, 0xfd, 0x14, 0x3b, 0x07, 0xfe, 0x69, 0xa0, 0x2d, 0xcf, 0x30, + 0x2f, 0x35, 0x83, 0xc9, 0xc2, 0xa5, 0x9c, 0x88, 0xb6, 0x52, 0x55, 0x6a, 0xcb, 0xd6, 0xd0, 0x24, + 0xbb, 0xb0, 0xe9, 0x52, 0x06, 0x3f, 0xf2, 0xed, 0xee, 0x98, 0xb8, 0x06, 0x3c, 0xac, 0x70, 0x8c, + 0xd4, 0x81, 0x78, 0xd4, 0xf9, 0xc2, 0x8d, 0x68, 0x2c, 0xea, 0xc7, 0x6f, 0xd8, 0x0a, 0xbf, 0x61, + 0x0b, 0x46, 0x74, 0x04, 0x7d, 0x72, 0x11, 0x99, 0xb6, 0xcf, 0x70, 0x90, 0x68, 0x83, 0xfd, 0x24, + 0x1f, 0x41, 0xf9, 0x19, 0x23, 0x91, 0xf4, 0xa0, 0xd7, 0x0b, 0x04, 0xf9, 0x10, 0x07, 0x82, 0xa7, + 0x88, 0xbc, 0x5d, 0xfa, 0x4c, 0x31, 0xfe, 0x52, 0xe0, 0x9d, 0xa9, 0xfb, 0x39, 0xe7, 0x19, 0xa9, + 0xd0, 0x5e, 0xbb, 0x8d, 0x94, 0x4a, 0x5d, 0x26, 0xe1, 0x02, 0xe2, 0xb9, 0x87, 0x7d, 0x8e, 0x25, + 0x87, 0x91, 0x5d, 0x80, 0x53, 0xdb, 0xed, 0x62, 0x87, 0x4f, 0x5a, 0x98, 0x38, 0x49, 0x8a, 0x32, + 0xfe, 0x51, 0xe1, 0x86, 0xe8, 0x1e, 0xd1, 0x1c, 0xb7, 0xac, 0xaf, 0x71, 0xb8, 0x26, 0x76, 0x2f, + 0xf2, 0xc1, 0x53, 0x33, 0x07, 0x6f, 0xfa, 0xe1, 0xba, 0x80, 0x2d, 0x2f, 0x5d, 0xe4, 0x87, 0x38, + 0x90, 0x4e, 0xd7, 0xe7, 0x9c, 0xe7, 0x8c, 0x4c, 0xea, 0x66, 0x2e, 0x95, 0x35, 0x21, 0xbd, 0xfe, + 0x27, 0x7b, 0x47, 0xe4, 0x86, 0xb2, 0x47, 0x4e, 0xc9, 0x1f, 0xb9, 0x62, 0xd1, 0x96, 0x26, 0x89, + 0x96, 0x1c, 0x4d, 0xfa, 0x7c, 0x88, 0xdd, 0x7f, 0xa9, 0x28, 0x8b, 0x67, 0x1a, 0x7f, 0x2b, 0x50, + 0x9b, 0xad, 0x24, 0xff, 0x73, 0x95, 0x3e, 0x87, 0xb5, 0xd4, 0x20, 0xb9, 0x0d, 0x2b, 0x38, 0x74, + 0x24, 0xef, 0xd8, 0xed, 0x82, 0x02, 0x8d, 0x27, 0x8d, 0xc3, 0x65, 0xa2, 0xa5, 0x49, 0x44, 0x55, + 0x99, 0xe8, 0xee, 0xaf, 0x00, 0xaa, 0x47, 0x1d, 0xf2, 0x18, 0xd6, 0x33, 0x4f, 0x2b, 0xf2, 0x5e, + 0xc1, 0xaa, 0xf9, 0xe7, 0x9c, 0xfe, 0xfe, 0x2c, 0x61, 0x34, 0x24, 0x01, 0x6c, 0x3e, 0xea, 0x75, + 0xbb, 0xc9, 0x6e, 0xed, 0x0d, 0x5a, 0x78, 0xce, 0x8b, 0xf6, 0x41, 0xc1, 0xfc, 0xa2, 0x40, 0xb6, + 0xd6, 0x87, 0x33, 0xc7, 0xd2, 0x90, 0xdc, 0x84, 0xa5, 0xa4, 0x6d, 0x24, 0xeb, 0x7c, 0x13, 0xc6, + 0x4f, 0x38, 0x7d, 0x23, 0xed, 0xa0, 0x21, 0x39, 0x02, 0x68, 0x60, 0xd7, 0xa4, 0x8e, 0xb8, 0x76, + 0x0a, 0x16, 0x1a, 0x0f, 0xb3, 0x0c, 0x6f, 0x4f, 0x89, 0xa0, 0x21, 0x69, 0xc2, 0x46, 0xb6, 0xa1, + 0x23, 0x1a, 0x5f, 0xb8, 0xa0, 0xdd, 0xd4, 0xaf, 0x4d, 0x18, 0xa1, 0x21, 0xd9, 0x81, 0xe5, 0xe1, + 0xdb, 0x87, 0x08, 0xe4, 0xd2, 0x7b, 0x4b, 0x7f, 0x23, 0xe3, 0xa1, 0x21, 0xb9, 0x03, 0xab, 0xf2, + 0x73, 0x82, 0x6c, 0x26, 0x74, 0x53, 0x8f, 0x1f, 0xfd, 0x6a, 0x81, 0x57, 0xc0, 0xce, 0x36, 0xfd, + 0x09, 0xec, 0x82, 0xc7, 0x45, 0x02, 0xbb, 0xf0, 0x95, 0xd0, 0x84, 0x8d, 0x66, 0x71, 0xa2, 0xe6, + 0xc4, 0x44, 0xcd, 0x97, 0x24, 0x2a, 0x28, 0x64, 0x41, 0x9b, 0x2b, 0x25, 0xca, 0x15, 0xb2, 0xc1, + 0x55, 0x2e, 0x77, 0x7a, 0xe4, 0xcd, 0x61, 0x74, 0xa6, 0x93, 0xd4, 0xb5, 0xe2, 0x01, 0x1a, 0x92, + 0x73, 0xd8, 0x66, 0x45, 0x9b, 0x74, 0x31, 0x92, 0x1b, 0x33, 0xb6, 0x43, 0x7a, 0x6d, 0xb6, 0x40, + 0x1a, 0x92, 0x1f, 0xa1, 0xda, 0x1c, 0x2d, 0x59, 0xfc, 0xa5, 0x23, 0x37, 0x5f, 0xe5, 0x9e, 0xd0, + 0x6f, 0xbd, 0x42, 0xb4, 0xe0, 0x7c, 0xaf, 0xd3, 0xb9, 0x54, 0xce, 0x2f, 0xe0, 0xad, 0x06, 0x76, + 0x71, 0x84, 0xee, 0x92, 0x29, 0xef, 0x5d, 0xff, 0xee, 0xda, 0x61, 0x88, 0xfe, 0xc9, 0x81, 0x29, + 0xfd, 0x0b, 0xea, 0x51, 0xe7, 0x8e, 0x47, 0x9d, 0x27, 0x8b, 0xdc, 0xfc, 0xf8, 0xdf, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x8a, 0x50, 0x7c, 0x95, 0x6e, 0x15, 0x00, 0x00, } diff --git a/pkg/proto/msg/msg.proto b/pkg/proto/msg/msg.proto index 6324d2c6d..02672f704 100644 --- a/pkg/proto/msg/msg.proto +++ b/pkg/proto/msg/msg.proto @@ -171,8 +171,8 @@ message ModifyMessageReactionExtensionsReq { message ModifyMessageReactionExtensionsResp { int32 errCode = 1; string errMsg = 2; - repeated server_api_params.ExtendMsg successList = 3; - repeated server_api_params.ExtendMsg failedList = 4; + repeated ExtendMsgResp successList = 3; + repeated ExtendMsgResp failedList = 4; } message OperateMessageListReactionExtensionsReq { From 66f49feebb34050dbd1ef1ef6bc8b36e5534b154 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 9 Dec 2022 17:29:18 +0800 Subject: [PATCH 078/176] modify msg --- internal/api/msg/extend_msg.go | 8 +- pkg/proto/msg/msg.pb.go | 382 ++++++++++++++++++++++----------- pkg/proto/msg/msg.proto | 16 +- 3 files changed, 276 insertions(+), 130 deletions(-) diff --git a/internal/api/msg/extend_msg.go b/internal/api/msg/extend_msg.go index 62c11773d..c397e5110 100644 --- a/internal/api/msg/extend_msg.go +++ b/internal/api/msg/extend_msg.go @@ -52,7 +52,7 @@ func SetMessageReactionExtensions(c *gin.Context) { respPb, err := msgClient.SetMessageReactionExtensions(context.Background(), &reqPb) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "DelMsgList failed", err.Error(), reqPb) - c.JSON(http.StatusOK, gin.H{"errCode": constant.ErrServer.ErrCode, "errMsg": constant.ErrServer.ErrMsg + err.Error()}) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": constant.ErrServer.ErrCode, "errMsg": constant.ErrServer.ErrMsg + err.Error()}) return } resp.ErrCode = respPb.ErrCode @@ -100,7 +100,7 @@ func GetMessageListReactionExtensions(c *gin.Context) { respPb, err := msgClient.GetMessageListReactionExtensions(context.Background(), &reqPb) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "DelMsgList failed", err.Error(), reqPb) - c.JSON(http.StatusOK, gin.H{"errCode": constant.ErrServer.ErrCode, "errMsg": constant.ErrServer.ErrMsg + err.Error()}) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": constant.ErrServer.ErrCode, "errMsg": constant.ErrServer.ErrMsg + err.Error()}) return } resp.ErrCode = respPb.ErrCode @@ -147,7 +147,7 @@ func AddMessageReactionExtensions(c *gin.Context) { respPb, err := msgClient.AddMessageReactionExtensions(context.Background(), &reqPb) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "DelMsgList failed", err.Error(), reqPb) - c.JSON(http.StatusOK, gin.H{"errCode": constant.ErrServer.ErrCode, "errMsg": constant.ErrServer.ErrMsg + err.Error()}) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": constant.ErrServer.ErrCode, "errMsg": constant.ErrServer.ErrMsg + err.Error()}) return } resp.ErrCode = respPb.ErrCode @@ -194,7 +194,7 @@ func DeleteMessageReactionExtensions(c *gin.Context) { respPb, err := msgClient.DeleteMessageReactionExtensions(context.Background(), &reqPb) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "DelMsgList failed", err.Error(), reqPb) - c.JSON(http.StatusOK, gin.H{"errCode": constant.ErrServer.ErrCode, "errMsg": constant.ErrServer.ErrMsg + err.Error()}) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": constant.ErrServer.ErrCode, "errMsg": constant.ErrServer.ErrMsg + err.Error()}) return } resp.ErrCode = respPb.ErrCode diff --git a/pkg/proto/msg/msg.pb.go b/pkg/proto/msg/msg.pb.go index 1cede638a..399ddf4a8 100644 --- a/pkg/proto/msg/msg.pb.go +++ b/pkg/proto/msg/msg.pb.go @@ -38,7 +38,7 @@ func (m *MsgDataToMQ) Reset() { *m = MsgDataToMQ{} } func (m *MsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMQ) ProtoMessage() {} func (*MsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{0} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{0} } func (m *MsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMQ.Unmarshal(m, b) @@ -91,7 +91,7 @@ func (m *MsgDataToDB) Reset() { *m = MsgDataToDB{} } func (m *MsgDataToDB) String() string { return proto.CompactTextString(m) } func (*MsgDataToDB) ProtoMessage() {} func (*MsgDataToDB) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{1} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{1} } func (m *MsgDataToDB) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToDB.Unmarshal(m, b) @@ -138,7 +138,7 @@ func (m *PushMsgDataToMQ) Reset() { *m = PushMsgDataToMQ{} } func (m *PushMsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*PushMsgDataToMQ) ProtoMessage() {} func (*PushMsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{2} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{2} } func (m *PushMsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PushMsgDataToMQ.Unmarshal(m, b) @@ -193,7 +193,7 @@ func (m *MsgDataToMongoByMQ) Reset() { *m = MsgDataToMongoByMQ{} } func (m *MsgDataToMongoByMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMongoByMQ) ProtoMessage() {} func (*MsgDataToMongoByMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{3} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{3} } func (m *MsgDataToMongoByMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMongoByMQ.Unmarshal(m, b) @@ -273,7 +273,7 @@ func (m *GetMaxAndMinSeqReq) Reset() { *m = GetMaxAndMinSeqReq{} } func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqReq) ProtoMessage() {} func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{4} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{4} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -321,7 +321,7 @@ func (m *GetMaxAndMinSeqResp) Reset() { *m = GetMaxAndMinSeqResp{} } func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqResp) ProtoMessage() {} func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{5} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{5} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -382,7 +382,7 @@ func (m *SendMsgReq) Reset() { *m = SendMsgReq{} } func (m *SendMsgReq) String() string { return proto.CompactTextString(m) } func (*SendMsgReq) ProtoMessage() {} func (*SendMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{6} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{6} } func (m *SendMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgReq.Unmarshal(m, b) @@ -438,7 +438,7 @@ func (m *SendMsgResp) Reset() { *m = SendMsgResp{} } func (m *SendMsgResp) String() string { return proto.CompactTextString(m) } func (*SendMsgResp) ProtoMessage() {} func (*SendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{7} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{7} } func (m *SendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgResp.Unmarshal(m, b) @@ -506,7 +506,7 @@ func (m *ClearMsgReq) Reset() { *m = ClearMsgReq{} } func (m *ClearMsgReq) String() string { return proto.CompactTextString(m) } func (*ClearMsgReq) ProtoMessage() {} func (*ClearMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{8} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{8} } func (m *ClearMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgReq.Unmarshal(m, b) @@ -559,7 +559,7 @@ func (m *ClearMsgResp) Reset() { *m = ClearMsgResp{} } func (m *ClearMsgResp) String() string { return proto.CompactTextString(m) } func (*ClearMsgResp) ProtoMessage() {} func (*ClearMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{9} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{9} } func (m *ClearMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgResp.Unmarshal(m, b) @@ -608,7 +608,7 @@ func (m *SetMsgMinSeqReq) Reset() { *m = SetMsgMinSeqReq{} } func (m *SetMsgMinSeqReq) String() string { return proto.CompactTextString(m) } func (*SetMsgMinSeqReq) ProtoMessage() {} func (*SetMsgMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{10} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{10} } func (m *SetMsgMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqReq.Unmarshal(m, b) @@ -675,7 +675,7 @@ func (m *SetMsgMinSeqResp) Reset() { *m = SetMsgMinSeqResp{} } func (m *SetMsgMinSeqResp) String() string { return proto.CompactTextString(m) } func (*SetMsgMinSeqResp) ProtoMessage() {} func (*SetMsgMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{11} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{11} } func (m *SetMsgMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqResp.Unmarshal(m, b) @@ -721,7 +721,7 @@ func (m *SetSendMsgStatusReq) Reset() { *m = SetSendMsgStatusReq{} } func (m *SetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (*SetSendMsgStatusReq) ProtoMessage() {} func (*SetSendMsgStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{12} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{12} } func (m *SetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgStatusReq.Unmarshal(m, b) @@ -767,7 +767,7 @@ func (m *SetSendMsgStatusResp) Reset() { *m = SetSendMsgStatusResp{} } func (m *SetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (*SetSendMsgStatusResp) ProtoMessage() {} func (*SetSendMsgStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{13} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{13} } func (m *SetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgStatusResp.Unmarshal(m, b) @@ -812,7 +812,7 @@ func (m *GetSendMsgStatusReq) Reset() { *m = GetSendMsgStatusReq{} } func (m *GetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (*GetSendMsgStatusReq) ProtoMessage() {} func (*GetSendMsgStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{14} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{14} } func (m *GetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusReq.Unmarshal(m, b) @@ -852,7 +852,7 @@ func (m *GetSendMsgStatusResp) Reset() { *m = GetSendMsgStatusResp{} } func (m *GetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (*GetSendMsgStatusResp) ProtoMessage() {} func (*GetSendMsgStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{15} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{15} } func (m *GetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusResp.Unmarshal(m, b) @@ -907,7 +907,7 @@ func (m *DelSuperGroupMsgReq) Reset() { *m = DelSuperGroupMsgReq{} } func (m *DelSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (*DelSuperGroupMsgReq) ProtoMessage() {} func (*DelSuperGroupMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{16} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{16} } func (m *DelSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelSuperGroupMsgReq.Unmarshal(m, b) @@ -967,7 +967,7 @@ func (m *DelSuperGroupMsgResp) Reset() { *m = DelSuperGroupMsgResp{} } func (m *DelSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (*DelSuperGroupMsgResp) ProtoMessage() {} func (*DelSuperGroupMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{17} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{17} } func (m *DelSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelSuperGroupMsgResp.Unmarshal(m, b) @@ -1014,7 +1014,7 @@ func (m *GetSuperGroupMsgReq) Reset() { *m = GetSuperGroupMsgReq{} } func (m *GetSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupMsgReq) ProtoMessage() {} func (*GetSuperGroupMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{18} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{18} } func (m *GetSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupMsgReq.Unmarshal(m, b) @@ -1068,7 +1068,7 @@ func (m *GetSuperGroupMsgResp) Reset() { *m = GetSuperGroupMsgResp{} } func (m *GetSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupMsgResp) ProtoMessage() {} func (*GetSuperGroupMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{19} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{19} } func (m *GetSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupMsgResp.Unmarshal(m, b) @@ -1121,7 +1121,7 @@ func (m *GetWriteDiffMsgReq) Reset() { *m = GetWriteDiffMsgReq{} } func (m *GetWriteDiffMsgReq) String() string { return proto.CompactTextString(m) } func (*GetWriteDiffMsgReq) ProtoMessage() {} func (*GetWriteDiffMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{20} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{20} } func (m *GetWriteDiffMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetWriteDiffMsgReq.Unmarshal(m, b) @@ -1168,7 +1168,7 @@ func (m *GetWriteDiffMsgResp) Reset() { *m = GetWriteDiffMsgResp{} } func (m *GetWriteDiffMsgResp) String() string { return proto.CompactTextString(m) } func (*GetWriteDiffMsgResp) ProtoMessage() {} func (*GetWriteDiffMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{21} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{21} } func (m *GetWriteDiffMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetWriteDiffMsgResp.Unmarshal(m, b) @@ -1230,7 +1230,7 @@ func (m *ModifyMessageReactionExtensionsReq) Reset() { *m = ModifyMessag func (m *ModifyMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*ModifyMessageReactionExtensionsReq) ProtoMessage() {} func (*ModifyMessageReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{22} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{22} } func (m *ModifyMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyMessageReactionExtensionsReq.Unmarshal(m, b) @@ -1341,7 +1341,7 @@ func (m *ModifyMessageReactionExtensionsResp) Reset() { *m = ModifyMessa func (m *ModifyMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*ModifyMessageReactionExtensionsResp) ProtoMessage() {} func (*ModifyMessageReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{23} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{23} } func (m *ModifyMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyMessageReactionExtensionsResp.Unmarshal(m, b) @@ -1406,7 +1406,7 @@ func (m *OperateMessageListReactionExtensionsReq) Reset() { func (m *OperateMessageListReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*OperateMessageListReactionExtensionsReq) ProtoMessage() {} func (*OperateMessageListReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{24} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{24} } func (m *OperateMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OperateMessageListReactionExtensionsReq.Unmarshal(m, b) @@ -1478,7 +1478,7 @@ func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) String() st } func (*OperateMessageListReactionExtensionsReq_MessageReactionKey) ProtoMessage() {} func (*OperateMessageListReactionExtensionsReq_MessageReactionKey) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{24, 0} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{24, 0} } func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OperateMessageListReactionExtensionsReq_MessageReactionKey.Unmarshal(m, b) @@ -1535,7 +1535,7 @@ func (m *OperateMessageListReactionExtensionsResp) Reset() { func (m *OperateMessageListReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*OperateMessageListReactionExtensionsResp) ProtoMessage() {} func (*OperateMessageListReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{25} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{25} } func (m *OperateMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OperateMessageListReactionExtensionsResp.Unmarshal(m, b) @@ -1584,19 +1584,19 @@ func (m *OperateMessageListReactionExtensionsResp) GetFailedList() []*ExtendMsgR } type ExtendMsgResp struct { - ExtendMsg *sdk_ws.ExtendMsg `protobuf:"bytes,1,opt,name=extendMsg" json:"extendMsg,omitempty"` - ErrCode int32 `protobuf:"varint,2,opt,name=errCode" json:"errCode,omitempty"` - ErrMsg string `protobuf:"bytes,3,opt,name=errMsg" json:"errMsg,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + ExtendMsg *ExtendMsg `protobuf:"bytes,1,opt,name=extendMsg" json:"extendMsg,omitempty"` + ErrCode int32 `protobuf:"varint,2,opt,name=errCode" json:"errCode,omitempty"` + ErrMsg string `protobuf:"bytes,3,opt,name=errMsg" json:"errMsg,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *ExtendMsgResp) Reset() { *m = ExtendMsgResp{} } func (m *ExtendMsgResp) String() string { return proto.CompactTextString(m) } func (*ExtendMsgResp) ProtoMessage() {} func (*ExtendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{26} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{26} } func (m *ExtendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExtendMsgResp.Unmarshal(m, b) @@ -1616,7 +1616,7 @@ func (m *ExtendMsgResp) XXX_DiscardUnknown() { var xxx_messageInfo_ExtendMsgResp proto.InternalMessageInfo -func (m *ExtendMsgResp) GetExtendMsg() *sdk_ws.ExtendMsg { +func (m *ExtendMsgResp) GetExtendMsg() *ExtendMsg { if m != nil { return m.ExtendMsg } @@ -1637,6 +1637,130 @@ func (m *ExtendMsgResp) GetErrMsg() string { return "" } +type ExtendMsg struct { + ReactionExtensionList map[string]*KeyValueResp `protobuf:"bytes,1,rep,name=reactionExtensionList" json:"reactionExtensionList,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + ClientMsgID string `protobuf:"bytes,2,opt,name=clientMsgID" json:"clientMsgID,omitempty"` + MsgFirstModifyTime int64 `protobuf:"varint,3,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"` + AttachedInfo string `protobuf:"bytes,4,opt,name=attachedInfo" json:"attachedInfo,omitempty"` + Ex string `protobuf:"bytes,5,opt,name=ex" json:"ex,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ExtendMsg) Reset() { *m = ExtendMsg{} } +func (m *ExtendMsg) String() string { return proto.CompactTextString(m) } +func (*ExtendMsg) ProtoMessage() {} +func (*ExtendMsg) Descriptor() ([]byte, []int) { + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{27} +} +func (m *ExtendMsg) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ExtendMsg.Unmarshal(m, b) +} +func (m *ExtendMsg) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ExtendMsg.Marshal(b, m, deterministic) +} +func (dst *ExtendMsg) XXX_Merge(src proto.Message) { + xxx_messageInfo_ExtendMsg.Merge(dst, src) +} +func (m *ExtendMsg) XXX_Size() int { + return xxx_messageInfo_ExtendMsg.Size(m) +} +func (m *ExtendMsg) XXX_DiscardUnknown() { + xxx_messageInfo_ExtendMsg.DiscardUnknown(m) +} + +var xxx_messageInfo_ExtendMsg proto.InternalMessageInfo + +func (m *ExtendMsg) GetReactionExtensionList() map[string]*KeyValueResp { + if m != nil { + return m.ReactionExtensionList + } + return nil +} + +func (m *ExtendMsg) GetClientMsgID() string { + if m != nil { + return m.ClientMsgID + } + return "" +} + +func (m *ExtendMsg) GetMsgFirstModifyTime() int64 { + if m != nil { + return m.MsgFirstModifyTime + } + return 0 +} + +func (m *ExtendMsg) GetAttachedInfo() string { + if m != nil { + return m.AttachedInfo + } + return "" +} + +func (m *ExtendMsg) GetEx() string { + if m != nil { + return m.Ex + } + return "" +} + +type KeyValueResp struct { + KeyValue *sdk_ws.KeyValue `protobuf:"bytes,1,opt,name=keyValue" json:"keyValue,omitempty"` + ErrCode int32 `protobuf:"varint,2,opt,name=errCode" json:"errCode,omitempty"` + ErrMsg string `protobuf:"bytes,3,opt,name=errMsg" json:"errMsg,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *KeyValueResp) Reset() { *m = KeyValueResp{} } +func (m *KeyValueResp) String() string { return proto.CompactTextString(m) } +func (*KeyValueResp) ProtoMessage() {} +func (*KeyValueResp) Descriptor() ([]byte, []int) { + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{28} +} +func (m *KeyValueResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_KeyValueResp.Unmarshal(m, b) +} +func (m *KeyValueResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_KeyValueResp.Marshal(b, m, deterministic) +} +func (dst *KeyValueResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_KeyValueResp.Merge(dst, src) +} +func (m *KeyValueResp) XXX_Size() int { + return xxx_messageInfo_KeyValueResp.Size(m) +} +func (m *KeyValueResp) XXX_DiscardUnknown() { + xxx_messageInfo_KeyValueResp.DiscardUnknown(m) +} + +var xxx_messageInfo_KeyValueResp proto.InternalMessageInfo + +func (m *KeyValueResp) GetKeyValue() *sdk_ws.KeyValue { + if m != nil { + return m.KeyValue + } + return nil +} + +func (m *KeyValueResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode + } + return 0 +} + +func (m *KeyValueResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg + } + return "" +} + func init() { proto.RegisterType((*MsgDataToMQ)(nil), "msg.MsgDataToMQ") proto.RegisterType((*MsgDataToDB)(nil), "msg.MsgDataToDB") @@ -1667,6 +1791,9 @@ func init() { proto.RegisterType((*OperateMessageListReactionExtensionsReq_MessageReactionKey)(nil), "msg.OperateMessageListReactionExtensionsReq.MessageReactionKey") proto.RegisterType((*OperateMessageListReactionExtensionsResp)(nil), "msg.OperateMessageListReactionExtensionsResp") proto.RegisterType((*ExtendMsgResp)(nil), "msg.ExtendMsgResp") + proto.RegisterType((*ExtendMsg)(nil), "msg.ExtendMsg") + proto.RegisterMapType((map[string]*KeyValueResp)(nil), "msg.ExtendMsg.ReactionExtensionListEntry") + proto.RegisterType((*KeyValueResp)(nil), "msg.KeyValueResp") } // Reference imports to suppress errors if they are not otherwise used. @@ -2205,95 +2332,100 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ Metadata: "msg/msg.proto", } -func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_46916c59bfcbd84e) } +func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_6ec0bb4bc5c02b03) } -var fileDescriptor_msg_46916c59bfcbd84e = []byte{ - // 1387 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x58, 0x4b, 0x73, 0x1b, 0x45, - 0x10, 0xae, 0xd5, 0x5a, 0x7e, 0xb4, 0xec, 0xb2, 0x99, 0x38, 0x66, 0xb3, 0x71, 0x15, 0x62, 0x79, - 0x44, 0x05, 0x89, 0x5c, 0x18, 0xaa, 0xa0, 0x92, 0x03, 0x89, 0x23, 0xa3, 0xb8, 0xc2, 0xe2, 0x78, - 0x65, 0xa0, 0x8a, 0x8b, 0xb3, 0x91, 0xda, 0x9b, 0x2d, 0x6b, 0x1f, 0xde, 0x59, 0xc5, 0x12, 0x54, - 0xc2, 0x89, 0x23, 0x07, 0x6e, 0x70, 0xe2, 0xc6, 0x7f, 0xe0, 0xc8, 0x85, 0x1f, 0xc1, 0xaf, 0xa1, - 0x66, 0x66, 0x25, 0xcd, 0x3e, 0x14, 0x29, 0x0a, 0xe5, 0xe2, 0xa6, 0xee, 0xe9, 0xe9, 0xf9, 0xbe, - 0x9e, 0x6f, 0x76, 0x7a, 0x04, 0x6b, 0x1e, 0x75, 0x76, 0x3c, 0xea, 0xd4, 0xc3, 0x28, 0x88, 0x03, - 0xa2, 0x7a, 0xd4, 0xd1, 0x6b, 0x87, 0x21, 0xfa, 0xb7, 0x0e, 0xcc, 0x5b, 0x2d, 0x8c, 0x9e, 0x61, - 0xb4, 0x13, 0x9e, 0x39, 0x3b, 0x7c, 0x78, 0x87, 0x76, 0xce, 0x4e, 0x2e, 0xe8, 0xce, 0x05, 0x15, - 0xe1, 0x7a, 0x7d, 0x6a, 0x64, 0x64, 0x87, 0x21, 0x46, 0x49, 0xbc, 0xf1, 0x03, 0x54, 0x4c, 0xea, - 0x34, 0xec, 0xd8, 0x3e, 0x0e, 0xcc, 0x23, 0xb2, 0x09, 0xe5, 0x38, 0x38, 0x43, 0x5f, 0x53, 0xaa, - 0x4a, 0x6d, 0xc5, 0x12, 0x06, 0xa9, 0x42, 0x25, 0x08, 0x31, 0xb2, 0x63, 0x37, 0xf0, 0x0f, 0x1a, - 0x5a, 0x89, 0x8f, 0xc9, 0x2e, 0xf2, 0x09, 0x2c, 0x79, 0x22, 0x8d, 0xa6, 0x56, 0x95, 0x5a, 0x65, - 0x57, 0xaf, 0x53, 0x0e, 0xe0, 0xc4, 0x0e, 0xdd, 0x93, 0xd0, 0x8e, 0x6c, 0x8f, 0xd6, 0x93, 0x85, - 0xac, 0x61, 0xa8, 0x81, 0xd2, 0xe2, 0x8d, 0x3d, 0x39, 0x89, 0x32, 0x73, 0x92, 0xe9, 0xe0, 0x8c, - 0x9f, 0x15, 0x58, 0x7f, 0xd4, 0xa3, 0x4f, 0x65, 0xa2, 0x55, 0xa8, 0x1c, 0x4a, 0xb3, 0x04, 0x5d, - 0xd9, 0x25, 0xa3, 0x29, 0xcd, 0x8e, 0xc6, 0x80, 0xd5, 0xb0, 0x47, 0x9f, 0x1e, 0x07, 0x5f, 0x53, - 0x8c, 0x0e, 0x1a, 0xbc, 0x1a, 0x2b, 0x56, 0xca, 0x67, 0xfc, 0xa1, 0x00, 0x19, 0x63, 0x09, 0x7c, - 0x27, 0xd8, 0x1b, 0x98, 0x47, 0x44, 0x83, 0xa5, 0xae, 0x4d, 0xe3, 0x16, 0x9e, 0x73, 0x38, 0x0b, - 0xd6, 0xd0, 0x24, 0xef, 0xc2, 0x9a, 0xed, 0x38, 0x11, 0x3a, 0x69, 0x92, 0x69, 0x27, 0xd9, 0x85, - 0x8a, 0x87, 0x94, 0xda, 0x0e, 0x7e, 0xe9, 0xd2, 0x58, 0x53, 0xab, 0x6a, 0xad, 0xb2, 0xbb, 0x51, - 0x67, 0x52, 0x92, 0x98, 0x5b, 0x72, 0x10, 0xd9, 0x86, 0x95, 0x38, 0x72, 0x1d, 0x87, 0x63, 0x5d, - 0xe0, 0x59, 0xc7, 0x0e, 0xe3, 0x2b, 0x20, 0x4d, 0x8c, 0x4d, 0xbb, 0x7f, 0xcf, 0xef, 0x98, 0xae, - 0xdf, 0xc2, 0x73, 0x0b, 0xcf, 0xc9, 0x16, 0x2c, 0x26, 0xe4, 0x44, 0xd5, 0x12, 0x2b, 0x5b, 0xd2, - 0x52, 0xae, 0xa4, 0xc6, 0x05, 0x5c, 0xc9, 0xe5, 0xa3, 0x21, 0x23, 0xbe, 0x1f, 0x45, 0xf7, 0x83, - 0x0e, 0xf2, 0x8c, 0x65, 0x6b, 0x68, 0xb2, 0xa5, 0xf6, 0xa3, 0xc8, 0xa4, 0x4e, 0x92, 0x2d, 0xb1, - 0x98, 0xdf, 0xb4, 0xfb, 0xac, 0x52, 0xac, 0xbe, 0x6b, 0x56, 0x62, 0x71, 0x3f, 0xcf, 0xcb, 0xb9, - 0x30, 0x3f, 0xb7, 0x8c, 0xef, 0x01, 0x5a, 0xe8, 0x77, 0x4c, 0xea, 0x30, 0x02, 0x97, 0x2b, 0xf2, - 0xdf, 0x15, 0xa8, 0x8c, 0x16, 0x17, 0x6c, 0x31, 0xcd, 0x16, 0xc7, 0x6c, 0x31, 0xc5, 0x56, 0x58, - 0x0c, 0x99, 0x58, 0xc7, 0xa4, 0xce, 0x68, 0x9b, 0x64, 0x17, 0x8b, 0x68, 0x77, 0x5d, 0xf4, 0x63, - 0x11, 0x51, 0x16, 0x11, 0x92, 0x8b, 0xe8, 0xb0, 0x4c, 0xd1, 0xef, 0x1c, 0xbb, 0x1e, 0x6a, 0x8b, - 0x55, 0xa5, 0xa6, 0x5a, 0x23, 0xdb, 0x68, 0x43, 0xe5, 0x7e, 0x17, 0xed, 0x28, 0x29, 0xcf, 0x16, - 0x2c, 0xf6, 0x52, 0xfb, 0x2b, 0x2c, 0x96, 0x22, 0x08, 0x93, 0x9d, 0x17, 0x00, 0x47, 0x76, 0xb6, - 0x78, 0x6a, 0xfe, 0x10, 0xde, 0x85, 0xd5, 0xf1, 0x22, 0xf3, 0x94, 0xc1, 0xf8, 0x4d, 0x81, 0xf5, - 0x16, 0x32, 0x3e, 0x29, 0x2d, 0x16, 0x62, 0xd5, 0x60, 0xc9, 0x89, 0x82, 0x5e, 0x38, 0x82, 0x3a, - 0x34, 0xd9, 0x0c, 0x4f, 0x48, 0x24, 0x91, 0x8e, 0xb0, 0xb2, 0x0c, 0x16, 0xf2, 0xdb, 0x2f, 0xf3, - 0x2f, 0xa7, 0xf9, 0x1b, 0x0d, 0xd8, 0x48, 0x43, 0x9b, 0x8b, 0xe1, 0x21, 0x5c, 0x69, 0x61, 0x9c, - 0x88, 0xa5, 0x15, 0xdb, 0x71, 0x8f, 0x5a, 0x79, 0x68, 0x4a, 0x1e, 0xda, 0x16, 0x2c, 0x52, 0x1e, - 0xce, 0x13, 0x96, 0xad, 0xc4, 0x32, 0x1e, 0xc0, 0x66, 0x3e, 0xe1, 0x5c, 0xd0, 0x3e, 0xe5, 0x47, - 0xf7, 0xd5, 0xa1, 0x19, 0x8f, 0x61, 0xb3, 0xf9, 0x9f, 0x40, 0x90, 0x48, 0xaa, 0x29, 0x92, 0x3f, - 0x29, 0x70, 0xa5, 0x81, 0xdd, 0x56, 0x2f, 0xc4, 0xa8, 0xc9, 0x76, 0x39, 0xd1, 0xb1, 0xbc, 0x5f, - 0x4a, 0x46, 0xaf, 0x63, 0xdd, 0x94, 0x26, 0xe9, 0x46, 0x4d, 0xeb, 0x66, 0xaa, 0x3e, 0x58, 0xb1, - 0xf3, 0x30, 0xe6, 0x2a, 0x76, 0x5b, 0x14, 0x3b, 0x4b, 0x68, 0xba, 0x0e, 0x36, 0x40, 0x65, 0xca, - 0x2e, 0x71, 0x65, 0xb3, 0x9f, 0x93, 0x09, 0x19, 0x2f, 0xc4, 0xc6, 0xbc, 0x3e, 0xdc, 0x39, 0xbf, - 0x8b, 0x0f, 0xf8, 0xe5, 0xf2, 0x6d, 0xe4, 0xc6, 0xd8, 0x70, 0x4f, 0x4f, 0xe7, 0xe7, 0x68, 0x3c, - 0xe7, 0xe5, 0x4a, 0x67, 0xba, 0x44, 0x22, 0xbf, 0x94, 0xc1, 0x30, 0x83, 0x8e, 0x7b, 0x3a, 0x30, - 0xc5, 0xcd, 0x6a, 0xa1, 0xdd, 0x66, 0x60, 0xf7, 0xfb, 0x31, 0xfa, 0xd4, 0x0d, 0xfc, 0x19, 0x4f, - 0x31, 0xfb, 0x46, 0x07, 0xbd, 0xa8, 0x8d, 0xe3, 0x0f, 0xec, 0xd0, 0x4e, 0x89, 0x59, 0xcd, 0x7f, - 0x7c, 0x29, 0x52, 0xb6, 0xd0, 0xf1, 0x20, 0x44, 0x2e, 0xcd, 0xb2, 0x25, 0xbb, 0x48, 0x1f, 0xae, - 0x46, 0x59, 0x50, 0xbc, 0x49, 0x28, 0xf3, 0x26, 0x61, 0x4f, 0x34, 0x09, 0x53, 0x39, 0xd4, 0xad, - 0xa2, 0x24, 0xfb, 0x7e, 0x1c, 0x0d, 0xac, 0xe2, 0x05, 0xb2, 0x37, 0xd3, 0x62, 0xfe, 0x66, 0xba, - 0x09, 0x25, 0xec, 0x6b, 0x4b, 0xbc, 0xde, 0xdb, 0x75, 0x27, 0x08, 0x9c, 0x2e, 0x8a, 0xe6, 0xf4, - 0x49, 0xef, 0xb4, 0xde, 0x8a, 0x23, 0xd7, 0x77, 0xbe, 0xb1, 0xbb, 0x3d, 0xb4, 0x4a, 0xd8, 0x27, - 0x77, 0x61, 0xd5, 0x8e, 0x63, 0xbb, 0xfd, 0x14, 0x3b, 0x07, 0xfe, 0x69, 0xa0, 0x2d, 0xcf, 0x30, - 0x2f, 0x35, 0x83, 0xc9, 0xc2, 0xa5, 0x9c, 0x88, 0xb6, 0x52, 0x55, 0x6a, 0xcb, 0xd6, 0xd0, 0x24, - 0xbb, 0xb0, 0xe9, 0x52, 0x06, 0x3f, 0xf2, 0xed, 0xee, 0x98, 0xb8, 0x06, 0x3c, 0xac, 0x70, 0x8c, - 0xd4, 0x81, 0x78, 0xd4, 0xf9, 0xc2, 0x8d, 0x68, 0x2c, 0xea, 0xc7, 0x6f, 0xd8, 0x0a, 0xbf, 0x61, - 0x0b, 0x46, 0x74, 0x04, 0x7d, 0x72, 0x11, 0x99, 0xb6, 0xcf, 0x70, 0x90, 0x68, 0x83, 0xfd, 0x24, - 0x1f, 0x41, 0xf9, 0x19, 0x23, 0x91, 0xf4, 0xa0, 0xd7, 0x0b, 0x04, 0xf9, 0x10, 0x07, 0x82, 0xa7, - 0x88, 0xbc, 0x5d, 0xfa, 0x4c, 0x31, 0xfe, 0x52, 0xe0, 0x9d, 0xa9, 0xfb, 0x39, 0xe7, 0x19, 0xa9, - 0xd0, 0x5e, 0xbb, 0x8d, 0x94, 0x4a, 0x5d, 0x26, 0xe1, 0x02, 0xe2, 0xb9, 0x87, 0x7d, 0x8e, 0x25, - 0x87, 0x91, 0x5d, 0x80, 0x53, 0xdb, 0xed, 0x62, 0x87, 0x4f, 0x5a, 0x98, 0x38, 0x49, 0x8a, 0x32, - 0xfe, 0x51, 0xe1, 0x86, 0xe8, 0x1e, 0xd1, 0x1c, 0xb7, 0xac, 0xaf, 0x71, 0xb8, 0x26, 0x76, 0x2f, - 0xf2, 0xc1, 0x53, 0x33, 0x07, 0x6f, 0xfa, 0xe1, 0xba, 0x80, 0x2d, 0x2f, 0x5d, 0xe4, 0x87, 0x38, - 0x90, 0x4e, 0xd7, 0xe7, 0x9c, 0xe7, 0x8c, 0x4c, 0xea, 0x66, 0x2e, 0x95, 0x35, 0x21, 0xbd, 0xfe, - 0x27, 0x7b, 0x47, 0xe4, 0x86, 0xb2, 0x47, 0x4e, 0xc9, 0x1f, 0xb9, 0x62, 0xd1, 0x96, 0x26, 0x89, - 0x96, 0x1c, 0x4d, 0xfa, 0x7c, 0x88, 0xdd, 0x7f, 0xa9, 0x28, 0x8b, 0x67, 0x1a, 0x7f, 0x2b, 0x50, - 0x9b, 0xad, 0x24, 0xff, 0x73, 0x95, 0x3e, 0x87, 0xb5, 0xd4, 0x20, 0xb9, 0x0d, 0x2b, 0x38, 0x74, - 0x24, 0xef, 0xd8, 0xed, 0x82, 0x02, 0x8d, 0x27, 0x8d, 0xc3, 0x65, 0xa2, 0xa5, 0x49, 0x44, 0x55, - 0x99, 0xe8, 0xee, 0xaf, 0x00, 0xaa, 0x47, 0x1d, 0xf2, 0x18, 0xd6, 0x33, 0x4f, 0x2b, 0xf2, 0x5e, - 0xc1, 0xaa, 0xf9, 0xe7, 0x9c, 0xfe, 0xfe, 0x2c, 0x61, 0x34, 0x24, 0x01, 0x6c, 0x3e, 0xea, 0x75, - 0xbb, 0xc9, 0x6e, 0xed, 0x0d, 0x5a, 0x78, 0xce, 0x8b, 0xf6, 0x41, 0xc1, 0xfc, 0xa2, 0x40, 0xb6, - 0xd6, 0x87, 0x33, 0xc7, 0xd2, 0x90, 0xdc, 0x84, 0xa5, 0xa4, 0x6d, 0x24, 0xeb, 0x7c, 0x13, 0xc6, - 0x4f, 0x38, 0x7d, 0x23, 0xed, 0xa0, 0x21, 0x39, 0x02, 0x68, 0x60, 0xd7, 0xa4, 0x8e, 0xb8, 0x76, - 0x0a, 0x16, 0x1a, 0x0f, 0xb3, 0x0c, 0x6f, 0x4f, 0x89, 0xa0, 0x21, 0x69, 0xc2, 0x46, 0xb6, 0xa1, - 0x23, 0x1a, 0x5f, 0xb8, 0xa0, 0xdd, 0xd4, 0xaf, 0x4d, 0x18, 0xa1, 0x21, 0xd9, 0x81, 0xe5, 0xe1, - 0xdb, 0x87, 0x08, 0xe4, 0xd2, 0x7b, 0x4b, 0x7f, 0x23, 0xe3, 0xa1, 0x21, 0xb9, 0x03, 0xab, 0xf2, - 0x73, 0x82, 0x6c, 0x26, 0x74, 0x53, 0x8f, 0x1f, 0xfd, 0x6a, 0x81, 0x57, 0xc0, 0xce, 0x36, 0xfd, - 0x09, 0xec, 0x82, 0xc7, 0x45, 0x02, 0xbb, 0xf0, 0x95, 0xd0, 0x84, 0x8d, 0x66, 0x71, 0xa2, 0xe6, - 0xc4, 0x44, 0xcd, 0x97, 0x24, 0x2a, 0x28, 0x64, 0x41, 0x9b, 0x2b, 0x25, 0xca, 0x15, 0xb2, 0xc1, - 0x55, 0x2e, 0x77, 0x7a, 0xe4, 0xcd, 0x61, 0x74, 0xa6, 0x93, 0xd4, 0xb5, 0xe2, 0x01, 0x1a, 0x92, - 0x73, 0xd8, 0x66, 0x45, 0x9b, 0x74, 0x31, 0x92, 0x1b, 0x33, 0xb6, 0x43, 0x7a, 0x6d, 0xb6, 0x40, - 0x1a, 0x92, 0x1f, 0xa1, 0xda, 0x1c, 0x2d, 0x59, 0xfc, 0xa5, 0x23, 0x37, 0x5f, 0xe5, 0x9e, 0xd0, - 0x6f, 0xbd, 0x42, 0xb4, 0xe0, 0x7c, 0xaf, 0xd3, 0xb9, 0x54, 0xce, 0x2f, 0xe0, 0xad, 0x06, 0x76, - 0x71, 0x84, 0xee, 0x92, 0x29, 0xef, 0x5d, 0xff, 0xee, 0xda, 0x61, 0x88, 0xfe, 0xc9, 0x81, 0x29, - 0xfd, 0x0b, 0xea, 0x51, 0xe7, 0x8e, 0x47, 0x9d, 0x27, 0x8b, 0xdc, 0xfc, 0xf8, 0xdf, 0x00, 0x00, - 0x00, 0xff, 0xff, 0x8a, 0x50, 0x7c, 0x95, 0x6e, 0x15, 0x00, 0x00, +var fileDescriptor_msg_6ec0bb4bc5c02b03 = []byte{ + // 1467 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x58, 0x4b, 0x73, 0x1b, 0xc5, + 0x13, 0xaf, 0xd5, 0x5a, 0x7e, 0xb4, 0xec, 0xd8, 0x99, 0x38, 0xfe, 0x2b, 0x9b, 0x54, 0xfd, 0xc5, + 0xf2, 0x88, 0x80, 0x44, 0x2e, 0x0c, 0x55, 0xa1, 0xc8, 0x81, 0xc4, 0x91, 0x51, 0x5c, 0x61, 0x71, + 0xbc, 0x32, 0x50, 0x05, 0x07, 0x67, 0x23, 0xb5, 0x37, 0x5b, 0xd6, 0x3e, 0xbc, 0xb3, 0x8a, 0x2d, + 0x28, 0xc2, 0x89, 0x23, 0x07, 0x6e, 0x70, 0xe2, 0xc6, 0x77, 0xe0, 0xc8, 0x85, 0x2b, 0x77, 0x3e, + 0x0d, 0x35, 0x33, 0x2b, 0x69, 0xf6, 0x15, 0xc9, 0x0a, 0xe5, 0xe2, 0xa6, 0xee, 0xe9, 0xed, 0xe9, + 0x5f, 0xf7, 0x6f, 0x66, 0xba, 0x05, 0x2b, 0x2e, 0xb5, 0x37, 0x5d, 0x6a, 0x37, 0x82, 0xd0, 0x8f, + 0x7c, 0xa2, 0xba, 0xd4, 0xd6, 0xea, 0x7b, 0x01, 0x7a, 0xb7, 0x77, 0x8d, 0xdb, 0x6d, 0x0c, 0x9f, + 0x63, 0xb8, 0x19, 0x1c, 0xdb, 0x9b, 0x7c, 0x79, 0x93, 0x76, 0x8f, 0x0f, 0x4f, 0xe9, 0xe6, 0x29, + 0x15, 0xe6, 0x5a, 0x63, 0xa2, 0x65, 0x68, 0x05, 0x01, 0x86, 0xb1, 0xbd, 0xfe, 0x2d, 0x54, 0x0c, + 0x6a, 0x37, 0xad, 0xc8, 0x3a, 0xf0, 0x8d, 0x7d, 0xb2, 0x0e, 0xe5, 0xc8, 0x3f, 0x46, 0xaf, 0xaa, + 0xd4, 0x94, 0xfa, 0x92, 0x29, 0x04, 0x52, 0x83, 0x8a, 0x1f, 0x60, 0x68, 0x45, 0x8e, 0xef, 0xed, + 0x36, 0xab, 0x25, 0xbe, 0x26, 0xab, 0xc8, 0x07, 0xb0, 0xe0, 0x0a, 0x37, 0x55, 0xb5, 0xa6, 0xd4, + 0x2b, 0x5b, 0x5a, 0x83, 0xf2, 0x00, 0x0e, 0xad, 0xc0, 0x39, 0x0c, 0xac, 0xd0, 0x72, 0x69, 0x23, + 0xde, 0xc8, 0x1c, 0x9a, 0xea, 0x28, 0x6d, 0xde, 0xdc, 0x96, 0x9d, 0x28, 0x53, 0x3b, 0x99, 0x1c, + 0x9c, 0xfe, 0xa3, 0x02, 0xab, 0x8f, 0xfb, 0xf4, 0x99, 0x0c, 0xb4, 0x06, 0x95, 0x3d, 0xe9, 0x2b, + 0x01, 0x57, 0x56, 0xc9, 0xd1, 0x94, 0xa6, 0x8f, 0x46, 0x87, 0xe5, 0xa0, 0x4f, 0x9f, 0x1d, 0xf8, + 0x9f, 0x53, 0x0c, 0x77, 0x9b, 0x3c, 0x1b, 0x4b, 0x66, 0x42, 0xa7, 0xff, 0xa6, 0x00, 0x19, 0xc7, + 0xe2, 0x7b, 0xb6, 0xbf, 0x3d, 0x30, 0xf6, 0x49, 0x15, 0x16, 0x7a, 0x16, 0x8d, 0xda, 0x78, 0xc2, + 0xc3, 0x99, 0x33, 0x87, 0x22, 0x79, 0x03, 0x56, 0x2c, 0xdb, 0x0e, 0xd1, 0x4e, 0x82, 0x4c, 0x2a, + 0xc9, 0x16, 0x54, 0x5c, 0xa4, 0xd4, 0xb2, 0xf1, 0x53, 0x87, 0x46, 0x55, 0xb5, 0xa6, 0xd6, 0x2b, + 0x5b, 0x6b, 0x0d, 0x46, 0x25, 0x09, 0xb9, 0x29, 0x1b, 0x91, 0x1b, 0xb0, 0x14, 0x85, 0x8e, 0x6d, + 0xf3, 0x58, 0xe7, 0xb8, 0xd7, 0xb1, 0x42, 0xff, 0x0c, 0x48, 0x0b, 0x23, 0xc3, 0x3a, 0xbb, 0xef, + 0x75, 0x0d, 0xc7, 0x6b, 0xe3, 0x89, 0x89, 0x27, 0x64, 0x03, 0xe6, 0x63, 0x70, 0x22, 0x6b, 0xb1, + 0x94, 0x4e, 0x69, 0x29, 0x93, 0x52, 0xfd, 0x14, 0xae, 0x64, 0xfc, 0xd1, 0x80, 0x01, 0xdf, 0x09, + 0xc3, 0x07, 0x7e, 0x17, 0xb9, 0xc7, 0xb2, 0x39, 0x14, 0xd9, 0x56, 0x3b, 0x61, 0x68, 0x50, 0x3b, + 0xf6, 0x16, 0x4b, 0x4c, 0x6f, 0x58, 0x67, 0x2c, 0x53, 0x2c, 0xbf, 0x2b, 0x66, 0x2c, 0x71, 0x3d, + 0xf7, 0xcb, 0xb1, 0x30, 0x3d, 0x97, 0xf4, 0x6f, 0x00, 0xda, 0xe8, 0x75, 0x0d, 0x6a, 0x33, 0x00, + 0x17, 0x4b, 0xf2, 0x5f, 0x15, 0xa8, 0x8c, 0x36, 0x17, 0x68, 0x31, 0x89, 0x16, 0xc7, 0x68, 0x31, + 0x81, 0x56, 0x48, 0x2c, 0x32, 0xb1, 0x8f, 0x41, 0xed, 0x51, 0x99, 0x64, 0x15, 0xb3, 0xe8, 0xf4, + 0x1c, 0xf4, 0x22, 0x61, 0x51, 0x16, 0x16, 0x92, 0x8a, 0x68, 0xb0, 0x48, 0xd1, 0xeb, 0x1e, 0x38, + 0x2e, 0x56, 0xe7, 0x6b, 0x4a, 0x5d, 0x35, 0x47, 0xb2, 0xde, 0x81, 0xca, 0x83, 0x1e, 0x5a, 0x61, + 0x9c, 0x9e, 0x0d, 0x98, 0xef, 0x27, 0xea, 0x2b, 0x24, 0xe6, 0xc2, 0x0f, 0xe2, 0xca, 0x8b, 0x00, + 0x47, 0x72, 0x3a, 0x79, 0x6a, 0xf6, 0x10, 0xde, 0x83, 0xe5, 0xf1, 0x26, 0xb3, 0xa4, 0x41, 0xff, + 0x45, 0x81, 0xd5, 0x36, 0x32, 0x3c, 0x09, 0x2e, 0xe6, 0xc6, 0x5a, 0x85, 0x05, 0x3b, 0xf4, 0xfb, + 0xc1, 0x28, 0xd4, 0xa1, 0xc8, 0xbe, 0x70, 0x05, 0x45, 0x62, 0xea, 0x08, 0x29, 0x8d, 0x60, 0x2e, + 0x5b, 0x7e, 0x19, 0x7f, 0x39, 0x89, 0x5f, 0x6f, 0xc2, 0x5a, 0x32, 0xb4, 0x99, 0x10, 0xee, 0xc1, + 0x95, 0x36, 0x46, 0x31, 0x59, 0xda, 0x91, 0x15, 0xf5, 0xa9, 0x99, 0x0d, 0x4d, 0xc9, 0x86, 0xb6, + 0x01, 0xf3, 0x94, 0x9b, 0x73, 0x87, 0x65, 0x33, 0x96, 0xf4, 0x87, 0xb0, 0x9e, 0x75, 0x38, 0x53, + 0x68, 0x77, 0xf8, 0xd1, 0x3d, 0x7f, 0x68, 0xfa, 0x13, 0x58, 0x6f, 0xfd, 0x2b, 0x21, 0x48, 0x20, + 0xd5, 0x04, 0xc8, 0x1f, 0x14, 0xb8, 0xd2, 0xc4, 0x5e, 0xbb, 0x1f, 0x60, 0xd8, 0x62, 0x55, 0x8e, + 0x79, 0x2c, 0xd7, 0x4b, 0x49, 0xf1, 0x75, 0xcc, 0x9b, 0x52, 0x11, 0x6f, 0xd4, 0x24, 0x6f, 0x26, + 0xf2, 0x83, 0x25, 0x3b, 0x1b, 0xc6, 0x4c, 0xc9, 0xee, 0x88, 0x64, 0xa7, 0x01, 0x4d, 0xe6, 0xc1, + 0x1a, 0xa8, 0x8c, 0xd9, 0x25, 0xce, 0x6c, 0xf6, 0xb3, 0x18, 0x90, 0xfe, 0x42, 0x14, 0xe6, 0xd5, + 0xc3, 0x9d, 0xf1, 0x5e, 0x7c, 0xc8, 0x1f, 0x97, 0x2f, 0x43, 0x27, 0xc2, 0xa6, 0x73, 0x74, 0x34, + 0x3b, 0x46, 0xfd, 0x3b, 0x9e, 0xae, 0xa4, 0xa7, 0x0b, 0x04, 0xf2, 0x53, 0x19, 0x74, 0xc3, 0xef, + 0x3a, 0x47, 0x03, 0x43, 0xbc, 0xac, 0x26, 0x5a, 0x1d, 0x16, 0xec, 0xce, 0x59, 0x84, 0x1e, 0x75, + 0x7c, 0x6f, 0xca, 0x53, 0xcc, 0xee, 0x68, 0xbf, 0x1f, 0x76, 0x70, 0x7c, 0xc1, 0x0e, 0xe5, 0x04, + 0x99, 0xd5, 0xec, 0xe5, 0x4b, 0x91, 0xb2, 0x8d, 0x0e, 0x06, 0x01, 0x72, 0x6a, 0x96, 0x4d, 0x59, + 0x45, 0xce, 0xe0, 0x6a, 0x98, 0x0e, 0x8a, 0x37, 0x09, 0x65, 0xde, 0x24, 0x6c, 0x8b, 0x26, 0x61, + 0x22, 0x86, 0x86, 0x99, 0xe7, 0x64, 0xc7, 0x8b, 0xc2, 0x81, 0x99, 0xbf, 0x41, 0xfa, 0x65, 0x9a, + 0xcf, 0xbe, 0x4c, 0xb7, 0xa0, 0x84, 0x67, 0xd5, 0x05, 0x9e, 0xef, 0x1b, 0x0d, 0xdb, 0xf7, 0xed, + 0x1e, 0x8a, 0xe6, 0xf4, 0x69, 0xff, 0xa8, 0xd1, 0x8e, 0x42, 0xc7, 0xb3, 0xbf, 0xb0, 0x7a, 0x7d, + 0x34, 0x4b, 0x78, 0x46, 0xee, 0xc1, 0xb2, 0x15, 0x45, 0x56, 0xe7, 0x19, 0x76, 0x77, 0xbd, 0x23, + 0xbf, 0xba, 0x38, 0xc5, 0x77, 0x89, 0x2f, 0x18, 0x2d, 0x1c, 0xca, 0x81, 0x54, 0x97, 0x6a, 0x4a, + 0x7d, 0xd1, 0x1c, 0x8a, 0x64, 0x0b, 0xd6, 0x1d, 0xca, 0xc2, 0x0f, 0x3d, 0xab, 0x37, 0x06, 0x5e, + 0x05, 0x6e, 0x96, 0xbb, 0x46, 0x1a, 0x40, 0x5c, 0x6a, 0x7f, 0xe2, 0x84, 0x34, 0x12, 0xf9, 0xe3, + 0x2f, 0x6c, 0x85, 0xbf, 0xb0, 0x39, 0x2b, 0x1a, 0x82, 0x56, 0x9c, 0x44, 0xc6, 0xed, 0x63, 0x1c, + 0xc4, 0xdc, 0x60, 0x3f, 0xc9, 0x7b, 0x50, 0x7e, 0xce, 0x40, 0xc4, 0x3d, 0xe8, 0xf5, 0x1c, 0x42, + 0x3e, 0xc2, 0x81, 0xc0, 0x29, 0x2c, 0x3f, 0x2a, 0x7d, 0xa8, 0xe8, 0x7f, 0x28, 0xf0, 0xfa, 0xc4, + 0x7a, 0xce, 0x78, 0x46, 0x2a, 0xb4, 0xdf, 0xe9, 0x20, 0xa5, 0x52, 0x97, 0x49, 0x38, 0x81, 0xb8, + 0xef, 0x61, 0x9f, 0x63, 0xca, 0x66, 0x64, 0x0b, 0xe0, 0xc8, 0x72, 0x7a, 0xd8, 0xe5, 0x1f, 0xcd, + 0x15, 0x7e, 0x24, 0x59, 0xe9, 0x7f, 0xab, 0x70, 0x53, 0x74, 0x8f, 0x68, 0x8c, 0x5b, 0xd6, 0x57, + 0x38, 0x5c, 0x85, 0xdd, 0x8b, 0x7c, 0xf0, 0xd4, 0xd4, 0xc1, 0x9b, 0x7c, 0xb8, 0x4e, 0x61, 0xc3, + 0x4d, 0x26, 0xf9, 0x11, 0x0e, 0xa4, 0xd3, 0xf5, 0x31, 0xc7, 0x39, 0x25, 0x92, 0x86, 0x91, 0x71, + 0x65, 0x16, 0xb8, 0xd7, 0x7e, 0x67, 0x73, 0x44, 0x66, 0x29, 0x7d, 0xe4, 0x94, 0xec, 0x91, 0xcb, + 0x27, 0x6d, 0xa9, 0x88, 0xb4, 0x64, 0xbf, 0xe8, 0xfa, 0x10, 0xd5, 0x7f, 0x29, 0x29, 0xf3, 0xbf, + 0xd4, 0xff, 0x54, 0xa0, 0x3e, 0x5d, 0x4a, 0xfe, 0xe3, 0x2c, 0xf5, 0x61, 0x25, 0xb1, 0x48, 0x6e, + 0xc1, 0x12, 0x0e, 0x15, 0xf1, 0x1c, 0x7b, 0x29, 0xe5, 0x63, 0x6c, 0x20, 0x43, 0x2b, 0x15, 0x41, + 0x53, 0x13, 0xcd, 0xc1, 0x5f, 0x25, 0x58, 0x1a, 0xb9, 0x22, 0x87, 0x45, 0xa5, 0x51, 0x78, 0xf4, + 0x6f, 0x27, 0x77, 0x7e, 0xf5, 0x0b, 0xbc, 0x34, 0x2d, 0x9b, 0xd4, 0x42, 0x36, 0xe9, 0xa9, 0x2b, + 0x5c, 0xb4, 0x52, 0xc9, 0x4b, 0xfa, 0x12, 0x7f, 0x14, 0x44, 0x97, 0x5d, 0xc2, 0x33, 0xed, 0xeb, + 0x73, 0x5e, 0x9b, 0x37, 0x93, 0xd7, 0xe6, 0x65, 0x9e, 0x86, 0x11, 0x27, 0x59, 0x0d, 0xa5, 0xcb, + 0x72, 0x00, 0xcb, 0xf2, 0x12, 0xb9, 0x03, 0x8b, 0xc7, 0xb1, 0x1c, 0x17, 0xf0, 0xa5, 0x0c, 0x1f, + 0x19, 0x9f, 0xbf, 0x98, 0x5b, 0x3f, 0x03, 0xa8, 0x2e, 0xb5, 0xc9, 0x13, 0x58, 0x4d, 0x4d, 0xc6, + 0xe4, 0xcd, 0x9c, 0x3d, 0xb3, 0xd3, 0xb8, 0xf6, 0xd6, 0x34, 0x66, 0x34, 0x20, 0x3e, 0xac, 0x3f, + 0xee, 0xf7, 0x7a, 0xf1, 0x61, 0xdb, 0x1e, 0xb4, 0xf1, 0x84, 0xd7, 0xf7, 0x9d, 0x9c, 0xef, 0xf3, + 0x0c, 0xd9, 0x5e, 0xef, 0x4e, 0x6d, 0xcb, 0xcf, 0xc1, 0x42, 0xdc, 0xf5, 0x93, 0x55, 0x9e, 0xfe, + 0xf1, 0x04, 0xae, 0xad, 0x25, 0x15, 0x34, 0x20, 0xfb, 0x00, 0x4d, 0xec, 0x19, 0xd4, 0x16, 0xa4, + 0xcb, 0xd9, 0x68, 0xbc, 0xcc, 0x3c, 0xbc, 0x36, 0xc1, 0x82, 0x06, 0xa4, 0x05, 0x6b, 0xe9, 0x7e, + 0x9c, 0x54, 0xf9, 0xc6, 0x39, 0xd3, 0x82, 0x76, 0xad, 0x60, 0x85, 0x06, 0x64, 0x13, 0x16, 0x87, + 0xa3, 0x2b, 0x11, 0x91, 0x4b, 0xe3, 0xb2, 0x76, 0x39, 0xa5, 0xa1, 0x01, 0xb9, 0x0b, 0xcb, 0xf2, + 0x34, 0x48, 0xd6, 0x63, 0xb8, 0x89, 0xd9, 0x55, 0xbb, 0x9a, 0xa3, 0x15, 0x61, 0xa7, 0x67, 0xb6, + 0x38, 0xec, 0x9c, 0xd9, 0x30, 0x0e, 0x3b, 0x77, 0xc8, 0x6b, 0xc1, 0x5a, 0x2b, 0xdf, 0x51, 0xab, + 0xd0, 0x51, 0xeb, 0x25, 0x8e, 0x72, 0x12, 0x99, 0x33, 0xa5, 0x48, 0x8e, 0x32, 0x89, 0x6c, 0x72, + 0x96, 0xcb, 0x8d, 0x3a, 0xf9, 0xdf, 0xd0, 0x3a, 0x35, 0x08, 0x68, 0xd5, 0xfc, 0x05, 0x1a, 0x90, + 0x13, 0xb8, 0xc1, 0x92, 0x56, 0xd4, 0xd7, 0x90, 0x9b, 0x53, 0x76, 0xb3, 0x5a, 0x7d, 0x3a, 0x43, + 0x1a, 0x90, 0xef, 0xa1, 0xd6, 0x1a, 0x6d, 0x99, 0xff, 0x50, 0x91, 0x5b, 0xe7, 0x79, 0xe6, 0xb5, + 0xdb, 0xe7, 0xb0, 0x16, 0x98, 0xef, 0x77, 0xbb, 0x17, 0x8a, 0xf9, 0x05, 0xfc, 0xbf, 0x89, 0x3d, + 0x1c, 0x45, 0x77, 0xc1, 0x90, 0xb7, 0xaf, 0x7f, 0x75, 0x6d, 0x2f, 0x40, 0xef, 0x70, 0xd7, 0x90, + 0xfe, 0xc4, 0x76, 0xa9, 0x7d, 0xd7, 0xa5, 0xf6, 0xd3, 0x79, 0x2e, 0xbe, 0xff, 0x4f, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x59, 0x25, 0xe0, 0x09, 0x2d, 0x17, 0x00, 0x00, } diff --git a/pkg/proto/msg/msg.proto b/pkg/proto/msg/msg.proto index 02672f704..48292ae06 100644 --- a/pkg/proto/msg/msg.proto +++ b/pkg/proto/msg/msg.proto @@ -196,7 +196,21 @@ message OperateMessageListReactionExtensionsResp { } message ExtendMsgResp { - server_api_params.ExtendMsg extendMsg = 1; + ExtendMsg extendMsg = 1; + int32 errCode = 2; + string errMsg = 3; +} + +message ExtendMsg { + map reactionExtensionList = 1; + string clientMsgID = 2; + int64 msgFirstModifyTime = 3; + string attachedInfo = 4; + string ex = 5; +} + +message KeyValueResp { + server_api_params.KeyValue keyValue = 1; int32 errCode = 2; string errMsg = 3; } From 24288aa597198d56ede588be06b17452da314aa0 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 9 Dec 2022 18:03:40 +0800 Subject: [PATCH 079/176] modify msg --- .../logic/online_msg_to_mongo_handler.go | 47 +++++++++++++- internal/rpc/msg/extend_msg_callback.go | 6 +- pkg/base_info/msg.go | 8 +-- pkg/common/db/extend_msg_mongo_model.go | 65 +++++++++---------- 4 files changed, 85 insertions(+), 41 deletions(-) diff --git a/internal/msg_transfer/logic/online_msg_to_mongo_handler.go b/internal/msg_transfer/logic/online_msg_to_mongo_handler.go index 11bc399ad..a18186714 100644 --- a/internal/msg_transfer/logic/online_msg_to_mongo_handler.go +++ b/internal/msg_transfer/logic/online_msg_to_mongo_handler.go @@ -61,7 +61,52 @@ func (mc *OnlineHistoryMongoConsumerHandler) handleChatWs2Mongo(cMsg *sarama.Con if unexistSeqList, err := db.DB.DelMsgBySeqList(DeleteMessageTips.UserID, DeleteMessageTips.SeqList, v.OperationID); err != nil { log.NewError(v.OperationID, utils.GetSelfFuncName(), "DelMsgBySeqList args: ", DeleteMessageTips.UserID, DeleteMessageTips.SeqList, v.OperationID, err.Error(), unexistSeqList) } - //if v.MsgData.ContentType == ? {} + } else if v.MsgData.ContentType == constant.ReactionMessageModifierNotification { + var req pbMsg.ModifyMessageReactionExtensionsReq + if req.IsExternalExtensions { + log.NewInfo(req.OperationID, "msg:", req.String(), "this is external extensions") + continue + } + if !req.IsReact { + // first time to modify + var reactionExtensionList = make(map[string]db.KeyValue) + for k, v := range req.ReactionExtensionList { + reactionExtensionList[k] = db.KeyValue{ + TypeKey: v.TypeKey, + Value: v.Value, + LatestUpdateTime: v.LatestUpdateTime, + } + } + extendMsg := db.ExtendMsg{ + ReactionExtensionList: reactionExtensionList, + ClientMsgID: req.ClientMsgID, + MsgFirstModifyTime: req.MsgFirstModifyTime, + } + if req.AttachedInfo != nil { + extendMsg.AttachedInfo = req.AttachedInfo.Value + } + if req.Ex != nil { + extendMsg.Ex = req.Ex.Value + } + if err := db.DB.InsertExtendMsg(req.SourceID, req.SessionType, &extendMsg); err != nil { + log.NewError(req.OperationID, "MsgFirstModify InsertExtendMsg failed", req.SourceID, req.SessionType, extendMsg, err.Error()) + continue + } + } else { + // is already modify + if err := db.DB.InsertOrUpdateReactionExtendMsgSet(req.SourceID, req.SessionType, req.ClientMsgID, req.MsgFirstModifyTime, req.ReactionExtensionList); err != nil { + log.NewError(req.OperationID, "InsertOrUpdateReactionExtendMsgSet failed") + } + } + } else if v.MsgData.ContentType == 2301 { + var req pbMsg.OperateMessageListReactionExtensionsReq + var clientMsgIDList []string + for _, v := range req.MessageReactionKeyList { + clientMsgIDList = append(clientMsgIDList, v.ClientMsgID) + } + if err := db.DB.DeleteReactionExtendMsgSet(req.SourceID, req.SessionType, clientMsgIDList, req.OpUserID); err != nil { + log.NewError(req.OperationID, "InsertOrUpdateReactionExtendMsgSet failed") + } } } } diff --git a/internal/rpc/msg/extend_msg_callback.go b/internal/rpc/msg/extend_msg_callback.go index 956c86c9d..2654ee528 100644 --- a/internal/rpc/msg/extend_msg_callback.go +++ b/internal/rpc/msg/extend_msg_callback.go @@ -1,9 +1,11 @@ package msg -func callbackSetMessageReactionExtensions() { +import "Open_IM/pkg/proto/msg" + +func callbackSetMessageReactionExtensions(req *msg.ModifyMessageReactionExtensionsReq) { } -func callbackDeleteMessageReactionExtensions() { +func callbackDeleteMessageReactionExtensions(req *msg.OperateMessageListReactionExtensionsReq) { } diff --git a/pkg/base_info/msg.go b/pkg/base_info/msg.go index 4927d7969..193ea40ab 100644 --- a/pkg/base_info/msg.go +++ b/pkg/base_info/msg.go @@ -69,8 +69,8 @@ type ModifyMessageReactionExtensionsReq struct { type ModifyMessageReactionExtensionsResp struct { CommResp Data struct { - SuccessList []*sdk_ws.ExtendMsg `json:"successList"` - FailedList []*sdk_ws.ExtendMsg `json:"failedList"` + SuccessList []*msg.ExtendMsgResp `json:"successList"` + FailedList []*msg.ExtendMsgResp `json:"failedList"` } `json:"data"` } @@ -84,8 +84,8 @@ type OperateMessageListReactionExtensionsReq struct { type OperateMessageListReactionExtensionsResp struct { CommResp Data struct { - SuccessList []*sdk_ws.ExtendMsg `json:"successList"` - FailedList []*sdk_ws.ExtendMsg `json:"failedList"` + SuccessList []*msg.ExtendMsgResp `json:"successList"` + FailedList []*msg.ExtendMsgResp `json:"failedList"` } `json:"data"` } diff --git a/pkg/common/db/extend_msg_mongo_model.go b/pkg/common/db/extend_msg_mongo_model.go index d4229ba3a..1c5e3d10b 100644 --- a/pkg/common/db/extend_msg_mongo_model.go +++ b/pkg/common/db/extend_msg_mongo_model.go @@ -14,10 +14,11 @@ import ( ) const cExtendMsgSet = "extend_msgs" +const MaxNum = 100 type ExtendMsgSet struct { - SourceID string `bson:"id" json:"ID"` - SessionType string `bson:"session_type" json:"sessionType"` + SourceID string `bson:"source_id" json:"ID"` + SessionType int32 `bson:"session_type" json:"sessionType"` ExtendMsgs map[string]ExtendMsg `bson:"extend_msgs" json:"extendMsgs"` ExtendMsgNum int32 `bson:"extend_msg_num" json:"extendMsgNum"` CreateTime int64 `bson:"create_time" json:"createTime"` // this block's create time @@ -31,11 +32,11 @@ type KeyValue struct { } type ExtendMsg struct { - ReactionExtensionList map[string]KeyValue `bson:"content" json:"content"` + ReactionExtensionList map[string]KeyValue `bson:"reaction_extension_list" json:"reactionExtensionList"` ClientMsgID string `bson:"client_msg_id" json:"clientMsgID"` - MsgFirstModifyTime int64 `bson:"create_time" json:"createTime"` // this extendMsg create time - AttachedInfo *string `bson:"attached_info" json:"attachedInfo"` - Ex *string `bson:"ex" json:"ex"` + MsgFirstModifyTime int64 `bson:"msg_first_modify_time" json:"msgFirstModifyTime"` // this extendMsg create time + AttachedInfo string `bson:"attached_info" json:"attachedInfo"` + Ex string `bson:"ex" json:"ex"` } func GetExtendMsgSetID(ID string, index int32) string { @@ -79,35 +80,35 @@ type GetExtendMsgSetOpts struct { ExcludeExtendMsgs bool } -func (d *DataBases) GetExtendMsgSet(ID string, index int32, opts *GetExtendMsgSetOpts) (*ExtendMsgSet, error) { +// first modify msg +func (d *DataBases) InsertExtendMsg(sourceID string, sessionType int32, msg *ExtendMsg) error { ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) - var set ExtendMsgSet - var findOneOpt *options.FindOneOptions - if opts != nil { - if opts.ExcludeExtendMsgs { - findOneOpt = &options.FindOneOptions{} - findOneOpt.SetProjection(bson.M{"extend_msgs": 0}) + result, err := c.UpdateOne(ctx, bson.M{"source_id": sourceID, "session_type": sessionType}, bson.M{"$set": bson.M{"max_msg_update_time": msg.MsgFirstModifyTime, "$inc": bson.M{"extend_msg_num": 1}, fmt.Sprintf("extend_msgs.%s", msg.ClientMsgID): msg}}) + if err != nil { + return utils.Wrap(err, "") + } + if result.UpsertedCount == 0 { + if err := d.CreateExtendMsgSet(&ExtendMsgSet{ + SourceID: sourceID, + SessionType: sessionType, + ExtendMsgs: map[string]ExtendMsg{msg.ClientMsgID: *msg}, + ExtendMsgNum: 1, + CreateTime: msg.MsgFirstModifyTime, + MaxMsgUpdateTime: msg.MsgFirstModifyTime, + }); err != nil { + return err } } - err := c.FindOne(ctx, bson.M{"uid": GetExtendMsgSetID(ID, index)}, findOneOpt).Decode(&set) - return &set, err -} - -// first modify msg -func (d *DataBases) InsertExtendMsgAndGetIndex(ID string, index int32, msg *ExtendMsg) error { - ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) - c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) - _, err := c.UpdateOne(ctx, bson.M{"uid": GetExtendMsgSetID(ID, index)}, bson.M{"$set": bson.M{"latest_update_time": utils.GetCurrentTimestampBySecond(), "$inc": bson.M{"extend_msg_num": 1}, fmt.Sprintf("extend_msgs.%s", msg.ClientMsgID): msg}}) - return err + return nil } // insert or update -func (d *DataBases) InsertOrUpdateReactionExtendMsgSet(ID string, index int32, clientMsgID, userID, value string) error { +func (d *DataBases) InsertOrUpdateReactionExtendMsgSet(sourceID string, sessionType int32, clientMsgID, typeKey, value string) error { ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) reactionExtendMsgSet := KeyValue{ - TypeKey: userID, + TypeKey: typeKey, Value: value, LatestUpdateTime: utils.GetCurrentTimestampBySecond(), } @@ -115,21 +116,17 @@ func (d *DataBases) InsertOrUpdateReactionExtendMsgSet(ID string, index int32, c opt := &options.UpdateOptions{ Upsert: &upsert, } - _, err := c.UpdateOne(ctx, bson.M{"uid": GetExtendMsgSetID(ID, index)}, bson.M{"$set": bson.M{"latest_update_time": utils.GetCurrentTimestampBySecond()}, fmt.Sprintf("extend_msgs.%s.%s", clientMsgID, userID): reactionExtendMsgSet}, opt) + _, err := c.UpdateOne(ctx, bson.M{"source_id": sourceID, "session_type": sessionType}, bson.M{"$set": bson.M{fmt.Sprintf("extend_msgs.%s.%s", clientMsgID, typeKey): reactionExtendMsgSet}}, opt) return err } -func (d *DataBases) DeleteReactionExtendMsgSet(ID string, index int32, clientMsgID, userID string) error { +// delete TypeKey +func (d *DataBases) DeleteReactionExtendMsgSet(sourceID string, sessionType int32, clientMsgID []string, userID string) error { ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) - _, err := c.UpdateOne(ctx, bson.M{"uid": GetExtendMsgSetID(ID, index)}, bson.M{"$unset": bson.M{fmt.Sprintf("extend_msgs.%s.%s", clientMsgID, userID): ""}}) + _, err := c.UpdateOne(ctx, bson.M{"source_id": sourceID, "session_type": sessionType}, bson.M{"$unset": bson.M{fmt.Sprintf("extend_msgs.%s.%s", clientMsgID, userID): ""}}) return err } -// by index start end -func (d *DataBases) GetExtendMsgList(ID string, index int32, clientMsgID string) (extendMsg *ExtendMsg, err error) { - ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) - c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) - err = c.FindOne(ctx, bson.M{"uid": GetExtendMsgSetID(ID, index), "extend_msgs": bson.M{}}).Decode(&extendMsg) - return extendMsg, err +func (d *DataBases) GetExtendMsg(sourceID string, sessionType int32, clientMsgID string, maxMsgUpdateTime int64) error { } From 6d45f0730c2da2f2cdc9df2793e14803c2dd9d0c Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 9 Dec 2022 19:54:49 +0800 Subject: [PATCH 080/176] mongo operation --- .../logic/online_msg_to_mongo_handler.go | 8 +- pkg/common/db/extend_msg_mongo_model.go | 116 ++++++++++++++---- pkg/common/db/rocks_cache/rocks_cache.go | 36 +----- 3 files changed, 101 insertions(+), 59 deletions(-) diff --git a/internal/msg_transfer/logic/online_msg_to_mongo_handler.go b/internal/msg_transfer/logic/online_msg_to_mongo_handler.go index a18186714..9659c759f 100644 --- a/internal/msg_transfer/logic/online_msg_to_mongo_handler.go +++ b/internal/msg_transfer/logic/online_msg_to_mongo_handler.go @@ -100,12 +100,10 @@ func (mc *OnlineHistoryMongoConsumerHandler) handleChatWs2Mongo(cMsg *sarama.Con } } else if v.MsgData.ContentType == 2301 { var req pbMsg.OperateMessageListReactionExtensionsReq - var clientMsgIDList []string for _, v := range req.MessageReactionKeyList { - clientMsgIDList = append(clientMsgIDList, v.ClientMsgID) - } - if err := db.DB.DeleteReactionExtendMsgSet(req.SourceID, req.SessionType, clientMsgIDList, req.OpUserID); err != nil { - log.NewError(req.OperationID, "InsertOrUpdateReactionExtendMsgSet failed") + if err := db.DB.DeleteReactionExtendMsgSet(req.SourceID, req.SessionType, v.ClientMsgID, v.MsgFirstModifyTime, v.ReactionExtensionList); err != nil { + log.NewError(req.OperationID, "InsertOrUpdateReactionExtendMsgSet failed") + } } } } diff --git a/pkg/common/db/extend_msg_mongo_model.go b/pkg/common/db/extend_msg_mongo_model.go index 1c5e3d10b..29ab12c20 100644 --- a/pkg/common/db/extend_msg_mongo_model.go +++ b/pkg/common/db/extend_msg_mongo_model.go @@ -2,12 +2,15 @@ package db import ( "Open_IM/pkg/common/config" + server_api_params "Open_IM/pkg/proto/sdk_ws" "Open_IM/pkg/utils" "context" + "errors" "fmt" "go.mongodb.org/mongo-driver/bson/primitive" "go.mongodb.org/mongo-driver/mongo/options" "strconv" + "strings" "time" "go.mongodb.org/mongo-driver/bson" @@ -17,12 +20,12 @@ const cExtendMsgSet = "extend_msgs" const MaxNum = 100 type ExtendMsgSet struct { - SourceID string `bson:"source_id" json:"ID"` + SourceID string `bson:"source_id" json:"sourceID"` SessionType int32 `bson:"session_type" json:"sessionType"` ExtendMsgs map[string]ExtendMsg `bson:"extend_msgs" json:"extendMsgs"` ExtendMsgNum int32 `bson:"extend_msg_num" json:"extendMsgNum"` - CreateTime int64 `bson:"create_time" json:"createTime"` // this block's create time - MaxMsgUpdateTime int64 `bson:"max_msg_update_time"` // index find msg + CreateTime int64 `bson:"create_time" json:"createTime"` // this block's create time + MaxMsgUpdateTime int64 `bson:"max_msg_update_time" json:"maxMsgUpdateTime"` // index find msg } type KeyValue struct { @@ -39,10 +42,20 @@ type ExtendMsg struct { Ex string `bson:"ex" json:"ex"` } -func GetExtendMsgSetID(ID string, index int32) string { +func GetExtendMsgMaxNum() int32 { + return MaxNum +} + +func GetExtendMsgSourceID(ID string, index int32) string { return ID + ":" + strconv.Itoa(int(index)) } +func SplitSourceIDAndGetIndex(sourceID string) int32 { + l := strings.Split(sourceID, ":") + index, _ := strconv.Atoi(l[len(l)-1]) + return int32(index) +} + func (d *DataBases) CreateExtendMsgSet(set *ExtendMsgSet) error { ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) @@ -84,49 +97,108 @@ type GetExtendMsgSetOpts struct { func (d *DataBases) InsertExtendMsg(sourceID string, sessionType int32, msg *ExtendMsg) error { ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) - result, err := c.UpdateOne(ctx, bson.M{"source_id": sourceID, "session_type": sessionType}, bson.M{"$set": bson.M{"max_msg_update_time": msg.MsgFirstModifyTime, "$inc": bson.M{"extend_msg_num": 1}, fmt.Sprintf("extend_msgs.%s", msg.ClientMsgID): msg}}) + regex := fmt.Sprintf("^%s", sourceID) + var err error + findOpts := options.Find().SetLimit(1).SetSkip(0).SetSort(bson.M{"source_id": -1}).SetProjection(bson.M{"extend_msgs": 0}) + // update newest + result, err := c.Find(ctx, bson.M{"source_id": primitive.Regex{Pattern: regex}, "session_type": sessionType}, findOpts) if err != nil { return utils.Wrap(err, "") } - if result.UpsertedCount == 0 { - if err := d.CreateExtendMsgSet(&ExtendMsgSet{ - SourceID: sourceID, + var setList []ExtendMsgSet + if err := result.All(ctx, &setList); err != nil { + return utils.Wrap(err, "") + } + if len(setList) == 0 || setList[0].ExtendMsgNum >= GetExtendMsgMaxNum() { + var index int32 + if len(setList) > 0 { + index = SplitSourceIDAndGetIndex(setList[0].SourceID) + } + err = d.CreateExtendMsgSet(&ExtendMsgSet{ + SourceID: GetExtendMsgSourceID(sourceID, index), SessionType: sessionType, ExtendMsgs: map[string]ExtendMsg{msg.ClientMsgID: *msg}, ExtendMsgNum: 1, CreateTime: msg.MsgFirstModifyTime, MaxMsgUpdateTime: msg.MsgFirstModifyTime, - }); err != nil { - return err - } + }) + } else { + _, err = c.UpdateOne(ctx, bson.M{"source_id": setList[0].SourceID, "session_type": sessionType}, bson.M{"$set": bson.M{"max_msg_update_time": msg.MsgFirstModifyTime, "$inc": bson.M{"extend_msg_num": 1}, fmt.Sprintf("extend_msgs.%s", msg.ClientMsgID): msg}}) } - return nil + return utils.Wrap(err, "") } // insert or update -func (d *DataBases) InsertOrUpdateReactionExtendMsgSet(sourceID string, sessionType int32, clientMsgID, typeKey, value string) error { +func (d *DataBases) InsertOrUpdateReactionExtendMsgSet(sourceID string, sessionType int32, clientMsgID string, msgFirstModifyTime int64, reactionExtensionList map[string]*server_api_params.KeyValue) error { ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) - reactionExtendMsgSet := KeyValue{ - TypeKey: typeKey, - Value: value, - LatestUpdateTime: utils.GetCurrentTimestampBySecond(), + var updateBson = bson.M{} + for _, v := range reactionExtensionList { + updateBson[fmt.Sprintf("extend_msgs.%s.%s", clientMsgID, v.TypeKey)] = v } upsert := true opt := &options.UpdateOptions{ Upsert: &upsert, } - _, err := c.UpdateOne(ctx, bson.M{"source_id": sourceID, "session_type": sessionType}, bson.M{"$set": bson.M{fmt.Sprintf("extend_msgs.%s.%s", clientMsgID, typeKey): reactionExtendMsgSet}}, opt) - return err + findOpts := options.Find().SetLimit(1).SetSkip(0).SetSort(bson.M{"source_id": -1}).SetProjection(bson.M{"extend_msgs": 0}) + regex := fmt.Sprintf("^%s", sourceID) + result, err := c.Find(ctx, bson.M{"source_id": primitive.Regex{Pattern: regex}, "session_type": sessionType, "max_msg_update_time": bson.M{"$lte": msgFirstModifyTime}}, findOpts) + if err != nil { + return utils.Wrap(err, "") + } + var setList []ExtendMsgSet + if err := result.All(ctx, &setList); err != nil { + return utils.Wrap(err, "") + } + if len(setList) == 0 { + return utils.Wrap(errors.New("InsertOrUpdateReactionExtendMsgSet failed, len(setList) == 0"), "") + } + + _, err = c.UpdateOne(ctx, bson.M{"source_id": setList[0].SourceID, "session_type": sessionType}, bson.M{"$set": updateBson}, opt) + return utils.Wrap(err, "") } // delete TypeKey -func (d *DataBases) DeleteReactionExtendMsgSet(sourceID string, sessionType int32, clientMsgID []string, userID string) error { +func (d *DataBases) DeleteReactionExtendMsgSet(sourceID string, sessionType int32, clientMsgID string, msgFirstModifyTime int64, reactionExtensionList []*server_api_params.KeyValue) error { ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) - _, err := c.UpdateOne(ctx, bson.M{"source_id": sourceID, "session_type": sessionType}, bson.M{"$unset": bson.M{fmt.Sprintf("extend_msgs.%s.%s", clientMsgID, userID): ""}}) + var updateBson = bson.M{} + for _, v := range reactionExtensionList { + updateBson[fmt.Sprintf("extend_msgs.%s.%s", clientMsgID, v.TypeKey)] = "" + } + + findOpts := options.Find().SetLimit(1).SetSkip(0).SetSort(bson.M{"source_id": -1}).SetProjection(bson.M{"extend_msgs": 0}) + regex := fmt.Sprintf("^%s", sourceID) + result, err := c.Find(ctx, bson.M{"source_id": primitive.Regex{Pattern: regex}, "session_type": sessionType, "max_msg_update_time": bson.M{"$lte": msgFirstModifyTime}}, findOpts) + if err != nil { + return utils.Wrap(err, "") + } + var setList []ExtendMsgSet + if err := result.All(ctx, &setList); err != nil { + return utils.Wrap(err, "") + } + if len(setList) == 0 { + return utils.Wrap(errors.New("InsertOrUpdateReactionExtendMsgSet failed, len(setList) == 0"), "") + } + _, err = c.UpdateOne(ctx, bson.M{"source_id": setList[0].SourceID, "session_type": sessionType}, bson.M{"$unset": updateBson}) return err } -func (d *DataBases) GetExtendMsg(sourceID string, sessionType int32, clientMsgID string, maxMsgUpdateTime int64) error { +func (d *DataBases) GetExtendMsg(sourceID string, sessionType int32, clientMsgID string, maxMsgUpdateTime int64) (extendMsg *ExtendMsg, err error) { + ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) + c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) + findOpts := options.Find().SetLimit(1).SetSkip(0).SetSort(bson.M{"source_id": -1}).SetProjection(bson.M{fmt.Sprintf("extend_msgs.%s", clientMsgID): 1}) + regex := fmt.Sprintf("^%s", sourceID) + result, err := c.Find(ctx, bson.M{"source_id": primitive.Regex{Pattern: regex}, "session_type": sessionType, "msgFirstModifyTime": bson.M{"$lte": maxMsgUpdateTime}}, findOpts) + if err != nil { + return nil, utils.Wrap(err, "") + } + var extendMsgList []ExtendMsg + if err := result.All(ctx, &extendMsgList); err != nil { + return nil, utils.Wrap(err, "") + } + if len(extendMsgList) == 0 { + return nil, utils.Wrap(errors.New("GetExtendMsg failed, len(setList) == 0"), "") + } + return &extendMsgList[0], nil } diff --git a/pkg/common/db/rocks_cache/rocks_cache.go b/pkg/common/db/rocks_cache/rocks_cache.go index 3edb9f238..5ff836fd7 100644 --- a/pkg/common/db/rocks_cache/rocks_cache.go +++ b/pkg/common/db/rocks_cache/rocks_cache.go @@ -567,37 +567,9 @@ func DelConversationFromCache(ownerUserID, conversationID string) error { return utils.Wrap(db.DB.Rc.TagAsDeleted(conversationCache+ownerUserID+":"+conversationID), "DelConversationFromCache err") } -func GetExtendMsgSetFromCache(ID string, index int32) (*db.ExtendMsgSet, error) { - getExtendMsgSet := func() (string, error) { - extendMsgSet, err := db.DB.GetExtendMsgSet(ID, index, &db.GetExtendMsgSetOpts{ExcludeExtendMsgs: false}) - if err != nil { - return "", utils.Wrap(err, "GetExtendMsgSet failed") - } - bytes, err := json.Marshal(extendMsgSet) - if err != nil { - return "", utils.Wrap(err, "Marshal failed") - } - return string(bytes), nil - } - extendMsgSetStr, err := db.DB.Rc.Fetch(extendMsgSetCache+db.GetExtendMsgSetID(ID, index), time.Second*30*60, getExtendMsgSet) - if err != nil { - return nil, utils.Wrap(err, "Fetch failed") - } - extendMsgSet := &db.ExtendMsgSet{} - err = json.Unmarshal([]byte(extendMsgSetStr), extendMsgSet) - if err != nil { - return nil, utils.Wrap(err, "Unmarshal failed") - } - return extendMsgSet, nil -} - -func DelExtendMsgSetFromCache(ID string, index int32) error { - return utils.Wrap(db.DB.Rc.TagAsDeleted(extendMsgSetCache+db.GetExtendMsgSetID(ID, index)), "DelExtendMsgSetFromCache err") -} - -func GetExtendMsg(ID string, index int32, clientMsgID string) (*db.ExtendMsg, error) { +func GetExtendMsg(sourceID string, sessionType int32, clientMsgID string, maxMsgUpdateTime int64) (*db.ExtendMsg, error) { getExtendMsg := func() (string, error) { - extendMsg, err := db.DB.GetExtendMsgList(ID, index, clientMsgID) + extendMsg, err := db.DB.GetExtendMsg(sourceID, sessionType, clientMsgID, maxMsgUpdateTime) if err != nil { return "", utils.Wrap(err, "GetExtendMsgList failed") } @@ -608,7 +580,7 @@ func GetExtendMsg(ID string, index int32, clientMsgID string) (*db.ExtendMsg, er return string(bytes), nil } - extendMsgStr, err := db.DB.Rc.Fetch(extendMsgCache+db.GetExtendMsgSetID(ID, index)+":"+clientMsgID, time.Second*30*60, getExtendMsg) + extendMsgStr, err := db.DB.Rc.Fetch(extendMsgCache+clientMsgID, time.Second*30*60, getExtendMsg) if err != nil { return nil, utils.Wrap(err, "Fetch failed") } @@ -621,5 +593,5 @@ func GetExtendMsg(ID string, index int32, clientMsgID string) (*db.ExtendMsg, er } func DelExtendMsg(ID string, index int32, clientMsgID string) error { - return utils.Wrap(db.DB.Rc.TagAsDeleted(extendMsgCache+db.GetExtendMsgSetID(ID, index)+":"+clientMsgID), "DelExtendMsg err") + return utils.Wrap(db.DB.Rc.TagAsDeleted(extendMsgCache+clientMsgID), "DelExtendMsg err") } From 6f20cdd90504090b9dd77589d4adc129f17809cd Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Fri, 9 Dec 2022 20:53:13 +0800 Subject: [PATCH 081/176] reaction message --- internal/rpc/msg/extend_msg.go | 183 +++++++++++++++++++- internal/rpc/msg/extend_msg.notification.go | 13 ++ pkg/common/db/RedisModel.go | 44 +++++ 3 files changed, 239 insertions(+), 1 deletion(-) create mode 100644 internal/rpc/msg/extend_msg.notification.go diff --git a/internal/rpc/msg/extend_msg.go b/internal/rpc/msg/extend_msg.go index 682485c50..29181ce5d 100644 --- a/internal/rpc/msg/extend_msg.go +++ b/internal/rpc/msg/extend_msg.go @@ -1,16 +1,184 @@ package msg import ( + "Open_IM/pkg/common/db" "Open_IM/pkg/proto/msg" + "Open_IM/pkg/proto/sdk_ws" + "Open_IM/pkg/utils" "context" + go_redis "github.com/go-redis/redis/v8" + + "time" ) func (rpc *rpcChat) SetMessageReactionExtensions(ctx context.Context, req *msg.ModifyMessageReactionExtensionsReq) (resp *msg.ModifyMessageReactionExtensionsResp, err error) { - return + var rResp msg.ModifyMessageReactionExtensionsResp + var extendMsgResp msg.ExtendMsgResp + var failedExtendMsgResp msg.ExtendMsgResp + var oneExtendMsg msg.ExtendMsg + var failedExtendMsg msg.ExtendMsg + oneExtendMsg.ClientMsgID = req.ClientMsgID + oneExtendMsg.MsgFirstModifyTime = req.MsgFirstModifyTime + oneFailedReactionExtensionList := make(map[string]*msg.KeyValueResp) + oneSuccessReactionExtensionList := make(map[string]*msg.KeyValueResp) + isExists, err := db.DB.JudgeMessageReactionEXISTS(req.ClientMsgID, req.SessionType) + if err != nil { + extendMsgResp.ErrCode = 100 + extendMsgResp.ErrMsg = err.Error() + for k, value := range req.ReactionExtensionList { + temp := new(msg.KeyValueResp) + temp.KeyValue = value + temp.ErrMsg = err.Error() + temp.ErrCode = 100 + oneFailedReactionExtensionList[k] = temp + } + oneExtendMsg.ReactionExtensionList = oneFailedReactionExtensionList + extendMsgResp.ExtendMsg = &oneExtendMsg + rResp.FailedList = append(rResp.FailedList, &extendMsgResp) + return &rResp, nil + } + + if !isExists { + if !req.IsReact { + oneExtendMsg.MsgFirstModifyTime = utils.GetCurrentTimestampByMill() + //redis处理 + for k, v := range req.ReactionExtensionList { + //抢占分布式锁 + err := lockMessageTypeKey(req.ClientMsgID, k) + if err != nil { + setKeyResultInfo(oneFailedReactionExtensionList, 100, err.Error(), req.ClientMsgID, k, v) + continue + } + redisValue, err := db.DB.GetMessageTypeKeyValue(req.ClientMsgID, req.SessionType, k) + if err != nil && err != go_redis.Nil { + setKeyResultInfo(oneFailedReactionExtensionList, 200, err.Error(), req.ClientMsgID, k, v) + continue + } + temp := new(server_api_params.KeyValue) + utils.JsonStringToStruct(redisValue, temp) + if v.LatestUpdateTime != temp.LatestUpdateTime { + setKeyResultInfo(oneFailedReactionExtensionList, 300, "message have update", req.ClientMsgID, k, temp) + continue + } else { + v.LatestUpdateTime = utils.GetCurrentTimestampByMill() + newerr := db.DB.SetMessageTypeKeyValue(req.ClientMsgID, req.SessionType, k, utils.StructToJsonString(v)) + if newerr != nil { + setKeyResultInfo(oneFailedReactionExtensionList, 201, newerr.Error(), req.ClientMsgID, k, temp) + continue + } + setKeyResultInfo(oneSuccessReactionExtensionList, 0, "", req.ClientMsgID, k, v) + } + + } + + } else { + //mongo处理 + } + + } else { + for k, v := range req.ReactionExtensionList { + //抢占分布式锁 + err := lockMessageTypeKey(req.ClientMsgID, k) + if err != nil { + setKeyResultInfo(oneFailedReactionExtensionList, 100, err.Error(), req.ClientMsgID, k, v) + continue + } + redisValue, err := db.DB.GetMessageTypeKeyValue(req.ClientMsgID, req.SessionType, k) + if err != nil && err != go_redis.Nil { + setKeyResultInfo(oneFailedReactionExtensionList, 200, err.Error(), req.ClientMsgID, k, v) + continue + } + temp := new(server_api_params.KeyValue) + utils.JsonStringToStruct(redisValue, temp) + if v.LatestUpdateTime != temp.LatestUpdateTime { + setKeyResultInfo(oneFailedReactionExtensionList, 300, "message have update", req.ClientMsgID, k, temp) + continue + } else { + v.LatestUpdateTime = utils.GetCurrentTimestampByMill() + newerr := db.DB.SetMessageTypeKeyValue(req.ClientMsgID, req.SessionType, k, utils.StructToJsonString(v)) + if newerr != nil { + setKeyResultInfo(oneFailedReactionExtensionList, 201, newerr.Error(), req.ClientMsgID, k, temp) + continue + } + setKeyResultInfo(oneSuccessReactionExtensionList, 0, "", req.ClientMsgID, k, v) + } + + } + } + oneExtendMsg.ReactionExtensionList = oneSuccessReactionExtensionList + extendMsgResp.ExtendMsg = &oneExtendMsg + failedExtendMsg.ReactionExtensionList = oneFailedReactionExtensionList + failedExtendMsgResp.ExtendMsg = &failedExtendMsg + rResp.FailedList = append(rResp.FailedList, &failedExtendMsgResp) + rResp.SuccessList = append(rResp.FailedList, &extendMsgResp) + return &rResp, nil + +} +func setKeyResultInfo(m map[string]*msg.KeyValueResp, errCode int32, errMsg, clientMsgID, typeKey string, keyValue *server_api_params.KeyValue) { + temp := new(msg.KeyValueResp) + temp.KeyValue = keyValue + temp.ErrCode = errCode + temp.ErrMsg = errMsg + m[typeKey] = temp + _ = db.DB.UnLockMessageTypeKey(clientMsgID, typeKey) } func (rpc *rpcChat) GetMessageListReactionExtensions(ctx context.Context, req *msg.OperateMessageListReactionExtensionsReq) (resp *msg.OperateMessageListReactionExtensionsResp, err error) { + //for _, messageValue := range req.MessageReactionKeyList { + // isExists, err := db.DB.JudgeMessageReactionEXISTS(messageValue.ClientMsgID,req.SessionType) + // if err != nil { + // + // } + // var failedList []*msg.ExtendMsgResp + // var successList []*msg.ExtendMsgResp + // var oneExtendMsg msg.ExtendMsg + // oneExtendMsg.ClientMsgID = req.ClientMsgID + // oneFailedReactionExtensionList:=make(map[string]*msg.KeyValueResp) + // oneSuccessReactionExtensionList:=make(map[string]*msg.KeyValueResp) + // if !isExists { + // if !req.IsReact { + // oneExtendMsg.MsgFirstModifyTime = utils.GetCurrentTimestampByMill() + // //redis处理 + // for k, v := range req.ReactionExtensionList { + // //抢占分布式锁 + // err:=lockMessageTypeKey(req.ClientMsgID,k) + // if err != nil { + // setKeyResultInfo(oneFailedReactionExtensionList,100,err.Error(),req.ClientMsgID,k,v) + // continue + // } + // redisValue,err:=db.DB.GetMessageTypeKeyValue(req.ClientMsgID,req.SessionType,k) + // if err != nil&&err!=go_redis.Nil { + // setKeyResultInfo(oneFailedReactionExtensionList,200,err.Error(),req.ClientMsgID,k,v) + // continue + // } + // temp:=new(server_api_params.KeyValue) + // utils.JsonStringToStruct(redisValue,temp) + // if v.LatestUpdateTime != temp.LatestUpdateTime { + // setKeyResultInfo(oneFailedReactionExtensionList,300,"message have update",req.ClientMsgID,k,temp) + // continue + // }else{ + // v.LatestUpdateTime = utils.GetCurrentTimestampByMill() + // newerr:=db.DB.SetMessageTypeKeyValue(req.ClientMsgID,req.SessionType,k,utils.StructToJsonString(v)) + // if newerr != nil { + // setKeyResultInfo(oneFailedReactionExtensionList,201,newerr.Error(),req.ClientMsgID,k,temp) + // continue + // } + // setKeyResultInfo(oneSuccessReactionExtensionList,0,"",req.ClientMsgID,k,v) + // } + // + // } + // + // }else{ + // //mongo处理 + // } + // + // }else{ + // + // } + // return + //} return + } func (rpc *rpcChat) AddMessageReactionExtensions(ctx context.Context, req *msg.ModifyMessageReactionExtensionsReq) (resp *msg.ModifyMessageReactionExtensionsResp, err error) { @@ -20,3 +188,16 @@ func (rpc *rpcChat) AddMessageReactionExtensions(ctx context.Context, req *msg.M func (rpc *rpcChat) DeleteMessageReactionExtensions(ctx context.Context, req *msg.OperateMessageListReactionExtensionsReq) (resp *msg.OperateMessageListReactionExtensionsResp, err error) { return } +func lockMessageTypeKey(clientMsgID, typeKey string) (err error) { + for i := 0; i < 3; i++ { + err = db.DB.LockMessageTypeKey(clientMsgID, typeKey) + if err != nil { + time.Sleep(time.Millisecond * 100) + continue + } else { + break + } + } + return err + +} diff --git a/internal/rpc/msg/extend_msg.notification.go b/internal/rpc/msg/extend_msg.notification.go new file mode 100644 index 000000000..34265fa47 --- /dev/null +++ b/internal/rpc/msg/extend_msg.notification.go @@ -0,0 +1,13 @@ +package msg + +import ( + "Open_IM/pkg/common/constant" + pbFriend "Open_IM/pkg/proto/friend" + open_im_sdk "Open_IM/pkg/proto/sdk_ws" +) + +func ExtendMessageUpdatedNotification(operationID, changedUserID string, needNotifiedUserID string, opUserID string) { + selfInfoUpdatedTips := open_im_sdk.UserInfoUpdatedTips{UserID: changedUserID} + commID := pbFriend.CommID{FromUserID: opUserID, ToUserID: needNotifiedUserID, OpUserID: opUserID, OperationID: operationID} + friendNotification(&commID, constant.FriendInfoUpdatedNotification, &selfInfoUpdatedTips) +} diff --git a/pkg/common/db/RedisModel.go b/pkg/common/db/RedisModel.go index a0eab5c30..4e5fd6dab 100644 --- a/pkg/common/db/RedisModel.go +++ b/pkg/common/db/RedisModel.go @@ -38,6 +38,7 @@ const ( groupMinSeq = "GROUP_MIN_SEQ:" sendMsgFailedFlag = "SEND_MSG_FAILED_FLAG:" userBadgeUnreadCountSum = "USER_BADGE_UNREAD_COUNT_SUM:" + exTypeKeyLocker = "EX_LOCK:" ) func (d *DataBases) JudgeAccountEXISTS(account string) (bool, error) { @@ -437,3 +438,46 @@ func (d *DataBases) GetUserBadgeUnreadCountSum(uid string) (int, error) { seq, err := d.RDB.Get(context.Background(), key).Result() return utils.StringToInt(seq), err } +func (d *DataBases) JudgeMessageReactionEXISTS(clientMsgID string, sessionType int32) (bool, error) { + key := getMessageReactionExPrefix(clientMsgID, sessionType) + n, err := d.RDB.Exists(context.Background(), key).Result() + if n > 0 { + return true, err + } else { + return false, err + } +} +func (d *DataBases) GetMessageTypeKeyValue(clientMsgID string, sessionType int32, typeKey string) (string, error) { + key := getMessageReactionExPrefix(clientMsgID, sessionType) + result, err := d.RDB.HGet(context.Background(), key, typeKey).Result() + return result, err + +} +func (d *DataBases) SetMessageTypeKeyValue(clientMsgID string, sessionType int32, typeKey, value string) error { + key := getMessageReactionExPrefix(clientMsgID, sessionType) + return d.RDB.HSet(context.Background(), key, typeKey, value).Err() + +} +func (d *DataBases) LockMessageTypeKey(clientMsgID string, TypeKey string) error { + key := exTypeKeyLocker + clientMsgID + "_" + TypeKey + return d.RDB.SetNX(context.Background(), key, 1, time.Minute).Err() +} +func (d *DataBases) UnLockMessageTypeKey(clientMsgID string, TypeKey string) error { + key := exTypeKeyLocker + clientMsgID + "_" + TypeKey + return d.RDB.Del(context.Background(), key).Err() + +} + +func getMessageReactionExPrefix(clientMsgID string, sessionType int32) string { + switch sessionType { + case constant.SingleChatType: + return "EX_SINGLE_" + clientMsgID + case constant.GroupChatType: + return "EX_GROUP_" + clientMsgID + case constant.SuperGroupChatType: + return "EX_SUPER_GROUP_" + clientMsgID + case constant.NotificationChatType: + return "EX_NOTIFICATION" + clientMsgID + } + return "" +} From a0520ce5d80a06db84b2dee561f0bce1c3594da4 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Sat, 10 Dec 2022 20:12:13 +0800 Subject: [PATCH 082/176] log --- internal/rpc/msg/extend_msg.go | 4 ++++ internal/rpc/msg/extend_msg.notification.go | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/internal/rpc/msg/extend_msg.go b/internal/rpc/msg/extend_msg.go index 29181ce5d..5f9f03cdb 100644 --- a/internal/rpc/msg/extend_msg.go +++ b/internal/rpc/msg/extend_msg.go @@ -2,6 +2,7 @@ package msg import ( "Open_IM/pkg/common/db" + "Open_IM/pkg/common/log" "Open_IM/pkg/proto/msg" "Open_IM/pkg/proto/sdk_ws" "Open_IM/pkg/utils" @@ -40,6 +41,7 @@ func (rpc *rpcChat) SetMessageReactionExtensions(ctx context.Context, req *msg.M if !isExists { if !req.IsReact { + log.Debug(req.OperationID, "redis handle firstly", req.String()) oneExtendMsg.MsgFirstModifyTime = utils.GetCurrentTimestampByMill() //redis处理 for k, v := range req.ReactionExtensionList { @@ -76,6 +78,8 @@ func (rpc *rpcChat) SetMessageReactionExtensions(ctx context.Context, req *msg.M } } else { + log.Debug(req.OperationID, "redis handle secondly", req.String()) + for k, v := range req.ReactionExtensionList { //抢占分布式锁 err := lockMessageTypeKey(req.ClientMsgID, k) diff --git a/internal/rpc/msg/extend_msg.notification.go b/internal/rpc/msg/extend_msg.notification.go index 34265fa47..be498e244 100644 --- a/internal/rpc/msg/extend_msg.notification.go +++ b/internal/rpc/msg/extend_msg.notification.go @@ -9,5 +9,5 @@ import ( func ExtendMessageUpdatedNotification(operationID, changedUserID string, needNotifiedUserID string, opUserID string) { selfInfoUpdatedTips := open_im_sdk.UserInfoUpdatedTips{UserID: changedUserID} commID := pbFriend.CommID{FromUserID: opUserID, ToUserID: needNotifiedUserID, OpUserID: opUserID, OperationID: operationID} - friendNotification(&commID, constant.FriendInfoUpdatedNotification, &selfInfoUpdatedTips) + friendNotification(&commID, constant.ReactionMessageModifierNotification, &selfInfoUpdatedTips) } From ac55951c747ab7e4d87e52d25cca242461d085a5 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Sun, 11 Dec 2022 13:16:24 +0800 Subject: [PATCH 083/176] message reaction --- .../logic/online_msg_to_mongo_handler.go | 4 +- internal/rpc/msg/extend_msg.go | 7 +++ internal/rpc/msg/extend_msg.notification.go | 63 +++++++++++++++++-- pkg/common/constant/constant.go | 11 ++-- 4 files changed, 73 insertions(+), 12 deletions(-) diff --git a/internal/msg_transfer/logic/online_msg_to_mongo_handler.go b/internal/msg_transfer/logic/online_msg_to_mongo_handler.go index 9659c759f..cadc0669d 100644 --- a/internal/msg_transfer/logic/online_msg_to_mongo_handler.go +++ b/internal/msg_transfer/logic/online_msg_to_mongo_handler.go @@ -61,7 +61,7 @@ func (mc *OnlineHistoryMongoConsumerHandler) handleChatWs2Mongo(cMsg *sarama.Con if unexistSeqList, err := db.DB.DelMsgBySeqList(DeleteMessageTips.UserID, DeleteMessageTips.SeqList, v.OperationID); err != nil { log.NewError(v.OperationID, utils.GetSelfFuncName(), "DelMsgBySeqList args: ", DeleteMessageTips.UserID, DeleteMessageTips.SeqList, v.OperationID, err.Error(), unexistSeqList) } - } else if v.MsgData.ContentType == constant.ReactionMessageModifierNotification { + } else if v.MsgData.ContentType == constant.ReactionMessageModifier { var req pbMsg.ModifyMessageReactionExtensionsReq if req.IsExternalExtensions { log.NewInfo(req.OperationID, "msg:", req.String(), "this is external extensions") @@ -98,7 +98,7 @@ func (mc *OnlineHistoryMongoConsumerHandler) handleChatWs2Mongo(cMsg *sarama.Con log.NewError(req.OperationID, "InsertOrUpdateReactionExtendMsgSet failed") } } - } else if v.MsgData.ContentType == 2301 { + } else if v.MsgData.ContentType == constant.ReactionMessageDeleter { var req pbMsg.OperateMessageListReactionExtensionsReq for _, v := range req.MessageReactionKeyList { if err := db.DB.DeleteReactionExtendMsgSet(req.SourceID, req.SessionType, v.ClientMsgID, v.MsgFirstModifyTime, v.ReactionExtensionList); err != nil { diff --git a/internal/rpc/msg/extend_msg.go b/internal/rpc/msg/extend_msg.go index 5f9f03cdb..f4269cabf 100644 --- a/internal/rpc/msg/extend_msg.go +++ b/internal/rpc/msg/extend_msg.go @@ -109,12 +109,19 @@ func (rpc *rpcChat) SetMessageReactionExtensions(ctx context.Context, req *msg.M } } + oneExtendMsg.ReactionExtensionList = oneSuccessReactionExtensionList extendMsgResp.ExtendMsg = &oneExtendMsg failedExtendMsg.ReactionExtensionList = oneFailedReactionExtensionList failedExtendMsgResp.ExtendMsg = &failedExtendMsg rResp.FailedList = append(rResp.FailedList, &failedExtendMsgResp) rResp.SuccessList = append(rResp.FailedList, &extendMsgResp) + if !isExists && !req.IsReact { + ExtendMessageUpdatedNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, true) + } else { + ExtendMessageUpdatedNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, false) + + } return &rResp, nil } diff --git a/internal/rpc/msg/extend_msg.notification.go b/internal/rpc/msg/extend_msg.notification.go index be498e244..957e50e40 100644 --- a/internal/rpc/msg/extend_msg.notification.go +++ b/internal/rpc/msg/extend_msg.notification.go @@ -1,13 +1,66 @@ package msg import ( + "Open_IM/pkg/common/config" "Open_IM/pkg/common/constant" - pbFriend "Open_IM/pkg/proto/friend" + "Open_IM/pkg/common/log" + "Open_IM/pkg/grpc-etcdv3/getcdv3" + "Open_IM/pkg/proto/msg" open_im_sdk "Open_IM/pkg/proto/sdk_ws" + "Open_IM/pkg/utils" + "context" + "strings" ) -func ExtendMessageUpdatedNotification(operationID, changedUserID string, needNotifiedUserID string, opUserID string) { - selfInfoUpdatedTips := open_im_sdk.UserInfoUpdatedTips{UserID: changedUserID} - commID := pbFriend.CommID{FromUserID: opUserID, ToUserID: needNotifiedUserID, OpUserID: opUserID, OperationID: operationID} - friendNotification(&commID, constant.ReactionMessageModifierNotification, &selfInfoUpdatedTips) +func ExtendMessageUpdatedNotification(operationID, sendID string, sourceID string, sessionType int32, + req *msg.ModifyMessageReactionExtensionsReq, resp *msg.ModifyMessageReactionExtensionsResp, isHistory bool) { + m := make(map[string]interface{}) + m["rep"] = req + m["resp"] = resp + messageReactionSender(operationID, sendID, sourceID, sessionType, constant.ReactionMessageModifier, utils.StructToJsonString(m), isHistory) +} +func messageReactionSender(operationID, sendID string, sourceID string, sessionType, contentType int32, content string, isHistory bool) { + options := make(map[string]bool, 5) + utils.SetSwitchFromOptions(options, constant.IsOfflinePush, false) + utils.SetSwitchFromOptions(options, constant.IsConversationUpdate, false) + utils.SetSwitchFromOptions(options, constant.IsSenderConversationUpdate, false) + utils.SetSwitchFromOptions(options, constant.IsUnreadCount, false) + if !isHistory { + utils.SetSwitchFromOptions(options, constant.IsHistory, false) + utils.SetSwitchFromOptions(options, constant.IsPersistent, false) + } + pbData := msg.SendMsgReq{ + OperationID: operationID, + MsgData: &open_im_sdk.MsgData{ + SendID: sendID, + ClientMsgID: utils.GetMsgID(sendID), + SessionType: sessionType, + MsgFrom: constant.SysMsgType, + ContentType: contentType, + Content: []byte(content), + // ForceList: params.ForceList, + CreateTime: utils.GetCurrentTimestampByMill(), + Options: options, + }, + } + switch sessionType { + case constant.SingleChatType, constant.NotificationChatType: + pbData.MsgData.RecvID = sourceID + case constant.GroupChatType, constant.SuperGroupChatType: + pbData.MsgData.GroupID = sourceID + } + etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImMsgName, operationID) + if etcdConn == nil { + errMsg := operationID + "getcdv3.GetDefaultConn == nil" + log.NewError(operationID, errMsg) + return + } + client := msg.NewMsgClient(etcdConn) + reply, err := client.SendMsg(context.Background(), &pbData) + if err != nil { + log.NewError(operationID, "SendMsg rpc failed, ", pbData.String(), err.Error()) + } else if reply.ErrCode != 0 { + log.NewError(operationID, "SendMsg rpc failed, ", pbData.String(), reply.ErrCode, reply.ErrMsg) + } + } diff --git a/pkg/common/constant/constant.go b/pkg/common/constant/constant.go index 76b285c24..522b942a7 100644 --- a/pkg/common/constant/constant.go +++ b/pkg/common/constant/constant.go @@ -48,6 +48,8 @@ const ( AdvancedRevoke = 118 //影响前者消息 CustomNotTriggerConversation = 119 CustomOnlineOnly = 120 + ReactionMessageModifier = 121 + ReactionMessageDeleter = 122 Common = 200 GroupMsg = 201 @@ -99,11 +101,10 @@ const ( SignalingNotification = 1601 SignalingNotificationEnd = 1649 - SuperGroupNotificationBegin = 1650 - SuperGroupUpdateNotification = 1651 - MsgDeleteNotification = 1652 - ReactionMessageModifierNotification = 1653 - SuperGroupNotificationEnd = 1699 + SuperGroupNotificationBegin = 1650 + SuperGroupUpdateNotification = 1651 + MsgDeleteNotification = 1652 + SuperGroupNotificationEnd = 1699 ConversationPrivateChatNotification = 1701 ConversationUnreadNotification = 1702 From ad814b6cbb8711f84f42aa8b909736271c858d7a Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 12 Dec 2022 11:16:55 +0800 Subject: [PATCH 084/176] add web push --- internal/push/push_interface.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/push/push_interface.go b/internal/push/push_interface.go index 187c2d296..4cd8bae9a 100644 --- a/internal/push/push_interface.go +++ b/internal/push/push_interface.go @@ -2,7 +2,7 @@ package push import "Open_IM/pkg/common/constant" -var PushTerminal = []int{constant.IOSPlatformID, constant.AndroidPlatformID} +var PushTerminal = []int{constant.IOSPlatformID, constant.AndroidPlatformID, constant.WebPlatformID} type OfflinePusher interface { Push(userIDList []string, title, detailContent, operationID string, opts PushOpts) (resp string, err error) From b3f5c2f18537184fb3bbfd66961ccb3c388eb3dc Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 12 Dec 2022 12:12:53 +0800 Subject: [PATCH 085/176] reaction message add expiration --- internal/rpc/msg/extend_msg.go | 28 +++++++++------------------- pkg/common/db/RedisModel.go | 4 ++++ 2 files changed, 13 insertions(+), 19 deletions(-) diff --git a/internal/rpc/msg/extend_msg.go b/internal/rpc/msg/extend_msg.go index f4269cabf..baf48bc78 100644 --- a/internal/rpc/msg/extend_msg.go +++ b/internal/rpc/msg/extend_msg.go @@ -51,28 +51,18 @@ func (rpc *rpcChat) SetMessageReactionExtensions(ctx context.Context, req *msg.M setKeyResultInfo(oneFailedReactionExtensionList, 100, err.Error(), req.ClientMsgID, k, v) continue } - redisValue, err := db.DB.GetMessageTypeKeyValue(req.ClientMsgID, req.SessionType, k) - if err != nil && err != go_redis.Nil { - setKeyResultInfo(oneFailedReactionExtensionList, 200, err.Error(), req.ClientMsgID, k, v) + v.LatestUpdateTime = utils.GetCurrentTimestampByMill() + newerr := db.DB.SetMessageTypeKeyValue(req.ClientMsgID, req.SessionType, k, utils.StructToJsonString(v)) + if newerr != nil { + setKeyResultInfo(oneFailedReactionExtensionList, 201, newerr.Error(), req.ClientMsgID, k, v) continue } - temp := new(server_api_params.KeyValue) - utils.JsonStringToStruct(redisValue, temp) - if v.LatestUpdateTime != temp.LatestUpdateTime { - setKeyResultInfo(oneFailedReactionExtensionList, 300, "message have update", req.ClientMsgID, k, temp) - continue - } else { - v.LatestUpdateTime = utils.GetCurrentTimestampByMill() - newerr := db.DB.SetMessageTypeKeyValue(req.ClientMsgID, req.SessionType, k, utils.StructToJsonString(v)) - if newerr != nil { - setKeyResultInfo(oneFailedReactionExtensionList, 201, newerr.Error(), req.ClientMsgID, k, temp) - continue - } - setKeyResultInfo(oneSuccessReactionExtensionList, 0, "", req.ClientMsgID, k, v) - } - + setKeyResultInfo(oneSuccessReactionExtensionList, 0, "", req.ClientMsgID, k, v) + } + _, err := db.DB.SetMessageReactionExpire(req.ClientMsgID, req.SessionType, time.Duration(24*3)*time.Hour) + if err != nil { + log.Error(req.OperationID, "SetMessageReactionExpire err:", err.Error(), req.String()) } - } else { //mongo处理 } diff --git a/pkg/common/db/RedisModel.go b/pkg/common/db/RedisModel.go index 4e5fd6dab..6a2286b15 100644 --- a/pkg/common/db/RedisModel.go +++ b/pkg/common/db/RedisModel.go @@ -447,6 +447,10 @@ func (d *DataBases) JudgeMessageReactionEXISTS(clientMsgID string, sessionType i return false, err } } +func (d *DataBases) SetMessageReactionExpire(clientMsgID string, sessionType int32, expiration time.Duration) (bool, error) { + key := getMessageReactionExPrefix(clientMsgID, sessionType) + return d.RDB.Expire(context.Background(), key, expiration).Result() +} func (d *DataBases) GetMessageTypeKeyValue(clientMsgID string, sessionType int32, typeKey string) (string, error) { key := getMessageReactionExPrefix(clientMsgID, sessionType) result, err := d.RDB.HGet(context.Background(), key, typeKey).Result() From 2dab70697cc90194cc016658d9c42f0d85596829 Mon Sep 17 00:00:00 2001 From: skiffer-git <44203734@qq.com> Date: Mon, 12 Dec 2022 14:46:49 +0800 Subject: [PATCH 086/176] set group member ex == "" if ex == nil --- internal/rpc/group/group.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index 2b1f2224d..64cddba02 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -1822,7 +1822,7 @@ func (s *groupServer) SetGroupMemberInfo(ctx context.Context, req *pbGroup.SetGr if req.Ex != nil { m["ex"] = req.Ex.Value } else { - m["ex"] = "" + m["ex"] = nil } err = imdb.UpdateGroupMemberInfoByMap(groupMember, m) if err != nil { From acee47e86136237439cdcde5474ca50ca9c5a3b8 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 12 Dec 2022 15:34:49 +0800 Subject: [PATCH 087/176] reaction message add expiration --- .../logic/online_history_msg_handler.go | 2 +- internal/rpc/msg/extend_msg.go | 55 +++++++------------ internal/rpc/msg/extend_msg.notification.go | 2 +- pkg/base_info/msg.go | 4 +- pkg/proto/msg/msg.proto | 22 +++++++- 5 files changed, 45 insertions(+), 40 deletions(-) diff --git a/internal/msg_transfer/logic/online_history_msg_handler.go b/internal/msg_transfer/logic/online_history_msg_handler.go index 35a388e8e..d50f451ee 100644 --- a/internal/msg_transfer/logic/online_history_msg_handler.go +++ b/internal/msg_transfer/logic/online_history_msg_handler.go @@ -83,7 +83,6 @@ func (och *OnlineHistoryRedisConsumerHandler) Run(channelID int) { if !(!isSenderSync && msgChannelValue.aggregationID == v.MsgData.SendID) { notStoragePushMsgList = append(notStoragePushMsgList, v) } - } } @@ -107,6 +106,7 @@ func (och *OnlineHistoryRedisConsumerHandler) Run(channelID int) { singleMsgSuccessCount += uint64(len(storageMsgList)) singleMsgSuccessCountMutex.Unlock() och.SendMessageToMongoCH(msgChannelValue.aggregationID, triggerID, storageMsgList, lastSeq) + for _, v := range storageMsgList { sendMessageToPushMQ(v, msgChannelValue.aggregationID) } diff --git a/internal/rpc/msg/extend_msg.go b/internal/rpc/msg/extend_msg.go index baf48bc78..b0d83959f 100644 --- a/internal/rpc/msg/extend_msg.go +++ b/internal/rpc/msg/extend_msg.go @@ -12,52 +12,43 @@ import ( "time" ) -func (rpc *rpcChat) SetMessageReactionExtensions(ctx context.Context, req *msg.ModifyMessageReactionExtensionsReq) (resp *msg.ModifyMessageReactionExtensionsResp, err error) { - var rResp msg.ModifyMessageReactionExtensionsResp - var extendMsgResp msg.ExtendMsgResp - var failedExtendMsgResp msg.ExtendMsgResp - var oneExtendMsg msg.ExtendMsg - var failedExtendMsg msg.ExtendMsg - oneExtendMsg.ClientMsgID = req.ClientMsgID - oneExtendMsg.MsgFirstModifyTime = req.MsgFirstModifyTime - oneFailedReactionExtensionList := make(map[string]*msg.KeyValueResp) - oneSuccessReactionExtensionList := make(map[string]*msg.KeyValueResp) +func (rpc *rpcChat) SetMessageReactionExtensions(ctx context.Context, req *msg.SetMessageReactionExtensionsReq) (resp *msg.SetMessageReactionExtensionsResp, err error) { + log.Debug(req.OperationID, utils.GetSelfFuncName(), "rpc args is:", req.String()) + var rResp msg.SetMessageReactionExtensionsResp + rResp.ClientMsgID = req.ClientMsgID isExists, err := db.DB.JudgeMessageReactionEXISTS(req.ClientMsgID, req.SessionType) if err != nil { - extendMsgResp.ErrCode = 100 - extendMsgResp.ErrMsg = err.Error() - for k, value := range req.ReactionExtensionList { + rResp.ErrCode = 100 + rResp.ErrMsg = err.Error() + for _, value := range req.ReactionExtensionList { temp := new(msg.KeyValueResp) temp.KeyValue = value temp.ErrMsg = err.Error() temp.ErrCode = 100 - oneFailedReactionExtensionList[k] = temp + rResp.Result = append(rResp.Result, temp) } - oneExtendMsg.ReactionExtensionList = oneFailedReactionExtensionList - extendMsgResp.ExtendMsg = &oneExtendMsg - rResp.FailedList = append(rResp.FailedList, &extendMsgResp) return &rResp, nil } if !isExists { if !req.IsReact { log.Debug(req.OperationID, "redis handle firstly", req.String()) - oneExtendMsg.MsgFirstModifyTime = utils.GetCurrentTimestampByMill() + rResp.MsgFirstModifyTime = utils.GetCurrentTimestampByMill() //redis处理 for k, v := range req.ReactionExtensionList { //抢占分布式锁 err := lockMessageTypeKey(req.ClientMsgID, k) if err != nil { - setKeyResultInfo(oneFailedReactionExtensionList, 100, err.Error(), req.ClientMsgID, k, v) + setKeyResultInfo(&rResp, 100, err.Error(), req.ClientMsgID, k, v) continue } v.LatestUpdateTime = utils.GetCurrentTimestampByMill() newerr := db.DB.SetMessageTypeKeyValue(req.ClientMsgID, req.SessionType, k, utils.StructToJsonString(v)) if newerr != nil { - setKeyResultInfo(oneFailedReactionExtensionList, 201, newerr.Error(), req.ClientMsgID, k, v) + setKeyResultInfo(&rResp, 201, newerr.Error(), req.ClientMsgID, k, v) continue } - setKeyResultInfo(oneSuccessReactionExtensionList, 0, "", req.ClientMsgID, k, v) + setKeyResultInfo(&rResp, 0, "", req.ClientMsgID, k, v) } _, err := db.DB.SetMessageReactionExpire(req.ClientMsgID, req.SessionType, time.Duration(24*3)*time.Hour) if err != nil { @@ -74,53 +65,47 @@ func (rpc *rpcChat) SetMessageReactionExtensions(ctx context.Context, req *msg.M //抢占分布式锁 err := lockMessageTypeKey(req.ClientMsgID, k) if err != nil { - setKeyResultInfo(oneFailedReactionExtensionList, 100, err.Error(), req.ClientMsgID, k, v) + setKeyResultInfo(&rResp, 100, err.Error(), req.ClientMsgID, k, v) continue } redisValue, err := db.DB.GetMessageTypeKeyValue(req.ClientMsgID, req.SessionType, k) if err != nil && err != go_redis.Nil { - setKeyResultInfo(oneFailedReactionExtensionList, 200, err.Error(), req.ClientMsgID, k, v) + setKeyResultInfo(&rResp, 200, err.Error(), req.ClientMsgID, k, v) continue } temp := new(server_api_params.KeyValue) utils.JsonStringToStruct(redisValue, temp) if v.LatestUpdateTime != temp.LatestUpdateTime { - setKeyResultInfo(oneFailedReactionExtensionList, 300, "message have update", req.ClientMsgID, k, temp) + setKeyResultInfo(&rResp, 300, "message have update", req.ClientMsgID, k, temp) continue } else { v.LatestUpdateTime = utils.GetCurrentTimestampByMill() newerr := db.DB.SetMessageTypeKeyValue(req.ClientMsgID, req.SessionType, k, utils.StructToJsonString(v)) if newerr != nil { - setKeyResultInfo(oneFailedReactionExtensionList, 201, newerr.Error(), req.ClientMsgID, k, temp) + setKeyResultInfo(&rResp, 201, newerr.Error(), req.ClientMsgID, k, temp) continue } - setKeyResultInfo(oneSuccessReactionExtensionList, 0, "", req.ClientMsgID, k, v) + setKeyResultInfo(&rResp, 0, "", req.ClientMsgID, k, v) } } } - - oneExtendMsg.ReactionExtensionList = oneSuccessReactionExtensionList - extendMsgResp.ExtendMsg = &oneExtendMsg - failedExtendMsg.ReactionExtensionList = oneFailedReactionExtensionList - failedExtendMsgResp.ExtendMsg = &failedExtendMsg - rResp.FailedList = append(rResp.FailedList, &failedExtendMsgResp) - rResp.SuccessList = append(rResp.FailedList, &extendMsgResp) if !isExists && !req.IsReact { ExtendMessageUpdatedNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, true) } else { ExtendMessageUpdatedNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, false) } + log.Debug(req.OperationID, utils.GetSelfFuncName(), "rpc return is:", rResp.String()) return &rResp, nil } -func setKeyResultInfo(m map[string]*msg.KeyValueResp, errCode int32, errMsg, clientMsgID, typeKey string, keyValue *server_api_params.KeyValue) { +func setKeyResultInfo(r *msg.SetMessageReactionExtensionsResp, errCode int32, errMsg, clientMsgID, typeKey string, keyValue *server_api_params.KeyValue) { temp := new(msg.KeyValueResp) temp.KeyValue = keyValue temp.ErrCode = errCode temp.ErrMsg = errMsg - m[typeKey] = temp + r.Result = append(r.Result, temp) _ = db.DB.UnLockMessageTypeKey(clientMsgID, typeKey) } diff --git a/internal/rpc/msg/extend_msg.notification.go b/internal/rpc/msg/extend_msg.notification.go index 957e50e40..cf91463cd 100644 --- a/internal/rpc/msg/extend_msg.notification.go +++ b/internal/rpc/msg/extend_msg.notification.go @@ -13,7 +13,7 @@ import ( ) func ExtendMessageUpdatedNotification(operationID, sendID string, sourceID string, sessionType int32, - req *msg.ModifyMessageReactionExtensionsReq, resp *msg.ModifyMessageReactionExtensionsResp, isHistory bool) { + req *msg.SetMessageReactionExtensionsReq, resp *msg.SetMessageReactionExtensionsResp, isHistory bool) { m := make(map[string]interface{}) m["rep"] = req m["resp"] = resp diff --git a/pkg/base_info/msg.go b/pkg/base_info/msg.go index 193ea40ab..4e6f0cbd6 100644 --- a/pkg/base_info/msg.go +++ b/pkg/base_info/msg.go @@ -69,8 +69,8 @@ type ModifyMessageReactionExtensionsReq struct { type ModifyMessageReactionExtensionsResp struct { CommResp Data struct { - SuccessList []*msg.ExtendMsgResp `json:"successList"` - FailedList []*msg.ExtendMsgResp `json:"failedList"` + SuccessList []*msg.ExtendMsgResp `json:"successList,omitempty"` + FailedList []*msg.ExtendMsgResp `json:"failedList,omitempty"` } `json:"data"` } diff --git a/pkg/proto/msg/msg.proto b/pkg/proto/msg/msg.proto index 48292ae06..3dd7391f8 100644 --- a/pkg/proto/msg/msg.proto +++ b/pkg/proto/msg/msg.proto @@ -167,6 +167,26 @@ message ModifyMessageReactionExtensionsReq { bool isExternalExtensions = 10; int64 msgFirstModifyTime = 11; } +message SetMessageReactionExtensionsReq { + string operationID = 1; + string sourceID = 2; + string opUserID = 3; + int32 sessionType = 4; + map reactionExtensionList = 5; + string clientMsgID = 6; + google.protobuf.StringValue ex = 7; + google.protobuf.StringValue attachedInfo = 8; + bool isReact = 9; + bool isExternalExtensions = 10; + int64 msgFirstModifyTime = 11; +} +message SetMessageReactionExtensionsResp { + int32 errCode = 1; + string errMsg = 2; + string clientMsgID = 3; + int64 msgFirstModifyTime = 4; + repeated KeyValueResp result = 5; +} message ModifyMessageReactionExtensionsResp { int32 errCode = 1; @@ -229,7 +249,7 @@ service msg { rpc GetWriteDiffMsg(GetWriteDiffMsgReq) returns(GetWriteDiffMsgResp); // modify msg - rpc SetMessageReactionExtensions(ModifyMessageReactionExtensionsReq) returns(ModifyMessageReactionExtensionsResp); + rpc SetMessageReactionExtensions(SetMessageReactionExtensionsReq) returns(SetMessageReactionExtensionsResp); rpc GetMessageListReactionExtensions(OperateMessageListReactionExtensionsReq) returns(OperateMessageListReactionExtensionsResp); rpc AddMessageReactionExtensions(ModifyMessageReactionExtensionsReq) returns(ModifyMessageReactionExtensionsResp); rpc DeleteMessageReactionExtensions(OperateMessageListReactionExtensionsReq) returns(OperateMessageListReactionExtensionsResp); From 1acf21371b8036e35c4394847d3e1e7481fcd486 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 12 Dec 2022 15:35:02 +0800 Subject: [PATCH 088/176] reaction message add expiration --- pkg/proto/msg/msg.pb.go | 458 ++++++++++++++++++++++++++++------------ 1 file changed, 327 insertions(+), 131 deletions(-) diff --git a/pkg/proto/msg/msg.pb.go b/pkg/proto/msg/msg.pb.go index 399ddf4a8..c0dc9e5c2 100644 --- a/pkg/proto/msg/msg.pb.go +++ b/pkg/proto/msg/msg.pb.go @@ -38,7 +38,7 @@ func (m *MsgDataToMQ) Reset() { *m = MsgDataToMQ{} } func (m *MsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMQ) ProtoMessage() {} func (*MsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{0} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{0} } func (m *MsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMQ.Unmarshal(m, b) @@ -91,7 +91,7 @@ func (m *MsgDataToDB) Reset() { *m = MsgDataToDB{} } func (m *MsgDataToDB) String() string { return proto.CompactTextString(m) } func (*MsgDataToDB) ProtoMessage() {} func (*MsgDataToDB) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{1} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{1} } func (m *MsgDataToDB) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToDB.Unmarshal(m, b) @@ -138,7 +138,7 @@ func (m *PushMsgDataToMQ) Reset() { *m = PushMsgDataToMQ{} } func (m *PushMsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*PushMsgDataToMQ) ProtoMessage() {} func (*PushMsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{2} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{2} } func (m *PushMsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PushMsgDataToMQ.Unmarshal(m, b) @@ -193,7 +193,7 @@ func (m *MsgDataToMongoByMQ) Reset() { *m = MsgDataToMongoByMQ{} } func (m *MsgDataToMongoByMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMongoByMQ) ProtoMessage() {} func (*MsgDataToMongoByMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{3} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{3} } func (m *MsgDataToMongoByMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMongoByMQ.Unmarshal(m, b) @@ -273,7 +273,7 @@ func (m *GetMaxAndMinSeqReq) Reset() { *m = GetMaxAndMinSeqReq{} } func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqReq) ProtoMessage() {} func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{4} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{4} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -321,7 +321,7 @@ func (m *GetMaxAndMinSeqResp) Reset() { *m = GetMaxAndMinSeqResp{} } func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqResp) ProtoMessage() {} func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{5} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{5} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -382,7 +382,7 @@ func (m *SendMsgReq) Reset() { *m = SendMsgReq{} } func (m *SendMsgReq) String() string { return proto.CompactTextString(m) } func (*SendMsgReq) ProtoMessage() {} func (*SendMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{6} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{6} } func (m *SendMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgReq.Unmarshal(m, b) @@ -438,7 +438,7 @@ func (m *SendMsgResp) Reset() { *m = SendMsgResp{} } func (m *SendMsgResp) String() string { return proto.CompactTextString(m) } func (*SendMsgResp) ProtoMessage() {} func (*SendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{7} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{7} } func (m *SendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgResp.Unmarshal(m, b) @@ -506,7 +506,7 @@ func (m *ClearMsgReq) Reset() { *m = ClearMsgReq{} } func (m *ClearMsgReq) String() string { return proto.CompactTextString(m) } func (*ClearMsgReq) ProtoMessage() {} func (*ClearMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{8} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{8} } func (m *ClearMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgReq.Unmarshal(m, b) @@ -559,7 +559,7 @@ func (m *ClearMsgResp) Reset() { *m = ClearMsgResp{} } func (m *ClearMsgResp) String() string { return proto.CompactTextString(m) } func (*ClearMsgResp) ProtoMessage() {} func (*ClearMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{9} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{9} } func (m *ClearMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgResp.Unmarshal(m, b) @@ -608,7 +608,7 @@ func (m *SetMsgMinSeqReq) Reset() { *m = SetMsgMinSeqReq{} } func (m *SetMsgMinSeqReq) String() string { return proto.CompactTextString(m) } func (*SetMsgMinSeqReq) ProtoMessage() {} func (*SetMsgMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{10} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{10} } func (m *SetMsgMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqReq.Unmarshal(m, b) @@ -675,7 +675,7 @@ func (m *SetMsgMinSeqResp) Reset() { *m = SetMsgMinSeqResp{} } func (m *SetMsgMinSeqResp) String() string { return proto.CompactTextString(m) } func (*SetMsgMinSeqResp) ProtoMessage() {} func (*SetMsgMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{11} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{11} } func (m *SetMsgMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqResp.Unmarshal(m, b) @@ -721,7 +721,7 @@ func (m *SetSendMsgStatusReq) Reset() { *m = SetSendMsgStatusReq{} } func (m *SetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (*SetSendMsgStatusReq) ProtoMessage() {} func (*SetSendMsgStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{12} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{12} } func (m *SetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgStatusReq.Unmarshal(m, b) @@ -767,7 +767,7 @@ func (m *SetSendMsgStatusResp) Reset() { *m = SetSendMsgStatusResp{} } func (m *SetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (*SetSendMsgStatusResp) ProtoMessage() {} func (*SetSendMsgStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{13} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{13} } func (m *SetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgStatusResp.Unmarshal(m, b) @@ -812,7 +812,7 @@ func (m *GetSendMsgStatusReq) Reset() { *m = GetSendMsgStatusReq{} } func (m *GetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (*GetSendMsgStatusReq) ProtoMessage() {} func (*GetSendMsgStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{14} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{14} } func (m *GetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusReq.Unmarshal(m, b) @@ -852,7 +852,7 @@ func (m *GetSendMsgStatusResp) Reset() { *m = GetSendMsgStatusResp{} } func (m *GetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (*GetSendMsgStatusResp) ProtoMessage() {} func (*GetSendMsgStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{15} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{15} } func (m *GetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusResp.Unmarshal(m, b) @@ -907,7 +907,7 @@ func (m *DelSuperGroupMsgReq) Reset() { *m = DelSuperGroupMsgReq{} } func (m *DelSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (*DelSuperGroupMsgReq) ProtoMessage() {} func (*DelSuperGroupMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{16} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{16} } func (m *DelSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelSuperGroupMsgReq.Unmarshal(m, b) @@ -967,7 +967,7 @@ func (m *DelSuperGroupMsgResp) Reset() { *m = DelSuperGroupMsgResp{} } func (m *DelSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (*DelSuperGroupMsgResp) ProtoMessage() {} func (*DelSuperGroupMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{17} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{17} } func (m *DelSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelSuperGroupMsgResp.Unmarshal(m, b) @@ -1014,7 +1014,7 @@ func (m *GetSuperGroupMsgReq) Reset() { *m = GetSuperGroupMsgReq{} } func (m *GetSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupMsgReq) ProtoMessage() {} func (*GetSuperGroupMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{18} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{18} } func (m *GetSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupMsgReq.Unmarshal(m, b) @@ -1068,7 +1068,7 @@ func (m *GetSuperGroupMsgResp) Reset() { *m = GetSuperGroupMsgResp{} } func (m *GetSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupMsgResp) ProtoMessage() {} func (*GetSuperGroupMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{19} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{19} } func (m *GetSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupMsgResp.Unmarshal(m, b) @@ -1121,7 +1121,7 @@ func (m *GetWriteDiffMsgReq) Reset() { *m = GetWriteDiffMsgReq{} } func (m *GetWriteDiffMsgReq) String() string { return proto.CompactTextString(m) } func (*GetWriteDiffMsgReq) ProtoMessage() {} func (*GetWriteDiffMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{20} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{20} } func (m *GetWriteDiffMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetWriteDiffMsgReq.Unmarshal(m, b) @@ -1168,7 +1168,7 @@ func (m *GetWriteDiffMsgResp) Reset() { *m = GetWriteDiffMsgResp{} } func (m *GetWriteDiffMsgResp) String() string { return proto.CompactTextString(m) } func (*GetWriteDiffMsgResp) ProtoMessage() {} func (*GetWriteDiffMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{21} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{21} } func (m *GetWriteDiffMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetWriteDiffMsgResp.Unmarshal(m, b) @@ -1230,7 +1230,7 @@ func (m *ModifyMessageReactionExtensionsReq) Reset() { *m = ModifyMessag func (m *ModifyMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*ModifyMessageReactionExtensionsReq) ProtoMessage() {} func (*ModifyMessageReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{22} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{22} } func (m *ModifyMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyMessageReactionExtensionsReq.Unmarshal(m, b) @@ -1327,6 +1327,194 @@ func (m *ModifyMessageReactionExtensionsReq) GetMsgFirstModifyTime() int64 { return 0 } +type SetMessageReactionExtensionsReq struct { + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + SourceID string `protobuf:"bytes,2,opt,name=sourceID" json:"sourceID,omitempty"` + OpUserID string `protobuf:"bytes,3,opt,name=opUserID" json:"opUserID,omitempty"` + SessionType int32 `protobuf:"varint,4,opt,name=sessionType" json:"sessionType,omitempty"` + ReactionExtensionList map[string]*sdk_ws.KeyValue `protobuf:"bytes,5,rep,name=reactionExtensionList" json:"reactionExtensionList,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + ClientMsgID string `protobuf:"bytes,6,opt,name=clientMsgID" json:"clientMsgID,omitempty"` + Ex *wrapperspb.StringValue `protobuf:"bytes,7,opt,name=ex" json:"ex,omitempty"` + AttachedInfo *wrapperspb.StringValue `protobuf:"bytes,8,opt,name=attachedInfo" json:"attachedInfo,omitempty"` + IsReact bool `protobuf:"varint,9,opt,name=isReact" json:"isReact,omitempty"` + IsExternalExtensions bool `protobuf:"varint,10,opt,name=isExternalExtensions" json:"isExternalExtensions,omitempty"` + MsgFirstModifyTime int64 `protobuf:"varint,11,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SetMessageReactionExtensionsReq) Reset() { *m = SetMessageReactionExtensionsReq{} } +func (m *SetMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) } +func (*SetMessageReactionExtensionsReq) ProtoMessage() {} +func (*SetMessageReactionExtensionsReq) Descriptor() ([]byte, []int) { + return fileDescriptor_msg_e249cc2dfcfd259f, []int{23} +} +func (m *SetMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SetMessageReactionExtensionsReq.Unmarshal(m, b) +} +func (m *SetMessageReactionExtensionsReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SetMessageReactionExtensionsReq.Marshal(b, m, deterministic) +} +func (dst *SetMessageReactionExtensionsReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_SetMessageReactionExtensionsReq.Merge(dst, src) +} +func (m *SetMessageReactionExtensionsReq) XXX_Size() int { + return xxx_messageInfo_SetMessageReactionExtensionsReq.Size(m) +} +func (m *SetMessageReactionExtensionsReq) XXX_DiscardUnknown() { + xxx_messageInfo_SetMessageReactionExtensionsReq.DiscardUnknown(m) +} + +var xxx_messageInfo_SetMessageReactionExtensionsReq proto.InternalMessageInfo + +func (m *SetMessageReactionExtensionsReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *SetMessageReactionExtensionsReq) GetSourceID() string { + if m != nil { + return m.SourceID + } + return "" +} + +func (m *SetMessageReactionExtensionsReq) GetOpUserID() string { + if m != nil { + return m.OpUserID + } + return "" +} + +func (m *SetMessageReactionExtensionsReq) GetSessionType() int32 { + if m != nil { + return m.SessionType + } + return 0 +} + +func (m *SetMessageReactionExtensionsReq) GetReactionExtensionList() map[string]*sdk_ws.KeyValue { + if m != nil { + return m.ReactionExtensionList + } + return nil +} + +func (m *SetMessageReactionExtensionsReq) GetClientMsgID() string { + if m != nil { + return m.ClientMsgID + } + return "" +} + +func (m *SetMessageReactionExtensionsReq) GetEx() *wrapperspb.StringValue { + if m != nil { + return m.Ex + } + return nil +} + +func (m *SetMessageReactionExtensionsReq) GetAttachedInfo() *wrapperspb.StringValue { + if m != nil { + return m.AttachedInfo + } + return nil +} + +func (m *SetMessageReactionExtensionsReq) GetIsReact() bool { + if m != nil { + return m.IsReact + } + return false +} + +func (m *SetMessageReactionExtensionsReq) GetIsExternalExtensions() bool { + if m != nil { + return m.IsExternalExtensions + } + return false +} + +func (m *SetMessageReactionExtensionsReq) GetMsgFirstModifyTime() int64 { + if m != nil { + return m.MsgFirstModifyTime + } + return 0 +} + +type SetMessageReactionExtensionsResp struct { + ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` + ClientMsgID string `protobuf:"bytes,3,opt,name=clientMsgID" json:"clientMsgID,omitempty"` + MsgFirstModifyTime int64 `protobuf:"varint,4,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"` + Result []*KeyValueResp `protobuf:"bytes,5,rep,name=result" json:"result,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SetMessageReactionExtensionsResp) Reset() { *m = SetMessageReactionExtensionsResp{} } +func (m *SetMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) } +func (*SetMessageReactionExtensionsResp) ProtoMessage() {} +func (*SetMessageReactionExtensionsResp) Descriptor() ([]byte, []int) { + return fileDescriptor_msg_e249cc2dfcfd259f, []int{24} +} +func (m *SetMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SetMessageReactionExtensionsResp.Unmarshal(m, b) +} +func (m *SetMessageReactionExtensionsResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SetMessageReactionExtensionsResp.Marshal(b, m, deterministic) +} +func (dst *SetMessageReactionExtensionsResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_SetMessageReactionExtensionsResp.Merge(dst, src) +} +func (m *SetMessageReactionExtensionsResp) XXX_Size() int { + return xxx_messageInfo_SetMessageReactionExtensionsResp.Size(m) +} +func (m *SetMessageReactionExtensionsResp) XXX_DiscardUnknown() { + xxx_messageInfo_SetMessageReactionExtensionsResp.DiscardUnknown(m) +} + +var xxx_messageInfo_SetMessageReactionExtensionsResp proto.InternalMessageInfo + +func (m *SetMessageReactionExtensionsResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode + } + return 0 +} + +func (m *SetMessageReactionExtensionsResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg + } + return "" +} + +func (m *SetMessageReactionExtensionsResp) GetClientMsgID() string { + if m != nil { + return m.ClientMsgID + } + return "" +} + +func (m *SetMessageReactionExtensionsResp) GetMsgFirstModifyTime() int64 { + if m != nil { + return m.MsgFirstModifyTime + } + return 0 +} + +func (m *SetMessageReactionExtensionsResp) GetResult() []*KeyValueResp { + if m != nil { + return m.Result + } + return nil +} + type ModifyMessageReactionExtensionsResp struct { ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` @@ -1341,7 +1529,7 @@ func (m *ModifyMessageReactionExtensionsResp) Reset() { *m = ModifyMessa func (m *ModifyMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*ModifyMessageReactionExtensionsResp) ProtoMessage() {} func (*ModifyMessageReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{23} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{25} } func (m *ModifyMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyMessageReactionExtensionsResp.Unmarshal(m, b) @@ -1406,7 +1594,7 @@ func (m *OperateMessageListReactionExtensionsReq) Reset() { func (m *OperateMessageListReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*OperateMessageListReactionExtensionsReq) ProtoMessage() {} func (*OperateMessageListReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{24} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{26} } func (m *OperateMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OperateMessageListReactionExtensionsReq.Unmarshal(m, b) @@ -1478,7 +1666,7 @@ func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) String() st } func (*OperateMessageListReactionExtensionsReq_MessageReactionKey) ProtoMessage() {} func (*OperateMessageListReactionExtensionsReq_MessageReactionKey) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{24, 0} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{26, 0} } func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OperateMessageListReactionExtensionsReq_MessageReactionKey.Unmarshal(m, b) @@ -1535,7 +1723,7 @@ func (m *OperateMessageListReactionExtensionsResp) Reset() { func (m *OperateMessageListReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*OperateMessageListReactionExtensionsResp) ProtoMessage() {} func (*OperateMessageListReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{25} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{27} } func (m *OperateMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OperateMessageListReactionExtensionsResp.Unmarshal(m, b) @@ -1596,7 +1784,7 @@ func (m *ExtendMsgResp) Reset() { *m = ExtendMsgResp{} } func (m *ExtendMsgResp) String() string { return proto.CompactTextString(m) } func (*ExtendMsgResp) ProtoMessage() {} func (*ExtendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{26} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{28} } func (m *ExtendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExtendMsgResp.Unmarshal(m, b) @@ -1652,7 +1840,7 @@ func (m *ExtendMsg) Reset() { *m = ExtendMsg{} } func (m *ExtendMsg) String() string { return proto.CompactTextString(m) } func (*ExtendMsg) ProtoMessage() {} func (*ExtendMsg) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{27} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{29} } func (m *ExtendMsg) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExtendMsg.Unmarshal(m, b) @@ -1720,7 +1908,7 @@ func (m *KeyValueResp) Reset() { *m = KeyValueResp{} } func (m *KeyValueResp) String() string { return proto.CompactTextString(m) } func (*KeyValueResp) ProtoMessage() {} func (*KeyValueResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{28} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{30} } func (m *KeyValueResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_KeyValueResp.Unmarshal(m, b) @@ -1786,6 +1974,9 @@ func init() { proto.RegisterType((*GetWriteDiffMsgResp)(nil), "msg.GetWriteDiffMsgResp") proto.RegisterType((*ModifyMessageReactionExtensionsReq)(nil), "msg.ModifyMessageReactionExtensionsReq") proto.RegisterMapType((map[string]*sdk_ws.KeyValue)(nil), "msg.ModifyMessageReactionExtensionsReq.ReactionExtensionListEntry") + proto.RegisterType((*SetMessageReactionExtensionsReq)(nil), "msg.SetMessageReactionExtensionsReq") + proto.RegisterMapType((map[string]*sdk_ws.KeyValue)(nil), "msg.SetMessageReactionExtensionsReq.ReactionExtensionListEntry") + proto.RegisterType((*SetMessageReactionExtensionsResp)(nil), "msg.SetMessageReactionExtensionsResp") proto.RegisterType((*ModifyMessageReactionExtensionsResp)(nil), "msg.ModifyMessageReactionExtensionsResp") proto.RegisterType((*OperateMessageListReactionExtensionsReq)(nil), "msg.OperateMessageListReactionExtensionsReq") proto.RegisterType((*OperateMessageListReactionExtensionsReq_MessageReactionKey)(nil), "msg.OperateMessageListReactionExtensionsReq.MessageReactionKey") @@ -1819,7 +2010,7 @@ type MsgClient interface { GetSuperGroupMsg(ctx context.Context, in *GetSuperGroupMsgReq, opts ...grpc.CallOption) (*GetSuperGroupMsgResp, error) GetWriteDiffMsg(ctx context.Context, in *GetWriteDiffMsgReq, opts ...grpc.CallOption) (*GetWriteDiffMsgResp, error) // modify msg - SetMessageReactionExtensions(ctx context.Context, in *ModifyMessageReactionExtensionsReq, opts ...grpc.CallOption) (*ModifyMessageReactionExtensionsResp, error) + SetMessageReactionExtensions(ctx context.Context, in *SetMessageReactionExtensionsReq, opts ...grpc.CallOption) (*SetMessageReactionExtensionsResp, error) GetMessageListReactionExtensions(ctx context.Context, in *OperateMessageListReactionExtensionsReq, opts ...grpc.CallOption) (*OperateMessageListReactionExtensionsResp, error) AddMessageReactionExtensions(ctx context.Context, in *ModifyMessageReactionExtensionsReq, opts ...grpc.CallOption) (*ModifyMessageReactionExtensionsResp, error) DeleteMessageReactionExtensions(ctx context.Context, in *OperateMessageListReactionExtensionsReq, opts ...grpc.CallOption) (*OperateMessageListReactionExtensionsResp, error) @@ -1932,8 +2123,8 @@ func (c *msgClient) GetWriteDiffMsg(ctx context.Context, in *GetWriteDiffMsgReq, return out, nil } -func (c *msgClient) SetMessageReactionExtensions(ctx context.Context, in *ModifyMessageReactionExtensionsReq, opts ...grpc.CallOption) (*ModifyMessageReactionExtensionsResp, error) { - out := new(ModifyMessageReactionExtensionsResp) +func (c *msgClient) SetMessageReactionExtensions(ctx context.Context, in *SetMessageReactionExtensionsReq, opts ...grpc.CallOption) (*SetMessageReactionExtensionsResp, error) { + out := new(SetMessageReactionExtensionsResp) err := grpc.Invoke(ctx, "/msg.msg/SetMessageReactionExtensions", in, out, c.cc, opts...) if err != nil { return nil, err @@ -1983,7 +2174,7 @@ type MsgServer interface { GetSuperGroupMsg(context.Context, *GetSuperGroupMsgReq) (*GetSuperGroupMsgResp, error) GetWriteDiffMsg(context.Context, *GetWriteDiffMsgReq) (*GetWriteDiffMsgResp, error) // modify msg - SetMessageReactionExtensions(context.Context, *ModifyMessageReactionExtensionsReq) (*ModifyMessageReactionExtensionsResp, error) + SetMessageReactionExtensions(context.Context, *SetMessageReactionExtensionsReq) (*SetMessageReactionExtensionsResp, error) GetMessageListReactionExtensions(context.Context, *OperateMessageListReactionExtensionsReq) (*OperateMessageListReactionExtensionsResp, error) AddMessageReactionExtensions(context.Context, *ModifyMessageReactionExtensionsReq) (*ModifyMessageReactionExtensionsResp, error) DeleteMessageReactionExtensions(context.Context, *OperateMessageListReactionExtensionsReq) (*OperateMessageListReactionExtensionsResp, error) @@ -2192,7 +2383,7 @@ func _Msg_GetWriteDiffMsg_Handler(srv interface{}, ctx context.Context, dec func } func _Msg_SetMessageReactionExtensions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ModifyMessageReactionExtensionsReq) + in := new(SetMessageReactionExtensionsReq) if err := dec(in); err != nil { return nil, err } @@ -2204,7 +2395,7 @@ func _Msg_SetMessageReactionExtensions_Handler(srv interface{}, ctx context.Cont FullMethod: "/msg.msg/SetMessageReactionExtensions", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).SetMessageReactionExtensions(ctx, req.(*ModifyMessageReactionExtensionsReq)) + return srv.(MsgServer).SetMessageReactionExtensions(ctx, req.(*SetMessageReactionExtensionsReq)) } return interceptor(ctx, in, info, handler) } @@ -2332,100 +2523,105 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ Metadata: "msg/msg.proto", } -func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_6ec0bb4bc5c02b03) } +func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_e249cc2dfcfd259f) } -var fileDescriptor_msg_6ec0bb4bc5c02b03 = []byte{ - // 1467 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x58, 0x4b, 0x73, 0x1b, 0xc5, - 0x13, 0xaf, 0xd5, 0x5a, 0x7e, 0xb4, 0xec, 0xd8, 0x99, 0x38, 0xfe, 0x2b, 0x9b, 0x54, 0xfd, 0xc5, - 0xf2, 0x88, 0x80, 0x44, 0x2e, 0x0c, 0x55, 0xa1, 0xc8, 0x81, 0xc4, 0x91, 0x51, 0x5c, 0x61, 0x71, - 0xbc, 0x32, 0x50, 0x05, 0x07, 0x67, 0x23, 0xb5, 0x37, 0x5b, 0xd6, 0x3e, 0xbc, 0xb3, 0x8a, 0x2d, - 0x28, 0xc2, 0x89, 0x23, 0x07, 0x6e, 0x70, 0xe2, 0xc6, 0x77, 0xe0, 0xc8, 0x85, 0x2b, 0x77, 0x3e, - 0x0d, 0x35, 0x33, 0x2b, 0x69, 0xf6, 0x15, 0xc9, 0x0a, 0xe5, 0xe2, 0xa6, 0xee, 0xe9, 0xed, 0xe9, - 0x5f, 0xf7, 0x6f, 0x66, 0xba, 0x05, 0x2b, 0x2e, 0xb5, 0x37, 0x5d, 0x6a, 0x37, 0x82, 0xd0, 0x8f, - 0x7c, 0xa2, 0xba, 0xd4, 0xd6, 0xea, 0x7b, 0x01, 0x7a, 0xb7, 0x77, 0x8d, 0xdb, 0x6d, 0x0c, 0x9f, - 0x63, 0xb8, 0x19, 0x1c, 0xdb, 0x9b, 0x7c, 0x79, 0x93, 0x76, 0x8f, 0x0f, 0x4f, 0xe9, 0xe6, 0x29, - 0x15, 0xe6, 0x5a, 0x63, 0xa2, 0x65, 0x68, 0x05, 0x01, 0x86, 0xb1, 0xbd, 0xfe, 0x2d, 0x54, 0x0c, - 0x6a, 0x37, 0xad, 0xc8, 0x3a, 0xf0, 0x8d, 0x7d, 0xb2, 0x0e, 0xe5, 0xc8, 0x3f, 0x46, 0xaf, 0xaa, - 0xd4, 0x94, 0xfa, 0x92, 0x29, 0x04, 0x52, 0x83, 0x8a, 0x1f, 0x60, 0x68, 0x45, 0x8e, 0xef, 0xed, - 0x36, 0xab, 0x25, 0xbe, 0x26, 0xab, 0xc8, 0x07, 0xb0, 0xe0, 0x0a, 0x37, 0x55, 0xb5, 0xa6, 0xd4, - 0x2b, 0x5b, 0x5a, 0x83, 0xf2, 0x00, 0x0e, 0xad, 0xc0, 0x39, 0x0c, 0xac, 0xd0, 0x72, 0x69, 0x23, - 0xde, 0xc8, 0x1c, 0x9a, 0xea, 0x28, 0x6d, 0xde, 0xdc, 0x96, 0x9d, 0x28, 0x53, 0x3b, 0x99, 0x1c, - 0x9c, 0xfe, 0xa3, 0x02, 0xab, 0x8f, 0xfb, 0xf4, 0x99, 0x0c, 0xb4, 0x06, 0x95, 0x3d, 0xe9, 0x2b, - 0x01, 0x57, 0x56, 0xc9, 0xd1, 0x94, 0xa6, 0x8f, 0x46, 0x87, 0xe5, 0xa0, 0x4f, 0x9f, 0x1d, 0xf8, - 0x9f, 0x53, 0x0c, 0x77, 0x9b, 0x3c, 0x1b, 0x4b, 0x66, 0x42, 0xa7, 0xff, 0xa6, 0x00, 0x19, 0xc7, - 0xe2, 0x7b, 0xb6, 0xbf, 0x3d, 0x30, 0xf6, 0x49, 0x15, 0x16, 0x7a, 0x16, 0x8d, 0xda, 0x78, 0xc2, - 0xc3, 0x99, 0x33, 0x87, 0x22, 0x79, 0x03, 0x56, 0x2c, 0xdb, 0x0e, 0xd1, 0x4e, 0x82, 0x4c, 0x2a, - 0xc9, 0x16, 0x54, 0x5c, 0xa4, 0xd4, 0xb2, 0xf1, 0x53, 0x87, 0x46, 0x55, 0xb5, 0xa6, 0xd6, 0x2b, - 0x5b, 0x6b, 0x0d, 0x46, 0x25, 0x09, 0xb9, 0x29, 0x1b, 0x91, 0x1b, 0xb0, 0x14, 0x85, 0x8e, 0x6d, - 0xf3, 0x58, 0xe7, 0xb8, 0xd7, 0xb1, 0x42, 0xff, 0x0c, 0x48, 0x0b, 0x23, 0xc3, 0x3a, 0xbb, 0xef, - 0x75, 0x0d, 0xc7, 0x6b, 0xe3, 0x89, 0x89, 0x27, 0x64, 0x03, 0xe6, 0x63, 0x70, 0x22, 0x6b, 0xb1, - 0x94, 0x4e, 0x69, 0x29, 0x93, 0x52, 0xfd, 0x14, 0xae, 0x64, 0xfc, 0xd1, 0x80, 0x01, 0xdf, 0x09, - 0xc3, 0x07, 0x7e, 0x17, 0xb9, 0xc7, 0xb2, 0x39, 0x14, 0xd9, 0x56, 0x3b, 0x61, 0x68, 0x50, 0x3b, - 0xf6, 0x16, 0x4b, 0x4c, 0x6f, 0x58, 0x67, 0x2c, 0x53, 0x2c, 0xbf, 0x2b, 0x66, 0x2c, 0x71, 0x3d, - 0xf7, 0xcb, 0xb1, 0x30, 0x3d, 0x97, 0xf4, 0x6f, 0x00, 0xda, 0xe8, 0x75, 0x0d, 0x6a, 0x33, 0x00, - 0x17, 0x4b, 0xf2, 0x5f, 0x15, 0xa8, 0x8c, 0x36, 0x17, 0x68, 0x31, 0x89, 0x16, 0xc7, 0x68, 0x31, - 0x81, 0x56, 0x48, 0x2c, 0x32, 0xb1, 0x8f, 0x41, 0xed, 0x51, 0x99, 0x64, 0x15, 0xb3, 0xe8, 0xf4, - 0x1c, 0xf4, 0x22, 0x61, 0x51, 0x16, 0x16, 0x92, 0x8a, 0x68, 0xb0, 0x48, 0xd1, 0xeb, 0x1e, 0x38, - 0x2e, 0x56, 0xe7, 0x6b, 0x4a, 0x5d, 0x35, 0x47, 0xb2, 0xde, 0x81, 0xca, 0x83, 0x1e, 0x5a, 0x61, - 0x9c, 0x9e, 0x0d, 0x98, 0xef, 0x27, 0xea, 0x2b, 0x24, 0xe6, 0xc2, 0x0f, 0xe2, 0xca, 0x8b, 0x00, - 0x47, 0x72, 0x3a, 0x79, 0x6a, 0xf6, 0x10, 0xde, 0x83, 0xe5, 0xf1, 0x26, 0xb3, 0xa4, 0x41, 0xff, - 0x45, 0x81, 0xd5, 0x36, 0x32, 0x3c, 0x09, 0x2e, 0xe6, 0xc6, 0x5a, 0x85, 0x05, 0x3b, 0xf4, 0xfb, - 0xc1, 0x28, 0xd4, 0xa1, 0xc8, 0xbe, 0x70, 0x05, 0x45, 0x62, 0xea, 0x08, 0x29, 0x8d, 0x60, 0x2e, - 0x5b, 0x7e, 0x19, 0x7f, 0x39, 0x89, 0x5f, 0x6f, 0xc2, 0x5a, 0x32, 0xb4, 0x99, 0x10, 0xee, 0xc1, - 0x95, 0x36, 0x46, 0x31, 0x59, 0xda, 0x91, 0x15, 0xf5, 0xa9, 0x99, 0x0d, 0x4d, 0xc9, 0x86, 0xb6, - 0x01, 0xf3, 0x94, 0x9b, 0x73, 0x87, 0x65, 0x33, 0x96, 0xf4, 0x87, 0xb0, 0x9e, 0x75, 0x38, 0x53, - 0x68, 0x77, 0xf8, 0xd1, 0x3d, 0x7f, 0x68, 0xfa, 0x13, 0x58, 0x6f, 0xfd, 0x2b, 0x21, 0x48, 0x20, - 0xd5, 0x04, 0xc8, 0x1f, 0x14, 0xb8, 0xd2, 0xc4, 0x5e, 0xbb, 0x1f, 0x60, 0xd8, 0x62, 0x55, 0x8e, - 0x79, 0x2c, 0xd7, 0x4b, 0x49, 0xf1, 0x75, 0xcc, 0x9b, 0x52, 0x11, 0x6f, 0xd4, 0x24, 0x6f, 0x26, - 0xf2, 0x83, 0x25, 0x3b, 0x1b, 0xc6, 0x4c, 0xc9, 0xee, 0x88, 0x64, 0xa7, 0x01, 0x4d, 0xe6, 0xc1, - 0x1a, 0xa8, 0x8c, 0xd9, 0x25, 0xce, 0x6c, 0xf6, 0xb3, 0x18, 0x90, 0xfe, 0x42, 0x14, 0xe6, 0xd5, - 0xc3, 0x9d, 0xf1, 0x5e, 0x7c, 0xc8, 0x1f, 0x97, 0x2f, 0x43, 0x27, 0xc2, 0xa6, 0x73, 0x74, 0x34, - 0x3b, 0x46, 0xfd, 0x3b, 0x9e, 0xae, 0xa4, 0xa7, 0x0b, 0x04, 0xf2, 0x53, 0x19, 0x74, 0xc3, 0xef, - 0x3a, 0x47, 0x03, 0x43, 0xbc, 0xac, 0x26, 0x5a, 0x1d, 0x16, 0xec, 0xce, 0x59, 0x84, 0x1e, 0x75, - 0x7c, 0x6f, 0xca, 0x53, 0xcc, 0xee, 0x68, 0xbf, 0x1f, 0x76, 0x70, 0x7c, 0xc1, 0x0e, 0xe5, 0x04, - 0x99, 0xd5, 0xec, 0xe5, 0x4b, 0x91, 0xb2, 0x8d, 0x0e, 0x06, 0x01, 0x72, 0x6a, 0x96, 0x4d, 0x59, - 0x45, 0xce, 0xe0, 0x6a, 0x98, 0x0e, 0x8a, 0x37, 0x09, 0x65, 0xde, 0x24, 0x6c, 0x8b, 0x26, 0x61, - 0x22, 0x86, 0x86, 0x99, 0xe7, 0x64, 0xc7, 0x8b, 0xc2, 0x81, 0x99, 0xbf, 0x41, 0xfa, 0x65, 0x9a, - 0xcf, 0xbe, 0x4c, 0xb7, 0xa0, 0x84, 0x67, 0xd5, 0x05, 0x9e, 0xef, 0x1b, 0x0d, 0xdb, 0xf7, 0xed, - 0x1e, 0x8a, 0xe6, 0xf4, 0x69, 0xff, 0xa8, 0xd1, 0x8e, 0x42, 0xc7, 0xb3, 0xbf, 0xb0, 0x7a, 0x7d, - 0x34, 0x4b, 0x78, 0x46, 0xee, 0xc1, 0xb2, 0x15, 0x45, 0x56, 0xe7, 0x19, 0x76, 0x77, 0xbd, 0x23, - 0xbf, 0xba, 0x38, 0xc5, 0x77, 0x89, 0x2f, 0x18, 0x2d, 0x1c, 0xca, 0x81, 0x54, 0x97, 0x6a, 0x4a, - 0x7d, 0xd1, 0x1c, 0x8a, 0x64, 0x0b, 0xd6, 0x1d, 0xca, 0xc2, 0x0f, 0x3d, 0xab, 0x37, 0x06, 0x5e, - 0x05, 0x6e, 0x96, 0xbb, 0x46, 0x1a, 0x40, 0x5c, 0x6a, 0x7f, 0xe2, 0x84, 0x34, 0x12, 0xf9, 0xe3, - 0x2f, 0x6c, 0x85, 0xbf, 0xb0, 0x39, 0x2b, 0x1a, 0x82, 0x56, 0x9c, 0x44, 0xc6, 0xed, 0x63, 0x1c, - 0xc4, 0xdc, 0x60, 0x3f, 0xc9, 0x7b, 0x50, 0x7e, 0xce, 0x40, 0xc4, 0x3d, 0xe8, 0xf5, 0x1c, 0x42, - 0x3e, 0xc2, 0x81, 0xc0, 0x29, 0x2c, 0x3f, 0x2a, 0x7d, 0xa8, 0xe8, 0x7f, 0x28, 0xf0, 0xfa, 0xc4, - 0x7a, 0xce, 0x78, 0x46, 0x2a, 0xb4, 0xdf, 0xe9, 0x20, 0xa5, 0x52, 0x97, 0x49, 0x38, 0x81, 0xb8, - 0xef, 0x61, 0x9f, 0x63, 0xca, 0x66, 0x64, 0x0b, 0xe0, 0xc8, 0x72, 0x7a, 0xd8, 0xe5, 0x1f, 0xcd, - 0x15, 0x7e, 0x24, 0x59, 0xe9, 0x7f, 0xab, 0x70, 0x53, 0x74, 0x8f, 0x68, 0x8c, 0x5b, 0xd6, 0x57, - 0x38, 0x5c, 0x85, 0xdd, 0x8b, 0x7c, 0xf0, 0xd4, 0xd4, 0xc1, 0x9b, 0x7c, 0xb8, 0x4e, 0x61, 0xc3, - 0x4d, 0x26, 0xf9, 0x11, 0x0e, 0xa4, 0xd3, 0xf5, 0x31, 0xc7, 0x39, 0x25, 0x92, 0x86, 0x91, 0x71, - 0x65, 0x16, 0xb8, 0xd7, 0x7e, 0x67, 0x73, 0x44, 0x66, 0x29, 0x7d, 0xe4, 0x94, 0xec, 0x91, 0xcb, - 0x27, 0x6d, 0xa9, 0x88, 0xb4, 0x64, 0xbf, 0xe8, 0xfa, 0x10, 0xd5, 0x7f, 0x29, 0x29, 0xf3, 0xbf, - 0xd4, 0xff, 0x54, 0xa0, 0x3e, 0x5d, 0x4a, 0xfe, 0xe3, 0x2c, 0xf5, 0x61, 0x25, 0xb1, 0x48, 0x6e, - 0xc1, 0x12, 0x0e, 0x15, 0xf1, 0x1c, 0x7b, 0x29, 0xe5, 0x63, 0x6c, 0x20, 0x43, 0x2b, 0x15, 0x41, - 0x53, 0x13, 0xcd, 0xc1, 0x5f, 0x25, 0x58, 0x1a, 0xb9, 0x22, 0x87, 0x45, 0xa5, 0x51, 0x78, 0xf4, - 0x6f, 0x27, 0x77, 0x7e, 0xf5, 0x0b, 0xbc, 0x34, 0x2d, 0x9b, 0xd4, 0x42, 0x36, 0xe9, 0xa9, 0x2b, - 0x5c, 0xb4, 0x52, 0xc9, 0x4b, 0xfa, 0x12, 0x7f, 0x14, 0x44, 0x97, 0x5d, 0xc2, 0x33, 0xed, 0xeb, - 0x73, 0x5e, 0x9b, 0x37, 0x93, 0xd7, 0xe6, 0x65, 0x9e, 0x86, 0x11, 0x27, 0x59, 0x0d, 0xa5, 0xcb, - 0x72, 0x00, 0xcb, 0xf2, 0x12, 0xb9, 0x03, 0x8b, 0xc7, 0xb1, 0x1c, 0x17, 0xf0, 0xa5, 0x0c, 0x1f, - 0x19, 0x9f, 0xbf, 0x98, 0x5b, 0x3f, 0x03, 0xa8, 0x2e, 0xb5, 0xc9, 0x13, 0x58, 0x4d, 0x4d, 0xc6, - 0xe4, 0xcd, 0x9c, 0x3d, 0xb3, 0xd3, 0xb8, 0xf6, 0xd6, 0x34, 0x66, 0x34, 0x20, 0x3e, 0xac, 0x3f, - 0xee, 0xf7, 0x7a, 0xf1, 0x61, 0xdb, 0x1e, 0xb4, 0xf1, 0x84, 0xd7, 0xf7, 0x9d, 0x9c, 0xef, 0xf3, - 0x0c, 0xd9, 0x5e, 0xef, 0x4e, 0x6d, 0xcb, 0xcf, 0xc1, 0x42, 0xdc, 0xf5, 0x93, 0x55, 0x9e, 0xfe, - 0xf1, 0x04, 0xae, 0xad, 0x25, 0x15, 0x34, 0x20, 0xfb, 0x00, 0x4d, 0xec, 0x19, 0xd4, 0x16, 0xa4, - 0xcb, 0xd9, 0x68, 0xbc, 0xcc, 0x3c, 0xbc, 0x36, 0xc1, 0x82, 0x06, 0xa4, 0x05, 0x6b, 0xe9, 0x7e, - 0x9c, 0x54, 0xf9, 0xc6, 0x39, 0xd3, 0x82, 0x76, 0xad, 0x60, 0x85, 0x06, 0x64, 0x13, 0x16, 0x87, - 0xa3, 0x2b, 0x11, 0x91, 0x4b, 0xe3, 0xb2, 0x76, 0x39, 0xa5, 0xa1, 0x01, 0xb9, 0x0b, 0xcb, 0xf2, - 0x34, 0x48, 0xd6, 0x63, 0xb8, 0x89, 0xd9, 0x55, 0xbb, 0x9a, 0xa3, 0x15, 0x61, 0xa7, 0x67, 0xb6, - 0x38, 0xec, 0x9c, 0xd9, 0x30, 0x0e, 0x3b, 0x77, 0xc8, 0x6b, 0xc1, 0x5a, 0x2b, 0xdf, 0x51, 0xab, - 0xd0, 0x51, 0xeb, 0x25, 0x8e, 0x72, 0x12, 0x99, 0x33, 0xa5, 0x48, 0x8e, 0x32, 0x89, 0x6c, 0x72, - 0x96, 0xcb, 0x8d, 0x3a, 0xf9, 0xdf, 0xd0, 0x3a, 0x35, 0x08, 0x68, 0xd5, 0xfc, 0x05, 0x1a, 0x90, - 0x13, 0xb8, 0xc1, 0x92, 0x56, 0xd4, 0xd7, 0x90, 0x9b, 0x53, 0x76, 0xb3, 0x5a, 0x7d, 0x3a, 0x43, - 0x1a, 0x90, 0xef, 0xa1, 0xd6, 0x1a, 0x6d, 0x99, 0xff, 0x50, 0x91, 0x5b, 0xe7, 0x79, 0xe6, 0xb5, - 0xdb, 0xe7, 0xb0, 0x16, 0x98, 0xef, 0x77, 0xbb, 0x17, 0x8a, 0xf9, 0x05, 0xfc, 0xbf, 0x89, 0x3d, - 0x1c, 0x45, 0x77, 0xc1, 0x90, 0xb7, 0xaf, 0x7f, 0x75, 0x6d, 0x2f, 0x40, 0xef, 0x70, 0xd7, 0x90, - 0xfe, 0xc4, 0x76, 0xa9, 0x7d, 0xd7, 0xa5, 0xf6, 0xd3, 0x79, 0x2e, 0xbe, 0xff, 0x4f, 0x00, 0x00, - 0x00, 0xff, 0xff, 0x59, 0x25, 0xe0, 0x09, 0x2d, 0x17, 0x00, 0x00, +var fileDescriptor_msg_e249cc2dfcfd259f = []byte{ + // 1544 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x59, 0x4f, 0x6f, 0xdb, 0xc6, + 0x12, 0x07, 0x45, 0xcb, 0x7f, 0x46, 0x76, 0xec, 0x6c, 0x1c, 0x3f, 0x85, 0x31, 0x10, 0x3d, 0xbe, + 0xe4, 0x45, 0x79, 0x2f, 0x91, 0xf1, 0xfc, 0x0a, 0xa4, 0x68, 0x0e, 0x4d, 0x1c, 0xb9, 0x8a, 0x91, + 0xb2, 0x8e, 0x29, 0xb7, 0x05, 0xda, 0x83, 0xc3, 0x48, 0x63, 0x86, 0xb0, 0x44, 0xd2, 0x5c, 0x2a, + 0xb6, 0x5a, 0x34, 0x3d, 0xf5, 0x54, 0xf4, 0xd0, 0xde, 0x7a, 0xea, 0xad, 0xdf, 0xa1, 0xc7, 0x5e, + 0x7a, 0x2d, 0x7a, 0xed, 0xa7, 0x29, 0x76, 0x97, 0x92, 0x96, 0xff, 0x2c, 0x59, 0x29, 0x82, 0x14, + 0xe8, 0x4d, 0x33, 0x3b, 0x3b, 0x3b, 0xbf, 0x99, 0x1f, 0x77, 0x76, 0x57, 0xb0, 0xd4, 0xa5, 0xf6, + 0x46, 0x97, 0xda, 0x35, 0x3f, 0xf0, 0x42, 0x8f, 0xa8, 0x5d, 0x6a, 0x6b, 0xd5, 0x5d, 0x1f, 0xdd, + 0x3b, 0x3b, 0xc6, 0x9d, 0x26, 0x06, 0x2f, 0x30, 0xd8, 0xf0, 0x8f, 0xec, 0x0d, 0x3e, 0xbc, 0x41, + 0xdb, 0x47, 0x07, 0x27, 0x74, 0xe3, 0x84, 0x0a, 0x73, 0xad, 0x36, 0xd6, 0x32, 0xb0, 0x7c, 0x1f, + 0x83, 0xc8, 0x5e, 0xff, 0x1c, 0x4a, 0x06, 0xb5, 0xeb, 0x56, 0x68, 0xed, 0x7b, 0xc6, 0x1e, 0x59, + 0x85, 0x62, 0xe8, 0x1d, 0xa1, 0x5b, 0x56, 0x2a, 0x4a, 0x75, 0xc1, 0x14, 0x02, 0xa9, 0x40, 0xc9, + 0xf3, 0x31, 0xb0, 0x42, 0xc7, 0x73, 0x77, 0xea, 0xe5, 0x02, 0x1f, 0x93, 0x55, 0xe4, 0x2d, 0x98, + 0xeb, 0x0a, 0x37, 0x65, 0xb5, 0xa2, 0x54, 0x4b, 0x9b, 0x5a, 0x8d, 0xf2, 0x00, 0x0e, 0x2c, 0xdf, + 0x39, 0xf0, 0xad, 0xc0, 0xea, 0xd2, 0x5a, 0xb4, 0x90, 0x39, 0x30, 0xd5, 0x51, 0x5a, 0xbc, 0xbe, + 0x25, 0x3b, 0x51, 0x26, 0x76, 0x32, 0x3e, 0x38, 0xfd, 0x1b, 0x05, 0x96, 0x9f, 0xf4, 0xe8, 0x73, + 0x19, 0x68, 0x05, 0x4a, 0xbb, 0xd2, 0x2c, 0x01, 0x57, 0x56, 0xc9, 0xd1, 0x14, 0x26, 0x8f, 0x46, + 0x87, 0x45, 0xbf, 0x47, 0x9f, 0xef, 0x7b, 0x1f, 0x52, 0x0c, 0x76, 0xea, 0x3c, 0x1b, 0x0b, 0x66, + 0x4c, 0xa7, 0xff, 0xa8, 0x00, 0x19, 0xc5, 0xe2, 0xb9, 0xb6, 0xb7, 0xd5, 0x37, 0xf6, 0x48, 0x19, + 0xe6, 0x3a, 0x16, 0x0d, 0x9b, 0x78, 0xcc, 0xc3, 0x99, 0x31, 0x07, 0x22, 0xb9, 0x0e, 0x4b, 0x96, + 0x6d, 0x07, 0x68, 0xc7, 0x41, 0xc6, 0x95, 0x64, 0x13, 0x4a, 0x5d, 0xa4, 0xd4, 0xb2, 0xf1, 0x7d, + 0x87, 0x86, 0x65, 0xb5, 0xa2, 0x56, 0x4b, 0x9b, 0x2b, 0x35, 0x46, 0x25, 0x09, 0xb9, 0x29, 0x1b, + 0x91, 0x75, 0x58, 0x08, 0x03, 0xc7, 0xb6, 0x79, 0xac, 0x33, 0xdc, 0xeb, 0x48, 0xa1, 0x7f, 0x00, + 0xa4, 0x81, 0xa1, 0x61, 0x9d, 0x3e, 0x70, 0xdb, 0x86, 0xe3, 0x36, 0xf1, 0xd8, 0xc4, 0x63, 0xb2, + 0x06, 0xb3, 0x11, 0x38, 0x91, 0xb5, 0x48, 0x4a, 0xa6, 0xb4, 0x90, 0x4a, 0xa9, 0x7e, 0x02, 0x97, + 0x52, 0xfe, 0xa8, 0xcf, 0x80, 0x6f, 0x07, 0xc1, 0x43, 0xaf, 0x8d, 0xdc, 0x63, 0xd1, 0x1c, 0x88, + 0x6c, 0xa9, 0xed, 0x20, 0x30, 0xa8, 0x1d, 0x79, 0x8b, 0x24, 0xa6, 0x37, 0xac, 0x53, 0x96, 0x29, + 0x96, 0xdf, 0x25, 0x33, 0x92, 0xb8, 0x9e, 0xfb, 0xe5, 0x58, 0x98, 0x9e, 0x4b, 0xfa, 0x67, 0x00, + 0x4d, 0x74, 0xdb, 0x06, 0xb5, 0x19, 0x80, 0xd7, 0x4b, 0xf2, 0x1f, 0x14, 0x28, 0x0d, 0x17, 0x17, + 0x68, 0x31, 0x8e, 0x16, 0x47, 0x68, 0x31, 0x86, 0x56, 0x48, 0x2c, 0x32, 0xb1, 0x8e, 0x41, 0xed, + 0x61, 0x99, 0x64, 0x15, 0xb3, 0x68, 0x75, 0x1c, 0x74, 0x43, 0x61, 0x51, 0x14, 0x16, 0x92, 0x8a, + 0x68, 0x30, 0x4f, 0xd1, 0x6d, 0xef, 0x3b, 0x5d, 0x2c, 0xcf, 0x56, 0x94, 0xaa, 0x6a, 0x0e, 0x65, + 0xbd, 0x05, 0xa5, 0x87, 0x1d, 0xb4, 0x82, 0x28, 0x3d, 0x6b, 0x30, 0xdb, 0x8b, 0xd5, 0x57, 0x48, + 0xcc, 0x85, 0xe7, 0x47, 0x95, 0x17, 0x01, 0x0e, 0xe5, 0x64, 0xf2, 0xd4, 0xf4, 0x47, 0x78, 0x1f, + 0x16, 0x47, 0x8b, 0x4c, 0x93, 0x06, 0xfd, 0x7b, 0x05, 0x96, 0x9b, 0xc8, 0xf0, 0xc4, 0xb8, 0x98, + 0x19, 0x6b, 0x19, 0xe6, 0xec, 0xc0, 0xeb, 0xf9, 0xc3, 0x50, 0x07, 0x22, 0x9b, 0xd1, 0x15, 0x14, + 0x89, 0xa8, 0x23, 0xa4, 0x24, 0x82, 0x99, 0x74, 0xf9, 0x65, 0xfc, 0xc5, 0x38, 0x7e, 0xbd, 0x0e, + 0x2b, 0xf1, 0xd0, 0xa6, 0x42, 0xb8, 0x0b, 0x97, 0x9a, 0x18, 0x46, 0x64, 0x69, 0x86, 0x56, 0xd8, + 0xa3, 0x66, 0x3a, 0x34, 0x25, 0x1d, 0xda, 0x1a, 0xcc, 0x52, 0x6e, 0xce, 0x1d, 0x16, 0xcd, 0x48, + 0xd2, 0x1f, 0xc1, 0x6a, 0xda, 0xe1, 0x54, 0xa1, 0xdd, 0xe5, 0x9f, 0xee, 0xf9, 0x43, 0xd3, 0x9f, + 0xc2, 0x6a, 0xe3, 0x4f, 0x09, 0x41, 0x02, 0xa9, 0xc6, 0x40, 0x7e, 0xa5, 0xc0, 0xa5, 0x3a, 0x76, + 0x9a, 0x3d, 0x1f, 0x83, 0x06, 0xab, 0x72, 0xc4, 0x63, 0xb9, 0x5e, 0x4a, 0x82, 0xaf, 0x23, 0xde, + 0x14, 0xf2, 0x78, 0xa3, 0xc6, 0x79, 0x33, 0x96, 0x1f, 0x2c, 0xd9, 0xe9, 0x30, 0xa6, 0x4a, 0x76, + 0x4b, 0x24, 0x3b, 0x09, 0x68, 0x3c, 0x0f, 0x56, 0x40, 0x65, 0xcc, 0x2e, 0x70, 0x66, 0xb3, 0x9f, + 0xf9, 0x80, 0xf4, 0x97, 0xa2, 0x30, 0xaf, 0x1e, 0xee, 0x94, 0xfb, 0xe2, 0x23, 0xde, 0x5c, 0x3e, + 0x0e, 0x9c, 0x10, 0xeb, 0xce, 0xe1, 0xe1, 0xf4, 0x18, 0xf5, 0x2f, 0x78, 0xba, 0xe2, 0x9e, 0x5e, + 0x23, 0x90, 0x6f, 0x8b, 0xa0, 0x1b, 0x5e, 0xdb, 0x39, 0xec, 0x1b, 0xa2, 0xb3, 0x9a, 0x68, 0xb5, + 0x58, 0xb0, 0xdb, 0xa7, 0x21, 0xba, 0xd4, 0xf1, 0xdc, 0x09, 0xbf, 0x62, 0xb6, 0x47, 0x7b, 0xbd, + 0xa0, 0x85, 0xa3, 0x0d, 0x76, 0x20, 0xc7, 0xc8, 0xac, 0xa6, 0x37, 0x5f, 0x8a, 0x94, 0x2d, 0xb4, + 0xdf, 0xf7, 0x91, 0x53, 0xb3, 0x68, 0xca, 0x2a, 0x72, 0x0a, 0x97, 0x83, 0x64, 0x50, 0xfc, 0x90, + 0x50, 0xe4, 0x87, 0x84, 0x2d, 0x71, 0x48, 0x18, 0x8b, 0xa1, 0x66, 0x66, 0x39, 0xd9, 0x76, 0xc3, + 0xa0, 0x6f, 0x66, 0x2f, 0x90, 0xec, 0x4c, 0xb3, 0xe9, 0xce, 0x74, 0x1b, 0x0a, 0x78, 0x5a, 0x9e, + 0xe3, 0xf9, 0x5e, 0xaf, 0xd9, 0x9e, 0x67, 0x77, 0x50, 0x1c, 0x4e, 0x9f, 0xf5, 0x0e, 0x6b, 0xcd, + 0x30, 0x70, 0x5c, 0xfb, 0x23, 0xab, 0xd3, 0x43, 0xb3, 0x80, 0xa7, 0xe4, 0x3e, 0x2c, 0x5a, 0x61, + 0x68, 0xb5, 0x9e, 0x63, 0x7b, 0xc7, 0x3d, 0xf4, 0xca, 0xf3, 0x13, 0xcc, 0x8b, 0xcd, 0x60, 0xb4, + 0x70, 0x28, 0x07, 0x52, 0x5e, 0xa8, 0x28, 0xd5, 0x79, 0x73, 0x20, 0x92, 0x4d, 0x58, 0x75, 0x28, + 0x0b, 0x3f, 0x70, 0xad, 0xce, 0x08, 0x78, 0x19, 0xb8, 0x59, 0xe6, 0x18, 0xa9, 0x01, 0xe9, 0x52, + 0xfb, 0x3d, 0x27, 0xa0, 0xa1, 0xc8, 0x1f, 0xef, 0xb0, 0x25, 0xde, 0x61, 0x33, 0x46, 0x34, 0x04, + 0x2d, 0x3f, 0x89, 0x8c, 0xdb, 0x47, 0xd8, 0x8f, 0xb8, 0xc1, 0x7e, 0x92, 0xff, 0x41, 0xf1, 0x05, + 0x03, 0x11, 0x9d, 0x41, 0xaf, 0x66, 0x10, 0xf2, 0x31, 0xf6, 0x05, 0x4e, 0x61, 0xf9, 0x4e, 0xe1, + 0x6d, 0x45, 0xff, 0xba, 0x08, 0xd7, 0x58, 0x43, 0x7a, 0x53, 0x09, 0xd9, 0x3b, 0x9b, 0x90, 0xef, + 0x72, 0x42, 0x8e, 0x01, 0xf0, 0x37, 0x1b, 0xff, 0x2a, 0x6c, 0xfc, 0x4d, 0x81, 0xca, 0xd9, 0xc5, + 0x9c, 0xf6, 0x5c, 0x2c, 0x57, 0x53, 0x4d, 0x57, 0x33, 0x3b, 0x1f, 0x33, 0x79, 0xf9, 0x20, 0xb7, + 0x60, 0x36, 0x40, 0xda, 0xeb, 0x0c, 0x78, 0x78, 0x91, 0xf3, 0x70, 0x08, 0x09, 0xa9, 0x6f, 0x46, + 0x06, 0xfa, 0xcf, 0x0a, 0xfc, 0x6b, 0xec, 0x8e, 0x39, 0x65, 0x17, 0x2a, 0xd1, 0x5e, 0xab, 0x85, + 0x94, 0x4a, 0xf7, 0x38, 0xc2, 0x23, 0xe1, 0xbe, 0x07, 0x37, 0x09, 0x53, 0x36, 0x23, 0x9b, 0x00, + 0x87, 0x96, 0xd3, 0xc1, 0x36, 0x9f, 0x34, 0x93, 0x3b, 0x49, 0xb2, 0xd2, 0x7f, 0x57, 0xe1, 0xa6, + 0xb8, 0x9f, 0xa1, 0x31, 0xba, 0x14, 0xbe, 0xc2, 0x6e, 0x91, 0x7b, 0x3f, 0x90, 0x77, 0x12, 0x35, + 0xb1, 0x93, 0x8c, 0xdf, 0x2d, 0x4e, 0x60, 0xad, 0x1b, 0x4f, 0xf2, 0x63, 0xec, 0xa7, 0xb6, 0x8b, + 0x09, 0x91, 0xd4, 0x8c, 0x94, 0x2b, 0x33, 0xc7, 0xbd, 0xf6, 0x13, 0xbb, 0xa9, 0xa7, 0x86, 0x92, + 0xc4, 0x53, 0x26, 0x25, 0x5e, 0x21, 0x97, 0x78, 0x7b, 0x79, 0xfb, 0xa1, 0xa8, 0xfe, 0x99, 0x1f, + 0x5a, 0xf6, 0x4c, 0xfd, 0x17, 0x05, 0xaa, 0x93, 0xa5, 0xe4, 0x0d, 0x67, 0xa9, 0x07, 0x4b, 0xb1, + 0x41, 0x72, 0x1b, 0x16, 0x70, 0xa0, 0x88, 0x5e, 0x8a, 0x2e, 0x24, 0x7c, 0x8c, 0x0c, 0x64, 0x68, + 0x85, 0x3c, 0x68, 0x6a, 0xec, 0xf8, 0xfd, 0x6b, 0x01, 0x16, 0x86, 0xae, 0xc8, 0x41, 0x5e, 0x69, + 0x14, 0x1e, 0xfd, 0xad, 0xf8, 0xca, 0xaf, 0xde, 0x94, 0x0a, 0x93, 0xb2, 0x49, 0xcd, 0x65, 0x93, + 0x9e, 0x68, 0x4b, 0xe2, 0xb2, 0x12, 0x6f, 0x3c, 0x17, 0x78, 0xa3, 0x13, 0xf7, 0xd8, 0x02, 0x9e, + 0x6a, 0x9f, 0x9e, 0xb3, 0x15, 0xdc, 0x8c, 0xb7, 0x82, 0x8c, 0x9d, 0x52, 0x6a, 0x00, 0x7d, 0x58, + 0x94, 0x87, 0xc8, 0x5d, 0x98, 0x3f, 0x8a, 0xe4, 0xa8, 0x80, 0x67, 0x32, 0x7c, 0x68, 0x7c, 0xfe, + 0x62, 0x6e, 0x7e, 0x07, 0xa0, 0x76, 0xa9, 0x4d, 0x9e, 0xc2, 0x72, 0xe2, 0xed, 0x89, 0xdc, 0xc8, + 0x58, 0x33, 0xfd, 0xde, 0xa5, 0xfd, 0x7b, 0x12, 0x33, 0xea, 0x13, 0x0f, 0x56, 0x9f, 0xf4, 0x3a, + 0x9d, 0xe8, 0x63, 0xdb, 0xea, 0x37, 0xf1, 0x98, 0xd7, 0xf7, 0x3f, 0x19, 0xf3, 0xb3, 0x0c, 0xd9, + 0x5a, 0xff, 0x9d, 0xd8, 0x96, 0x7f, 0x07, 0x73, 0xd1, 0xbd, 0x9a, 0x2c, 0x47, 0x07, 0xa6, 0xc1, + 0x1b, 0x97, 0xb6, 0x12, 0x57, 0x50, 0x9f, 0xec, 0x01, 0xd4, 0xb1, 0x63, 0x50, 0x5b, 0x90, 0x2e, + 0x63, 0xa1, 0xd1, 0x30, 0xf3, 0xf0, 0xcf, 0x31, 0x16, 0xd4, 0x27, 0x0d, 0x58, 0x49, 0xde, 0x78, + 0x49, 0x99, 0x2f, 0x9c, 0x71, 0x1f, 0xd7, 0xae, 0xe4, 0x8c, 0x50, 0x9f, 0x6c, 0xc0, 0xfc, 0xe0, + 0x71, 0x88, 0x88, 0xc8, 0xa5, 0x07, 0x29, 0xed, 0x62, 0x42, 0x43, 0x7d, 0x72, 0x0f, 0x16, 0xe5, + 0xf7, 0x16, 0xb2, 0x3a, 0x3c, 0x30, 0x4a, 0xaf, 0x43, 0xda, 0xe5, 0x0c, 0xad, 0x08, 0x3b, 0xf9, + 0x2a, 0x12, 0x85, 0x9d, 0xf1, 0xfa, 0x12, 0x85, 0x9d, 0xf9, 0x8c, 0xd2, 0x80, 0x95, 0x46, 0xb6, + 0xa3, 0x46, 0xae, 0xa3, 0xc6, 0x19, 0x8e, 0x32, 0x12, 0x99, 0xf1, 0x0e, 0x20, 0x39, 0x4a, 0x25, + 0xb2, 0xce, 0x59, 0x2e, 0x5f, 0x85, 0xc9, 0x3f, 0x06, 0xd6, 0x89, 0xab, 0xb6, 0x56, 0xce, 0x1e, + 0xa0, 0x3e, 0x39, 0x82, 0xf5, 0xb3, 0x8e, 0x6b, 0xe4, 0xfa, 0x24, 0xc7, 0x73, 0xed, 0xc6, 0x04, + 0x56, 0xd4, 0x27, 0x5f, 0x42, 0xa5, 0x31, 0xb4, 0xc9, 0x6e, 0x51, 0xe4, 0xf6, 0x79, 0x1a, 0xbc, + 0x76, 0xe7, 0x1c, 0xd6, 0xd4, 0x27, 0xc7, 0xb0, 0xfe, 0xa0, 0xdd, 0xce, 0x47, 0x7b, 0x73, 0xc2, + 0xdb, 0xb1, 0x56, 0x9d, 0xcc, 0x90, 0xfa, 0xe4, 0x25, 0x5c, 0xab, 0x63, 0x07, 0x87, 0xd1, 0xbd, + 0x66, 0xc8, 0x5b, 0x57, 0x3f, 0xb9, 0xb2, 0xeb, 0xa3, 0x7b, 0xb0, 0x63, 0x48, 0x7f, 0x10, 0x75, + 0xa9, 0x7d, 0xaf, 0x4b, 0xed, 0x67, 0xb3, 0x5c, 0xfc, 0xff, 0x1f, 0x01, 0x00, 0x00, 0xff, 0xff, + 0xde, 0xa4, 0x14, 0xcd, 0x89, 0x1a, 0x00, 0x00, } From 84df956293fd00260a13c864982e381dce937025 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 12 Dec 2022 15:39:40 +0800 Subject: [PATCH 089/176] reaction message add expiration --- internal/api/msg/extend_msg.go | 7 ++----- pkg/base_info/msg.go | 5 +---- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/internal/api/msg/extend_msg.go b/internal/api/msg/extend_msg.go index c397e5110..f46160bdc 100644 --- a/internal/api/msg/extend_msg.go +++ b/internal/api/msg/extend_msg.go @@ -19,7 +19,7 @@ func SetMessageReactionExtensions(c *gin.Context) { var ( req api.SetMessageReactionExtensionsCallbackReq resp api.SetMessageReactionExtensionsCallbackResp - reqPb rpc.ModifyMessageReactionExtensionsReq + reqPb rpc.SetMessageReactionExtensionsReq ) if err := c.BindJSON(&req); err != nil { @@ -57,8 +57,7 @@ func SetMessageReactionExtensions(c *gin.Context) { } resp.ErrCode = respPb.ErrCode resp.ErrMsg = respPb.ErrMsg - resp.Data.FailedList = respPb.FailedList - resp.Data.SuccessList = respPb.SuccessList + resp.Data = respPb.Result log.NewInfo(req.OperationID, utils.GetSelfFuncName(), resp) c.JSON(http.StatusOK, resp) @@ -152,8 +151,6 @@ func AddMessageReactionExtensions(c *gin.Context) { } resp.ErrCode = respPb.ErrCode resp.ErrMsg = respPb.ErrMsg - resp.Data.FailedList = respPb.FailedList - resp.Data.SuccessList = respPb.SuccessList log.NewInfo(req.OperationID, utils.GetSelfFuncName(), resp) c.JSON(http.StatusOK, resp) } diff --git a/pkg/base_info/msg.go b/pkg/base_info/msg.go index 4e6f0cbd6..fbd4373c2 100644 --- a/pkg/base_info/msg.go +++ b/pkg/base_info/msg.go @@ -68,10 +68,7 @@ type ModifyMessageReactionExtensionsReq struct { type ModifyMessageReactionExtensionsResp struct { CommResp - Data struct { - SuccessList []*msg.ExtendMsgResp `json:"successList,omitempty"` - FailedList []*msg.ExtendMsgResp `json:"failedList,omitempty"` - } `json:"data"` + Data []*msg.KeyValueResp `json:"data"` } type OperateMessageListReactionExtensionsReq struct { From 2b0a997573209b42b93a723b1863dd999e7b4009 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 12 Dec 2022 16:52:36 +0800 Subject: [PATCH 090/176] reaction message add expiration --- internal/api/msg/extend_msg.go | 4 +++- internal/rpc/msg/extend_msg.go | 1 + pkg/base_info/msg.go | 6 +++++- pkg/proto/msg/msg.proto | 3 ++- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/internal/api/msg/extend_msg.go b/internal/api/msg/extend_msg.go index f46160bdc..d4e1daeb4 100644 --- a/internal/api/msg/extend_msg.go +++ b/internal/api/msg/extend_msg.go @@ -57,7 +57,9 @@ func SetMessageReactionExtensions(c *gin.Context) { } resp.ErrCode = respPb.ErrCode resp.ErrMsg = respPb.ErrMsg - resp.Data = respPb.Result + resp.Data.ResultKeyValue = respPb.Result + resp.Data.MsgFirstModifyTime = reqPb.MsgFirstModifyTime + resp.Data.IsReact = reqPb.IsReact log.NewInfo(req.OperationID, utils.GetSelfFuncName(), resp) c.JSON(http.StatusOK, resp) diff --git a/internal/rpc/msg/extend_msg.go b/internal/rpc/msg/extend_msg.go index b0d83959f..ee8d8d93b 100644 --- a/internal/rpc/msg/extend_msg.go +++ b/internal/rpc/msg/extend_msg.go @@ -50,6 +50,7 @@ func (rpc *rpcChat) SetMessageReactionExtensions(ctx context.Context, req *msg.S } setKeyResultInfo(&rResp, 0, "", req.ClientMsgID, k, v) } + rResp.IsReact = true _, err := db.DB.SetMessageReactionExpire(req.ClientMsgID, req.SessionType, time.Duration(24*3)*time.Hour) if err != nil { log.Error(req.OperationID, "SetMessageReactionExpire err:", err.Error(), req.String()) diff --git a/pkg/base_info/msg.go b/pkg/base_info/msg.go index fbd4373c2..30d9adfce 100644 --- a/pkg/base_info/msg.go +++ b/pkg/base_info/msg.go @@ -68,7 +68,11 @@ type ModifyMessageReactionExtensionsReq struct { type ModifyMessageReactionExtensionsResp struct { CommResp - Data []*msg.KeyValueResp `json:"data"` + Data struct { + ResultKeyValue []*msg.KeyValueResp `json:"result"` + MsgFirstModifyTime int64 `json:"msgFirstModifyTime"` + IsReact bool `json:"isReact"` + } `json:"data"` } type OperateMessageListReactionExtensionsReq struct { diff --git a/pkg/proto/msg/msg.proto b/pkg/proto/msg/msg.proto index 3dd7391f8..c02824c86 100644 --- a/pkg/proto/msg/msg.proto +++ b/pkg/proto/msg/msg.proto @@ -185,7 +185,8 @@ message SetMessageReactionExtensionsResp { string errMsg = 2; string clientMsgID = 3; int64 msgFirstModifyTime = 4; - repeated KeyValueResp result = 5; + bool isReact = 5; + repeated KeyValueResp result = 6; } message ModifyMessageReactionExtensionsResp { From 8e95e8c4f88f68299e79dab21408a5192e6e3260 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 12 Dec 2022 16:52:52 +0800 Subject: [PATCH 091/176] reaction message add expiration --- pkg/proto/msg/msg.pb.go | 274 +++++++++++++++++++++------------------- 1 file changed, 141 insertions(+), 133 deletions(-) diff --git a/pkg/proto/msg/msg.pb.go b/pkg/proto/msg/msg.pb.go index c0dc9e5c2..89d14cb63 100644 --- a/pkg/proto/msg/msg.pb.go +++ b/pkg/proto/msg/msg.pb.go @@ -38,7 +38,7 @@ func (m *MsgDataToMQ) Reset() { *m = MsgDataToMQ{} } func (m *MsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMQ) ProtoMessage() {} func (*MsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{0} + return fileDescriptor_msg_489179134d252ef4, []int{0} } func (m *MsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMQ.Unmarshal(m, b) @@ -91,7 +91,7 @@ func (m *MsgDataToDB) Reset() { *m = MsgDataToDB{} } func (m *MsgDataToDB) String() string { return proto.CompactTextString(m) } func (*MsgDataToDB) ProtoMessage() {} func (*MsgDataToDB) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{1} + return fileDescriptor_msg_489179134d252ef4, []int{1} } func (m *MsgDataToDB) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToDB.Unmarshal(m, b) @@ -138,7 +138,7 @@ func (m *PushMsgDataToMQ) Reset() { *m = PushMsgDataToMQ{} } func (m *PushMsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*PushMsgDataToMQ) ProtoMessage() {} func (*PushMsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{2} + return fileDescriptor_msg_489179134d252ef4, []int{2} } func (m *PushMsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PushMsgDataToMQ.Unmarshal(m, b) @@ -193,7 +193,7 @@ func (m *MsgDataToMongoByMQ) Reset() { *m = MsgDataToMongoByMQ{} } func (m *MsgDataToMongoByMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMongoByMQ) ProtoMessage() {} func (*MsgDataToMongoByMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{3} + return fileDescriptor_msg_489179134d252ef4, []int{3} } func (m *MsgDataToMongoByMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMongoByMQ.Unmarshal(m, b) @@ -273,7 +273,7 @@ func (m *GetMaxAndMinSeqReq) Reset() { *m = GetMaxAndMinSeqReq{} } func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqReq) ProtoMessage() {} func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{4} + return fileDescriptor_msg_489179134d252ef4, []int{4} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -321,7 +321,7 @@ func (m *GetMaxAndMinSeqResp) Reset() { *m = GetMaxAndMinSeqResp{} } func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqResp) ProtoMessage() {} func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{5} + return fileDescriptor_msg_489179134d252ef4, []int{5} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -382,7 +382,7 @@ func (m *SendMsgReq) Reset() { *m = SendMsgReq{} } func (m *SendMsgReq) String() string { return proto.CompactTextString(m) } func (*SendMsgReq) ProtoMessage() {} func (*SendMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{6} + return fileDescriptor_msg_489179134d252ef4, []int{6} } func (m *SendMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgReq.Unmarshal(m, b) @@ -438,7 +438,7 @@ func (m *SendMsgResp) Reset() { *m = SendMsgResp{} } func (m *SendMsgResp) String() string { return proto.CompactTextString(m) } func (*SendMsgResp) ProtoMessage() {} func (*SendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{7} + return fileDescriptor_msg_489179134d252ef4, []int{7} } func (m *SendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgResp.Unmarshal(m, b) @@ -506,7 +506,7 @@ func (m *ClearMsgReq) Reset() { *m = ClearMsgReq{} } func (m *ClearMsgReq) String() string { return proto.CompactTextString(m) } func (*ClearMsgReq) ProtoMessage() {} func (*ClearMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{8} + return fileDescriptor_msg_489179134d252ef4, []int{8} } func (m *ClearMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgReq.Unmarshal(m, b) @@ -559,7 +559,7 @@ func (m *ClearMsgResp) Reset() { *m = ClearMsgResp{} } func (m *ClearMsgResp) String() string { return proto.CompactTextString(m) } func (*ClearMsgResp) ProtoMessage() {} func (*ClearMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{9} + return fileDescriptor_msg_489179134d252ef4, []int{9} } func (m *ClearMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgResp.Unmarshal(m, b) @@ -608,7 +608,7 @@ func (m *SetMsgMinSeqReq) Reset() { *m = SetMsgMinSeqReq{} } func (m *SetMsgMinSeqReq) String() string { return proto.CompactTextString(m) } func (*SetMsgMinSeqReq) ProtoMessage() {} func (*SetMsgMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{10} + return fileDescriptor_msg_489179134d252ef4, []int{10} } func (m *SetMsgMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqReq.Unmarshal(m, b) @@ -675,7 +675,7 @@ func (m *SetMsgMinSeqResp) Reset() { *m = SetMsgMinSeqResp{} } func (m *SetMsgMinSeqResp) String() string { return proto.CompactTextString(m) } func (*SetMsgMinSeqResp) ProtoMessage() {} func (*SetMsgMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{11} + return fileDescriptor_msg_489179134d252ef4, []int{11} } func (m *SetMsgMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqResp.Unmarshal(m, b) @@ -721,7 +721,7 @@ func (m *SetSendMsgStatusReq) Reset() { *m = SetSendMsgStatusReq{} } func (m *SetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (*SetSendMsgStatusReq) ProtoMessage() {} func (*SetSendMsgStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{12} + return fileDescriptor_msg_489179134d252ef4, []int{12} } func (m *SetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgStatusReq.Unmarshal(m, b) @@ -767,7 +767,7 @@ func (m *SetSendMsgStatusResp) Reset() { *m = SetSendMsgStatusResp{} } func (m *SetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (*SetSendMsgStatusResp) ProtoMessage() {} func (*SetSendMsgStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{13} + return fileDescriptor_msg_489179134d252ef4, []int{13} } func (m *SetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgStatusResp.Unmarshal(m, b) @@ -812,7 +812,7 @@ func (m *GetSendMsgStatusReq) Reset() { *m = GetSendMsgStatusReq{} } func (m *GetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (*GetSendMsgStatusReq) ProtoMessage() {} func (*GetSendMsgStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{14} + return fileDescriptor_msg_489179134d252ef4, []int{14} } func (m *GetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusReq.Unmarshal(m, b) @@ -852,7 +852,7 @@ func (m *GetSendMsgStatusResp) Reset() { *m = GetSendMsgStatusResp{} } func (m *GetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (*GetSendMsgStatusResp) ProtoMessage() {} func (*GetSendMsgStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{15} + return fileDescriptor_msg_489179134d252ef4, []int{15} } func (m *GetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusResp.Unmarshal(m, b) @@ -907,7 +907,7 @@ func (m *DelSuperGroupMsgReq) Reset() { *m = DelSuperGroupMsgReq{} } func (m *DelSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (*DelSuperGroupMsgReq) ProtoMessage() {} func (*DelSuperGroupMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{16} + return fileDescriptor_msg_489179134d252ef4, []int{16} } func (m *DelSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelSuperGroupMsgReq.Unmarshal(m, b) @@ -967,7 +967,7 @@ func (m *DelSuperGroupMsgResp) Reset() { *m = DelSuperGroupMsgResp{} } func (m *DelSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (*DelSuperGroupMsgResp) ProtoMessage() {} func (*DelSuperGroupMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{17} + return fileDescriptor_msg_489179134d252ef4, []int{17} } func (m *DelSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelSuperGroupMsgResp.Unmarshal(m, b) @@ -1014,7 +1014,7 @@ func (m *GetSuperGroupMsgReq) Reset() { *m = GetSuperGroupMsgReq{} } func (m *GetSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupMsgReq) ProtoMessage() {} func (*GetSuperGroupMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{18} + return fileDescriptor_msg_489179134d252ef4, []int{18} } func (m *GetSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupMsgReq.Unmarshal(m, b) @@ -1068,7 +1068,7 @@ func (m *GetSuperGroupMsgResp) Reset() { *m = GetSuperGroupMsgResp{} } func (m *GetSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupMsgResp) ProtoMessage() {} func (*GetSuperGroupMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{19} + return fileDescriptor_msg_489179134d252ef4, []int{19} } func (m *GetSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupMsgResp.Unmarshal(m, b) @@ -1121,7 +1121,7 @@ func (m *GetWriteDiffMsgReq) Reset() { *m = GetWriteDiffMsgReq{} } func (m *GetWriteDiffMsgReq) String() string { return proto.CompactTextString(m) } func (*GetWriteDiffMsgReq) ProtoMessage() {} func (*GetWriteDiffMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{20} + return fileDescriptor_msg_489179134d252ef4, []int{20} } func (m *GetWriteDiffMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetWriteDiffMsgReq.Unmarshal(m, b) @@ -1168,7 +1168,7 @@ func (m *GetWriteDiffMsgResp) Reset() { *m = GetWriteDiffMsgResp{} } func (m *GetWriteDiffMsgResp) String() string { return proto.CompactTextString(m) } func (*GetWriteDiffMsgResp) ProtoMessage() {} func (*GetWriteDiffMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{21} + return fileDescriptor_msg_489179134d252ef4, []int{21} } func (m *GetWriteDiffMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetWriteDiffMsgResp.Unmarshal(m, b) @@ -1230,7 +1230,7 @@ func (m *ModifyMessageReactionExtensionsReq) Reset() { *m = ModifyMessag func (m *ModifyMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*ModifyMessageReactionExtensionsReq) ProtoMessage() {} func (*ModifyMessageReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{22} + return fileDescriptor_msg_489179134d252ef4, []int{22} } func (m *ModifyMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyMessageReactionExtensionsReq.Unmarshal(m, b) @@ -1348,7 +1348,7 @@ func (m *SetMessageReactionExtensionsReq) Reset() { *m = SetMessageReact func (m *SetMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*SetMessageReactionExtensionsReq) ProtoMessage() {} func (*SetMessageReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{23} + return fileDescriptor_msg_489179134d252ef4, []int{23} } func (m *SetMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMessageReactionExtensionsReq.Unmarshal(m, b) @@ -1450,7 +1450,8 @@ type SetMessageReactionExtensionsResp struct { ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` ClientMsgID string `protobuf:"bytes,3,opt,name=clientMsgID" json:"clientMsgID,omitempty"` MsgFirstModifyTime int64 `protobuf:"varint,4,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"` - Result []*KeyValueResp `protobuf:"bytes,5,rep,name=result" json:"result,omitempty"` + IsReact bool `protobuf:"varint,5,opt,name=isReact" json:"isReact,omitempty"` + Result []*KeyValueResp `protobuf:"bytes,6,rep,name=result" json:"result,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -1460,7 +1461,7 @@ func (m *SetMessageReactionExtensionsResp) Reset() { *m = SetMessageReac func (m *SetMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*SetMessageReactionExtensionsResp) ProtoMessage() {} func (*SetMessageReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{24} + return fileDescriptor_msg_489179134d252ef4, []int{24} } func (m *SetMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMessageReactionExtensionsResp.Unmarshal(m, b) @@ -1508,6 +1509,13 @@ func (m *SetMessageReactionExtensionsResp) GetMsgFirstModifyTime() int64 { return 0 } +func (m *SetMessageReactionExtensionsResp) GetIsReact() bool { + if m != nil { + return m.IsReact + } + return false +} + func (m *SetMessageReactionExtensionsResp) GetResult() []*KeyValueResp { if m != nil { return m.Result @@ -1529,7 +1537,7 @@ func (m *ModifyMessageReactionExtensionsResp) Reset() { *m = ModifyMessa func (m *ModifyMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*ModifyMessageReactionExtensionsResp) ProtoMessage() {} func (*ModifyMessageReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{25} + return fileDescriptor_msg_489179134d252ef4, []int{25} } func (m *ModifyMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyMessageReactionExtensionsResp.Unmarshal(m, b) @@ -1594,7 +1602,7 @@ func (m *OperateMessageListReactionExtensionsReq) Reset() { func (m *OperateMessageListReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*OperateMessageListReactionExtensionsReq) ProtoMessage() {} func (*OperateMessageListReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{26} + return fileDescriptor_msg_489179134d252ef4, []int{26} } func (m *OperateMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OperateMessageListReactionExtensionsReq.Unmarshal(m, b) @@ -1666,7 +1674,7 @@ func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) String() st } func (*OperateMessageListReactionExtensionsReq_MessageReactionKey) ProtoMessage() {} func (*OperateMessageListReactionExtensionsReq_MessageReactionKey) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{26, 0} + return fileDescriptor_msg_489179134d252ef4, []int{26, 0} } func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OperateMessageListReactionExtensionsReq_MessageReactionKey.Unmarshal(m, b) @@ -1723,7 +1731,7 @@ func (m *OperateMessageListReactionExtensionsResp) Reset() { func (m *OperateMessageListReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*OperateMessageListReactionExtensionsResp) ProtoMessage() {} func (*OperateMessageListReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{27} + return fileDescriptor_msg_489179134d252ef4, []int{27} } func (m *OperateMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OperateMessageListReactionExtensionsResp.Unmarshal(m, b) @@ -1784,7 +1792,7 @@ func (m *ExtendMsgResp) Reset() { *m = ExtendMsgResp{} } func (m *ExtendMsgResp) String() string { return proto.CompactTextString(m) } func (*ExtendMsgResp) ProtoMessage() {} func (*ExtendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{28} + return fileDescriptor_msg_489179134d252ef4, []int{28} } func (m *ExtendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExtendMsgResp.Unmarshal(m, b) @@ -1840,7 +1848,7 @@ func (m *ExtendMsg) Reset() { *m = ExtendMsg{} } func (m *ExtendMsg) String() string { return proto.CompactTextString(m) } func (*ExtendMsg) ProtoMessage() {} func (*ExtendMsg) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{29} + return fileDescriptor_msg_489179134d252ef4, []int{29} } func (m *ExtendMsg) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExtendMsg.Unmarshal(m, b) @@ -1908,7 +1916,7 @@ func (m *KeyValueResp) Reset() { *m = KeyValueResp{} } func (m *KeyValueResp) String() string { return proto.CompactTextString(m) } func (*KeyValueResp) ProtoMessage() {} func (*KeyValueResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{30} + return fileDescriptor_msg_489179134d252ef4, []int{30} } func (m *KeyValueResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_KeyValueResp.Unmarshal(m, b) @@ -2523,105 +2531,105 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ Metadata: "msg/msg.proto", } -func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_e249cc2dfcfd259f) } +func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_489179134d252ef4) } -var fileDescriptor_msg_e249cc2dfcfd259f = []byte{ - // 1544 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x59, 0x4f, 0x6f, 0xdb, 0xc6, - 0x12, 0x07, 0x45, 0xcb, 0x7f, 0x46, 0x76, 0xec, 0x6c, 0x1c, 0x3f, 0x85, 0x31, 0x10, 0x3d, 0xbe, - 0xe4, 0x45, 0x79, 0x2f, 0x91, 0xf1, 0xfc, 0x0a, 0xa4, 0x68, 0x0e, 0x4d, 0x1c, 0xb9, 0x8a, 0x91, - 0xb2, 0x8e, 0x29, 0xb7, 0x05, 0xda, 0x83, 0xc3, 0x48, 0x63, 0x86, 0xb0, 0x44, 0xd2, 0x5c, 0x2a, - 0xb6, 0x5a, 0x34, 0x3d, 0xf5, 0x54, 0xf4, 0xd0, 0xde, 0x7a, 0xea, 0xad, 0xdf, 0xa1, 0xc7, 0x5e, - 0x7a, 0x2d, 0x7a, 0xed, 0xa7, 0x29, 0x76, 0x97, 0x92, 0x96, 0xff, 0x2c, 0x59, 0x29, 0x82, 0x14, - 0xe8, 0x4d, 0x33, 0x3b, 0x3b, 0x3b, 0xbf, 0x99, 0x1f, 0x77, 0x76, 0x57, 0xb0, 0xd4, 0xa5, 0xf6, - 0x46, 0x97, 0xda, 0x35, 0x3f, 0xf0, 0x42, 0x8f, 0xa8, 0x5d, 0x6a, 0x6b, 0xd5, 0x5d, 0x1f, 0xdd, - 0x3b, 0x3b, 0xc6, 0x9d, 0x26, 0x06, 0x2f, 0x30, 0xd8, 0xf0, 0x8f, 0xec, 0x0d, 0x3e, 0xbc, 0x41, - 0xdb, 0x47, 0x07, 0x27, 0x74, 0xe3, 0x84, 0x0a, 0x73, 0xad, 0x36, 0xd6, 0x32, 0xb0, 0x7c, 0x1f, - 0x83, 0xc8, 0x5e, 0xff, 0x1c, 0x4a, 0x06, 0xb5, 0xeb, 0x56, 0x68, 0xed, 0x7b, 0xc6, 0x1e, 0x59, - 0x85, 0x62, 0xe8, 0x1d, 0xa1, 0x5b, 0x56, 0x2a, 0x4a, 0x75, 0xc1, 0x14, 0x02, 0xa9, 0x40, 0xc9, - 0xf3, 0x31, 0xb0, 0x42, 0xc7, 0x73, 0x77, 0xea, 0xe5, 0x02, 0x1f, 0x93, 0x55, 0xe4, 0x2d, 0x98, - 0xeb, 0x0a, 0x37, 0x65, 0xb5, 0xa2, 0x54, 0x4b, 0x9b, 0x5a, 0x8d, 0xf2, 0x00, 0x0e, 0x2c, 0xdf, - 0x39, 0xf0, 0xad, 0xc0, 0xea, 0xd2, 0x5a, 0xb4, 0x90, 0x39, 0x30, 0xd5, 0x51, 0x5a, 0xbc, 0xbe, - 0x25, 0x3b, 0x51, 0x26, 0x76, 0x32, 0x3e, 0x38, 0xfd, 0x1b, 0x05, 0x96, 0x9f, 0xf4, 0xe8, 0x73, - 0x19, 0x68, 0x05, 0x4a, 0xbb, 0xd2, 0x2c, 0x01, 0x57, 0x56, 0xc9, 0xd1, 0x14, 0x26, 0x8f, 0x46, - 0x87, 0x45, 0xbf, 0x47, 0x9f, 0xef, 0x7b, 0x1f, 0x52, 0x0c, 0x76, 0xea, 0x3c, 0x1b, 0x0b, 0x66, - 0x4c, 0xa7, 0xff, 0xa8, 0x00, 0x19, 0xc5, 0xe2, 0xb9, 0xb6, 0xb7, 0xd5, 0x37, 0xf6, 0x48, 0x19, - 0xe6, 0x3a, 0x16, 0x0d, 0x9b, 0x78, 0xcc, 0xc3, 0x99, 0x31, 0x07, 0x22, 0xb9, 0x0e, 0x4b, 0x96, - 0x6d, 0x07, 0x68, 0xc7, 0x41, 0xc6, 0x95, 0x64, 0x13, 0x4a, 0x5d, 0xa4, 0xd4, 0xb2, 0xf1, 0x7d, - 0x87, 0x86, 0x65, 0xb5, 0xa2, 0x56, 0x4b, 0x9b, 0x2b, 0x35, 0x46, 0x25, 0x09, 0xb9, 0x29, 0x1b, - 0x91, 0x75, 0x58, 0x08, 0x03, 0xc7, 0xb6, 0x79, 0xac, 0x33, 0xdc, 0xeb, 0x48, 0xa1, 0x7f, 0x00, - 0xa4, 0x81, 0xa1, 0x61, 0x9d, 0x3e, 0x70, 0xdb, 0x86, 0xe3, 0x36, 0xf1, 0xd8, 0xc4, 0x63, 0xb2, - 0x06, 0xb3, 0x11, 0x38, 0x91, 0xb5, 0x48, 0x4a, 0xa6, 0xb4, 0x90, 0x4a, 0xa9, 0x7e, 0x02, 0x97, - 0x52, 0xfe, 0xa8, 0xcf, 0x80, 0x6f, 0x07, 0xc1, 0x43, 0xaf, 0x8d, 0xdc, 0x63, 0xd1, 0x1c, 0x88, - 0x6c, 0xa9, 0xed, 0x20, 0x30, 0xa8, 0x1d, 0x79, 0x8b, 0x24, 0xa6, 0x37, 0xac, 0x53, 0x96, 0x29, - 0x96, 0xdf, 0x25, 0x33, 0x92, 0xb8, 0x9e, 0xfb, 0xe5, 0x58, 0x98, 0x9e, 0x4b, 0xfa, 0x67, 0x00, - 0x4d, 0x74, 0xdb, 0x06, 0xb5, 0x19, 0x80, 0xd7, 0x4b, 0xf2, 0x1f, 0x14, 0x28, 0x0d, 0x17, 0x17, - 0x68, 0x31, 0x8e, 0x16, 0x47, 0x68, 0x31, 0x86, 0x56, 0x48, 0x2c, 0x32, 0xb1, 0x8e, 0x41, 0xed, - 0x61, 0x99, 0x64, 0x15, 0xb3, 0x68, 0x75, 0x1c, 0x74, 0x43, 0x61, 0x51, 0x14, 0x16, 0x92, 0x8a, - 0x68, 0x30, 0x4f, 0xd1, 0x6d, 0xef, 0x3b, 0x5d, 0x2c, 0xcf, 0x56, 0x94, 0xaa, 0x6a, 0x0e, 0x65, - 0xbd, 0x05, 0xa5, 0x87, 0x1d, 0xb4, 0x82, 0x28, 0x3d, 0x6b, 0x30, 0xdb, 0x8b, 0xd5, 0x57, 0x48, - 0xcc, 0x85, 0xe7, 0x47, 0x95, 0x17, 0x01, 0x0e, 0xe5, 0x64, 0xf2, 0xd4, 0xf4, 0x47, 0x78, 0x1f, - 0x16, 0x47, 0x8b, 0x4c, 0x93, 0x06, 0xfd, 0x7b, 0x05, 0x96, 0x9b, 0xc8, 0xf0, 0xc4, 0xb8, 0x98, - 0x19, 0x6b, 0x19, 0xe6, 0xec, 0xc0, 0xeb, 0xf9, 0xc3, 0x50, 0x07, 0x22, 0x9b, 0xd1, 0x15, 0x14, - 0x89, 0xa8, 0x23, 0xa4, 0x24, 0x82, 0x99, 0x74, 0xf9, 0x65, 0xfc, 0xc5, 0x38, 0x7e, 0xbd, 0x0e, - 0x2b, 0xf1, 0xd0, 0xa6, 0x42, 0xb8, 0x0b, 0x97, 0x9a, 0x18, 0x46, 0x64, 0x69, 0x86, 0x56, 0xd8, - 0xa3, 0x66, 0x3a, 0x34, 0x25, 0x1d, 0xda, 0x1a, 0xcc, 0x52, 0x6e, 0xce, 0x1d, 0x16, 0xcd, 0x48, - 0xd2, 0x1f, 0xc1, 0x6a, 0xda, 0xe1, 0x54, 0xa1, 0xdd, 0xe5, 0x9f, 0xee, 0xf9, 0x43, 0xd3, 0x9f, - 0xc2, 0x6a, 0xe3, 0x4f, 0x09, 0x41, 0x02, 0xa9, 0xc6, 0x40, 0x7e, 0xa5, 0xc0, 0xa5, 0x3a, 0x76, - 0x9a, 0x3d, 0x1f, 0x83, 0x06, 0xab, 0x72, 0xc4, 0x63, 0xb9, 0x5e, 0x4a, 0x82, 0xaf, 0x23, 0xde, - 0x14, 0xf2, 0x78, 0xa3, 0xc6, 0x79, 0x33, 0x96, 0x1f, 0x2c, 0xd9, 0xe9, 0x30, 0xa6, 0x4a, 0x76, - 0x4b, 0x24, 0x3b, 0x09, 0x68, 0x3c, 0x0f, 0x56, 0x40, 0x65, 0xcc, 0x2e, 0x70, 0x66, 0xb3, 0x9f, - 0xf9, 0x80, 0xf4, 0x97, 0xa2, 0x30, 0xaf, 0x1e, 0xee, 0x94, 0xfb, 0xe2, 0x23, 0xde, 0x5c, 0x3e, - 0x0e, 0x9c, 0x10, 0xeb, 0xce, 0xe1, 0xe1, 0xf4, 0x18, 0xf5, 0x2f, 0x78, 0xba, 0xe2, 0x9e, 0x5e, - 0x23, 0x90, 0x6f, 0x8b, 0xa0, 0x1b, 0x5e, 0xdb, 0x39, 0xec, 0x1b, 0xa2, 0xb3, 0x9a, 0x68, 0xb5, - 0x58, 0xb0, 0xdb, 0xa7, 0x21, 0xba, 0xd4, 0xf1, 0xdc, 0x09, 0xbf, 0x62, 0xb6, 0x47, 0x7b, 0xbd, - 0xa0, 0x85, 0xa3, 0x0d, 0x76, 0x20, 0xc7, 0xc8, 0xac, 0xa6, 0x37, 0x5f, 0x8a, 0x94, 0x2d, 0xb4, - 0xdf, 0xf7, 0x91, 0x53, 0xb3, 0x68, 0xca, 0x2a, 0x72, 0x0a, 0x97, 0x83, 0x64, 0x50, 0xfc, 0x90, - 0x50, 0xe4, 0x87, 0x84, 0x2d, 0x71, 0x48, 0x18, 0x8b, 0xa1, 0x66, 0x66, 0x39, 0xd9, 0x76, 0xc3, - 0xa0, 0x6f, 0x66, 0x2f, 0x90, 0xec, 0x4c, 0xb3, 0xe9, 0xce, 0x74, 0x1b, 0x0a, 0x78, 0x5a, 0x9e, - 0xe3, 0xf9, 0x5e, 0xaf, 0xd9, 0x9e, 0x67, 0x77, 0x50, 0x1c, 0x4e, 0x9f, 0xf5, 0x0e, 0x6b, 0xcd, - 0x30, 0x70, 0x5c, 0xfb, 0x23, 0xab, 0xd3, 0x43, 0xb3, 0x80, 0xa7, 0xe4, 0x3e, 0x2c, 0x5a, 0x61, - 0x68, 0xb5, 0x9e, 0x63, 0x7b, 0xc7, 0x3d, 0xf4, 0xca, 0xf3, 0x13, 0xcc, 0x8b, 0xcd, 0x60, 0xb4, - 0x70, 0x28, 0x07, 0x52, 0x5e, 0xa8, 0x28, 0xd5, 0x79, 0x73, 0x20, 0x92, 0x4d, 0x58, 0x75, 0x28, - 0x0b, 0x3f, 0x70, 0xad, 0xce, 0x08, 0x78, 0x19, 0xb8, 0x59, 0xe6, 0x18, 0xa9, 0x01, 0xe9, 0x52, - 0xfb, 0x3d, 0x27, 0xa0, 0xa1, 0xc8, 0x1f, 0xef, 0xb0, 0x25, 0xde, 0x61, 0x33, 0x46, 0x34, 0x04, - 0x2d, 0x3f, 0x89, 0x8c, 0xdb, 0x47, 0xd8, 0x8f, 0xb8, 0xc1, 0x7e, 0x92, 0xff, 0x41, 0xf1, 0x05, - 0x03, 0x11, 0x9d, 0x41, 0xaf, 0x66, 0x10, 0xf2, 0x31, 0xf6, 0x05, 0x4e, 0x61, 0xf9, 0x4e, 0xe1, - 0x6d, 0x45, 0xff, 0xba, 0x08, 0xd7, 0x58, 0x43, 0x7a, 0x53, 0x09, 0xd9, 0x3b, 0x9b, 0x90, 0xef, - 0x72, 0x42, 0x8e, 0x01, 0xf0, 0x37, 0x1b, 0xff, 0x2a, 0x6c, 0xfc, 0x4d, 0x81, 0xca, 0xd9, 0xc5, - 0x9c, 0xf6, 0x5c, 0x2c, 0x57, 0x53, 0x4d, 0x57, 0x33, 0x3b, 0x1f, 0x33, 0x79, 0xf9, 0x20, 0xb7, - 0x60, 0x36, 0x40, 0xda, 0xeb, 0x0c, 0x78, 0x78, 0x91, 0xf3, 0x70, 0x08, 0x09, 0xa9, 0x6f, 0x46, - 0x06, 0xfa, 0xcf, 0x0a, 0xfc, 0x6b, 0xec, 0x8e, 0x39, 0x65, 0x17, 0x2a, 0xd1, 0x5e, 0xab, 0x85, - 0x94, 0x4a, 0xf7, 0x38, 0xc2, 0x23, 0xe1, 0xbe, 0x07, 0x37, 0x09, 0x53, 0x36, 0x23, 0x9b, 0x00, - 0x87, 0x96, 0xd3, 0xc1, 0x36, 0x9f, 0x34, 0x93, 0x3b, 0x49, 0xb2, 0xd2, 0x7f, 0x57, 0xe1, 0xa6, - 0xb8, 0x9f, 0xa1, 0x31, 0xba, 0x14, 0xbe, 0xc2, 0x6e, 0x91, 0x7b, 0x3f, 0x90, 0x77, 0x12, 0x35, - 0xb1, 0x93, 0x8c, 0xdf, 0x2d, 0x4e, 0x60, 0xad, 0x1b, 0x4f, 0xf2, 0x63, 0xec, 0xa7, 0xb6, 0x8b, - 0x09, 0x91, 0xd4, 0x8c, 0x94, 0x2b, 0x33, 0xc7, 0xbd, 0xf6, 0x13, 0xbb, 0xa9, 0xa7, 0x86, 0x92, - 0xc4, 0x53, 0x26, 0x25, 0x5e, 0x21, 0x97, 0x78, 0x7b, 0x79, 0xfb, 0xa1, 0xa8, 0xfe, 0x99, 0x1f, - 0x5a, 0xf6, 0x4c, 0xfd, 0x17, 0x05, 0xaa, 0x93, 0xa5, 0xe4, 0x0d, 0x67, 0xa9, 0x07, 0x4b, 0xb1, - 0x41, 0x72, 0x1b, 0x16, 0x70, 0xa0, 0x88, 0x5e, 0x8a, 0x2e, 0x24, 0x7c, 0x8c, 0x0c, 0x64, 0x68, - 0x85, 0x3c, 0x68, 0x6a, 0xec, 0xf8, 0xfd, 0x6b, 0x01, 0x16, 0x86, 0xae, 0xc8, 0x41, 0x5e, 0x69, - 0x14, 0x1e, 0xfd, 0xad, 0xf8, 0xca, 0xaf, 0xde, 0x94, 0x0a, 0x93, 0xb2, 0x49, 0xcd, 0x65, 0x93, - 0x9e, 0x68, 0x4b, 0xe2, 0xb2, 0x12, 0x6f, 0x3c, 0x17, 0x78, 0xa3, 0x13, 0xf7, 0xd8, 0x02, 0x9e, - 0x6a, 0x9f, 0x9e, 0xb3, 0x15, 0xdc, 0x8c, 0xb7, 0x82, 0x8c, 0x9d, 0x52, 0x6a, 0x00, 0x7d, 0x58, - 0x94, 0x87, 0xc8, 0x5d, 0x98, 0x3f, 0x8a, 0xe4, 0xa8, 0x80, 0x67, 0x32, 0x7c, 0x68, 0x7c, 0xfe, - 0x62, 0x6e, 0x7e, 0x07, 0xa0, 0x76, 0xa9, 0x4d, 0x9e, 0xc2, 0x72, 0xe2, 0xed, 0x89, 0xdc, 0xc8, - 0x58, 0x33, 0xfd, 0xde, 0xa5, 0xfd, 0x7b, 0x12, 0x33, 0xea, 0x13, 0x0f, 0x56, 0x9f, 0xf4, 0x3a, - 0x9d, 0xe8, 0x63, 0xdb, 0xea, 0x37, 0xf1, 0x98, 0xd7, 0xf7, 0x3f, 0x19, 0xf3, 0xb3, 0x0c, 0xd9, - 0x5a, 0xff, 0x9d, 0xd8, 0x96, 0x7f, 0x07, 0x73, 0xd1, 0xbd, 0x9a, 0x2c, 0x47, 0x07, 0xa6, 0xc1, - 0x1b, 0x97, 0xb6, 0x12, 0x57, 0x50, 0x9f, 0xec, 0x01, 0xd4, 0xb1, 0x63, 0x50, 0x5b, 0x90, 0x2e, - 0x63, 0xa1, 0xd1, 0x30, 0xf3, 0xf0, 0xcf, 0x31, 0x16, 0xd4, 0x27, 0x0d, 0x58, 0x49, 0xde, 0x78, - 0x49, 0x99, 0x2f, 0x9c, 0x71, 0x1f, 0xd7, 0xae, 0xe4, 0x8c, 0x50, 0x9f, 0x6c, 0xc0, 0xfc, 0xe0, - 0x71, 0x88, 0x88, 0xc8, 0xa5, 0x07, 0x29, 0xed, 0x62, 0x42, 0x43, 0x7d, 0x72, 0x0f, 0x16, 0xe5, - 0xf7, 0x16, 0xb2, 0x3a, 0x3c, 0x30, 0x4a, 0xaf, 0x43, 0xda, 0xe5, 0x0c, 0xad, 0x08, 0x3b, 0xf9, - 0x2a, 0x12, 0x85, 0x9d, 0xf1, 0xfa, 0x12, 0x85, 0x9d, 0xf9, 0x8c, 0xd2, 0x80, 0x95, 0x46, 0xb6, - 0xa3, 0x46, 0xae, 0xa3, 0xc6, 0x19, 0x8e, 0x32, 0x12, 0x99, 0xf1, 0x0e, 0x20, 0x39, 0x4a, 0x25, - 0xb2, 0xce, 0x59, 0x2e, 0x5f, 0x85, 0xc9, 0x3f, 0x06, 0xd6, 0x89, 0xab, 0xb6, 0x56, 0xce, 0x1e, - 0xa0, 0x3e, 0x39, 0x82, 0xf5, 0xb3, 0x8e, 0x6b, 0xe4, 0xfa, 0x24, 0xc7, 0x73, 0xed, 0xc6, 0x04, - 0x56, 0xd4, 0x27, 0x5f, 0x42, 0xa5, 0x31, 0xb4, 0xc9, 0x6e, 0x51, 0xe4, 0xf6, 0x79, 0x1a, 0xbc, - 0x76, 0xe7, 0x1c, 0xd6, 0xd4, 0x27, 0xc7, 0xb0, 0xfe, 0xa0, 0xdd, 0xce, 0x47, 0x7b, 0x73, 0xc2, - 0xdb, 0xb1, 0x56, 0x9d, 0xcc, 0x90, 0xfa, 0xe4, 0x25, 0x5c, 0xab, 0x63, 0x07, 0x87, 0xd1, 0xbd, - 0x66, 0xc8, 0x5b, 0x57, 0x3f, 0xb9, 0xb2, 0xeb, 0xa3, 0x7b, 0xb0, 0x63, 0x48, 0x7f, 0x10, 0x75, - 0xa9, 0x7d, 0xaf, 0x4b, 0xed, 0x67, 0xb3, 0x5c, 0xfc, 0xff, 0x1f, 0x01, 0x00, 0x00, 0xff, 0xff, - 0xde, 0xa4, 0x14, 0xcd, 0x89, 0x1a, 0x00, 0x00, +var fileDescriptor_msg_489179134d252ef4 = []byte{ + // 1548 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x59, 0x4f, 0x73, 0xdb, 0x44, + 0x14, 0x1f, 0x59, 0xb1, 0x93, 0x3c, 0x27, 0x4d, 0xba, 0x4d, 0x83, 0xaa, 0x66, 0xa6, 0x46, 0xb4, + 0xd4, 0x85, 0xd6, 0x19, 0x02, 0x33, 0x65, 0xe8, 0x81, 0x36, 0x75, 0x70, 0x33, 0x45, 0xa4, 0x91, + 0x03, 0xcc, 0xc0, 0x21, 0x55, 0xed, 0x8d, 0xaa, 0x89, 0x2d, 0x29, 0x5a, 0xa9, 0x89, 0x61, 0x28, + 0x27, 0x4e, 0x0c, 0x07, 0xb8, 0x71, 0xe2, 0xc6, 0x77, 0xe0, 0xc8, 0x85, 0x2b, 0x77, 0xbe, 0x02, + 0x5f, 0x82, 0xd9, 0x5d, 0xd9, 0x5e, 0xfd, 0x8b, 0x15, 0x97, 0xe9, 0x94, 0x19, 0x6e, 0x7e, 0x6f, + 0xdf, 0xbe, 0x7d, 0xbf, 0xf7, 0x7e, 0xda, 0xb7, 0xbb, 0x86, 0xc5, 0x3e, 0xb1, 0xd6, 0xfb, 0xc4, + 0x6a, 0x78, 0xbe, 0x1b, 0xb8, 0x48, 0xee, 0x13, 0x4b, 0xad, 0xef, 0x78, 0xd8, 0xb9, 0xb5, 0xad, + 0xdf, 0x6a, 0x63, 0xff, 0x19, 0xf6, 0xd7, 0xbd, 0x43, 0x6b, 0x9d, 0x0d, 0xaf, 0x93, 0xee, 0xe1, + 0xfe, 0x31, 0x59, 0x3f, 0x26, 0xdc, 0x5c, 0x6d, 0x4c, 0xb4, 0xf4, 0x4d, 0xcf, 0xc3, 0x7e, 0x64, + 0xaf, 0x7d, 0x0d, 0x55, 0x9d, 0x58, 0x4d, 0x33, 0x30, 0xf7, 0x5c, 0x7d, 0x17, 0xad, 0x40, 0x39, + 0x70, 0x0f, 0xb1, 0xa3, 0x48, 0x35, 0xa9, 0x3e, 0x6f, 0x70, 0x01, 0xd5, 0xa0, 0xea, 0x7a, 0xd8, + 0x37, 0x03, 0xdb, 0x75, 0xb6, 0x9b, 0x4a, 0x89, 0x8d, 0x89, 0x2a, 0xf4, 0x1e, 0xcc, 0xf6, 0xb9, + 0x1b, 0x45, 0xae, 0x49, 0xf5, 0xea, 0x86, 0xda, 0x20, 0x2c, 0x80, 0x7d, 0xd3, 0xb3, 0xf7, 0x3d, + 0xd3, 0x37, 0xfb, 0xa4, 0x11, 0x2d, 0x64, 0x0c, 0x4d, 0x35, 0x2c, 0x2c, 0xde, 0xdc, 0x14, 0x9d, + 0x48, 0x85, 0x9d, 0x4c, 0x0e, 0x4e, 0xfb, 0x41, 0x82, 0xa5, 0x47, 0x21, 0x79, 0x2a, 0x02, 0xad, + 0x41, 0x75, 0x47, 0x98, 0xc5, 0xe1, 0x8a, 0x2a, 0x31, 0x9a, 0x52, 0xf1, 0x68, 0x34, 0x58, 0xf0, + 0x42, 0xf2, 0x74, 0xcf, 0xfd, 0x94, 0x60, 0x7f, 0xbb, 0xc9, 0xb2, 0x31, 0x6f, 0xc4, 0x74, 0xda, + 0xaf, 0x12, 0xa0, 0x71, 0x2c, 0xae, 0x63, 0xb9, 0x9b, 0x03, 0x7d, 0x17, 0x29, 0x30, 0xdb, 0x33, + 0x49, 0xd0, 0xc6, 0x47, 0x2c, 0x9c, 0x19, 0x63, 0x28, 0xa2, 0xab, 0xb0, 0x68, 0x5a, 0x96, 0x8f, + 0xad, 0x38, 0xc8, 0xb8, 0x12, 0x6d, 0x40, 0xb5, 0x8f, 0x09, 0x31, 0x2d, 0xfc, 0xb1, 0x4d, 0x02, + 0x45, 0xae, 0xc9, 0xf5, 0xea, 0xc6, 0x72, 0x83, 0x52, 0x49, 0x40, 0x6e, 0x88, 0x46, 0x68, 0x0d, + 0xe6, 0x03, 0xdf, 0xb6, 0x2c, 0x16, 0xeb, 0x0c, 0xf3, 0x3a, 0x56, 0x68, 0x9f, 0x00, 0x6a, 0xe1, + 0x40, 0x37, 0x4f, 0xee, 0x39, 0x5d, 0xdd, 0x76, 0xda, 0xf8, 0xc8, 0xc0, 0x47, 0x68, 0x15, 0x2a, + 0x11, 0x38, 0x9e, 0xb5, 0x48, 0x4a, 0xa6, 0xb4, 0x94, 0x4a, 0xa9, 0x76, 0x0c, 0x17, 0x52, 0xfe, + 0x88, 0x47, 0x81, 0x6f, 0xf9, 0xfe, 0x7d, 0xb7, 0x8b, 0x99, 0xc7, 0xb2, 0x31, 0x14, 0xe9, 0x52, + 0x5b, 0xbe, 0xaf, 0x13, 0x2b, 0xf2, 0x16, 0x49, 0x54, 0xaf, 0x9b, 0x27, 0x34, 0x53, 0x34, 0xbf, + 0x8b, 0x46, 0x24, 0x31, 0x3d, 0xf3, 0xcb, 0xb0, 0x50, 0x3d, 0x93, 0xb4, 0xaf, 0x00, 0xda, 0xd8, + 0xe9, 0xea, 0xc4, 0xa2, 0x00, 0x5e, 0x2e, 0xc9, 0x7f, 0x91, 0xa0, 0x3a, 0x5a, 0x9c, 0xa3, 0xc5, + 0x71, 0xb4, 0x78, 0x8c, 0x16, 0xc7, 0xd0, 0x72, 0x89, 0x46, 0xc6, 0xd7, 0xd1, 0x89, 0x35, 0x2a, + 0x93, 0xa8, 0xa2, 0x16, 0x9d, 0x9e, 0x8d, 0x9d, 0x80, 0x5b, 0x94, 0xb9, 0x85, 0xa0, 0x42, 0x2a, + 0xcc, 0x11, 0xec, 0x74, 0xf7, 0xec, 0x3e, 0x56, 0x2a, 0x35, 0xa9, 0x2e, 0x1b, 0x23, 0x59, 0xeb, + 0x40, 0xf5, 0x7e, 0x0f, 0x9b, 0x7e, 0x94, 0x9e, 0x55, 0xa8, 0x84, 0xb1, 0xfa, 0x72, 0x89, 0xba, + 0x70, 0xbd, 0xa8, 0xf2, 0x3c, 0xc0, 0x91, 0x9c, 0x4c, 0x9e, 0x9c, 0xfe, 0x08, 0xef, 0xc2, 0xc2, + 0x78, 0x91, 0x69, 0xd2, 0xa0, 0xfd, 0x2c, 0xc1, 0x52, 0x1b, 0x53, 0x3c, 0x31, 0x2e, 0x66, 0xc6, + 0xaa, 0xc0, 0xac, 0xe5, 0xbb, 0xa1, 0x37, 0x0a, 0x75, 0x28, 0xd2, 0x19, 0x7d, 0x4e, 0x91, 0x88, + 0x3a, 0x5c, 0x4a, 0x22, 0x98, 0x49, 0x97, 0x5f, 0xc4, 0x5f, 0x8e, 0xe3, 0xd7, 0x9a, 0xb0, 0x1c, + 0x0f, 0x6d, 0x2a, 0x84, 0x3b, 0x70, 0xa1, 0x8d, 0x83, 0x88, 0x2c, 0xed, 0xc0, 0x0c, 0x42, 0x62, + 0xa4, 0x43, 0x93, 0xd2, 0xa1, 0xad, 0x42, 0x85, 0x30, 0x73, 0xe6, 0xb0, 0x6c, 0x44, 0x92, 0xf6, + 0x00, 0x56, 0xd2, 0x0e, 0xa7, 0x0a, 0xed, 0x36, 0xfb, 0x74, 0xcf, 0x1e, 0x9a, 0xf6, 0x18, 0x56, + 0x5a, 0xff, 0x4a, 0x08, 0x02, 0x48, 0x39, 0x06, 0xf2, 0x3b, 0x09, 0x2e, 0x34, 0x71, 0xaf, 0x1d, + 0x7a, 0xd8, 0x6f, 0xd1, 0x2a, 0x47, 0x3c, 0x16, 0xeb, 0x25, 0x25, 0xf8, 0x3a, 0xe6, 0x4d, 0x29, + 0x8f, 0x37, 0x72, 0x9c, 0x37, 0x13, 0xf9, 0x41, 0x93, 0x9d, 0x0e, 0x63, 0xaa, 0x64, 0x77, 0x78, + 0xb2, 0x93, 0x80, 0x26, 0xf3, 0x60, 0x19, 0x64, 0xca, 0xec, 0x12, 0x63, 0x36, 0xfd, 0x99, 0x0f, + 0x48, 0x7b, 0xce, 0x0b, 0xf3, 0xe2, 0xe1, 0x4e, 0xb9, 0x2f, 0x3e, 0x60, 0xcd, 0xe5, 0x73, 0xdf, + 0x0e, 0x70, 0xd3, 0x3e, 0x38, 0x98, 0x1e, 0xa3, 0xf6, 0x0d, 0x4b, 0x57, 0xdc, 0xd3, 0x4b, 0x04, + 0xf2, 0x63, 0x19, 0x34, 0xdd, 0xed, 0xda, 0x07, 0x03, 0x9d, 0x77, 0x56, 0x03, 0x9b, 0x1d, 0x1a, + 0xec, 0xd6, 0x49, 0x80, 0x1d, 0x62, 0xbb, 0x4e, 0xc1, 0xaf, 0x98, 0xee, 0xd1, 0x6e, 0xe8, 0x77, + 0xf0, 0x78, 0x83, 0x1d, 0xca, 0x31, 0x32, 0xcb, 0xe9, 0xcd, 0x97, 0x60, 0x42, 0x17, 0xda, 0x1b, + 0x78, 0x98, 0x51, 0xb3, 0x6c, 0x88, 0x2a, 0x74, 0x02, 0x17, 0xfd, 0x64, 0x50, 0xec, 0x90, 0x50, + 0x66, 0x87, 0x84, 0x4d, 0x7e, 0x48, 0x98, 0x88, 0xa1, 0x61, 0x64, 0x39, 0xd9, 0x72, 0x02, 0x7f, + 0x60, 0x64, 0x2f, 0x90, 0xec, 0x4c, 0x95, 0x74, 0x67, 0xba, 0x09, 0x25, 0x7c, 0xa2, 0xcc, 0xb2, + 0x7c, 0xaf, 0x35, 0x2c, 0xd7, 0xb5, 0x7a, 0x98, 0x1f, 0x4e, 0x9f, 0x84, 0x07, 0x8d, 0x76, 0xe0, + 0xdb, 0x8e, 0xf5, 0x99, 0xd9, 0x0b, 0xb1, 0x51, 0xc2, 0x27, 0xe8, 0x2e, 0x2c, 0x98, 0x41, 0x60, + 0x76, 0x9e, 0xe2, 0xee, 0xb6, 0x73, 0xe0, 0x2a, 0x73, 0x05, 0xe6, 0xc5, 0x66, 0x50, 0x5a, 0xd8, + 0x84, 0x01, 0x51, 0xe6, 0x6b, 0x52, 0x7d, 0xce, 0x18, 0x8a, 0x68, 0x03, 0x56, 0x6c, 0x42, 0xc3, + 0xf7, 0x1d, 0xb3, 0x37, 0x06, 0xae, 0x00, 0x33, 0xcb, 0x1c, 0x43, 0x0d, 0x40, 0x7d, 0x62, 0x7d, + 0x64, 0xfb, 0x24, 0xe0, 0xf9, 0x63, 0x1d, 0xb6, 0xca, 0x3a, 0x6c, 0xc6, 0x88, 0x8a, 0x41, 0xcd, + 0x4f, 0x22, 0xe5, 0xf6, 0x21, 0x1e, 0x44, 0xdc, 0xa0, 0x3f, 0xd1, 0x3b, 0x50, 0x7e, 0x46, 0x41, + 0x44, 0x67, 0xd0, 0xcb, 0x19, 0x84, 0x7c, 0x88, 0x07, 0x1c, 0x27, 0xb7, 0xfc, 0xa0, 0xf4, 0xbe, + 0xa4, 0x7d, 0x5f, 0x86, 0x2b, 0xb4, 0x21, 0xbd, 0xaa, 0x84, 0x0c, 0x4f, 0x27, 0xe4, 0x87, 0x8c, + 0x90, 0x13, 0x00, 0xfc, 0xcf, 0xc6, 0xff, 0x0a, 0x1b, 0xff, 0x96, 0xa0, 0x76, 0x7a, 0x31, 0xa7, + 0x3d, 0x17, 0x8b, 0xd5, 0x94, 0xd3, 0xd5, 0xcc, 0xce, 0xc7, 0x4c, 0x5e, 0x3e, 0xc4, 0x6a, 0x94, + 0xe3, 0xd5, 0xb8, 0x01, 0x15, 0x1f, 0x93, 0xb0, 0x17, 0x28, 0x15, 0xc6, 0xd0, 0xf3, 0x8c, 0xa1, + 0x23, 0xb0, 0x98, 0x78, 0x46, 0x64, 0xa0, 0xfd, 0x2e, 0xc1, 0x1b, 0x13, 0xf7, 0xd2, 0x29, 0xfb, + 0x53, 0x95, 0x84, 0x9d, 0x0e, 0x26, 0x44, 0xb8, 0xe1, 0x21, 0x16, 0x09, 0xf3, 0x3d, 0xbc, 0x63, + 0x18, 0xa2, 0x19, 0xda, 0x00, 0x38, 0x30, 0xed, 0x1e, 0xee, 0xb2, 0x49, 0x33, 0xb9, 0x93, 0x04, + 0x2b, 0xed, 0x2f, 0x19, 0xae, 0xf3, 0x9b, 0x1b, 0xd6, 0xc7, 0xd7, 0xc5, 0x17, 0xd8, 0x47, 0x72, + 0x6f, 0x0e, 0xe2, 0x1e, 0x23, 0x27, 0xf6, 0x98, 0xc9, 0xfb, 0xc8, 0x31, 0xac, 0xf6, 0xe3, 0x49, + 0x7e, 0x88, 0x07, 0xa9, 0x8d, 0xa4, 0x20, 0x92, 0x86, 0x9e, 0x72, 0x65, 0xe4, 0xb8, 0x57, 0x7f, + 0xa3, 0x77, 0xf8, 0xd4, 0x50, 0x92, 0x92, 0x52, 0x51, 0x4a, 0x96, 0x72, 0x29, 0xb9, 0x9b, 0xb7, + 0x53, 0xf2, 0xea, 0x9f, 0xfa, 0x09, 0x66, 0xcf, 0xd4, 0xfe, 0x90, 0xa0, 0x5e, 0x2c, 0x25, 0xaf, + 0x38, 0x4b, 0x5d, 0x58, 0x8c, 0x0d, 0xa2, 0x9b, 0x30, 0x8f, 0x87, 0x8a, 0xe8, 0x0d, 0xe9, 0x5c, + 0xc2, 0xc7, 0xd8, 0x40, 0x84, 0x56, 0xca, 0x83, 0x26, 0xc7, 0x0e, 0xe6, 0x7f, 0x96, 0x60, 0x7e, + 0xe4, 0x0a, 0xed, 0xe7, 0x95, 0x46, 0x62, 0xd1, 0xdf, 0x88, 0xaf, 0xfc, 0xe2, 0xed, 0xaa, 0x54, + 0x94, 0x4d, 0x72, 0x2e, 0x9b, 0xb4, 0x44, 0xc3, 0xe2, 0xd7, 0x98, 0x78, 0x4b, 0x3a, 0xc7, 0x5a, + 0x20, 0xbf, 0xe1, 0x96, 0xf0, 0x89, 0xfa, 0xe5, 0x19, 0x9b, 0xc4, 0xf5, 0x78, 0x93, 0xc8, 0xd8, + 0x29, 0x85, 0xd6, 0x30, 0x80, 0x05, 0x71, 0x08, 0xdd, 0x86, 0xb9, 0xc3, 0x48, 0x8e, 0x0a, 0x78, + 0x2a, 0xc3, 0x47, 0xc6, 0x67, 0x2f, 0xe6, 0xc6, 0x4f, 0x00, 0x72, 0x9f, 0x58, 0xe8, 0x31, 0x2c, + 0x25, 0x5e, 0xa5, 0xd0, 0xb5, 0x8c, 0x35, 0xd3, 0x2f, 0x61, 0xea, 0x9b, 0x45, 0xcc, 0x88, 0x87, + 0x5c, 0x58, 0x79, 0x14, 0xf6, 0x7a, 0xd1, 0xc7, 0xb6, 0x39, 0x68, 0xe3, 0x23, 0x56, 0xdf, 0xb7, + 0x32, 0xe6, 0x67, 0x19, 0xd2, 0xb5, 0xde, 0x2e, 0x6c, 0xcb, 0xbe, 0x83, 0xd9, 0xe8, 0xc6, 0x8d, + 0x96, 0xa2, 0xa3, 0xd4, 0xf0, 0xf5, 0x4b, 0x5d, 0x8e, 0x2b, 0x88, 0x87, 0x76, 0x01, 0x9a, 0xb8, + 0xa7, 0x13, 0x8b, 0x93, 0x2e, 0x63, 0xa1, 0xf1, 0x30, 0xf5, 0xf0, 0xfa, 0x04, 0x0b, 0xe2, 0xa1, + 0x16, 0x2c, 0x27, 0xef, 0xc2, 0x48, 0x61, 0x0b, 0x67, 0xdc, 0xd4, 0xd5, 0x4b, 0x39, 0x23, 0xc4, + 0x43, 0xeb, 0x30, 0x37, 0x7c, 0x36, 0x42, 0x3c, 0x72, 0xe1, 0xa9, 0x4a, 0x3d, 0x9f, 0xd0, 0x10, + 0x0f, 0xdd, 0x81, 0x05, 0xf1, 0x25, 0x06, 0xad, 0x8c, 0x8e, 0x92, 0xc2, 0xbb, 0x91, 0x7a, 0x31, + 0x43, 0xcb, 0xc3, 0x4e, 0xbe, 0x97, 0x44, 0x61, 0x67, 0xbc, 0xcb, 0x44, 0x61, 0x67, 0x3e, 0xb0, + 0xb4, 0x60, 0xb9, 0x95, 0xed, 0xa8, 0x95, 0xeb, 0xa8, 0x75, 0x8a, 0xa3, 0x8c, 0x44, 0x66, 0xbc, + 0x10, 0x08, 0x8e, 0x52, 0x89, 0x6c, 0x32, 0x96, 0x8b, 0x97, 0x64, 0xf4, 0xda, 0xd0, 0x3a, 0x71, + 0x09, 0x57, 0x95, 0xec, 0x01, 0xe2, 0xa1, 0x43, 0x58, 0x3b, 0xed, 0x20, 0x87, 0xae, 0x16, 0x39, + 0xb8, 0xab, 0xd7, 0x0a, 0x58, 0x11, 0x0f, 0x7d, 0x0b, 0xb5, 0xd6, 0xc8, 0x26, 0xbb, 0x45, 0xa1, + 0x9b, 0x67, 0x69, 0xf0, 0xea, 0xad, 0x33, 0x58, 0x13, 0x0f, 0x1d, 0xc1, 0xda, 0xbd, 0x6e, 0x37, + 0x1f, 0xed, 0xf5, 0x82, 0xf7, 0x66, 0xb5, 0x5e, 0xcc, 0x90, 0x78, 0xe8, 0x39, 0x5c, 0x69, 0xe2, + 0x1e, 0x1e, 0x45, 0xf7, 0x92, 0x21, 0x6f, 0x5e, 0xfe, 0xe2, 0xd2, 0x8e, 0x87, 0x9d, 0xfd, 0x6d, + 0x5d, 0xf8, 0xeb, 0xa8, 0x4f, 0xac, 0x3b, 0x7d, 0x62, 0x3d, 0xa9, 0x30, 0xf1, 0xdd, 0x7f, 0x02, + 0x00, 0x00, 0xff, 0xff, 0xa6, 0x82, 0xfe, 0x0e, 0xa3, 0x1a, 0x00, 0x00, } From 63d75bb68bf26ae057822745c247402267a57a6f Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 12 Dec 2022 17:36:12 +0800 Subject: [PATCH 092/176] reaction message add expiration --- internal/rpc/msg/extend_msg.notification.go | 19 ++++++++++++++++--- pkg/base_info/msg.go | 11 +++++++++++ pkg/proto/sdk_ws/ws.proto | 2 ++ 3 files changed, 29 insertions(+), 3 deletions(-) diff --git a/internal/rpc/msg/extend_msg.notification.go b/internal/rpc/msg/extend_msg.notification.go index cf91463cd..0c8b3b126 100644 --- a/internal/rpc/msg/extend_msg.notification.go +++ b/internal/rpc/msg/extend_msg.notification.go @@ -1,6 +1,7 @@ package msg import ( + "Open_IM/pkg/base_info" "Open_IM/pkg/common/config" "Open_IM/pkg/common/constant" "Open_IM/pkg/common/log" @@ -14,9 +15,21 @@ import ( func ExtendMessageUpdatedNotification(operationID, sendID string, sourceID string, sessionType int32, req *msg.SetMessageReactionExtensionsReq, resp *msg.SetMessageReactionExtensionsResp, isHistory bool) { - m := make(map[string]interface{}) - m["rep"] = req - m["resp"] = resp + var m base_info.ReactionMessageModifierNotification + m.SourceID = req.SourceID + m.OpUserID = req.OpUserID + m.SessionType = req.SessionType + keyMap := make(map[string]*open_im_sdk.KeyValue) + for _, valueResp := range resp.Result { + if valueResp.ErrCode == 0 { + keyMap[valueResp.KeyValue.TypeKey] = valueResp.KeyValue + } + } + m.SuccessReactionExtensionList = keyMap + m.ClientMsgID = req.ClientMsgID + m.IsReact = resp.IsReact + m.IsExternalExtensions = req.IsExternalExtensions + m.MsgFirstModifyTime = resp.MsgFirstModifyTime messageReactionSender(operationID, sendID, sourceID, sessionType, constant.ReactionMessageModifier, utils.StructToJsonString(m), isHistory) } func messageReactionSender(operationID, sendID string, sourceID string, sessionType, contentType int32, content string, isHistory bool) { diff --git a/pkg/base_info/msg.go b/pkg/base_info/msg.go index 30d9adfce..bf02d311f 100644 --- a/pkg/base_info/msg.go +++ b/pkg/base_info/msg.go @@ -105,3 +105,14 @@ type AddMessageReactionExtensionsResp ModifyMessageReactionExtensionsResp type DeleteMessageReactionExtensionsReq OperateMessageListReactionExtensionsReq type DeleteMessageReactionExtensionsResp OperateMessageListReactionExtensionsResp + +type ReactionMessageModifierNotification struct { + SourceID string `json:"sourceID" binding:"required"` + OpUserID string `json:"opUserID" binding:"required"` + SessionType int32 `json:"sessionType" binding:"required"` + SuccessReactionExtensionList map[string]*sdk_ws.KeyValue `json:"reactionExtensionList,omitempty" binding:"required"` + ClientMsgID string `json:"clientMsgID" binding:"required"` + IsReact bool `json:"isReact"` + IsExternalExtensions bool `json:"isExternalExtensions"` + MsgFirstModifyTime int64 `json:"msgFirstModifyTime"` +} diff --git a/pkg/proto/sdk_ws/ws.proto b/pkg/proto/sdk_ws/ws.proto index b0b531f8f..3ead6360c 100644 --- a/pkg/proto/sdk_ws/ws.proto +++ b/pkg/proto/sdk_ws/ws.proto @@ -729,3 +729,5 @@ message KeyValue { int64 latestUpdateTime = 3; } + + From 25871aea49811784854587d1632c8ad4c11817c6 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 12 Dec 2022 19:15:31 +0800 Subject: [PATCH 093/176] reaction message add expiration --- internal/api/msg/extend_msg.go | 7 ++- internal/rpc/msg/extend_msg.go | 93 +++++++++++++--------------------- pkg/base_info/msg.go | 13 +++-- pkg/common/db/RedisModel.go | 6 +++ pkg/proto/msg/msg.proto | 34 +++++++++++-- 5 files changed, 83 insertions(+), 70 deletions(-) diff --git a/internal/api/msg/extend_msg.go b/internal/api/msg/extend_msg.go index d4e1daeb4..62282fca1 100644 --- a/internal/api/msg/extend_msg.go +++ b/internal/api/msg/extend_msg.go @@ -69,7 +69,7 @@ func GetMessageListReactionExtensions(c *gin.Context) { var ( req api.GetMessageListReactionExtensionsReq resp api.GetMessageListReactionExtensionsResp - reqPb rpc.OperateMessageListReactionExtensionsReq + reqPb rpc.GetMessageListReactionExtensionsReq ) if err := c.BindJSON(&req); err != nil { c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) @@ -106,8 +106,7 @@ func GetMessageListReactionExtensions(c *gin.Context) { } resp.ErrCode = respPb.ErrCode resp.ErrMsg = respPb.ErrMsg - resp.Data.FailedList = respPb.FailedList - resp.Data.SuccessList = respPb.SuccessList + resp.Data = respPb.SingleMessageResult log.NewInfo(req.OperationID, utils.GetSelfFuncName(), resp) c.JSON(http.StatusOK, resp) } @@ -161,7 +160,7 @@ func DeleteMessageReactionExtensions(c *gin.Context) { var ( req api.DeleteMessageReactionExtensionsReq resp api.DeleteMessageReactionExtensionsResp - reqPb rpc.OperateMessageListReactionExtensionsReq + reqPb rpc.DeleteMessageListReactionExtensionsReq ) if err := c.BindJSON(&req); err != nil { c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) diff --git a/internal/rpc/msg/extend_msg.go b/internal/rpc/msg/extend_msg.go index ee8d8d93b..af4d042bc 100644 --- a/internal/rpc/msg/extend_msg.go +++ b/internal/rpc/msg/extend_msg.go @@ -95,7 +95,6 @@ func (rpc *rpcChat) SetMessageReactionExtensions(ctx context.Context, req *msg.S ExtendMessageUpdatedNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, true) } else { ExtendMessageUpdatedNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, false) - } log.Debug(req.OperationID, utils.GetSelfFuncName(), "rpc return is:", rResp.String()) return &rResp, nil @@ -110,61 +109,41 @@ func setKeyResultInfo(r *msg.SetMessageReactionExtensionsResp, errCode int32, er _ = db.DB.UnLockMessageTypeKey(clientMsgID, typeKey) } -func (rpc *rpcChat) GetMessageListReactionExtensions(ctx context.Context, req *msg.OperateMessageListReactionExtensionsReq) (resp *msg.OperateMessageListReactionExtensionsResp, err error) { - //for _, messageValue := range req.MessageReactionKeyList { - // isExists, err := db.DB.JudgeMessageReactionEXISTS(messageValue.ClientMsgID,req.SessionType) - // if err != nil { - // - // } - // var failedList []*msg.ExtendMsgResp - // var successList []*msg.ExtendMsgResp - // var oneExtendMsg msg.ExtendMsg - // oneExtendMsg.ClientMsgID = req.ClientMsgID - // oneFailedReactionExtensionList:=make(map[string]*msg.KeyValueResp) - // oneSuccessReactionExtensionList:=make(map[string]*msg.KeyValueResp) - // if !isExists { - // if !req.IsReact { - // oneExtendMsg.MsgFirstModifyTime = utils.GetCurrentTimestampByMill() - // //redis处理 - // for k, v := range req.ReactionExtensionList { - // //抢占分布式锁 - // err:=lockMessageTypeKey(req.ClientMsgID,k) - // if err != nil { - // setKeyResultInfo(oneFailedReactionExtensionList,100,err.Error(),req.ClientMsgID,k,v) - // continue - // } - // redisValue,err:=db.DB.GetMessageTypeKeyValue(req.ClientMsgID,req.SessionType,k) - // if err != nil&&err!=go_redis.Nil { - // setKeyResultInfo(oneFailedReactionExtensionList,200,err.Error(),req.ClientMsgID,k,v) - // continue - // } - // temp:=new(server_api_params.KeyValue) - // utils.JsonStringToStruct(redisValue,temp) - // if v.LatestUpdateTime != temp.LatestUpdateTime { - // setKeyResultInfo(oneFailedReactionExtensionList,300,"message have update",req.ClientMsgID,k,temp) - // continue - // }else{ - // v.LatestUpdateTime = utils.GetCurrentTimestampByMill() - // newerr:=db.DB.SetMessageTypeKeyValue(req.ClientMsgID,req.SessionType,k,utils.StructToJsonString(v)) - // if newerr != nil { - // setKeyResultInfo(oneFailedReactionExtensionList,201,newerr.Error(),req.ClientMsgID,k,temp) - // continue - // } - // setKeyResultInfo(oneSuccessReactionExtensionList,0,"",req.ClientMsgID,k,v) - // } - // - // } - // - // }else{ - // //mongo处理 - // } - // - // }else{ - // - // } - // return - //} - return +func (rpc *rpcChat) GetMessageListReactionExtensions(ctx context.Context, req *msg.GetMessageListReactionExtensionsReq) (resp *msg.GetMessageListReactionExtensionsResp, err error) { + var rResp msg.GetMessageListReactionExtensionsResp + for _, messageValue := range req.MessageReactionKeyList { + var oneMessage msg.SingleMessageExtensionResult + oneMessage.ClientMsgID = messageValue.ClientMsgID + + isExists, err := db.DB.JudgeMessageReactionEXISTS(messageValue.ClientMsgID, req.SessionType) + if err != nil { + rResp.ErrCode = 100 + rResp.ErrMsg = err.Error() + return &rResp, nil + } + if isExists { + redisValue, err := db.DB.GetOneMessageAllReactionList(messageValue.ClientMsgID, req.SessionType) + if err != nil { + oneMessage.ErrCode = 100 + oneMessage.ErrMsg = err.Error() + rResp.SingleMessageResult = append(rResp.SingleMessageResult, &oneMessage) + continue + } + keyMap := make(map[string]*server_api_params.KeyValue) + + for k, v := range redisValue { + temp := new(server_api_params.KeyValue) + utils.JsonStringToStruct(v, temp) + keyMap[k] = temp + } + oneMessage.ReactionExtensionList = keyMap + + } else { + + } + rResp.SingleMessageResult = append(rResp.SingleMessageResult, &oneMessage) + } + return &rResp, nil } @@ -172,7 +151,7 @@ func (rpc *rpcChat) AddMessageReactionExtensions(ctx context.Context, req *msg.M return } -func (rpc *rpcChat) DeleteMessageReactionExtensions(ctx context.Context, req *msg.OperateMessageListReactionExtensionsReq) (resp *msg.OperateMessageListReactionExtensionsResp, err error) { +func (rpc *rpcChat) DeleteMessageReactionExtensions(ctx context.Context, req *msg.DeleteMessageListReactionExtensionsReq) (resp *msg.DeleteMessageListReactionExtensionsResp, err error) { return } func lockMessageTypeKey(clientMsgID, typeKey string) (err error) { diff --git a/pkg/base_info/msg.go b/pkg/base_info/msg.go index bf02d311f..d71b4b5be 100644 --- a/pkg/base_info/msg.go +++ b/pkg/base_info/msg.go @@ -76,10 +76,10 @@ type ModifyMessageReactionExtensionsResp struct { } type OperateMessageListReactionExtensionsReq struct { - OperationID string `json:"operationID" binding:"required"` - SourceID string `json:"sourceID" binding:"required"` - SessionType string `json:"sessionType" binding:"required"` - MessageReactionKeyList []*msg.OperateMessageListReactionExtensionsReq_MessageReactionKey `json:"messageReactionKeyList" binding:"required"` + OperationID string `json:"operationID" binding:"required"` + SourceID string `json:"sourceID" binding:"required"` + SessionType string `json:"sessionType" binding:"required"` + MessageReactionKeyList []*msg.GetMessageListReactionExtensionsReq_MessageReactionKey `json:"messageReactionKeyList" binding:"required"` } type OperateMessageListReactionExtensionsResp struct { @@ -96,7 +96,10 @@ type SetMessageReactionExtensionsCallbackResp ModifyMessageReactionExtensionsRes type GetMessageListReactionExtensionsReq OperateMessageListReactionExtensionsReq -type GetMessageListReactionExtensionsResp OperateMessageListReactionExtensionsResp +type GetMessageListReactionExtensionsResp struct { + CommResp + Data []*msg.SingleMessageExtensionResult `json:"data"` +} type AddMessageReactionExtensionsReq ModifyMessageReactionExtensionsReq diff --git a/pkg/common/db/RedisModel.go b/pkg/common/db/RedisModel.go index 6a2286b15..b9692cf1d 100644 --- a/pkg/common/db/RedisModel.go +++ b/pkg/common/db/RedisModel.go @@ -447,6 +447,12 @@ func (d *DataBases) JudgeMessageReactionEXISTS(clientMsgID string, sessionType i return false, err } } + +func (d *DataBases) GetOneMessageAllReactionList(clientMsgID string, sessionType int32) (map[string]string, error) { + key := getMessageReactionExPrefix(clientMsgID, sessionType) + return d.RDB.HGetAll(context.Background(), key).Result() + +} func (d *DataBases) SetMessageReactionExpire(clientMsgID string, sessionType int32, expiration time.Duration) (bool, error) { key := getMessageReactionExPrefix(clientMsgID, sessionType) return d.RDB.Expire(context.Background(), key, expiration).Result() diff --git a/pkg/proto/msg/msg.proto b/pkg/proto/msg/msg.proto index c02824c86..87fac4775 100644 --- a/pkg/proto/msg/msg.proto +++ b/pkg/proto/msg/msg.proto @@ -189,6 +189,32 @@ message SetMessageReactionExtensionsResp { repeated KeyValueResp result = 6; } + +message GetMessageListReactionExtensionsReq { + string operationID = 1; + string opUserID = 2; + string sourceID = 3; + int32 sessionType = 4; + message MessageReactionKey { + string clientMsgID = 1; + int64 msgFirstModifyTime = 2; + } + repeated MessageReactionKey messageReactionKeyList = 5; +} +message GetMessageListReactionExtensionsResp{ + int32 errCode = 1; + string errMsg = 2; + repeated SingleMessageExtensionResult singleMessageResult =3; + +} +message SingleMessageExtensionResult { + int32 errCode = 1; + string errMsg = 2; + map reactionExtensionList = 3; + string clientMsgID = 4; +} + + message ModifyMessageReactionExtensionsResp { int32 errCode = 1; string errMsg = 2; @@ -196,7 +222,7 @@ message ModifyMessageReactionExtensionsResp { repeated ExtendMsgResp failedList = 4; } -message OperateMessageListReactionExtensionsReq { +message DeleteMessageListReactionExtensionsReq { string operationID = 1; string opUserID = 2; string sourceID = 3; @@ -209,7 +235,7 @@ message OperateMessageListReactionExtensionsReq { repeated MessageReactionKey messageReactionKeyList = 5; } -message OperateMessageListReactionExtensionsResp { +message DeleteMessageListReactionExtensionsResp { int32 errCode = 1; string errMsg = 2; repeated ExtendMsgResp successList = 3; @@ -251,7 +277,7 @@ service msg { // modify msg rpc SetMessageReactionExtensions(SetMessageReactionExtensionsReq) returns(SetMessageReactionExtensionsResp); - rpc GetMessageListReactionExtensions(OperateMessageListReactionExtensionsReq) returns(OperateMessageListReactionExtensionsResp); + rpc GetMessageListReactionExtensions(GetMessageListReactionExtensionsReq) returns(GetMessageListReactionExtensionsResp); rpc AddMessageReactionExtensions(ModifyMessageReactionExtensionsReq) returns(ModifyMessageReactionExtensionsResp); - rpc DeleteMessageReactionExtensions(OperateMessageListReactionExtensionsReq) returns(OperateMessageListReactionExtensionsResp); + rpc DeleteMessageReactionExtensions(DeleteMessageListReactionExtensionsReq) returns(DeleteMessageListReactionExtensionsResp); } From 21dcb55c82c3c5e412ce3c2fbe0ab18cbb77584f Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 12 Dec 2022 19:15:42 +0800 Subject: [PATCH 094/176] reaction message add expiration --- pkg/proto/msg/msg.pb.go | 683 +++++++++++++++++++++++++++------------- 1 file changed, 465 insertions(+), 218 deletions(-) diff --git a/pkg/proto/msg/msg.pb.go b/pkg/proto/msg/msg.pb.go index 89d14cb63..1aa56b4ac 100644 --- a/pkg/proto/msg/msg.pb.go +++ b/pkg/proto/msg/msg.pb.go @@ -38,7 +38,7 @@ func (m *MsgDataToMQ) Reset() { *m = MsgDataToMQ{} } func (m *MsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMQ) ProtoMessage() {} func (*MsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{0} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{0} } func (m *MsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMQ.Unmarshal(m, b) @@ -91,7 +91,7 @@ func (m *MsgDataToDB) Reset() { *m = MsgDataToDB{} } func (m *MsgDataToDB) String() string { return proto.CompactTextString(m) } func (*MsgDataToDB) ProtoMessage() {} func (*MsgDataToDB) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{1} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{1} } func (m *MsgDataToDB) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToDB.Unmarshal(m, b) @@ -138,7 +138,7 @@ func (m *PushMsgDataToMQ) Reset() { *m = PushMsgDataToMQ{} } func (m *PushMsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*PushMsgDataToMQ) ProtoMessage() {} func (*PushMsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{2} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{2} } func (m *PushMsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PushMsgDataToMQ.Unmarshal(m, b) @@ -193,7 +193,7 @@ func (m *MsgDataToMongoByMQ) Reset() { *m = MsgDataToMongoByMQ{} } func (m *MsgDataToMongoByMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMongoByMQ) ProtoMessage() {} func (*MsgDataToMongoByMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{3} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{3} } func (m *MsgDataToMongoByMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMongoByMQ.Unmarshal(m, b) @@ -273,7 +273,7 @@ func (m *GetMaxAndMinSeqReq) Reset() { *m = GetMaxAndMinSeqReq{} } func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqReq) ProtoMessage() {} func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{4} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{4} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -321,7 +321,7 @@ func (m *GetMaxAndMinSeqResp) Reset() { *m = GetMaxAndMinSeqResp{} } func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqResp) ProtoMessage() {} func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{5} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{5} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -382,7 +382,7 @@ func (m *SendMsgReq) Reset() { *m = SendMsgReq{} } func (m *SendMsgReq) String() string { return proto.CompactTextString(m) } func (*SendMsgReq) ProtoMessage() {} func (*SendMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{6} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{6} } func (m *SendMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgReq.Unmarshal(m, b) @@ -438,7 +438,7 @@ func (m *SendMsgResp) Reset() { *m = SendMsgResp{} } func (m *SendMsgResp) String() string { return proto.CompactTextString(m) } func (*SendMsgResp) ProtoMessage() {} func (*SendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{7} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{7} } func (m *SendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgResp.Unmarshal(m, b) @@ -506,7 +506,7 @@ func (m *ClearMsgReq) Reset() { *m = ClearMsgReq{} } func (m *ClearMsgReq) String() string { return proto.CompactTextString(m) } func (*ClearMsgReq) ProtoMessage() {} func (*ClearMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{8} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{8} } func (m *ClearMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgReq.Unmarshal(m, b) @@ -559,7 +559,7 @@ func (m *ClearMsgResp) Reset() { *m = ClearMsgResp{} } func (m *ClearMsgResp) String() string { return proto.CompactTextString(m) } func (*ClearMsgResp) ProtoMessage() {} func (*ClearMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{9} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{9} } func (m *ClearMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgResp.Unmarshal(m, b) @@ -608,7 +608,7 @@ func (m *SetMsgMinSeqReq) Reset() { *m = SetMsgMinSeqReq{} } func (m *SetMsgMinSeqReq) String() string { return proto.CompactTextString(m) } func (*SetMsgMinSeqReq) ProtoMessage() {} func (*SetMsgMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{10} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{10} } func (m *SetMsgMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqReq.Unmarshal(m, b) @@ -675,7 +675,7 @@ func (m *SetMsgMinSeqResp) Reset() { *m = SetMsgMinSeqResp{} } func (m *SetMsgMinSeqResp) String() string { return proto.CompactTextString(m) } func (*SetMsgMinSeqResp) ProtoMessage() {} func (*SetMsgMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{11} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{11} } func (m *SetMsgMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqResp.Unmarshal(m, b) @@ -721,7 +721,7 @@ func (m *SetSendMsgStatusReq) Reset() { *m = SetSendMsgStatusReq{} } func (m *SetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (*SetSendMsgStatusReq) ProtoMessage() {} func (*SetSendMsgStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{12} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{12} } func (m *SetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgStatusReq.Unmarshal(m, b) @@ -767,7 +767,7 @@ func (m *SetSendMsgStatusResp) Reset() { *m = SetSendMsgStatusResp{} } func (m *SetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (*SetSendMsgStatusResp) ProtoMessage() {} func (*SetSendMsgStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{13} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{13} } func (m *SetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgStatusResp.Unmarshal(m, b) @@ -812,7 +812,7 @@ func (m *GetSendMsgStatusReq) Reset() { *m = GetSendMsgStatusReq{} } func (m *GetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (*GetSendMsgStatusReq) ProtoMessage() {} func (*GetSendMsgStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{14} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{14} } func (m *GetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusReq.Unmarshal(m, b) @@ -852,7 +852,7 @@ func (m *GetSendMsgStatusResp) Reset() { *m = GetSendMsgStatusResp{} } func (m *GetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (*GetSendMsgStatusResp) ProtoMessage() {} func (*GetSendMsgStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{15} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{15} } func (m *GetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusResp.Unmarshal(m, b) @@ -907,7 +907,7 @@ func (m *DelSuperGroupMsgReq) Reset() { *m = DelSuperGroupMsgReq{} } func (m *DelSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (*DelSuperGroupMsgReq) ProtoMessage() {} func (*DelSuperGroupMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{16} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{16} } func (m *DelSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelSuperGroupMsgReq.Unmarshal(m, b) @@ -967,7 +967,7 @@ func (m *DelSuperGroupMsgResp) Reset() { *m = DelSuperGroupMsgResp{} } func (m *DelSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (*DelSuperGroupMsgResp) ProtoMessage() {} func (*DelSuperGroupMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{17} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{17} } func (m *DelSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelSuperGroupMsgResp.Unmarshal(m, b) @@ -1014,7 +1014,7 @@ func (m *GetSuperGroupMsgReq) Reset() { *m = GetSuperGroupMsgReq{} } func (m *GetSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupMsgReq) ProtoMessage() {} func (*GetSuperGroupMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{18} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{18} } func (m *GetSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupMsgReq.Unmarshal(m, b) @@ -1068,7 +1068,7 @@ func (m *GetSuperGroupMsgResp) Reset() { *m = GetSuperGroupMsgResp{} } func (m *GetSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupMsgResp) ProtoMessage() {} func (*GetSuperGroupMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{19} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{19} } func (m *GetSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupMsgResp.Unmarshal(m, b) @@ -1121,7 +1121,7 @@ func (m *GetWriteDiffMsgReq) Reset() { *m = GetWriteDiffMsgReq{} } func (m *GetWriteDiffMsgReq) String() string { return proto.CompactTextString(m) } func (*GetWriteDiffMsgReq) ProtoMessage() {} func (*GetWriteDiffMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{20} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{20} } func (m *GetWriteDiffMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetWriteDiffMsgReq.Unmarshal(m, b) @@ -1168,7 +1168,7 @@ func (m *GetWriteDiffMsgResp) Reset() { *m = GetWriteDiffMsgResp{} } func (m *GetWriteDiffMsgResp) String() string { return proto.CompactTextString(m) } func (*GetWriteDiffMsgResp) ProtoMessage() {} func (*GetWriteDiffMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{21} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{21} } func (m *GetWriteDiffMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetWriteDiffMsgResp.Unmarshal(m, b) @@ -1230,7 +1230,7 @@ func (m *ModifyMessageReactionExtensionsReq) Reset() { *m = ModifyMessag func (m *ModifyMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*ModifyMessageReactionExtensionsReq) ProtoMessage() {} func (*ModifyMessageReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{22} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{22} } func (m *ModifyMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyMessageReactionExtensionsReq.Unmarshal(m, b) @@ -1348,7 +1348,7 @@ func (m *SetMessageReactionExtensionsReq) Reset() { *m = SetMessageReact func (m *SetMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*SetMessageReactionExtensionsReq) ProtoMessage() {} func (*SetMessageReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{23} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{23} } func (m *SetMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMessageReactionExtensionsReq.Unmarshal(m, b) @@ -1461,7 +1461,7 @@ func (m *SetMessageReactionExtensionsResp) Reset() { *m = SetMessageReac func (m *SetMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*SetMessageReactionExtensionsResp) ProtoMessage() {} func (*SetMessageReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{24} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{24} } func (m *SetMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMessageReactionExtensionsResp.Unmarshal(m, b) @@ -1523,6 +1523,242 @@ func (m *SetMessageReactionExtensionsResp) GetResult() []*KeyValueResp { return nil } +type GetMessageListReactionExtensionsReq struct { + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + OpUserID string `protobuf:"bytes,2,opt,name=opUserID" json:"opUserID,omitempty"` + SourceID string `protobuf:"bytes,3,opt,name=sourceID" json:"sourceID,omitempty"` + SessionType int32 `protobuf:"varint,4,opt,name=sessionType" json:"sessionType,omitempty"` + MessageReactionKeyList []*GetMessageListReactionExtensionsReq_MessageReactionKey `protobuf:"bytes,5,rep,name=messageReactionKeyList" json:"messageReactionKeyList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetMessageListReactionExtensionsReq) Reset() { *m = GetMessageListReactionExtensionsReq{} } +func (m *GetMessageListReactionExtensionsReq) String() string { return proto.CompactTextString(m) } +func (*GetMessageListReactionExtensionsReq) ProtoMessage() {} +func (*GetMessageListReactionExtensionsReq) Descriptor() ([]byte, []int) { + return fileDescriptor_msg_32af573ca8e8e2bd, []int{25} +} +func (m *GetMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetMessageListReactionExtensionsReq.Unmarshal(m, b) +} +func (m *GetMessageListReactionExtensionsReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetMessageListReactionExtensionsReq.Marshal(b, m, deterministic) +} +func (dst *GetMessageListReactionExtensionsReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetMessageListReactionExtensionsReq.Merge(dst, src) +} +func (m *GetMessageListReactionExtensionsReq) XXX_Size() int { + return xxx_messageInfo_GetMessageListReactionExtensionsReq.Size(m) +} +func (m *GetMessageListReactionExtensionsReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetMessageListReactionExtensionsReq.DiscardUnknown(m) +} + +var xxx_messageInfo_GetMessageListReactionExtensionsReq proto.InternalMessageInfo + +func (m *GetMessageListReactionExtensionsReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *GetMessageListReactionExtensionsReq) GetOpUserID() string { + if m != nil { + return m.OpUserID + } + return "" +} + +func (m *GetMessageListReactionExtensionsReq) GetSourceID() string { + if m != nil { + return m.SourceID + } + return "" +} + +func (m *GetMessageListReactionExtensionsReq) GetSessionType() int32 { + if m != nil { + return m.SessionType + } + return 0 +} + +func (m *GetMessageListReactionExtensionsReq) GetMessageReactionKeyList() []*GetMessageListReactionExtensionsReq_MessageReactionKey { + if m != nil { + return m.MessageReactionKeyList + } + return nil +} + +type GetMessageListReactionExtensionsReq_MessageReactionKey struct { + ClientMsgID string `protobuf:"bytes,1,opt,name=clientMsgID" json:"clientMsgID,omitempty"` + MsgFirstModifyTime int64 `protobuf:"varint,2,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetMessageListReactionExtensionsReq_MessageReactionKey) Reset() { + *m = GetMessageListReactionExtensionsReq_MessageReactionKey{} +} +func (m *GetMessageListReactionExtensionsReq_MessageReactionKey) String() string { + return proto.CompactTextString(m) +} +func (*GetMessageListReactionExtensionsReq_MessageReactionKey) ProtoMessage() {} +func (*GetMessageListReactionExtensionsReq_MessageReactionKey) Descriptor() ([]byte, []int) { + return fileDescriptor_msg_32af573ca8e8e2bd, []int{25, 0} +} +func (m *GetMessageListReactionExtensionsReq_MessageReactionKey) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetMessageListReactionExtensionsReq_MessageReactionKey.Unmarshal(m, b) +} +func (m *GetMessageListReactionExtensionsReq_MessageReactionKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetMessageListReactionExtensionsReq_MessageReactionKey.Marshal(b, m, deterministic) +} +func (dst *GetMessageListReactionExtensionsReq_MessageReactionKey) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetMessageListReactionExtensionsReq_MessageReactionKey.Merge(dst, src) +} +func (m *GetMessageListReactionExtensionsReq_MessageReactionKey) XXX_Size() int { + return xxx_messageInfo_GetMessageListReactionExtensionsReq_MessageReactionKey.Size(m) +} +func (m *GetMessageListReactionExtensionsReq_MessageReactionKey) XXX_DiscardUnknown() { + xxx_messageInfo_GetMessageListReactionExtensionsReq_MessageReactionKey.DiscardUnknown(m) +} + +var xxx_messageInfo_GetMessageListReactionExtensionsReq_MessageReactionKey proto.InternalMessageInfo + +func (m *GetMessageListReactionExtensionsReq_MessageReactionKey) GetClientMsgID() string { + if m != nil { + return m.ClientMsgID + } + return "" +} + +func (m *GetMessageListReactionExtensionsReq_MessageReactionKey) GetMsgFirstModifyTime() int64 { + if m != nil { + return m.MsgFirstModifyTime + } + return 0 +} + +type GetMessageListReactionExtensionsResp struct { + ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` + SingleMessageResult []*SingleMessageExtensionResult `protobuf:"bytes,3,rep,name=singleMessageResult" json:"singleMessageResult,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetMessageListReactionExtensionsResp) Reset() { *m = GetMessageListReactionExtensionsResp{} } +func (m *GetMessageListReactionExtensionsResp) String() string { return proto.CompactTextString(m) } +func (*GetMessageListReactionExtensionsResp) ProtoMessage() {} +func (*GetMessageListReactionExtensionsResp) Descriptor() ([]byte, []int) { + return fileDescriptor_msg_32af573ca8e8e2bd, []int{26} +} +func (m *GetMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetMessageListReactionExtensionsResp.Unmarshal(m, b) +} +func (m *GetMessageListReactionExtensionsResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetMessageListReactionExtensionsResp.Marshal(b, m, deterministic) +} +func (dst *GetMessageListReactionExtensionsResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetMessageListReactionExtensionsResp.Merge(dst, src) +} +func (m *GetMessageListReactionExtensionsResp) XXX_Size() int { + return xxx_messageInfo_GetMessageListReactionExtensionsResp.Size(m) +} +func (m *GetMessageListReactionExtensionsResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetMessageListReactionExtensionsResp.DiscardUnknown(m) +} + +var xxx_messageInfo_GetMessageListReactionExtensionsResp proto.InternalMessageInfo + +func (m *GetMessageListReactionExtensionsResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode + } + return 0 +} + +func (m *GetMessageListReactionExtensionsResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg + } + return "" +} + +func (m *GetMessageListReactionExtensionsResp) GetSingleMessageResult() []*SingleMessageExtensionResult { + if m != nil { + return m.SingleMessageResult + } + return nil +} + +type SingleMessageExtensionResult struct { + ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` + ReactionExtensionList map[string]*sdk_ws.KeyValue `protobuf:"bytes,3,rep,name=reactionExtensionList" json:"reactionExtensionList,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + ClientMsgID string `protobuf:"bytes,4,opt,name=clientMsgID" json:"clientMsgID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SingleMessageExtensionResult) Reset() { *m = SingleMessageExtensionResult{} } +func (m *SingleMessageExtensionResult) String() string { return proto.CompactTextString(m) } +func (*SingleMessageExtensionResult) ProtoMessage() {} +func (*SingleMessageExtensionResult) Descriptor() ([]byte, []int) { + return fileDescriptor_msg_32af573ca8e8e2bd, []int{27} +} +func (m *SingleMessageExtensionResult) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SingleMessageExtensionResult.Unmarshal(m, b) +} +func (m *SingleMessageExtensionResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SingleMessageExtensionResult.Marshal(b, m, deterministic) +} +func (dst *SingleMessageExtensionResult) XXX_Merge(src proto.Message) { + xxx_messageInfo_SingleMessageExtensionResult.Merge(dst, src) +} +func (m *SingleMessageExtensionResult) XXX_Size() int { + return xxx_messageInfo_SingleMessageExtensionResult.Size(m) +} +func (m *SingleMessageExtensionResult) XXX_DiscardUnknown() { + xxx_messageInfo_SingleMessageExtensionResult.DiscardUnknown(m) +} + +var xxx_messageInfo_SingleMessageExtensionResult proto.InternalMessageInfo + +func (m *SingleMessageExtensionResult) GetErrCode() int32 { + if m != nil { + return m.ErrCode + } + return 0 +} + +func (m *SingleMessageExtensionResult) GetErrMsg() string { + if m != nil { + return m.ErrMsg + } + return "" +} + +func (m *SingleMessageExtensionResult) GetReactionExtensionList() map[string]*sdk_ws.KeyValue { + if m != nil { + return m.ReactionExtensionList + } + return nil +} + +func (m *SingleMessageExtensionResult) GetClientMsgID() string { + if m != nil { + return m.ClientMsgID + } + return "" +} + type ModifyMessageReactionExtensionsResp struct { ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` @@ -1537,7 +1773,7 @@ func (m *ModifyMessageReactionExtensionsResp) Reset() { *m = ModifyMessa func (m *ModifyMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*ModifyMessageReactionExtensionsResp) ProtoMessage() {} func (*ModifyMessageReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{25} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{28} } func (m *ModifyMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyMessageReactionExtensionsResp.Unmarshal(m, b) @@ -1585,79 +1821,79 @@ func (m *ModifyMessageReactionExtensionsResp) GetFailedList() []*ExtendMsgResp { return nil } -type OperateMessageListReactionExtensionsReq struct { - OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` - OpUserID string `protobuf:"bytes,2,opt,name=opUserID" json:"opUserID,omitempty"` - SourceID string `protobuf:"bytes,3,opt,name=sourceID" json:"sourceID,omitempty"` - SessionType int32 `protobuf:"varint,4,opt,name=sessionType" json:"sessionType,omitempty"` - MessageReactionKeyList []*OperateMessageListReactionExtensionsReq_MessageReactionKey `protobuf:"bytes,5,rep,name=messageReactionKeyList" json:"messageReactionKeyList,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` +type DeleteMessageListReactionExtensionsReq struct { + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + OpUserID string `protobuf:"bytes,2,opt,name=opUserID" json:"opUserID,omitempty"` + SourceID string `protobuf:"bytes,3,opt,name=sourceID" json:"sourceID,omitempty"` + SessionType int32 `protobuf:"varint,4,opt,name=sessionType" json:"sessionType,omitempty"` + MessageReactionKeyList []*DeleteMessageListReactionExtensionsReq_MessageReactionKey `protobuf:"bytes,5,rep,name=messageReactionKeyList" json:"messageReactionKeyList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *OperateMessageListReactionExtensionsReq) Reset() { - *m = OperateMessageListReactionExtensionsReq{} +func (m *DeleteMessageListReactionExtensionsReq) Reset() { + *m = DeleteMessageListReactionExtensionsReq{} } -func (m *OperateMessageListReactionExtensionsReq) String() string { return proto.CompactTextString(m) } -func (*OperateMessageListReactionExtensionsReq) ProtoMessage() {} -func (*OperateMessageListReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{26} +func (m *DeleteMessageListReactionExtensionsReq) String() string { return proto.CompactTextString(m) } +func (*DeleteMessageListReactionExtensionsReq) ProtoMessage() {} +func (*DeleteMessageListReactionExtensionsReq) Descriptor() ([]byte, []int) { + return fileDescriptor_msg_32af573ca8e8e2bd, []int{29} } -func (m *OperateMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_OperateMessageListReactionExtensionsReq.Unmarshal(m, b) +func (m *DeleteMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DeleteMessageListReactionExtensionsReq.Unmarshal(m, b) } -func (m *OperateMessageListReactionExtensionsReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_OperateMessageListReactionExtensionsReq.Marshal(b, m, deterministic) +func (m *DeleteMessageListReactionExtensionsReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DeleteMessageListReactionExtensionsReq.Marshal(b, m, deterministic) } -func (dst *OperateMessageListReactionExtensionsReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_OperateMessageListReactionExtensionsReq.Merge(dst, src) +func (dst *DeleteMessageListReactionExtensionsReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_DeleteMessageListReactionExtensionsReq.Merge(dst, src) } -func (m *OperateMessageListReactionExtensionsReq) XXX_Size() int { - return xxx_messageInfo_OperateMessageListReactionExtensionsReq.Size(m) +func (m *DeleteMessageListReactionExtensionsReq) XXX_Size() int { + return xxx_messageInfo_DeleteMessageListReactionExtensionsReq.Size(m) } -func (m *OperateMessageListReactionExtensionsReq) XXX_DiscardUnknown() { - xxx_messageInfo_OperateMessageListReactionExtensionsReq.DiscardUnknown(m) +func (m *DeleteMessageListReactionExtensionsReq) XXX_DiscardUnknown() { + xxx_messageInfo_DeleteMessageListReactionExtensionsReq.DiscardUnknown(m) } -var xxx_messageInfo_OperateMessageListReactionExtensionsReq proto.InternalMessageInfo +var xxx_messageInfo_DeleteMessageListReactionExtensionsReq proto.InternalMessageInfo -func (m *OperateMessageListReactionExtensionsReq) GetOperationID() string { +func (m *DeleteMessageListReactionExtensionsReq) GetOperationID() string { if m != nil { return m.OperationID } return "" } -func (m *OperateMessageListReactionExtensionsReq) GetOpUserID() string { +func (m *DeleteMessageListReactionExtensionsReq) GetOpUserID() string { if m != nil { return m.OpUserID } return "" } -func (m *OperateMessageListReactionExtensionsReq) GetSourceID() string { +func (m *DeleteMessageListReactionExtensionsReq) GetSourceID() string { if m != nil { return m.SourceID } return "" } -func (m *OperateMessageListReactionExtensionsReq) GetSessionType() int32 { +func (m *DeleteMessageListReactionExtensionsReq) GetSessionType() int32 { if m != nil { return m.SessionType } return 0 } -func (m *OperateMessageListReactionExtensionsReq) GetMessageReactionKeyList() []*OperateMessageListReactionExtensionsReq_MessageReactionKey { +func (m *DeleteMessageListReactionExtensionsReq) GetMessageReactionKeyList() []*DeleteMessageListReactionExtensionsReq_MessageReactionKey { if m != nil { return m.MessageReactionKeyList } return nil } -type OperateMessageListReactionExtensionsReq_MessageReactionKey struct { +type DeleteMessageListReactionExtensionsReq_MessageReactionKey struct { ClientMsgID string `protobuf:"bytes,1,opt,name=clientMsgID" json:"clientMsgID,omitempty"` MsgFirstModifyTime int64 `protobuf:"varint,2,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"` ReactionExtensionList []*sdk_ws.KeyValue `protobuf:"bytes,3,rep,name=reactionExtensionList" json:"reactionExtensionList,omitempty"` @@ -1666,56 +1902,56 @@ type OperateMessageListReactionExtensionsReq_MessageReactionKey struct { XXX_sizecache int32 `json:"-"` } -func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) Reset() { - *m = OperateMessageListReactionExtensionsReq_MessageReactionKey{} +func (m *DeleteMessageListReactionExtensionsReq_MessageReactionKey) Reset() { + *m = DeleteMessageListReactionExtensionsReq_MessageReactionKey{} } -func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) String() string { +func (m *DeleteMessageListReactionExtensionsReq_MessageReactionKey) String() string { return proto.CompactTextString(m) } -func (*OperateMessageListReactionExtensionsReq_MessageReactionKey) ProtoMessage() {} -func (*OperateMessageListReactionExtensionsReq_MessageReactionKey) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{26, 0} +func (*DeleteMessageListReactionExtensionsReq_MessageReactionKey) ProtoMessage() {} +func (*DeleteMessageListReactionExtensionsReq_MessageReactionKey) Descriptor() ([]byte, []int) { + return fileDescriptor_msg_32af573ca8e8e2bd, []int{29, 0} } -func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_OperateMessageListReactionExtensionsReq_MessageReactionKey.Unmarshal(m, b) +func (m *DeleteMessageListReactionExtensionsReq_MessageReactionKey) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DeleteMessageListReactionExtensionsReq_MessageReactionKey.Unmarshal(m, b) } -func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_OperateMessageListReactionExtensionsReq_MessageReactionKey.Marshal(b, m, deterministic) +func (m *DeleteMessageListReactionExtensionsReq_MessageReactionKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DeleteMessageListReactionExtensionsReq_MessageReactionKey.Marshal(b, m, deterministic) } -func (dst *OperateMessageListReactionExtensionsReq_MessageReactionKey) XXX_Merge(src proto.Message) { - xxx_messageInfo_OperateMessageListReactionExtensionsReq_MessageReactionKey.Merge(dst, src) +func (dst *DeleteMessageListReactionExtensionsReq_MessageReactionKey) XXX_Merge(src proto.Message) { + xxx_messageInfo_DeleteMessageListReactionExtensionsReq_MessageReactionKey.Merge(dst, src) } -func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) XXX_Size() int { - return xxx_messageInfo_OperateMessageListReactionExtensionsReq_MessageReactionKey.Size(m) +func (m *DeleteMessageListReactionExtensionsReq_MessageReactionKey) XXX_Size() int { + return xxx_messageInfo_DeleteMessageListReactionExtensionsReq_MessageReactionKey.Size(m) } -func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) XXX_DiscardUnknown() { - xxx_messageInfo_OperateMessageListReactionExtensionsReq_MessageReactionKey.DiscardUnknown(m) +func (m *DeleteMessageListReactionExtensionsReq_MessageReactionKey) XXX_DiscardUnknown() { + xxx_messageInfo_DeleteMessageListReactionExtensionsReq_MessageReactionKey.DiscardUnknown(m) } -var xxx_messageInfo_OperateMessageListReactionExtensionsReq_MessageReactionKey proto.InternalMessageInfo +var xxx_messageInfo_DeleteMessageListReactionExtensionsReq_MessageReactionKey proto.InternalMessageInfo -func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) GetClientMsgID() string { +func (m *DeleteMessageListReactionExtensionsReq_MessageReactionKey) GetClientMsgID() string { if m != nil { return m.ClientMsgID } return "" } -func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) GetMsgFirstModifyTime() int64 { +func (m *DeleteMessageListReactionExtensionsReq_MessageReactionKey) GetMsgFirstModifyTime() int64 { if m != nil { return m.MsgFirstModifyTime } return 0 } -func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) GetReactionExtensionList() []*sdk_ws.KeyValue { +func (m *DeleteMessageListReactionExtensionsReq_MessageReactionKey) GetReactionExtensionList() []*sdk_ws.KeyValue { if m != nil { return m.ReactionExtensionList } return nil } -type OperateMessageListReactionExtensionsResp struct { +type DeleteMessageListReactionExtensionsResp struct { ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` SuccessList []*ExtendMsgResp `protobuf:"bytes,3,rep,name=successList" json:"successList,omitempty"` @@ -1725,54 +1961,54 @@ type OperateMessageListReactionExtensionsResp struct { XXX_sizecache int32 `json:"-"` } -func (m *OperateMessageListReactionExtensionsResp) Reset() { - *m = OperateMessageListReactionExtensionsResp{} +func (m *DeleteMessageListReactionExtensionsResp) Reset() { + *m = DeleteMessageListReactionExtensionsResp{} } -func (m *OperateMessageListReactionExtensionsResp) String() string { return proto.CompactTextString(m) } -func (*OperateMessageListReactionExtensionsResp) ProtoMessage() {} -func (*OperateMessageListReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{27} +func (m *DeleteMessageListReactionExtensionsResp) String() string { return proto.CompactTextString(m) } +func (*DeleteMessageListReactionExtensionsResp) ProtoMessage() {} +func (*DeleteMessageListReactionExtensionsResp) Descriptor() ([]byte, []int) { + return fileDescriptor_msg_32af573ca8e8e2bd, []int{30} } -func (m *OperateMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_OperateMessageListReactionExtensionsResp.Unmarshal(m, b) +func (m *DeleteMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DeleteMessageListReactionExtensionsResp.Unmarshal(m, b) } -func (m *OperateMessageListReactionExtensionsResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_OperateMessageListReactionExtensionsResp.Marshal(b, m, deterministic) +func (m *DeleteMessageListReactionExtensionsResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DeleteMessageListReactionExtensionsResp.Marshal(b, m, deterministic) } -func (dst *OperateMessageListReactionExtensionsResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_OperateMessageListReactionExtensionsResp.Merge(dst, src) +func (dst *DeleteMessageListReactionExtensionsResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_DeleteMessageListReactionExtensionsResp.Merge(dst, src) } -func (m *OperateMessageListReactionExtensionsResp) XXX_Size() int { - return xxx_messageInfo_OperateMessageListReactionExtensionsResp.Size(m) +func (m *DeleteMessageListReactionExtensionsResp) XXX_Size() int { + return xxx_messageInfo_DeleteMessageListReactionExtensionsResp.Size(m) } -func (m *OperateMessageListReactionExtensionsResp) XXX_DiscardUnknown() { - xxx_messageInfo_OperateMessageListReactionExtensionsResp.DiscardUnknown(m) +func (m *DeleteMessageListReactionExtensionsResp) XXX_DiscardUnknown() { + xxx_messageInfo_DeleteMessageListReactionExtensionsResp.DiscardUnknown(m) } -var xxx_messageInfo_OperateMessageListReactionExtensionsResp proto.InternalMessageInfo +var xxx_messageInfo_DeleteMessageListReactionExtensionsResp proto.InternalMessageInfo -func (m *OperateMessageListReactionExtensionsResp) GetErrCode() int32 { +func (m *DeleteMessageListReactionExtensionsResp) GetErrCode() int32 { if m != nil { return m.ErrCode } return 0 } -func (m *OperateMessageListReactionExtensionsResp) GetErrMsg() string { +func (m *DeleteMessageListReactionExtensionsResp) GetErrMsg() string { if m != nil { return m.ErrMsg } return "" } -func (m *OperateMessageListReactionExtensionsResp) GetSuccessList() []*ExtendMsgResp { +func (m *DeleteMessageListReactionExtensionsResp) GetSuccessList() []*ExtendMsgResp { if m != nil { return m.SuccessList } return nil } -func (m *OperateMessageListReactionExtensionsResp) GetFailedList() []*ExtendMsgResp { +func (m *DeleteMessageListReactionExtensionsResp) GetFailedList() []*ExtendMsgResp { if m != nil { return m.FailedList } @@ -1792,7 +2028,7 @@ func (m *ExtendMsgResp) Reset() { *m = ExtendMsgResp{} } func (m *ExtendMsgResp) String() string { return proto.CompactTextString(m) } func (*ExtendMsgResp) ProtoMessage() {} func (*ExtendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{28} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{31} } func (m *ExtendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExtendMsgResp.Unmarshal(m, b) @@ -1848,7 +2084,7 @@ func (m *ExtendMsg) Reset() { *m = ExtendMsg{} } func (m *ExtendMsg) String() string { return proto.CompactTextString(m) } func (*ExtendMsg) ProtoMessage() {} func (*ExtendMsg) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{29} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{32} } func (m *ExtendMsg) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExtendMsg.Unmarshal(m, b) @@ -1916,7 +2152,7 @@ func (m *KeyValueResp) Reset() { *m = KeyValueResp{} } func (m *KeyValueResp) String() string { return proto.CompactTextString(m) } func (*KeyValueResp) ProtoMessage() {} func (*KeyValueResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{30} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{33} } func (m *KeyValueResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_KeyValueResp.Unmarshal(m, b) @@ -1985,10 +2221,15 @@ func init() { proto.RegisterType((*SetMessageReactionExtensionsReq)(nil), "msg.SetMessageReactionExtensionsReq") proto.RegisterMapType((map[string]*sdk_ws.KeyValue)(nil), "msg.SetMessageReactionExtensionsReq.ReactionExtensionListEntry") proto.RegisterType((*SetMessageReactionExtensionsResp)(nil), "msg.SetMessageReactionExtensionsResp") + proto.RegisterType((*GetMessageListReactionExtensionsReq)(nil), "msg.GetMessageListReactionExtensionsReq") + proto.RegisterType((*GetMessageListReactionExtensionsReq_MessageReactionKey)(nil), "msg.GetMessageListReactionExtensionsReq.MessageReactionKey") + proto.RegisterType((*GetMessageListReactionExtensionsResp)(nil), "msg.GetMessageListReactionExtensionsResp") + proto.RegisterType((*SingleMessageExtensionResult)(nil), "msg.SingleMessageExtensionResult") + proto.RegisterMapType((map[string]*sdk_ws.KeyValue)(nil), "msg.SingleMessageExtensionResult.ReactionExtensionListEntry") proto.RegisterType((*ModifyMessageReactionExtensionsResp)(nil), "msg.ModifyMessageReactionExtensionsResp") - proto.RegisterType((*OperateMessageListReactionExtensionsReq)(nil), "msg.OperateMessageListReactionExtensionsReq") - proto.RegisterType((*OperateMessageListReactionExtensionsReq_MessageReactionKey)(nil), "msg.OperateMessageListReactionExtensionsReq.MessageReactionKey") - proto.RegisterType((*OperateMessageListReactionExtensionsResp)(nil), "msg.OperateMessageListReactionExtensionsResp") + proto.RegisterType((*DeleteMessageListReactionExtensionsReq)(nil), "msg.DeleteMessageListReactionExtensionsReq") + proto.RegisterType((*DeleteMessageListReactionExtensionsReq_MessageReactionKey)(nil), "msg.DeleteMessageListReactionExtensionsReq.MessageReactionKey") + proto.RegisterType((*DeleteMessageListReactionExtensionsResp)(nil), "msg.DeleteMessageListReactionExtensionsResp") proto.RegisterType((*ExtendMsgResp)(nil), "msg.ExtendMsgResp") proto.RegisterType((*ExtendMsg)(nil), "msg.ExtendMsg") proto.RegisterMapType((map[string]*KeyValueResp)(nil), "msg.ExtendMsg.ReactionExtensionListEntry") @@ -2019,9 +2260,9 @@ type MsgClient interface { GetWriteDiffMsg(ctx context.Context, in *GetWriteDiffMsgReq, opts ...grpc.CallOption) (*GetWriteDiffMsgResp, error) // modify msg SetMessageReactionExtensions(ctx context.Context, in *SetMessageReactionExtensionsReq, opts ...grpc.CallOption) (*SetMessageReactionExtensionsResp, error) - GetMessageListReactionExtensions(ctx context.Context, in *OperateMessageListReactionExtensionsReq, opts ...grpc.CallOption) (*OperateMessageListReactionExtensionsResp, error) + GetMessageListReactionExtensions(ctx context.Context, in *GetMessageListReactionExtensionsReq, opts ...grpc.CallOption) (*GetMessageListReactionExtensionsResp, error) AddMessageReactionExtensions(ctx context.Context, in *ModifyMessageReactionExtensionsReq, opts ...grpc.CallOption) (*ModifyMessageReactionExtensionsResp, error) - DeleteMessageReactionExtensions(ctx context.Context, in *OperateMessageListReactionExtensionsReq, opts ...grpc.CallOption) (*OperateMessageListReactionExtensionsResp, error) + DeleteMessageReactionExtensions(ctx context.Context, in *DeleteMessageListReactionExtensionsReq, opts ...grpc.CallOption) (*DeleteMessageListReactionExtensionsResp, error) } type msgClient struct { @@ -2140,8 +2381,8 @@ func (c *msgClient) SetMessageReactionExtensions(ctx context.Context, in *SetMes return out, nil } -func (c *msgClient) GetMessageListReactionExtensions(ctx context.Context, in *OperateMessageListReactionExtensionsReq, opts ...grpc.CallOption) (*OperateMessageListReactionExtensionsResp, error) { - out := new(OperateMessageListReactionExtensionsResp) +func (c *msgClient) GetMessageListReactionExtensions(ctx context.Context, in *GetMessageListReactionExtensionsReq, opts ...grpc.CallOption) (*GetMessageListReactionExtensionsResp, error) { + out := new(GetMessageListReactionExtensionsResp) err := grpc.Invoke(ctx, "/msg.msg/GetMessageListReactionExtensions", in, out, c.cc, opts...) if err != nil { return nil, err @@ -2158,8 +2399,8 @@ func (c *msgClient) AddMessageReactionExtensions(ctx context.Context, in *Modify return out, nil } -func (c *msgClient) DeleteMessageReactionExtensions(ctx context.Context, in *OperateMessageListReactionExtensionsReq, opts ...grpc.CallOption) (*OperateMessageListReactionExtensionsResp, error) { - out := new(OperateMessageListReactionExtensionsResp) +func (c *msgClient) DeleteMessageReactionExtensions(ctx context.Context, in *DeleteMessageListReactionExtensionsReq, opts ...grpc.CallOption) (*DeleteMessageListReactionExtensionsResp, error) { + out := new(DeleteMessageListReactionExtensionsResp) err := grpc.Invoke(ctx, "/msg.msg/DeleteMessageReactionExtensions", in, out, c.cc, opts...) if err != nil { return nil, err @@ -2183,9 +2424,9 @@ type MsgServer interface { GetWriteDiffMsg(context.Context, *GetWriteDiffMsgReq) (*GetWriteDiffMsgResp, error) // modify msg SetMessageReactionExtensions(context.Context, *SetMessageReactionExtensionsReq) (*SetMessageReactionExtensionsResp, error) - GetMessageListReactionExtensions(context.Context, *OperateMessageListReactionExtensionsReq) (*OperateMessageListReactionExtensionsResp, error) + GetMessageListReactionExtensions(context.Context, *GetMessageListReactionExtensionsReq) (*GetMessageListReactionExtensionsResp, error) AddMessageReactionExtensions(context.Context, *ModifyMessageReactionExtensionsReq) (*ModifyMessageReactionExtensionsResp, error) - DeleteMessageReactionExtensions(context.Context, *OperateMessageListReactionExtensionsReq) (*OperateMessageListReactionExtensionsResp, error) + DeleteMessageReactionExtensions(context.Context, *DeleteMessageListReactionExtensionsReq) (*DeleteMessageListReactionExtensionsResp, error) } func RegisterMsgServer(s *grpc.Server, srv MsgServer) { @@ -2409,7 +2650,7 @@ func _Msg_SetMessageReactionExtensions_Handler(srv interface{}, ctx context.Cont } func _Msg_GetMessageListReactionExtensions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(OperateMessageListReactionExtensionsReq) + in := new(GetMessageListReactionExtensionsReq) if err := dec(in); err != nil { return nil, err } @@ -2421,7 +2662,7 @@ func _Msg_GetMessageListReactionExtensions_Handler(srv interface{}, ctx context. FullMethod: "/msg.msg/GetMessageListReactionExtensions", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).GetMessageListReactionExtensions(ctx, req.(*OperateMessageListReactionExtensionsReq)) + return srv.(MsgServer).GetMessageListReactionExtensions(ctx, req.(*GetMessageListReactionExtensionsReq)) } return interceptor(ctx, in, info, handler) } @@ -2445,7 +2686,7 @@ func _Msg_AddMessageReactionExtensions_Handler(srv interface{}, ctx context.Cont } func _Msg_DeleteMessageReactionExtensions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(OperateMessageListReactionExtensionsReq) + in := new(DeleteMessageListReactionExtensionsReq) if err := dec(in); err != nil { return nil, err } @@ -2457,7 +2698,7 @@ func _Msg_DeleteMessageReactionExtensions_Handler(srv interface{}, ctx context.C FullMethod: "/msg.msg/DeleteMessageReactionExtensions", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).DeleteMessageReactionExtensions(ctx, req.(*OperateMessageListReactionExtensionsReq)) + return srv.(MsgServer).DeleteMessageReactionExtensions(ctx, req.(*DeleteMessageListReactionExtensionsReq)) } return interceptor(ctx, in, info, handler) } @@ -2531,105 +2772,111 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ Metadata: "msg/msg.proto", } -func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_489179134d252ef4) } +func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_32af573ca8e8e2bd) } -var fileDescriptor_msg_489179134d252ef4 = []byte{ - // 1548 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x59, 0x4f, 0x73, 0xdb, 0x44, - 0x14, 0x1f, 0x59, 0xb1, 0x93, 0x3c, 0x27, 0x4d, 0xba, 0x4d, 0x83, 0xaa, 0x66, 0xa6, 0x46, 0xb4, - 0xd4, 0x85, 0xd6, 0x19, 0x02, 0x33, 0x65, 0xe8, 0x81, 0x36, 0x75, 0x70, 0x33, 0x45, 0xa4, 0x91, - 0x03, 0xcc, 0xc0, 0x21, 0x55, 0xed, 0x8d, 0xaa, 0x89, 0x2d, 0x29, 0x5a, 0xa9, 0x89, 0x61, 0x28, - 0x27, 0x4e, 0x0c, 0x07, 0xb8, 0x71, 0xe2, 0xc6, 0x77, 0xe0, 0xc8, 0x85, 0x2b, 0x77, 0xbe, 0x02, - 0x5f, 0x82, 0xd9, 0x5d, 0xd9, 0x5e, 0xfd, 0x8b, 0x15, 0x97, 0xe9, 0x94, 0x19, 0x6e, 0x7e, 0x6f, - 0xdf, 0xbe, 0x7d, 0xbf, 0xf7, 0x7e, 0xda, 0xb7, 0xbb, 0x86, 0xc5, 0x3e, 0xb1, 0xd6, 0xfb, 0xc4, - 0x6a, 0x78, 0xbe, 0x1b, 0xb8, 0x48, 0xee, 0x13, 0x4b, 0xad, 0xef, 0x78, 0xd8, 0xb9, 0xb5, 0xad, - 0xdf, 0x6a, 0x63, 0xff, 0x19, 0xf6, 0xd7, 0xbd, 0x43, 0x6b, 0x9d, 0x0d, 0xaf, 0x93, 0xee, 0xe1, - 0xfe, 0x31, 0x59, 0x3f, 0x26, 0xdc, 0x5c, 0x6d, 0x4c, 0xb4, 0xf4, 0x4d, 0xcf, 0xc3, 0x7e, 0x64, - 0xaf, 0x7d, 0x0d, 0x55, 0x9d, 0x58, 0x4d, 0x33, 0x30, 0xf7, 0x5c, 0x7d, 0x17, 0xad, 0x40, 0x39, - 0x70, 0x0f, 0xb1, 0xa3, 0x48, 0x35, 0xa9, 0x3e, 0x6f, 0x70, 0x01, 0xd5, 0xa0, 0xea, 0x7a, 0xd8, - 0x37, 0x03, 0xdb, 0x75, 0xb6, 0x9b, 0x4a, 0x89, 0x8d, 0x89, 0x2a, 0xf4, 0x1e, 0xcc, 0xf6, 0xb9, - 0x1b, 0x45, 0xae, 0x49, 0xf5, 0xea, 0x86, 0xda, 0x20, 0x2c, 0x80, 0x7d, 0xd3, 0xb3, 0xf7, 0x3d, - 0xd3, 0x37, 0xfb, 0xa4, 0x11, 0x2d, 0x64, 0x0c, 0x4d, 0x35, 0x2c, 0x2c, 0xde, 0xdc, 0x14, 0x9d, - 0x48, 0x85, 0x9d, 0x4c, 0x0e, 0x4e, 0xfb, 0x41, 0x82, 0xa5, 0x47, 0x21, 0x79, 0x2a, 0x02, 0xad, - 0x41, 0x75, 0x47, 0x98, 0xc5, 0xe1, 0x8a, 0x2a, 0x31, 0x9a, 0x52, 0xf1, 0x68, 0x34, 0x58, 0xf0, - 0x42, 0xf2, 0x74, 0xcf, 0xfd, 0x94, 0x60, 0x7f, 0xbb, 0xc9, 0xb2, 0x31, 0x6f, 0xc4, 0x74, 0xda, - 0xaf, 0x12, 0xa0, 0x71, 0x2c, 0xae, 0x63, 0xb9, 0x9b, 0x03, 0x7d, 0x17, 0x29, 0x30, 0xdb, 0x33, - 0x49, 0xd0, 0xc6, 0x47, 0x2c, 0x9c, 0x19, 0x63, 0x28, 0xa2, 0xab, 0xb0, 0x68, 0x5a, 0x96, 0x8f, - 0xad, 0x38, 0xc8, 0xb8, 0x12, 0x6d, 0x40, 0xb5, 0x8f, 0x09, 0x31, 0x2d, 0xfc, 0xb1, 0x4d, 0x02, - 0x45, 0xae, 0xc9, 0xf5, 0xea, 0xc6, 0x72, 0x83, 0x52, 0x49, 0x40, 0x6e, 0x88, 0x46, 0x68, 0x0d, - 0xe6, 0x03, 0xdf, 0xb6, 0x2c, 0x16, 0xeb, 0x0c, 0xf3, 0x3a, 0x56, 0x68, 0x9f, 0x00, 0x6a, 0xe1, - 0x40, 0x37, 0x4f, 0xee, 0x39, 0x5d, 0xdd, 0x76, 0xda, 0xf8, 0xc8, 0xc0, 0x47, 0x68, 0x15, 0x2a, - 0x11, 0x38, 0x9e, 0xb5, 0x48, 0x4a, 0xa6, 0xb4, 0x94, 0x4a, 0xa9, 0x76, 0x0c, 0x17, 0x52, 0xfe, - 0x88, 0x47, 0x81, 0x6f, 0xf9, 0xfe, 0x7d, 0xb7, 0x8b, 0x99, 0xc7, 0xb2, 0x31, 0x14, 0xe9, 0x52, - 0x5b, 0xbe, 0xaf, 0x13, 0x2b, 0xf2, 0x16, 0x49, 0x54, 0xaf, 0x9b, 0x27, 0x34, 0x53, 0x34, 0xbf, - 0x8b, 0x46, 0x24, 0x31, 0x3d, 0xf3, 0xcb, 0xb0, 0x50, 0x3d, 0x93, 0xb4, 0xaf, 0x00, 0xda, 0xd8, - 0xe9, 0xea, 0xc4, 0xa2, 0x00, 0x5e, 0x2e, 0xc9, 0x7f, 0x91, 0xa0, 0x3a, 0x5a, 0x9c, 0xa3, 0xc5, - 0x71, 0xb4, 0x78, 0x8c, 0x16, 0xc7, 0xd0, 0x72, 0x89, 0x46, 0xc6, 0xd7, 0xd1, 0x89, 0x35, 0x2a, - 0x93, 0xa8, 0xa2, 0x16, 0x9d, 0x9e, 0x8d, 0x9d, 0x80, 0x5b, 0x94, 0xb9, 0x85, 0xa0, 0x42, 0x2a, - 0xcc, 0x11, 0xec, 0x74, 0xf7, 0xec, 0x3e, 0x56, 0x2a, 0x35, 0xa9, 0x2e, 0x1b, 0x23, 0x59, 0xeb, - 0x40, 0xf5, 0x7e, 0x0f, 0x9b, 0x7e, 0x94, 0x9e, 0x55, 0xa8, 0x84, 0xb1, 0xfa, 0x72, 0x89, 0xba, - 0x70, 0xbd, 0xa8, 0xf2, 0x3c, 0xc0, 0x91, 0x9c, 0x4c, 0x9e, 0x9c, 0xfe, 0x08, 0xef, 0xc2, 0xc2, - 0x78, 0x91, 0x69, 0xd2, 0xa0, 0xfd, 0x2c, 0xc1, 0x52, 0x1b, 0x53, 0x3c, 0x31, 0x2e, 0x66, 0xc6, - 0xaa, 0xc0, 0xac, 0xe5, 0xbb, 0xa1, 0x37, 0x0a, 0x75, 0x28, 0xd2, 0x19, 0x7d, 0x4e, 0x91, 0x88, - 0x3a, 0x5c, 0x4a, 0x22, 0x98, 0x49, 0x97, 0x5f, 0xc4, 0x5f, 0x8e, 0xe3, 0xd7, 0x9a, 0xb0, 0x1c, - 0x0f, 0x6d, 0x2a, 0x84, 0x3b, 0x70, 0xa1, 0x8d, 0x83, 0x88, 0x2c, 0xed, 0xc0, 0x0c, 0x42, 0x62, - 0xa4, 0x43, 0x93, 0xd2, 0xa1, 0xad, 0x42, 0x85, 0x30, 0x73, 0xe6, 0xb0, 0x6c, 0x44, 0x92, 0xf6, - 0x00, 0x56, 0xd2, 0x0e, 0xa7, 0x0a, 0xed, 0x36, 0xfb, 0x74, 0xcf, 0x1e, 0x9a, 0xf6, 0x18, 0x56, - 0x5a, 0xff, 0x4a, 0x08, 0x02, 0x48, 0x39, 0x06, 0xf2, 0x3b, 0x09, 0x2e, 0x34, 0x71, 0xaf, 0x1d, - 0x7a, 0xd8, 0x6f, 0xd1, 0x2a, 0x47, 0x3c, 0x16, 0xeb, 0x25, 0x25, 0xf8, 0x3a, 0xe6, 0x4d, 0x29, - 0x8f, 0x37, 0x72, 0x9c, 0x37, 0x13, 0xf9, 0x41, 0x93, 0x9d, 0x0e, 0x63, 0xaa, 0x64, 0x77, 0x78, - 0xb2, 0x93, 0x80, 0x26, 0xf3, 0x60, 0x19, 0x64, 0xca, 0xec, 0x12, 0x63, 0x36, 0xfd, 0x99, 0x0f, - 0x48, 0x7b, 0xce, 0x0b, 0xf3, 0xe2, 0xe1, 0x4e, 0xb9, 0x2f, 0x3e, 0x60, 0xcd, 0xe5, 0x73, 0xdf, - 0x0e, 0x70, 0xd3, 0x3e, 0x38, 0x98, 0x1e, 0xa3, 0xf6, 0x0d, 0x4b, 0x57, 0xdc, 0xd3, 0x4b, 0x04, - 0xf2, 0x63, 0x19, 0x34, 0xdd, 0xed, 0xda, 0x07, 0x03, 0x9d, 0x77, 0x56, 0x03, 0x9b, 0x1d, 0x1a, - 0xec, 0xd6, 0x49, 0x80, 0x1d, 0x62, 0xbb, 0x4e, 0xc1, 0xaf, 0x98, 0xee, 0xd1, 0x6e, 0xe8, 0x77, - 0xf0, 0x78, 0x83, 0x1d, 0xca, 0x31, 0x32, 0xcb, 0xe9, 0xcd, 0x97, 0x60, 0x42, 0x17, 0xda, 0x1b, - 0x78, 0x98, 0x51, 0xb3, 0x6c, 0x88, 0x2a, 0x74, 0x02, 0x17, 0xfd, 0x64, 0x50, 0xec, 0x90, 0x50, - 0x66, 0x87, 0x84, 0x4d, 0x7e, 0x48, 0x98, 0x88, 0xa1, 0x61, 0x64, 0x39, 0xd9, 0x72, 0x02, 0x7f, - 0x60, 0x64, 0x2f, 0x90, 0xec, 0x4c, 0x95, 0x74, 0x67, 0xba, 0x09, 0x25, 0x7c, 0xa2, 0xcc, 0xb2, - 0x7c, 0xaf, 0x35, 0x2c, 0xd7, 0xb5, 0x7a, 0x98, 0x1f, 0x4e, 0x9f, 0x84, 0x07, 0x8d, 0x76, 0xe0, - 0xdb, 0x8e, 0xf5, 0x99, 0xd9, 0x0b, 0xb1, 0x51, 0xc2, 0x27, 0xe8, 0x2e, 0x2c, 0x98, 0x41, 0x60, - 0x76, 0x9e, 0xe2, 0xee, 0xb6, 0x73, 0xe0, 0x2a, 0x73, 0x05, 0xe6, 0xc5, 0x66, 0x50, 0x5a, 0xd8, - 0x84, 0x01, 0x51, 0xe6, 0x6b, 0x52, 0x7d, 0xce, 0x18, 0x8a, 0x68, 0x03, 0x56, 0x6c, 0x42, 0xc3, - 0xf7, 0x1d, 0xb3, 0x37, 0x06, 0xae, 0x00, 0x33, 0xcb, 0x1c, 0x43, 0x0d, 0x40, 0x7d, 0x62, 0x7d, - 0x64, 0xfb, 0x24, 0xe0, 0xf9, 0x63, 0x1d, 0xb6, 0xca, 0x3a, 0x6c, 0xc6, 0x88, 0x8a, 0x41, 0xcd, - 0x4f, 0x22, 0xe5, 0xf6, 0x21, 0x1e, 0x44, 0xdc, 0xa0, 0x3f, 0xd1, 0x3b, 0x50, 0x7e, 0x46, 0x41, - 0x44, 0x67, 0xd0, 0xcb, 0x19, 0x84, 0x7c, 0x88, 0x07, 0x1c, 0x27, 0xb7, 0xfc, 0xa0, 0xf4, 0xbe, - 0xa4, 0x7d, 0x5f, 0x86, 0x2b, 0xb4, 0x21, 0xbd, 0xaa, 0x84, 0x0c, 0x4f, 0x27, 0xe4, 0x87, 0x8c, - 0x90, 0x13, 0x00, 0xfc, 0xcf, 0xc6, 0xff, 0x0a, 0x1b, 0xff, 0x96, 0xa0, 0x76, 0x7a, 0x31, 0xa7, - 0x3d, 0x17, 0x8b, 0xd5, 0x94, 0xd3, 0xd5, 0xcc, 0xce, 0xc7, 0x4c, 0x5e, 0x3e, 0xc4, 0x6a, 0x94, - 0xe3, 0xd5, 0xb8, 0x01, 0x15, 0x1f, 0x93, 0xb0, 0x17, 0x28, 0x15, 0xc6, 0xd0, 0xf3, 0x8c, 0xa1, - 0x23, 0xb0, 0x98, 0x78, 0x46, 0x64, 0xa0, 0xfd, 0x2e, 0xc1, 0x1b, 0x13, 0xf7, 0xd2, 0x29, 0xfb, - 0x53, 0x95, 0x84, 0x9d, 0x0e, 0x26, 0x44, 0xb8, 0xe1, 0x21, 0x16, 0x09, 0xf3, 0x3d, 0xbc, 0x63, - 0x18, 0xa2, 0x19, 0xda, 0x00, 0x38, 0x30, 0xed, 0x1e, 0xee, 0xb2, 0x49, 0x33, 0xb9, 0x93, 0x04, - 0x2b, 0xed, 0x2f, 0x19, 0xae, 0xf3, 0x9b, 0x1b, 0xd6, 0xc7, 0xd7, 0xc5, 0x17, 0xd8, 0x47, 0x72, - 0x6f, 0x0e, 0xe2, 0x1e, 0x23, 0x27, 0xf6, 0x98, 0xc9, 0xfb, 0xc8, 0x31, 0xac, 0xf6, 0xe3, 0x49, - 0x7e, 0x88, 0x07, 0xa9, 0x8d, 0xa4, 0x20, 0x92, 0x86, 0x9e, 0x72, 0x65, 0xe4, 0xb8, 0x57, 0x7f, - 0xa3, 0x77, 0xf8, 0xd4, 0x50, 0x92, 0x92, 0x52, 0x51, 0x4a, 0x96, 0x72, 0x29, 0xb9, 0x9b, 0xb7, - 0x53, 0xf2, 0xea, 0x9f, 0xfa, 0x09, 0x66, 0xcf, 0xd4, 0xfe, 0x90, 0xa0, 0x5e, 0x2c, 0x25, 0xaf, - 0x38, 0x4b, 0x5d, 0x58, 0x8c, 0x0d, 0xa2, 0x9b, 0x30, 0x8f, 0x87, 0x8a, 0xe8, 0x0d, 0xe9, 0x5c, - 0xc2, 0xc7, 0xd8, 0x40, 0x84, 0x56, 0xca, 0x83, 0x26, 0xc7, 0x0e, 0xe6, 0x7f, 0x96, 0x60, 0x7e, - 0xe4, 0x0a, 0xed, 0xe7, 0x95, 0x46, 0x62, 0xd1, 0xdf, 0x88, 0xaf, 0xfc, 0xe2, 0xed, 0xaa, 0x54, - 0x94, 0x4d, 0x72, 0x2e, 0x9b, 0xb4, 0x44, 0xc3, 0xe2, 0xd7, 0x98, 0x78, 0x4b, 0x3a, 0xc7, 0x5a, - 0x20, 0xbf, 0xe1, 0x96, 0xf0, 0x89, 0xfa, 0xe5, 0x19, 0x9b, 0xc4, 0xf5, 0x78, 0x93, 0xc8, 0xd8, - 0x29, 0x85, 0xd6, 0x30, 0x80, 0x05, 0x71, 0x08, 0xdd, 0x86, 0xb9, 0xc3, 0x48, 0x8e, 0x0a, 0x78, - 0x2a, 0xc3, 0x47, 0xc6, 0x67, 0x2f, 0xe6, 0xc6, 0x4f, 0x00, 0x72, 0x9f, 0x58, 0xe8, 0x31, 0x2c, - 0x25, 0x5e, 0xa5, 0xd0, 0xb5, 0x8c, 0x35, 0xd3, 0x2f, 0x61, 0xea, 0x9b, 0x45, 0xcc, 0x88, 0x87, - 0x5c, 0x58, 0x79, 0x14, 0xf6, 0x7a, 0xd1, 0xc7, 0xb6, 0x39, 0x68, 0xe3, 0x23, 0x56, 0xdf, 0xb7, - 0x32, 0xe6, 0x67, 0x19, 0xd2, 0xb5, 0xde, 0x2e, 0x6c, 0xcb, 0xbe, 0x83, 0xd9, 0xe8, 0xc6, 0x8d, - 0x96, 0xa2, 0xa3, 0xd4, 0xf0, 0xf5, 0x4b, 0x5d, 0x8e, 0x2b, 0x88, 0x87, 0x76, 0x01, 0x9a, 0xb8, - 0xa7, 0x13, 0x8b, 0x93, 0x2e, 0x63, 0xa1, 0xf1, 0x30, 0xf5, 0xf0, 0xfa, 0x04, 0x0b, 0xe2, 0xa1, - 0x16, 0x2c, 0x27, 0xef, 0xc2, 0x48, 0x61, 0x0b, 0x67, 0xdc, 0xd4, 0xd5, 0x4b, 0x39, 0x23, 0xc4, - 0x43, 0xeb, 0x30, 0x37, 0x7c, 0x36, 0x42, 0x3c, 0x72, 0xe1, 0xa9, 0x4a, 0x3d, 0x9f, 0xd0, 0x10, - 0x0f, 0xdd, 0x81, 0x05, 0xf1, 0x25, 0x06, 0xad, 0x8c, 0x8e, 0x92, 0xc2, 0xbb, 0x91, 0x7a, 0x31, - 0x43, 0xcb, 0xc3, 0x4e, 0xbe, 0x97, 0x44, 0x61, 0x67, 0xbc, 0xcb, 0x44, 0x61, 0x67, 0x3e, 0xb0, - 0xb4, 0x60, 0xb9, 0x95, 0xed, 0xa8, 0x95, 0xeb, 0xa8, 0x75, 0x8a, 0xa3, 0x8c, 0x44, 0x66, 0xbc, - 0x10, 0x08, 0x8e, 0x52, 0x89, 0x6c, 0x32, 0x96, 0x8b, 0x97, 0x64, 0xf4, 0xda, 0xd0, 0x3a, 0x71, - 0x09, 0x57, 0x95, 0xec, 0x01, 0xe2, 0xa1, 0x43, 0x58, 0x3b, 0xed, 0x20, 0x87, 0xae, 0x16, 0x39, - 0xb8, 0xab, 0xd7, 0x0a, 0x58, 0x11, 0x0f, 0x7d, 0x0b, 0xb5, 0xd6, 0xc8, 0x26, 0xbb, 0x45, 0xa1, - 0x9b, 0x67, 0x69, 0xf0, 0xea, 0xad, 0x33, 0x58, 0x13, 0x0f, 0x1d, 0xc1, 0xda, 0xbd, 0x6e, 0x37, - 0x1f, 0xed, 0xf5, 0x82, 0xf7, 0x66, 0xb5, 0x5e, 0xcc, 0x90, 0x78, 0xe8, 0x39, 0x5c, 0x69, 0xe2, - 0x1e, 0x1e, 0x45, 0xf7, 0x92, 0x21, 0x6f, 0x5e, 0xfe, 0xe2, 0xd2, 0x8e, 0x87, 0x9d, 0xfd, 0x6d, - 0x5d, 0xf8, 0xeb, 0xa8, 0x4f, 0xac, 0x3b, 0x7d, 0x62, 0x3d, 0xa9, 0x30, 0xf1, 0xdd, 0x7f, 0x02, - 0x00, 0x00, 0xff, 0xff, 0xa6, 0x82, 0xfe, 0x0e, 0xa3, 0x1a, 0x00, 0x00, +var fileDescriptor_msg_32af573ca8e8e2bd = []byte{ + // 1648 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x59, 0x4d, 0x6f, 0xdb, 0x46, + 0x13, 0x06, 0x45, 0x4b, 0xb6, 0x47, 0x76, 0xec, 0xac, 0x1d, 0xbf, 0x0a, 0x63, 0x20, 0x0a, 0xf3, + 0xa5, 0xbc, 0x49, 0x64, 0xbc, 0x7e, 0x0b, 0xa4, 0x68, 0x8a, 0x36, 0x71, 0xe4, 0x2a, 0x46, 0xca, + 0x3a, 0xa6, 0xdc, 0x16, 0x68, 0x0f, 0x0e, 0x23, 0xad, 0x19, 0xc2, 0x12, 0x49, 0x73, 0xa9, 0xd8, + 0xea, 0xd7, 0xad, 0x40, 0x81, 0xa2, 0x87, 0x1e, 0x7b, 0xea, 0xad, 0xb7, 0xfe, 0x80, 0x1e, 0x7b, + 0xe8, 0xb1, 0xe8, 0xb5, 0xff, 0xa1, 0xff, 0xa1, 0x28, 0x76, 0x97, 0x92, 0x96, 0x5f, 0x12, 0x2d, + 0x17, 0x46, 0x0a, 0xf4, 0xa6, 0xd9, 0x9d, 0x9d, 0x9d, 0x67, 0xe6, 0xd9, 0xe1, 0xee, 0x08, 0xe6, + 0x3b, 0xc4, 0x5c, 0xeb, 0x10, 0xb3, 0xea, 0x7a, 0x8e, 0xef, 0x20, 0xb9, 0x43, 0x4c, 0xa5, 0xb2, + 0xed, 0x62, 0xfb, 0xee, 0x96, 0x76, 0xb7, 0x81, 0xbd, 0x97, 0xd8, 0x5b, 0x73, 0x0f, 0xcc, 0x35, + 0x36, 0xbd, 0x46, 0x5a, 0x07, 0x7b, 0x47, 0x64, 0xed, 0x88, 0x70, 0x75, 0xa5, 0x3a, 0x56, 0xd3, + 0x33, 0x5c, 0x17, 0x7b, 0x81, 0xbe, 0xfa, 0x29, 0x14, 0x35, 0x62, 0xd6, 0x0c, 0xdf, 0xd8, 0x75, + 0xb4, 0x1d, 0xb4, 0x0c, 0x79, 0xdf, 0x39, 0xc0, 0x76, 0x49, 0x2a, 0x4b, 0x95, 0x59, 0x9d, 0x0b, + 0xa8, 0x0c, 0x45, 0xc7, 0xc5, 0x9e, 0xe1, 0x5b, 0x8e, 0xbd, 0x55, 0x2b, 0xe5, 0xd8, 0x9c, 0x38, + 0x84, 0x5e, 0x83, 0xe9, 0x0e, 0x37, 0x53, 0x92, 0xcb, 0x52, 0xa5, 0xb8, 0xae, 0x54, 0x09, 0x73, + 0x60, 0xcf, 0x70, 0xad, 0x3d, 0xd7, 0xf0, 0x8c, 0x0e, 0xa9, 0x06, 0x1b, 0xe9, 0x7d, 0x55, 0x15, + 0x0b, 0x9b, 0xd7, 0x36, 0x44, 0x23, 0x52, 0x66, 0x23, 0xe3, 0x9d, 0x53, 0xbf, 0x91, 0x60, 0xe1, + 0x69, 0x97, 0xbc, 0x10, 0x81, 0x96, 0xa1, 0xb8, 0x2d, 0xac, 0xe2, 0x70, 0xc5, 0x21, 0xd1, 0x9b, + 0x5c, 0x76, 0x6f, 0x54, 0x98, 0x73, 0xbb, 0xe4, 0xc5, 0xae, 0xf3, 0x3e, 0xc1, 0xde, 0x56, 0x8d, + 0x45, 0x63, 0x56, 0x0f, 0x8d, 0xa9, 0x3f, 0x48, 0x80, 0x86, 0xbe, 0x38, 0xb6, 0xe9, 0x6c, 0xf4, + 0xb4, 0x1d, 0x54, 0x82, 0xe9, 0xb6, 0x41, 0xfc, 0x06, 0x3e, 0x64, 0xee, 0x4c, 0xe9, 0x7d, 0x11, + 0x5d, 0x83, 0x79, 0xc3, 0x34, 0x3d, 0x6c, 0x86, 0x41, 0x86, 0x07, 0xd1, 0x3a, 0x14, 0x3b, 0x98, + 0x10, 0xc3, 0xc4, 0xef, 0x5a, 0xc4, 0x2f, 0xc9, 0x65, 0xb9, 0x52, 0x5c, 0x5f, 0xac, 0x52, 0x2a, + 0x09, 0xc8, 0x75, 0x51, 0x09, 0xad, 0xc2, 0xac, 0xef, 0x59, 0xa6, 0xc9, 0x7c, 0x9d, 0x62, 0x56, + 0x87, 0x03, 0xea, 0x7b, 0x80, 0xea, 0xd8, 0xd7, 0x8c, 0xe3, 0x87, 0x76, 0x4b, 0xb3, 0xec, 0x06, + 0x3e, 0xd4, 0xf1, 0x21, 0x5a, 0x81, 0x42, 0x00, 0x8e, 0x47, 0x2d, 0x90, 0xa2, 0x21, 0xcd, 0xc5, + 0x42, 0xaa, 0x1e, 0xc1, 0x52, 0xcc, 0x1e, 0x71, 0x29, 0xf0, 0x4d, 0xcf, 0x7b, 0xe4, 0xb4, 0x30, + 0xb3, 0x98, 0xd7, 0xfb, 0x22, 0xdd, 0x6a, 0xd3, 0xf3, 0x34, 0x62, 0x06, 0xd6, 0x02, 0x89, 0x8e, + 0x6b, 0xc6, 0x31, 0x8d, 0x14, 0x8d, 0xef, 0xbc, 0x1e, 0x48, 0x6c, 0x9c, 0xd9, 0x65, 0x58, 0xe8, + 0x38, 0x93, 0xd4, 0x4f, 0x00, 0x1a, 0xd8, 0x6e, 0x69, 0xc4, 0xa4, 0x00, 0xce, 0x96, 0xe4, 0xdf, + 0x4b, 0x50, 0x1c, 0x6c, 0xce, 0xd1, 0xe2, 0x30, 0x5a, 0x3c, 0x44, 0x8b, 0x43, 0x68, 0xb9, 0x44, + 0x3d, 0xe3, 0xfb, 0x68, 0xc4, 0x1c, 0xa4, 0x49, 0x1c, 0xa2, 0x1a, 0xcd, 0xb6, 0x85, 0x6d, 0x9f, + 0x6b, 0xe4, 0xb9, 0x86, 0x30, 0x84, 0x14, 0x98, 0x21, 0xd8, 0x6e, 0xed, 0x5a, 0x1d, 0x5c, 0x2a, + 0x94, 0xa5, 0x8a, 0xac, 0x0f, 0x64, 0xb5, 0x09, 0xc5, 0x47, 0x6d, 0x6c, 0x78, 0x41, 0x78, 0x56, + 0xa0, 0xd0, 0x0d, 0xe5, 0x97, 0x4b, 0xd4, 0x84, 0xe3, 0x06, 0x99, 0xe7, 0x0e, 0x0e, 0xe4, 0x68, + 0xf0, 0xe4, 0xf8, 0x21, 0x7c, 0x00, 0x73, 0xc3, 0x4d, 0x26, 0x09, 0x83, 0xfa, 0x9d, 0x04, 0x0b, + 0x0d, 0x4c, 0xf1, 0x84, 0xb8, 0x98, 0xe8, 0x6b, 0x09, 0xa6, 0x4d, 0xcf, 0xe9, 0xba, 0x03, 0x57, + 0xfb, 0x22, 0x5d, 0xd1, 0xe1, 0x14, 0x09, 0xa8, 0xc3, 0xa5, 0x28, 0x82, 0xa9, 0x78, 0xfa, 0x45, + 0xfc, 0xf9, 0x30, 0x7e, 0xb5, 0x06, 0x8b, 0x61, 0xd7, 0x26, 0x42, 0xb8, 0x0d, 0x4b, 0x0d, 0xec, + 0x07, 0x64, 0x69, 0xf8, 0x86, 0xdf, 0x25, 0x7a, 0xdc, 0x35, 0x29, 0xee, 0xda, 0x0a, 0x14, 0x08, + 0x53, 0x67, 0x06, 0xf3, 0x7a, 0x20, 0xa9, 0x8f, 0x61, 0x39, 0x6e, 0x70, 0x22, 0xd7, 0xee, 0xb1, + 0xa3, 0x7b, 0x72, 0xd7, 0xd4, 0x67, 0xb0, 0x5c, 0xff, 0x5b, 0x5c, 0x10, 0x40, 0xca, 0x21, 0x90, + 0x5f, 0x4a, 0xb0, 0x54, 0xc3, 0xed, 0x46, 0xd7, 0xc5, 0x5e, 0x9d, 0x66, 0x39, 0xe0, 0xb1, 0x98, + 0x2f, 0x29, 0xc2, 0xd7, 0x21, 0x6f, 0x72, 0x69, 0xbc, 0x91, 0xc3, 0xbc, 0x19, 0xcb, 0x0f, 0x1a, + 0xec, 0xb8, 0x1b, 0x13, 0x05, 0xbb, 0xc9, 0x83, 0x1d, 0x05, 0x34, 0x9e, 0x07, 0x8b, 0x20, 0x53, + 0x66, 0xe7, 0x18, 0xb3, 0xe9, 0xcf, 0x74, 0x40, 0xea, 0x17, 0x3c, 0x31, 0xa7, 0x77, 0x77, 0xc2, + 0xba, 0xf8, 0x98, 0x7d, 0x5c, 0x3e, 0xf4, 0x2c, 0x1f, 0xd7, 0xac, 0xfd, 0xfd, 0xc9, 0x31, 0xaa, + 0x9f, 0xb3, 0x70, 0x85, 0x2d, 0x9d, 0x21, 0x90, 0x6f, 0xf3, 0xa0, 0x6a, 0x4e, 0xcb, 0xda, 0xef, + 0x69, 0xfc, 0xcb, 0xaa, 0x63, 0xa3, 0x49, 0x9d, 0xdd, 0x3c, 0xf6, 0xb1, 0x4d, 0x2c, 0xc7, 0xce, + 0x78, 0x8a, 0x69, 0x8d, 0x76, 0xba, 0x5e, 0x13, 0x0f, 0x0b, 0x6c, 0x5f, 0x0e, 0x91, 0x59, 0x8e, + 0x17, 0x5f, 0x82, 0x09, 0xdd, 0x68, 0xb7, 0xe7, 0x62, 0x46, 0xcd, 0xbc, 0x2e, 0x0e, 0xa1, 0x63, + 0xb8, 0xe0, 0x45, 0x9d, 0x62, 0x97, 0x84, 0x3c, 0xbb, 0x24, 0x6c, 0xf0, 0x4b, 0xc2, 0x58, 0x0c, + 0x55, 0x3d, 0xc9, 0xc8, 0xa6, 0xed, 0x7b, 0x3d, 0x3d, 0x79, 0x83, 0xe8, 0x97, 0xa9, 0x10, 0xff, + 0x32, 0xdd, 0x81, 0x1c, 0x3e, 0x2e, 0x4d, 0xb3, 0x78, 0xaf, 0x56, 0x4d, 0xc7, 0x31, 0xdb, 0x98, + 0x5f, 0x4e, 0x9f, 0x77, 0xf7, 0xab, 0x0d, 0xdf, 0xb3, 0x6c, 0xf3, 0x03, 0xa3, 0xdd, 0xc5, 0x7a, + 0x0e, 0x1f, 0xa3, 0x07, 0x30, 0x67, 0xf8, 0xbe, 0xd1, 0x7c, 0x81, 0x5b, 0x5b, 0xf6, 0xbe, 0x53, + 0x9a, 0xc9, 0xb0, 0x2e, 0xb4, 0x82, 0xd2, 0xc2, 0x22, 0x0c, 0x48, 0x69, 0xb6, 0x2c, 0x55, 0x66, + 0xf4, 0xbe, 0x88, 0xd6, 0x61, 0xd9, 0x22, 0xd4, 0x7d, 0xcf, 0x36, 0xda, 0x43, 0xe0, 0x25, 0x60, + 0x6a, 0x89, 0x73, 0xa8, 0x0a, 0xa8, 0x43, 0xcc, 0x77, 0x2c, 0x8f, 0xf8, 0x3c, 0x7e, 0xec, 0x0b, + 0x5b, 0x64, 0x5f, 0xd8, 0x84, 0x19, 0x05, 0x83, 0x92, 0x1e, 0x44, 0xca, 0xed, 0x03, 0xdc, 0x0b, + 0xb8, 0x41, 0x7f, 0xa2, 0xff, 0x41, 0xfe, 0x25, 0x05, 0x11, 0xdc, 0x41, 0x2f, 0x25, 0x10, 0xf2, + 0x09, 0xee, 0x71, 0x9c, 0x5c, 0xf3, 0x8d, 0xdc, 0xeb, 0x92, 0xfa, 0x75, 0x1e, 0x2e, 0xd3, 0x0f, + 0xd2, 0xab, 0x4a, 0xc8, 0xee, 0x68, 0x42, 0xbe, 0xcd, 0x08, 0x39, 0x06, 0xc0, 0xbf, 0x6c, 0xfc, + 0xa7, 0xb0, 0xf1, 0x0f, 0x09, 0xca, 0xa3, 0x93, 0x39, 0xe9, 0xbd, 0x58, 0xcc, 0xa6, 0x1c, 0xcf, + 0x66, 0x72, 0x3c, 0xa6, 0xd2, 0xe2, 0x21, 0x66, 0x23, 0x1f, 0xce, 0xc6, 0x2d, 0x28, 0x78, 0x98, + 0x74, 0xdb, 0x7e, 0xa9, 0xc0, 0x18, 0x7a, 0x9e, 0x31, 0x74, 0x00, 0x16, 0x13, 0x57, 0x0f, 0x14, + 0xd4, 0x3f, 0x73, 0x70, 0xb5, 0x3e, 0x40, 0x4b, 0xc3, 0x79, 0x8a, 0xf3, 0x97, 0x7a, 0xe3, 0x16, + 0xcf, 0xa6, 0x1c, 0x39, 0x9b, 0xe3, 0xcf, 0x1f, 0x81, 0x95, 0x4e, 0x38, 0x1b, 0x4f, 0x70, 0x4f, + 0x38, 0x80, 0xf7, 0x19, 0xbc, 0x0c, 0x28, 0xaa, 0x5a, 0xcc, 0x8c, 0x9e, 0x62, 0x5a, 0xd9, 0x07, + 0x14, 0xd7, 0x8e, 0x66, 0x51, 0xca, 0x9a, 0xc5, 0x5c, 0x5a, 0x16, 0xd5, 0x1f, 0x25, 0xb8, 0x36, + 0xde, 0xf5, 0x89, 0x28, 0xd7, 0x80, 0x25, 0x62, 0xd9, 0x66, 0x1b, 0x0f, 0x80, 0x30, 0x4e, 0xf0, + 0xb7, 0xf6, 0x15, 0x5e, 0xb5, 0xc4, 0xf9, 0xc1, 0x86, 0x5c, 0x51, 0x4f, 0x5a, 0xad, 0xfe, 0x9a, + 0x83, 0xd5, 0x51, 0xab, 0x26, 0xf0, 0xd3, 0x4b, 0xab, 0xaf, 0xdc, 0xd3, 0x37, 0xc7, 0x7a, 0x7a, + 0xfa, 0xe2, 0x3a, 0x15, 0x4b, 0xe4, 0x59, 0x95, 0x9b, 0x9f, 0x25, 0xb8, 0x3a, 0xf6, 0x32, 0x33, + 0xe1, 0x05, 0xb1, 0x48, 0xba, 0xcd, 0x26, 0x26, 0x44, 0x08, 0x26, 0x62, 0xc1, 0x64, 0xb6, 0xfb, + 0x8f, 0x7c, 0x5d, 0x54, 0x43, 0xeb, 0x00, 0xfb, 0x86, 0xd5, 0xc6, 0x2d, 0xb6, 0x68, 0x2a, 0x75, + 0x91, 0xa0, 0xa5, 0xfe, 0x2e, 0xc3, 0x8d, 0x1a, 0x6e, 0x63, 0x1f, 0xbf, 0xd2, 0x75, 0xe4, 0xe5, + 0x98, 0x3a, 0xf2, 0x16, 0x83, 0x99, 0x0d, 0xc8, 0x49, 0x4a, 0xc9, 0x4f, 0xd2, 0xd9, 0xd4, 0x12, + 0xb4, 0x33, 0xfa, 0x20, 0x8d, 0xa4, 0x64, 0xf2, 0x4a, 0xf5, 0x17, 0x09, 0x6e, 0x66, 0x8a, 0xc8, + 0x2b, 0x4e, 0x51, 0x07, 0xe6, 0x43, 0x93, 0xe8, 0x0e, 0xcc, 0xe2, 0xfe, 0x40, 0xd0, 0xc1, 0x3d, + 0x17, 0xb1, 0x31, 0x54, 0x10, 0xa1, 0xe5, 0xd2, 0xa0, 0xc9, 0xa1, 0x67, 0xf1, 0x6f, 0x39, 0x98, + 0x1d, 0x98, 0x42, 0x7b, 0x69, 0x99, 0x91, 0x98, 0xf7, 0xb7, 0xc2, 0x3b, 0x9f, 0xbe, 0x9e, 0xe5, + 0xb2, 0x92, 0x49, 0x4e, 0x25, 0x93, 0x1a, 0xb9, 0x2e, 0xf2, 0x12, 0x19, 0xbe, 0x10, 0x9e, 0x63, + 0x17, 0x50, 0xde, 0x5f, 0xca, 0xe1, 0x63, 0xe5, 0xe3, 0x13, 0xd6, 0xcc, 0x9b, 0xe1, 0x9a, 0x99, + 0x70, 0x4f, 0x11, 0x2a, 0x65, 0x0f, 0xe6, 0xc4, 0x29, 0x74, 0x0f, 0x66, 0x0e, 0x02, 0x39, 0x48, + 0xe0, 0x48, 0x82, 0x0f, 0x94, 0x4f, 0x9e, 0xcc, 0xf5, 0xaf, 0x00, 0xe4, 0x0e, 0x31, 0xd1, 0x33, + 0x58, 0x88, 0xf4, 0x84, 0xd1, 0xf5, 0x84, 0x3d, 0xe3, 0x7d, 0x68, 0xe5, 0x46, 0x16, 0x35, 0xe2, + 0x22, 0x07, 0x96, 0x9f, 0x76, 0xdb, 0xed, 0xe0, 0xb0, 0x6d, 0xf4, 0x1a, 0xf8, 0x90, 0xe5, 0xf7, + 0xbf, 0x09, 0xeb, 0x93, 0x14, 0xe9, 0x5e, 0xb7, 0x33, 0xeb, 0xb2, 0x73, 0x30, 0x1d, 0xf4, 0xbb, + 0xd0, 0x42, 0xf0, 0x90, 0xe9, 0xf7, 0x9e, 0x95, 0xc5, 0xf0, 0x00, 0x71, 0xd1, 0x0e, 0x40, 0x0d, + 0xb7, 0x35, 0x62, 0x72, 0xd2, 0x25, 0x6c, 0x34, 0x9c, 0xa6, 0x16, 0xae, 0x8c, 0xd1, 0x20, 0x2e, + 0xaa, 0xc3, 0x62, 0xb4, 0x13, 0x85, 0x4a, 0xfd, 0x4a, 0x1c, 0x6d, 0x2b, 0x29, 0x17, 0x53, 0x66, + 0x88, 0x8b, 0xd6, 0x60, 0xa6, 0xdf, 0xb4, 0x45, 0xdc, 0x73, 0xa1, 0x51, 0xac, 0x9c, 0x8f, 0x8c, + 0x10, 0x17, 0xdd, 0x87, 0x39, 0xb1, 0x0f, 0x8a, 0x96, 0x07, 0x0f, 0x39, 0xa1, 0x6b, 0xab, 0x5c, + 0x48, 0x18, 0xe5, 0x6e, 0x47, 0xbb, 0x95, 0x81, 0xdb, 0x09, 0x5d, 0xd1, 0xc0, 0xed, 0xc4, 0xf6, + 0x66, 0x1d, 0x16, 0xeb, 0xc9, 0x86, 0xea, 0xa9, 0x86, 0xea, 0x23, 0x0c, 0x25, 0x04, 0x32, 0xa1, + 0x3f, 0x27, 0x18, 0x8a, 0x05, 0xb2, 0xc6, 0x58, 0x2e, 0xb6, 0xa8, 0xd0, 0x7f, 0xfa, 0xda, 0x91, + 0x16, 0x98, 0x52, 0x4a, 0x9e, 0x20, 0x2e, 0x3a, 0x80, 0xd5, 0x51, 0xcf, 0x28, 0x74, 0x2d, 0xcb, + 0xb3, 0x59, 0xb9, 0x9e, 0x41, 0x8b, 0xb8, 0xe8, 0x08, 0xca, 0xe3, 0x2e, 0xd1, 0xa8, 0x92, 0xf5, + 0x99, 0xa0, 0xdc, 0xca, 0xa8, 0x49, 0x5c, 0x74, 0x08, 0xab, 0x0f, 0x5b, 0xad, 0x74, 0x94, 0x37, + 0x33, 0x76, 0xab, 0x94, 0x4a, 0x36, 0x45, 0xe2, 0xa2, 0xcf, 0xe0, 0x72, 0xe8, 0x8b, 0x9c, 0xb0, + 0xeb, 0xed, 0x13, 0xdc, 0x64, 0x94, 0x3b, 0xd9, 0x95, 0x89, 0xbb, 0x71, 0xe9, 0xa3, 0x8b, 0xdb, + 0x2e, 0xb6, 0xf7, 0xb6, 0x34, 0xe1, 0xef, 0xda, 0x0e, 0x31, 0xef, 0x77, 0x88, 0xf9, 0xbc, 0xc0, + 0xc4, 0xff, 0xff, 0x15, 0x00, 0x00, 0xff, 0xff, 0xe9, 0x39, 0xdb, 0xfe, 0x17, 0x1e, 0x00, 0x00, } From 0f1208dba98ba6525bce7875bce6abbec0282d76 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 12 Dec 2022 19:22:50 +0800 Subject: [PATCH 095/176] mongo operation --- config/config.yaml | 5 +- internal/msg_transfer/logic/init.go | 5 + .../msg_transfer/logic/modify_msg_handler.go | 117 +++++++ .../logic/online_history_msg_handler.go | 19 +- .../logic/online_msg_to_mongo_handler.go | 44 --- pkg/base_info/msg.go | 9 + pkg/common/config/config.go | 13 +- pkg/common/db/extend_msg_mongo_model.go | 87 ++--- pkg/common/db/rocks_cache/rocks_cache.go | 4 +- pkg/proto/msg/msg.pb.go | 321 +++++++++++------- pkg/proto/msg/msg.proto | 7 + 11 files changed, 404 insertions(+), 227 deletions(-) create mode 100644 internal/msg_transfer/logic/modify_msg_handler.go diff --git a/config/config.yaml b/config/config.yaml index 9d452e0e1..a167d6b1b 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -62,12 +62,15 @@ kafka: ms2pschat: addr: [ 127.0.0.1:9092 ] #kafka配置,默认即可 topic: "ms2ps_chat" #消息push + msgtomodify: + addr: [ 127.0.0.1:9092 ] #kafka配置,默认即可 + topic: "msg_to_modify" consumergroupid: msgToTransfer: mongo msgToMongo: mongo_ex msgToMySql: mysql msgToPush: push - + msgToModify: modify #---------------Internal service configuration---------------------# diff --git a/internal/msg_transfer/logic/init.go b/internal/msg_transfer/logic/init.go index 201c6ee41..ebe0d1aa9 100644 --- a/internal/msg_transfer/logic/init.go +++ b/internal/msg_transfer/logic/init.go @@ -22,7 +22,9 @@ var ( persistentCH PersistentConsumerHandler historyCH OnlineHistoryRedisConsumerHandler historyMongoCH OnlineHistoryMongoConsumerHandler + modifyCH ModifyMsgConsumerHandler producer *kafka.Producer + producerToModify *kafka.Producer producerToMongo *kafka.Producer cmdCh chan Cmd2Value onlineTopicStatus int @@ -43,11 +45,13 @@ func Init() { persistentCH.Init() // ws2mschat save mysql historyCH.Init(cmdCh) // historyMongoCH.Init() + modifyCH.Init() onlineTopicStatus = OnlineTopicVacancy //offlineHistoryCH.Init(cmdCh) statistics.NewStatistics(&singleMsgSuccessCount, config.Config.ModuleName.MsgTransferName, fmt.Sprintf("%d second singleMsgCount insert to mongo", constant.StatisticsTimeInterval), constant.StatisticsTimeInterval) statistics.NewStatistics(&groupMsgCount, config.Config.ModuleName.MsgTransferName, fmt.Sprintf("%d second groupMsgCount insert to mongo", constant.StatisticsTimeInterval), constant.StatisticsTimeInterval) producer = kafka.NewKafkaProducer(config.Config.Kafka.Ms2pschat.Addr, config.Config.Kafka.Ms2pschat.Topic) + producerToModify = kafka.NewKafkaProducer(config.Config.Kafka.MsgToModify.Addr, config.Config.Kafka.MsgToModify.Topic) producerToMongo = kafka.NewKafkaProducer(config.Config.Kafka.MsgToMongo.Addr, config.Config.Kafka.MsgToMongo.Topic) } func Run(promethuesPort int) { @@ -59,6 +63,7 @@ func Run(promethuesPort int) { } go historyCH.historyConsumerGroup.RegisterHandleAndConsumer(&historyCH) go historyMongoCH.historyConsumerGroup.RegisterHandleAndConsumer(&historyMongoCH) + go modifyCH.modifyMsgConsumerGroup.RegisterHandleAndConsumer(&modifyCH) //go offlineHistoryCH.historyConsumerGroup.RegisterHandleAndConsumer(&offlineHistoryCH) go func() { err := promePkg.StartPromeSrv(promethuesPort) diff --git a/internal/msg_transfer/logic/modify_msg_handler.go b/internal/msg_transfer/logic/modify_msg_handler.go new file mode 100644 index 000000000..7b43e91aa --- /dev/null +++ b/internal/msg_transfer/logic/modify_msg_handler.go @@ -0,0 +1,117 @@ +package logic + +import ( + "Open_IM/pkg/base_info" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/constant" + "Open_IM/pkg/common/db" + kfk "Open_IM/pkg/common/kafka" + "Open_IM/pkg/common/log" + pbMsg "Open_IM/pkg/proto/msg" + server_api_params "Open_IM/pkg/proto/sdk_ws" + "Open_IM/pkg/utils" + "encoding/json" + "github.com/Shopify/sarama" + + "github.com/golang/protobuf/proto" +) + +type ModifyMsgConsumerHandler struct { + msgHandle map[string]fcb + modifyMsgConsumerGroup *kfk.MConsumerGroup +} + +func (mmc *ModifyMsgConsumerHandler) Init() { + mmc.msgHandle = make(map[string]fcb) + mmc.msgHandle[config.Config.Kafka.MsgToModify.Topic] = mmc.ModifyMsg + mmc.modifyMsgConsumerGroup = kfk.NewMConsumerGroup(&kfk.MConsumerGroupConfig{KafkaVersion: sarama.V2_0_0_0, + OffsetsInitial: sarama.OffsetNewest, IsReturnErr: false}, []string{config.Config.Kafka.MsgToModify.Topic}, + config.Config.Kafka.MsgToModify.Addr, config.Config.Kafka.ConsumerGroupID.MsgToModify) +} + +func (ModifyMsgConsumerHandler) Setup(_ sarama.ConsumerGroupSession) error { return nil } +func (ModifyMsgConsumerHandler) Cleanup(_ sarama.ConsumerGroupSession) error { return nil } +func (mmc *ModifyMsgConsumerHandler) ConsumeClaim(sess sarama.ConsumerGroupSession, + claim sarama.ConsumerGroupClaim) error { + for msg := range claim.Messages() { + log.NewDebug("", "kafka get info to mysql", "ModifyMsgConsumerHandler", msg.Topic, "msgPartition", msg.Partition, "msg", string(msg.Value), "key", string(msg.Key)) + if len(msg.Value) != 0 { + mmc.msgHandle[msg.Topic](msg, string(msg.Key), sess) + } else { + log.Error("", "msg get from kafka but is nil", msg.Key) + } + sess.MarkMessage(msg, "") + } + return nil +} + +func (mmc *ModifyMsgConsumerHandler) ModifyMsg(cMsg *sarama.ConsumerMessage, msgKey string, _ sarama.ConsumerGroupSession) { + log.NewInfo("msg come here ModifyMsg!!!", "", "msg", string(cMsg.Value), msgKey) + msgFromMQ := pbMsg.MsgDataToModifyByMQ{} + err := proto.Unmarshal(cMsg.Value, &msgFromMQ) + if err != nil { + log.NewError(msgFromMQ.TriggerID, "msg_transfer Unmarshal msg err", "msg", string(cMsg.Value), "err", err.Error()) + return + } + log.Debug(msgFromMQ.TriggerID, "proto.Unmarshal MsgDataToMQ", msgFromMQ.String()) + for _, msgDataToMQ := range msgFromMQ.MessageList { + if msgDataToMQ.MsgData.ContentType == constant.ReactionMessageModifier { + notification := &base_info.ReactionMessageModifierNotification{} + if err := json.Unmarshal(msgDataToMQ.MsgData.Content, notification); err != nil { + continue + } + if notification.IsExternalExtensions { + log.NewInfo(msgDataToMQ.OperationID, "msg:", notification, "this is external extensions") + continue + } + if !notification.IsReact { + // first time to modify + var reactionExtensionList = make(map[string]db.KeyValue) + extendMsg := db.ExtendMsg{ + ReactionExtensionList: reactionExtensionList, + ClientMsgID: notification.ClientMsgID, + MsgFirstModifyTime: notification.MsgFirstModifyTime, + } + for _, v := range notification.SuccessReactionExtensionList { + reactionExtensionList[v.TypeKey] = db.KeyValue{ + TypeKey: v.TypeKey, + Value: v.Value, + LatestUpdateTime: v.LatestUpdateTime, + } + } + + if err := db.DB.InsertExtendMsg(notification.SourceID, notification.SessionType, &extendMsg); err != nil { + log.NewError(msgDataToMQ.OperationID, "MsgFirstModify InsertExtendMsg failed", notification.SourceID, notification.SessionType, extendMsg, err.Error()) + continue + } + } else { + var reactionExtensionList = make(map[string]*server_api_params.KeyValue) + for _, v := range notification.SuccessReactionExtensionList { + reactionExtensionList[v.TypeKey] = &server_api_params.KeyValue{ + TypeKey: v.TypeKey, + Value: v.Value, + LatestUpdateTime: v.LatestUpdateTime, + } + } + // is already modify + if err := db.DB.InsertOrUpdateReactionExtendMsgSet(notification.SourceID, notification.SessionType, notification.ClientMsgID, notification.MsgFirstModifyTime, reactionExtensionList); err != nil { + log.NewError(msgDataToMQ.OperationID, "InsertOrUpdateReactionExtendMsgSet failed") + } + } + } else if msgDataToMQ.MsgData.ContentType == constant.ReactionMessageDeleter { + notification := &base_info.ReactionMessageDeleteNotification{} + if err := json.Unmarshal(msgDataToMQ.MsgData.Content, notification); err != nil { + continue + } + if err := db.DB.DeleteReactionExtendMsgSet(notification.SourceID, notification.SessionType, notification.ClientMsgID, notification.MsgFirstModifyTime, notification.SuccessReactionExtensionList); err != nil { + log.NewError(msgDataToMQ.OperationID, "InsertOrUpdateReactionExtendMsgSet failed") + } + } + } + +} + +func UnMarshallSetReactionMsgContent(content []byte) (notification *base_info.ReactionMessageModifierNotification, err error) { + + return notification, nil +} diff --git a/internal/msg_transfer/logic/online_history_msg_handler.go b/internal/msg_transfer/logic/online_history_msg_handler.go index d50f451ee..af22e9259 100644 --- a/internal/msg_transfer/logic/online_history_msg_handler.go +++ b/internal/msg_transfer/logic/online_history_msg_handler.go @@ -72,6 +72,7 @@ func (och *OnlineHistoryRedisConsumerHandler) Run(channelID int) { storageMsgList := make([]*pbMsg.MsgDataToMQ, 0, 80) notStoragePushMsgList := make([]*pbMsg.MsgDataToMQ, 0, 80) log.Debug(triggerID, "msg arrived channel", "channel id", channelID, msgList, msgChannelValue.aggregationID, len(msgList)) + var modifyMsgList []*pbMsg.MsgDataToMQ for _, v := range msgList { log.Debug(triggerID, "msg come to storage center", v.String()) isHistory := utils.GetSwitchFromOptions(v.MsgData.Options, constant.IsHistory) @@ -85,8 +86,13 @@ func (och *OnlineHistoryRedisConsumerHandler) Run(channelID int) { } } + if v.MsgData.ContentType == constant.ReactionMessageModifier || v.MsgData.ContentType == constant.ReactionMessageDeleter { + modifyMsgList = append(modifyMsgList, v) + } + } + if len(modifyMsgList) > 0 { + sendMessageToModifyMQ(msgChannelValue.aggregationID, triggerID, modifyMsgList) } - //switch msgChannelValue.msg.MsgData.SessionType { //case constant.SingleChatType: //case constant.GroupChatType: @@ -552,6 +558,17 @@ func sendMessageToPushMQ(message *pbMsg.MsgDataToMQ, pushToUserID string) { return } +func sendMessageToModifyMQ(aggregationID string, triggerID string, messages []*pbMsg.MsgDataToMQ) { + if len(messages) > 0 { + pid, offset, err := producerToModify.SendMessage(&pbMsg.MsgDataToModifyByMQ{AggregationID: aggregationID, MessageList: messages, TriggerID: triggerID}, aggregationID, triggerID) + if err != nil { + log.Error(triggerID, "kafka send failed", "send data", len(messages), "pid", pid, "offset", offset, "err", err.Error(), "key", aggregationID) + } else { + // log.NewWarn(m.OperationID, "sendMsgToKafka client msgID ", m.MsgData.ClientMsgID) + } + } +} + // String hashes a string to a unique hashcode. // // crc32 returns a uint32, but for our use we need diff --git a/internal/msg_transfer/logic/online_msg_to_mongo_handler.go b/internal/msg_transfer/logic/online_msg_to_mongo_handler.go index cadc0669d..4a6362a05 100644 --- a/internal/msg_transfer/logic/online_msg_to_mongo_handler.go +++ b/internal/msg_transfer/logic/online_msg_to_mongo_handler.go @@ -61,50 +61,6 @@ func (mc *OnlineHistoryMongoConsumerHandler) handleChatWs2Mongo(cMsg *sarama.Con if unexistSeqList, err := db.DB.DelMsgBySeqList(DeleteMessageTips.UserID, DeleteMessageTips.SeqList, v.OperationID); err != nil { log.NewError(v.OperationID, utils.GetSelfFuncName(), "DelMsgBySeqList args: ", DeleteMessageTips.UserID, DeleteMessageTips.SeqList, v.OperationID, err.Error(), unexistSeqList) } - } else if v.MsgData.ContentType == constant.ReactionMessageModifier { - var req pbMsg.ModifyMessageReactionExtensionsReq - if req.IsExternalExtensions { - log.NewInfo(req.OperationID, "msg:", req.String(), "this is external extensions") - continue - } - if !req.IsReact { - // first time to modify - var reactionExtensionList = make(map[string]db.KeyValue) - for k, v := range req.ReactionExtensionList { - reactionExtensionList[k] = db.KeyValue{ - TypeKey: v.TypeKey, - Value: v.Value, - LatestUpdateTime: v.LatestUpdateTime, - } - } - extendMsg := db.ExtendMsg{ - ReactionExtensionList: reactionExtensionList, - ClientMsgID: req.ClientMsgID, - MsgFirstModifyTime: req.MsgFirstModifyTime, - } - if req.AttachedInfo != nil { - extendMsg.AttachedInfo = req.AttachedInfo.Value - } - if req.Ex != nil { - extendMsg.Ex = req.Ex.Value - } - if err := db.DB.InsertExtendMsg(req.SourceID, req.SessionType, &extendMsg); err != nil { - log.NewError(req.OperationID, "MsgFirstModify InsertExtendMsg failed", req.SourceID, req.SessionType, extendMsg, err.Error()) - continue - } - } else { - // is already modify - if err := db.DB.InsertOrUpdateReactionExtendMsgSet(req.SourceID, req.SessionType, req.ClientMsgID, req.MsgFirstModifyTime, req.ReactionExtensionList); err != nil { - log.NewError(req.OperationID, "InsertOrUpdateReactionExtendMsgSet failed") - } - } - } else if v.MsgData.ContentType == constant.ReactionMessageDeleter { - var req pbMsg.OperateMessageListReactionExtensionsReq - for _, v := range req.MessageReactionKeyList { - if err := db.DB.DeleteReactionExtendMsgSet(req.SourceID, req.SessionType, v.ClientMsgID, v.MsgFirstModifyTime, v.ReactionExtensionList); err != nil { - log.NewError(req.OperationID, "InsertOrUpdateReactionExtendMsgSet failed") - } - } } } } diff --git a/pkg/base_info/msg.go b/pkg/base_info/msg.go index bf02d311f..dbd4d1223 100644 --- a/pkg/base_info/msg.go +++ b/pkg/base_info/msg.go @@ -116,3 +116,12 @@ type ReactionMessageModifierNotification struct { IsExternalExtensions bool `json:"isExternalExtensions"` MsgFirstModifyTime int64 `json:"msgFirstModifyTime"` } + +type ReactionMessageDeleteNotification struct { + SourceID string `json:"sourceID" binding:"required"` + OpUserID string `json:"opUserID" binding:"required"` + SessionType int32 `json:"sessionType" binding:"required"` + SuccessReactionExtensionList map[string]*sdk_ws.KeyValue `json:"reactionExtensionList,omitempty" binding:"required"` + ClientMsgID string `json:"clientMsgID" binding:"required"` + MsgFirstModifyTime int64 `json:"msgFirstModifyTime"` +} diff --git a/pkg/common/config/config.go b/pkg/common/config/config.go index e1942a66d..20292251e 100644 --- a/pkg/common/config/config.go +++ b/pkg/common/config/config.go @@ -248,11 +248,16 @@ type config struct { Addr []string `yaml:"addr"` Topic string `yaml:"topic"` } + MsgToModify struct { + Addr []string `yaml:"addr"` + Topic string `yaml:"topic"` + } ConsumerGroupID struct { - MsgToRedis string `yaml:"msgToTransfer"` - MsgToMongo string `yaml:"msgToMongo"` - MsgToMySql string `yaml:"msgToMySql"` - MsgToPush string `yaml:"msgToPush"` + MsgToRedis string `yaml:"msgToTransfer"` + MsgToMongo string `yaml:"msgToMongo"` + MsgToMySql string `yaml:"msgToMySql"` + MsgToPush string `yaml:"msgToPush"` + MsgToModify string `yaml:"msgToModify"` } } Secret string `yaml:"secret"` diff --git a/pkg/common/db/extend_msg_mongo_model.go b/pkg/common/db/extend_msg_mongo_model.go index 29ab12c20..07d853418 100644 --- a/pkg/common/db/extend_msg_mongo_model.go +++ b/pkg/common/db/extend_msg_mongo_model.go @@ -8,6 +8,7 @@ import ( "errors" "fmt" "go.mongodb.org/mongo-driver/bson/primitive" + "go.mongodb.org/mongo-driver/mongo" "go.mongodb.org/mongo-driver/mongo/options" "strconv" "strings" @@ -89,30 +90,41 @@ func (d *DataBases) GetAllExtendMsgSet(ID string, opts *GetAllExtendMsgSetOpts) return sets, nil } -type GetExtendMsgSetOpts struct { - ExcludeExtendMsgs bool +func (d *DataBases) GetExtendMsgSet(ctx context.Context, sourceID string, sessionType int32, maxMsgUpdateTime int64, c *mongo.Collection) (*ExtendMsgSet, error) { + regex := fmt.Sprintf("^%s", sourceID) + var err error + findOpts := options.Find().SetLimit(1).SetSkip(0).SetSort(bson.M{"source_id": -1}).SetProjection(bson.M{"extend_msgs": 0}) + // update newest + find := bson.M{"source_id": primitive.Regex{Pattern: regex}, "session_type": sessionType} + if maxMsgUpdateTime > 0 { + find["max_msg_update_time"] = maxMsgUpdateTime + } + result, err := c.Find(ctx, find, findOpts) + if err != nil { + return nil, utils.Wrap(err, "") + } + var setList []ExtendMsgSet + if err := result.All(ctx, &setList); err != nil { + return nil, utils.Wrap(err, "") + } + if len(setList) == 0 { + return nil, nil + } + return &setList[0], nil } // first modify msg func (d *DataBases) InsertExtendMsg(sourceID string, sessionType int32, msg *ExtendMsg) error { ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) - regex := fmt.Sprintf("^%s", sourceID) - var err error - findOpts := options.Find().SetLimit(1).SetSkip(0).SetSort(bson.M{"source_id": -1}).SetProjection(bson.M{"extend_msgs": 0}) - // update newest - result, err := c.Find(ctx, bson.M{"source_id": primitive.Regex{Pattern: regex}, "session_type": sessionType}, findOpts) + set, err := d.GetExtendMsgSet(ctx, sourceID, sessionType, 0, c) if err != nil { return utils.Wrap(err, "") } - var setList []ExtendMsgSet - if err := result.All(ctx, &setList); err != nil { - return utils.Wrap(err, "") - } - if len(setList) == 0 || setList[0].ExtendMsgNum >= GetExtendMsgMaxNum() { + if set == nil || set.ExtendMsgNum >= GetExtendMsgMaxNum() { var index int32 - if len(setList) > 0 { - index = SplitSourceIDAndGetIndex(setList[0].SourceID) + if set != nil { + index = SplitSourceIDAndGetIndex(set.SourceID) } err = d.CreateExtendMsgSet(&ExtendMsgSet{ SourceID: GetExtendMsgSourceID(sourceID, index), @@ -123,7 +135,7 @@ func (d *DataBases) InsertExtendMsg(sourceID string, sessionType int32, msg *Ext MaxMsgUpdateTime: msg.MsgFirstModifyTime, }) } else { - _, err = c.UpdateOne(ctx, bson.M{"source_id": setList[0].SourceID, "session_type": sessionType}, bson.M{"$set": bson.M{"max_msg_update_time": msg.MsgFirstModifyTime, "$inc": bson.M{"extend_msg_num": 1}, fmt.Sprintf("extend_msgs.%s", msg.ClientMsgID): msg}}) + _, err = c.UpdateOne(ctx, bson.M{"source_id": set.SourceID, "session_type": sessionType}, bson.M{"$set": bson.M{"max_msg_update_time": msg.MsgFirstModifyTime, "$inc": bson.M{"extend_msg_num": 1}, fmt.Sprintf("extend_msgs.%s", msg.ClientMsgID): msg}}) } return utils.Wrap(err, "") } @@ -140,47 +152,33 @@ func (d *DataBases) InsertOrUpdateReactionExtendMsgSet(sourceID string, sessionT opt := &options.UpdateOptions{ Upsert: &upsert, } - findOpts := options.Find().SetLimit(1).SetSkip(0).SetSort(bson.M{"source_id": -1}).SetProjection(bson.M{"extend_msgs": 0}) - regex := fmt.Sprintf("^%s", sourceID) - result, err := c.Find(ctx, bson.M{"source_id": primitive.Regex{Pattern: regex}, "session_type": sessionType, "max_msg_update_time": bson.M{"$lte": msgFirstModifyTime}}, findOpts) + set, err := d.GetExtendMsgSet(ctx, sourceID, sessionType, msgFirstModifyTime, c) if err != nil { return utils.Wrap(err, "") } - var setList []ExtendMsgSet - if err := result.All(ctx, &setList); err != nil { - return utils.Wrap(err, "") + if set == nil { + return errors.New(fmt.Sprintf("sourceID %s has no set", sourceID)) } - if len(setList) == 0 { - return utils.Wrap(errors.New("InsertOrUpdateReactionExtendMsgSet failed, len(setList) == 0"), "") - } - - _, err = c.UpdateOne(ctx, bson.M{"source_id": setList[0].SourceID, "session_type": sessionType}, bson.M{"$set": updateBson}, opt) + _, err = c.UpdateOne(ctx, bson.M{"source_id": set.SourceID, "session_type": sessionType}, bson.M{"$set": updateBson}, opt) return utils.Wrap(err, "") } // delete TypeKey -func (d *DataBases) DeleteReactionExtendMsgSet(sourceID string, sessionType int32, clientMsgID string, msgFirstModifyTime int64, reactionExtensionList []*server_api_params.KeyValue) error { +func (d *DataBases) DeleteReactionExtendMsgSet(sourceID string, sessionType int32, clientMsgID string, msgFirstModifyTime int64, reactionExtensionList map[string]*server_api_params.KeyValue) error { ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) var updateBson = bson.M{} for _, v := range reactionExtensionList { updateBson[fmt.Sprintf("extend_msgs.%s.%s", clientMsgID, v.TypeKey)] = "" } - - findOpts := options.Find().SetLimit(1).SetSkip(0).SetSort(bson.M{"source_id": -1}).SetProjection(bson.M{"extend_msgs": 0}) - regex := fmt.Sprintf("^%s", sourceID) - result, err := c.Find(ctx, bson.M{"source_id": primitive.Regex{Pattern: regex}, "session_type": sessionType, "max_msg_update_time": bson.M{"$lte": msgFirstModifyTime}}, findOpts) + set, err := d.GetExtendMsgSet(ctx, sourceID, sessionType, msgFirstModifyTime, c) if err != nil { return utils.Wrap(err, "") } - var setList []ExtendMsgSet - if err := result.All(ctx, &setList); err != nil { - return utils.Wrap(err, "") + if set == nil { + return errors.New(fmt.Sprintf("sourceID %s has no set", sourceID)) } - if len(setList) == 0 { - return utils.Wrap(errors.New("InsertOrUpdateReactionExtendMsgSet failed, len(setList) == 0"), "") - } - _, err = c.UpdateOne(ctx, bson.M{"source_id": setList[0].SourceID, "session_type": sessionType}, bson.M{"$unset": updateBson}) + _, err = c.UpdateOne(ctx, bson.M{"source_id": set.SourceID, "session_type": sessionType}, bson.M{"$unset": updateBson}) return err } @@ -189,16 +187,19 @@ func (d *DataBases) GetExtendMsg(sourceID string, sessionType int32, clientMsgID c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) findOpts := options.Find().SetLimit(1).SetSkip(0).SetSort(bson.M{"source_id": -1}).SetProjection(bson.M{fmt.Sprintf("extend_msgs.%s", clientMsgID): 1}) regex := fmt.Sprintf("^%s", sourceID) - result, err := c.Find(ctx, bson.M{"source_id": primitive.Regex{Pattern: regex}, "session_type": sessionType, "msgFirstModifyTime": bson.M{"$lte": maxMsgUpdateTime}}, findOpts) + result, err := c.Find(ctx, bson.M{"source_id": primitive.Regex{Pattern: regex}, "session_type": sessionType, "max_msg_update_time": bson.M{"$lte": maxMsgUpdateTime}}, findOpts) if err != nil { return nil, utils.Wrap(err, "") } - var extendMsgList []ExtendMsg - if err := result.All(ctx, &extendMsgList); err != nil { + var setList []ExtendMsgSet + if err := result.All(ctx, &setList); err != nil { return nil, utils.Wrap(err, "") } - if len(extendMsgList) == 0 { + if len(setList) == 0 { return nil, utils.Wrap(errors.New("GetExtendMsg failed, len(setList) == 0"), "") } - return &extendMsgList[0], nil + if v, ok := setList[0].ExtendMsgs[clientMsgID]; ok { + return &v, nil + } + return nil, errors.New(fmt.Sprintf("cant find client msg id: %s", clientMsgID)) } diff --git a/pkg/common/db/rocks_cache/rocks_cache.go b/pkg/common/db/rocks_cache/rocks_cache.go index 5ff836fd7..3b054d37f 100644 --- a/pkg/common/db/rocks_cache/rocks_cache.go +++ b/pkg/common/db/rocks_cache/rocks_cache.go @@ -567,9 +567,9 @@ func DelConversationFromCache(ownerUserID, conversationID string) error { return utils.Wrap(db.DB.Rc.TagAsDeleted(conversationCache+ownerUserID+":"+conversationID), "DelConversationFromCache err") } -func GetExtendMsg(sourceID string, sessionType int32, clientMsgID string, maxMsgUpdateTime int64) (*db.ExtendMsg, error) { +func GetExtendMsg(sourceID string, sessionType int32, clientMsgID string, firstModifyTime int64) (*db.ExtendMsg, error) { getExtendMsg := func() (string, error) { - extendMsg, err := db.DB.GetExtendMsg(sourceID, sessionType, clientMsgID, maxMsgUpdateTime) + extendMsg, err := db.DB.GetExtendMsg(sourceID, sessionType, clientMsgID, firstModifyTime) if err != nil { return "", utils.Wrap(err, "GetExtendMsgList failed") } diff --git a/pkg/proto/msg/msg.pb.go b/pkg/proto/msg/msg.pb.go index 89d14cb63..7541696f1 100644 --- a/pkg/proto/msg/msg.pb.go +++ b/pkg/proto/msg/msg.pb.go @@ -38,7 +38,7 @@ func (m *MsgDataToMQ) Reset() { *m = MsgDataToMQ{} } func (m *MsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMQ) ProtoMessage() {} func (*MsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{0} + return fileDescriptor_msg_a1760b784e1ce32d, []int{0} } func (m *MsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMQ.Unmarshal(m, b) @@ -91,7 +91,7 @@ func (m *MsgDataToDB) Reset() { *m = MsgDataToDB{} } func (m *MsgDataToDB) String() string { return proto.CompactTextString(m) } func (*MsgDataToDB) ProtoMessage() {} func (*MsgDataToDB) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{1} + return fileDescriptor_msg_a1760b784e1ce32d, []int{1} } func (m *MsgDataToDB) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToDB.Unmarshal(m, b) @@ -138,7 +138,7 @@ func (m *PushMsgDataToMQ) Reset() { *m = PushMsgDataToMQ{} } func (m *PushMsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*PushMsgDataToMQ) ProtoMessage() {} func (*PushMsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{2} + return fileDescriptor_msg_a1760b784e1ce32d, []int{2} } func (m *PushMsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PushMsgDataToMQ.Unmarshal(m, b) @@ -193,7 +193,7 @@ func (m *MsgDataToMongoByMQ) Reset() { *m = MsgDataToMongoByMQ{} } func (m *MsgDataToMongoByMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMongoByMQ) ProtoMessage() {} func (*MsgDataToMongoByMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{3} + return fileDescriptor_msg_a1760b784e1ce32d, []int{3} } func (m *MsgDataToMongoByMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMongoByMQ.Unmarshal(m, b) @@ -273,7 +273,7 @@ func (m *GetMaxAndMinSeqReq) Reset() { *m = GetMaxAndMinSeqReq{} } func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqReq) ProtoMessage() {} func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{4} + return fileDescriptor_msg_a1760b784e1ce32d, []int{4} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -321,7 +321,7 @@ func (m *GetMaxAndMinSeqResp) Reset() { *m = GetMaxAndMinSeqResp{} } func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqResp) ProtoMessage() {} func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{5} + return fileDescriptor_msg_a1760b784e1ce32d, []int{5} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -382,7 +382,7 @@ func (m *SendMsgReq) Reset() { *m = SendMsgReq{} } func (m *SendMsgReq) String() string { return proto.CompactTextString(m) } func (*SendMsgReq) ProtoMessage() {} func (*SendMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{6} + return fileDescriptor_msg_a1760b784e1ce32d, []int{6} } func (m *SendMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgReq.Unmarshal(m, b) @@ -438,7 +438,7 @@ func (m *SendMsgResp) Reset() { *m = SendMsgResp{} } func (m *SendMsgResp) String() string { return proto.CompactTextString(m) } func (*SendMsgResp) ProtoMessage() {} func (*SendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{7} + return fileDescriptor_msg_a1760b784e1ce32d, []int{7} } func (m *SendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgResp.Unmarshal(m, b) @@ -506,7 +506,7 @@ func (m *ClearMsgReq) Reset() { *m = ClearMsgReq{} } func (m *ClearMsgReq) String() string { return proto.CompactTextString(m) } func (*ClearMsgReq) ProtoMessage() {} func (*ClearMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{8} + return fileDescriptor_msg_a1760b784e1ce32d, []int{8} } func (m *ClearMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgReq.Unmarshal(m, b) @@ -559,7 +559,7 @@ func (m *ClearMsgResp) Reset() { *m = ClearMsgResp{} } func (m *ClearMsgResp) String() string { return proto.CompactTextString(m) } func (*ClearMsgResp) ProtoMessage() {} func (*ClearMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{9} + return fileDescriptor_msg_a1760b784e1ce32d, []int{9} } func (m *ClearMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgResp.Unmarshal(m, b) @@ -608,7 +608,7 @@ func (m *SetMsgMinSeqReq) Reset() { *m = SetMsgMinSeqReq{} } func (m *SetMsgMinSeqReq) String() string { return proto.CompactTextString(m) } func (*SetMsgMinSeqReq) ProtoMessage() {} func (*SetMsgMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{10} + return fileDescriptor_msg_a1760b784e1ce32d, []int{10} } func (m *SetMsgMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqReq.Unmarshal(m, b) @@ -675,7 +675,7 @@ func (m *SetMsgMinSeqResp) Reset() { *m = SetMsgMinSeqResp{} } func (m *SetMsgMinSeqResp) String() string { return proto.CompactTextString(m) } func (*SetMsgMinSeqResp) ProtoMessage() {} func (*SetMsgMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{11} + return fileDescriptor_msg_a1760b784e1ce32d, []int{11} } func (m *SetMsgMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqResp.Unmarshal(m, b) @@ -721,7 +721,7 @@ func (m *SetSendMsgStatusReq) Reset() { *m = SetSendMsgStatusReq{} } func (m *SetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (*SetSendMsgStatusReq) ProtoMessage() {} func (*SetSendMsgStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{12} + return fileDescriptor_msg_a1760b784e1ce32d, []int{12} } func (m *SetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgStatusReq.Unmarshal(m, b) @@ -767,7 +767,7 @@ func (m *SetSendMsgStatusResp) Reset() { *m = SetSendMsgStatusResp{} } func (m *SetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (*SetSendMsgStatusResp) ProtoMessage() {} func (*SetSendMsgStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{13} + return fileDescriptor_msg_a1760b784e1ce32d, []int{13} } func (m *SetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgStatusResp.Unmarshal(m, b) @@ -812,7 +812,7 @@ func (m *GetSendMsgStatusReq) Reset() { *m = GetSendMsgStatusReq{} } func (m *GetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (*GetSendMsgStatusReq) ProtoMessage() {} func (*GetSendMsgStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{14} + return fileDescriptor_msg_a1760b784e1ce32d, []int{14} } func (m *GetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusReq.Unmarshal(m, b) @@ -852,7 +852,7 @@ func (m *GetSendMsgStatusResp) Reset() { *m = GetSendMsgStatusResp{} } func (m *GetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (*GetSendMsgStatusResp) ProtoMessage() {} func (*GetSendMsgStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{15} + return fileDescriptor_msg_a1760b784e1ce32d, []int{15} } func (m *GetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusResp.Unmarshal(m, b) @@ -907,7 +907,7 @@ func (m *DelSuperGroupMsgReq) Reset() { *m = DelSuperGroupMsgReq{} } func (m *DelSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (*DelSuperGroupMsgReq) ProtoMessage() {} func (*DelSuperGroupMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{16} + return fileDescriptor_msg_a1760b784e1ce32d, []int{16} } func (m *DelSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelSuperGroupMsgReq.Unmarshal(m, b) @@ -967,7 +967,7 @@ func (m *DelSuperGroupMsgResp) Reset() { *m = DelSuperGroupMsgResp{} } func (m *DelSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (*DelSuperGroupMsgResp) ProtoMessage() {} func (*DelSuperGroupMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{17} + return fileDescriptor_msg_a1760b784e1ce32d, []int{17} } func (m *DelSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelSuperGroupMsgResp.Unmarshal(m, b) @@ -1014,7 +1014,7 @@ func (m *GetSuperGroupMsgReq) Reset() { *m = GetSuperGroupMsgReq{} } func (m *GetSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupMsgReq) ProtoMessage() {} func (*GetSuperGroupMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{18} + return fileDescriptor_msg_a1760b784e1ce32d, []int{18} } func (m *GetSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupMsgReq.Unmarshal(m, b) @@ -1068,7 +1068,7 @@ func (m *GetSuperGroupMsgResp) Reset() { *m = GetSuperGroupMsgResp{} } func (m *GetSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupMsgResp) ProtoMessage() {} func (*GetSuperGroupMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{19} + return fileDescriptor_msg_a1760b784e1ce32d, []int{19} } func (m *GetSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupMsgResp.Unmarshal(m, b) @@ -1121,7 +1121,7 @@ func (m *GetWriteDiffMsgReq) Reset() { *m = GetWriteDiffMsgReq{} } func (m *GetWriteDiffMsgReq) String() string { return proto.CompactTextString(m) } func (*GetWriteDiffMsgReq) ProtoMessage() {} func (*GetWriteDiffMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{20} + return fileDescriptor_msg_a1760b784e1ce32d, []int{20} } func (m *GetWriteDiffMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetWriteDiffMsgReq.Unmarshal(m, b) @@ -1168,7 +1168,7 @@ func (m *GetWriteDiffMsgResp) Reset() { *m = GetWriteDiffMsgResp{} } func (m *GetWriteDiffMsgResp) String() string { return proto.CompactTextString(m) } func (*GetWriteDiffMsgResp) ProtoMessage() {} func (*GetWriteDiffMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{21} + return fileDescriptor_msg_a1760b784e1ce32d, []int{21} } func (m *GetWriteDiffMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetWriteDiffMsgResp.Unmarshal(m, b) @@ -1230,7 +1230,7 @@ func (m *ModifyMessageReactionExtensionsReq) Reset() { *m = ModifyMessag func (m *ModifyMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*ModifyMessageReactionExtensionsReq) ProtoMessage() {} func (*ModifyMessageReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{22} + return fileDescriptor_msg_a1760b784e1ce32d, []int{22} } func (m *ModifyMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyMessageReactionExtensionsReq.Unmarshal(m, b) @@ -1348,7 +1348,7 @@ func (m *SetMessageReactionExtensionsReq) Reset() { *m = SetMessageReact func (m *SetMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*SetMessageReactionExtensionsReq) ProtoMessage() {} func (*SetMessageReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{23} + return fileDescriptor_msg_a1760b784e1ce32d, []int{23} } func (m *SetMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMessageReactionExtensionsReq.Unmarshal(m, b) @@ -1461,7 +1461,7 @@ func (m *SetMessageReactionExtensionsResp) Reset() { *m = SetMessageReac func (m *SetMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*SetMessageReactionExtensionsResp) ProtoMessage() {} func (*SetMessageReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{24} + return fileDescriptor_msg_a1760b784e1ce32d, []int{24} } func (m *SetMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMessageReactionExtensionsResp.Unmarshal(m, b) @@ -1537,7 +1537,7 @@ func (m *ModifyMessageReactionExtensionsResp) Reset() { *m = ModifyMessa func (m *ModifyMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*ModifyMessageReactionExtensionsResp) ProtoMessage() {} func (*ModifyMessageReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{25} + return fileDescriptor_msg_a1760b784e1ce32d, []int{25} } func (m *ModifyMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyMessageReactionExtensionsResp.Unmarshal(m, b) @@ -1602,7 +1602,7 @@ func (m *OperateMessageListReactionExtensionsReq) Reset() { func (m *OperateMessageListReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*OperateMessageListReactionExtensionsReq) ProtoMessage() {} func (*OperateMessageListReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{26} + return fileDescriptor_msg_a1760b784e1ce32d, []int{26} } func (m *OperateMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OperateMessageListReactionExtensionsReq.Unmarshal(m, b) @@ -1674,7 +1674,7 @@ func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) String() st } func (*OperateMessageListReactionExtensionsReq_MessageReactionKey) ProtoMessage() {} func (*OperateMessageListReactionExtensionsReq_MessageReactionKey) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{26, 0} + return fileDescriptor_msg_a1760b784e1ce32d, []int{26, 0} } func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OperateMessageListReactionExtensionsReq_MessageReactionKey.Unmarshal(m, b) @@ -1731,7 +1731,7 @@ func (m *OperateMessageListReactionExtensionsResp) Reset() { func (m *OperateMessageListReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*OperateMessageListReactionExtensionsResp) ProtoMessage() {} func (*OperateMessageListReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{27} + return fileDescriptor_msg_a1760b784e1ce32d, []int{27} } func (m *OperateMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OperateMessageListReactionExtensionsResp.Unmarshal(m, b) @@ -1792,7 +1792,7 @@ func (m *ExtendMsgResp) Reset() { *m = ExtendMsgResp{} } func (m *ExtendMsgResp) String() string { return proto.CompactTextString(m) } func (*ExtendMsgResp) ProtoMessage() {} func (*ExtendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{28} + return fileDescriptor_msg_a1760b784e1ce32d, []int{28} } func (m *ExtendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExtendMsgResp.Unmarshal(m, b) @@ -1848,7 +1848,7 @@ func (m *ExtendMsg) Reset() { *m = ExtendMsg{} } func (m *ExtendMsg) String() string { return proto.CompactTextString(m) } func (*ExtendMsg) ProtoMessage() {} func (*ExtendMsg) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{29} + return fileDescriptor_msg_a1760b784e1ce32d, []int{29} } func (m *ExtendMsg) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExtendMsg.Unmarshal(m, b) @@ -1916,7 +1916,7 @@ func (m *KeyValueResp) Reset() { *m = KeyValueResp{} } func (m *KeyValueResp) String() string { return proto.CompactTextString(m) } func (*KeyValueResp) ProtoMessage() {} func (*KeyValueResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{30} + return fileDescriptor_msg_a1760b784e1ce32d, []int{30} } func (m *KeyValueResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_KeyValueResp.Unmarshal(m, b) @@ -1957,6 +1957,60 @@ func (m *KeyValueResp) GetErrMsg() string { return "" } +type MsgDataToModifyByMQ struct { + AggregationID string `protobuf:"bytes,1,opt,name=aggregationID" json:"aggregationID,omitempty"` + MessageList []*MsgDataToMQ `protobuf:"bytes,2,rep,name=messageList" json:"messageList,omitempty"` + TriggerID string `protobuf:"bytes,3,opt,name=triggerID" json:"triggerID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MsgDataToModifyByMQ) Reset() { *m = MsgDataToModifyByMQ{} } +func (m *MsgDataToModifyByMQ) String() string { return proto.CompactTextString(m) } +func (*MsgDataToModifyByMQ) ProtoMessage() {} +func (*MsgDataToModifyByMQ) Descriptor() ([]byte, []int) { + return fileDescriptor_msg_a1760b784e1ce32d, []int{31} +} +func (m *MsgDataToModifyByMQ) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MsgDataToModifyByMQ.Unmarshal(m, b) +} +func (m *MsgDataToModifyByMQ) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MsgDataToModifyByMQ.Marshal(b, m, deterministic) +} +func (dst *MsgDataToModifyByMQ) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgDataToModifyByMQ.Merge(dst, src) +} +func (m *MsgDataToModifyByMQ) XXX_Size() int { + return xxx_messageInfo_MsgDataToModifyByMQ.Size(m) +} +func (m *MsgDataToModifyByMQ) XXX_DiscardUnknown() { + xxx_messageInfo_MsgDataToModifyByMQ.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgDataToModifyByMQ proto.InternalMessageInfo + +func (m *MsgDataToModifyByMQ) GetAggregationID() string { + if m != nil { + return m.AggregationID + } + return "" +} + +func (m *MsgDataToModifyByMQ) GetMessageList() []*MsgDataToMQ { + if m != nil { + return m.MessageList + } + return nil +} + +func (m *MsgDataToModifyByMQ) GetTriggerID() string { + if m != nil { + return m.TriggerID + } + return "" +} + func init() { proto.RegisterType((*MsgDataToMQ)(nil), "msg.MsgDataToMQ") proto.RegisterType((*MsgDataToDB)(nil), "msg.MsgDataToDB") @@ -1993,6 +2047,7 @@ func init() { proto.RegisterType((*ExtendMsg)(nil), "msg.ExtendMsg") proto.RegisterMapType((map[string]*KeyValueResp)(nil), "msg.ExtendMsg.ReactionExtensionListEntry") proto.RegisterType((*KeyValueResp)(nil), "msg.KeyValueResp") + proto.RegisterType((*MsgDataToModifyByMQ)(nil), "msg.MsgDataToModifyByMQ") } // Reference imports to suppress errors if they are not otherwise used. @@ -2531,105 +2586,107 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ Metadata: "msg/msg.proto", } -func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_489179134d252ef4) } +func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_a1760b784e1ce32d) } -var fileDescriptor_msg_489179134d252ef4 = []byte{ - // 1548 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x59, 0x4f, 0x73, 0xdb, 0x44, - 0x14, 0x1f, 0x59, 0xb1, 0x93, 0x3c, 0x27, 0x4d, 0xba, 0x4d, 0x83, 0xaa, 0x66, 0xa6, 0x46, 0xb4, - 0xd4, 0x85, 0xd6, 0x19, 0x02, 0x33, 0x65, 0xe8, 0x81, 0x36, 0x75, 0x70, 0x33, 0x45, 0xa4, 0x91, - 0x03, 0xcc, 0xc0, 0x21, 0x55, 0xed, 0x8d, 0xaa, 0x89, 0x2d, 0x29, 0x5a, 0xa9, 0x89, 0x61, 0x28, - 0x27, 0x4e, 0x0c, 0x07, 0xb8, 0x71, 0xe2, 0xc6, 0x77, 0xe0, 0xc8, 0x85, 0x2b, 0x77, 0xbe, 0x02, - 0x5f, 0x82, 0xd9, 0x5d, 0xd9, 0x5e, 0xfd, 0x8b, 0x15, 0x97, 0xe9, 0x94, 0x19, 0x6e, 0x7e, 0x6f, - 0xdf, 0xbe, 0x7d, 0xbf, 0xf7, 0x7e, 0xda, 0xb7, 0xbb, 0x86, 0xc5, 0x3e, 0xb1, 0xd6, 0xfb, 0xc4, - 0x6a, 0x78, 0xbe, 0x1b, 0xb8, 0x48, 0xee, 0x13, 0x4b, 0xad, 0xef, 0x78, 0xd8, 0xb9, 0xb5, 0xad, - 0xdf, 0x6a, 0x63, 0xff, 0x19, 0xf6, 0xd7, 0xbd, 0x43, 0x6b, 0x9d, 0x0d, 0xaf, 0x93, 0xee, 0xe1, - 0xfe, 0x31, 0x59, 0x3f, 0x26, 0xdc, 0x5c, 0x6d, 0x4c, 0xb4, 0xf4, 0x4d, 0xcf, 0xc3, 0x7e, 0x64, - 0xaf, 0x7d, 0x0d, 0x55, 0x9d, 0x58, 0x4d, 0x33, 0x30, 0xf7, 0x5c, 0x7d, 0x17, 0xad, 0x40, 0x39, - 0x70, 0x0f, 0xb1, 0xa3, 0x48, 0x35, 0xa9, 0x3e, 0x6f, 0x70, 0x01, 0xd5, 0xa0, 0xea, 0x7a, 0xd8, - 0x37, 0x03, 0xdb, 0x75, 0xb6, 0x9b, 0x4a, 0x89, 0x8d, 0x89, 0x2a, 0xf4, 0x1e, 0xcc, 0xf6, 0xb9, - 0x1b, 0x45, 0xae, 0x49, 0xf5, 0xea, 0x86, 0xda, 0x20, 0x2c, 0x80, 0x7d, 0xd3, 0xb3, 0xf7, 0x3d, - 0xd3, 0x37, 0xfb, 0xa4, 0x11, 0x2d, 0x64, 0x0c, 0x4d, 0x35, 0x2c, 0x2c, 0xde, 0xdc, 0x14, 0x9d, - 0x48, 0x85, 0x9d, 0x4c, 0x0e, 0x4e, 0xfb, 0x41, 0x82, 0xa5, 0x47, 0x21, 0x79, 0x2a, 0x02, 0xad, - 0x41, 0x75, 0x47, 0x98, 0xc5, 0xe1, 0x8a, 0x2a, 0x31, 0x9a, 0x52, 0xf1, 0x68, 0x34, 0x58, 0xf0, - 0x42, 0xf2, 0x74, 0xcf, 0xfd, 0x94, 0x60, 0x7f, 0xbb, 0xc9, 0xb2, 0x31, 0x6f, 0xc4, 0x74, 0xda, - 0xaf, 0x12, 0xa0, 0x71, 0x2c, 0xae, 0x63, 0xb9, 0x9b, 0x03, 0x7d, 0x17, 0x29, 0x30, 0xdb, 0x33, - 0x49, 0xd0, 0xc6, 0x47, 0x2c, 0x9c, 0x19, 0x63, 0x28, 0xa2, 0xab, 0xb0, 0x68, 0x5a, 0x96, 0x8f, - 0xad, 0x38, 0xc8, 0xb8, 0x12, 0x6d, 0x40, 0xb5, 0x8f, 0x09, 0x31, 0x2d, 0xfc, 0xb1, 0x4d, 0x02, - 0x45, 0xae, 0xc9, 0xf5, 0xea, 0xc6, 0x72, 0x83, 0x52, 0x49, 0x40, 0x6e, 0x88, 0x46, 0x68, 0x0d, - 0xe6, 0x03, 0xdf, 0xb6, 0x2c, 0x16, 0xeb, 0x0c, 0xf3, 0x3a, 0x56, 0x68, 0x9f, 0x00, 0x6a, 0xe1, - 0x40, 0x37, 0x4f, 0xee, 0x39, 0x5d, 0xdd, 0x76, 0xda, 0xf8, 0xc8, 0xc0, 0x47, 0x68, 0x15, 0x2a, - 0x11, 0x38, 0x9e, 0xb5, 0x48, 0x4a, 0xa6, 0xb4, 0x94, 0x4a, 0xa9, 0x76, 0x0c, 0x17, 0x52, 0xfe, - 0x88, 0x47, 0x81, 0x6f, 0xf9, 0xfe, 0x7d, 0xb7, 0x8b, 0x99, 0xc7, 0xb2, 0x31, 0x14, 0xe9, 0x52, - 0x5b, 0xbe, 0xaf, 0x13, 0x2b, 0xf2, 0x16, 0x49, 0x54, 0xaf, 0x9b, 0x27, 0x34, 0x53, 0x34, 0xbf, - 0x8b, 0x46, 0x24, 0x31, 0x3d, 0xf3, 0xcb, 0xb0, 0x50, 0x3d, 0x93, 0xb4, 0xaf, 0x00, 0xda, 0xd8, - 0xe9, 0xea, 0xc4, 0xa2, 0x00, 0x5e, 0x2e, 0xc9, 0x7f, 0x91, 0xa0, 0x3a, 0x5a, 0x9c, 0xa3, 0xc5, - 0x71, 0xb4, 0x78, 0x8c, 0x16, 0xc7, 0xd0, 0x72, 0x89, 0x46, 0xc6, 0xd7, 0xd1, 0x89, 0x35, 0x2a, - 0x93, 0xa8, 0xa2, 0x16, 0x9d, 0x9e, 0x8d, 0x9d, 0x80, 0x5b, 0x94, 0xb9, 0x85, 0xa0, 0x42, 0x2a, - 0xcc, 0x11, 0xec, 0x74, 0xf7, 0xec, 0x3e, 0x56, 0x2a, 0x35, 0xa9, 0x2e, 0x1b, 0x23, 0x59, 0xeb, - 0x40, 0xf5, 0x7e, 0x0f, 0x9b, 0x7e, 0x94, 0x9e, 0x55, 0xa8, 0x84, 0xb1, 0xfa, 0x72, 0x89, 0xba, - 0x70, 0xbd, 0xa8, 0xf2, 0x3c, 0xc0, 0x91, 0x9c, 0x4c, 0x9e, 0x9c, 0xfe, 0x08, 0xef, 0xc2, 0xc2, - 0x78, 0x91, 0x69, 0xd2, 0xa0, 0xfd, 0x2c, 0xc1, 0x52, 0x1b, 0x53, 0x3c, 0x31, 0x2e, 0x66, 0xc6, - 0xaa, 0xc0, 0xac, 0xe5, 0xbb, 0xa1, 0x37, 0x0a, 0x75, 0x28, 0xd2, 0x19, 0x7d, 0x4e, 0x91, 0x88, - 0x3a, 0x5c, 0x4a, 0x22, 0x98, 0x49, 0x97, 0x5f, 0xc4, 0x5f, 0x8e, 0xe3, 0xd7, 0x9a, 0xb0, 0x1c, - 0x0f, 0x6d, 0x2a, 0x84, 0x3b, 0x70, 0xa1, 0x8d, 0x83, 0x88, 0x2c, 0xed, 0xc0, 0x0c, 0x42, 0x62, - 0xa4, 0x43, 0x93, 0xd2, 0xa1, 0xad, 0x42, 0x85, 0x30, 0x73, 0xe6, 0xb0, 0x6c, 0x44, 0x92, 0xf6, - 0x00, 0x56, 0xd2, 0x0e, 0xa7, 0x0a, 0xed, 0x36, 0xfb, 0x74, 0xcf, 0x1e, 0x9a, 0xf6, 0x18, 0x56, - 0x5a, 0xff, 0x4a, 0x08, 0x02, 0x48, 0x39, 0x06, 0xf2, 0x3b, 0x09, 0x2e, 0x34, 0x71, 0xaf, 0x1d, - 0x7a, 0xd8, 0x6f, 0xd1, 0x2a, 0x47, 0x3c, 0x16, 0xeb, 0x25, 0x25, 0xf8, 0x3a, 0xe6, 0x4d, 0x29, - 0x8f, 0x37, 0x72, 0x9c, 0x37, 0x13, 0xf9, 0x41, 0x93, 0x9d, 0x0e, 0x63, 0xaa, 0x64, 0x77, 0x78, - 0xb2, 0x93, 0x80, 0x26, 0xf3, 0x60, 0x19, 0x64, 0xca, 0xec, 0x12, 0x63, 0x36, 0xfd, 0x99, 0x0f, - 0x48, 0x7b, 0xce, 0x0b, 0xf3, 0xe2, 0xe1, 0x4e, 0xb9, 0x2f, 0x3e, 0x60, 0xcd, 0xe5, 0x73, 0xdf, - 0x0e, 0x70, 0xd3, 0x3e, 0x38, 0x98, 0x1e, 0xa3, 0xf6, 0x0d, 0x4b, 0x57, 0xdc, 0xd3, 0x4b, 0x04, - 0xf2, 0x63, 0x19, 0x34, 0xdd, 0xed, 0xda, 0x07, 0x03, 0x9d, 0x77, 0x56, 0x03, 0x9b, 0x1d, 0x1a, - 0xec, 0xd6, 0x49, 0x80, 0x1d, 0x62, 0xbb, 0x4e, 0xc1, 0xaf, 0x98, 0xee, 0xd1, 0x6e, 0xe8, 0x77, - 0xf0, 0x78, 0x83, 0x1d, 0xca, 0x31, 0x32, 0xcb, 0xe9, 0xcd, 0x97, 0x60, 0x42, 0x17, 0xda, 0x1b, - 0x78, 0x98, 0x51, 0xb3, 0x6c, 0x88, 0x2a, 0x74, 0x02, 0x17, 0xfd, 0x64, 0x50, 0xec, 0x90, 0x50, - 0x66, 0x87, 0x84, 0x4d, 0x7e, 0x48, 0x98, 0x88, 0xa1, 0x61, 0x64, 0x39, 0xd9, 0x72, 0x02, 0x7f, - 0x60, 0x64, 0x2f, 0x90, 0xec, 0x4c, 0x95, 0x74, 0x67, 0xba, 0x09, 0x25, 0x7c, 0xa2, 0xcc, 0xb2, - 0x7c, 0xaf, 0x35, 0x2c, 0xd7, 0xb5, 0x7a, 0x98, 0x1f, 0x4e, 0x9f, 0x84, 0x07, 0x8d, 0x76, 0xe0, - 0xdb, 0x8e, 0xf5, 0x99, 0xd9, 0x0b, 0xb1, 0x51, 0xc2, 0x27, 0xe8, 0x2e, 0x2c, 0x98, 0x41, 0x60, - 0x76, 0x9e, 0xe2, 0xee, 0xb6, 0x73, 0xe0, 0x2a, 0x73, 0x05, 0xe6, 0xc5, 0x66, 0x50, 0x5a, 0xd8, - 0x84, 0x01, 0x51, 0xe6, 0x6b, 0x52, 0x7d, 0xce, 0x18, 0x8a, 0x68, 0x03, 0x56, 0x6c, 0x42, 0xc3, - 0xf7, 0x1d, 0xb3, 0x37, 0x06, 0xae, 0x00, 0x33, 0xcb, 0x1c, 0x43, 0x0d, 0x40, 0x7d, 0x62, 0x7d, - 0x64, 0xfb, 0x24, 0xe0, 0xf9, 0x63, 0x1d, 0xb6, 0xca, 0x3a, 0x6c, 0xc6, 0x88, 0x8a, 0x41, 0xcd, - 0x4f, 0x22, 0xe5, 0xf6, 0x21, 0x1e, 0x44, 0xdc, 0xa0, 0x3f, 0xd1, 0x3b, 0x50, 0x7e, 0x46, 0x41, - 0x44, 0x67, 0xd0, 0xcb, 0x19, 0x84, 0x7c, 0x88, 0x07, 0x1c, 0x27, 0xb7, 0xfc, 0xa0, 0xf4, 0xbe, - 0xa4, 0x7d, 0x5f, 0x86, 0x2b, 0xb4, 0x21, 0xbd, 0xaa, 0x84, 0x0c, 0x4f, 0x27, 0xe4, 0x87, 0x8c, - 0x90, 0x13, 0x00, 0xfc, 0xcf, 0xc6, 0xff, 0x0a, 0x1b, 0xff, 0x96, 0xa0, 0x76, 0x7a, 0x31, 0xa7, - 0x3d, 0x17, 0x8b, 0xd5, 0x94, 0xd3, 0xd5, 0xcc, 0xce, 0xc7, 0x4c, 0x5e, 0x3e, 0xc4, 0x6a, 0x94, - 0xe3, 0xd5, 0xb8, 0x01, 0x15, 0x1f, 0x93, 0xb0, 0x17, 0x28, 0x15, 0xc6, 0xd0, 0xf3, 0x8c, 0xa1, - 0x23, 0xb0, 0x98, 0x78, 0x46, 0x64, 0xa0, 0xfd, 0x2e, 0xc1, 0x1b, 0x13, 0xf7, 0xd2, 0x29, 0xfb, - 0x53, 0x95, 0x84, 0x9d, 0x0e, 0x26, 0x44, 0xb8, 0xe1, 0x21, 0x16, 0x09, 0xf3, 0x3d, 0xbc, 0x63, - 0x18, 0xa2, 0x19, 0xda, 0x00, 0x38, 0x30, 0xed, 0x1e, 0xee, 0xb2, 0x49, 0x33, 0xb9, 0x93, 0x04, - 0x2b, 0xed, 0x2f, 0x19, 0xae, 0xf3, 0x9b, 0x1b, 0xd6, 0xc7, 0xd7, 0xc5, 0x17, 0xd8, 0x47, 0x72, - 0x6f, 0x0e, 0xe2, 0x1e, 0x23, 0x27, 0xf6, 0x98, 0xc9, 0xfb, 0xc8, 0x31, 0xac, 0xf6, 0xe3, 0x49, - 0x7e, 0x88, 0x07, 0xa9, 0x8d, 0xa4, 0x20, 0x92, 0x86, 0x9e, 0x72, 0x65, 0xe4, 0xb8, 0x57, 0x7f, - 0xa3, 0x77, 0xf8, 0xd4, 0x50, 0x92, 0x92, 0x52, 0x51, 0x4a, 0x96, 0x72, 0x29, 0xb9, 0x9b, 0xb7, - 0x53, 0xf2, 0xea, 0x9f, 0xfa, 0x09, 0x66, 0xcf, 0xd4, 0xfe, 0x90, 0xa0, 0x5e, 0x2c, 0x25, 0xaf, - 0x38, 0x4b, 0x5d, 0x58, 0x8c, 0x0d, 0xa2, 0x9b, 0x30, 0x8f, 0x87, 0x8a, 0xe8, 0x0d, 0xe9, 0x5c, - 0xc2, 0xc7, 0xd8, 0x40, 0x84, 0x56, 0xca, 0x83, 0x26, 0xc7, 0x0e, 0xe6, 0x7f, 0x96, 0x60, 0x7e, - 0xe4, 0x0a, 0xed, 0xe7, 0x95, 0x46, 0x62, 0xd1, 0xdf, 0x88, 0xaf, 0xfc, 0xe2, 0xed, 0xaa, 0x54, - 0x94, 0x4d, 0x72, 0x2e, 0x9b, 0xb4, 0x44, 0xc3, 0xe2, 0xd7, 0x98, 0x78, 0x4b, 0x3a, 0xc7, 0x5a, - 0x20, 0xbf, 0xe1, 0x96, 0xf0, 0x89, 0xfa, 0xe5, 0x19, 0x9b, 0xc4, 0xf5, 0x78, 0x93, 0xc8, 0xd8, - 0x29, 0x85, 0xd6, 0x30, 0x80, 0x05, 0x71, 0x08, 0xdd, 0x86, 0xb9, 0xc3, 0x48, 0x8e, 0x0a, 0x78, - 0x2a, 0xc3, 0x47, 0xc6, 0x67, 0x2f, 0xe6, 0xc6, 0x4f, 0x00, 0x72, 0x9f, 0x58, 0xe8, 0x31, 0x2c, - 0x25, 0x5e, 0xa5, 0xd0, 0xb5, 0x8c, 0x35, 0xd3, 0x2f, 0x61, 0xea, 0x9b, 0x45, 0xcc, 0x88, 0x87, - 0x5c, 0x58, 0x79, 0x14, 0xf6, 0x7a, 0xd1, 0xc7, 0xb6, 0x39, 0x68, 0xe3, 0x23, 0x56, 0xdf, 0xb7, - 0x32, 0xe6, 0x67, 0x19, 0xd2, 0xb5, 0xde, 0x2e, 0x6c, 0xcb, 0xbe, 0x83, 0xd9, 0xe8, 0xc6, 0x8d, - 0x96, 0xa2, 0xa3, 0xd4, 0xf0, 0xf5, 0x4b, 0x5d, 0x8e, 0x2b, 0x88, 0x87, 0x76, 0x01, 0x9a, 0xb8, - 0xa7, 0x13, 0x8b, 0x93, 0x2e, 0x63, 0xa1, 0xf1, 0x30, 0xf5, 0xf0, 0xfa, 0x04, 0x0b, 0xe2, 0xa1, - 0x16, 0x2c, 0x27, 0xef, 0xc2, 0x48, 0x61, 0x0b, 0x67, 0xdc, 0xd4, 0xd5, 0x4b, 0x39, 0x23, 0xc4, - 0x43, 0xeb, 0x30, 0x37, 0x7c, 0x36, 0x42, 0x3c, 0x72, 0xe1, 0xa9, 0x4a, 0x3d, 0x9f, 0xd0, 0x10, - 0x0f, 0xdd, 0x81, 0x05, 0xf1, 0x25, 0x06, 0xad, 0x8c, 0x8e, 0x92, 0xc2, 0xbb, 0x91, 0x7a, 0x31, - 0x43, 0xcb, 0xc3, 0x4e, 0xbe, 0x97, 0x44, 0x61, 0x67, 0xbc, 0xcb, 0x44, 0x61, 0x67, 0x3e, 0xb0, - 0xb4, 0x60, 0xb9, 0x95, 0xed, 0xa8, 0x95, 0xeb, 0xa8, 0x75, 0x8a, 0xa3, 0x8c, 0x44, 0x66, 0xbc, - 0x10, 0x08, 0x8e, 0x52, 0x89, 0x6c, 0x32, 0x96, 0x8b, 0x97, 0x64, 0xf4, 0xda, 0xd0, 0x3a, 0x71, - 0x09, 0x57, 0x95, 0xec, 0x01, 0xe2, 0xa1, 0x43, 0x58, 0x3b, 0xed, 0x20, 0x87, 0xae, 0x16, 0x39, - 0xb8, 0xab, 0xd7, 0x0a, 0x58, 0x11, 0x0f, 0x7d, 0x0b, 0xb5, 0xd6, 0xc8, 0x26, 0xbb, 0x45, 0xa1, - 0x9b, 0x67, 0x69, 0xf0, 0xea, 0xad, 0x33, 0x58, 0x13, 0x0f, 0x1d, 0xc1, 0xda, 0xbd, 0x6e, 0x37, - 0x1f, 0xed, 0xf5, 0x82, 0xf7, 0x66, 0xb5, 0x5e, 0xcc, 0x90, 0x78, 0xe8, 0x39, 0x5c, 0x69, 0xe2, - 0x1e, 0x1e, 0x45, 0xf7, 0x92, 0x21, 0x6f, 0x5e, 0xfe, 0xe2, 0xd2, 0x8e, 0x87, 0x9d, 0xfd, 0x6d, - 0x5d, 0xf8, 0xeb, 0xa8, 0x4f, 0xac, 0x3b, 0x7d, 0x62, 0x3d, 0xa9, 0x30, 0xf1, 0xdd, 0x7f, 0x02, - 0x00, 0x00, 0xff, 0xff, 0xa6, 0x82, 0xfe, 0x0e, 0xa3, 0x1a, 0x00, 0x00, +var fileDescriptor_msg_a1760b784e1ce32d = []byte{ + // 1577 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x59, 0x4f, 0x6f, 0xdb, 0xc6, + 0x12, 0x07, 0x49, 0x4b, 0xb6, 0x47, 0x76, 0xec, 0xac, 0x1d, 0x3f, 0x86, 0x31, 0x10, 0x3d, 0xbe, + 0xe4, 0x45, 0x79, 0x2f, 0x91, 0x51, 0xb7, 0x40, 0x8a, 0xe6, 0xd0, 0xc4, 0x91, 0xab, 0x18, 0x29, + 0xeb, 0x98, 0x72, 0x5b, 0xa0, 0x3d, 0x38, 0x8c, 0xb4, 0x66, 0x08, 0x4b, 0x24, 0xcd, 0xa5, 0x62, + 0xab, 0x45, 0xd3, 0x53, 0x4f, 0x45, 0x0e, 0xed, 0xad, 0xa7, 0xde, 0xfa, 0x1d, 0x7a, 0xec, 0xa5, + 0xd7, 0xde, 0xfb, 0x15, 0xfa, 0x25, 0x8a, 0xdd, 0xa5, 0xa4, 0xe5, 0x3f, 0x8b, 0x56, 0x8a, 0x20, + 0x05, 0x7a, 0xd3, 0xec, 0xce, 0xce, 0xce, 0x6f, 0xe6, 0xc7, 0x9d, 0xdd, 0x11, 0x2c, 0xf6, 0x88, + 0xbd, 0xd1, 0x23, 0x76, 0xdd, 0x0f, 0xbc, 0xd0, 0x43, 0x4a, 0x8f, 0xd8, 0x5a, 0x6d, 0xd7, 0xc7, + 0xee, 0xed, 0x1d, 0xe3, 0x76, 0x0b, 0x07, 0xcf, 0x71, 0xb0, 0xe1, 0x1f, 0xd9, 0x1b, 0x6c, 0x7a, + 0x83, 0x74, 0x8e, 0x0e, 0x4e, 0xc8, 0xc6, 0x09, 0xe1, 0xea, 0x5a, 0x7d, 0xa2, 0x66, 0x60, 0xf9, + 0x3e, 0x0e, 0x22, 0x7d, 0xfd, 0x4b, 0xa8, 0x18, 0xc4, 0x6e, 0x58, 0xa1, 0xb5, 0xef, 0x19, 0x7b, + 0x68, 0x15, 0x4a, 0xa1, 0x77, 0x84, 0x5d, 0x55, 0xaa, 0x4a, 0xb5, 0x79, 0x93, 0x0b, 0xa8, 0x0a, + 0x15, 0xcf, 0xc7, 0x81, 0x15, 0x3a, 0x9e, 0xbb, 0xd3, 0x50, 0x65, 0x36, 0x27, 0x0e, 0xa1, 0x77, + 0x60, 0xb6, 0xc7, 0xcd, 0xa8, 0x4a, 0x55, 0xaa, 0x55, 0x36, 0xb5, 0x3a, 0x61, 0x0e, 0x1c, 0x58, + 0xbe, 0x73, 0xe0, 0x5b, 0x81, 0xd5, 0x23, 0xf5, 0x68, 0x23, 0x73, 0xa8, 0xaa, 0x63, 0x61, 0xf3, + 0xc6, 0x96, 0x68, 0x44, 0x2a, 0x6c, 0x64, 0xb2, 0x73, 0xfa, 0x4b, 0x09, 0x96, 0x1e, 0xf7, 0xc9, + 0x33, 0x11, 0x68, 0x15, 0x2a, 0xbb, 0xc2, 0x2a, 0x0e, 0x57, 0x1c, 0x12, 0xbd, 0x91, 0x8b, 0x7b, + 0xa3, 0xc3, 0x82, 0xdf, 0x27, 0xcf, 0xf6, 0xbd, 0x8f, 0x09, 0x0e, 0x76, 0x1a, 0x2c, 0x1a, 0xf3, + 0x66, 0x6c, 0x4c, 0xff, 0x49, 0x02, 0x34, 0xf6, 0xc5, 0x73, 0x6d, 0x6f, 0x6b, 0x60, 0xec, 0x21, + 0x15, 0x66, 0xbb, 0x16, 0x09, 0x5b, 0xf8, 0x98, 0xb9, 0x33, 0x63, 0x0e, 0x45, 0x74, 0x0d, 0x16, + 0x2d, 0xdb, 0x0e, 0xb0, 0x1d, 0x07, 0x19, 0x1f, 0x44, 0x9b, 0x50, 0xe9, 0x61, 0x42, 0x2c, 0x1b, + 0x7f, 0xe8, 0x90, 0x50, 0x55, 0xaa, 0x4a, 0xad, 0xb2, 0xb9, 0x5c, 0xa7, 0x54, 0x12, 0x90, 0x9b, + 0xa2, 0x12, 0x5a, 0x87, 0xf9, 0x30, 0x70, 0x6c, 0x9b, 0xf9, 0x3a, 0xc3, 0xac, 0x8e, 0x07, 0xf4, + 0x8f, 0x00, 0x35, 0x71, 0x68, 0x58, 0xa7, 0xf7, 0xdd, 0x8e, 0xe1, 0xb8, 0x2d, 0x7c, 0x6c, 0xe2, + 0x63, 0xb4, 0x06, 0xe5, 0x08, 0x1c, 0x8f, 0x5a, 0x24, 0x25, 0x43, 0x2a, 0xa7, 0x42, 0xaa, 0x9f, + 0xc0, 0x4a, 0xca, 0x1e, 0xf1, 0x29, 0xf0, 0xed, 0x20, 0x78, 0xe0, 0x75, 0x30, 0xb3, 0x58, 0x32, + 0x87, 0x22, 0xdd, 0x6a, 0x3b, 0x08, 0x0c, 0x62, 0x47, 0xd6, 0x22, 0x89, 0x8e, 0x1b, 0xd6, 0x29, + 0x8d, 0x14, 0x8d, 0xef, 0xa2, 0x19, 0x49, 0x6c, 0x9c, 0xd9, 0x65, 0x58, 0xe8, 0x38, 0x93, 0xf4, + 0x2f, 0x00, 0x5a, 0xd8, 0xed, 0x18, 0xc4, 0xa6, 0x00, 0x5e, 0x2f, 0xc9, 0x7f, 0x94, 0xa0, 0x32, + 0xda, 0x9c, 0xa3, 0xc5, 0x71, 0xb4, 0x78, 0x8c, 0x16, 0xc7, 0xd0, 0x72, 0x89, 0x7a, 0xc6, 0xf7, + 0x31, 0x88, 0x3d, 0x4a, 0x93, 0x38, 0x44, 0x35, 0xda, 0x5d, 0x07, 0xbb, 0x21, 0xd7, 0x28, 0x71, + 0x0d, 0x61, 0x08, 0x69, 0x30, 0x47, 0xb0, 0xdb, 0xd9, 0x77, 0x7a, 0x58, 0x2d, 0x57, 0xa5, 0x9a, + 0x62, 0x8e, 0x64, 0xbd, 0x0d, 0x95, 0x07, 0x5d, 0x6c, 0x05, 0x51, 0x78, 0xd6, 0xa0, 0xdc, 0x8f, + 0xe5, 0x97, 0x4b, 0xd4, 0x84, 0xe7, 0x47, 0x99, 0xe7, 0x0e, 0x8e, 0xe4, 0x64, 0xf0, 0x94, 0xf4, + 0x47, 0x78, 0x0f, 0x16, 0xc6, 0x9b, 0x4c, 0x13, 0x06, 0xfd, 0x07, 0x09, 0x96, 0x5a, 0x98, 0xe2, + 0x89, 0x71, 0x31, 0xd3, 0x57, 0x15, 0x66, 0xed, 0xc0, 0xeb, 0xfb, 0x23, 0x57, 0x87, 0x22, 0x5d, + 0xd1, 0xe3, 0x14, 0x89, 0xa8, 0xc3, 0xa5, 0x24, 0x82, 0x99, 0x74, 0xfa, 0x45, 0xfc, 0xa5, 0x38, + 0x7e, 0xbd, 0x01, 0xcb, 0x71, 0xd7, 0xa6, 0x42, 0xb8, 0x0b, 0x2b, 0x2d, 0x1c, 0x46, 0x64, 0x69, + 0x85, 0x56, 0xd8, 0x27, 0x66, 0xda, 0x35, 0x29, 0xed, 0xda, 0x1a, 0x94, 0x09, 0x53, 0x67, 0x06, + 0x4b, 0x66, 0x24, 0xe9, 0x0f, 0x61, 0x35, 0x6d, 0x70, 0x2a, 0xd7, 0xee, 0xb0, 0x4f, 0xf7, 0xfc, + 0xae, 0xe9, 0x4f, 0x60, 0xb5, 0xf9, 0x97, 0xb8, 0x20, 0x80, 0x54, 0x62, 0x20, 0xbf, 0x91, 0x60, + 0xa5, 0x81, 0xbb, 0xad, 0xbe, 0x8f, 0x83, 0x26, 0xcd, 0x72, 0xc4, 0x63, 0x31, 0x5f, 0x52, 0x82, + 0xaf, 0x63, 0xde, 0xc8, 0x79, 0xbc, 0x51, 0xe2, 0xbc, 0x99, 0xc8, 0x0f, 0x1a, 0xec, 0xb4, 0x1b, + 0x53, 0x05, 0xbb, 0xcd, 0x83, 0x9d, 0x04, 0x34, 0x99, 0x07, 0xcb, 0xa0, 0x50, 0x66, 0xcb, 0x8c, + 0xd9, 0xf4, 0x67, 0x3e, 0x20, 0xfd, 0x05, 0x4f, 0xcc, 0xab, 0xbb, 0x3b, 0xe5, 0xb9, 0xf8, 0x90, + 0x15, 0x97, 0x4f, 0x03, 0x27, 0xc4, 0x0d, 0xe7, 0xf0, 0x70, 0x7a, 0x8c, 0xfa, 0x57, 0x2c, 0x5c, + 0x71, 0x4b, 0xaf, 0x11, 0xc8, 0x77, 0x25, 0xd0, 0x0d, 0xaf, 0xe3, 0x1c, 0x0e, 0x0c, 0x5e, 0x59, + 0x4d, 0x6c, 0xb5, 0xa9, 0xb3, 0xdb, 0xa7, 0x21, 0x76, 0x89, 0xe3, 0xb9, 0x05, 0xbf, 0x62, 0x7a, + 0x46, 0x7b, 0xfd, 0xa0, 0x8d, 0xc7, 0x07, 0xec, 0x50, 0x8e, 0x91, 0x59, 0x49, 0x1f, 0xbe, 0x04, + 0x13, 0xba, 0xd1, 0xfe, 0xc0, 0xc7, 0x8c, 0x9a, 0x25, 0x53, 0x1c, 0x42, 0xa7, 0x70, 0x29, 0x48, + 0x3a, 0xc5, 0x2e, 0x09, 0x25, 0x76, 0x49, 0xd8, 0xe2, 0x97, 0x84, 0x89, 0x18, 0xea, 0x66, 0x96, + 0x91, 0x6d, 0x37, 0x0c, 0x06, 0x66, 0xf6, 0x06, 0xc9, 0xca, 0x54, 0x4e, 0x57, 0xa6, 0x5b, 0x20, + 0xe3, 0x53, 0x75, 0x96, 0xc5, 0x7b, 0xbd, 0x6e, 0x7b, 0x9e, 0xdd, 0xc5, 0xfc, 0x72, 0xfa, 0xb4, + 0x7f, 0x58, 0x6f, 0x85, 0x81, 0xe3, 0xda, 0x9f, 0x58, 0xdd, 0x3e, 0x36, 0x65, 0x7c, 0x8a, 0xee, + 0xc1, 0x82, 0x15, 0x86, 0x56, 0xfb, 0x19, 0xee, 0xec, 0xb8, 0x87, 0x9e, 0x3a, 0x57, 0x60, 0x5d, + 0x6c, 0x05, 0xa5, 0x85, 0x43, 0x18, 0x10, 0x75, 0xbe, 0x2a, 0xd5, 0xe6, 0xcc, 0xa1, 0x88, 0x36, + 0x61, 0xd5, 0x21, 0xd4, 0xfd, 0xc0, 0xb5, 0xba, 0x63, 0xe0, 0x2a, 0x30, 0xb5, 0xcc, 0x39, 0x54, + 0x07, 0xd4, 0x23, 0xf6, 0x07, 0x4e, 0x40, 0x42, 0x1e, 0x3f, 0x56, 0x61, 0x2b, 0xac, 0xc2, 0x66, + 0xcc, 0x68, 0x18, 0xb4, 0xfc, 0x20, 0x52, 0x6e, 0x1f, 0xe1, 0x41, 0xc4, 0x0d, 0xfa, 0x13, 0xbd, + 0x05, 0xa5, 0xe7, 0x14, 0x44, 0x74, 0x07, 0xbd, 0x92, 0x41, 0xc8, 0x47, 0x78, 0xc0, 0x71, 0x72, + 0xcd, 0xf7, 0xe4, 0x77, 0x25, 0xfd, 0xdb, 0x12, 0x5c, 0xa5, 0x05, 0xe9, 0x4d, 0x25, 0x64, 0xff, + 0x6c, 0x42, 0xbe, 0xcf, 0x08, 0x39, 0x01, 0xc0, 0x3f, 0x6c, 0xfc, 0xbb, 0xb0, 0xf1, 0x0f, 0x09, + 0xaa, 0x67, 0x27, 0x73, 0xda, 0x7b, 0xb1, 0x98, 0x4d, 0x25, 0x9d, 0xcd, 0xec, 0x78, 0xcc, 0xe4, + 0xc5, 0x43, 0xcc, 0x46, 0x29, 0x9e, 0x8d, 0x9b, 0x50, 0x0e, 0x30, 0xe9, 0x77, 0x43, 0xb5, 0xcc, + 0x18, 0x7a, 0x91, 0x31, 0x74, 0x04, 0x16, 0x13, 0xdf, 0x8c, 0x14, 0xf4, 0x5f, 0x24, 0xf8, 0xcf, + 0xc4, 0xb3, 0x74, 0xca, 0xfa, 0x54, 0x21, 0xfd, 0x76, 0x1b, 0x13, 0x22, 0xbc, 0xf0, 0x10, 0xf3, + 0x84, 0xd9, 0x1e, 0xbe, 0x31, 0x4c, 0x51, 0x0d, 0x6d, 0x02, 0x1c, 0x5a, 0x4e, 0x17, 0x77, 0xd8, + 0xa2, 0x99, 0xdc, 0x45, 0x82, 0x96, 0xfe, 0xbb, 0x02, 0x37, 0xf8, 0xcb, 0x0d, 0x1b, 0xe3, 0xe7, + 0xe2, 0x2b, 0x9c, 0x23, 0xb9, 0x2f, 0x07, 0xf1, 0x8c, 0x51, 0x12, 0x67, 0xcc, 0xe4, 0x73, 0xe4, + 0x04, 0xd6, 0x7a, 0xf1, 0x20, 0x3f, 0xc2, 0x83, 0xd4, 0x41, 0x52, 0x10, 0x49, 0xdd, 0x48, 0x99, + 0x32, 0x73, 0xcc, 0x6b, 0x3f, 0xd3, 0x37, 0x7c, 0x6a, 0x2a, 0x49, 0x49, 0xa9, 0x28, 0x25, 0xe5, + 0x5c, 0x4a, 0xee, 0xe5, 0x9d, 0x94, 0x3c, 0xfb, 0x67, 0x7e, 0x82, 0xd9, 0x2b, 0xf5, 0x5f, 0x25, + 0xa8, 0x15, 0x0b, 0xc9, 0x1b, 0xce, 0x52, 0x0f, 0x16, 0x63, 0x93, 0xe8, 0x16, 0xcc, 0xe3, 0xe1, + 0x40, 0xd4, 0x43, 0xba, 0x90, 0xb0, 0x31, 0x56, 0x10, 0xa1, 0xc9, 0x79, 0xd0, 0x94, 0xd8, 0xc5, + 0xfc, 0x37, 0x19, 0xe6, 0x47, 0xa6, 0xd0, 0x41, 0x5e, 0x6a, 0x24, 0xe6, 0xfd, 0xcd, 0xf8, 0xce, + 0xaf, 0x5e, 0xae, 0xe4, 0xa2, 0x6c, 0x52, 0x72, 0xd9, 0xa4, 0x27, 0x0a, 0x16, 0x7f, 0xc6, 0xc4, + 0x4b, 0xd2, 0x05, 0x56, 0x02, 0xf9, 0x0b, 0x57, 0xc6, 0xa7, 0xda, 0xe7, 0xe7, 0x2c, 0x12, 0x37, + 0xe2, 0x45, 0x22, 0xe3, 0xa4, 0x14, 0x4a, 0xc3, 0x00, 0x16, 0xc4, 0x29, 0x74, 0x07, 0xe6, 0x8e, + 0x22, 0x39, 0x4a, 0xe0, 0x99, 0x0c, 0x1f, 0x29, 0x4f, 0x91, 0xcc, 0x97, 0x12, 0xac, 0x08, 0x6d, + 0x38, 0x1a, 0x23, 0xd6, 0x87, 0x4b, 0x75, 0xdb, 0xa4, 0x02, 0xdd, 0x36, 0xf9, 0xdc, 0xdd, 0x36, + 0x25, 0xd1, 0x6d, 0xdb, 0xfc, 0x1e, 0x40, 0xe9, 0x11, 0x1b, 0x3d, 0x81, 0xa5, 0x44, 0x97, 0x0c, + 0x5d, 0xcf, 0x88, 0x41, 0xba, 0x33, 0xa7, 0xfd, 0xb7, 0x88, 0x1a, 0xf1, 0x91, 0x07, 0xab, 0x8f, + 0xfb, 0xdd, 0x6e, 0xf4, 0xf1, 0x6f, 0x0d, 0x5a, 0xf8, 0x98, 0xf9, 0xf7, 0xbf, 0x8c, 0xf5, 0x59, + 0x8a, 0x74, 0xaf, 0xff, 0x17, 0xd6, 0x65, 0xdf, 0xe5, 0x6c, 0xd4, 0x01, 0x40, 0x4b, 0xd1, 0xd5, + 0x6e, 0xd8, 0x8d, 0xd3, 0x96, 0xe3, 0x03, 0xc4, 0x47, 0x7b, 0x00, 0x0d, 0xdc, 0x35, 0x88, 0xcd, + 0x3f, 0x82, 0x8c, 0x8d, 0xc6, 0xd3, 0xd4, 0xc2, 0xbf, 0x27, 0x68, 0x10, 0x1f, 0x35, 0x61, 0x39, + 0xf9, 0x36, 0x47, 0x2a, 0xdb, 0x38, 0xa3, 0x73, 0xa0, 0x5d, 0xce, 0x99, 0x21, 0x3e, 0xda, 0x80, + 0xb9, 0x61, 0x1b, 0x0b, 0x71, 0xcf, 0x85, 0xd6, 0x99, 0x76, 0x31, 0x31, 0x42, 0x7c, 0x74, 0x17, + 0x16, 0xc4, 0xce, 0x10, 0x5a, 0x1d, 0x5d, 0x6d, 0x85, 0x3e, 0x96, 0x76, 0x29, 0x63, 0x94, 0xbb, + 0x9d, 0xec, 0xdf, 0x44, 0x6e, 0x67, 0xf4, 0x89, 0x22, 0xb7, 0x33, 0x1b, 0x3e, 0x4d, 0x58, 0x6e, + 0x66, 0x1b, 0x6a, 0xe6, 0x1a, 0x6a, 0x9e, 0x61, 0x28, 0x23, 0x90, 0x19, 0x1d, 0x0b, 0xc1, 0x50, + 0x2a, 0x90, 0x0d, 0xc6, 0x72, 0xf1, 0xd1, 0x8e, 0xfe, 0x35, 0xd4, 0x4e, 0x34, 0x05, 0x34, 0x35, + 0x7b, 0x82, 0xf8, 0xe8, 0x08, 0xd6, 0xcf, 0xba, 0x58, 0xa2, 0x6b, 0x45, 0x1e, 0x12, 0xda, 0xf5, + 0x02, 0x5a, 0xc4, 0x47, 0x5f, 0x43, 0xb5, 0x39, 0xd2, 0xc9, 0x2e, 0x99, 0xe8, 0xd6, 0x79, 0x2e, + 0x1c, 0xda, 0xed, 0x73, 0x68, 0x13, 0x1f, 0x1d, 0xc3, 0xfa, 0xfd, 0x4e, 0x27, 0x1f, 0xed, 0x8d, + 0x82, 0xef, 0x78, 0xad, 0x56, 0x4c, 0x91, 0xf8, 0xe8, 0x05, 0x5c, 0x6d, 0xe0, 0x2e, 0x1e, 0x79, + 0xf7, 0x9a, 0x21, 0x6f, 0x5d, 0xf9, 0xec, 0xf2, 0xae, 0x8f, 0xdd, 0x83, 0x1d, 0x43, 0xf8, 0x2b, + 0xab, 0x47, 0xec, 0xbb, 0x3d, 0x62, 0x3f, 0x2d, 0x33, 0xf1, 0xed, 0x3f, 0x03, 0x00, 0x00, 0xff, + 0xff, 0x57, 0xed, 0x19, 0x89, 0x33, 0x1b, 0x00, 0x00, } diff --git a/pkg/proto/msg/msg.proto b/pkg/proto/msg/msg.proto index c02824c86..e9f75b039 100644 --- a/pkg/proto/msg/msg.proto +++ b/pkg/proto/msg/msg.proto @@ -236,6 +236,13 @@ message KeyValueResp { string errMsg = 3; } +message MsgDataToModifyByMQ{ + string aggregationID = 1; + repeated MsgDataToMQ messageList = 2; + string triggerID = 3; +} + + service msg { rpc GetMaxAndMinSeq(server_api_params.GetMaxAndMinSeqReq) returns(server_api_params.GetMaxAndMinSeqResp); rpc PullMessageBySeqList(server_api_params.PullMessageBySeqListReq) returns(server_api_params.PullMessageBySeqListResp); From a662414b7f384964590e80b1de001f24bb11c7cd Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 12 Dec 2022 19:53:04 +0800 Subject: [PATCH 096/176] Merge branch 'modify' of github.com:OpenIMSDK/Open-IM-Server into modify # Conflicts: # pkg/proto/msg/msg.pb.go --- internal/api/msg/extend_msg.go | 3 +- pkg/base_info/msg.go | 14 +- pkg/proto/msg/msg.pb.go | 381 ++++++++++++++------------------- pkg/proto/msg/msg.proto | 12 +- 4 files changed, 182 insertions(+), 228 deletions(-) diff --git a/internal/api/msg/extend_msg.go b/internal/api/msg/extend_msg.go index 62282fca1..b6920825d 100644 --- a/internal/api/msg/extend_msg.go +++ b/internal/api/msg/extend_msg.go @@ -197,8 +197,7 @@ func DeleteMessageReactionExtensions(c *gin.Context) { } resp.ErrCode = respPb.ErrCode resp.ErrMsg = respPb.ErrMsg - resp.Data.FailedList = respPb.FailedList - resp.Data.SuccessList = respPb.SuccessList + resp.Data = respPb.Result log.NewInfo(req.OperationID, utils.GetSelfFuncName(), resp) c.JSON(http.StatusOK, resp) } diff --git a/pkg/base_info/msg.go b/pkg/base_info/msg.go index f59eaee87..61a94ef72 100644 --- a/pkg/base_info/msg.go +++ b/pkg/base_info/msg.go @@ -105,9 +105,19 @@ type AddMessageReactionExtensionsReq ModifyMessageReactionExtensionsReq type AddMessageReactionExtensionsResp ModifyMessageReactionExtensionsResp -type DeleteMessageReactionExtensionsReq OperateMessageListReactionExtensionsReq +type DeleteMessageReactionExtensionsReq struct { + OperationID string `json:"operationID" binding:"required"` + SourceID string `json:"sourceID" binding:"required"` + SessionType int32 `json:"sessionType" binding:"required"` + ClientMsgID string `json:"clientMsgID" binding:"required"` + MsgFirstModifyTime int64 `json:"msgFirstModifyTime" binding:"required"` + ReactionExtensionList []*sdk_ws.KeyValue `json:"reactionExtensionList" binding:"required"` +} -type DeleteMessageReactionExtensionsResp OperateMessageListReactionExtensionsResp +type DeleteMessageReactionExtensionsResp struct { + CommResp + Data []*msg.KeyValueResp +} type ReactionMessageModifierNotification struct { SourceID string `json:"sourceID" binding:"required"` diff --git a/pkg/proto/msg/msg.pb.go b/pkg/proto/msg/msg.pb.go index 3ddb10943..fa4b87ab9 100644 --- a/pkg/proto/msg/msg.pb.go +++ b/pkg/proto/msg/msg.pb.go @@ -38,7 +38,7 @@ func (m *MsgDataToMQ) Reset() { *m = MsgDataToMQ{} } func (m *MsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMQ) ProtoMessage() {} func (*MsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{0} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{0} } func (m *MsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMQ.Unmarshal(m, b) @@ -91,7 +91,7 @@ func (m *MsgDataToDB) Reset() { *m = MsgDataToDB{} } func (m *MsgDataToDB) String() string { return proto.CompactTextString(m) } func (*MsgDataToDB) ProtoMessage() {} func (*MsgDataToDB) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{1} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{1} } func (m *MsgDataToDB) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToDB.Unmarshal(m, b) @@ -138,7 +138,7 @@ func (m *PushMsgDataToMQ) Reset() { *m = PushMsgDataToMQ{} } func (m *PushMsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*PushMsgDataToMQ) ProtoMessage() {} func (*PushMsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{2} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{2} } func (m *PushMsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PushMsgDataToMQ.Unmarshal(m, b) @@ -193,7 +193,7 @@ func (m *MsgDataToMongoByMQ) Reset() { *m = MsgDataToMongoByMQ{} } func (m *MsgDataToMongoByMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMongoByMQ) ProtoMessage() {} func (*MsgDataToMongoByMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{3} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{3} } func (m *MsgDataToMongoByMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMongoByMQ.Unmarshal(m, b) @@ -273,7 +273,7 @@ func (m *GetMaxAndMinSeqReq) Reset() { *m = GetMaxAndMinSeqReq{} } func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqReq) ProtoMessage() {} func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{4} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{4} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -321,7 +321,7 @@ func (m *GetMaxAndMinSeqResp) Reset() { *m = GetMaxAndMinSeqResp{} } func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqResp) ProtoMessage() {} func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{5} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{5} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -382,7 +382,7 @@ func (m *SendMsgReq) Reset() { *m = SendMsgReq{} } func (m *SendMsgReq) String() string { return proto.CompactTextString(m) } func (*SendMsgReq) ProtoMessage() {} func (*SendMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{6} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{6} } func (m *SendMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgReq.Unmarshal(m, b) @@ -438,7 +438,7 @@ func (m *SendMsgResp) Reset() { *m = SendMsgResp{} } func (m *SendMsgResp) String() string { return proto.CompactTextString(m) } func (*SendMsgResp) ProtoMessage() {} func (*SendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{7} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{7} } func (m *SendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgResp.Unmarshal(m, b) @@ -506,7 +506,7 @@ func (m *ClearMsgReq) Reset() { *m = ClearMsgReq{} } func (m *ClearMsgReq) String() string { return proto.CompactTextString(m) } func (*ClearMsgReq) ProtoMessage() {} func (*ClearMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{8} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{8} } func (m *ClearMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgReq.Unmarshal(m, b) @@ -559,7 +559,7 @@ func (m *ClearMsgResp) Reset() { *m = ClearMsgResp{} } func (m *ClearMsgResp) String() string { return proto.CompactTextString(m) } func (*ClearMsgResp) ProtoMessage() {} func (*ClearMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{9} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{9} } func (m *ClearMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgResp.Unmarshal(m, b) @@ -608,7 +608,7 @@ func (m *SetMsgMinSeqReq) Reset() { *m = SetMsgMinSeqReq{} } func (m *SetMsgMinSeqReq) String() string { return proto.CompactTextString(m) } func (*SetMsgMinSeqReq) ProtoMessage() {} func (*SetMsgMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{10} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{10} } func (m *SetMsgMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqReq.Unmarshal(m, b) @@ -675,7 +675,7 @@ func (m *SetMsgMinSeqResp) Reset() { *m = SetMsgMinSeqResp{} } func (m *SetMsgMinSeqResp) String() string { return proto.CompactTextString(m) } func (*SetMsgMinSeqResp) ProtoMessage() {} func (*SetMsgMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{11} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{11} } func (m *SetMsgMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqResp.Unmarshal(m, b) @@ -721,7 +721,7 @@ func (m *SetSendMsgStatusReq) Reset() { *m = SetSendMsgStatusReq{} } func (m *SetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (*SetSendMsgStatusReq) ProtoMessage() {} func (*SetSendMsgStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{12} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{12} } func (m *SetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgStatusReq.Unmarshal(m, b) @@ -767,7 +767,7 @@ func (m *SetSendMsgStatusResp) Reset() { *m = SetSendMsgStatusResp{} } func (m *SetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (*SetSendMsgStatusResp) ProtoMessage() {} func (*SetSendMsgStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{13} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{13} } func (m *SetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgStatusResp.Unmarshal(m, b) @@ -812,7 +812,7 @@ func (m *GetSendMsgStatusReq) Reset() { *m = GetSendMsgStatusReq{} } func (m *GetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (*GetSendMsgStatusReq) ProtoMessage() {} func (*GetSendMsgStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{14} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{14} } func (m *GetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusReq.Unmarshal(m, b) @@ -852,7 +852,7 @@ func (m *GetSendMsgStatusResp) Reset() { *m = GetSendMsgStatusResp{} } func (m *GetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (*GetSendMsgStatusResp) ProtoMessage() {} func (*GetSendMsgStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{15} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{15} } func (m *GetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusResp.Unmarshal(m, b) @@ -907,7 +907,7 @@ func (m *DelSuperGroupMsgReq) Reset() { *m = DelSuperGroupMsgReq{} } func (m *DelSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (*DelSuperGroupMsgReq) ProtoMessage() {} func (*DelSuperGroupMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{16} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{16} } func (m *DelSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelSuperGroupMsgReq.Unmarshal(m, b) @@ -967,7 +967,7 @@ func (m *DelSuperGroupMsgResp) Reset() { *m = DelSuperGroupMsgResp{} } func (m *DelSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (*DelSuperGroupMsgResp) ProtoMessage() {} func (*DelSuperGroupMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{17} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{17} } func (m *DelSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelSuperGroupMsgResp.Unmarshal(m, b) @@ -1014,7 +1014,7 @@ func (m *GetSuperGroupMsgReq) Reset() { *m = GetSuperGroupMsgReq{} } func (m *GetSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupMsgReq) ProtoMessage() {} func (*GetSuperGroupMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{18} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{18} } func (m *GetSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupMsgReq.Unmarshal(m, b) @@ -1068,7 +1068,7 @@ func (m *GetSuperGroupMsgResp) Reset() { *m = GetSuperGroupMsgResp{} } func (m *GetSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupMsgResp) ProtoMessage() {} func (*GetSuperGroupMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{19} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{19} } func (m *GetSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupMsgResp.Unmarshal(m, b) @@ -1121,7 +1121,7 @@ func (m *GetWriteDiffMsgReq) Reset() { *m = GetWriteDiffMsgReq{} } func (m *GetWriteDiffMsgReq) String() string { return proto.CompactTextString(m) } func (*GetWriteDiffMsgReq) ProtoMessage() {} func (*GetWriteDiffMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{20} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{20} } func (m *GetWriteDiffMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetWriteDiffMsgReq.Unmarshal(m, b) @@ -1168,7 +1168,7 @@ func (m *GetWriteDiffMsgResp) Reset() { *m = GetWriteDiffMsgResp{} } func (m *GetWriteDiffMsgResp) String() string { return proto.CompactTextString(m) } func (*GetWriteDiffMsgResp) ProtoMessage() {} func (*GetWriteDiffMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{21} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{21} } func (m *GetWriteDiffMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetWriteDiffMsgResp.Unmarshal(m, b) @@ -1230,7 +1230,7 @@ func (m *ModifyMessageReactionExtensionsReq) Reset() { *m = ModifyMessag func (m *ModifyMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*ModifyMessageReactionExtensionsReq) ProtoMessage() {} func (*ModifyMessageReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{22} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{22} } func (m *ModifyMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyMessageReactionExtensionsReq.Unmarshal(m, b) @@ -1348,7 +1348,7 @@ func (m *SetMessageReactionExtensionsReq) Reset() { *m = SetMessageReact func (m *SetMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*SetMessageReactionExtensionsReq) ProtoMessage() {} func (*SetMessageReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{23} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{23} } func (m *SetMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMessageReactionExtensionsReq.Unmarshal(m, b) @@ -1461,7 +1461,7 @@ func (m *SetMessageReactionExtensionsResp) Reset() { *m = SetMessageReac func (m *SetMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*SetMessageReactionExtensionsResp) ProtoMessage() {} func (*SetMessageReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{24} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{24} } func (m *SetMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMessageReactionExtensionsResp.Unmarshal(m, b) @@ -1538,7 +1538,7 @@ func (m *GetMessageListReactionExtensionsReq) Reset() { *m = GetMessageL func (m *GetMessageListReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*GetMessageListReactionExtensionsReq) ProtoMessage() {} func (*GetMessageListReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{25} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{25} } func (m *GetMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMessageListReactionExtensionsReq.Unmarshal(m, b) @@ -1609,7 +1609,7 @@ func (m *GetMessageListReactionExtensionsReq_MessageReactionKey) String() string } func (*GetMessageListReactionExtensionsReq_MessageReactionKey) ProtoMessage() {} func (*GetMessageListReactionExtensionsReq_MessageReactionKey) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{25, 0} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{25, 0} } func (m *GetMessageListReactionExtensionsReq_MessageReactionKey) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMessageListReactionExtensionsReq_MessageReactionKey.Unmarshal(m, b) @@ -1656,7 +1656,7 @@ func (m *GetMessageListReactionExtensionsResp) Reset() { *m = GetMessage func (m *GetMessageListReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*GetMessageListReactionExtensionsResp) ProtoMessage() {} func (*GetMessageListReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{26} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{26} } func (m *GetMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMessageListReactionExtensionsResp.Unmarshal(m, b) @@ -1711,7 +1711,7 @@ func (m *SingleMessageExtensionResult) Reset() { *m = SingleMessageExten func (m *SingleMessageExtensionResult) String() string { return proto.CompactTextString(m) } func (*SingleMessageExtensionResult) ProtoMessage() {} func (*SingleMessageExtensionResult) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{27} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{27} } func (m *SingleMessageExtensionResult) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SingleMessageExtensionResult.Unmarshal(m, b) @@ -1773,7 +1773,7 @@ func (m *ModifyMessageReactionExtensionsResp) Reset() { *m = ModifyMessa func (m *ModifyMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*ModifyMessageReactionExtensionsResp) ProtoMessage() {} func (*ModifyMessageReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{28} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{28} } func (m *ModifyMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyMessageReactionExtensionsResp.Unmarshal(m, b) @@ -1822,14 +1822,16 @@ func (m *ModifyMessageReactionExtensionsResp) GetFailedList() []*ExtendMsgResp { } type DeleteMessageListReactionExtensionsReq struct { - OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` - OpUserID string `protobuf:"bytes,2,opt,name=opUserID" json:"opUserID,omitempty"` - SourceID string `protobuf:"bytes,3,opt,name=sourceID" json:"sourceID,omitempty"` - SessionType int32 `protobuf:"varint,4,opt,name=sessionType" json:"sessionType,omitempty"` - MessageReactionKeyList []*DeleteMessageListReactionExtensionsReq_MessageReactionKey `protobuf:"bytes,5,rep,name=messageReactionKeyList" json:"messageReactionKeyList,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + OpUserID string `protobuf:"bytes,2,opt,name=opUserID" json:"opUserID,omitempty"` + SourceID string `protobuf:"bytes,3,opt,name=sourceID" json:"sourceID,omitempty"` + SessionType int32 `protobuf:"varint,4,opt,name=sessionType" json:"sessionType,omitempty"` + ClientMsgID string `protobuf:"bytes,5,opt,name=clientMsgID" json:"clientMsgID,omitempty"` + MsgFirstModifyTime int64 `protobuf:"varint,6,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"` + ReactionExtensionList []*sdk_ws.KeyValue `protobuf:"bytes,7,rep,name=reactionExtensionList" json:"reactionExtensionList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *DeleteMessageListReactionExtensionsReq) Reset() { @@ -1838,7 +1840,7 @@ func (m *DeleteMessageListReactionExtensionsReq) Reset() { func (m *DeleteMessageListReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*DeleteMessageListReactionExtensionsReq) ProtoMessage() {} func (*DeleteMessageListReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{29} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{29} } func (m *DeleteMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteMessageListReactionExtensionsReq.Unmarshal(m, b) @@ -1886,65 +1888,21 @@ func (m *DeleteMessageListReactionExtensionsReq) GetSessionType() int32 { return 0 } -func (m *DeleteMessageListReactionExtensionsReq) GetMessageReactionKeyList() []*DeleteMessageListReactionExtensionsReq_MessageReactionKey { - if m != nil { - return m.MessageReactionKeyList - } - return nil -} - -type DeleteMessageListReactionExtensionsReq_MessageReactionKey struct { - ClientMsgID string `protobuf:"bytes,1,opt,name=clientMsgID" json:"clientMsgID,omitempty"` - MsgFirstModifyTime int64 `protobuf:"varint,2,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"` - ReactionExtensionList []*sdk_ws.KeyValue `protobuf:"bytes,3,rep,name=reactionExtensionList" json:"reactionExtensionList,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *DeleteMessageListReactionExtensionsReq_MessageReactionKey) Reset() { - *m = DeleteMessageListReactionExtensionsReq_MessageReactionKey{} -} -func (m *DeleteMessageListReactionExtensionsReq_MessageReactionKey) String() string { - return proto.CompactTextString(m) -} -func (*DeleteMessageListReactionExtensionsReq_MessageReactionKey) ProtoMessage() {} -func (*DeleteMessageListReactionExtensionsReq_MessageReactionKey) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{29, 0} -} -func (m *DeleteMessageListReactionExtensionsReq_MessageReactionKey) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_DeleteMessageListReactionExtensionsReq_MessageReactionKey.Unmarshal(m, b) -} -func (m *DeleteMessageListReactionExtensionsReq_MessageReactionKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_DeleteMessageListReactionExtensionsReq_MessageReactionKey.Marshal(b, m, deterministic) -} -func (dst *DeleteMessageListReactionExtensionsReq_MessageReactionKey) XXX_Merge(src proto.Message) { - xxx_messageInfo_DeleteMessageListReactionExtensionsReq_MessageReactionKey.Merge(dst, src) -} -func (m *DeleteMessageListReactionExtensionsReq_MessageReactionKey) XXX_Size() int { - return xxx_messageInfo_DeleteMessageListReactionExtensionsReq_MessageReactionKey.Size(m) -} -func (m *DeleteMessageListReactionExtensionsReq_MessageReactionKey) XXX_DiscardUnknown() { - xxx_messageInfo_DeleteMessageListReactionExtensionsReq_MessageReactionKey.DiscardUnknown(m) -} - -var xxx_messageInfo_DeleteMessageListReactionExtensionsReq_MessageReactionKey proto.InternalMessageInfo - -func (m *DeleteMessageListReactionExtensionsReq_MessageReactionKey) GetClientMsgID() string { +func (m *DeleteMessageListReactionExtensionsReq) GetClientMsgID() string { if m != nil { return m.ClientMsgID } return "" } -func (m *DeleteMessageListReactionExtensionsReq_MessageReactionKey) GetMsgFirstModifyTime() int64 { +func (m *DeleteMessageListReactionExtensionsReq) GetMsgFirstModifyTime() int64 { if m != nil { return m.MsgFirstModifyTime } return 0 } -func (m *DeleteMessageListReactionExtensionsReq_MessageReactionKey) GetReactionExtensionList() []*sdk_ws.KeyValue { +func (m *DeleteMessageListReactionExtensionsReq) GetReactionExtensionList() []*sdk_ws.KeyValue { if m != nil { return m.ReactionExtensionList } @@ -1952,13 +1910,12 @@ func (m *DeleteMessageListReactionExtensionsReq_MessageReactionKey) GetReactionE } type DeleteMessageListReactionExtensionsResp struct { - ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` - ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` - SuccessList []*ExtendMsgResp `protobuf:"bytes,3,rep,name=successList" json:"successList,omitempty"` - FailedList []*ExtendMsgResp `protobuf:"bytes,4,rep,name=failedList" json:"failedList,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` + Result []*KeyValueResp `protobuf:"bytes,6,rep,name=result" json:"result,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *DeleteMessageListReactionExtensionsResp) Reset() { @@ -1967,7 +1924,7 @@ func (m *DeleteMessageListReactionExtensionsResp) Reset() { func (m *DeleteMessageListReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*DeleteMessageListReactionExtensionsResp) ProtoMessage() {} func (*DeleteMessageListReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{30} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{30} } func (m *DeleteMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteMessageListReactionExtensionsResp.Unmarshal(m, b) @@ -2001,16 +1958,9 @@ func (m *DeleteMessageListReactionExtensionsResp) GetErrMsg() string { return "" } -func (m *DeleteMessageListReactionExtensionsResp) GetSuccessList() []*ExtendMsgResp { +func (m *DeleteMessageListReactionExtensionsResp) GetResult() []*KeyValueResp { if m != nil { - return m.SuccessList - } - return nil -} - -func (m *DeleteMessageListReactionExtensionsResp) GetFailedList() []*ExtendMsgResp { - if m != nil { - return m.FailedList + return m.Result } return nil } @@ -2028,7 +1978,7 @@ func (m *ExtendMsgResp) Reset() { *m = ExtendMsgResp{} } func (m *ExtendMsgResp) String() string { return proto.CompactTextString(m) } func (*ExtendMsgResp) ProtoMessage() {} func (*ExtendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{31} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{31} } func (m *ExtendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExtendMsgResp.Unmarshal(m, b) @@ -2084,7 +2034,7 @@ func (m *ExtendMsg) Reset() { *m = ExtendMsg{} } func (m *ExtendMsg) String() string { return proto.CompactTextString(m) } func (*ExtendMsg) ProtoMessage() {} func (*ExtendMsg) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{32} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{32} } func (m *ExtendMsg) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExtendMsg.Unmarshal(m, b) @@ -2152,7 +2102,7 @@ func (m *KeyValueResp) Reset() { *m = KeyValueResp{} } func (m *KeyValueResp) String() string { return proto.CompactTextString(m) } func (*KeyValueResp) ProtoMessage() {} func (*KeyValueResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{33} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{33} } func (m *KeyValueResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_KeyValueResp.Unmarshal(m, b) @@ -2206,7 +2156,7 @@ func (m *MsgDataToModifyByMQ) Reset() { *m = MsgDataToModifyByMQ{} } func (m *MsgDataToModifyByMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToModifyByMQ) ProtoMessage() {} func (*MsgDataToModifyByMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{34} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{34} } func (m *MsgDataToModifyByMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToModifyByMQ.Unmarshal(m, b) @@ -2282,7 +2232,6 @@ func init() { proto.RegisterMapType((map[string]*sdk_ws.KeyValue)(nil), "msg.SingleMessageExtensionResult.ReactionExtensionListEntry") proto.RegisterType((*ModifyMessageReactionExtensionsResp)(nil), "msg.ModifyMessageReactionExtensionsResp") proto.RegisterType((*DeleteMessageListReactionExtensionsReq)(nil), "msg.DeleteMessageListReactionExtensionsReq") - proto.RegisterType((*DeleteMessageListReactionExtensionsReq_MessageReactionKey)(nil), "msg.DeleteMessageListReactionExtensionsReq.MessageReactionKey") proto.RegisterType((*DeleteMessageListReactionExtensionsResp)(nil), "msg.DeleteMessageListReactionExtensionsResp") proto.RegisterType((*ExtendMsgResp)(nil), "msg.ExtendMsgResp") proto.RegisterType((*ExtendMsg)(nil), "msg.ExtendMsg") @@ -2827,113 +2776,113 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ Metadata: "msg/msg.proto", } -func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_2947cd0e9b1e0723) } +func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_c38567e4d3a35fd0) } -var fileDescriptor_msg_2947cd0e9b1e0723 = []byte{ - // 1674 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x59, 0x4f, 0x6f, 0xdb, 0xc6, - 0x12, 0x07, 0x49, 0x4b, 0xb6, 0x47, 0x76, 0xec, 0xac, 0x1d, 0x3f, 0x85, 0x31, 0x10, 0x85, 0xf9, - 0xa7, 0xbc, 0x24, 0x32, 0x9e, 0xdf, 0x03, 0xf2, 0xd0, 0x14, 0x6d, 0xe2, 0xc8, 0x55, 0x8c, 0x54, - 0x75, 0x4c, 0xb9, 0x2d, 0xd0, 0x1e, 0x1c, 0x46, 0x5a, 0x33, 0x84, 0x25, 0x92, 0xe6, 0x52, 0xb1, - 0xd5, 0x7f, 0xb7, 0x02, 0x05, 0x8a, 0x1c, 0x7a, 0xec, 0xa9, 0xb7, 0xde, 0xfa, 0x01, 0x7a, 0xec, - 0xa1, 0xc7, 0xa2, 0xd7, 0x7e, 0x87, 0x7e, 0x87, 0xa2, 0xd8, 0x5d, 0x4a, 0x5a, 0xfe, 0x93, 0x68, - 0xb9, 0x30, 0x52, 0xa0, 0x37, 0xcd, 0xee, 0xec, 0xec, 0xfc, 0x66, 0x7e, 0x3b, 0xdc, 0x1d, 0xc1, - 0x7c, 0x87, 0x98, 0x6b, 0x1d, 0x62, 0x56, 0x5c, 0xcf, 0xf1, 0x1d, 0xa4, 0x74, 0x88, 0xa9, 0x96, - 0xb7, 0x5d, 0x6c, 0xdf, 0xdd, 0xaa, 0xdf, 0x6d, 0x60, 0xef, 0x25, 0xf6, 0xd6, 0xdc, 0x03, 0x73, - 0x8d, 0x4d, 0xaf, 0x91, 0xd6, 0xc1, 0xde, 0x11, 0x59, 0x3b, 0x22, 0x5c, 0x5d, 0xad, 0x8c, 0xd5, - 0xf4, 0x0c, 0xd7, 0xc5, 0x5e, 0xa0, 0xaf, 0x7d, 0x0a, 0x85, 0x3a, 0x31, 0xab, 0x86, 0x6f, 0xec, - 0x3a, 0xf5, 0x1d, 0xb4, 0x0c, 0x39, 0xdf, 0x39, 0xc0, 0x76, 0x51, 0x2a, 0x49, 0xe5, 0x59, 0x9d, - 0x0b, 0xa8, 0x04, 0x05, 0xc7, 0xc5, 0x9e, 0xe1, 0x5b, 0x8e, 0xbd, 0x55, 0x2d, 0xca, 0x6c, 0x4e, - 0x1c, 0x42, 0xff, 0x83, 0xe9, 0x0e, 0x37, 0x53, 0x54, 0x4a, 0x52, 0xb9, 0xb0, 0xae, 0x56, 0x08, - 0x73, 0x60, 0xcf, 0x70, 0xad, 0x3d, 0xd7, 0xf0, 0x8c, 0x0e, 0xa9, 0x04, 0x1b, 0xe9, 0x7d, 0x55, - 0x0d, 0x0b, 0x9b, 0x57, 0x37, 0x44, 0x23, 0x52, 0x66, 0x23, 0xe3, 0x9d, 0xd3, 0x5e, 0x49, 0xb0, - 0xf0, 0xb4, 0x4b, 0x5e, 0x88, 0x40, 0x4b, 0x50, 0xd8, 0x16, 0x56, 0x71, 0xb8, 0xe2, 0x90, 0xe8, - 0x8d, 0x9c, 0xdd, 0x1b, 0x0d, 0xe6, 0xdc, 0x2e, 0x79, 0xb1, 0xeb, 0xbc, 0x4f, 0xb0, 0xb7, 0x55, - 0x65, 0xd1, 0x98, 0xd5, 0x43, 0x63, 0xda, 0xf7, 0x12, 0xa0, 0xa1, 0x2f, 0x8e, 0x6d, 0x3a, 0x1b, - 0xbd, 0xfa, 0x0e, 0x2a, 0xc2, 0x74, 0xdb, 0x20, 0x7e, 0x03, 0x1f, 0x32, 0x77, 0xa6, 0xf4, 0xbe, - 0x88, 0xae, 0xc1, 0xbc, 0x61, 0x9a, 0x1e, 0x36, 0xc3, 0x20, 0xc3, 0x83, 0x68, 0x1d, 0x0a, 0x1d, - 0x4c, 0x88, 0x61, 0xe2, 0x77, 0x2d, 0xe2, 0x17, 0x95, 0x92, 0x52, 0x2e, 0xac, 0x2f, 0x56, 0x28, - 0x95, 0x04, 0xe4, 0xba, 0xa8, 0x84, 0x56, 0x61, 0xd6, 0xf7, 0x2c, 0xd3, 0x64, 0xbe, 0x4e, 0x31, - 0xab, 0xc3, 0x01, 0xed, 0x3d, 0x40, 0x35, 0xec, 0xd7, 0x8d, 0xe3, 0x87, 0x76, 0xab, 0x6e, 0xd9, - 0x0d, 0x7c, 0xa8, 0xe3, 0x43, 0xb4, 0x02, 0xf9, 0x00, 0x1c, 0x8f, 0x5a, 0x20, 0x45, 0x43, 0x2a, - 0xc7, 0x42, 0xaa, 0x1d, 0xc1, 0x52, 0xcc, 0x1e, 0x71, 0x29, 0xf0, 0x4d, 0xcf, 0x7b, 0xe4, 0xb4, - 0x30, 0xb3, 0x98, 0xd3, 0xfb, 0x22, 0xdd, 0x6a, 0xd3, 0xf3, 0xea, 0xc4, 0x0c, 0xac, 0x05, 0x12, - 0x1d, 0xaf, 0x1b, 0xc7, 0x34, 0x52, 0x34, 0xbe, 0xf3, 0x7a, 0x20, 0xb1, 0x71, 0x66, 0x97, 0x61, - 0xa1, 0xe3, 0x4c, 0xd2, 0x3e, 0x01, 0x68, 0x60, 0xbb, 0x55, 0x27, 0x26, 0x05, 0x70, 0xb6, 0x24, - 0xff, 0x4e, 0x82, 0xc2, 0x60, 0x73, 0x8e, 0x16, 0x87, 0xd1, 0xe2, 0x21, 0x5a, 0x1c, 0x42, 0xcb, - 0x25, 0xea, 0x19, 0xdf, 0xa7, 0x4e, 0xcc, 0x41, 0x9a, 0xc4, 0x21, 0xaa, 0xd1, 0x6c, 0x5b, 0xd8, - 0xf6, 0xb9, 0x46, 0x8e, 0x6b, 0x08, 0x43, 0x48, 0x85, 0x19, 0x82, 0xed, 0xd6, 0xae, 0xd5, 0xc1, - 0xc5, 0x7c, 0x49, 0x2a, 0x2b, 0xfa, 0x40, 0xd6, 0x9a, 0x50, 0x78, 0xd4, 0xc6, 0x86, 0x17, 0x84, - 0x67, 0x05, 0xf2, 0xdd, 0x50, 0x7e, 0xb9, 0x44, 0x4d, 0x38, 0x6e, 0x90, 0x79, 0xee, 0xe0, 0x40, - 0x8e, 0x06, 0x4f, 0x89, 0x1f, 0xc2, 0x07, 0x30, 0x37, 0xdc, 0x64, 0x92, 0x30, 0x68, 0xdf, 0x4a, - 0xb0, 0xd0, 0xc0, 0x14, 0x4f, 0x88, 0x8b, 0x89, 0xbe, 0x16, 0x61, 0xda, 0xf4, 0x9c, 0xae, 0x3b, - 0x70, 0xb5, 0x2f, 0xd2, 0x15, 0x1d, 0x4e, 0x91, 0x80, 0x3a, 0x5c, 0x8a, 0x22, 0x98, 0x8a, 0xa7, - 0x5f, 0xc4, 0x9f, 0x0b, 0xe3, 0xd7, 0xaa, 0xb0, 0x18, 0x76, 0x6d, 0x22, 0x84, 0xdb, 0xb0, 0xd4, - 0xc0, 0x7e, 0x40, 0x96, 0x86, 0x6f, 0xf8, 0x5d, 0xa2, 0xc7, 0x5d, 0x93, 0xe2, 0xae, 0xad, 0x40, - 0x9e, 0x30, 0x75, 0x66, 0x30, 0xa7, 0x07, 0x92, 0xf6, 0x18, 0x96, 0xe3, 0x06, 0x27, 0x72, 0xed, - 0x1e, 0x3b, 0xba, 0x27, 0x77, 0x4d, 0x7b, 0x06, 0xcb, 0xb5, 0xbf, 0xc4, 0x05, 0x01, 0xa4, 0x12, - 0x02, 0xf9, 0xa5, 0x04, 0x4b, 0x55, 0xdc, 0x6e, 0x74, 0x5d, 0xec, 0xd5, 0x68, 0x96, 0x03, 0x1e, - 0x8b, 0xf9, 0x92, 0x22, 0x7c, 0x1d, 0xf2, 0x46, 0x4e, 0xe3, 0x8d, 0x12, 0xe6, 0xcd, 0x58, 0x7e, - 0xd0, 0x60, 0xc7, 0xdd, 0x98, 0x28, 0xd8, 0x4d, 0x1e, 0xec, 0x28, 0xa0, 0xf1, 0x3c, 0x58, 0x04, - 0x85, 0x32, 0x5b, 0x66, 0xcc, 0xa6, 0x3f, 0xd3, 0x01, 0x69, 0x5f, 0xf0, 0xc4, 0x9c, 0xde, 0xdd, - 0x09, 0xeb, 0xe2, 0x63, 0xf6, 0x71, 0xf9, 0xd0, 0xb3, 0x7c, 0x5c, 0xb5, 0xf6, 0xf7, 0x27, 0xc7, - 0xa8, 0x7d, 0xce, 0xc2, 0x15, 0xb6, 0x74, 0x86, 0x40, 0xbe, 0xc9, 0x81, 0x56, 0x77, 0x5a, 0xd6, - 0x7e, 0xaf, 0xce, 0xbf, 0xac, 0x3a, 0x36, 0x9a, 0xd4, 0xd9, 0xcd, 0x63, 0x1f, 0xdb, 0xc4, 0x72, - 0xec, 0x8c, 0xa7, 0x98, 0xd6, 0x68, 0xa7, 0xeb, 0x35, 0xf1, 0xb0, 0xc0, 0xf6, 0xe5, 0x10, 0x99, - 0x95, 0x78, 0xf1, 0x25, 0x98, 0xd0, 0x8d, 0x76, 0x7b, 0x2e, 0x66, 0xd4, 0xcc, 0xe9, 0xe2, 0x10, - 0x3a, 0x86, 0x0b, 0x5e, 0xd4, 0x29, 0x76, 0x49, 0xc8, 0xb1, 0x4b, 0xc2, 0x06, 0xbf, 0x24, 0x8c, - 0xc5, 0x50, 0xd1, 0x93, 0x8c, 0x6c, 0xda, 0xbe, 0xd7, 0xd3, 0x93, 0x37, 0x88, 0x7e, 0x99, 0xf2, - 0xf1, 0x2f, 0xd3, 0x1d, 0x90, 0xf1, 0x71, 0x71, 0x9a, 0xc5, 0x7b, 0xb5, 0x62, 0x3a, 0x8e, 0xd9, - 0xc6, 0xfc, 0x72, 0xfa, 0xbc, 0xbb, 0x5f, 0x69, 0xf8, 0x9e, 0x65, 0x9b, 0x1f, 0x18, 0xed, 0x2e, - 0xd6, 0x65, 0x7c, 0x8c, 0x1e, 0xc0, 0x9c, 0xe1, 0xfb, 0x46, 0xf3, 0x05, 0x6e, 0x6d, 0xd9, 0xfb, - 0x4e, 0x71, 0x26, 0xc3, 0xba, 0xd0, 0x0a, 0x4a, 0x0b, 0x8b, 0x30, 0x20, 0xc5, 0xd9, 0x92, 0x54, - 0x9e, 0xd1, 0xfb, 0x22, 0x5a, 0x87, 0x65, 0x8b, 0x50, 0xf7, 0x3d, 0xdb, 0x68, 0x0f, 0x81, 0x17, - 0x81, 0xa9, 0x25, 0xce, 0xa1, 0x0a, 0xa0, 0x0e, 0x31, 0xdf, 0xb1, 0x3c, 0xe2, 0xf3, 0xf8, 0xb1, - 0x2f, 0x6c, 0x81, 0x7d, 0x61, 0x13, 0x66, 0x54, 0x0c, 0x6a, 0x7a, 0x10, 0x29, 0xb7, 0x0f, 0x70, - 0x2f, 0xe0, 0x06, 0xfd, 0x89, 0xfe, 0x03, 0xb9, 0x97, 0x14, 0x44, 0x70, 0x07, 0xbd, 0x94, 0x40, - 0xc8, 0x27, 0xb8, 0xc7, 0x71, 0x72, 0xcd, 0x37, 0xe4, 0xff, 0x4b, 0xda, 0xd7, 0x39, 0xb8, 0x4c, - 0x3f, 0x48, 0xaf, 0x2b, 0x21, 0xbb, 0xa3, 0x09, 0xf9, 0x36, 0x23, 0xe4, 0x18, 0x00, 0xff, 0xb0, - 0xf1, 0xef, 0xc2, 0xc6, 0xdf, 0x25, 0x28, 0x8d, 0x4e, 0xe6, 0xa4, 0xf7, 0x62, 0x31, 0x9b, 0x4a, - 0x3c, 0x9b, 0xc9, 0xf1, 0x98, 0x4a, 0x8b, 0x87, 0x98, 0x8d, 0x5c, 0x38, 0x1b, 0xb7, 0x20, 0xef, - 0x61, 0xd2, 0x6d, 0xfb, 0xc5, 0x3c, 0x63, 0xe8, 0x79, 0xc6, 0xd0, 0x01, 0x58, 0x4c, 0x5c, 0x3d, - 0x50, 0xd0, 0xfe, 0x90, 0xe1, 0x6a, 0x6d, 0x80, 0x96, 0x86, 0xf3, 0x14, 0xe7, 0x2f, 0xf5, 0xc6, - 0x2d, 0x9e, 0x4d, 0x25, 0x72, 0x36, 0xc7, 0x9f, 0x3f, 0x02, 0x2b, 0x9d, 0x70, 0x36, 0x9e, 0xe0, - 0x9e, 0x70, 0x00, 0xef, 0x33, 0x78, 0x19, 0x50, 0x54, 0xea, 0x31, 0x33, 0x7a, 0x8a, 0x69, 0x75, - 0x1f, 0x50, 0x5c, 0x3b, 0x9a, 0x45, 0x29, 0x6b, 0x16, 0xe5, 0xb4, 0x2c, 0x6a, 0x3f, 0x48, 0x70, - 0x6d, 0xbc, 0xeb, 0x13, 0x51, 0xae, 0x01, 0x4b, 0xc4, 0xb2, 0xcd, 0x36, 0x1e, 0x00, 0x61, 0x9c, - 0xe0, 0x6f, 0xed, 0x2b, 0xbc, 0x6a, 0x89, 0xf3, 0x83, 0x0d, 0xb9, 0xa2, 0x9e, 0xb4, 0x5a, 0xfb, - 0x45, 0x86, 0xd5, 0x51, 0xab, 0x26, 0xf0, 0xd3, 0x4b, 0xab, 0xaf, 0xdc, 0xd3, 0x37, 0xc7, 0x7a, - 0x7a, 0xfa, 0xe2, 0x3a, 0x15, 0x4b, 0xe4, 0x59, 0x95, 0x9b, 0x9f, 0x24, 0xb8, 0x3a, 0xf6, 0x32, - 0x33, 0xe1, 0x05, 0xb1, 0x40, 0xba, 0xcd, 0x26, 0x26, 0x44, 0x08, 0x26, 0x62, 0xc1, 0x64, 0xb6, - 0xfb, 0x8f, 0x7c, 0x5d, 0x54, 0x43, 0xeb, 0x00, 0xfb, 0x86, 0xd5, 0xc6, 0x2d, 0xb6, 0x68, 0x2a, - 0x75, 0x91, 0xa0, 0xa5, 0xfd, 0xa6, 0xc0, 0x8d, 0x2a, 0x6e, 0x63, 0x1f, 0xbf, 0xd6, 0x75, 0xe4, - 0xe5, 0x98, 0x3a, 0xf2, 0x16, 0x83, 0x99, 0x0d, 0xc8, 0x49, 0x4a, 0xc9, 0x8f, 0xd2, 0xd9, 0xd4, - 0x12, 0xb4, 0x33, 0xfa, 0x20, 0x8d, 0xa4, 0x64, 0xf2, 0x4a, 0xed, 0x67, 0x09, 0x6e, 0x66, 0x8a, - 0xc8, 0x6b, 0x4e, 0x51, 0x07, 0xe6, 0x43, 0x93, 0xe8, 0x0e, 0xcc, 0xe2, 0xfe, 0x40, 0xd0, 0xc1, - 0x3d, 0x17, 0xb1, 0x31, 0x54, 0x10, 0xa1, 0xc9, 0x69, 0xd0, 0x94, 0xd0, 0xb3, 0xf8, 0x57, 0x19, - 0x66, 0x07, 0xa6, 0xd0, 0x5e, 0x5a, 0x66, 0x24, 0xe6, 0xfd, 0xad, 0xf0, 0xce, 0xa7, 0xaf, 0x67, - 0x72, 0x56, 0x32, 0x29, 0xa9, 0x64, 0xd2, 0x22, 0xd7, 0x45, 0x5e, 0x22, 0xc3, 0x17, 0xc2, 0x73, - 0xec, 0x02, 0xca, 0xfb, 0x4b, 0x32, 0x3e, 0x56, 0x3f, 0x3e, 0x61, 0xcd, 0xbc, 0x19, 0xae, 0x99, - 0x09, 0xf7, 0x14, 0xa1, 0x52, 0xf6, 0x60, 0x4e, 0x9c, 0x42, 0xf7, 0x60, 0xe6, 0x20, 0x90, 0x83, - 0x04, 0x8e, 0x24, 0xf8, 0x40, 0x79, 0x82, 0x64, 0xbe, 0x92, 0x60, 0x49, 0x68, 0x82, 0xd3, 0x18, - 0xb1, 0x2e, 0x78, 0xac, 0xd7, 0x2d, 0x65, 0xe8, 0x75, 0xcb, 0x27, 0xee, 0x75, 0x2b, 0x91, 0x5e, - 0xf7, 0xfa, 0x57, 0x00, 0x4a, 0x87, 0x98, 0xe8, 0x19, 0x2c, 0x44, 0x7a, 0xd4, 0xe8, 0x7a, 0x42, - 0x0c, 0xe2, 0x7d, 0x71, 0xf5, 0x46, 0x16, 0x35, 0xe2, 0x22, 0x07, 0x96, 0x9f, 0x76, 0xdb, 0xed, - 0xe0, 0xf0, 0x6f, 0xf4, 0x1a, 0xf8, 0x90, 0xf9, 0xf7, 0xef, 0x84, 0xf5, 0x49, 0x8a, 0x74, 0xaf, - 0xdb, 0x99, 0x75, 0xd9, 0xb9, 0x9c, 0x0e, 0xfa, 0x6f, 0x68, 0x21, 0x78, 0x58, 0xf5, 0x7b, 0xe1, - 0xea, 0x62, 0x78, 0x80, 0xb8, 0x68, 0x07, 0xa0, 0x8a, 0xdb, 0x75, 0x62, 0xf2, 0x43, 0x90, 0xb0, - 0xd1, 0x70, 0x9a, 0x5a, 0xb8, 0x32, 0x46, 0x83, 0xb8, 0xa8, 0x06, 0x8b, 0xd1, 0xce, 0x18, 0x2a, - 0xf6, 0xbf, 0x0c, 0xd1, 0x36, 0x97, 0x7a, 0x31, 0x65, 0x86, 0xb8, 0x68, 0x0d, 0x66, 0xfa, 0x4d, - 0x64, 0xc4, 0x3d, 0x17, 0x1a, 0xd7, 0xea, 0xf9, 0xc8, 0x08, 0x71, 0xd1, 0x7d, 0x98, 0x13, 0xfb, - 0xb2, 0x68, 0x79, 0xf0, 0xb0, 0x14, 0xba, 0xc8, 0xea, 0x85, 0x84, 0x51, 0xee, 0x76, 0xb4, 0x7b, - 0x1a, 0xb8, 0x9d, 0xd0, 0xa5, 0x0d, 0xdc, 0x4e, 0x6c, 0xb7, 0xd6, 0x60, 0xb1, 0x96, 0x6c, 0xa8, - 0x96, 0x6a, 0xa8, 0x36, 0xc2, 0x50, 0x42, 0x20, 0x13, 0xfa, 0x85, 0x82, 0xa1, 0x58, 0x20, 0xab, - 0x8c, 0xe5, 0x62, 0xcb, 0x0c, 0xfd, 0xab, 0xaf, 0x1d, 0x69, 0xc9, 0xa9, 0xc5, 0xe4, 0x09, 0xe2, - 0xa2, 0x03, 0x58, 0x1d, 0xf5, 0xac, 0x43, 0xd7, 0xb2, 0x3c, 0xe3, 0xd5, 0xeb, 0x19, 0xb4, 0x88, - 0x8b, 0x8e, 0xa0, 0x34, 0xee, 0x52, 0x8f, 0xca, 0x59, 0x9f, 0x2d, 0xea, 0xad, 0x8c, 0x9a, 0xc4, - 0x45, 0x87, 0xb0, 0xfa, 0xb0, 0xd5, 0x4a, 0x47, 0x79, 0x33, 0x63, 0xf7, 0x4c, 0x2d, 0x67, 0x53, - 0x24, 0x2e, 0xfa, 0x0c, 0x2e, 0x87, 0x6e, 0x08, 0x09, 0xbb, 0xde, 0x3e, 0xc1, 0xcd, 0x4a, 0xbd, - 0x93, 0x5d, 0x99, 0xb8, 0x1b, 0x97, 0x3e, 0xba, 0xb8, 0xed, 0x62, 0x7b, 0x6f, 0xab, 0x2e, 0xfc, - 0x7d, 0xdc, 0x21, 0xe6, 0xfd, 0x0e, 0x31, 0x9f, 0xe7, 0x99, 0xf8, 0xdf, 0x3f, 0x03, 0x00, 0x00, - 0xff, 0xff, 0x66, 0x90, 0x0b, 0x33, 0xa7, 0x1e, 0x00, 0x00, +var fileDescriptor_msg_c38567e4d3a35fd0 = []byte{ + // 1668 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x59, 0xcd, 0x6e, 0xdb, 0xc6, + 0x16, 0x06, 0x49, 0x4b, 0xb6, 0x8f, 0xec, 0xd8, 0x19, 0x3b, 0xbe, 0x0a, 0x63, 0x20, 0x0a, 0xf3, + 0xa7, 0xdc, 0x24, 0x32, 0xae, 0xef, 0x05, 0x72, 0xd1, 0x14, 0x68, 0xe2, 0xc8, 0x55, 0x8c, 0x94, + 0x75, 0x4c, 0xb9, 0x2d, 0xd0, 0x2e, 0x1c, 0x46, 0x1a, 0x33, 0x84, 0x25, 0x92, 0xe6, 0x50, 0xb1, + 0xd5, 0xbf, 0x5d, 0x8b, 0x02, 0x45, 0x16, 0x5d, 0x76, 0xd5, 0x5d, 0x77, 0x7d, 0x88, 0x2e, 0xbb, + 0x28, 0xfa, 0x20, 0x7d, 0x87, 0xa2, 0x98, 0x19, 0x4a, 0x1a, 0xfe, 0x59, 0xb4, 0x5c, 0x04, 0x29, + 0xd0, 0x9d, 0xce, 0xf0, 0xcc, 0x99, 0xef, 0x3b, 0xe7, 0x9b, 0xe1, 0xf0, 0x08, 0xe6, 0xbb, 0xc4, + 0x5a, 0xeb, 0x12, 0xab, 0xe6, 0xf9, 0x6e, 0xe0, 0x22, 0xa5, 0x4b, 0x2c, 0xb5, 0xba, 0xed, 0x61, + 0xe7, 0xee, 0x96, 0x7e, 0xb7, 0x89, 0xfd, 0x97, 0xd8, 0x5f, 0xf3, 0x0e, 0xac, 0x35, 0xf6, 0x78, + 0x8d, 0xb4, 0x0f, 0xf6, 0x8e, 0xc8, 0xda, 0x11, 0xe1, 0xee, 0x6a, 0x6d, 0xac, 0xa7, 0x6f, 0x7a, + 0x1e, 0xf6, 0x43, 0x7f, 0xed, 0x33, 0x28, 0xe9, 0xc4, 0xaa, 0x9b, 0x81, 0xb9, 0xeb, 0xea, 0x3b, + 0x68, 0x19, 0x0a, 0x81, 0x7b, 0x80, 0x9d, 0xb2, 0x54, 0x91, 0xaa, 0xb3, 0x06, 0x37, 0x50, 0x05, + 0x4a, 0xae, 0x87, 0x7d, 0x33, 0xb0, 0x5d, 0x67, 0xab, 0x5e, 0x96, 0xd9, 0x33, 0x71, 0x08, 0xfd, + 0x0f, 0xa6, 0xbb, 0x3c, 0x4c, 0x59, 0xa9, 0x48, 0xd5, 0xd2, 0xba, 0x5a, 0x23, 0x0c, 0xc0, 0x9e, + 0xe9, 0xd9, 0x7b, 0x9e, 0xe9, 0x9b, 0x5d, 0x52, 0x0b, 0x17, 0x32, 0x06, 0xae, 0x1a, 0x16, 0x16, + 0xaf, 0x6f, 0x88, 0x41, 0xa4, 0xdc, 0x41, 0xc6, 0x83, 0xd3, 0x5e, 0x49, 0xb0, 0xf0, 0xb4, 0x47, + 0x5e, 0x88, 0x44, 0x2b, 0x50, 0xda, 0x16, 0x66, 0x71, 0xba, 0xe2, 0x90, 0x88, 0x46, 0xce, 0x8f, + 0x46, 0x83, 0x39, 0xaf, 0x47, 0x5e, 0xec, 0xba, 0x1f, 0x10, 0xec, 0x6f, 0xd5, 0x59, 0x36, 0x66, + 0x8d, 0xc8, 0x98, 0xf6, 0xa3, 0x04, 0x68, 0x84, 0xc5, 0x75, 0x2c, 0x77, 0xa3, 0xaf, 0xef, 0xa0, + 0x32, 0x4c, 0x77, 0x4c, 0x12, 0x34, 0xf1, 0x21, 0x83, 0x33, 0x65, 0x0c, 0x4c, 0x74, 0x0d, 0xe6, + 0x4d, 0xcb, 0xf2, 0xb1, 0x15, 0x25, 0x19, 0x1d, 0x44, 0xeb, 0x50, 0xea, 0x62, 0x42, 0x4c, 0x0b, + 0xbf, 0x67, 0x93, 0xa0, 0xac, 0x54, 0x94, 0x6a, 0x69, 0x7d, 0xb1, 0x46, 0xa5, 0x24, 0x30, 0x37, + 0x44, 0x27, 0xb4, 0x0a, 0xb3, 0x81, 0x6f, 0x5b, 0x16, 0xc3, 0x3a, 0xc5, 0xa2, 0x8e, 0x06, 0xb4, + 0xf7, 0x01, 0x35, 0x70, 0xa0, 0x9b, 0xc7, 0x0f, 0x9d, 0xb6, 0x6e, 0x3b, 0x4d, 0x7c, 0x68, 0xe0, + 0x43, 0xb4, 0x02, 0xc5, 0x90, 0x1c, 0xcf, 0x5a, 0x68, 0xc5, 0x53, 0x2a, 0x27, 0x52, 0xaa, 0x1d, + 0xc1, 0x52, 0x22, 0x1e, 0xf1, 0x28, 0xf1, 0x4d, 0xdf, 0x7f, 0xe4, 0xb6, 0x31, 0x8b, 0x58, 0x30, + 0x06, 0x26, 0x5d, 0x6a, 0xd3, 0xf7, 0x75, 0x62, 0x85, 0xd1, 0x42, 0x8b, 0x8e, 0xeb, 0xe6, 0x31, + 0xcd, 0x14, 0xcd, 0xef, 0xbc, 0x11, 0x5a, 0x6c, 0x9c, 0xc5, 0x65, 0x5c, 0xe8, 0x38, 0xb3, 0xb4, + 0x4f, 0x01, 0x9a, 0xd8, 0x69, 0xeb, 0xc4, 0xa2, 0x04, 0x5e, 0xaf, 0xc8, 0x7f, 0x90, 0xa0, 0x34, + 0x5c, 0x9c, 0xb3, 0xc5, 0x51, 0xb6, 0x78, 0xc4, 0x16, 0x47, 0xd8, 0x72, 0x8b, 0x22, 0xe3, 0xeb, + 0xe8, 0xc4, 0x1a, 0x96, 0x49, 0x1c, 0xa2, 0x1e, 0xad, 0x8e, 0x8d, 0x9d, 0x80, 0x7b, 0x14, 0xb8, + 0x87, 0x30, 0x84, 0x54, 0x98, 0x21, 0xd8, 0x69, 0xef, 0xda, 0x5d, 0x5c, 0x2e, 0x56, 0xa4, 0xaa, + 0x62, 0x0c, 0x6d, 0xad, 0x05, 0xa5, 0x47, 0x1d, 0x6c, 0xfa, 0x61, 0x7a, 0x56, 0xa0, 0xd8, 0x8b, + 0xd4, 0x97, 0x5b, 0x34, 0x84, 0xeb, 0x85, 0x95, 0xe7, 0x00, 0x87, 0x76, 0x3c, 0x79, 0x4a, 0x72, + 0x13, 0x3e, 0x80, 0xb9, 0xd1, 0x22, 0x93, 0xa4, 0x41, 0xfb, 0x5e, 0x82, 0x85, 0x26, 0xa6, 0x7c, + 0x22, 0x5a, 0x4c, 0xc5, 0x5a, 0x86, 0x69, 0xcb, 0x77, 0x7b, 0xde, 0x10, 0xea, 0xc0, 0xa4, 0x33, + 0xba, 0x5c, 0x22, 0xa1, 0x74, 0xb8, 0x15, 0x67, 0x30, 0x95, 0x2c, 0xbf, 0xc8, 0xbf, 0x10, 0xe5, + 0xaf, 0xd5, 0x61, 0x31, 0x0a, 0x6d, 0x22, 0x86, 0xdb, 0xb0, 0xd4, 0xc4, 0x41, 0x28, 0x96, 0x66, + 0x60, 0x06, 0x3d, 0x62, 0x24, 0xa1, 0x49, 0x49, 0x68, 0x2b, 0x50, 0x24, 0xcc, 0x9d, 0x05, 0x2c, + 0x18, 0xa1, 0xa5, 0x3d, 0x86, 0xe5, 0x64, 0xc0, 0x89, 0xa0, 0xdd, 0x63, 0x5b, 0xf7, 0xf4, 0xd0, + 0xb4, 0x67, 0xb0, 0xdc, 0xf8, 0x4b, 0x20, 0x08, 0x24, 0x95, 0x08, 0xc9, 0xaf, 0x24, 0x58, 0xaa, + 0xe3, 0x4e, 0xb3, 0xe7, 0x61, 0xbf, 0x41, 0xab, 0x1c, 0xea, 0x58, 0xac, 0x97, 0x14, 0xd3, 0xeb, + 0x48, 0x37, 0x72, 0x96, 0x6e, 0x94, 0xa8, 0x6e, 0xc6, 0xea, 0x83, 0x26, 0x3b, 0x09, 0x63, 0xa2, + 0x64, 0xb7, 0x78, 0xb2, 0xe3, 0x84, 0xc6, 0xeb, 0x60, 0x11, 0x14, 0xaa, 0x6c, 0x99, 0x29, 0x9b, + 0xfe, 0xcc, 0x26, 0xa4, 0x7d, 0xc9, 0x0b, 0x73, 0x76, 0xb8, 0x13, 0x9e, 0x8b, 0x8f, 0xd9, 0xcb, + 0xe5, 0x23, 0xdf, 0x0e, 0x70, 0xdd, 0xde, 0xdf, 0x9f, 0x9c, 0xa3, 0xf6, 0x05, 0x4b, 0x57, 0x34, + 0xd2, 0x6b, 0x24, 0xf2, 0x5d, 0x01, 0x34, 0xdd, 0x6d, 0xdb, 0xfb, 0x7d, 0x9d, 0xbf, 0x59, 0x0d, + 0x6c, 0xb6, 0x28, 0xd8, 0xcd, 0xe3, 0x00, 0x3b, 0xc4, 0x76, 0x9d, 0x9c, 0xbb, 0x98, 0x9e, 0xd1, + 0x6e, 0xcf, 0x6f, 0xe1, 0xd1, 0x01, 0x3b, 0xb0, 0x23, 0x62, 0x56, 0x92, 0x87, 0x2f, 0xc1, 0x84, + 0x2e, 0xb4, 0xdb, 0xf7, 0x30, 0x93, 0x66, 0xc1, 0x10, 0x87, 0xd0, 0x31, 0x5c, 0xf0, 0xe3, 0xa0, + 0xd8, 0x25, 0xa1, 0xc0, 0x2e, 0x09, 0x1b, 0xfc, 0x92, 0x30, 0x96, 0x43, 0xcd, 0x48, 0x0b, 0xb2, + 0xe9, 0x04, 0x7e, 0xdf, 0x48, 0x5f, 0x20, 0xfe, 0x66, 0x2a, 0x26, 0xdf, 0x4c, 0x77, 0x40, 0xc6, + 0xc7, 0xe5, 0x69, 0x96, 0xef, 0xd5, 0x9a, 0xe5, 0xba, 0x56, 0x07, 0xf3, 0xcb, 0xe9, 0xf3, 0xde, + 0x7e, 0xad, 0x19, 0xf8, 0xb6, 0x63, 0x7d, 0x68, 0x76, 0x7a, 0xd8, 0x90, 0xf1, 0x31, 0x7a, 0x00, + 0x73, 0x66, 0x10, 0x98, 0xad, 0x17, 0xb8, 0xbd, 0xe5, 0xec, 0xbb, 0xe5, 0x99, 0x1c, 0xf3, 0x22, + 0x33, 0xa8, 0x2c, 0x6c, 0xc2, 0x88, 0x94, 0x67, 0x2b, 0x52, 0x75, 0xc6, 0x18, 0x98, 0x68, 0x1d, + 0x96, 0x6d, 0x42, 0xe1, 0xfb, 0x8e, 0xd9, 0x19, 0x11, 0x2f, 0x03, 0x73, 0x4b, 0x7d, 0x86, 0x6a, + 0x80, 0xba, 0xc4, 0x7a, 0xd7, 0xf6, 0x49, 0xc0, 0xf3, 0xc7, 0xde, 0xb0, 0x25, 0xf6, 0x86, 0x4d, + 0x79, 0xa2, 0x62, 0x50, 0xb3, 0x93, 0x48, 0xb5, 0x7d, 0x80, 0xfb, 0xa1, 0x36, 0xe8, 0x4f, 0xf4, + 0x1f, 0x28, 0xbc, 0xa4, 0x24, 0xc2, 0x3b, 0xe8, 0xa5, 0x14, 0x41, 0x3e, 0xc1, 0x7d, 0xce, 0x93, + 0x7b, 0xbe, 0x25, 0xff, 0x5f, 0xd2, 0xbe, 0x2d, 0xc0, 0x65, 0xfa, 0x42, 0x7a, 0x53, 0x05, 0xd9, + 0x3b, 0x59, 0x90, 0xef, 0x30, 0x41, 0x8e, 0x21, 0xf0, 0x8f, 0x1a, 0xff, 0x2e, 0x6a, 0xfc, 0x5d, + 0x82, 0xca, 0xc9, 0xc5, 0x9c, 0xf4, 0x5e, 0x2c, 0x56, 0x53, 0x49, 0x56, 0x33, 0x3d, 0x1f, 0x53, + 0x59, 0xf9, 0x10, 0xab, 0x51, 0x88, 0x56, 0xe3, 0x16, 0x14, 0x7d, 0x4c, 0x7a, 0x9d, 0xa0, 0x5c, + 0x64, 0x0a, 0x3d, 0xcf, 0x14, 0x3a, 0x24, 0x8b, 0x89, 0x67, 0x84, 0x0e, 0xda, 0x1f, 0x32, 0x5c, + 0x6d, 0x0c, 0xd9, 0xd2, 0x74, 0x9e, 0x61, 0xff, 0x65, 0xde, 0xb8, 0xc5, 0xbd, 0xa9, 0xc4, 0xf6, + 0xe6, 0xf8, 0xfd, 0x47, 0x60, 0xa5, 0x1b, 0xad, 0xc6, 0x13, 0xdc, 0x17, 0x36, 0xe0, 0x7d, 0x46, + 0x2f, 0x07, 0x8b, 0x9a, 0x9e, 0x08, 0x63, 0x64, 0x84, 0x56, 0xf7, 0x01, 0x25, 0xbd, 0xe3, 0x55, + 0x94, 0xf2, 0x56, 0x51, 0xce, 0xaa, 0xa2, 0xf6, 0x93, 0x04, 0xd7, 0xc6, 0x43, 0x9f, 0x48, 0x72, + 0x4d, 0x58, 0x22, 0xb6, 0x63, 0x75, 0xf0, 0x90, 0x08, 0xd3, 0x04, 0xff, 0xd6, 0xbe, 0xc2, 0x4f, + 0x2d, 0xf1, 0xf9, 0x70, 0x41, 0xee, 0x68, 0xa4, 0xcd, 0xd6, 0x7e, 0x95, 0x61, 0xf5, 0xa4, 0x59, + 0x13, 0xe0, 0xf4, 0xb3, 0xce, 0x57, 0x8e, 0xf4, 0xed, 0xb1, 0x48, 0xcf, 0x7e, 0xb8, 0x4e, 0x25, + 0x0a, 0xf9, 0xba, 0x8e, 0x9b, 0x9f, 0x25, 0xb8, 0x3a, 0xf6, 0x32, 0x33, 0xe1, 0x05, 0xb1, 0x44, + 0x7a, 0xad, 0x16, 0x26, 0x44, 0x48, 0x26, 0x62, 0xc9, 0x64, 0xb1, 0x07, 0x1f, 0xf9, 0x86, 0xe8, + 0x86, 0xd6, 0x01, 0xf6, 0x4d, 0xbb, 0x83, 0xdb, 0x6c, 0xd2, 0x54, 0xe6, 0x24, 0xc1, 0x4b, 0xfb, + 0x45, 0x86, 0x1b, 0x75, 0xdc, 0xc1, 0x01, 0x7e, 0xa3, 0xcf, 0x91, 0xf1, 0x8d, 0x87, 0xf4, 0xcd, + 0x5b, 0xcc, 0x3c, 0x82, 0x77, 0xb2, 0x94, 0x3b, 0xcd, 0xf2, 0x76, 0xa2, 0x06, 0xd2, 0x67, 0x6a, + 0x5f, 0x4b, 0x70, 0x33, 0x57, 0x2e, 0x27, 0xd2, 0xc4, 0x29, 0xde, 0x0c, 0x2e, 0xcc, 0x47, 0x2a, + 0x8e, 0xee, 0xc0, 0x2c, 0x1e, 0x0c, 0x84, 0x3d, 0xcf, 0x73, 0x31, 0x61, 0x8c, 0x1c, 0x44, 0x6c, + 0x72, 0x16, 0x36, 0x25, 0xf2, 0x21, 0xf9, 0x9b, 0x0c, 0xb3, 0xc3, 0x50, 0x68, 0x2f, 0x2b, 0xb5, + 0x12, 0x03, 0x7e, 0x2b, 0xba, 0xf2, 0xd9, 0x4f, 0x00, 0x39, 0xaf, 0x1a, 0x94, 0x4c, 0x35, 0x68, + 0xb1, 0x0b, 0x16, 0x3f, 0x54, 0xa2, 0x57, 0xa8, 0x73, 0xec, 0xca, 0xc6, 0xa5, 0x27, 0xe3, 0x63, + 0xf5, 0x93, 0x53, 0x9e, 0x32, 0x37, 0xa3, 0xa7, 0x4c, 0x4a, 0xfd, 0x84, 0xb3, 0xa5, 0x0f, 0x73, + 0xe2, 0x23, 0x74, 0x0f, 0x66, 0x0e, 0x42, 0x3b, 0x2c, 0xe0, 0x89, 0x0a, 0x1d, 0x3a, 0x4f, 0x50, + 0xcc, 0x57, 0x12, 0x2c, 0x09, 0x6d, 0x63, 0x9a, 0x23, 0xd6, 0x37, 0x4e, 0x74, 0x87, 0xa5, 0x1c, + 0xdd, 0x61, 0xf9, 0xd4, 0xdd, 0x61, 0x25, 0xd6, 0x1d, 0x5e, 0xff, 0x06, 0x40, 0xe9, 0x12, 0x0b, + 0x3d, 0x83, 0x85, 0x58, 0x57, 0x17, 0x5d, 0x4f, 0xc9, 0x41, 0xb2, 0x93, 0xac, 0xde, 0xc8, 0xe3, + 0x46, 0x3c, 0xe4, 0xc2, 0xf2, 0xd3, 0x5e, 0xa7, 0x13, 0xee, 0xde, 0x8d, 0x7e, 0x13, 0x1f, 0x32, + 0x7c, 0xff, 0x4e, 0x99, 0x9f, 0xe6, 0x48, 0xd7, 0xba, 0x9d, 0xdb, 0x97, 0xed, 0xcb, 0xe9, 0xb0, + 0x63, 0x85, 0x16, 0xc2, 0x4f, 0x91, 0x41, 0xf7, 0x58, 0x5d, 0x8c, 0x0e, 0x10, 0x0f, 0xed, 0x00, + 0xd4, 0x71, 0x47, 0x27, 0x16, 0xdf, 0x04, 0x29, 0x0b, 0x8d, 0x1e, 0xd3, 0x08, 0x57, 0xc6, 0x78, + 0x10, 0x0f, 0x35, 0x60, 0x31, 0xde, 0x4b, 0x42, 0x65, 0xb6, 0x70, 0x4a, 0xa7, 0x4b, 0xbd, 0x98, + 0xf1, 0x84, 0x78, 0x68, 0x0d, 0x66, 0x06, 0x6d, 0x57, 0xc4, 0x91, 0x0b, 0xad, 0x5e, 0xf5, 0x7c, + 0x6c, 0x84, 0x78, 0xe8, 0x3e, 0xcc, 0x89, 0x9d, 0x4c, 0xb4, 0x3c, 0xfc, 0x14, 0x13, 0xfa, 0xae, + 0xea, 0x85, 0x94, 0x51, 0x0e, 0x3b, 0xde, 0x6f, 0x0c, 0x61, 0xa7, 0xf4, 0x35, 0x43, 0xd8, 0xa9, + 0x0d, 0xca, 0x06, 0x2c, 0x36, 0xd2, 0x03, 0x35, 0x32, 0x03, 0x35, 0x4e, 0x08, 0x94, 0x92, 0xc8, + 0x94, 0x0e, 0x9b, 0x10, 0x28, 0x91, 0xc8, 0x3a, 0x53, 0xb9, 0xd8, 0x64, 0x42, 0xff, 0x1a, 0x78, + 0xc7, 0x9a, 0x58, 0x6a, 0x39, 0xfd, 0x01, 0xf1, 0xd0, 0x01, 0xac, 0x9e, 0xf4, 0x21, 0x84, 0xae, + 0xe5, 0xf9, 0xf0, 0x55, 0xaf, 0xe7, 0xf0, 0x22, 0x1e, 0x3a, 0x82, 0xca, 0xb8, 0x6b, 0x30, 0xaa, + 0xe6, 0xbd, 0xe8, 0xab, 0xb7, 0x72, 0x7a, 0x12, 0x0f, 0x1d, 0xc2, 0xea, 0xc3, 0x76, 0x3b, 0x9b, + 0xe5, 0xcd, 0x9c, 0xfd, 0x26, 0xb5, 0x9a, 0xcf, 0x91, 0x78, 0xe8, 0x73, 0xb8, 0x1c, 0x79, 0xc5, + 0xa7, 0xac, 0x7a, 0x7b, 0xb0, 0x4b, 0x72, 0x5c, 0xaa, 0xd4, 0x3b, 0xf9, 0x9d, 0x89, 0xb7, 0x71, + 0xe9, 0xe3, 0x8b, 0xdb, 0x1e, 0x76, 0xf6, 0xb6, 0x74, 0xe1, 0x0f, 0xd7, 0x2e, 0xb1, 0xee, 0x77, + 0x89, 0xf5, 0xbc, 0xc8, 0xcc, 0xff, 0xfe, 0x19, 0x00, 0x00, 0xff, 0xff, 0xdf, 0x17, 0x83, 0x0e, + 0xd9, 0x1d, 0x00, 0x00, } diff --git a/pkg/proto/msg/msg.proto b/pkg/proto/msg/msg.proto index d878f30a9..cb29be40e 100644 --- a/pkg/proto/msg/msg.proto +++ b/pkg/proto/msg/msg.proto @@ -227,19 +227,15 @@ message DeleteMessageListReactionExtensionsReq { string opUserID = 2; string sourceID = 3; int32 sessionType = 4; - message MessageReactionKey { - string clientMsgID = 1; - int64 msgFirstModifyTime = 2; - repeated server_api_params.KeyValue reactionExtensionList = 3; - } - repeated MessageReactionKey messageReactionKeyList = 5; + string clientMsgID = 5; + int64 msgFirstModifyTime = 6; + repeated server_api_params.KeyValue reactionExtensionList = 7; } message DeleteMessageListReactionExtensionsResp { int32 errCode = 1; string errMsg = 2; - repeated ExtendMsgResp successList = 3; - repeated ExtendMsgResp failedList = 4; + repeated KeyValueResp result = 6; } message ExtendMsgResp { From 915118140fa08af41547b8f24aeaf5a4d9183bd3 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 12 Dec 2022 20:41:40 +0800 Subject: [PATCH 097/176] reaction message add expiration --- internal/rpc/msg/extend_msg.go | 64 +++++++++++++++++++-- internal/rpc/msg/extend_msg.notification.go | 18 ++++++ pkg/common/db/RedisModel.go | 5 ++ 3 files changed, 83 insertions(+), 4 deletions(-) diff --git a/internal/rpc/msg/extend_msg.go b/internal/rpc/msg/extend_msg.go index af4d042bc..ea0f02088 100644 --- a/internal/rpc/msg/extend_msg.go +++ b/internal/rpc/msg/extend_msg.go @@ -34,9 +34,7 @@ func (rpc *rpcChat) SetMessageReactionExtensions(ctx context.Context, req *msg.S if !req.IsReact { log.Debug(req.OperationID, "redis handle firstly", req.String()) rResp.MsgFirstModifyTime = utils.GetCurrentTimestampByMill() - //redis处理 for k, v := range req.ReactionExtensionList { - //抢占分布式锁 err := lockMessageTypeKey(req.ClientMsgID, k) if err != nil { setKeyResultInfo(&rResp, 100, err.Error(), req.ClientMsgID, k, v) @@ -63,7 +61,6 @@ func (rpc *rpcChat) SetMessageReactionExtensions(ctx context.Context, req *msg.S log.Debug(req.OperationID, "redis handle secondly", req.String()) for k, v := range req.ReactionExtensionList { - //抢占分布式锁 err := lockMessageTypeKey(req.ClientMsgID, k) if err != nil { setKeyResultInfo(&rResp, 100, err.Error(), req.ClientMsgID, k, v) @@ -108,8 +105,17 @@ func setKeyResultInfo(r *msg.SetMessageReactionExtensionsResp, errCode int32, er r.Result = append(r.Result, temp) _ = db.DB.UnLockMessageTypeKey(clientMsgID, typeKey) } +func setDeleteKeyResultInfo(r *msg.DeleteMessageListReactionExtensionsResp, errCode int32, errMsg, clientMsgID, typeKey string, keyValue *server_api_params.KeyValue) { + temp := new(msg.KeyValueResp) + temp.KeyValue = keyValue + temp.ErrCode = errCode + temp.ErrMsg = errMsg + r.Result = append(r.Result, temp) + _ = db.DB.UnLockMessageTypeKey(clientMsgID, typeKey) +} func (rpc *rpcChat) GetMessageListReactionExtensions(ctx context.Context, req *msg.GetMessageListReactionExtensionsReq) (resp *msg.GetMessageListReactionExtensionsResp, err error) { + log.Debug(req.OperationID, utils.GetSelfFuncName(), "rpc args is:", req.String()) var rResp msg.GetMessageListReactionExtensionsResp for _, messageValue := range req.MessageReactionKeyList { var oneMessage msg.SingleMessageExtensionResult @@ -143,6 +149,7 @@ func (rpc *rpcChat) GetMessageListReactionExtensions(ctx context.Context, req *m } rResp.SingleMessageResult = append(rResp.SingleMessageResult, &oneMessage) } + log.Debug(req.OperationID, utils.GetSelfFuncName(), "rpc return is:", rResp.String()) return &rResp, nil } @@ -152,7 +159,56 @@ func (rpc *rpcChat) AddMessageReactionExtensions(ctx context.Context, req *msg.M } func (rpc *rpcChat) DeleteMessageReactionExtensions(ctx context.Context, req *msg.DeleteMessageListReactionExtensionsReq) (resp *msg.DeleteMessageListReactionExtensionsResp, err error) { - return + log.Debug(req.OperationID, utils.GetSelfFuncName(), "rpc args is:", req.String()) + var rResp msg.DeleteMessageListReactionExtensionsResp + isExists, err := db.DB.JudgeMessageReactionEXISTS(req.ClientMsgID, req.SessionType) + if err != nil { + rResp.ErrCode = 100 + rResp.ErrMsg = err.Error() + for _, value := range req.ReactionExtensionList { + temp := new(msg.KeyValueResp) + temp.KeyValue = value + temp.ErrMsg = err.Error() + temp.ErrCode = 100 + rResp.Result = append(rResp.Result, temp) + } + return &rResp, nil + } + + if isExists { + log.Debug(req.OperationID, "redis handle this delete", req.String()) + for _, v := range req.ReactionExtensionList { + err := lockMessageTypeKey(req.ClientMsgID, v.TypeKey) + if err != nil { + setDeleteKeyResultInfo(&rResp, 100, err.Error(), req.ClientMsgID, v.TypeKey, v) + continue + } + + redisValue, err := db.DB.GetMessageTypeKeyValue(req.ClientMsgID, req.SessionType, v.TypeKey) + if err != nil && err != go_redis.Nil { + setDeleteKeyResultInfo(&rResp, 200, err.Error(), req.ClientMsgID, v.TypeKey, v) + continue + } + temp := new(server_api_params.KeyValue) + utils.JsonStringToStruct(redisValue, temp) + if v.LatestUpdateTime != temp.LatestUpdateTime { + setDeleteKeyResultInfo(&rResp, 300, "message have update", req.ClientMsgID, v.TypeKey, temp) + continue + } else { + newErr := db.DB.DeleteOneMessageKey(req.ClientMsgID, req.SessionType, v.TypeKey) + if newErr != nil { + setDeleteKeyResultInfo(&rResp, 201, newErr.Error(), req.ClientMsgID, v.TypeKey, temp) + continue + } + setDeleteKeyResultInfo(&rResp, 0, "", req.ClientMsgID, v.TypeKey, v) + } + } + } else { + + } + ExtendMessageDeleteNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, false) + log.Debug(req.OperationID, utils.GetSelfFuncName(), "rpc return is:", rResp.String()) + return &rResp, nil } func lockMessageTypeKey(clientMsgID, typeKey string) (err error) { for i := 0; i < 3; i++ { diff --git a/internal/rpc/msg/extend_msg.notification.go b/internal/rpc/msg/extend_msg.notification.go index 0c8b3b126..f4f8bd88b 100644 --- a/internal/rpc/msg/extend_msg.notification.go +++ b/internal/rpc/msg/extend_msg.notification.go @@ -32,6 +32,24 @@ func ExtendMessageUpdatedNotification(operationID, sendID string, sourceID strin m.MsgFirstModifyTime = resp.MsgFirstModifyTime messageReactionSender(operationID, sendID, sourceID, sessionType, constant.ReactionMessageModifier, utils.StructToJsonString(m), isHistory) } +func ExtendMessageDeleteNotification(operationID, sendID string, sourceID string, sessionType int32, + req *msg.DeleteMessageListReactionExtensionsReq, resp *msg.DeleteMessageListReactionExtensionsResp, isHistory bool) { + var m base_info.ReactionMessageDeleteNotification + m.SourceID = req.SourceID + m.OpUserID = req.OpUserID + m.SessionType = req.SessionType + keyMap := make(map[string]*open_im_sdk.KeyValue) + for _, valueResp := range resp.Result { + if valueResp.ErrCode == 0 { + keyMap[valueResp.KeyValue.TypeKey] = valueResp.KeyValue + } + } + m.SuccessReactionExtensionList = keyMap + m.ClientMsgID = req.ClientMsgID + m.MsgFirstModifyTime = req.MsgFirstModifyTime + + messageReactionSender(operationID, sendID, sourceID, sessionType, constant.ReactionMessageDeleter, utils.StructToJsonString(m), isHistory) +} func messageReactionSender(operationID, sendID string, sourceID string, sessionType, contentType int32, content string, isHistory bool) { options := make(map[string]bool, 5) utils.SetSwitchFromOptions(options, constant.IsOfflinePush, false) diff --git a/pkg/common/db/RedisModel.go b/pkg/common/db/RedisModel.go index b9692cf1d..ab9f54118 100644 --- a/pkg/common/db/RedisModel.go +++ b/pkg/common/db/RedisModel.go @@ -452,6 +452,11 @@ func (d *DataBases) GetOneMessageAllReactionList(clientMsgID string, sessionType key := getMessageReactionExPrefix(clientMsgID, sessionType) return d.RDB.HGetAll(context.Background(), key).Result() +} +func (d *DataBases) DeleteOneMessageKey(clientMsgID string, sessionType int32, subKey string) error { + key := getMessageReactionExPrefix(clientMsgID, sessionType) + return d.RDB.HDel(context.Background(), key, subKey).Err() + } func (d *DataBases) SetMessageReactionExpire(clientMsgID string, sessionType int32, expiration time.Duration) (bool, error) { key := getMessageReactionExPrefix(clientMsgID, sessionType) From 060864996166cbadc90b7cde4de5ca59c893412b Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 13 Dec 2022 13:58:51 +0800 Subject: [PATCH 098/176] upgrade enterprise --- docker-compose.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yaml b/docker-compose.yaml index dac735657..59e18d17b 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -115,7 +115,7 @@ services: open_im_server: - image: openim/open_im_server:v2.3.5 + image: openim/open_im_server:v2.3.6 container_name: open_im_server volumes: - ./logs:/Open-IM-Server/logs From a98f89a4e789eeb02825d26fc8586bb54ff7166f Mon Sep 17 00:00:00 2001 From: skiffer-git <44203734@qq.com> Date: Tue, 13 Dec 2022 14:43:09 +0800 Subject: [PATCH 099/176] Update group application list for group administrator --- internal/rpc/msg/group_notification.go | 25 + pkg/proto/sdk_ws/ws.pb.go | 890 ++++++++++++++++--------- pkg/proto/sdk_ws/ws.proto | 2 + 3 files changed, 587 insertions(+), 330 deletions(-) diff --git a/internal/rpc/msg/group_notification.go b/internal/rpc/msg/group_notification.go index bbadbd3b5..82255b5b0 100644 --- a/internal/rpc/msg/group_notification.go +++ b/internal/rpc/msg/group_notification.go @@ -435,7 +435,20 @@ func GroupApplicationAcceptedNotification(req *pbGroup.GroupApplicationResponseR log.Error(req.OperationID, "setOpUserInfo failed", req.OpUserID, req.GroupID, GroupApplicationAcceptedTips.OpUser) return } + groupNotification(constant.GroupApplicationAcceptedNotification, &GroupApplicationAcceptedTips, req.OpUserID, "", req.FromUserID, req.OperationID) + adminList, err := imdb.GetOwnerManagerByGroupID(req.GroupID) + if err != nil { + log.Error(req.OperationID, "GetOwnerManagerByGroupID failed", req.GroupID) + return + } + for _, v := range adminList { + if v.UserID == req.OpUserID { + continue + } + GroupApplicationAcceptedTips.ReceiverAs = 1 + groupNotification(constant.GroupApplicationAcceptedNotification, &GroupApplicationAcceptedTips, req.OpUserID, "", v.UserID, req.OperationID) + } } func GroupApplicationRejectedNotification(req *pbGroup.GroupApplicationResponseReq) { @@ -449,6 +462,18 @@ func GroupApplicationRejectedNotification(req *pbGroup.GroupApplicationResponseR return } groupNotification(constant.GroupApplicationRejectedNotification, &GroupApplicationRejectedTips, req.OpUserID, "", req.FromUserID, req.OperationID) + adminList, err := imdb.GetOwnerManagerByGroupID(req.GroupID) + if err != nil { + log.Error(req.OperationID, "GetOwnerManagerByGroupID failed", req.GroupID) + return + } + for _, v := range adminList { + if v.UserID == req.OpUserID { + continue + } + GroupApplicationRejectedTips.ReceiverAs = 1 + groupNotification(constant.GroupApplicationRejectedNotification, &GroupApplicationRejectedTips, req.OpUserID, "", v.UserID, req.OperationID) + } } func GroupOwnerTransferredNotification(req *pbGroup.TransferGroupOwnerReq) { diff --git a/pkg/proto/sdk_ws/ws.pb.go b/pkg/proto/sdk_ws/ws.pb.go index 9ee84f836..4e3253a77 100644 --- a/pkg/proto/sdk_ws/ws.pb.go +++ b/pkg/proto/sdk_ws/ws.pb.go @@ -46,7 +46,7 @@ func (m *GroupInfo) Reset() { *m = GroupInfo{} } func (m *GroupInfo) String() string { return proto.CompactTextString(m) } func (*GroupInfo) ProtoMessage() {} func (*GroupInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{0} + return fileDescriptor_ws_daf4b815cf2c5193, []int{0} } func (m *GroupInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfo.Unmarshal(m, b) @@ -204,7 +204,7 @@ func (m *GroupInfoForSet) Reset() { *m = GroupInfoForSet{} } func (m *GroupInfoForSet) String() string { return proto.CompactTextString(m) } func (*GroupInfoForSet) ProtoMessage() {} func (*GroupInfoForSet) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{1} + return fileDescriptor_ws_daf4b815cf2c5193, []int{1} } func (m *GroupInfoForSet) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfoForSet.Unmarshal(m, b) @@ -309,7 +309,7 @@ func (m *GroupMemberFullInfo) Reset() { *m = GroupMemberFullInfo{} } func (m *GroupMemberFullInfo) String() string { return proto.CompactTextString(m) } func (*GroupMemberFullInfo) ProtoMessage() {} func (*GroupMemberFullInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{2} + return fileDescriptor_ws_daf4b815cf2c5193, []int{2} } func (m *GroupMemberFullInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMemberFullInfo.Unmarshal(m, b) @@ -428,7 +428,7 @@ func (m *PublicUserInfo) Reset() { *m = PublicUserInfo{} } func (m *PublicUserInfo) String() string { return proto.CompactTextString(m) } func (*PublicUserInfo) ProtoMessage() {} func (*PublicUserInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{3} + return fileDescriptor_ws_daf4b815cf2c5193, []int{3} } func (m *PublicUserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PublicUserInfo.Unmarshal(m, b) @@ -505,7 +505,7 @@ func (m *UserInfo) Reset() { *m = UserInfo{} } func (m *UserInfo) String() string { return proto.CompactTextString(m) } func (*UserInfo) ProtoMessage() {} func (*UserInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{4} + return fileDescriptor_ws_daf4b815cf2c5193, []int{4} } func (m *UserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfo.Unmarshal(m, b) @@ -626,7 +626,7 @@ func (m *FriendInfo) Reset() { *m = FriendInfo{} } func (m *FriendInfo) String() string { return proto.CompactTextString(m) } func (*FriendInfo) ProtoMessage() {} func (*FriendInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{5} + return fileDescriptor_ws_daf4b815cf2c5193, []int{5} } func (m *FriendInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendInfo.Unmarshal(m, b) @@ -711,7 +711,7 @@ func (m *BlackInfo) Reset() { *m = BlackInfo{} } func (m *BlackInfo) String() string { return proto.CompactTextString(m) } func (*BlackInfo) ProtoMessage() {} func (*BlackInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{6} + return fileDescriptor_ws_daf4b815cf2c5193, []int{6} } func (m *BlackInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackInfo.Unmarshal(m, b) @@ -794,7 +794,7 @@ func (m *GroupRequest) Reset() { *m = GroupRequest{} } func (m *GroupRequest) String() string { return proto.CompactTextString(m) } func (*GroupRequest) ProtoMessage() {} func (*GroupRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{7} + return fileDescriptor_ws_daf4b815cf2c5193, []int{7} } func (m *GroupRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupRequest.Unmarshal(m, b) @@ -916,7 +916,7 @@ func (m *FriendRequest) Reset() { *m = FriendRequest{} } func (m *FriendRequest) String() string { return proto.CompactTextString(m) } func (*FriendRequest) ProtoMessage() {} func (*FriendRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{8} + return fileDescriptor_ws_daf4b815cf2c5193, []int{8} } func (m *FriendRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendRequest.Unmarshal(m, b) @@ -1061,7 +1061,7 @@ func (m *Department) Reset() { *m = Department{} } func (m *Department) String() string { return proto.CompactTextString(m) } func (*Department) ProtoMessage() {} func (*Department) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{9} + return fileDescriptor_ws_daf4b815cf2c5193, []int{9} } func (m *Department) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Department.Unmarshal(m, b) @@ -1173,7 +1173,7 @@ func (m *OrganizationUser) Reset() { *m = OrganizationUser{} } func (m *OrganizationUser) String() string { return proto.CompactTextString(m) } func (*OrganizationUser) ProtoMessage() {} func (*OrganizationUser) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{10} + return fileDescriptor_ws_daf4b815cf2c5193, []int{10} } func (m *OrganizationUser) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OrganizationUser.Unmarshal(m, b) @@ -1294,7 +1294,7 @@ func (m *DepartmentMember) Reset() { *m = DepartmentMember{} } func (m *DepartmentMember) String() string { return proto.CompactTextString(m) } func (*DepartmentMember) ProtoMessage() {} func (*DepartmentMember) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{11} + return fileDescriptor_ws_daf4b815cf2c5193, []int{11} } func (m *DepartmentMember) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DepartmentMember.Unmarshal(m, b) @@ -1375,7 +1375,7 @@ func (m *UserDepartmentMember) Reset() { *m = UserDepartmentMember{} } func (m *UserDepartmentMember) String() string { return proto.CompactTextString(m) } func (*UserDepartmentMember) ProtoMessage() {} func (*UserDepartmentMember) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{12} + return fileDescriptor_ws_daf4b815cf2c5193, []int{12} } func (m *UserDepartmentMember) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserDepartmentMember.Unmarshal(m, b) @@ -1421,7 +1421,7 @@ func (m *UserInDepartment) Reset() { *m = UserInDepartment{} } func (m *UserInDepartment) String() string { return proto.CompactTextString(m) } func (*UserInDepartment) ProtoMessage() {} func (*UserInDepartment) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{13} + return fileDescriptor_ws_daf4b815cf2c5193, []int{13} } func (m *UserInDepartment) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInDepartment.Unmarshal(m, b) @@ -1470,7 +1470,7 @@ func (m *PullMessageBySeqListReq) Reset() { *m = PullMessageBySeqListReq func (m *PullMessageBySeqListReq) String() string { return proto.CompactTextString(m) } func (*PullMessageBySeqListReq) ProtoMessage() {} func (*PullMessageBySeqListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{14} + return fileDescriptor_ws_daf4b815cf2c5193, []int{14} } func (m *PullMessageBySeqListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListReq.Unmarshal(m, b) @@ -1529,7 +1529,7 @@ func (m *SeqList) Reset() { *m = SeqList{} } func (m *SeqList) String() string { return proto.CompactTextString(m) } func (*SeqList) ProtoMessage() {} func (*SeqList) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{15} + return fileDescriptor_ws_daf4b815cf2c5193, []int{15} } func (m *SeqList) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SeqList.Unmarshal(m, b) @@ -1567,7 +1567,7 @@ func (m *MsgDataList) Reset() { *m = MsgDataList{} } func (m *MsgDataList) String() string { return proto.CompactTextString(m) } func (*MsgDataList) ProtoMessage() {} func (*MsgDataList) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{16} + return fileDescriptor_ws_daf4b815cf2c5193, []int{16} } func (m *MsgDataList) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataList.Unmarshal(m, b) @@ -1608,7 +1608,7 @@ func (m *PullMessageBySeqListResp) Reset() { *m = PullMessageBySeqListRe func (m *PullMessageBySeqListResp) String() string { return proto.CompactTextString(m) } func (*PullMessageBySeqListResp) ProtoMessage() {} func (*PullMessageBySeqListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{17} + return fileDescriptor_ws_daf4b815cf2c5193, []int{17} } func (m *PullMessageBySeqListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListResp.Unmarshal(m, b) @@ -1669,7 +1669,7 @@ func (m *GetMaxAndMinSeqReq) Reset() { *m = GetMaxAndMinSeqReq{} } func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqReq) ProtoMessage() {} func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{18} + return fileDescriptor_ws_daf4b815cf2c5193, []int{18} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -1722,7 +1722,7 @@ func (m *MaxAndMinSeq) Reset() { *m = MaxAndMinSeq{} } func (m *MaxAndMinSeq) String() string { return proto.CompactTextString(m) } func (*MaxAndMinSeq) ProtoMessage() {} func (*MaxAndMinSeq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{19} + return fileDescriptor_ws_daf4b815cf2c5193, []int{19} } func (m *MaxAndMinSeq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MaxAndMinSeq.Unmarshal(m, b) @@ -1771,7 +1771,7 @@ func (m *GetMaxAndMinSeqResp) Reset() { *m = GetMaxAndMinSeqResp{} } func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqResp) ProtoMessage() {} func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{20} + return fileDescriptor_ws_daf4b815cf2c5193, []int{20} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -1839,7 +1839,7 @@ func (m *UserSendMsgResp) Reset() { *m = UserSendMsgResp{} } func (m *UserSendMsgResp) String() string { return proto.CompactTextString(m) } func (*UserSendMsgResp) ProtoMessage() {} func (*UserSendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{21} + return fileDescriptor_ws_daf4b815cf2c5193, []int{21} } func (m *UserSendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserSendMsgResp.Unmarshal(m, b) @@ -1912,7 +1912,7 @@ func (m *MsgData) Reset() { *m = MsgData{} } func (m *MsgData) String() string { return proto.CompactTextString(m) } func (*MsgData) ProtoMessage() {} func (*MsgData) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{22} + return fileDescriptor_ws_daf4b815cf2c5193, []int{22} } func (m *MsgData) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgData.Unmarshal(m, b) @@ -2101,7 +2101,7 @@ func (m *OfflinePushInfo) Reset() { *m = OfflinePushInfo{} } func (m *OfflinePushInfo) String() string { return proto.CompactTextString(m) } func (*OfflinePushInfo) ProtoMessage() {} func (*OfflinePushInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{23} + return fileDescriptor_ws_daf4b815cf2c5193, []int{23} } func (m *OfflinePushInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OfflinePushInfo.Unmarshal(m, b) @@ -2169,7 +2169,7 @@ func (m *TipsComm) Reset() { *m = TipsComm{} } func (m *TipsComm) String() string { return proto.CompactTextString(m) } func (*TipsComm) ProtoMessage() {} func (*TipsComm) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{24} + return fileDescriptor_ws_daf4b815cf2c5193, []int{24} } func (m *TipsComm) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TipsComm.Unmarshal(m, b) @@ -2226,7 +2226,7 @@ func (m *GroupCreatedTips) Reset() { *m = GroupCreatedTips{} } func (m *GroupCreatedTips) String() string { return proto.CompactTextString(m) } func (*GroupCreatedTips) ProtoMessage() {} func (*GroupCreatedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{25} + return fileDescriptor_ws_daf4b815cf2c5193, []int{25} } func (m *GroupCreatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupCreatedTips.Unmarshal(m, b) @@ -2295,7 +2295,7 @@ func (m *GroupInfoSetTips) Reset() { *m = GroupInfoSetTips{} } func (m *GroupInfoSetTips) String() string { return proto.CompactTextString(m) } func (*GroupInfoSetTips) ProtoMessage() {} func (*GroupInfoSetTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{26} + return fileDescriptor_ws_daf4b815cf2c5193, []int{26} } func (m *GroupInfoSetTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfoSetTips.Unmarshal(m, b) @@ -2350,7 +2350,7 @@ func (m *JoinGroupApplicationTips) Reset() { *m = JoinGroupApplicationTi func (m *JoinGroupApplicationTips) String() string { return proto.CompactTextString(m) } func (*JoinGroupApplicationTips) ProtoMessage() {} func (*JoinGroupApplicationTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{27} + return fileDescriptor_ws_daf4b815cf2c5193, []int{27} } func (m *JoinGroupApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_JoinGroupApplicationTips.Unmarshal(m, b) @@ -2406,7 +2406,7 @@ func (m *MemberQuitTips) Reset() { *m = MemberQuitTips{} } func (m *MemberQuitTips) String() string { return proto.CompactTextString(m) } func (*MemberQuitTips) ProtoMessage() {} func (*MemberQuitTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{28} + return fileDescriptor_ws_daf4b815cf2c5193, []int{28} } func (m *MemberQuitTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberQuitTips.Unmarshal(m, b) @@ -2452,6 +2452,7 @@ type GroupApplicationAcceptedTips struct { Group *GroupInfo `protobuf:"bytes,1,opt,name=group" json:"group,omitempty"` OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser" json:"opUser,omitempty"` HandleMsg string `protobuf:"bytes,4,opt,name=handleMsg" json:"handleMsg,omitempty"` + ReceiverAs int32 `protobuf:"varint,5,opt,name=receiverAs" json:"receiverAs,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -2461,7 +2462,7 @@ func (m *GroupApplicationAcceptedTips) Reset() { *m = GroupApplicationAc func (m *GroupApplicationAcceptedTips) String() string { return proto.CompactTextString(m) } func (*GroupApplicationAcceptedTips) ProtoMessage() {} func (*GroupApplicationAcceptedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{29} + return fileDescriptor_ws_daf4b815cf2c5193, []int{29} } func (m *GroupApplicationAcceptedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationAcceptedTips.Unmarshal(m, b) @@ -2502,11 +2503,19 @@ func (m *GroupApplicationAcceptedTips) GetHandleMsg() string { return "" } +func (m *GroupApplicationAcceptedTips) GetReceiverAs() int32 { + if m != nil { + return m.ReceiverAs + } + return 0 +} + // OnApplicationGroupRejected() type GroupApplicationRejectedTips struct { Group *GroupInfo `protobuf:"bytes,1,opt,name=group" json:"group,omitempty"` OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser" json:"opUser,omitempty"` HandleMsg string `protobuf:"bytes,4,opt,name=handleMsg" json:"handleMsg,omitempty"` + ReceiverAs int32 `protobuf:"varint,5,opt,name=receiverAs" json:"receiverAs,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -2516,7 +2525,7 @@ func (m *GroupApplicationRejectedTips) Reset() { *m = GroupApplicationRe func (m *GroupApplicationRejectedTips) String() string { return proto.CompactTextString(m) } func (*GroupApplicationRejectedTips) ProtoMessage() {} func (*GroupApplicationRejectedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{30} + return fileDescriptor_ws_daf4b815cf2c5193, []int{30} } func (m *GroupApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationRejectedTips.Unmarshal(m, b) @@ -2557,6 +2566,13 @@ func (m *GroupApplicationRejectedTips) GetHandleMsg() string { return "" } +func (m *GroupApplicationRejectedTips) GetReceiverAs() int32 { + if m != nil { + return m.ReceiverAs + } + return 0 +} + // OnTransferGroupOwner() type GroupOwnerTransferredTips struct { Group *GroupInfo `protobuf:"bytes,1,opt,name=group" json:"group,omitempty"` @@ -2572,7 +2588,7 @@ func (m *GroupOwnerTransferredTips) Reset() { *m = GroupOwnerTransferred func (m *GroupOwnerTransferredTips) String() string { return proto.CompactTextString(m) } func (*GroupOwnerTransferredTips) ProtoMessage() {} func (*GroupOwnerTransferredTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{31} + return fileDescriptor_ws_daf4b815cf2c5193, []int{31} } func (m *GroupOwnerTransferredTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupOwnerTransferredTips.Unmarshal(m, b) @@ -2635,7 +2651,7 @@ func (m *MemberKickedTips) Reset() { *m = MemberKickedTips{} } func (m *MemberKickedTips) String() string { return proto.CompactTextString(m) } func (*MemberKickedTips) ProtoMessage() {} func (*MemberKickedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{32} + return fileDescriptor_ws_daf4b815cf2c5193, []int{32} } func (m *MemberKickedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberKickedTips.Unmarshal(m, b) @@ -2698,7 +2714,7 @@ func (m *MemberInvitedTips) Reset() { *m = MemberInvitedTips{} } func (m *MemberInvitedTips) String() string { return proto.CompactTextString(m) } func (*MemberInvitedTips) ProtoMessage() {} func (*MemberInvitedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{33} + return fileDescriptor_ws_daf4b815cf2c5193, []int{33} } func (m *MemberInvitedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberInvitedTips.Unmarshal(m, b) @@ -2760,7 +2776,7 @@ func (m *MemberEnterTips) Reset() { *m = MemberEnterTips{} } func (m *MemberEnterTips) String() string { return proto.CompactTextString(m) } func (*MemberEnterTips) ProtoMessage() {} func (*MemberEnterTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{34} + return fileDescriptor_ws_daf4b815cf2c5193, []int{34} } func (m *MemberEnterTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberEnterTips.Unmarshal(m, b) @@ -2814,7 +2830,7 @@ func (m *GroupDismissedTips) Reset() { *m = GroupDismissedTips{} } func (m *GroupDismissedTips) String() string { return proto.CompactTextString(m) } func (*GroupDismissedTips) ProtoMessage() {} func (*GroupDismissedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{35} + return fileDescriptor_ws_daf4b815cf2c5193, []int{35} } func (m *GroupDismissedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupDismissedTips.Unmarshal(m, b) @@ -2870,7 +2886,7 @@ func (m *GroupMemberMutedTips) Reset() { *m = GroupMemberMutedTips{} } func (m *GroupMemberMutedTips) String() string { return proto.CompactTextString(m) } func (*GroupMemberMutedTips) ProtoMessage() {} func (*GroupMemberMutedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{36} + return fileDescriptor_ws_daf4b815cf2c5193, []int{36} } func (m *GroupMemberMutedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMemberMutedTips.Unmarshal(m, b) @@ -2939,7 +2955,7 @@ func (m *GroupMemberCancelMutedTips) Reset() { *m = GroupMemberCancelMut func (m *GroupMemberCancelMutedTips) String() string { return proto.CompactTextString(m) } func (*GroupMemberCancelMutedTips) ProtoMessage() {} func (*GroupMemberCancelMutedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{37} + return fileDescriptor_ws_daf4b815cf2c5193, []int{37} } func (m *GroupMemberCancelMutedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMemberCancelMutedTips.Unmarshal(m, b) @@ -3000,7 +3016,7 @@ func (m *GroupMutedTips) Reset() { *m = GroupMutedTips{} } func (m *GroupMutedTips) String() string { return proto.CompactTextString(m) } func (*GroupMutedTips) ProtoMessage() {} func (*GroupMutedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{38} + return fileDescriptor_ws_daf4b815cf2c5193, []int{38} } func (m *GroupMutedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMutedTips.Unmarshal(m, b) @@ -3054,7 +3070,7 @@ func (m *GroupCancelMutedTips) Reset() { *m = GroupCancelMutedTips{} } func (m *GroupCancelMutedTips) String() string { return proto.CompactTextString(m) } func (*GroupCancelMutedTips) ProtoMessage() {} func (*GroupCancelMutedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{39} + return fileDescriptor_ws_daf4b815cf2c5193, []int{39} } func (m *GroupCancelMutedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupCancelMutedTips.Unmarshal(m, b) @@ -3109,7 +3125,7 @@ func (m *GroupMemberInfoSetTips) Reset() { *m = GroupMemberInfoSetTips{} func (m *GroupMemberInfoSetTips) String() string { return proto.CompactTextString(m) } func (*GroupMemberInfoSetTips) ProtoMessage() {} func (*GroupMemberInfoSetTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{40} + return fileDescriptor_ws_daf4b815cf2c5193, []int{40} } func (m *GroupMemberInfoSetTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMemberInfoSetTips.Unmarshal(m, b) @@ -3169,7 +3185,7 @@ func (m *OrganizationChangedTips) Reset() { *m = OrganizationChangedTips func (m *OrganizationChangedTips) String() string { return proto.CompactTextString(m) } func (*OrganizationChangedTips) ProtoMessage() {} func (*OrganizationChangedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{41} + return fileDescriptor_ws_daf4b815cf2c5193, []int{41} } func (m *OrganizationChangedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OrganizationChangedTips.Unmarshal(m, b) @@ -3216,7 +3232,7 @@ func (m *FriendApplication) Reset() { *m = FriendApplication{} } func (m *FriendApplication) String() string { return proto.CompactTextString(m) } func (*FriendApplication) ProtoMessage() {} func (*FriendApplication) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{42} + return fileDescriptor_ws_daf4b815cf2c5193, []int{42} } func (m *FriendApplication) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplication.Unmarshal(m, b) @@ -3269,7 +3285,7 @@ func (m *FromToUserID) Reset() { *m = FromToUserID{} } func (m *FromToUserID) String() string { return proto.CompactTextString(m) } func (*FromToUserID) ProtoMessage() {} func (*FromToUserID) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{43} + return fileDescriptor_ws_daf4b815cf2c5193, []int{43} } func (m *FromToUserID) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FromToUserID.Unmarshal(m, b) @@ -3315,7 +3331,7 @@ func (m *FriendApplicationTips) Reset() { *m = FriendApplicationTips{} } func (m *FriendApplicationTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationTips) ProtoMessage() {} func (*FriendApplicationTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{44} + return fileDescriptor_ws_daf4b815cf2c5193, []int{44} } func (m *FriendApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationTips.Unmarshal(m, b) @@ -3355,7 +3371,7 @@ func (m *FriendApplicationApprovedTips) Reset() { *m = FriendApplication func (m *FriendApplicationApprovedTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationApprovedTips) ProtoMessage() {} func (*FriendApplicationApprovedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{45} + return fileDescriptor_ws_daf4b815cf2c5193, []int{45} } func (m *FriendApplicationApprovedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationApprovedTips.Unmarshal(m, b) @@ -3402,7 +3418,7 @@ func (m *FriendApplicationRejectedTips) Reset() { *m = FriendApplication func (m *FriendApplicationRejectedTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationRejectedTips) ProtoMessage() {} func (*FriendApplicationRejectedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{46} + return fileDescriptor_ws_daf4b815cf2c5193, []int{46} } func (m *FriendApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationRejectedTips.Unmarshal(m, b) @@ -3450,7 +3466,7 @@ func (m *FriendAddedTips) Reset() { *m = FriendAddedTips{} } func (m *FriendAddedTips) String() string { return proto.CompactTextString(m) } func (*FriendAddedTips) ProtoMessage() {} func (*FriendAddedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{47} + return fileDescriptor_ws_daf4b815cf2c5193, []int{47} } func (m *FriendAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendAddedTips.Unmarshal(m, b) @@ -3503,7 +3519,7 @@ func (m *FriendDeletedTips) Reset() { *m = FriendDeletedTips{} } func (m *FriendDeletedTips) String() string { return proto.CompactTextString(m) } func (*FriendDeletedTips) ProtoMessage() {} func (*FriendDeletedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{48} + return fileDescriptor_ws_daf4b815cf2c5193, []int{48} } func (m *FriendDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendDeletedTips.Unmarshal(m, b) @@ -3541,7 +3557,7 @@ func (m *BlackAddedTips) Reset() { *m = BlackAddedTips{} } func (m *BlackAddedTips) String() string { return proto.CompactTextString(m) } func (*BlackAddedTips) ProtoMessage() {} func (*BlackAddedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{49} + return fileDescriptor_ws_daf4b815cf2c5193, []int{49} } func (m *BlackAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackAddedTips.Unmarshal(m, b) @@ -3579,7 +3595,7 @@ func (m *BlackDeletedTips) Reset() { *m = BlackDeletedTips{} } func (m *BlackDeletedTips) String() string { return proto.CompactTextString(m) } func (*BlackDeletedTips) ProtoMessage() {} func (*BlackDeletedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{50} + return fileDescriptor_ws_daf4b815cf2c5193, []int{50} } func (m *BlackDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackDeletedTips.Unmarshal(m, b) @@ -3617,7 +3633,7 @@ func (m *FriendInfoChangedTips) Reset() { *m = FriendInfoChangedTips{} } func (m *FriendInfoChangedTips) String() string { return proto.CompactTextString(m) } func (*FriendInfoChangedTips) ProtoMessage() {} func (*FriendInfoChangedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{51} + return fileDescriptor_ws_daf4b815cf2c5193, []int{51} } func (m *FriendInfoChangedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendInfoChangedTips.Unmarshal(m, b) @@ -3656,7 +3672,7 @@ func (m *UserInfoUpdatedTips) Reset() { *m = UserInfoUpdatedTips{} } func (m *UserInfoUpdatedTips) String() string { return proto.CompactTextString(m) } func (*UserInfoUpdatedTips) ProtoMessage() {} func (*UserInfoUpdatedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{52} + return fileDescriptor_ws_daf4b815cf2c5193, []int{52} } func (m *UserInfoUpdatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfoUpdatedTips.Unmarshal(m, b) @@ -3697,7 +3713,7 @@ func (m *ConversationUpdateTips) Reset() { *m = ConversationUpdateTips{} func (m *ConversationUpdateTips) String() string { return proto.CompactTextString(m) } func (*ConversationUpdateTips) ProtoMessage() {} func (*ConversationUpdateTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{53} + return fileDescriptor_ws_daf4b815cf2c5193, []int{53} } func (m *ConversationUpdateTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConversationUpdateTips.Unmarshal(m, b) @@ -3751,7 +3767,7 @@ func (m *ConversationSetPrivateTips) Reset() { *m = ConversationSetPriva func (m *ConversationSetPrivateTips) String() string { return proto.CompactTextString(m) } func (*ConversationSetPrivateTips) ProtoMessage() {} func (*ConversationSetPrivateTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{54} + return fileDescriptor_ws_daf4b815cf2c5193, []int{54} } func (m *ConversationSetPrivateTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConversationSetPrivateTips.Unmarshal(m, b) @@ -3806,7 +3822,7 @@ func (m *DeleteMessageTips) Reset() { *m = DeleteMessageTips{} } func (m *DeleteMessageTips) String() string { return proto.CompactTextString(m) } func (*DeleteMessageTips) ProtoMessage() {} func (*DeleteMessageTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{55} + return fileDescriptor_ws_daf4b815cf2c5193, []int{55} } func (m *DeleteMessageTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteMessageTips.Unmarshal(m, b) @@ -3860,7 +3876,7 @@ func (m *RequestPagination) Reset() { *m = RequestPagination{} } func (m *RequestPagination) String() string { return proto.CompactTextString(m) } func (*RequestPagination) ProtoMessage() {} func (*RequestPagination) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{56} + return fileDescriptor_ws_daf4b815cf2c5193, []int{56} } func (m *RequestPagination) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RequestPagination.Unmarshal(m, b) @@ -3906,7 +3922,7 @@ func (m *ResponsePagination) Reset() { *m = ResponsePagination{} } func (m *ResponsePagination) String() string { return proto.CompactTextString(m) } func (*ResponsePagination) ProtoMessage() {} func (*ResponsePagination) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{57} + return fileDescriptor_ws_daf4b815cf2c5193, []int{57} } func (m *ResponsePagination) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ResponsePagination.Unmarshal(m, b) @@ -3963,7 +3979,7 @@ func (m *SignalReq) Reset() { *m = SignalReq{} } func (m *SignalReq) String() string { return proto.CompactTextString(m) } func (*SignalReq) ProtoMessage() {} func (*SignalReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{58} + return fileDescriptor_ws_daf4b815cf2c5193, []int{58} } func (m *SignalReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalReq.Unmarshal(m, b) @@ -4352,7 +4368,7 @@ func (m *SignalResp) Reset() { *m = SignalResp{} } func (m *SignalResp) String() string { return proto.CompactTextString(m) } func (*SignalResp) ProtoMessage() {} func (*SignalResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{59} + return fileDescriptor_ws_daf4b815cf2c5193, []int{59} } func (m *SignalResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalResp.Unmarshal(m, b) @@ -4682,7 +4698,7 @@ func (m *InvitationInfo) Reset() { *m = InvitationInfo{} } func (m *InvitationInfo) String() string { return proto.CompactTextString(m) } func (*InvitationInfo) ProtoMessage() {} func (*InvitationInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{60} + return fileDescriptor_ws_daf4b815cf2c5193, []int{60} } func (m *InvitationInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_InvitationInfo.Unmarshal(m, b) @@ -4792,7 +4808,7 @@ func (m *ParticipantMetaData) Reset() { *m = ParticipantMetaData{} } func (m *ParticipantMetaData) String() string { return proto.CompactTextString(m) } func (*ParticipantMetaData) ProtoMessage() {} func (*ParticipantMetaData) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{61} + return fileDescriptor_ws_daf4b815cf2c5193, []int{61} } func (m *ParticipantMetaData) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ParticipantMetaData.Unmarshal(m, b) @@ -4847,7 +4863,7 @@ func (m *SignalInviteReq) Reset() { *m = SignalInviteReq{} } func (m *SignalInviteReq) String() string { return proto.CompactTextString(m) } func (*SignalInviteReq) ProtoMessage() {} func (*SignalInviteReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{62} + return fileDescriptor_ws_daf4b815cf2c5193, []int{62} } func (m *SignalInviteReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteReq.Unmarshal(m, b) @@ -4909,7 +4925,7 @@ func (m *SignalInviteReply) Reset() { *m = SignalInviteReply{} } func (m *SignalInviteReply) String() string { return proto.CompactTextString(m) } func (*SignalInviteReply) ProtoMessage() {} func (*SignalInviteReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{63} + return fileDescriptor_ws_daf4b815cf2c5193, []int{63} } func (m *SignalInviteReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteReply.Unmarshal(m, b) @@ -4971,7 +4987,7 @@ func (m *SignalInviteInGroupReq) Reset() { *m = SignalInviteInGroupReq{} func (m *SignalInviteInGroupReq) String() string { return proto.CompactTextString(m) } func (*SignalInviteInGroupReq) ProtoMessage() {} func (*SignalInviteInGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{64} + return fileDescriptor_ws_daf4b815cf2c5193, []int{64} } func (m *SignalInviteInGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteInGroupReq.Unmarshal(m, b) @@ -5033,7 +5049,7 @@ func (m *SignalInviteInGroupReply) Reset() { *m = SignalInviteInGroupRep func (m *SignalInviteInGroupReply) String() string { return proto.CompactTextString(m) } func (*SignalInviteInGroupReply) ProtoMessage() {} func (*SignalInviteInGroupReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{65} + return fileDescriptor_ws_daf4b815cf2c5193, []int{65} } func (m *SignalInviteInGroupReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteInGroupReply.Unmarshal(m, b) @@ -5095,7 +5111,7 @@ func (m *SignalCancelReq) Reset() { *m = SignalCancelReq{} } func (m *SignalCancelReq) String() string { return proto.CompactTextString(m) } func (*SignalCancelReq) ProtoMessage() {} func (*SignalCancelReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{66} + return fileDescriptor_ws_daf4b815cf2c5193, []int{66} } func (m *SignalCancelReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalCancelReq.Unmarshal(m, b) @@ -5153,7 +5169,7 @@ func (m *SignalCancelReply) Reset() { *m = SignalCancelReply{} } func (m *SignalCancelReply) String() string { return proto.CompactTextString(m) } func (*SignalCancelReply) ProtoMessage() {} func (*SignalCancelReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{67} + return fileDescriptor_ws_daf4b815cf2c5193, []int{67} } func (m *SignalCancelReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalCancelReply.Unmarshal(m, b) @@ -5188,7 +5204,7 @@ func (m *SignalAcceptReq) Reset() { *m = SignalAcceptReq{} } func (m *SignalAcceptReq) String() string { return proto.CompactTextString(m) } func (*SignalAcceptReq) ProtoMessage() {} func (*SignalAcceptReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{68} + return fileDescriptor_ws_daf4b815cf2c5193, []int{68} } func (m *SignalAcceptReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalAcceptReq.Unmarshal(m, b) @@ -5256,7 +5272,7 @@ func (m *SignalAcceptReply) Reset() { *m = SignalAcceptReply{} } func (m *SignalAcceptReply) String() string { return proto.CompactTextString(m) } func (*SignalAcceptReply) ProtoMessage() {} func (*SignalAcceptReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{69} + return fileDescriptor_ws_daf4b815cf2c5193, []int{69} } func (m *SignalAcceptReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalAcceptReply.Unmarshal(m, b) @@ -5310,7 +5326,7 @@ func (m *SignalHungUpReq) Reset() { *m = SignalHungUpReq{} } func (m *SignalHungUpReq) String() string { return proto.CompactTextString(m) } func (*SignalHungUpReq) ProtoMessage() {} func (*SignalHungUpReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{70} + return fileDescriptor_ws_daf4b815cf2c5193, []int{70} } func (m *SignalHungUpReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalHungUpReq.Unmarshal(m, b) @@ -5361,7 +5377,7 @@ func (m *SignalHungUpReply) Reset() { *m = SignalHungUpReply{} } func (m *SignalHungUpReply) String() string { return proto.CompactTextString(m) } func (*SignalHungUpReply) ProtoMessage() {} func (*SignalHungUpReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{71} + return fileDescriptor_ws_daf4b815cf2c5193, []int{71} } func (m *SignalHungUpReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalHungUpReply.Unmarshal(m, b) @@ -5396,7 +5412,7 @@ func (m *SignalRejectReq) Reset() { *m = SignalRejectReq{} } func (m *SignalRejectReq) String() string { return proto.CompactTextString(m) } func (*SignalRejectReq) ProtoMessage() {} func (*SignalRejectReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{72} + return fileDescriptor_ws_daf4b815cf2c5193, []int{72} } func (m *SignalRejectReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalRejectReq.Unmarshal(m, b) @@ -5461,7 +5477,7 @@ func (m *SignalRejectReply) Reset() { *m = SignalRejectReply{} } func (m *SignalRejectReply) String() string { return proto.CompactTextString(m) } func (*SignalRejectReply) ProtoMessage() {} func (*SignalRejectReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{73} + return fileDescriptor_ws_daf4b815cf2c5193, []int{73} } func (m *SignalRejectReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalRejectReply.Unmarshal(m, b) @@ -5494,7 +5510,7 @@ func (m *SignalGetRoomByGroupIDReq) Reset() { *m = SignalGetRoomByGroupI func (m *SignalGetRoomByGroupIDReq) String() string { return proto.CompactTextString(m) } func (*SignalGetRoomByGroupIDReq) ProtoMessage() {} func (*SignalGetRoomByGroupIDReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{74} + return fileDescriptor_ws_daf4b815cf2c5193, []int{74} } func (m *SignalGetRoomByGroupIDReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalGetRoomByGroupIDReq.Unmarshal(m, b) @@ -5548,7 +5564,7 @@ func (m *SignalGetRoomByGroupIDReply) Reset() { *m = SignalGetRoomByGrou func (m *SignalGetRoomByGroupIDReply) String() string { return proto.CompactTextString(m) } func (*SignalGetRoomByGroupIDReply) ProtoMessage() {} func (*SignalGetRoomByGroupIDReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{75} + return fileDescriptor_ws_daf4b815cf2c5193, []int{75} } func (m *SignalGetRoomByGroupIDReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalGetRoomByGroupIDReply.Unmarshal(m, b) @@ -5602,7 +5618,7 @@ func (m *SignalOnRoomParticipantConnectedReq) Reset() { *m = SignalOnRoo func (m *SignalOnRoomParticipantConnectedReq) String() string { return proto.CompactTextString(m) } func (*SignalOnRoomParticipantConnectedReq) ProtoMessage() {} func (*SignalOnRoomParticipantConnectedReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{76} + return fileDescriptor_ws_daf4b815cf2c5193, []int{76} } func (m *SignalOnRoomParticipantConnectedReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalOnRoomParticipantConnectedReq.Unmarshal(m, b) @@ -5658,7 +5674,7 @@ func (m *SignalOnRoomParticipantDisconnectedReq) Reset() { func (m *SignalOnRoomParticipantDisconnectedReq) String() string { return proto.CompactTextString(m) } func (*SignalOnRoomParticipantDisconnectedReq) ProtoMessage() {} func (*SignalOnRoomParticipantDisconnectedReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{77} + return fileDescriptor_ws_daf4b815cf2c5193, []int{77} } func (m *SignalOnRoomParticipantDisconnectedReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalOnRoomParticipantDisconnectedReq.Unmarshal(m, b) @@ -5713,7 +5729,7 @@ func (m *SignalGetTokenByRoomIDReq) Reset() { *m = SignalGetTokenByRoomI func (m *SignalGetTokenByRoomIDReq) String() string { return proto.CompactTextString(m) } func (*SignalGetTokenByRoomIDReq) ProtoMessage() {} func (*SignalGetTokenByRoomIDReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{78} + return fileDescriptor_ws_daf4b815cf2c5193, []int{78} } func (m *SignalGetTokenByRoomIDReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalGetTokenByRoomIDReq.Unmarshal(m, b) @@ -5773,7 +5789,7 @@ func (m *SignalGetTokenByRoomIDReply) Reset() { *m = SignalGetTokenByRoo func (m *SignalGetTokenByRoomIDReply) String() string { return proto.CompactTextString(m) } func (*SignalGetTokenByRoomIDReply) ProtoMessage() {} func (*SignalGetTokenByRoomIDReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{79} + return fileDescriptor_ws_daf4b815cf2c5193, []int{79} } func (m *SignalGetTokenByRoomIDReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalGetTokenByRoomIDReply.Unmarshal(m, b) @@ -5821,7 +5837,7 @@ func (m *DelMsgListReq) Reset() { *m = DelMsgListReq{} } func (m *DelMsgListReq) String() string { return proto.CompactTextString(m) } func (*DelMsgListReq) ProtoMessage() {} func (*DelMsgListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{80} + return fileDescriptor_ws_daf4b815cf2c5193, []int{80} } func (m *DelMsgListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelMsgListReq.Unmarshal(m, b) @@ -5881,7 +5897,7 @@ func (m *DelMsgListResp) Reset() { *m = DelMsgListResp{} } func (m *DelMsgListResp) String() string { return proto.CompactTextString(m) } func (*DelMsgListResp) ProtoMessage() {} func (*DelMsgListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{81} + return fileDescriptor_ws_daf4b815cf2c5193, []int{81} } func (m *DelMsgListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelMsgListResp.Unmarshal(m, b) @@ -5927,7 +5943,7 @@ func (m *SetAppBackgroundStatusReq) Reset() { *m = SetAppBackgroundStatu func (m *SetAppBackgroundStatusReq) String() string { return proto.CompactTextString(m) } func (*SetAppBackgroundStatusReq) ProtoMessage() {} func (*SetAppBackgroundStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{82} + return fileDescriptor_ws_daf4b815cf2c5193, []int{82} } func (m *SetAppBackgroundStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetAppBackgroundStatusReq.Unmarshal(m, b) @@ -5973,7 +5989,7 @@ func (m *SetAppBackgroundStatusResp) Reset() { *m = SetAppBackgroundStat func (m *SetAppBackgroundStatusResp) String() string { return proto.CompactTextString(m) } func (*SetAppBackgroundStatusResp) ProtoMessage() {} func (*SetAppBackgroundStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{83} + return fileDescriptor_ws_daf4b815cf2c5193, []int{83} } func (m *SetAppBackgroundStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetAppBackgroundStatusResp.Unmarshal(m, b) @@ -6007,6 +6023,208 @@ func (m *SetAppBackgroundStatusResp) GetErrMsg() string { return "" } +type ExtendMsgSet struct { + ID string `protobuf:"bytes,1,opt,name=ID" json:"ID,omitempty"` + ExtendMsgs []*ExtendMsg `protobuf:"bytes,2,rep,name=extendMsgs" json:"extendMsgs,omitempty"` + LatestUpdateTime int32 `protobuf:"varint,3,opt,name=latestUpdateTime" json:"latestUpdateTime,omitempty"` + AttachedInfo string `protobuf:"bytes,4,opt,name=attachedInfo" json:"attachedInfo,omitempty"` + Ex string `protobuf:"bytes,5,opt,name=ex" json:"ex,omitempty"` + ExtendMsgNum int32 `protobuf:"varint,6,opt,name=extendMsgNum" json:"extendMsgNum,omitempty"` + CreateTime int32 `protobuf:"varint,7,opt,name=createTime" json:"createTime,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ExtendMsgSet) Reset() { *m = ExtendMsgSet{} } +func (m *ExtendMsgSet) String() string { return proto.CompactTextString(m) } +func (*ExtendMsgSet) ProtoMessage() {} +func (*ExtendMsgSet) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_daf4b815cf2c5193, []int{84} +} +func (m *ExtendMsgSet) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ExtendMsgSet.Unmarshal(m, b) +} +func (m *ExtendMsgSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ExtendMsgSet.Marshal(b, m, deterministic) +} +func (dst *ExtendMsgSet) XXX_Merge(src proto.Message) { + xxx_messageInfo_ExtendMsgSet.Merge(dst, src) +} +func (m *ExtendMsgSet) XXX_Size() int { + return xxx_messageInfo_ExtendMsgSet.Size(m) +} +func (m *ExtendMsgSet) XXX_DiscardUnknown() { + xxx_messageInfo_ExtendMsgSet.DiscardUnknown(m) +} + +var xxx_messageInfo_ExtendMsgSet proto.InternalMessageInfo + +func (m *ExtendMsgSet) GetID() string { + if m != nil { + return m.ID + } + return "" +} + +func (m *ExtendMsgSet) GetExtendMsgs() []*ExtendMsg { + if m != nil { + return m.ExtendMsgs + } + return nil +} + +func (m *ExtendMsgSet) GetLatestUpdateTime() int32 { + if m != nil { + return m.LatestUpdateTime + } + return 0 +} + +func (m *ExtendMsgSet) GetAttachedInfo() string { + if m != nil { + return m.AttachedInfo + } + return "" +} + +func (m *ExtendMsgSet) GetEx() string { + if m != nil { + return m.Ex + } + return "" +} + +func (m *ExtendMsgSet) GetExtendMsgNum() int32 { + if m != nil { + return m.ExtendMsgNum + } + return 0 +} + +func (m *ExtendMsgSet) GetCreateTime() int32 { + if m != nil { + return m.CreateTime + } + return 0 +} + +type ExtendMsg struct { + Content []*ReactionExtendMsgSet `protobuf:"bytes,1,rep,name=content" json:"content,omitempty"` + ClientMsgID string `protobuf:"bytes,2,opt,name=clientMsgID" json:"clientMsgID,omitempty"` + CreateTime int32 `protobuf:"varint,3,opt,name=createTime" json:"createTime,omitempty"` + LatestUpdateTime int32 `protobuf:"varint,4,opt,name=latestUpdateTime" json:"latestUpdateTime,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ExtendMsg) Reset() { *m = ExtendMsg{} } +func (m *ExtendMsg) String() string { return proto.CompactTextString(m) } +func (*ExtendMsg) ProtoMessage() {} +func (*ExtendMsg) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_daf4b815cf2c5193, []int{85} +} +func (m *ExtendMsg) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ExtendMsg.Unmarshal(m, b) +} +func (m *ExtendMsg) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ExtendMsg.Marshal(b, m, deterministic) +} +func (dst *ExtendMsg) XXX_Merge(src proto.Message) { + xxx_messageInfo_ExtendMsg.Merge(dst, src) +} +func (m *ExtendMsg) XXX_Size() int { + return xxx_messageInfo_ExtendMsg.Size(m) +} +func (m *ExtendMsg) XXX_DiscardUnknown() { + xxx_messageInfo_ExtendMsg.DiscardUnknown(m) +} + +var xxx_messageInfo_ExtendMsg proto.InternalMessageInfo + +func (m *ExtendMsg) GetContent() []*ReactionExtendMsgSet { + if m != nil { + return m.Content + } + return nil +} + +func (m *ExtendMsg) GetClientMsgID() string { + if m != nil { + return m.ClientMsgID + } + return "" +} + +func (m *ExtendMsg) GetCreateTime() int32 { + if m != nil { + return m.CreateTime + } + return 0 +} + +func (m *ExtendMsg) GetLatestUpdateTime() int32 { + if m != nil { + return m.LatestUpdateTime + } + return 0 +} + +type ReactionExtendMsgSet struct { + UserKey string `protobuf:"bytes,1,opt,name=userKey" json:"userKey,omitempty"` + Value string `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"` + LatestUpdateTime int32 `protobuf:"varint,3,opt,name=latestUpdateTime" json:"latestUpdateTime,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ReactionExtendMsgSet) Reset() { *m = ReactionExtendMsgSet{} } +func (m *ReactionExtendMsgSet) String() string { return proto.CompactTextString(m) } +func (*ReactionExtendMsgSet) ProtoMessage() {} +func (*ReactionExtendMsgSet) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_daf4b815cf2c5193, []int{86} +} +func (m *ReactionExtendMsgSet) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ReactionExtendMsgSet.Unmarshal(m, b) +} +func (m *ReactionExtendMsgSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ReactionExtendMsgSet.Marshal(b, m, deterministic) +} +func (dst *ReactionExtendMsgSet) XXX_Merge(src proto.Message) { + xxx_messageInfo_ReactionExtendMsgSet.Merge(dst, src) +} +func (m *ReactionExtendMsgSet) XXX_Size() int { + return xxx_messageInfo_ReactionExtendMsgSet.Size(m) +} +func (m *ReactionExtendMsgSet) XXX_DiscardUnknown() { + xxx_messageInfo_ReactionExtendMsgSet.DiscardUnknown(m) +} + +var xxx_messageInfo_ReactionExtendMsgSet proto.InternalMessageInfo + +func (m *ReactionExtendMsgSet) GetUserKey() string { + if m != nil { + return m.UserKey + } + return "" +} + +func (m *ReactionExtendMsgSet) GetValue() string { + if m != nil { + return m.Value + } + return "" +} + +func (m *ReactionExtendMsgSet) GetLatestUpdateTime() int32 { + if m != nil { + return m.LatestUpdateTime + } + return 0 +} + func init() { proto.RegisterType((*GroupInfo)(nil), "server_api_params.GroupInfo") proto.RegisterType((*GroupInfoForSet)(nil), "server_api_params.GroupInfoForSet") @@ -6096,253 +6314,265 @@ func init() { proto.RegisterType((*DelMsgListResp)(nil), "server_api_params.DelMsgListResp") proto.RegisterType((*SetAppBackgroundStatusReq)(nil), "server_api_params.SetAppBackgroundStatusReq") proto.RegisterType((*SetAppBackgroundStatusResp)(nil), "server_api_params.SetAppBackgroundStatusResp") + proto.RegisterType((*ExtendMsgSet)(nil), "server_api_params.ExtendMsgSet") + proto.RegisterType((*ExtendMsg)(nil), "server_api_params.ExtendMsg") + proto.RegisterType((*ReactionExtendMsgSet)(nil), "server_api_params.ReactionExtendMsgSet") } -func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_064f17309f8224cf) } +func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_daf4b815cf2c5193) } -var fileDescriptor_ws_064f17309f8224cf = []byte{ - // 3880 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x3c, 0x5b, 0x6f, 0x1c, 0xd7, - 0x79, 0x9e, 0x59, 0xee, 0x92, 0xfb, 0x2d, 0x2f, 0xcb, 0x91, 0x44, 0xaf, 0x69, 0x59, 0x65, 0xc7, - 0x82, 0xea, 0xaa, 0x32, 0x55, 0xc8, 0x17, 0xd4, 0x37, 0x15, 0xbc, 0x58, 0x14, 0x6d, 0x2d, 0x49, - 0xcf, 0x4a, 0x56, 0x61, 0x1b, 0x50, 0x87, 0x3b, 0x87, 0xcb, 0x31, 0x67, 0x67, 0x86, 0x73, 0xa1, - 0xc4, 0x3e, 0xb4, 0x40, 0x5b, 0xb4, 0x05, 0xfa, 0x50, 0xa0, 0xe8, 0x05, 0x48, 0xde, 0xf2, 0x12, - 0x24, 0x08, 0x8c, 0x20, 0x48, 0x82, 0x00, 0x09, 0x82, 0x20, 0xc8, 0x43, 0x80, 0x04, 0x48, 0xde, - 0x03, 0x24, 0x48, 0x9e, 0xf2, 0x90, 0x3f, 0x10, 0x20, 0x80, 0x83, 0x73, 0xbe, 0x33, 0x33, 0xe7, - 0xcc, 0xcc, 0x5e, 0x44, 0x10, 0x96, 0x0c, 0xe5, 0x8d, 0xdf, 0x37, 0xe7, 0xfb, 0xce, 0x77, 0x3f, - 0xdf, 0xb9, 0x2c, 0x61, 0x2e, 0xb4, 0x0e, 0xee, 0xdd, 0x0f, 0xaf, 0xde, 0x0f, 0x97, 0xfd, 0xc0, - 0x8b, 0x3c, 0x6d, 0x3e, 0x24, 0xc1, 0x11, 0x09, 0xee, 0x99, 0xbe, 0x7d, 0xcf, 0x37, 0x03, 0xb3, - 0x1f, 0x2e, 0x2e, 0x6f, 0xfb, 0xc4, 0x7d, 0x71, 0xb3, 0xfd, 0x62, 0x87, 0x7d, 0xba, 0xea, 0x1f, - 0xf4, 0xae, 0xb2, 0xc1, 0x57, 0x13, 0xe2, 0xc0, 0xf4, 0x7d, 0x12, 0x70, 0x16, 0xfa, 0xaf, 0x26, - 0xa0, 0xbe, 0x11, 0x78, 0xb1, 0xbf, 0xe9, 0xee, 0x79, 0x5a, 0x0b, 0x26, 0x7b, 0x0c, 0x58, 0x6f, - 0x29, 0x4b, 0xca, 0x0b, 0x75, 0x23, 0x01, 0xb5, 0xf3, 0x50, 0x67, 0x7f, 0x6e, 0x99, 0x7d, 0xd2, - 0x52, 0xd9, 0xb7, 0x0c, 0xa1, 0xe9, 0x30, 0xed, 0x7a, 0x91, 0xbd, 0x67, 0x77, 0xcd, 0xc8, 0xf6, - 0xdc, 0x56, 0x85, 0x0d, 0x90, 0x70, 0x74, 0x8c, 0xed, 0x46, 0x81, 0x67, 0xc5, 0x5d, 0x36, 0x66, - 0x02, 0xc7, 0x88, 0x38, 0x3a, 0xff, 0x9e, 0xd9, 0x25, 0x77, 0x8c, 0x5b, 0xad, 0x2a, 0xce, 0xcf, - 0x41, 0x6d, 0x09, 0x1a, 0xde, 0x7d, 0x97, 0x04, 0x77, 0x42, 0x12, 0x6c, 0xae, 0xb7, 0x6a, 0xec, - 0xab, 0x88, 0xd2, 0x2e, 0x00, 0x74, 0x03, 0x62, 0x46, 0xe4, 0xb6, 0xdd, 0x27, 0xad, 0xc9, 0x25, - 0xe5, 0x85, 0x19, 0x43, 0xc0, 0x50, 0x0e, 0x7d, 0xd2, 0xdf, 0x25, 0xc1, 0x9a, 0x17, 0xbb, 0x51, - 0x6b, 0x8a, 0x0d, 0x10, 0x51, 0xda, 0x2c, 0xa8, 0xe4, 0x41, 0xab, 0xce, 0x58, 0xab, 0xe4, 0x81, - 0xb6, 0x00, 0xb5, 0x30, 0x32, 0xa3, 0x38, 0x6c, 0xc1, 0x92, 0xf2, 0x42, 0xd5, 0xe0, 0x90, 0x76, - 0x11, 0x66, 0x18, 0x5f, 0x2f, 0x91, 0xa6, 0xc1, 0x48, 0x64, 0x64, 0x6a, 0xb1, 0xdb, 0xc7, 0x3e, - 0x69, 0x4d, 0x33, 0x06, 0x19, 0x42, 0xbb, 0x0c, 0x4d, 0x97, 0x10, 0xeb, 0x7d, 0x12, 0x64, 0x56, - 0x9b, 0x61, 0x83, 0x0a, 0x78, 0xed, 0x12, 0xcc, 0x3a, 0x9e, 0x77, 0xd0, 0x66, 0xa2, 0x52, 0x3f, - 0xb5, 0x66, 0xd9, 0xc8, 0x1c, 0x56, 0xbb, 0x02, 0xf3, 0xa6, 0xef, 0x3b, 0xc7, 0x88, 0xba, 0x11, - 0xd8, 0xc4, 0xb5, 0x5a, 0x73, 0x6c, 0x68, 0xf1, 0x83, 0xf6, 0x2a, 0x2c, 0x88, 0xfe, 0xb9, 0xe3, - 0x5b, 0x89, 0xed, 0x9a, 0xcc, 0x34, 0x03, 0xbe, 0x6a, 0xcb, 0xa0, 0x49, 0x5f, 0xd0, 0x04, 0xf3, - 0xcc, 0x04, 0x25, 0x5f, 0xf4, 0xff, 0xa9, 0xc0, 0x5c, 0x1a, 0x61, 0x37, 0xbc, 0xa0, 0x43, 0xa2, - 0xc7, 0x38, 0xce, 0x30, 0x06, 0x6a, 0x69, 0x0c, 0x6c, 0x94, 0xf8, 0x89, 0xc6, 0x56, 0xe3, 0xda, - 0xb3, 0xcb, 0x3d, 0xcf, 0xeb, 0x39, 0x04, 0x13, 0x69, 0x37, 0xde, 0x5b, 0xde, 0x74, 0xa3, 0x97, - 0xae, 0xbd, 0x6f, 0x3a, 0x31, 0x29, 0x71, 0xe2, 0x5a, 0xc1, 0x89, 0x53, 0xa3, 0xd9, 0xe4, 0x3d, - 0xbc, 0x59, 0xe6, 0xe1, 0xfa, 0x68, 0x3e, 0x45, 0x2a, 0xfd, 0x53, 0x15, 0xce, 0x30, 0xb7, 0x70, - 0x6c, 0xec, 0x38, 0x23, 0x4a, 0xc0, 0x02, 0xd4, 0x62, 0x74, 0x36, 0xfa, 0x85, 0x43, 0xd4, 0x65, - 0x81, 0xe7, 0x90, 0x5b, 0xe4, 0x88, 0x38, 0xcc, 0x23, 0x55, 0x23, 0x43, 0x68, 0x8b, 0x30, 0xf5, - 0xb1, 0x67, 0xbb, 0x2c, 0xb0, 0x26, 0xd8, 0xc7, 0x14, 0xa6, 0xdf, 0x5c, 0xbb, 0x7b, 0xe0, 0x52, - 0x5f, 0xa3, 0x1f, 0x52, 0x58, 0x74, 0x51, 0x4d, 0x76, 0xd1, 0x25, 0x98, 0x35, 0x7d, 0xbf, 0x6d, - 0xba, 0x3d, 0x12, 0xe0, 0xa4, 0x93, 0x98, 0x0e, 0x32, 0x96, 0x16, 0x04, 0x3a, 0x53, 0xc7, 0x8b, - 0x83, 0x2e, 0x61, 0xd6, 0xae, 0x1a, 0x02, 0x86, 0xf2, 0xf1, 0x7c, 0x12, 0x08, 0x79, 0x8c, 0xa9, - 0x9f, 0xc3, 0xf2, 0x90, 0x80, 0x34, 0x24, 0x68, 0x21, 0x89, 0x23, 0xf2, 0xb6, 0x6b, 0x31, 0xa5, - 0x1a, 0xbc, 0x90, 0x64, 0x28, 0x5a, 0x20, 0x6c, 0xf7, 0xc8, 0x8e, 0xd2, 0x72, 0x35, 0x8d, 0x05, - 0x42, 0x42, 0xea, 0xff, 0xa6, 0xc0, 0xec, 0x4e, 0xbc, 0xeb, 0xd8, 0x5d, 0x86, 0xa0, 0xc6, 0xcf, - 0x4c, 0xac, 0x48, 0x26, 0x16, 0x0d, 0xa5, 0x0e, 0x36, 0x54, 0x45, 0x36, 0xd4, 0x02, 0xd4, 0x7a, - 0xc4, 0xb5, 0x48, 0xc0, 0x0d, 0xcf, 0x21, 0xae, 0x50, 0x35, 0x51, 0x48, 0xff, 0xa5, 0x0a, 0x53, - 0x9f, 0xb1, 0x08, 0x4b, 0xd0, 0xf0, 0xf7, 0x3d, 0x97, 0x6c, 0xc5, 0x34, 0xf8, 0xb8, 0x2c, 0x22, - 0x4a, 0x3b, 0x0b, 0xd5, 0x5d, 0x3b, 0x88, 0xf6, 0x99, 0xf7, 0x67, 0x0c, 0x04, 0x28, 0x96, 0xf4, - 0x4d, 0x1b, 0x5d, 0x5e, 0x37, 0x10, 0xe0, 0x0a, 0x4d, 0xa5, 0x1e, 0x92, 0x97, 0x82, 0x7a, 0x61, - 0x29, 0x28, 0x46, 0x10, 0x94, 0x46, 0xd0, 0x65, 0x68, 0xf6, 0x1c, 0x6f, 0xd7, 0x74, 0x0c, 0xd2, - 0x3d, 0x6a, 0x87, 0xbd, 0x6d, 0x3f, 0x62, 0xee, 0xae, 0x1a, 0x05, 0x3c, 0xb5, 0x0f, 0x13, 0xb1, - 0x13, 0x05, 0xdc, 0xdd, 0x29, 0xac, 0xff, 0x5e, 0x01, 0xc0, 0xb4, 0x63, 0x26, 0xce, 0xad, 0x65, - 0x4a, 0x71, 0x2d, 0x5b, 0x80, 0x5a, 0x40, 0xfa, 0x66, 0x70, 0x90, 0xa4, 0x1a, 0x42, 0x39, 0xc5, - 0x2a, 0x05, 0xc5, 0xde, 0x00, 0xd8, 0x63, 0xf3, 0x50, 0x3e, 0xcc, 0xe4, 0xb4, 0x30, 0x14, 0xba, - 0x84, 0xe5, 0xc4, 0xdb, 0x86, 0x30, 0x9c, 0xe6, 0xb1, 0x69, 0x59, 0x3c, 0x5d, 0xaa, 0x98, 0xc7, - 0x29, 0xa2, 0x24, 0x5b, 0x6a, 0x43, 0xb2, 0x65, 0x32, 0x0d, 0xae, 0xdf, 0x29, 0x50, 0x5f, 0x75, - 0xcc, 0xee, 0xc1, 0x98, 0xaa, 0xcb, 0x2a, 0xaa, 0x05, 0x15, 0x37, 0x60, 0x66, 0x97, 0xb2, 0x4b, - 0x54, 0x60, 0x56, 0x68, 0x5c, 0xfb, 0xf3, 0x12, 0x2d, 0xe5, 0xe4, 0x32, 0x64, 0x3a, 0x59, 0xdd, - 0x89, 0xd1, 0xea, 0x56, 0x87, 0xa8, 0x9b, 0xae, 0x17, 0xfa, 0xff, 0x57, 0x60, 0x9a, 0x95, 0x55, - 0x83, 0x1c, 0xc6, 0x24, 0x8c, 0xb4, 0xb7, 0x60, 0x2a, 0x4e, 0x44, 0x55, 0xc6, 0x15, 0x35, 0x25, - 0xd1, 0x5e, 0xe7, 0xeb, 0x21, 0xa3, 0x57, 0x19, 0xfd, 0xf9, 0x12, 0xfa, 0x74, 0x81, 0x35, 0xb2, - 0xe1, 0x74, 0x25, 0xdc, 0x37, 0x5d, 0xcb, 0x21, 0x06, 0x09, 0x63, 0x27, 0xe2, 0xb5, 0x59, 0xc2, - 0x61, 0xa4, 0x1d, 0xb6, 0xc3, 0x1e, 0x5f, 0x27, 0x39, 0x44, 0xad, 0x83, 0xe3, 0xe8, 0x27, 0x54, - 0x3d, 0x43, 0xd0, 0x84, 0x0f, 0xc8, 0x21, 0xf3, 0x10, 0xa6, 0x67, 0x02, 0x66, 0x73, 0x72, 0xab, - 0x61, 0x20, 0x48, 0x38, 0xea, 0x62, 0x84, 0x19, 0x03, 0x6c, 0xc4, 0x04, 0x4c, 0xa1, 0x0f, 0x93, - 0x0b, 0x39, 0x14, 0x0a, 0x79, 0xa1, 0xdc, 0x36, 0xca, 0xca, 0xed, 0x2f, 0x2a, 0x30, 0x83, 0x49, - 0x98, 0xb8, 0xe6, 0x02, 0xcd, 0x16, 0xaf, 0x2f, 0xc5, 0xa2, 0x80, 0xa1, 0xba, 0x50, 0x68, 0x4b, - 0x2e, 0x7b, 0x12, 0x8e, 0x06, 0x34, 0x85, 0x6f, 0x48, 0xe5, 0x4f, 0x44, 0x25, 0xb3, 0x6c, 0x88, - 0x65, 0x50, 0xc0, 0xd0, 0xc2, 0x11, 0x79, 0x52, 0x8c, 0xa5, 0x30, 0xa5, 0x8d, 0xbc, 0x74, 0x7e, - 0x8c, 0x32, 0x01, 0x43, 0xbd, 0x14, 0x79, 0xc9, 0xdc, 0x68, 0xea, 0x0c, 0x81, 0x9c, 0xf9, 0xbc, - 0xb8, 0xfc, 0xa5, 0x70, 0x21, 0x36, 0xea, 0x43, 0x63, 0x03, 0xa4, 0xd8, 0x90, 0x53, 0xb4, 0x51, - 0x48, 0xd1, 0x8b, 0x30, 0x83, 0x7c, 0x72, 0xcb, 0x9f, 0x84, 0x94, 0x23, 0x6c, 0x26, 0x1f, 0x61, - 0x72, 0x8c, 0xcc, 0x0e, 0x88, 0x91, 0xb9, 0x34, 0xef, 0xbe, 0xa1, 0x02, 0xac, 0x13, 0xdf, 0x0c, - 0xa2, 0x3e, 0x71, 0x23, 0xaa, 0x9e, 0x95, 0x42, 0xa9, 0x73, 0x25, 0x9c, 0xb8, 0x6a, 0xa9, 0xf2, - 0xaa, 0xa5, 0xc1, 0x04, 0x33, 0x38, 0x7a, 0x93, 0xfd, 0x4d, 0x8d, 0xe9, 0x9b, 0x01, 0x72, 0xc3, - 0x54, 0x49, 0x61, 0xba, 0x2a, 0x79, 0x81, 0xc5, 0xd7, 0xb1, 0xaa, 0x81, 0x00, 0x2d, 0x21, 0xd9, - 0x7c, 0x6c, 0x17, 0x50, 0xc3, 0x55, 0x46, 0xc6, 0x8e, 0xdc, 0xb8, 0x5c, 0x86, 0x66, 0x18, 0xef, - 0x66, 0xca, 0x6d, 0xc5, 0x7d, 0x9e, 0x34, 0x05, 0x3c, 0x35, 0x2a, 0xee, 0x68, 0xe8, 0x20, 0x5c, - 0xf8, 0x32, 0x44, 0xbe, 0x93, 0xd1, 0x7f, 0xac, 0x42, 0x73, 0x3b, 0xe8, 0x99, 0xae, 0xfd, 0x0f, - 0x69, 0xc7, 0x7e, 0xa2, 0x06, 0x60, 0x09, 0x1a, 0xc4, 0xed, 0x39, 0x76, 0xb8, 0xbf, 0x95, 0xd9, - 0x4d, 0x44, 0x89, 0xc6, 0x9e, 0x18, 0xd4, 0x22, 0x54, 0xa5, 0x16, 0x61, 0x01, 0x6a, 0x7d, 0x6f, - 0xd7, 0x76, 0x92, 0xb8, 0xe7, 0x10, 0x8b, 0x79, 0xe2, 0x10, 0xd6, 0x2b, 0xa4, 0x31, 0x9f, 0x20, - 0xb2, 0xb6, 0x61, 0xaa, 0xb4, 0x6d, 0xa8, 0x8b, 0x6d, 0x83, 0x6c, 0x78, 0x28, 0x18, 0x1e, 0xcd, - 0xd5, 0x48, 0xeb, 0xd0, 0xb0, 0x25, 0xfe, 0x07, 0x0a, 0x34, 0x33, 0x57, 0x60, 0x4f, 0x3d, 0xd0, - 0x94, 0xf9, 0xe8, 0x54, 0x4b, 0xa2, 0x33, 0x8d, 0xa9, 0x8a, 0x18, 0x53, 0x34, 0x0a, 0xbd, 0xd0, - 0x16, 0x36, 0x36, 0x29, 0x4c, 0x67, 0x73, 0x88, 0x29, 0x18, 0x12, 0x21, 0x61, 0x1b, 0x5b, 0x93, - 0xb6, 0xb1, 0xf9, 0x95, 0xfa, 0x3b, 0x0a, 0x9c, 0xa5, 0x11, 0x50, 0x50, 0x63, 0x1b, 0x9a, 0x5e, - 0x2e, 0x4a, 0xf8, 0x52, 0xf6, 0x7c, 0xc9, 0x52, 0x94, 0x0f, 0x28, 0xa3, 0x40, 0x4c, 0x19, 0x5a, - 0xb9, 0x49, 0xf8, 0xda, 0x56, 0xc6, 0x30, 0x2f, 0x8f, 0x51, 0x20, 0xd6, 0xbf, 0xa7, 0x40, 0x13, - 0x17, 0x4f, 0xa1, 0x06, 0x9c, 0xba, 0xd8, 0x77, 0xe1, 0x6c, 0x7e, 0xe6, 0x5b, 0x76, 0x18, 0xb5, - 0xd4, 0xa5, 0xca, 0xb8, 0xa2, 0x97, 0x32, 0xd0, 0xbf, 0xa6, 0xc2, 0xd3, 0x3b, 0xb1, 0xe3, 0xb4, - 0x49, 0x18, 0x9a, 0x3d, 0xb2, 0x7a, 0xdc, 0x21, 0x87, 0xf4, 0x83, 0x41, 0x0e, 0x07, 0xc6, 0x10, - 0xed, 0xa4, 0x58, 0x2b, 0x62, 0x7b, 0x6e, 0x1a, 0x42, 0x22, 0x8a, 0xa6, 0x5c, 0x88, 0x7c, 0x5a, - 0x95, 0xa5, 0x0a, 0x5d, 0xa4, 0x39, 0xa8, 0xfd, 0x3d, 0x4c, 0xb3, 0x2e, 0x81, 0x4f, 0xd3, 0x9a, - 0x60, 0x0a, 0xbc, 0x59, 0xda, 0x97, 0x94, 0x4a, 0x85, 0xfd, 0x06, 0x87, 0xdf, 0x76, 0xa3, 0xe0, - 0xd8, 0x90, 0x38, 0x2e, 0x7e, 0x08, 0xf3, 0x85, 0x21, 0x5a, 0x13, 0x2a, 0x07, 0xe4, 0x98, 0xeb, - 0x41, 0xff, 0xd4, 0xfe, 0x1a, 0xaa, 0x47, 0x74, 0x83, 0xca, 0xbd, 0xbf, 0x58, 0x22, 0x01, 0x97, - 0xd9, 0xc0, 0x81, 0xaf, 0xab, 0x7f, 0xa3, 0xe8, 0xcf, 0xa7, 0x8a, 0x89, 0x3a, 0x2a, 0x92, 0x8e, - 0xfa, 0xbb, 0xd0, 0x68, 0x87, 0xbd, 0x75, 0x33, 0x32, 0xd9, 0xc0, 0x37, 0xa1, 0xd1, 0xcf, 0x40, - 0x36, 0xb8, 0x7c, 0x3e, 0x4e, 0x64, 0x88, 0xc3, 0xf5, 0x9f, 0xab, 0xd0, 0x2a, 0x37, 0x45, 0xe8, - 0x53, 0x19, 0x48, 0x10, 0xac, 0x79, 0x16, 0x61, 0xaa, 0x55, 0x8d, 0x04, 0xa4, 0xbe, 0x23, 0x41, - 0x40, 0xd7, 0x37, 0xde, 0xc6, 0x23, 0xa4, 0x2d, 0xc3, 0x84, 0x93, 0xb8, 0x65, 0xb8, 0x14, 0x6c, - 0x9c, 0xd6, 0x87, 0x26, 0xb3, 0xae, 0xa0, 0x10, 0xf7, 0xd9, 0xca, 0xd8, 0x3e, 0x0b, 0x7d, 0x74, - 0x9a, 0xc0, 0x03, 0x1d, 0x57, 0x60, 0xbd, 0xd8, 0x85, 0x73, 0xa5, 0x43, 0x4b, 0x1c, 0xf8, 0xb2, - 0xec, 0xc0, 0x0b, 0x83, 0x55, 0xc9, 0x3b, 0xd1, 0x07, 0x6d, 0x83, 0x44, 0x6d, 0xf3, 0xc1, 0x8a, - 0x6b, 0xb5, 0x6d, 0xb7, 0x43, 0x0e, 0x69, 0xb4, 0x2f, 0x41, 0x83, 0x1f, 0x37, 0xa4, 0x6e, 0xaa, - 0x1b, 0x22, 0x6a, 0xe0, 0x29, 0x44, 0x2e, 0x1f, 0x2a, 0x85, 0x7c, 0xd0, 0xaf, 0xc3, 0xb4, 0x38, - 0x1d, 0x5b, 0x60, 0xcc, 0x07, 0x1d, 0x72, 0xc8, 0x14, 0x9a, 0x31, 0x38, 0xc4, 0xf0, 0x6c, 0x04, - 0xdf, 0x7d, 0x70, 0x48, 0xff, 0x89, 0x0a, 0x67, 0x0a, 0x22, 0x87, 0xfe, 0xc3, 0xf2, 0x11, 0xe3, - 0xa5, 0x32, 0x28, 0x5e, 0x26, 0xa4, 0x78, 0x39, 0x80, 0x79, 0x74, 0x92, 0x30, 0x75, 0xab, 0xca, - 0x02, 0xe0, 0xad, 0xb2, 0xcd, 0x40, 0x51, 0x48, 0xee, 0x7b, 0x01, 0x8b, 0xce, 0x2f, 0xf2, 0x5d, - 0x24, 0xb0, 0x50, 0x3e, 0xb8, 0xc4, 0xfd, 0xaf, 0xc8, 0xee, 0xff, 0xb3, 0x32, 0xf7, 0x8b, 0x92, - 0x08, 0xfe, 0x3f, 0x84, 0x39, 0x5a, 0x54, 0x3b, 0xc4, 0xb5, 0xda, 0x61, 0x8f, 0x19, 0x72, 0x09, - 0x1a, 0x48, 0xdf, 0x0e, 0x7b, 0xd9, 0xe6, 0x50, 0x40, 0xd1, 0x11, 0x5d, 0xc7, 0xa6, 0xc5, 0x93, - 0x8d, 0xe0, 0x45, 0x4f, 0x40, 0xd1, 0x05, 0x32, 0x24, 0xfc, 0x64, 0x86, 0x5a, 0xb7, 0x62, 0xa4, - 0xb0, 0xfe, 0xed, 0x1a, 0x4c, 0xf2, 0x68, 0x64, 0x8b, 0x22, 0xdd, 0x8f, 0xa7, 0x65, 0x15, 0x21, - 0xec, 0x79, 0xbb, 0x47, 0x59, 0x78, 0x21, 0x24, 0x1e, 0x8b, 0x55, 0xe4, 0x63, 0xb1, 0x9c, 0x4c, - 0x13, 0x45, 0x99, 0x72, 0x7a, 0x55, 0x8b, 0x7a, 0xd1, 0x16, 0x8f, 0x75, 0x3d, 0x3b, 0x8e, 0x19, - 0xed, 0x79, 0x41, 0x9f, 0x6f, 0xaf, 0xab, 0x46, 0x01, 0x4f, 0xdb, 0x4a, 0xc4, 0xa5, 0xfb, 0x02, - 0x5c, 0xc2, 0x73, 0x58, 0xda, 0x85, 0x23, 0x26, 0xd9, 0x1f, 0xe0, 0xf9, 0x88, 0x8c, 0x44, 0xd9, - 0xc2, 0xd0, 0xf6, 0x5c, 0xd6, 0xa1, 0xe2, 0x36, 0x40, 0x44, 0x51, 0xcd, 0xfb, 0x61, 0xef, 0x46, - 0xe0, 0xf5, 0xf9, 0xd6, 0x2b, 0x01, 0x99, 0xe6, 0x9e, 0x1b, 0x25, 0xdd, 0x2d, 0x9e, 0x8c, 0x88, - 0x28, 0x4a, 0xcb, 0x41, 0xd6, 0x30, 0x4d, 0x1b, 0x09, 0x48, 0x63, 0x29, 0x24, 0x87, 0xbc, 0xb1, - 0xa7, 0x7f, 0x4a, 0x9e, 0x9b, 0x93, 0x3d, 0x97, 0xeb, 0xd4, 0x9a, 0xec, 0xab, 0xd8, 0xa9, 0x65, - 0x2d, 0xce, 0xbc, 0xd4, 0xe2, 0xac, 0xc0, 0xa4, 0xe7, 0xd3, 0xf4, 0x0f, 0x5b, 0x1a, 0x4b, 0x97, - 0xbf, 0x18, 0x5c, 0xa0, 0x96, 0xb7, 0x71, 0x24, 0x26, 0x46, 0x42, 0xa7, 0xdd, 0x82, 0x39, 0x6f, - 0x6f, 0xcf, 0xb1, 0x5d, 0xb2, 0x13, 0x87, 0xfb, 0x6c, 0x1b, 0x7e, 0x86, 0x05, 0xbb, 0x5e, 0xd6, - 0x44, 0xc8, 0x23, 0x8d, 0x3c, 0x29, 0xed, 0xfc, 0xcc, 0x08, 0x37, 0x40, 0xac, 0xc0, 0x9d, 0x65, - 0x05, 0x4e, 0xc2, 0xb1, 0xf3, 0x45, 0xa1, 0xd0, 0x9f, 0x63, 0x86, 0x13, 0x51, 0xc8, 0x25, 0x32, - 0xbb, 0xfb, 0x84, 0x1d, 0x28, 0xb5, 0x16, 0xb0, 0x7f, 0x14, 0x71, 0xbc, 0xbb, 0x7b, 0x3a, 0xe9, - 0xee, 0x16, 0x5f, 0x87, 0x69, 0x51, 0xc1, 0x92, 0x64, 0x3e, 0x2b, 0x26, 0xf3, 0x94, 0x98, 0xab, - 0xff, 0xab, 0xc0, 0x5c, 0x4e, 0x35, 0x3a, 0x3a, 0xb2, 0x23, 0x87, 0x70, 0x0e, 0x08, 0xd0, 0x9d, - 0x93, 0x45, 0xc2, 0x2e, 0x4f, 0x1e, 0xf6, 0x37, 0x97, 0xa4, 0x92, 0xb6, 0xd1, 0x3a, 0x4c, 0xdb, - 0xdb, 0x1d, 0xca, 0xa8, 0xe3, 0xc5, 0xae, 0x95, 0x1e, 0xd0, 0x0b, 0x38, 0xb6, 0xa5, 0xdf, 0xee, - 0xac, 0x9a, 0x56, 0x8f, 0xe0, 0x75, 0x4d, 0x95, 0xc9, 0x24, 0x23, 0x75, 0x0b, 0xa6, 0x6e, 0xdb, - 0x7e, 0xb8, 0xe6, 0xf5, 0xfb, 0x34, 0x04, 0x2c, 0x12, 0xd1, 0x1e, 0x5f, 0x61, 0x06, 0xe3, 0x10, - 0xb5, 0xa6, 0x45, 0xf6, 0xcc, 0xd8, 0x89, 0xe8, 0xd0, 0xa4, 0x64, 0x08, 0x28, 0x76, 0xbc, 0x10, - 0x7a, 0xee, 0x3a, 0x52, 0xa3, 0x9c, 0x02, 0x46, 0xff, 0x91, 0x0a, 0x4d, 0x56, 0x11, 0xd7, 0x58, - 0xc0, 0x59, 0x8c, 0xe8, 0x1a, 0x54, 0x59, 0x01, 0xe0, 0x1d, 0xe5, 0xf0, 0x33, 0x19, 0x1c, 0xaa, - 0x5d, 0x87, 0x9a, 0xe7, 0xb3, 0x36, 0x14, 0xcb, 0xe5, 0xa5, 0x41, 0x44, 0xf2, 0x91, 0xbc, 0xc1, - 0xa9, 0xb4, 0x1b, 0x00, 0xfd, 0xac, 0xeb, 0xc4, 0xe6, 0x61, 0x5c, 0x1e, 0x02, 0x25, 0x35, 0x6e, - 0xba, 0x2e, 0xa6, 0xe7, 0xf2, 0x15, 0x43, 0x46, 0x6a, 0x5b, 0x30, 0xcb, 0xc4, 0xde, 0x4e, 0x0e, - 0xe7, 0x98, 0x0f, 0xc6, 0x9f, 0x31, 0x47, 0xad, 0x7f, 0x49, 0xe1, 0x66, 0xa4, 0x5f, 0x3b, 0x04, - 0x6d, 0x9f, 0x99, 0x44, 0x39, 0x91, 0x49, 0x16, 0x61, 0xaa, 0x1f, 0x0b, 0x67, 0x85, 0x15, 0x23, - 0x85, 0x33, 0x17, 0x55, 0xc6, 0x76, 0x91, 0xfe, 0x65, 0x05, 0x5a, 0xef, 0x78, 0xb6, 0xcb, 0x3e, - 0xac, 0xf8, 0xbe, 0xc3, 0xaf, 0x6f, 0x4e, 0xec, 0xf3, 0xbf, 0x85, 0xba, 0x89, 0x6c, 0xdc, 0x88, - 0xbb, 0x7d, 0x8c, 0xf3, 0xbf, 0x8c, 0x46, 0x38, 0x84, 0xa9, 0x88, 0x87, 0x30, 0xfa, 0x27, 0x0a, - 0xcc, 0xa2, 0x51, 0xde, 0x8b, 0xed, 0xe8, 0xc4, 0xf2, 0xad, 0xc2, 0xd4, 0x61, 0x6c, 0x47, 0x27, - 0x88, 0xca, 0x94, 0xae, 0x18, 0x4f, 0x95, 0x92, 0x78, 0xd2, 0xbf, 0xae, 0xc0, 0xf9, 0xbc, 0x59, - 0x57, 0xba, 0x5d, 0xe2, 0x3f, 0xca, 0x94, 0x92, 0x0e, 0xa1, 0x26, 0x72, 0x87, 0x50, 0xa5, 0x22, - 0x1b, 0xe4, 0x63, 0xd2, 0x7d, 0x7c, 0x45, 0xfe, 0x17, 0x15, 0x9e, 0xd9, 0x48, 0x13, 0xef, 0x76, - 0x60, 0xba, 0xe1, 0x1e, 0x09, 0x82, 0x47, 0x28, 0xef, 0x2d, 0x98, 0x71, 0xc9, 0xfd, 0x4c, 0x26, - 0x9e, 0x8e, 0xe3, 0xb2, 0x91, 0x89, 0xc7, 0xab, 0x5d, 0xfa, 0x1f, 0x14, 0x68, 0x22, 0x9f, 0x77, - 0xed, 0xee, 0xc1, 0x23, 0x54, 0x7e, 0x0b, 0x66, 0x0f, 0x98, 0x04, 0x14, 0x3a, 0x41, 0xd9, 0xce, - 0x51, 0x8f, 0xa9, 0xfe, 0xa7, 0x0a, 0xcc, 0x27, 0xb7, 0xc6, 0x47, 0xf6, 0xa3, 0x0c, 0xd6, 0x1d, - 0x98, 0xc3, 0x53, 0xf8, 0x93, 0x1a, 0x20, 0x4f, 0x3e, 0xa6, 0x05, 0xbe, 0xa5, 0xc0, 0x1c, 0x72, - 0x7a, 0xdb, 0x8d, 0x48, 0x70, 0x62, 0xfd, 0x6f, 0x42, 0x83, 0xb8, 0x51, 0x60, 0xba, 0x27, 0xa9, - 0x90, 0x22, 0xe9, 0x98, 0x45, 0xf2, 0x13, 0x05, 0x34, 0xc6, 0x6a, 0xdd, 0x0e, 0xfb, 0x76, 0x18, - 0x3e, 0x42, 0xd7, 0x8d, 0x27, 0xf0, 0x17, 0x54, 0x38, 0x2b, 0x70, 0x69, 0xc7, 0xd1, 0xe3, 0x2e, - 0xb2, 0xb6, 0x0e, 0x75, 0xda, 0x23, 0x88, 0x77, 0xa4, 0xe3, 0x4e, 0x94, 0x11, 0xd2, 0x2e, 0x96, - 0x01, 0x1d, 0xd2, 0xf5, 0x5c, 0x2b, 0x64, 0xcd, 0xd1, 0x8c, 0x21, 0xe1, 0x68, 0x19, 0x5a, 0x14, - 0xd8, 0xac, 0x99, 0x6e, 0x97, 0x38, 0x4f, 0x8c, 0x89, 0xf4, 0xaf, 0x2a, 0x30, 0x8b, 0x43, 0x1e, - 0x7f, 0x95, 0xe9, 0x5a, 0x8f, 0x81, 0xfc, 0xb9, 0xf1, 0x12, 0x0d, 0xaf, 0x05, 0x81, 0x8b, 0xd8, - 0x57, 0x3f, 0xbe, 0xa1, 0x75, 0x13, 0x1a, 0xdd, 0x7d, 0xd3, 0xed, 0x9d, 0x28, 0xb8, 0x44, 0x52, - 0x3d, 0x82, 0xa7, 0xc5, 0x43, 0xfb, 0x35, 0xfc, 0xc4, 0xd4, 0x7f, 0x29, 0xa7, 0xca, 0xd0, 0x37, - 0x10, 0x0f, 0x67, 0xf4, 0x03, 0x98, 0xc7, 0x5b, 0x64, 0xa1, 0x27, 0xd4, 0x5a, 0x30, 0x69, 0x5a, - 0x78, 0x74, 0xa1, 0x30, 0xa2, 0x04, 0x94, 0x5f, 0x19, 0xf0, 0xf7, 0x6c, 0xd9, 0x2b, 0x83, 0x0b, - 0x00, 0xa6, 0x65, 0xdd, 0xf5, 0x02, 0xcb, 0x76, 0x93, 0x06, 0x5f, 0xc0, 0xe8, 0xef, 0xc0, 0xf4, - 0x8d, 0xc0, 0xeb, 0xdf, 0x16, 0xee, 0x83, 0x87, 0xde, 0x58, 0x8b, 0x77, 0xc9, 0xaa, 0x7c, 0x97, - 0xac, 0x7f, 0x04, 0xe7, 0x0a, 0x82, 0x33, 0x63, 0xad, 0xe1, 0x35, 0x77, 0x32, 0x09, 0x0f, 0x99, - 0xb2, 0xb3, 0x3c, 0x51, 0x16, 0x43, 0x22, 0xd2, 0xff, 0x59, 0x81, 0xe7, 0x0a, 0xec, 0x57, 0x7c, - 0x3f, 0xf0, 0x8e, 0xb8, 0x4f, 0x4e, 0x63, 0x1a, 0xb9, 0xf9, 0x55, 0xf3, 0xcd, 0x6f, 0xa9, 0x10, - 0x52, 0xc3, 0xfe, 0x19, 0x08, 0xf1, 0x15, 0x05, 0xe6, 0xb8, 0x10, 0x96, 0xc5, 0xa7, 0x7d, 0x05, - 0x6a, 0xf8, 0xd0, 0x86, 0x4f, 0xf8, 0x5c, 0xe9, 0x84, 0xc9, 0x03, 0x21, 0x83, 0x0f, 0x2e, 0x46, - 0xa4, 0x5a, 0x96, 0x51, 0xaf, 0xa5, 0xc1, 0x3e, 0xf6, 0x53, 0x18, 0x4e, 0xa0, 0xff, 0x5d, 0x12, - 0xcc, 0xeb, 0xc4, 0x21, 0xa7, 0x69, 0x23, 0xfd, 0x0e, 0xcc, 0xb2, 0x57, 0x3f, 0x99, 0x0d, 0x4e, - 0x85, 0xed, 0x5d, 0x68, 0x32, 0xb6, 0xa7, 0x2e, 0x6f, 0x9a, 0x1d, 0xd4, 0x3e, 0x62, 0x29, 0x39, - 0x15, 0xee, 0x2f, 0xc2, 0x99, 0xc4, 0xf6, 0xf8, 0x92, 0x16, 0x79, 0x0f, 0xb8, 0xdb, 0xd3, 0xff, - 0x4f, 0x81, 0x85, 0x35, 0xcf, 0x3d, 0x22, 0x41, 0x28, 0xbd, 0xbe, 0x45, 0x12, 0x29, 0xfb, 0x39, - 0xa4, 0x2d, 0x83, 0xd6, 0x15, 0x28, 0xf8, 0xf1, 0xa2, 0xca, 0x8e, 0x17, 0x4b, 0xbe, 0x68, 0x2f, - 0xc3, 0xb9, 0x98, 0x71, 0xbd, 0xe3, 0x06, 0xc4, 0xb4, 0xd8, 0x79, 0x9a, 0x50, 0xf4, 0xca, 0x3f, - 0xea, 0x1f, 0xc3, 0xa2, 0x28, 0x57, 0x87, 0x44, 0x3b, 0x81, 0x7d, 0x24, 0xc8, 0xc6, 0xcf, 0xce, - 0x15, 0xe9, 0xec, 0x3c, 0x3b, 0x6b, 0x57, 0xa5, 0xb3, 0xf6, 0xf3, 0x50, 0xb7, 0x43, 0xce, 0x80, - 0xcd, 0x3b, 0x65, 0x64, 0x08, 0xdd, 0x84, 0x79, 0xf4, 0x32, 0xbf, 0xcb, 0x62, 0x53, 0x2c, 0xc2, - 0x14, 0x86, 0x6e, 0x3a, 0x49, 0x0a, 0x0f, 0xbc, 0x19, 0x1a, 0x78, 0x0f, 0xaa, 0x77, 0x60, 0x9e, - 0xbf, 0x05, 0xda, 0x31, 0x7b, 0xb6, 0x8b, 0xb5, 0xfc, 0x02, 0x80, 0x6f, 0xf6, 0x92, 0x97, 0x89, - 0x78, 0xa3, 0x27, 0x60, 0xe8, 0xf7, 0x70, 0xdf, 0xbb, 0xcf, 0xbf, 0xab, 0xf8, 0x3d, 0xc3, 0xe8, - 0xef, 0x83, 0x66, 0x90, 0xd0, 0xf7, 0xdc, 0x90, 0x08, 0x5c, 0x97, 0xa0, 0xb1, 0x16, 0x07, 0x01, - 0x71, 0xe9, 0x54, 0xc9, 0xf3, 0x3a, 0x11, 0x45, 0xf9, 0x76, 0x32, 0xbe, 0x78, 0xfa, 0x2f, 0x60, - 0xf4, 0x5f, 0xd7, 0xa0, 0xde, 0xb1, 0x7b, 0xae, 0xe9, 0x18, 0xe4, 0x50, 0x7b, 0x13, 0x6a, 0xb8, - 0x33, 0xe2, 0x01, 0x59, 0x76, 0x1a, 0x8d, 0xa3, 0x71, 0x0b, 0x68, 0x90, 0xc3, 0x9b, 0x4f, 0x19, - 0x9c, 0x46, 0x7b, 0x2f, 0x79, 0x31, 0xb5, 0x89, 0x27, 0x5d, 0x7c, 0x99, 0xfc, 0xcb, 0x11, 0x4c, - 0xf8, 0x68, 0xe4, 0x25, 0x73, 0xa0, 0x02, 0x75, 0x59, 0xe7, 0xc4, 0xab, 0xd0, 0x60, 0x81, 0xb0, - 0xc1, 0xe2, 0x02, 0x21, 0x0d, 0xa5, 0x36, 0xd9, 0x59, 0x10, 0x6f, 0x08, 0x06, 0x53, 0xe3, 0x91, - 0x11, 0xa7, 0x46, 0x1a, 0x4a, 0xbd, 0x1f, 0xbb, 0xbd, 0x3b, 0x3e, 0x3f, 0xa2, 0x1c, 0x4c, 0x7d, - 0x93, 0x0d, 0xe3, 0xd4, 0x48, 0x43, 0xa9, 0x03, 0xb6, 0x46, 0x30, 0xa3, 0x0f, 0xa3, 0xc6, 0xa5, - 0x84, 0x53, 0x23, 0x8d, 0xf6, 0x01, 0x34, 0x7b, 0x24, 0x32, 0x3c, 0xaf, 0xbf, 0x7a, 0xbc, 0xc1, - 0x6f, 0x88, 0xf0, 0x81, 0xf8, 0x95, 0x81, 0x7c, 0x36, 0x72, 0x04, 0xc8, 0xb1, 0xc0, 0x47, 0xfb, - 0x47, 0x78, 0xce, 0x73, 0x29, 0x6a, 0xc7, 0x0c, 0x22, 0xbb, 0x6b, 0xfb, 0xa6, 0x1b, 0xad, 0x79, - 0xae, 0xcb, 0xd6, 0x33, 0x83, 0x1c, 0xf2, 0x27, 0xe4, 0xaf, 0x0e, 0x9c, 0x68, 0x7b, 0x18, 0xf5, - 0xcd, 0xa7, 0x8c, 0xe1, 0xec, 0xb5, 0x7f, 0x57, 0x60, 0xa9, 0x30, 0x62, 0xdd, 0x0e, 0xbb, 0xa2, - 0x0c, 0xf8, 0xfc, 0xfc, 0xb5, 0xf1, 0x65, 0xc8, 0x31, 0xb8, 0xf9, 0x94, 0x31, 0x72, 0x12, 0x6e, - 0xe5, 0xdb, 0xde, 0x01, 0x71, 0x57, 0x8f, 0xe9, 0xd8, 0xcd, 0x75, 0x76, 0x1b, 0x35, 0xc2, 0xca, - 0x12, 0x41, 0x66, 0x65, 0x09, 0xbd, 0x5a, 0x87, 0x49, 0xdf, 0x3c, 0x76, 0x3c, 0xd3, 0xd2, 0x7f, - 0x3b, 0x01, 0x90, 0xb8, 0x3a, 0x64, 0x1d, 0xb1, 0x94, 0x64, 0x17, 0x47, 0x26, 0x99, 0xef, 0x1c, - 0x0b, 0x69, 0xd6, 0x29, 0x4f, 0xb3, 0xbf, 0x1a, 0x37, 0xcd, 0x90, 0x5b, 0x2e, 0xd1, 0xae, 0xe7, - 0x12, 0xed, 0xe2, 0xc8, 0x44, 0xe3, 0x42, 0xf1, 0x54, 0xbb, 0x9e, 0x4b, 0xb5, 0x8b, 0x23, 0x53, - 0x8d, 0xd3, 0xf3, 0x64, 0xbb, 0x9e, 0x4b, 0xb6, 0x8b, 0x23, 0x93, 0x8d, 0xd3, 0xf3, 0x74, 0xbb, - 0x9e, 0x4b, 0xb7, 0x8b, 0x23, 0xd3, 0x8d, 0xd3, 0xf3, 0x84, 0xfb, 0x68, 0x60, 0xc2, 0x2d, 0x3f, - 0x44, 0xc2, 0x21, 0xcf, 0x62, 0xca, 0x7d, 0x54, 0x12, 0x68, 0x53, 0xa3, 0xb9, 0xe7, 0x02, 0x2d, - 0xe3, 0x3e, 0x30, 0xd4, 0xfe, 0xb5, 0x02, 0xb3, 0xcc, 0xdd, 0xb8, 0x2a, 0xbb, 0x7b, 0x5e, 0xf1, - 0x1d, 0xab, 0x52, 0xf2, 0x8e, 0x55, 0xbb, 0x02, 0xf3, 0x88, 0x20, 0xc2, 0x3d, 0x22, 0x2e, 0xf4, - 0xc5, 0x0f, 0xec, 0xe6, 0x34, 0x0e, 0x23, 0xaf, 0xbf, 0x6e, 0x46, 0x66, 0xb2, 0xc3, 0xc8, 0x30, - 0xe2, 0xbd, 0xf6, 0x44, 0xe1, 0xe7, 0x1e, 0x01, 0xea, 0x5f, 0xe5, 0xab, 0x39, 0x83, 0x28, 0x45, - 0x64, 0xf7, 0x89, 0x17, 0x47, 0x7c, 0x91, 0x4a, 0x40, 0x7c, 0x7c, 0x68, 0xd9, 0x26, 0xbb, 0x0d, - 0xe6, 0x2f, 0xf3, 0x52, 0x04, 0x5b, 0x57, 0xb3, 0xdb, 0x6d, 0xfe, 0x73, 0x8c, 0x0c, 0x33, 0xc6, - 0x4d, 0x34, 0xfb, 0x65, 0x8f, 0x1d, 0xd9, 0xe2, 0x8b, 0xbd, 0xaa, 0x21, 0xe1, 0x68, 0x1f, 0xb4, - 0x1b, 0x87, 0xc7, 0xb7, 0x6c, 0x57, 0x34, 0x4f, 0x03, 0xfb, 0xa0, 0xe2, 0x17, 0xfd, 0x37, 0x0a, - 0x9c, 0x11, 0xea, 0x4e, 0x9b, 0x44, 0x26, 0xb3, 0x8b, 0xf4, 0xee, 0x5a, 0x79, 0xb8, 0x77, 0xd7, - 0x3b, 0x30, 0xd7, 0x93, 0xb7, 0xe5, 0x0f, 0xb9, 0xa3, 0xce, 0x93, 0x4b, 0x8f, 0xc8, 0x2b, 0x0f, - 0xfd, 0x88, 0x5c, 0xff, 0x0f, 0x15, 0xe6, 0x72, 0xcd, 0xc0, 0xd0, 0x4e, 0x6a, 0x05, 0xc0, 0x4e, - 0x43, 0x73, 0xc8, 0xad, 0x95, 0x1c, 0xbf, 0x86, 0x40, 0x54, 0x76, 0x6d, 0x5e, 0x39, 0xf9, 0xb5, - 0xf9, 0x4d, 0x68, 0xf8, 0x99, 0x93, 0x86, 0x1c, 0x1a, 0x94, 0xb8, 0xd2, 0x10, 0x49, 0xf5, 0xff, - 0x54, 0x60, 0xbe, 0x50, 0xb2, 0xd9, 0x65, 0x36, 0x4d, 0xd4, 0xf4, 0x32, 0x9b, 0x02, 0x42, 0x06, - 0xa8, 0xf9, 0x0c, 0x70, 0xec, 0x23, 0xf1, 0xe7, 0x2e, 0x1c, 0x1c, 0x10, 0x7d, 0x13, 0x03, 0xa3, - 0xef, 0xbf, 0x54, 0x58, 0x28, 0x6f, 0xb0, 0x9e, 0x54, 0xff, 0xfc, 0xb7, 0x02, 0xad, 0x41, 0x6b, - 0xe1, 0x23, 0x73, 0x53, 0x96, 0x3f, 0x69, 0xef, 0xfa, 0xa4, 0xfa, 0xe7, 0x4c, 0x92, 0x3e, 0x42, - 0x73, 0xa1, 0x7f, 0x33, 0xb5, 0x4f, 0xda, 0x9d, 0x3f, 0xa1, 0xf6, 0xd1, 0x2e, 0x43, 0x13, 0xd5, - 0x14, 0x5e, 0x72, 0xe1, 0x66, 0xaf, 0x80, 0xd7, 0x3f, 0x4c, 0x6c, 0x29, 0x34, 0x5a, 0xa7, 0x15, - 0xe3, 0xfa, 0xf7, 0x95, 0xc4, 0x27, 0xe9, 0x9e, 0xe7, 0x73, 0xe5, 0x93, 0x2c, 0xd2, 0x84, 0x36, - 0x52, 0x88, 0xb4, 0x74, 0x2f, 0xf6, 0xa7, 0x48, 0x1b, 0x1d, 0x69, 0xa9, 0x2d, 0x85, 0x96, 0x5a, - 0xff, 0xa2, 0x02, 0xcf, 0x0c, 0xdc, 0x8f, 0x0e, 0xb5, 0xaa, 0xd0, 0x34, 0xaa, 0x72, 0xd3, 0x98, - 0x53, 0xaf, 0x72, 0xf2, 0x42, 0xf3, 0x43, 0x05, 0x9e, 0x1d, 0xd2, 0xbc, 0xe7, 0x3c, 0xab, 0x9c, - 0xc4, 0xb3, 0x39, 0x61, 0xd5, 0x81, 0x17, 0xd3, 0x23, 0x7d, 0x91, 0xa5, 0x67, 0x45, 0x4c, 0x4f, - 0xfd, 0xa7, 0x0a, 0x3c, 0x3f, 0xc6, 0x4e, 0xfc, 0xf1, 0x52, 0x66, 0xe0, 0x53, 0x57, 0xfd, 0x67, - 0x0a, 0x5c, 0x1a, 0x6f, 0x53, 0xff, 0x79, 0xd1, 0xe8, 0xbb, 0x62, 0x0e, 0xe4, 0x4f, 0x0b, 0x04, - 0xb7, 0x2a, 0x52, 0xd5, 0x15, 0x73, 0x43, 0xcd, 0xe5, 0xc6, 0xa9, 0x65, 0x40, 0xfe, 0x45, 0xfb, - 0x44, 0xf1, 0x45, 0x7b, 0x5b, 0x48, 0x91, 0xe2, 0x0e, 0x74, 0xc0, 0x52, 0x22, 0x2c, 0x19, 0xaa, - 0xbc, 0x64, 0xfc, 0x13, 0xcc, 0xac, 0x13, 0xa7, 0x1d, 0xf6, 0x92, 0xdf, 0x9e, 0x9c, 0xea, 0x69, - 0xeb, 0x18, 0xfa, 0xac, 0xc2, 0xac, 0x28, 0xc0, 0x49, 0x7e, 0x5b, 0xa1, 0xdf, 0x85, 0x67, 0x3a, - 0x24, 0x5a, 0xf1, 0xfd, 0x55, 0xb3, 0x7b, 0x40, 0xdd, 0xec, 0x5a, 0x1d, 0xf6, 0x18, 0x78, 0xd8, - 0x8f, 0x69, 0xe8, 0xce, 0x32, 0xcc, 0x08, 0xf8, 0x0b, 0x58, 0x09, 0xa7, 0x6f, 0xc1, 0xe2, 0x20, - 0xc6, 0x27, 0x11, 0x74, 0xf5, 0xca, 0x07, 0x97, 0xb7, 0x7d, 0xe2, 0xde, 0xdb, 0x6c, 0x17, 0xfe, - 0x49, 0xcb, 0x1b, 0x85, 0x68, 0xd9, 0xad, 0xb1, 0xef, 0x2f, 0xfd, 0x31, 0x00, 0x00, 0xff, 0xff, - 0x49, 0xe5, 0xf2, 0x74, 0x04, 0x46, 0x00, 0x00, +var fileDescriptor_ws_daf4b815cf2c5193 = []byte{ + // 4028 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x3c, 0x5b, 0x6f, 0x1c, 0x57, + 0x58, 0x9d, 0xd9, 0x8b, 0xbd, 0xdf, 0xfa, 0xb2, 0x9e, 0x24, 0xee, 0xd6, 0x4d, 0x83, 0x99, 0x46, + 0xa1, 0x84, 0xd4, 0x41, 0xe9, 0x45, 0xb4, 0x4d, 0x83, 0x7c, 0x49, 0x1c, 0xb7, 0x59, 0xdb, 0x9d, + 0x4d, 0x1a, 0xd4, 0x56, 0x0a, 0xe3, 0x9d, 0xe3, 0xf5, 0xd4, 0xb3, 0x33, 0xe3, 0xb9, 0x38, 0x31, + 0x0f, 0x80, 0x00, 0x01, 0x12, 0x0f, 0x48, 0x88, 0x8b, 0x04, 0x6f, 0xbc, 0x20, 0x10, 0xaa, 0x10, + 0x02, 0x84, 0x44, 0x85, 0x10, 0xe2, 0x01, 0x09, 0x24, 0xfa, 0x8e, 0x04, 0x82, 0x27, 0x1e, 0xf8, + 0x03, 0x48, 0x48, 0x45, 0xe7, 0x7c, 0x67, 0x66, 0xce, 0x99, 0x99, 0xbd, 0xc4, 0xb2, 0x9a, 0x44, + 0xe1, 0xcd, 0xdf, 0x37, 0xe7, 0xfb, 0xce, 0x77, 0x3f, 0xdf, 0xb9, 0xac, 0x61, 0x3e, 0xb4, 0x0e, + 0x1f, 0x3d, 0x0e, 0xaf, 0x3f, 0x0e, 0x57, 0xfc, 0xc0, 0x8b, 0x3c, 0x6d, 0x21, 0x24, 0xc1, 0x31, + 0x09, 0x1e, 0x99, 0xbe, 0xfd, 0xc8, 0x37, 0x03, 0x73, 0x10, 0x2e, 0xad, 0xec, 0xf8, 0xc4, 0x7d, + 0x7b, 0xab, 0xf3, 0x76, 0x97, 0x7d, 0xba, 0xee, 0x1f, 0xf6, 0xaf, 0xb3, 0xc1, 0xd7, 0x13, 0xe2, + 0xc0, 0xf4, 0x7d, 0x12, 0x70, 0x16, 0xfa, 0xbf, 0x57, 0xa1, 0xb1, 0x19, 0x78, 0xb1, 0xbf, 0xe5, + 0xee, 0x7b, 0x5a, 0x1b, 0xa6, 0xfa, 0x0c, 0xd8, 0x68, 0x2b, 0xcb, 0xca, 0x5b, 0x0d, 0x23, 0x01, + 0xb5, 0x8b, 0xd0, 0x60, 0x7f, 0x6e, 0x9b, 0x03, 0xd2, 0x56, 0xd9, 0xb7, 0x0c, 0xa1, 0xe9, 0x30, + 0xe3, 0x7a, 0x91, 0xbd, 0x6f, 0xf7, 0xcc, 0xc8, 0xf6, 0xdc, 0x76, 0x85, 0x0d, 0x90, 0x70, 0x74, + 0x8c, 0xed, 0x46, 0x81, 0x67, 0xc5, 0x3d, 0x36, 0xa6, 0x8a, 0x63, 0x44, 0x1c, 0x9d, 0x7f, 0xdf, + 0xec, 0x91, 0x07, 0xc6, 0xbd, 0x76, 0x0d, 0xe7, 0xe7, 0xa0, 0xb6, 0x0c, 0x4d, 0xef, 0xb1, 0x4b, + 0x82, 0x07, 0x21, 0x09, 0xb6, 0x36, 0xda, 0x75, 0xf6, 0x55, 0x44, 0x69, 0x97, 0x00, 0x7a, 0x01, + 0x31, 0x23, 0x72, 0xdf, 0x1e, 0x90, 0xf6, 0xd4, 0xb2, 0xf2, 0xd6, 0xac, 0x21, 0x60, 0x28, 0x87, + 0x01, 0x19, 0xec, 0x91, 0x60, 0xdd, 0x8b, 0xdd, 0xa8, 0x3d, 0xcd, 0x06, 0x88, 0x28, 0x6d, 0x0e, + 0x54, 0xf2, 0xa4, 0xdd, 0x60, 0xac, 0x55, 0xf2, 0x44, 0x5b, 0x84, 0x7a, 0x18, 0x99, 0x51, 0x1c, + 0xb6, 0x61, 0x59, 0x79, 0xab, 0x66, 0x70, 0x48, 0xbb, 0x0c, 0xb3, 0x8c, 0xaf, 0x97, 0x48, 0xd3, + 0x64, 0x24, 0x32, 0x32, 0xb5, 0xd8, 0xfd, 0x13, 0x9f, 0xb4, 0x67, 0x18, 0x83, 0x0c, 0xa1, 0x5d, + 0x85, 0x96, 0x4b, 0x88, 0xf5, 0x39, 0x09, 0x32, 0xab, 0xcd, 0xb2, 0x41, 0x05, 0xbc, 0x76, 0x05, + 0xe6, 0x1c, 0xcf, 0x3b, 0xec, 0x30, 0x51, 0xa9, 0x9f, 0xda, 0x73, 0x6c, 0x64, 0x0e, 0xab, 0x5d, + 0x83, 0x05, 0xd3, 0xf7, 0x9d, 0x13, 0x44, 0xdd, 0x09, 0x6c, 0xe2, 0x5a, 0xed, 0x79, 0x36, 0xb4, + 0xf8, 0x41, 0x7b, 0x1f, 0x16, 0x45, 0xff, 0x3c, 0xf0, 0xad, 0xc4, 0x76, 0x2d, 0x66, 0x9a, 0x21, + 0x5f, 0xb5, 0x15, 0xd0, 0xa4, 0x2f, 0x68, 0x82, 0x05, 0x66, 0x82, 0x92, 0x2f, 0xfa, 0x6f, 0x57, + 0x60, 0x3e, 0x8d, 0xb0, 0x3b, 0x5e, 0xd0, 0x25, 0xd1, 0x73, 0x1c, 0x67, 0x18, 0x03, 0xf5, 0x34, + 0x06, 0x36, 0x4b, 0xfc, 0x44, 0x63, 0xab, 0x79, 0xe3, 0xf5, 0x95, 0xbe, 0xe7, 0xf5, 0x1d, 0x82, + 0x89, 0xb4, 0x17, 0xef, 0xaf, 0x6c, 0xb9, 0xd1, 0x3b, 0x37, 0x3e, 0x37, 0x9d, 0x98, 0x94, 0x38, + 0x71, 0xbd, 0xe0, 0xc4, 0xe9, 0xf1, 0x6c, 0xf2, 0x1e, 0xde, 0x2a, 0xf3, 0x70, 0x63, 0x3c, 0x9f, + 0x22, 0x95, 0xfe, 0xbd, 0x0a, 0xe7, 0x98, 0x5b, 0x38, 0x36, 0x76, 0x9c, 0x31, 0x25, 0x60, 0x11, + 0xea, 0x31, 0x3a, 0x1b, 0xfd, 0xc2, 0x21, 0xea, 0xb2, 0xc0, 0x73, 0xc8, 0x3d, 0x72, 0x4c, 0x1c, + 0xe6, 0x91, 0x9a, 0x91, 0x21, 0xb4, 0x25, 0x98, 0xfe, 0xda, 0xb3, 0x5d, 0x16, 0x58, 0x55, 0xf6, + 0x31, 0x85, 0xe9, 0x37, 0xd7, 0xee, 0x1d, 0xba, 0xd4, 0xd7, 0xe8, 0x87, 0x14, 0x16, 0x5d, 0x54, + 0x97, 0x5d, 0x74, 0x05, 0xe6, 0x4c, 0xdf, 0xef, 0x98, 0x6e, 0x9f, 0x04, 0x38, 0xe9, 0x14, 0xa6, + 0x83, 0x8c, 0xa5, 0x05, 0x81, 0xce, 0xd4, 0xf5, 0xe2, 0xa0, 0x47, 0x98, 0xb5, 0x6b, 0x86, 0x80, + 0xa1, 0x7c, 0x3c, 0x9f, 0x04, 0x42, 0x1e, 0x63, 0xea, 0xe7, 0xb0, 0x3c, 0x24, 0x20, 0x0d, 0x09, + 0x5a, 0x48, 0xe2, 0x88, 0xdc, 0x76, 0x2d, 0xa6, 0x54, 0x93, 0x17, 0x92, 0x0c, 0x45, 0x0b, 0x84, + 0xed, 0x1e, 0xdb, 0x51, 0x5a, 0xae, 0x66, 0xb0, 0x40, 0x48, 0x48, 0xfd, 0x57, 0x15, 0x98, 0xdb, + 0x8d, 0xf7, 0x1c, 0xbb, 0xc7, 0x10, 0xd4, 0xf8, 0x99, 0x89, 0x15, 0xc9, 0xc4, 0xa2, 0xa1, 0xd4, + 0xe1, 0x86, 0xaa, 0xc8, 0x86, 0x5a, 0x84, 0x7a, 0x9f, 0xb8, 0x16, 0x09, 0xb8, 0xe1, 0x39, 0xc4, + 0x15, 0xaa, 0x25, 0x0a, 0xe9, 0xff, 0xa6, 0xc2, 0xf4, 0x0f, 0x2c, 0xc2, 0x32, 0x34, 0xfd, 0x03, + 0xcf, 0x25, 0xdb, 0x31, 0x0d, 0x3e, 0x2e, 0x8b, 0x88, 0xd2, 0xce, 0x43, 0x6d, 0xcf, 0x0e, 0xa2, + 0x03, 0xe6, 0xfd, 0x59, 0x03, 0x01, 0x8a, 0x25, 0x03, 0xd3, 0x46, 0x97, 0x37, 0x0c, 0x04, 0xb8, + 0x42, 0xd3, 0xa9, 0x87, 0xe4, 0xa5, 0xa0, 0x51, 0x58, 0x0a, 0x8a, 0x11, 0x04, 0xa5, 0x11, 0x74, + 0x15, 0x5a, 0x7d, 0xc7, 0xdb, 0x33, 0x1d, 0x83, 0xf4, 0x8e, 0x3b, 0x61, 0x7f, 0xc7, 0x8f, 0x98, + 0xbb, 0x6b, 0x46, 0x01, 0x4f, 0xed, 0xc3, 0x44, 0xec, 0x46, 0x01, 0x77, 0x77, 0x0a, 0xeb, 0xff, + 0xa3, 0x00, 0x60, 0xda, 0x31, 0x13, 0xe7, 0xd6, 0x32, 0xa5, 0xb8, 0x96, 0x2d, 0x42, 0x3d, 0x20, + 0x03, 0x33, 0x38, 0x4c, 0x52, 0x0d, 0xa1, 0x9c, 0x62, 0x95, 0x82, 0x62, 0x1f, 0x01, 0xec, 0xb3, + 0x79, 0x28, 0x1f, 0x66, 0x72, 0x5a, 0x18, 0x0a, 0x5d, 0xc2, 0x4a, 0xe2, 0x6d, 0x43, 0x18, 0x4e, + 0xf3, 0xd8, 0xb4, 0x2c, 0x9e, 0x2e, 0x35, 0xcc, 0xe3, 0x14, 0x51, 0x92, 0x2d, 0xf5, 0x11, 0xd9, + 0x32, 0x95, 0x06, 0xd7, 0x7f, 0x2b, 0xd0, 0x58, 0x73, 0xcc, 0xde, 0xe1, 0x84, 0xaa, 0xcb, 0x2a, + 0xaa, 0x05, 0x15, 0x37, 0x61, 0x76, 0x8f, 0xb2, 0x4b, 0x54, 0x60, 0x56, 0x68, 0xde, 0xf8, 0xd1, + 0x12, 0x2d, 0xe5, 0xe4, 0x32, 0x64, 0x3a, 0x59, 0xdd, 0xea, 0x78, 0x75, 0x6b, 0x23, 0xd4, 0x4d, + 0xd7, 0x0b, 0xfd, 0xf7, 0x2a, 0x30, 0xc3, 0xca, 0xaa, 0x41, 0x8e, 0x62, 0x12, 0x46, 0xda, 0xc7, + 0x30, 0x1d, 0x27, 0xa2, 0x2a, 0x93, 0x8a, 0x9a, 0x92, 0x68, 0x1f, 0xf2, 0xf5, 0x90, 0xd1, 0xab, + 0x8c, 0xfe, 0x62, 0x09, 0x7d, 0xba, 0xc0, 0x1a, 0xd9, 0x70, 0xba, 0x12, 0x1e, 0x98, 0xae, 0xe5, + 0x10, 0x83, 0x84, 0xb1, 0x13, 0xf1, 0xda, 0x2c, 0xe1, 0x30, 0xd2, 0x8e, 0x3a, 0x61, 0x9f, 0xaf, + 0x93, 0x1c, 0xa2, 0xd6, 0xc1, 0x71, 0xf4, 0x13, 0xaa, 0x9e, 0x21, 0x68, 0xc2, 0x07, 0xe4, 0x88, + 0x79, 0x08, 0xd3, 0x33, 0x01, 0xb3, 0x39, 0xb9, 0xd5, 0x30, 0x10, 0x24, 0x1c, 0x75, 0x31, 0xc2, + 0x8c, 0x01, 0x36, 0x62, 0x02, 0xa6, 0xd0, 0x87, 0xc9, 0x85, 0x1c, 0x0a, 0x85, 0xbc, 0x50, 0x6e, + 0x9b, 0x65, 0xe5, 0xf6, 0x5f, 0x2b, 0x30, 0x8b, 0x49, 0x98, 0xb8, 0xe6, 0x12, 0xcd, 0x16, 0x6f, + 0x20, 0xc5, 0xa2, 0x80, 0xa1, 0xba, 0x50, 0x68, 0x5b, 0x2e, 0x7b, 0x12, 0x8e, 0x06, 0x34, 0x85, + 0xef, 0x48, 0xe5, 0x4f, 0x44, 0x25, 0xb3, 0x6c, 0x8a, 0x65, 0x50, 0xc0, 0xd0, 0xc2, 0x11, 0x79, + 0x52, 0x8c, 0xa5, 0x30, 0xa5, 0x8d, 0xbc, 0x74, 0x7e, 0x8c, 0x32, 0x01, 0x43, 0xbd, 0x14, 0x79, + 0xc9, 0xdc, 0x68, 0xea, 0x0c, 0x81, 0x9c, 0xf9, 0xbc, 0xb8, 0xfc, 0xa5, 0x70, 0x21, 0x36, 0x1a, + 0x23, 0x63, 0x03, 0xa4, 0xd8, 0x90, 0x53, 0xb4, 0x59, 0x48, 0xd1, 0xcb, 0x30, 0x8b, 0x7c, 0x72, + 0xcb, 0x9f, 0x84, 0x94, 0x23, 0x6c, 0x36, 0x1f, 0x61, 0x72, 0x8c, 0xcc, 0x0d, 0x89, 0x91, 0xf9, + 0x34, 0xef, 0xfe, 0x5c, 0x05, 0xd8, 0x20, 0xbe, 0x19, 0x44, 0x03, 0xe2, 0x46, 0x54, 0x3d, 0x2b, + 0x85, 0x52, 0xe7, 0x4a, 0x38, 0x71, 0xd5, 0x52, 0xe5, 0x55, 0x4b, 0x83, 0x2a, 0x33, 0x38, 0x7a, + 0x93, 0xfd, 0x4d, 0x8d, 0xe9, 0x9b, 0x01, 0x72, 0xc3, 0x54, 0x49, 0x61, 0xba, 0x2a, 0x79, 0x81, + 0xc5, 0xd7, 0xb1, 0x9a, 0x81, 0x00, 0x2d, 0x21, 0xd9, 0x7c, 0x6c, 0x17, 0x50, 0xc7, 0x55, 0x46, + 0xc6, 0x8e, 0xdd, 0xb8, 0x5c, 0x85, 0x56, 0x18, 0xef, 0x65, 0xca, 0x6d, 0xc7, 0x03, 0x9e, 0x34, + 0x05, 0x3c, 0x35, 0x2a, 0xee, 0x68, 0xe8, 0x20, 0x5c, 0xf8, 0x32, 0x44, 0xbe, 0x93, 0xd1, 0xff, + 0x51, 0x85, 0xd6, 0x4e, 0xd0, 0x37, 0x5d, 0xfb, 0xe7, 0xd2, 0x8e, 0xfd, 0x54, 0x0d, 0xc0, 0x32, + 0x34, 0x89, 0xdb, 0x77, 0xec, 0xf0, 0x60, 0x3b, 0xb3, 0x9b, 0x88, 0x12, 0x8d, 0x5d, 0x1d, 0xd6, + 0x22, 0xd4, 0xa4, 0x16, 0x61, 0x11, 0xea, 0x03, 0x6f, 0xcf, 0x76, 0x92, 0xb8, 0xe7, 0x10, 0x8b, + 0x79, 0xe2, 0x10, 0xd6, 0x2b, 0xa4, 0x31, 0x9f, 0x20, 0xb2, 0xb6, 0x61, 0xba, 0xb4, 0x6d, 0x68, + 0x88, 0x6d, 0x83, 0x6c, 0x78, 0x28, 0x18, 0x1e, 0xcd, 0xd5, 0x4c, 0xeb, 0xd0, 0xa8, 0x25, 0xfe, + 0xef, 0x14, 0x68, 0x65, 0xae, 0xc0, 0x9e, 0x7a, 0xa8, 0x29, 0xf3, 0xd1, 0xa9, 0x96, 0x44, 0x67, + 0x1a, 0x53, 0x15, 0x31, 0xa6, 0x68, 0x14, 0x7a, 0xa1, 0x2d, 0x6c, 0x6c, 0x52, 0x98, 0xce, 0xe6, + 0x10, 0x53, 0x30, 0x24, 0x42, 0xc2, 0x36, 0xb6, 0x2e, 0x6d, 0x63, 0xf3, 0x2b, 0xf5, 0x5f, 0x2b, + 0x70, 0x9e, 0x46, 0x40, 0x41, 0x8d, 0x1d, 0x68, 0x79, 0xb9, 0x28, 0xe1, 0x4b, 0xd9, 0x9b, 0x25, + 0x4b, 0x51, 0x3e, 0xa0, 0x8c, 0x02, 0x31, 0x65, 0x68, 0xe5, 0x26, 0xe1, 0x6b, 0x5b, 0x19, 0xc3, + 0xbc, 0x3c, 0x46, 0x81, 0x58, 0xff, 0x56, 0x81, 0x16, 0x2e, 0x9e, 0x42, 0x0d, 0x38, 0x73, 0xb1, + 0x1f, 0xc2, 0xf9, 0xfc, 0xcc, 0xf7, 0xec, 0x30, 0x6a, 0xab, 0xcb, 0x95, 0x49, 0x45, 0x2f, 0x65, + 0xa0, 0xff, 0xa9, 0x0a, 0xaf, 0xee, 0xc6, 0x8e, 0xd3, 0x21, 0x61, 0x68, 0xf6, 0xc9, 0xda, 0x49, + 0x97, 0x1c, 0xd1, 0x0f, 0x06, 0x39, 0x1a, 0x1a, 0x43, 0xb4, 0x93, 0x62, 0xad, 0x88, 0xed, 0xb9, + 0x69, 0x08, 0x89, 0x28, 0x9a, 0x72, 0x21, 0xf2, 0x69, 0x57, 0x96, 0x2b, 0x74, 0x91, 0xe6, 0xa0, + 0xf6, 0xb3, 0x30, 0xc3, 0xba, 0x04, 0x3e, 0x4d, 0xbb, 0xca, 0x14, 0xb8, 0x59, 0xda, 0x97, 0x94, + 0x4a, 0x85, 0xfd, 0x06, 0x87, 0x6f, 0xbb, 0x51, 0x70, 0x62, 0x48, 0x1c, 0x97, 0xbe, 0x84, 0x85, + 0xc2, 0x10, 0xad, 0x05, 0x95, 0x43, 0x72, 0xc2, 0xf5, 0xa0, 0x7f, 0x6a, 0x3f, 0x09, 0xb5, 0x63, + 0xba, 0x41, 0xe5, 0xde, 0x5f, 0x2a, 0x91, 0x80, 0xcb, 0x6c, 0xe0, 0xc0, 0x0f, 0xd5, 0x9f, 0x52, + 0xf4, 0x37, 0x53, 0xc5, 0x44, 0x1d, 0x15, 0x49, 0x47, 0xfd, 0x53, 0x68, 0x76, 0xc2, 0xfe, 0x86, + 0x19, 0x99, 0x6c, 0xe0, 0x4d, 0x68, 0x0e, 0x32, 0x90, 0x0d, 0x2e, 0x9f, 0x8f, 0x13, 0x19, 0xe2, + 0x70, 0xfd, 0x3b, 0x15, 0xda, 0xe5, 0xa6, 0x08, 0x7d, 0x2a, 0x03, 0x09, 0x82, 0x75, 0xcf, 0x22, + 0x4c, 0xb5, 0x9a, 0x91, 0x80, 0xd4, 0x77, 0x24, 0x08, 0xe8, 0xfa, 0xc6, 0xdb, 0x78, 0x84, 0xb4, + 0x15, 0xa8, 0x3a, 0x89, 0x5b, 0x46, 0x4b, 0xc1, 0xc6, 0x69, 0x03, 0x68, 0x31, 0xeb, 0x0a, 0x0a, + 0x71, 0x9f, 0xad, 0x4e, 0xec, 0xb3, 0xd0, 0x47, 0xa7, 0x09, 0x3c, 0xd0, 0x71, 0x05, 0xd6, 0x4b, + 0x3d, 0xb8, 0x50, 0x3a, 0xb4, 0xc4, 0x81, 0xef, 0xca, 0x0e, 0xbc, 0x34, 0x5c, 0x95, 0xbc, 0x13, + 0x7d, 0xd0, 0x36, 0x49, 0xd4, 0x31, 0x9f, 0xac, 0xba, 0x56, 0xc7, 0x76, 0xbb, 0xe4, 0x88, 0x46, + 0xfb, 0x32, 0x34, 0xf9, 0x71, 0x43, 0xea, 0xa6, 0x86, 0x21, 0xa2, 0x86, 0x9e, 0x42, 0xe4, 0xf2, + 0xa1, 0x52, 0xc8, 0x07, 0xfd, 0x16, 0xcc, 0x88, 0xd3, 0xb1, 0x05, 0xc6, 0x7c, 0xd2, 0x25, 0x47, + 0x4c, 0xa1, 0x59, 0x83, 0x43, 0x0c, 0xcf, 0x46, 0xf0, 0xdd, 0x07, 0x87, 0xf4, 0x7f, 0x52, 0xe1, + 0x5c, 0x41, 0xe4, 0xd0, 0x7f, 0x5a, 0x3e, 0x62, 0xbc, 0x54, 0x86, 0xc5, 0x4b, 0x55, 0x8a, 0x97, + 0x43, 0x58, 0x40, 0x27, 0x09, 0x53, 0xb7, 0x6b, 0x2c, 0x00, 0x3e, 0x2e, 0xdb, 0x0c, 0x14, 0x85, + 0xe4, 0xbe, 0x17, 0xb0, 0xe8, 0xfc, 0x22, 0xdf, 0x25, 0x02, 0x8b, 0xe5, 0x83, 0x4b, 0xdc, 0xff, + 0x9e, 0xec, 0xfe, 0x1f, 0x29, 0x73, 0xbf, 0x28, 0x89, 0xe0, 0xff, 0x23, 0x98, 0xa7, 0x45, 0xb5, + 0x4b, 0x5c, 0xab, 0x13, 0xf6, 0x99, 0x21, 0x97, 0xa1, 0x89, 0xf4, 0x9d, 0xb0, 0x9f, 0x6d, 0x0e, + 0x05, 0x14, 0x1d, 0xd1, 0x73, 0x6c, 0x5a, 0x3c, 0xd9, 0x08, 0x5e, 0xf4, 0x04, 0x14, 0x5d, 0x20, + 0x43, 0xc2, 0x4f, 0x66, 0xa8, 0x75, 0x2b, 0x46, 0x0a, 0xeb, 0x7f, 0x55, 0x87, 0x29, 0x1e, 0x8d, + 0x6c, 0x51, 0xa4, 0xfb, 0xf1, 0xb4, 0xac, 0x22, 0x84, 0x3d, 0x6f, 0xef, 0x38, 0x0b, 0x2f, 0x84, + 0xc4, 0x63, 0xb1, 0x8a, 0x7c, 0x2c, 0x96, 0x93, 0xa9, 0x5a, 0x94, 0x29, 0xa7, 0x57, 0xad, 0xa8, + 0x17, 0x6d, 0xf1, 0x58, 0xd7, 0xb3, 0xeb, 0x98, 0xd1, 0xbe, 0x17, 0x0c, 0xf8, 0xf6, 0xba, 0x66, + 0x14, 0xf0, 0xb4, 0xad, 0x44, 0x5c, 0xba, 0x2f, 0xc0, 0x25, 0x3c, 0x87, 0xa5, 0x5d, 0x38, 0x62, + 0x92, 0xfd, 0x01, 0x9e, 0x8f, 0xc8, 0x48, 0x94, 0x2d, 0x0c, 0x6d, 0xcf, 0x65, 0x1d, 0x2a, 0x6e, + 0x03, 0x44, 0x14, 0xd5, 0x7c, 0x10, 0xf6, 0xef, 0x04, 0xde, 0x80, 0x6f, 0xbd, 0x12, 0x90, 0x69, + 0xee, 0xb9, 0x51, 0xd2, 0xdd, 0xe2, 0xc9, 0x88, 0x88, 0xa2, 0xb4, 0x1c, 0x64, 0x0d, 0xd3, 0x8c, + 0x91, 0x80, 0x34, 0x96, 0x42, 0x72, 0xc4, 0x1b, 0x7b, 0xfa, 0xa7, 0xe4, 0xb9, 0x79, 0xd9, 0x73, + 0xb9, 0x4e, 0xad, 0xc5, 0xbe, 0x8a, 0x9d, 0x5a, 0xd6, 0xe2, 0x2c, 0x48, 0x2d, 0xce, 0x2a, 0x4c, + 0x79, 0x3e, 0x4d, 0xff, 0xb0, 0xad, 0xb1, 0x74, 0xf9, 0xb1, 0xe1, 0x05, 0x6a, 0x65, 0x07, 0x47, + 0x62, 0x62, 0x24, 0x74, 0xda, 0x3d, 0x98, 0xf7, 0xf6, 0xf7, 0x1d, 0xdb, 0x25, 0xbb, 0x71, 0x78, + 0xc0, 0xb6, 0xe1, 0xe7, 0x58, 0xb0, 0xeb, 0x65, 0x4d, 0x84, 0x3c, 0xd2, 0xc8, 0x93, 0xd2, 0xce, + 0xcf, 0x8c, 0x70, 0x03, 0xc4, 0x0a, 0xdc, 0x79, 0x56, 0xe0, 0x24, 0x1c, 0x3b, 0x5f, 0x14, 0x0a, + 0xfd, 0x05, 0x66, 0x38, 0x11, 0x85, 0x5c, 0x22, 0xb3, 0x77, 0x40, 0xd8, 0x81, 0x52, 0x7b, 0x11, + 0xfb, 0x47, 0x11, 0xc7, 0xbb, 0xbb, 0x57, 0x93, 0xee, 0x6e, 0xe9, 0x43, 0x98, 0x11, 0x15, 0x2c, + 0x49, 0xe6, 0xf3, 0x62, 0x32, 0x4f, 0x8b, 0xb9, 0xfa, 0x3b, 0x0a, 0xcc, 0xe7, 0x54, 0xa3, 0xa3, + 0x23, 0x3b, 0x72, 0x08, 0xe7, 0x80, 0x00, 0xdd, 0x39, 0x59, 0x24, 0xec, 0xf1, 0xe4, 0x61, 0x7f, + 0x73, 0x49, 0x2a, 0x69, 0x1b, 0xad, 0xc3, 0x8c, 0xbd, 0xd3, 0xa5, 0x8c, 0xba, 0x5e, 0xec, 0x5a, + 0xe9, 0x01, 0xbd, 0x80, 0x63, 0x5b, 0xfa, 0x9d, 0xee, 0x9a, 0x69, 0xf5, 0x09, 0x5e, 0xd7, 0xd4, + 0x98, 0x4c, 0x32, 0x52, 0xb7, 0x60, 0xfa, 0xbe, 0xed, 0x87, 0xeb, 0xde, 0x60, 0x40, 0x43, 0xc0, + 0x22, 0x11, 0xed, 0xf1, 0x15, 0x66, 0x30, 0x0e, 0x51, 0x6b, 0x5a, 0x64, 0xdf, 0x8c, 0x9d, 0x88, + 0x0e, 0x4d, 0x4a, 0x86, 0x80, 0x62, 0xc7, 0x0b, 0xa1, 0xe7, 0x6e, 0x20, 0x35, 0xca, 0x29, 0x60, + 0xf4, 0x7f, 0x50, 0xa1, 0xc5, 0x2a, 0xe2, 0x3a, 0x0b, 0x38, 0x8b, 0x11, 0xdd, 0x80, 0x1a, 0x2b, + 0x00, 0xbc, 0xa3, 0x1c, 0x7d, 0x26, 0x83, 0x43, 0xb5, 0x5b, 0x50, 0xf7, 0x7c, 0xd6, 0x86, 0x62, + 0xb9, 0xbc, 0x32, 0x8c, 0x48, 0x3e, 0x92, 0x37, 0x38, 0x95, 0x76, 0x07, 0x60, 0x90, 0x75, 0x9d, + 0xd8, 0x3c, 0x4c, 0xca, 0x43, 0xa0, 0xa4, 0xc6, 0x4d, 0xd7, 0xc5, 0xf4, 0x5c, 0xbe, 0x62, 0xc8, + 0x48, 0x6d, 0x1b, 0xe6, 0x98, 0xd8, 0x3b, 0xc9, 0xe1, 0x1c, 0xf3, 0xc1, 0xe4, 0x33, 0xe6, 0xa8, + 0xf5, 0x3f, 0x54, 0xb8, 0x19, 0xe9, 0xd7, 0x2e, 0x41, 0xdb, 0x67, 0x26, 0x51, 0x4e, 0x65, 0x92, + 0x25, 0x98, 0x1e, 0xc4, 0xc2, 0x59, 0x61, 0xc5, 0x48, 0xe1, 0xcc, 0x45, 0x95, 0x89, 0x5d, 0xa4, + 0xff, 0x91, 0x02, 0xed, 0x4f, 0x3c, 0xdb, 0x65, 0x1f, 0x56, 0x7d, 0xdf, 0xe1, 0xd7, 0x37, 0xa7, + 0xf6, 0xf9, 0x4f, 0x43, 0xc3, 0x44, 0x36, 0x6e, 0xc4, 0xdd, 0x3e, 0xc1, 0xf9, 0x5f, 0x46, 0x23, + 0x1c, 0xc2, 0x54, 0xc4, 0x43, 0x18, 0xfd, 0x1b, 0x05, 0xe6, 0xd0, 0x28, 0x9f, 0xc5, 0x76, 0x74, + 0x6a, 0xf9, 0xd6, 0x60, 0xfa, 0x28, 0xb6, 0xa3, 0x53, 0x44, 0x65, 0x4a, 0x57, 0x8c, 0xa7, 0x4a, + 0x49, 0x3c, 0xe9, 0xdf, 0x29, 0x70, 0x31, 0x6f, 0xd6, 0xd5, 0x5e, 0x8f, 0xf8, 0xcf, 0x32, 0xa5, + 0xa4, 0x43, 0xa8, 0x6a, 0xc9, 0x21, 0x54, 0x40, 0x7a, 0xc4, 0x3e, 0x26, 0xc1, 0x6a, 0xc8, 0x77, + 0xd5, 0x02, 0xa6, 0x54, 0x25, 0x83, 0x7c, 0x4d, 0x7a, 0x2f, 0xae, 0x4a, 0xbf, 0xac, 0xc2, 0x6b, + 0x9b, 0x69, 0xe2, 0xde, 0x0f, 0x4c, 0x37, 0xdc, 0x27, 0x41, 0xf0, 0x0c, 0xf5, 0xb9, 0x07, 0xb3, + 0x2e, 0x79, 0x9c, 0xc9, 0xc4, 0xd3, 0x79, 0x52, 0x36, 0x32, 0xf1, 0x64, 0xb5, 0x4f, 0xff, 0x5f, + 0x05, 0x5a, 0xc8, 0xe7, 0x53, 0xbb, 0x77, 0xf8, 0x0c, 0x95, 0xdf, 0x86, 0xb9, 0x43, 0x26, 0x01, + 0x85, 0x4e, 0x51, 0xf6, 0x73, 0xd4, 0x13, 0xaa, 0xff, 0xbd, 0x02, 0x0b, 0xc9, 0xad, 0xf3, 0xb1, + 0xfd, 0x2c, 0x83, 0x79, 0x17, 0xe6, 0xf1, 0x14, 0xff, 0xb4, 0x06, 0xc8, 0x93, 0x4f, 0x68, 0x81, + 0xbf, 0x54, 0x60, 0x1e, 0x39, 0xdd, 0x76, 0x23, 0x12, 0x9c, 0x5a, 0xff, 0xbb, 0xd0, 0x24, 0x6e, + 0x14, 0x98, 0xee, 0x69, 0x2a, 0xac, 0x48, 0x3a, 0x61, 0x91, 0xfd, 0x46, 0x01, 0x8d, 0xb1, 0xda, + 0xb0, 0xc3, 0x81, 0x1d, 0x86, 0xcf, 0xd0, 0x75, 0x93, 0x09, 0xfc, 0xfb, 0x2a, 0x9c, 0x17, 0xb8, + 0x74, 0xe2, 0xe8, 0x79, 0x17, 0x59, 0xdb, 0x80, 0x06, 0xed, 0x31, 0xc4, 0x3b, 0xd6, 0x49, 0x27, + 0xca, 0x08, 0x69, 0x17, 0xcc, 0x80, 0x2e, 0xe9, 0x79, 0xae, 0x85, 0xa5, 0x78, 0xd6, 0x90, 0x70, + 0xb4, 0x0c, 0x2d, 0x09, 0x6c, 0xd6, 0x4d, 0xb7, 0x47, 0x9c, 0x97, 0xc6, 0x44, 0xfa, 0x9f, 0x28, + 0x30, 0x87, 0x43, 0x9e, 0x7f, 0x95, 0xf5, 0x3f, 0x53, 0x78, 0x20, 0xbf, 0x30, 0x5e, 0xa2, 0xe1, + 0xb5, 0x28, 0x70, 0x11, 0xfb, 0xf2, 0xe7, 0x37, 0xb4, 0xee, 0x42, 0xb3, 0x77, 0x60, 0xba, 0xfd, + 0x53, 0x05, 0x97, 0x48, 0xaa, 0x47, 0xf0, 0xaa, 0x78, 0xe8, 0xbf, 0x8e, 0x9f, 0x98, 0xfa, 0xef, + 0xe4, 0x54, 0x19, 0xf9, 0x86, 0xe2, 0xe9, 0x8c, 0x7e, 0x08, 0x0b, 0x78, 0x0b, 0x2d, 0xf4, 0x8c, + 0x5a, 0x1b, 0xa6, 0x4c, 0x0b, 0x8f, 0x3e, 0x14, 0x46, 0x94, 0x80, 0xf2, 0x2b, 0x05, 0xfe, 0x1e, + 0x2e, 0x7b, 0xa5, 0x70, 0x09, 0xc0, 0xb4, 0xac, 0x87, 0x5e, 0x60, 0xd9, 0x6e, 0xb2, 0x41, 0x10, + 0x30, 0xfa, 0x27, 0x30, 0x73, 0x27, 0xf0, 0x06, 0xf7, 0x85, 0xfb, 0xe4, 0x91, 0x37, 0xde, 0xe2, + 0x5d, 0xb4, 0x2a, 0xdf, 0x45, 0xeb, 0x5f, 0xc1, 0x85, 0x82, 0xe0, 0xcc, 0x58, 0xeb, 0x78, 0x4d, + 0x9e, 0x4c, 0xc2, 0x43, 0xa6, 0xec, 0x2c, 0x50, 0x94, 0xc5, 0x90, 0x88, 0xf4, 0x5f, 0x52, 0xe0, + 0x8d, 0x02, 0xfb, 0x55, 0xdf, 0x0f, 0xbc, 0x63, 0xee, 0x93, 0xb3, 0x98, 0x46, 0x6e, 0x8e, 0xd5, + 0x5c, 0x73, 0x5c, 0x2e, 0x84, 0xd4, 0xd0, 0xff, 0x00, 0x42, 0xfc, 0xb1, 0x02, 0xf3, 0x5c, 0x08, + 0xcb, 0xe2, 0xd3, 0xbe, 0x07, 0x75, 0x7c, 0xa8, 0xc3, 0x27, 0x7c, 0xa3, 0x74, 0xc2, 0xe4, 0x81, + 0x91, 0xc1, 0x07, 0x17, 0x23, 0x52, 0x2d, 0xcb, 0xa8, 0x0f, 0xd2, 0x60, 0x9f, 0xf8, 0x29, 0x0d, + 0x27, 0xd0, 0x7f, 0x26, 0x09, 0xe6, 0x0d, 0xe2, 0x90, 0xb3, 0xb4, 0x91, 0xfe, 0x00, 0xe6, 0xd8, + 0xab, 0xa1, 0xcc, 0x06, 0x67, 0xc2, 0xf6, 0x21, 0xb4, 0x18, 0xdb, 0x33, 0x97, 0x37, 0xcd, 0x0e, + 0x6a, 0x1f, 0xb1, 0x94, 0x9c, 0x09, 0xf7, 0xb7, 0xe1, 0x5c, 0x62, 0x7b, 0x7c, 0x89, 0x8b, 0xbc, + 0x87, 0xdc, 0x0d, 0xea, 0xbf, 0xab, 0xc0, 0xe2, 0xba, 0xe7, 0x1e, 0x93, 0x20, 0x94, 0x5e, 0xef, + 0x22, 0x89, 0x94, 0xfd, 0x1c, 0xd2, 0x56, 0x40, 0xeb, 0x09, 0x14, 0xfc, 0x78, 0x52, 0x65, 0xc7, + 0x93, 0x25, 0x5f, 0xb4, 0x77, 0xe1, 0x42, 0xcc, 0xb8, 0x3e, 0x70, 0x03, 0x62, 0x5a, 0xec, 0x3c, + 0x4e, 0x28, 0x7a, 0xe5, 0x1f, 0xf5, 0xaf, 0x61, 0x49, 0x94, 0xab, 0x4b, 0xa2, 0xdd, 0xc0, 0x3e, + 0x16, 0x64, 0xe3, 0x67, 0xef, 0x8a, 0x74, 0xf6, 0x9e, 0x9d, 0xd5, 0xab, 0xd2, 0x59, 0xfd, 0x45, + 0x68, 0xd8, 0x21, 0x67, 0xc0, 0xe6, 0x9d, 0x36, 0x32, 0x84, 0x6e, 0xc2, 0x02, 0x7a, 0x99, 0xdf, + 0x85, 0xb1, 0x29, 0x96, 0x60, 0x1a, 0x43, 0x37, 0x9d, 0x24, 0x85, 0x87, 0xde, 0x2c, 0x0d, 0xbd, + 0x47, 0xd5, 0xbb, 0xb0, 0xc0, 0xdf, 0x12, 0xed, 0x9a, 0x7d, 0xdb, 0xc5, 0x5a, 0x7e, 0x09, 0xc0, + 0x37, 0xfb, 0xc9, 0xcb, 0x46, 0xbc, 0x11, 0x14, 0x30, 0xf4, 0x7b, 0x78, 0xe0, 0x3d, 0xe6, 0xdf, + 0x55, 0xfc, 0x9e, 0x61, 0xf4, 0xcf, 0x41, 0x33, 0x48, 0xe8, 0x7b, 0x6e, 0x48, 0x04, 0xae, 0xcb, + 0xd0, 0x5c, 0x8f, 0x83, 0x80, 0xb8, 0x74, 0xaa, 0xe4, 0x79, 0x9e, 0x88, 0xa2, 0x7c, 0xbb, 0x19, + 0x5f, 0xbc, 0x3d, 0x10, 0x30, 0xfa, 0x7f, 0xd4, 0xa1, 0xd1, 0xb5, 0xfb, 0xae, 0xe9, 0x18, 0xe4, + 0x48, 0xbb, 0x09, 0x75, 0xdc, 0x19, 0xf1, 0x80, 0x2c, 0x3b, 0xcd, 0xc6, 0xd1, 0xb8, 0x05, 0x34, + 0xc8, 0xd1, 0xdd, 0x57, 0x0c, 0x4e, 0xa3, 0x7d, 0x96, 0xbc, 0xb8, 0xda, 0xc2, 0x93, 0x32, 0xbe, + 0x4c, 0xfe, 0xf8, 0x18, 0x26, 0x7c, 0x34, 0xf2, 0x92, 0x39, 0x50, 0x81, 0x7a, 0xac, 0x73, 0xe2, + 0x55, 0x68, 0xb8, 0x40, 0xd8, 0x60, 0x71, 0x81, 0x90, 0x86, 0x52, 0x9b, 0xec, 0x2c, 0x89, 0x37, + 0x04, 0xc3, 0xa9, 0xf1, 0xc8, 0x89, 0x53, 0x23, 0x0d, 0xa5, 0x3e, 0x88, 0xdd, 0xfe, 0x03, 0x9f, + 0x1f, 0x71, 0x0e, 0xa7, 0xbe, 0xcb, 0x86, 0x71, 0x6a, 0xa4, 0xa1, 0xd4, 0x01, 0x5b, 0x23, 0x98, + 0xd1, 0x47, 0x51, 0xe3, 0x52, 0xc2, 0xa9, 0x91, 0x46, 0xfb, 0x02, 0x5a, 0x7d, 0x12, 0x19, 0x9e, + 0x37, 0x58, 0x3b, 0xd9, 0xe4, 0x37, 0x4c, 0xf8, 0xc0, 0xfc, 0xda, 0x50, 0x3e, 0x9b, 0x39, 0x02, + 0xe4, 0x58, 0xe0, 0xa3, 0xfd, 0x3c, 0xbc, 0xe1, 0xb9, 0x14, 0xb5, 0x6b, 0x06, 0x91, 0xdd, 0xb3, + 0x7d, 0xd3, 0x8d, 0xd6, 0x3d, 0xd7, 0x65, 0xeb, 0x99, 0x41, 0x8e, 0xf8, 0x13, 0xf4, 0xf7, 0x87, + 0x4e, 0xb4, 0x33, 0x8a, 0xfa, 0xee, 0x2b, 0xc6, 0x68, 0xf6, 0xda, 0xaf, 0x29, 0xb0, 0x5c, 0x18, + 0xb1, 0x61, 0x87, 0x3d, 0x51, 0x06, 0x7c, 0xbe, 0xfe, 0xc1, 0xe4, 0x32, 0xe4, 0x18, 0xdc, 0x7d, + 0xc5, 0x18, 0x3b, 0x09, 0xb7, 0xf2, 0x7d, 0xef, 0x90, 0xb8, 0x6b, 0x27, 0x74, 0xec, 0xd6, 0x06, + 0xbb, 0xcd, 0x1a, 0x63, 0x65, 0x89, 0x20, 0xb3, 0xb2, 0x84, 0x5e, 0x6b, 0xc0, 0x94, 0x6f, 0x9e, + 0x38, 0x9e, 0x69, 0xe9, 0xff, 0x55, 0x05, 0x48, 0x5c, 0x1d, 0xb2, 0x8e, 0x58, 0x4a, 0xb2, 0xcb, + 0x63, 0x93, 0xcc, 0x77, 0x4e, 0x84, 0x34, 0xeb, 0x96, 0xa7, 0xd9, 0x4f, 0x4c, 0x9a, 0x66, 0xc8, + 0x2d, 0x97, 0x68, 0xb7, 0x72, 0x89, 0x76, 0x79, 0x6c, 0xa2, 0x71, 0xa1, 0x78, 0xaa, 0xdd, 0xca, + 0xa5, 0xda, 0xe5, 0xb1, 0xa9, 0xc6, 0xe9, 0x79, 0xb2, 0xdd, 0xca, 0x25, 0xdb, 0xe5, 0xb1, 0xc9, + 0xc6, 0xe9, 0x79, 0xba, 0xdd, 0xca, 0xa5, 0xdb, 0xe5, 0xb1, 0xe9, 0xc6, 0xe9, 0x79, 0xc2, 0x7d, + 0x35, 0x34, 0xe1, 0x56, 0x9e, 0x22, 0xe1, 0x90, 0x67, 0x31, 0xe5, 0xbe, 0x2a, 0x09, 0xb4, 0xe9, + 0xf1, 0xdc, 0x73, 0x81, 0x96, 0x71, 0x1f, 0x1a, 0x6a, 0xbf, 0x52, 0x81, 0x39, 0xe6, 0x6e, 0x5c, + 0x95, 0xdd, 0x7d, 0xaf, 0xf8, 0x0e, 0x56, 0x29, 0x79, 0x07, 0xab, 0x5d, 0x83, 0x05, 0x44, 0x10, + 0xe1, 0x1e, 0x12, 0x17, 0xfa, 0xe2, 0x07, 0x76, 0xf3, 0x1a, 0x87, 0x91, 0x37, 0xd8, 0x30, 0x23, + 0x33, 0xd9, 0x61, 0x64, 0x18, 0xf1, 0x5e, 0xbc, 0x5a, 0xf8, 0xb9, 0x48, 0x80, 0xfa, 0xd7, 0xf8, + 0x6a, 0xce, 0x20, 0x4a, 0x11, 0xd9, 0x03, 0xe2, 0xc5, 0x11, 0x5f, 0xa4, 0x12, 0x10, 0x1f, 0x2f, + 0x5a, 0xb6, 0xc9, 0x6e, 0x93, 0xf9, 0xcb, 0xbe, 0x14, 0xc1, 0xd6, 0xd5, 0xec, 0x76, 0x9c, 0xff, + 0x9c, 0x23, 0xc3, 0x4c, 0x70, 0x93, 0xcd, 0x7e, 0x19, 0x64, 0x47, 0xb6, 0xf8, 0xe2, 0xaf, 0x66, + 0x48, 0x38, 0xda, 0x07, 0xed, 0xc5, 0xe1, 0xc9, 0x3d, 0xdb, 0x15, 0xcd, 0xd3, 0xc4, 0x3e, 0xa8, + 0xf8, 0x45, 0xff, 0x4f, 0x05, 0xce, 0x09, 0x75, 0xa7, 0x43, 0x22, 0x93, 0xd9, 0x45, 0x7a, 0xb7, + 0xad, 0x3c, 0xdd, 0xbb, 0xed, 0x5d, 0x98, 0xef, 0xcb, 0xdb, 0xf2, 0xa7, 0xdc, 0x51, 0xe7, 0xc9, + 0xa5, 0x47, 0xe8, 0x95, 0xa7, 0x7e, 0x84, 0xae, 0xff, 0xba, 0x0a, 0xf3, 0xb9, 0x66, 0x60, 0x64, + 0x27, 0xb5, 0x0a, 0x60, 0xa7, 0xa1, 0x39, 0xe2, 0xd6, 0x4b, 0x8e, 0x5f, 0x43, 0x20, 0x2a, 0xbb, + 0x76, 0xaf, 0x9c, 0xfe, 0xda, 0xfd, 0x2e, 0x34, 0xfd, 0xcc, 0x49, 0x23, 0x0e, 0x0d, 0x4a, 0x5c, + 0x69, 0x88, 0xa4, 0xfa, 0x6f, 0x28, 0xb0, 0x50, 0x28, 0xd9, 0xec, 0x32, 0x9c, 0x26, 0x6a, 0x7a, + 0x19, 0x4e, 0x01, 0x21, 0x03, 0xd4, 0x7c, 0x06, 0x38, 0xf6, 0xb1, 0xf8, 0x73, 0x19, 0x0e, 0x0e, + 0x89, 0xbe, 0xea, 0xd0, 0xe8, 0xfb, 0x4d, 0x15, 0x16, 0xcb, 0x1b, 0xac, 0x97, 0xd5, 0x3f, 0xbf, + 0xa5, 0x40, 0x7b, 0xd8, 0x5a, 0xf8, 0xcc, 0xdc, 0x94, 0xe5, 0x4f, 0xda, 0xbb, 0xbe, 0xac, 0xfe, + 0x39, 0x97, 0xa4, 0x8f, 0xd0, 0x5c, 0xe8, 0x7f, 0x91, 0xda, 0x27, 0xed, 0xce, 0x5f, 0x52, 0xfb, + 0x68, 0x57, 0xa1, 0x85, 0x6a, 0x0a, 0x2f, 0xc1, 0x70, 0xb3, 0x57, 0xc0, 0xeb, 0x5f, 0x26, 0xb6, + 0x14, 0x1a, 0xad, 0xb3, 0x8a, 0x71, 0xfd, 0x6f, 0x95, 0xc4, 0x27, 0xe9, 0x9e, 0xe7, 0x85, 0xf2, + 0x49, 0x16, 0x69, 0x42, 0x1b, 0x29, 0x44, 0x5a, 0xba, 0x17, 0xfb, 0xff, 0x48, 0x1b, 0x1f, 0x69, + 0xa9, 0x2d, 0x85, 0x96, 0x5a, 0xff, 0x03, 0x05, 0x5e, 0x1b, 0xba, 0x1f, 0x1d, 0x69, 0x55, 0xa1, + 0x69, 0x54, 0xe5, 0xa6, 0x31, 0xa7, 0x5e, 0xe5, 0xf4, 0x85, 0xe6, 0xef, 0x15, 0x78, 0x7d, 0x44, + 0xf3, 0x9e, 0xf3, 0xac, 0x72, 0x1a, 0xcf, 0xe6, 0x84, 0x55, 0x87, 0x5e, 0x4c, 0x8f, 0xf5, 0x45, + 0x96, 0x9e, 0x15, 0x31, 0x3d, 0xf5, 0x7f, 0x56, 0xe0, 0xcd, 0x09, 0x76, 0xe2, 0xcf, 0x97, 0x32, + 0x43, 0x9f, 0xca, 0xea, 0xff, 0xa2, 0xc0, 0x95, 0xc9, 0x36, 0xf5, 0x2f, 0x8a, 0x46, 0x7f, 0x23, + 0xe6, 0x40, 0xfe, 0xb4, 0x40, 0x70, 0xab, 0x22, 0x55, 0x5d, 0x31, 0x37, 0xd4, 0x5c, 0x6e, 0x9c, + 0x59, 0x06, 0xe4, 0x5f, 0xc4, 0x57, 0x8b, 0x2f, 0xe2, 0x3b, 0x42, 0x8a, 0x14, 0x77, 0xa0, 0x43, + 0x96, 0x12, 0x61, 0xc9, 0x50, 0xe5, 0x25, 0xe3, 0x17, 0x60, 0x76, 0x83, 0x38, 0x9d, 0xb0, 0x9f, + 0xfc, 0x76, 0xe5, 0x4c, 0x4f, 0x5b, 0x27, 0xd0, 0x67, 0x0d, 0xe6, 0x44, 0x01, 0x4e, 0xf3, 0xdb, + 0x0c, 0xfd, 0x21, 0xbc, 0xd6, 0x25, 0xd1, 0xaa, 0xef, 0xaf, 0x99, 0xbd, 0x43, 0xea, 0x66, 0xd7, + 0xea, 0xb2, 0xc7, 0xc4, 0xa3, 0x7e, 0x8c, 0x43, 0x77, 0x96, 0x61, 0x46, 0xc0, 0x5f, 0xd0, 0x4a, + 0x38, 0x7d, 0x1b, 0x96, 0x86, 0x31, 0x3e, 0x95, 0xa0, 0xbf, 0xa8, 0xc2, 0xcc, 0xed, 0x27, 0x11, + 0xbe, 0x9f, 0xef, 0x12, 0xf6, 0xef, 0x4b, 0x52, 0xc1, 0xd4, 0xad, 0x0d, 0xed, 0x26, 0x00, 0x49, + 0xbe, 0x87, 0x3c, 0xfc, 0xcb, 0xf6, 0xa0, 0x29, 0x13, 0x43, 0x18, 0x4f, 0x97, 0x07, 0xc7, 0x8c, + 0x48, 0x18, 0x09, 0xff, 0x18, 0x04, 0x7f, 0xae, 0x50, 0xc0, 0x17, 0xde, 0x23, 0x57, 0x87, 0xbe, + 0x47, 0xae, 0x89, 0xaf, 0x80, 0xd3, 0xd9, 0xb6, 0xe3, 0x01, 0x3f, 0x0b, 0x90, 0x70, 0x25, 0xbf, + 0x8c, 0xac, 0x89, 0xcf, 0xbe, 0xf5, 0x6f, 0x15, 0x68, 0xa4, 0xd2, 0x6b, 0xab, 0xd9, 0x63, 0x73, + 0x65, 0xe8, 0x63, 0x6f, 0x83, 0x98, 0xec, 0x5f, 0x80, 0x88, 0x96, 0xcb, 0x5e, 0xa5, 0x8f, 0xff, + 0x7d, 0x41, 0xf1, 0x17, 0xf8, 0xb5, 0xfc, 0x8f, 0x35, 0x0b, 0x66, 0xab, 0x96, 0x9b, 0x4d, 0x0f, + 0xe0, 0x7c, 0x99, 0x38, 0x34, 0x16, 0x68, 0x5c, 0x7d, 0x9a, 0x3e, 0xcf, 0x4e, 0x40, 0xf9, 0x89, + 0x76, 0x83, 0x3f, 0xd1, 0x7e, 0x1a, 0x57, 0xad, 0x5d, 0xfb, 0xe2, 0xea, 0x8e, 0x4f, 0xdc, 0x47, + 0x5b, 0x9d, 0xc2, 0xbf, 0x06, 0xfa, 0xa8, 0x60, 0xad, 0xbd, 0x3a, 0xfb, 0xfe, 0xce, 0xff, 0x05, + 0x00, 0x00, 0xff, 0xff, 0x85, 0xbc, 0x17, 0x31, 0x7a, 0x48, 0x00, 0x00, } diff --git a/pkg/proto/sdk_ws/ws.proto b/pkg/proto/sdk_ws/ws.proto index b8c232965..0dc0cb610 100644 --- a/pkg/proto/sdk_ws/ws.proto +++ b/pkg/proto/sdk_ws/ws.proto @@ -330,6 +330,7 @@ message GroupApplicationAcceptedTips{ GroupInfo group = 1; GroupMemberFullInfo opUser = 2; string handleMsg = 4; + int32 receiverAs = 5; // admin(==1) or applicant(==0) } // OnApplicationGroupRejected() @@ -337,6 +338,7 @@ message GroupApplicationRejectedTips{ GroupInfo group = 1; GroupMemberFullInfo opUser = 2; string handleMsg = 4; + int32 receiverAs = 5; // admin(==1) or applicant(==0) } // OnTransferGroupOwner() From e4964b050b3275725606b01c6e4847babac5a149 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Tue, 13 Dec 2022 15:19:33 +0800 Subject: [PATCH 100/176] reaction message add expiration --- internal/rpc/msg/extend_msg_callback.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/rpc/msg/extend_msg_callback.go b/internal/rpc/msg/extend_msg_callback.go index 2654ee528..5c1fd6e49 100644 --- a/internal/rpc/msg/extend_msg_callback.go +++ b/internal/rpc/msg/extend_msg_callback.go @@ -6,6 +6,6 @@ func callbackSetMessageReactionExtensions(req *msg.ModifyMessageReactionExtensio } -func callbackDeleteMessageReactionExtensions(req *msg.OperateMessageListReactionExtensionsReq) { +func callbackDeleteMessageReactionExtensions(req *msg.DeleteMessageListReactionExtensionsReq) { } From f87eed1336e9b5b7fb1d51401b3cf5006f510087 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Tue, 13 Dec 2022 15:21:27 +0800 Subject: [PATCH 101/176] reaction message add expiration --- internal/msg_transfer/logic/modify_msg_handler.go | 1 - 1 file changed, 1 deletion(-) diff --git a/internal/msg_transfer/logic/modify_msg_handler.go b/internal/msg_transfer/logic/modify_msg_handler.go index 7b43e91aa..27764095c 100644 --- a/internal/msg_transfer/logic/modify_msg_handler.go +++ b/internal/msg_transfer/logic/modify_msg_handler.go @@ -9,7 +9,6 @@ import ( "Open_IM/pkg/common/log" pbMsg "Open_IM/pkg/proto/msg" server_api_params "Open_IM/pkg/proto/sdk_ws" - "Open_IM/pkg/utils" "encoding/json" "github.com/Shopify/sarama" From 46ee4e41a18bf1cf333a4e354c15cefd0bfa3f6d Mon Sep 17 00:00:00 2001 From: skiffer-git <44203734@qq.com> Date: Wed, 14 Dec 2022 14:15:53 +0800 Subject: [PATCH 102/176] simplify init logging --- pkg/common/config/config.go | 2 +- pkg/common/db/model.go | 36 ++++++++++---------------- pkg/common/db/mysql.go | 51 +++---------------------------------- 3 files changed, 18 insertions(+), 71 deletions(-) diff --git a/pkg/common/config/config.go b/pkg/common/config/config.go index e1942a66d..855d5c6fb 100644 --- a/pkg/common/config/config.go +++ b/pkg/common/config/config.go @@ -648,7 +648,7 @@ func unmarshalConfig(config interface{}, configName string) { } else { bytes, err := ioutil.ReadFile(fmt.Sprintf("../config/%s", configName)) if err != nil { - panic(err.Error()) + panic(err.Error() + configName) } if err = yaml.Unmarshal(bytes, config); err != nil { panic(err.Error()) diff --git a/pkg/common/db/model.go b/pkg/common/db/model.go index 5cdd83bb0..b586bab2f 100644 --- a/pkg/common/db/model.go +++ b/pkg/common/db/model.go @@ -46,10 +46,10 @@ func key(dbAddress, dbName string) string { } func init() { - //log.NewPrivateLog(constant.LogFileName) var mongoClient *mongo.Client var err1 error - //mysql init + fmt.Println("init mysql redis mongo ") + defer fmt.Println("init mysql redis mongo ok ") initMysqlDB() // mongo init // "mongodb://sysop:moon@localhost/records" @@ -84,45 +84,34 @@ func init() { mongoClient, err := mongo.Connect(context.TODO(), options.Client().ApplyURI(uri)) if err != nil { - fmt.Println(" mongo.Connect failed, try ", utils.GetSelfFuncName(), err.Error(), uri) time.Sleep(time.Duration(30) * time.Second) mongoClient, err1 = mongo.Connect(context.TODO(), options.Client().ApplyURI(uri)) if err1 != nil { - fmt.Println(" mongo.Connect retry failed, panic", err.Error(), uri) - panic(err1.Error()) + panic(err1.Error() + " mongo.Connect failed " + uri) } } - fmt.Println("mongo driver client init success: ", uri) // mongodb create index if err := createMongoIndex(mongoClient, cSendLog, false, "send_id", "-send_time"); err != nil { - fmt.Println("send_id", "-send_time", "index create failed", err.Error()) - panic(err.Error()) + panic(err.Error() + " index create failed " + cSendLog + " send_id, -send_time") } if err := createMongoIndex(mongoClient, cChat, false, "uid"); err != nil { - fmt.Println("uid", " index create failed", err.Error()) - //panic(err.Error()) + fmt.Println(err.Error() + " index create failed " + cChat + " uid ") } if err := createMongoIndex(mongoClient, cWorkMoment, true, "-create_time", "work_moment_id"); err != nil { - fmt.Println("-create_time", "work_moment_id", "index create failed", err.Error()) - panic(err.Error()) + panic(err.Error() + "index create failed " + cWorkMoment + " -create_time, work_moment_id") } if err := createMongoIndex(mongoClient, cWorkMoment, true, "work_moment_id"); err != nil { - fmt.Println("work_moment_id", "index create failed", err.Error()) - panic(err.Error()) + panic(err.Error() + "index create failed " + cWorkMoment + " work_moment_id ") } if err := createMongoIndex(mongoClient, cWorkMoment, false, "user_id", "-create_time"); err != nil { - fmt.Println("user_id", "-create_time", "index create failed", err.Error()) - panic(err.Error()) + panic(err.Error() + "index create failed " + cWorkMoment + "user_id, -create_time") } if err := createMongoIndex(mongoClient, cTag, false, "user_id", "-create_time"); err != nil { - fmt.Println("user_id", "-create_time", "index create failed", err.Error()) - panic(err.Error()) + panic(err.Error() + "index create failed " + cTag + " user_id, -create_time") } if err := createMongoIndex(mongoClient, cTag, true, "tag_id"); err != nil { - fmt.Println("tag_id", "index create failed", err.Error()) - panic(err.Error()) + panic(err.Error() + "index create failed " + cTag + " tag_id") } - fmt.Println("createMongoIndex success") DB.mongoClient = mongoClient ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second) @@ -136,7 +125,8 @@ func init() { }) _, err = DB.RDB.Ping(ctx).Result() if err != nil { - panic(err.Error()) + fmt.Println("redis cluster failed address ", config.Config.Redis.DBAddress) + panic(err.Error() + " redis cluster " + config.Config.Redis.DBUserName + config.Config.Redis.DBPassWord) } } else { DB.RDB = go_redis.NewClient(&go_redis.Options{ @@ -148,7 +138,7 @@ func init() { }) _, err = DB.RDB.Ping(ctx).Result() if err != nil { - panic(err.Error()) + panic(err.Error() + " redis " + config.Config.Redis.DBAddress[0] + config.Config.Redis.DBUserName + config.Config.Redis.DBPassWord) } } // 强一致性缓存,当一个key被标记删除,其他请求线程会被锁住轮询直到新的key生成,适合各种同步的拉取, 如果弱一致可能导致拉取还是老数据,毫无意义 diff --git a/pkg/common/db/mysql.go b/pkg/common/db/mysql.go index ca0e62008..9c8bc93df 100644 --- a/pkg/common/db/mysql.go +++ b/pkg/common/db/mysql.go @@ -22,37 +22,26 @@ func (w Writer) Printf(format string, args ...interface{}) { } func initMysqlDB() { - fmt.Println("init mysqlDB start") - //When there is no open IM database, connect to the mysql built-in database to create openIM database dsn := fmt.Sprintf("%s:%s@tcp(%s)/%s?charset=utf8mb4&parseTime=true&loc=Local", config.Config.Mysql.DBUserName, config.Config.Mysql.DBPassword, config.Config.Mysql.DBAddress[0], "mysql") var db *gorm.DB var err1 error db, err := gorm.Open(mysql.Open(dsn), nil) - if err != nil { - fmt.Println("Open failed ", err.Error(), dsn) - } if err != nil { time.Sleep(time.Duration(30) * time.Second) db, err1 = gorm.Open(mysql.Open(dsn), nil) if err1 != nil { - fmt.Println("Open failed ", err1.Error(), dsn) - panic(err1.Error()) + panic(err1.Error() + " open failed " + dsn) } } - //Check the database and table during initialization sql := fmt.Sprintf("CREATE DATABASE IF NOT EXISTS %s default charset utf8 COLLATE utf8_general_ci;", config.Config.Mysql.DBDatabaseName) - fmt.Println("exec sql: ", sql, " begin") err = db.Exec(sql).Error if err != nil { - fmt.Println("Exec failed ", err.Error(), sql) - panic(err.Error()) + panic(err.Error() + " Exec failed " + sql) } - fmt.Println("exec sql: ", sql, " end") dsn = fmt.Sprintf("%s:%s@tcp(%s)/%s?charset=utf8mb4&parseTime=true&loc=Local", config.Config.Mysql.DBUserName, config.Config.Mysql.DBPassword, config.Config.Mysql.DBAddress[0], config.Config.Mysql.DBDatabaseName) - newLogger := logger.New( Writer{}, logger.Config{ @@ -66,20 +55,18 @@ func initMysqlDB() { Logger: newLogger, }) if err != nil { - fmt.Println("Open failed ", err.Error(), dsn) - panic(err.Error()) + panic(err.Error() + " Open failed " + dsn) } sqlDB, err := db.DB() if err != nil { - panic(err.Error()) + panic(err.Error() + " db.DB() failed ") } sqlDB.SetConnMaxLifetime(time.Second * time.Duration(config.Config.Mysql.DBMaxLifeTime)) sqlDB.SetMaxOpenConns(config.Config.Mysql.DBMaxOpenConns) sqlDB.SetMaxIdleConns(config.Config.Mysql.DBMaxIdleConns) - fmt.Println("open mysql ok ", dsn) db.AutoMigrate( &Register{}, &Friend{}, @@ -94,99 +81,69 @@ func initMysqlDB() { db.Set("gorm:table_options", "collation=utf8_unicode_ci") if !db.Migrator().HasTable(&Friend{}) { - fmt.Println("CreateTable Friend") db.Migrator().CreateTable(&Friend{}) } - if !db.Migrator().HasTable(&FriendRequest{}) { - fmt.Println("CreateTable FriendRequest") db.Migrator().CreateTable(&FriendRequest{}) } - if !db.Migrator().HasTable(&Group{}) { - fmt.Println("CreateTable Group") db.Migrator().CreateTable(&Group{}) } - if !db.Migrator().HasTable(&GroupMember{}) { - fmt.Println("CreateTable GroupMember") db.Migrator().CreateTable(&GroupMember{}) } if !db.Migrator().HasTable(&GroupRequest{}) { - fmt.Println("CreateTable GroupRequest") db.Migrator().CreateTable(&GroupRequest{}) } if !db.Migrator().HasTable(&User{}) { - fmt.Println("CreateTable User") db.Migrator().CreateTable(&User{}) } if !db.Migrator().HasTable(&Black{}) { - fmt.Println("CreateTable Black") db.Migrator().CreateTable(&Black{}) } if !db.Migrator().HasTable(&ChatLog{}) { - fmt.Println("CreateTable ChatLog") db.Migrator().CreateTable(&ChatLog{}) } if !db.Migrator().HasTable(&Register{}) { - fmt.Println("CreateTable Register") db.Migrator().CreateTable(&Register{}) } if !db.Migrator().HasTable(&Conversation{}) { - fmt.Println("CreateTable Conversation") db.Migrator().CreateTable(&Conversation{}) } - if !db.Migrator().HasTable(&Department{}) { - fmt.Println("CreateTable Department") db.Migrator().CreateTable(&Department{}) } if !db.Migrator().HasTable(&OrganizationUser{}) { - fmt.Println("CreateTable OrganizationUser") db.Migrator().CreateTable(&OrganizationUser{}) } if !db.Migrator().HasTable(&DepartmentMember{}) { - fmt.Println("CreateTable DepartmentMember") db.Migrator().CreateTable(&DepartmentMember{}) } if !db.Migrator().HasTable(&AppVersion{}) { - fmt.Println("CreateTable DepartmentMember") db.Migrator().CreateTable(&AppVersion{}) } if !db.Migrator().HasTable(&BlackList{}) { - fmt.Println("CreateTable BlackList") db.Migrator().CreateTable(&BlackList{}) } if !db.Migrator().HasTable(&IpLimit{}) { - fmt.Println("CreateTable IpLimit") db.Migrator().CreateTable(&IpLimit{}) } if !db.Migrator().HasTable(&UserIpLimit{}) { - fmt.Println("CreateTable UserIpLimit") db.Migrator().CreateTable(&UserIpLimit{}) } - if !db.Migrator().HasTable(&RegisterAddFriend{}) { - fmt.Println("CreateTable RegisterAddFriend") db.Migrator().CreateTable(&RegisterAddFriend{}) } if !db.Migrator().HasTable(&Invitation{}) { - fmt.Println("CreateTable Invitation") db.Migrator().CreateTable(&Invitation{}) } - if !db.Migrator().HasTable(&ClientInitConfig{}) { - fmt.Println("CreateTable ClientInitConfig") db.Migrator().CreateTable(&ClientInitConfig{}) } - if !db.Migrator().HasTable(&UserIpRecord{}) { - fmt.Println("CreateTable Friend") db.Migrator().CreateTable(&UserIpRecord{}) } - DB.MysqlDB.db = db - return } func (m *mysqlDB) DefaultGormDB() *gorm.DB { From 7b57b924ee68a9f3d7b729ff56f3a3ec3e292769 Mon Sep 17 00:00:00 2001 From: skiffer-git <44203734@qq.com> Date: Wed, 14 Dec 2022 14:52:39 +0800 Subject: [PATCH 103/176] Simplify logs --- pkg/common/db/model.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkg/common/db/model.go b/pkg/common/db/model.go index b586bab2f..bf2058e51 100644 --- a/pkg/common/db/model.go +++ b/pkg/common/db/model.go @@ -49,7 +49,7 @@ func init() { var mongoClient *mongo.Client var err1 error fmt.Println("init mysql redis mongo ") - defer fmt.Println("init mysql redis mongo ok ") + initMysqlDB() // mongo init // "mongodb://sysop:moon@localhost/records" @@ -148,6 +148,8 @@ func init() { // 弱一致性缓存,当一个key被标记删除,其他请求线程直接返回该key的value,适合高频并且生成很缓存很慢的情况 如大群发消息缓存的缓存 DB.WeakRc = rockscache.NewClient(DB.RDB, rockscache.NewDefaultOptions()) DB.WeakRc.Options.StrongConsistency = false + + fmt.Println("init mysql redis mongo ok ") } func createMongoIndex(client *mongo.Client, collection string, isUnique bool, keys ...string) error { From a78e43bfe34620690d0513069f389f075c5e440f Mon Sep 17 00:00:00 2001 From: skiffer-git <44203734@qq.com> Date: Wed, 14 Dec 2022 15:22:06 +0800 Subject: [PATCH 104/176] Simplify logs --- cmd/open_im_api/main.go | 2 +- cmd/open_im_cms_api/main.go | 2 +- cmd/open_im_demo/main.go | 2 +- cmd/open_im_msg_gateway/main.go | 2 +- cmd/open_im_msg_transfer/main.go | 2 +- cmd/open_im_push/main.go | 2 +- cmd/rpc/open_im_admin_cms/main.go | 2 +- cmd/rpc/open_im_auth/main.go | 2 +- cmd/rpc/open_im_cache/main.go | 2 +- cmd/rpc/open_im_conversation/main.go | 2 +- cmd/rpc/open_im_friend/main.go | 2 +- cmd/rpc/open_im_group/main.go | 2 +- cmd/rpc/open_im_msg/main.go | 2 +- cmd/rpc/open_im_office/main.go | 2 +- cmd/rpc/open_im_organization/main.go | 2 +- cmd/rpc/open_im_user/main.go | 2 +- pkg/common/kafka/consumer_group.go | 3 +-- 17 files changed, 17 insertions(+), 18 deletions(-) diff --git a/cmd/open_im_api/main.go b/cmd/open_im_api/main.go index 94cb88831..d3e4e454c 100644 --- a/cmd/open_im_api/main.go +++ b/cmd/open_im_api/main.go @@ -232,7 +232,7 @@ func main() { if config.Config.Api.ListenIP != "" { address = config.Config.Api.ListenIP + ":" + strconv.Itoa(*ginPort) } - fmt.Println("start api server, address: ", address, "OpenIM version: ", constant.CurrentVersion, "\n") + fmt.Println("start api server, address: ", address, ", OpenIM version: ", constant.CurrentVersion, "\n") err := r.Run(address) if err != nil { log.Error("", "api run failed ", address, err.Error()) diff --git a/cmd/open_im_cms_api/main.go b/cmd/open_im_cms_api/main.go index 94c662b0b..0e42781e1 100644 --- a/cmd/open_im_cms_api/main.go +++ b/cmd/open_im_cms_api/main.go @@ -25,6 +25,6 @@ func main() { address = config.Config.Api.ListenIP + ":" + strconv.Itoa(*ginPort) } address = config.Config.CmsApi.ListenIP + ":" + strconv.Itoa(*ginPort) - fmt.Println("start cms api server, address: ", address, "OpenIM version: ", constant.CurrentVersion, "\n") + fmt.Println("start cms api server, address: ", address, ", OpenIM version: ", constant.CurrentVersion, "\n") router.Run(address) } diff --git a/cmd/open_im_demo/main.go b/cmd/open_im_demo/main.go index 9d8152218..56d76a7b7 100644 --- a/cmd/open_im_demo/main.go +++ b/cmd/open_im_demo/main.go @@ -70,7 +70,7 @@ func main() { address = config.Config.Api.ListenIP + ":" + strconv.Itoa(*ginPort) } address = config.Config.CmsApi.ListenIP + ":" + strconv.Itoa(*ginPort) - fmt.Println("start demo api server address: ", address, "OpenIM version: ", constant.CurrentVersion, "\n") + fmt.Println("start demo api server address: ", address, ", OpenIM version: ", constant.CurrentVersion, "\n") go register.OnboardingProcessRoutine() go register.ImportFriendRoutine() err := r.Run(address) diff --git a/cmd/open_im_msg_gateway/main.go b/cmd/open_im_msg_gateway/main.go index 44f55ce19..0eb8adb1a 100644 --- a/cmd/open_im_msg_gateway/main.go +++ b/cmd/open_im_msg_gateway/main.go @@ -21,7 +21,7 @@ func main() { flag.Parse() var wg sync.WaitGroup wg.Add(1) - fmt.Println("start rpc/msg_gateway server, port: ", *rpcPort, *wsPort, *prometheusPort, "OpenIM version: ", constant.CurrentVersion, "\n") + fmt.Println("start rpc/msg_gateway server, port: ", *rpcPort, *wsPort, *prometheusPort, ", OpenIM version: ", constant.CurrentVersion, "\n") gate.Init(*rpcPort, *wsPort) gate.Run(*prometheusPort) wg.Wait() diff --git a/cmd/open_im_msg_transfer/main.go b/cmd/open_im_msg_transfer/main.go index b11fa5a1a..969b76119 100644 --- a/cmd/open_im_msg_transfer/main.go +++ b/cmd/open_im_msg_transfer/main.go @@ -17,7 +17,7 @@ func main() { flag.Parse() log.NewPrivateLog(constant.LogFileName) logic.Init() - fmt.Println("start msg_transfer server ", "OpenIM version: ", constant.CurrentVersion, "\n") + fmt.Println("start msg_transfer server ", ", OpenIM version: ", constant.CurrentVersion, "\n") logic.Run(*prometheusPort) wg.Wait() } diff --git a/cmd/open_im_push/main.go b/cmd/open_im_push/main.go index b14581690..8bcb23081 100644 --- a/cmd/open_im_push/main.go +++ b/cmd/open_im_push/main.go @@ -18,7 +18,7 @@ func main() { var wg sync.WaitGroup wg.Add(1) log.NewPrivateLog(constant.LogFileName) - fmt.Println("start push rpc server, port: ", *rpcPort, "OpenIM version: ", constant.CurrentVersion, "\n") + fmt.Println("start push rpc server, port: ", *rpcPort, ", OpenIM version: ", constant.CurrentVersion, "\n") logic.Init(*rpcPort) logic.Run(*prometheusPort) wg.Wait() diff --git a/cmd/rpc/open_im_admin_cms/main.go b/cmd/rpc/open_im_admin_cms/main.go index f35b71300..d7f58dafd 100644 --- a/cmd/rpc/open_im_admin_cms/main.go +++ b/cmd/rpc/open_im_admin_cms/main.go @@ -14,7 +14,7 @@ func main() { rpcPort := flag.Int("port", defaultPorts[0], "rpc listening port") prometheusPort := flag.Int("prometheus_port", config.Config.Prometheus.AdminCmsPrometheusPort[0], "adminCMSPrometheusPort default listen port") flag.Parse() - fmt.Println("start cms rpc server, port: ", *rpcPort, "OpenIM version: ", constant.CurrentVersion, "\n") + fmt.Println("start cms rpc server, port: ", *rpcPort, ", OpenIM version: ", constant.CurrentVersion, "\n") rpcServer := rpcMessageCMS.NewAdminCMSServer(*rpcPort) go func() { err := promePkg.StartPromeSrv(*prometheusPort) diff --git a/cmd/rpc/open_im_auth/main.go b/cmd/rpc/open_im_auth/main.go index 56f2df0df..b9485454d 100644 --- a/cmd/rpc/open_im_auth/main.go +++ b/cmd/rpc/open_im_auth/main.go @@ -14,7 +14,7 @@ func main() { rpcPort := flag.Int("port", defaultPorts[0], "RpcToken default listen port 10800") prometheusPort := flag.Int("prometheus_port", config.Config.Prometheus.AuthPrometheusPort[0], "authPrometheusPort default listen port") flag.Parse() - fmt.Println("start auth rpc server, port: ", *rpcPort, "OpenIM version: ", constant.CurrentVersion, "\n") + fmt.Println("start auth rpc server, port: ", *rpcPort, ", OpenIM version: ", constant.CurrentVersion, "\n") rpcServer := rpcAuth.NewRpcAuthServer(*rpcPort) go func() { err := promePkg.StartPromeSrv(*prometheusPort) diff --git a/cmd/rpc/open_im_cache/main.go b/cmd/rpc/open_im_cache/main.go index 7df5d80f7..94fdabec3 100644 --- a/cmd/rpc/open_im_cache/main.go +++ b/cmd/rpc/open_im_cache/main.go @@ -15,7 +15,7 @@ func main() { rpcPort := flag.Int("port", defaultPorts[0], "RpcToken default listen port 10800") prometheusPort := flag.Int("prometheus_port", config.Config.Prometheus.CachePrometheusPort[0], "cachePrometheusPort default listen port") flag.Parse() - fmt.Println("start cache rpc server, port: ", *rpcPort, "OpenIM version: ", constant.CurrentVersion, "\n") + fmt.Println("start cache rpc server, port: ", *rpcPort, ", OpenIM version: ", constant.CurrentVersion, "\n") rpcServer := rpcCache.NewCacheServer(*rpcPort) go func() { err := promePkg.StartPromeSrv(*prometheusPort) diff --git a/cmd/rpc/open_im_conversation/main.go b/cmd/rpc/open_im_conversation/main.go index f3c746ade..f3aef03fc 100644 --- a/cmd/rpc/open_im_conversation/main.go +++ b/cmd/rpc/open_im_conversation/main.go @@ -14,7 +14,7 @@ func main() { rpcPort := flag.Int("port", defaultPorts[0], "RpcConversation default listen port 11300") prometheusPort := flag.Int("prometheus_port", config.Config.Prometheus.ConversationPrometheusPort[0], "conversationPrometheusPort default listen port") flag.Parse() - fmt.Println("start conversation rpc server, port: ", *rpcPort, "OpenIM version: ", constant.CurrentVersion, "\n") + fmt.Println("start conversation rpc server, port: ", *rpcPort, ", OpenIM version: ", constant.CurrentVersion, "\n") rpcServer := rpcConversation.NewRpcConversationServer(*rpcPort) go func() { err := promePkg.StartPromeSrv(*prometheusPort) diff --git a/cmd/rpc/open_im_friend/main.go b/cmd/rpc/open_im_friend/main.go index ae5ae0090..3b88d6964 100644 --- a/cmd/rpc/open_im_friend/main.go +++ b/cmd/rpc/open_im_friend/main.go @@ -14,7 +14,7 @@ func main() { rpcPort := flag.Int("port", defaultPorts[0], "get RpcFriendPort from cmd,default 12000 as port") prometheusPort := flag.Int("prometheus_port", config.Config.Prometheus.FriendPrometheusPort[0], "friendPrometheusPort default listen port") flag.Parse() - fmt.Println("start friend rpc server, port: ", *rpcPort, "OpenIM version: ", constant.CurrentVersion, "\n") + fmt.Println("start friend rpc server, port: ", *rpcPort, ", OpenIM version: ", constant.CurrentVersion, "\n") rpcServer := friend.NewFriendServer(*rpcPort) go func() { err := promePkg.StartPromeSrv(*prometheusPort) diff --git a/cmd/rpc/open_im_group/main.go b/cmd/rpc/open_im_group/main.go index 42b7f1f5c..8a5f26cfd 100644 --- a/cmd/rpc/open_im_group/main.go +++ b/cmd/rpc/open_im_group/main.go @@ -14,7 +14,7 @@ func main() { rpcPort := flag.Int("port", defaultPorts[0], "get RpcGroupPort from cmd,default 16000 as port") prometheusPort := flag.Int("prometheus_port", config.Config.Prometheus.GroupPrometheusPort[0], "groupPrometheusPort default listen port") flag.Parse() - fmt.Println("start group rpc server, port: ", *rpcPort, "OpenIM version: ", constant.CurrentVersion, "\n") + fmt.Println("start group rpc server, port: ", *rpcPort, ", OpenIM version: ", constant.CurrentVersion, "\n") rpcServer := group.NewGroupServer(*rpcPort) go func() { err := promePkg.StartPromeSrv(*prometheusPort) diff --git a/cmd/rpc/open_im_msg/main.go b/cmd/rpc/open_im_msg/main.go index a9d87a7ba..c9bcecf9c 100644 --- a/cmd/rpc/open_im_msg/main.go +++ b/cmd/rpc/open_im_msg/main.go @@ -14,7 +14,7 @@ func main() { rpcPort := flag.Int("port", defaultPorts[0], "rpc listening port") prometheusPort := flag.Int("prometheus_port", config.Config.Prometheus.MessagePrometheusPort[0], "msgPrometheusPort default listen port") flag.Parse() - fmt.Println("start msg rpc server, port: ", *rpcPort, "OpenIM version: ", constant.CurrentVersion, "\n") + fmt.Println("start msg rpc server, port: ", *rpcPort, ", OpenIM version: ", constant.CurrentVersion, "\n") rpcServer := msg.NewRpcChatServer(*rpcPort) go func() { err := promePkg.StartPromeSrv(*prometheusPort) diff --git a/cmd/rpc/open_im_office/main.go b/cmd/rpc/open_im_office/main.go index 0af5444d6..a22bc4c97 100644 --- a/cmd/rpc/open_im_office/main.go +++ b/cmd/rpc/open_im_office/main.go @@ -14,7 +14,7 @@ func main() { rpcPort := flag.Int("port", defaultPorts[0], "rpc listening port") prometheusPort := flag.Int("prometheus_port", config.Config.Prometheus.OfficePrometheusPort[0], "officePrometheusPort default listen port") flag.Parse() - fmt.Println("start office rpc server, port: ", *rpcPort, "OpenIM version: ", constant.CurrentVersion, "\n") + fmt.Println("start office rpc server, port: ", *rpcPort, ", OpenIM version: ", constant.CurrentVersion, "\n") rpcServer := rpc.NewOfficeServer(*rpcPort) go func() { err := promePkg.StartPromeSrv(*prometheusPort) diff --git a/cmd/rpc/open_im_organization/main.go b/cmd/rpc/open_im_organization/main.go index 5dc27ccd5..1de97bfcb 100644 --- a/cmd/rpc/open_im_organization/main.go +++ b/cmd/rpc/open_im_organization/main.go @@ -14,7 +14,7 @@ func main() { rpcPort := flag.Int("port", defaultPorts[0], "get RpcOrganizationPort from cmd,default 11200 as port") prometheusPort := flag.Int("prometheus_port", config.Config.Prometheus.OrganizationPrometheusPort[0], "organizationPrometheusPort default listen port") flag.Parse() - fmt.Println("start organization rpc server, port: ", *rpcPort, "OpenIM version: ", constant.CurrentVersion, "\n") + fmt.Println("start organization rpc server, port: ", *rpcPort, ", OpenIM version: ", constant.CurrentVersion, "\n") rpcServer := organization.NewServer(*rpcPort) go func() { err := promePkg.StartPromeSrv(*prometheusPort) diff --git a/cmd/rpc/open_im_user/main.go b/cmd/rpc/open_im_user/main.go index 3e64ac805..f6191280f 100644 --- a/cmd/rpc/open_im_user/main.go +++ b/cmd/rpc/open_im_user/main.go @@ -14,7 +14,7 @@ func main() { rpcPort := flag.Int("port", defaultPorts[0], "rpc listening port") prometheusPort := flag.Int("prometheus_port", config.Config.Prometheus.UserPrometheusPort[0], "userPrometheusPort default listen port") flag.Parse() - fmt.Println("start user rpc server, port: ", *rpcPort, "OpenIM version: ", constant.CurrentVersion, "\n") + fmt.Println("start user rpc server, port: ", *rpcPort, ", OpenIM version: ", constant.CurrentVersion, "\n") rpcServer := user.NewUserServer(*rpcPort) go func() { err := promePkg.StartPromeSrv(*prometheusPort) diff --git a/pkg/common/kafka/consumer_group.go b/pkg/common/kafka/consumer_group.go index 6da75972d..97a0f5d6e 100644 --- a/pkg/common/kafka/consumer_group.go +++ b/pkg/common/kafka/consumer_group.go @@ -8,7 +8,6 @@ package kafka import ( "context" - "fmt" "github.com/Shopify/sarama" ) @@ -29,7 +28,7 @@ func NewMConsumerGroup(consumerConfig *MConsumerGroupConfig, topics, addrs []str config.Version = consumerConfig.KafkaVersion config.Consumer.Offsets.Initial = consumerConfig.OffsetsInitial config.Consumer.Return.Errors = consumerConfig.IsReturnErr - fmt.Println("init address is ", addrs, "topics is ", topics) + //fmt.Println("init address is ", addrs, "topics is ", topics) consumerGroup, err := sarama.NewConsumerGroup(addrs, groupID, config) if err != nil { panic(err.Error()) From be8c544da3f4575705979ba3a56909da4f99ddf7 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 14 Dec 2022 16:14:12 +0800 Subject: [PATCH 105/176] proto --- cmd/open_im_api/main.go | 2 +- pkg/proto/admin_cms/admin_cms.pb.go | 545 +++++++++++----------------- pkg/proto/admin_cms/admin_cms.proto | 2 +- 3 files changed, 205 insertions(+), 344 deletions(-) diff --git a/cmd/open_im_api/main.go b/cmd/open_im_api/main.go index 94cb88831..10e808f72 100644 --- a/cmd/open_im_api/main.go +++ b/cmd/open_im_api/main.go @@ -232,7 +232,7 @@ func main() { if config.Config.Api.ListenIP != "" { address = config.Config.Api.ListenIP + ":" + strconv.Itoa(*ginPort) } - fmt.Println("start api server, address: ", address, "OpenIM version: ", constant.CurrentVersion, "\n") + fmt.Println("start api server, address: ", address, "OpenIM version: ", constant.CurrentVersion) err := r.Run(address) if err != nil { log.Error("", "api run failed ", address, err.Error()) diff --git a/pkg/proto/admin_cms/admin_cms.pb.go b/pkg/proto/admin_cms/admin_cms.pb.go index 965b17b99..c3b267469 100644 --- a/pkg/proto/admin_cms/admin_cms.pb.go +++ b/pkg/proto/admin_cms/admin_cms.pb.go @@ -36,7 +36,7 @@ func (m *CommonResp) Reset() { *m = CommonResp{} } func (m *CommonResp) String() string { return proto.CompactTextString(m) } func (*CommonResp) ProtoMessage() {} func (*CommonResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{0} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{0} } func (m *CommonResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CommonResp.Unmarshal(m, b) @@ -83,7 +83,7 @@ func (m *AdminLoginReq) Reset() { *m = AdminLoginReq{} } func (m *AdminLoginReq) String() string { return proto.CompactTextString(m) } func (*AdminLoginReq) ProtoMessage() {} func (*AdminLoginReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{1} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{1} } func (m *AdminLoginReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AdminLoginReq.Unmarshal(m, b) @@ -138,7 +138,7 @@ func (m *AdminLoginResp) Reset() { *m = AdminLoginResp{} } func (m *AdminLoginResp) String() string { return proto.CompactTextString(m) } func (*AdminLoginResp) ProtoMessage() {} func (*AdminLoginResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{2} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{2} } func (m *AdminLoginResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AdminLoginResp.Unmarshal(m, b) @@ -186,114 +186,6 @@ func (m *AdminLoginResp) GetCommonResp() *CommonResp { return nil } -type GetUserTokenReq struct { - OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` - UserID string `protobuf:"bytes,2,opt,name=userID" json:"userID,omitempty"` - PlatformID int32 `protobuf:"varint,3,opt,name=platformID" json:"platformID,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GetUserTokenReq) Reset() { *m = GetUserTokenReq{} } -func (m *GetUserTokenReq) String() string { return proto.CompactTextString(m) } -func (*GetUserTokenReq) ProtoMessage() {} -func (*GetUserTokenReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{3} -} -func (m *GetUserTokenReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetUserTokenReq.Unmarshal(m, b) -} -func (m *GetUserTokenReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetUserTokenReq.Marshal(b, m, deterministic) -} -func (dst *GetUserTokenReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetUserTokenReq.Merge(dst, src) -} -func (m *GetUserTokenReq) XXX_Size() int { - return xxx_messageInfo_GetUserTokenReq.Size(m) -} -func (m *GetUserTokenReq) XXX_DiscardUnknown() { - xxx_messageInfo_GetUserTokenReq.DiscardUnknown(m) -} - -var xxx_messageInfo_GetUserTokenReq proto.InternalMessageInfo - -func (m *GetUserTokenReq) GetOperationID() string { - if m != nil { - return m.OperationID - } - return "" -} - -func (m *GetUserTokenReq) GetUserID() string { - if m != nil { - return m.UserID - } - return "" -} - -func (m *GetUserTokenReq) GetPlatformID() int32 { - if m != nil { - return m.PlatformID - } - return 0 -} - -type GetUserTokenResp struct { - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` - Token string `protobuf:"bytes,2,opt,name=token" json:"token,omitempty"` - ExpTime int64 `protobuf:"varint,3,opt,name=expTime" json:"expTime,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GetUserTokenResp) Reset() { *m = GetUserTokenResp{} } -func (m *GetUserTokenResp) String() string { return proto.CompactTextString(m) } -func (*GetUserTokenResp) ProtoMessage() {} -func (*GetUserTokenResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{4} -} -func (m *GetUserTokenResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetUserTokenResp.Unmarshal(m, b) -} -func (m *GetUserTokenResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetUserTokenResp.Marshal(b, m, deterministic) -} -func (dst *GetUserTokenResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetUserTokenResp.Merge(dst, src) -} -func (m *GetUserTokenResp) XXX_Size() int { - return xxx_messageInfo_GetUserTokenResp.Size(m) -} -func (m *GetUserTokenResp) XXX_DiscardUnknown() { - xxx_messageInfo_GetUserTokenResp.DiscardUnknown(m) -} - -var xxx_messageInfo_GetUserTokenResp proto.InternalMessageInfo - -func (m *GetUserTokenResp) GetCommonResp() *CommonResp { - if m != nil { - return m.CommonResp - } - return nil -} - -func (m *GetUserTokenResp) GetToken() string { - if m != nil { - return m.Token - } - return "" -} - -func (m *GetUserTokenResp) GetExpTime() int64 { - if m != nil { - return m.ExpTime - } - return 0 -} - type AddUserRegisterAddFriendIDListReq struct { OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` UserIDList []string `protobuf:"bytes,2,rep,name=userIDList" json:"userIDList,omitempty"` @@ -306,7 +198,7 @@ func (m *AddUserRegisterAddFriendIDListReq) Reset() { *m = AddUserRegist func (m *AddUserRegisterAddFriendIDListReq) String() string { return proto.CompactTextString(m) } func (*AddUserRegisterAddFriendIDListReq) ProtoMessage() {} func (*AddUserRegisterAddFriendIDListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{5} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{3} } func (m *AddUserRegisterAddFriendIDListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AddUserRegisterAddFriendIDListReq.Unmarshal(m, b) @@ -351,7 +243,7 @@ func (m *AddUserRegisterAddFriendIDListResp) Reset() { *m = AddUserRegis func (m *AddUserRegisterAddFriendIDListResp) String() string { return proto.CompactTextString(m) } func (*AddUserRegisterAddFriendIDListResp) ProtoMessage() {} func (*AddUserRegisterAddFriendIDListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{6} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{4} } func (m *AddUserRegisterAddFriendIDListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AddUserRegisterAddFriendIDListResp.Unmarshal(m, b) @@ -391,7 +283,7 @@ func (m *ReduceUserRegisterAddFriendIDListReq) Reset() { *m = ReduceUser func (m *ReduceUserRegisterAddFriendIDListReq) String() string { return proto.CompactTextString(m) } func (*ReduceUserRegisterAddFriendIDListReq) ProtoMessage() {} func (*ReduceUserRegisterAddFriendIDListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{7} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{5} } func (m *ReduceUserRegisterAddFriendIDListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ReduceUserRegisterAddFriendIDListReq.Unmarshal(m, b) @@ -443,7 +335,7 @@ func (m *ReduceUserRegisterAddFriendIDListResp) Reset() { *m = ReduceUse func (m *ReduceUserRegisterAddFriendIDListResp) String() string { return proto.CompactTextString(m) } func (*ReduceUserRegisterAddFriendIDListResp) ProtoMessage() {} func (*ReduceUserRegisterAddFriendIDListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{8} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{6} } func (m *ReduceUserRegisterAddFriendIDListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ReduceUserRegisterAddFriendIDListResp.Unmarshal(m, b) @@ -482,7 +374,7 @@ func (m *GetUserRegisterAddFriendIDListReq) Reset() { *m = GetUserRegist func (m *GetUserRegisterAddFriendIDListReq) String() string { return proto.CompactTextString(m) } func (*GetUserRegisterAddFriendIDListReq) ProtoMessage() {} func (*GetUserRegisterAddFriendIDListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{9} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{7} } func (m *GetUserRegisterAddFriendIDListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserRegisterAddFriendIDListReq.Unmarshal(m, b) @@ -529,7 +421,7 @@ func (m *GetUserRegisterAddFriendIDListResp) Reset() { *m = GetUserRegis func (m *GetUserRegisterAddFriendIDListResp) String() string { return proto.CompactTextString(m) } func (*GetUserRegisterAddFriendIDListResp) ProtoMessage() {} func (*GetUserRegisterAddFriendIDListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{10} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{8} } func (m *GetUserRegisterAddFriendIDListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserRegisterAddFriendIDListResp.Unmarshal(m, b) @@ -579,6 +471,7 @@ type GetChatLogsReq struct { ContentType int32 `protobuf:"varint,6,opt,name=contentType" json:"contentType,omitempty"` Pagination *sdk_ws.RequestPagination `protobuf:"bytes,7,opt,name=pagination" json:"pagination,omitempty"` OperationID string `protobuf:"bytes,8,opt,name=operationID" json:"operationID,omitempty"` + OpUserID string `protobuf:"bytes,9,opt,name=opUserID" json:"opUserID,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -588,7 +481,7 @@ func (m *GetChatLogsReq) Reset() { *m = GetChatLogsReq{} } func (m *GetChatLogsReq) String() string { return proto.CompactTextString(m) } func (*GetChatLogsReq) ProtoMessage() {} func (*GetChatLogsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{11} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{9} } func (m *GetChatLogsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetChatLogsReq.Unmarshal(m, b) @@ -664,6 +557,13 @@ func (m *GetChatLogsReq) GetOperationID() string { return "" } +func (m *GetChatLogsReq) GetOpUserID() string { + if m != nil { + return m.OpUserID + } + return "" +} + type ChatLog struct { ServerMsgID string `protobuf:"bytes,1,opt,name=serverMsgID" json:"serverMsgID,omitempty"` ClientMsgID string `protobuf:"bytes,2,opt,name=clientMsgID" json:"clientMsgID,omitempty"` @@ -692,7 +592,7 @@ func (m *ChatLog) Reset() { *m = ChatLog{} } func (m *ChatLog) String() string { return proto.CompactTextString(m) } func (*ChatLog) ProtoMessage() {} func (*ChatLog) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{12} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{10} } func (m *ChatLog) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ChatLog.Unmarshal(m, b) @@ -852,7 +752,7 @@ func (m *GetChatLogsResp) Reset() { *m = GetChatLogsResp{} } func (m *GetChatLogsResp) String() string { return proto.CompactTextString(m) } func (*GetChatLogsResp) ProtoMessage() {} func (*GetChatLogsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{13} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{11} } func (m *GetChatLogsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetChatLogsResp.Unmarshal(m, b) @@ -912,7 +812,7 @@ func (m *StatisticsReq) Reset() { *m = StatisticsReq{} } func (m *StatisticsReq) String() string { return proto.CompactTextString(m) } func (*StatisticsReq) ProtoMessage() {} func (*StatisticsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{14} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{12} } func (m *StatisticsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StatisticsReq.Unmarshal(m, b) @@ -958,7 +858,7 @@ func (m *GetActiveUserReq) Reset() { *m = GetActiveUserReq{} } func (m *GetActiveUserReq) String() string { return proto.CompactTextString(m) } func (*GetActiveUserReq) ProtoMessage() {} func (*GetActiveUserReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{15} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{13} } func (m *GetActiveUserReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetActiveUserReq.Unmarshal(m, b) @@ -1005,7 +905,7 @@ func (m *UserResp) Reset() { *m = UserResp{} } func (m *UserResp) String() string { return proto.CompactTextString(m) } func (*UserResp) ProtoMessage() {} func (*UserResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{16} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{14} } func (m *UserResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserResp.Unmarshal(m, b) @@ -1058,7 +958,7 @@ func (m *GetActiveUserResp) Reset() { *m = GetActiveUserResp{} } func (m *GetActiveUserResp) String() string { return proto.CompactTextString(m) } func (*GetActiveUserResp) ProtoMessage() {} func (*GetActiveUserResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{17} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{15} } func (m *GetActiveUserResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetActiveUserResp.Unmarshal(m, b) @@ -1104,7 +1004,7 @@ func (m *GetActiveGroupReq) Reset() { *m = GetActiveGroupReq{} } func (m *GetActiveGroupReq) String() string { return proto.CompactTextString(m) } func (*GetActiveGroupReq) ProtoMessage() {} func (*GetActiveGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{18} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{16} } func (m *GetActiveGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetActiveGroupReq.Unmarshal(m, b) @@ -1152,7 +1052,7 @@ func (m *GroupResp) Reset() { *m = GroupResp{} } func (m *GroupResp) String() string { return proto.CompactTextString(m) } func (*GroupResp) ProtoMessage() {} func (*GroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{19} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{17} } func (m *GroupResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupResp.Unmarshal(m, b) @@ -1212,7 +1112,7 @@ func (m *GetActiveGroupResp) Reset() { *m = GetActiveGroupResp{} } func (m *GetActiveGroupResp) String() string { return proto.CompactTextString(m) } func (*GetActiveGroupResp) ProtoMessage() {} func (*GetActiveGroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{20} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{18} } func (m *GetActiveGroupResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetActiveGroupResp.Unmarshal(m, b) @@ -1258,7 +1158,7 @@ func (m *DateNumList) Reset() { *m = DateNumList{} } func (m *DateNumList) String() string { return proto.CompactTextString(m) } func (*DateNumList) ProtoMessage() {} func (*DateNumList) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{21} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{19} } func (m *DateNumList) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DateNumList.Unmarshal(m, b) @@ -1304,7 +1204,7 @@ func (m *GetMessageStatisticsReq) Reset() { *m = GetMessageStatisticsReq func (m *GetMessageStatisticsReq) String() string { return proto.CompactTextString(m) } func (*GetMessageStatisticsReq) ProtoMessage() {} func (*GetMessageStatisticsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{22} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{20} } func (m *GetMessageStatisticsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMessageStatisticsReq.Unmarshal(m, b) @@ -1353,7 +1253,7 @@ func (m *GetMessageStatisticsResp) Reset() { *m = GetMessageStatisticsRe func (m *GetMessageStatisticsResp) String() string { return proto.CompactTextString(m) } func (*GetMessageStatisticsResp) ProtoMessage() {} func (*GetMessageStatisticsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{23} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{21} } func (m *GetMessageStatisticsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMessageStatisticsResp.Unmarshal(m, b) @@ -1420,7 +1320,7 @@ func (m *GetGroupStatisticsReq) Reset() { *m = GetGroupStatisticsReq{} } func (m *GetGroupStatisticsReq) String() string { return proto.CompactTextString(m) } func (*GetGroupStatisticsReq) ProtoMessage() {} func (*GetGroupStatisticsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{24} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{22} } func (m *GetGroupStatisticsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupStatisticsReq.Unmarshal(m, b) @@ -1469,7 +1369,7 @@ func (m *GetGroupStatisticsResp) Reset() { *m = GetGroupStatisticsResp{} func (m *GetGroupStatisticsResp) String() string { return proto.CompactTextString(m) } func (*GetGroupStatisticsResp) ProtoMessage() {} func (*GetGroupStatisticsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{25} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{23} } func (m *GetGroupStatisticsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupStatisticsResp.Unmarshal(m, b) @@ -1536,7 +1436,7 @@ func (m *GetUserStatisticsReq) Reset() { *m = GetUserStatisticsReq{} } func (m *GetUserStatisticsReq) String() string { return proto.CompactTextString(m) } func (*GetUserStatisticsReq) ProtoMessage() {} func (*GetUserStatisticsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{26} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{24} } func (m *GetUserStatisticsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserStatisticsReq.Unmarshal(m, b) @@ -1587,7 +1487,7 @@ func (m *GetUserStatisticsResp) Reset() { *m = GetUserStatisticsResp{} } func (m *GetUserStatisticsResp) String() string { return proto.CompactTextString(m) } func (*GetUserStatisticsResp) ProtoMessage() {} func (*GetUserStatisticsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{27} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{25} } func (m *GetUserStatisticsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserStatisticsResp.Unmarshal(m, b) @@ -1669,7 +1569,7 @@ func (m *GenerateInvitationCodeReq) Reset() { *m = GenerateInvitationCod func (m *GenerateInvitationCodeReq) String() string { return proto.CompactTextString(m) } func (*GenerateInvitationCodeReq) ProtoMessage() {} func (*GenerateInvitationCodeReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{28} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{26} } func (m *GenerateInvitationCodeReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GenerateInvitationCodeReq.Unmarshal(m, b) @@ -1721,7 +1621,7 @@ func (m *GenerateInvitationCodeResp) Reset() { *m = GenerateInvitationCo func (m *GenerateInvitationCodeResp) String() string { return proto.CompactTextString(m) } func (*GenerateInvitationCodeResp) ProtoMessage() {} func (*GenerateInvitationCodeResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{29} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{27} } func (m *GenerateInvitationCodeResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GenerateInvitationCodeResp.Unmarshal(m, b) @@ -1762,7 +1662,7 @@ func (m *GetInvitationCodesReq) Reset() { *m = GetInvitationCodesReq{} } func (m *GetInvitationCodesReq) String() string { return proto.CompactTextString(m) } func (*GetInvitationCodesReq) ProtoMessage() {} func (*GetInvitationCodesReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{30} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{28} } func (m *GetInvitationCodesReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetInvitationCodesReq.Unmarshal(m, b) @@ -1825,7 +1725,7 @@ func (m *InvitationCode) Reset() { *m = InvitationCode{} } func (m *InvitationCode) String() string { return proto.CompactTextString(m) } func (*InvitationCode) ProtoMessage() {} func (*InvitationCode) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{31} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{29} } func (m *InvitationCode) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_InvitationCode.Unmarshal(m, b) @@ -1893,7 +1793,7 @@ func (m *GetInvitationCodesResp) Reset() { *m = GetInvitationCodesResp{} func (m *GetInvitationCodesResp) String() string { return proto.CompactTextString(m) } func (*GetInvitationCodesResp) ProtoMessage() {} func (*GetInvitationCodesResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{32} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{30} } func (m *GetInvitationCodesResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetInvitationCodesResp.Unmarshal(m, b) @@ -1946,7 +1846,7 @@ func (m *QueryIPRegisterReq) Reset() { *m = QueryIPRegisterReq{} } func (m *QueryIPRegisterReq) String() string { return proto.CompactTextString(m) } func (*QueryIPRegisterReq) ProtoMessage() {} func (*QueryIPRegisterReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{33} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{31} } func (m *QueryIPRegisterReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_QueryIPRegisterReq.Unmarshal(m, b) @@ -1995,7 +1895,7 @@ func (m *QueryIPRegisterResp) Reset() { *m = QueryIPRegisterResp{} } func (m *QueryIPRegisterResp) String() string { return proto.CompactTextString(m) } func (*QueryIPRegisterResp) ProtoMessage() {} func (*QueryIPRegisterResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{34} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{32} } func (m *QueryIPRegisterResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_QueryIPRegisterResp.Unmarshal(m, b) @@ -2063,7 +1963,7 @@ func (m *AddIPLimitReq) Reset() { *m = AddIPLimitReq{} } func (m *AddIPLimitReq) String() string { return proto.CompactTextString(m) } func (*AddIPLimitReq) ProtoMessage() {} func (*AddIPLimitReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{35} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{33} } func (m *AddIPLimitReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AddIPLimitReq.Unmarshal(m, b) @@ -2115,7 +2015,7 @@ func (m *AddIPLimitResp) Reset() { *m = AddIPLimitResp{} } func (m *AddIPLimitResp) String() string { return proto.CompactTextString(m) } func (*AddIPLimitResp) ProtoMessage() {} func (*AddIPLimitResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{36} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{34} } func (m *AddIPLimitResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AddIPLimitResp.Unmarshal(m, b) @@ -2154,7 +2054,7 @@ func (m *RemoveIPLimitReq) Reset() { *m = RemoveIPLimitReq{} } func (m *RemoveIPLimitReq) String() string { return proto.CompactTextString(m) } func (*RemoveIPLimitReq) ProtoMessage() {} func (*RemoveIPLimitReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{37} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{35} } func (m *RemoveIPLimitReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RemoveIPLimitReq.Unmarshal(m, b) @@ -2199,7 +2099,7 @@ func (m *RemoveIPLimitResp) Reset() { *m = RemoveIPLimitResp{} } func (m *RemoveIPLimitResp) String() string { return proto.CompactTextString(m) } func (*RemoveIPLimitResp) ProtoMessage() {} func (*RemoveIPLimitResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{38} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{36} } func (m *RemoveIPLimitResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RemoveIPLimitResp.Unmarshal(m, b) @@ -2238,7 +2138,7 @@ func (m *QueryUserIDIPLimitLoginReq) Reset() { *m = QueryUserIDIPLimitLo func (m *QueryUserIDIPLimitLoginReq) String() string { return proto.CompactTextString(m) } func (*QueryUserIDIPLimitLoginReq) ProtoMessage() {} func (*QueryUserIDIPLimitLoginReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{39} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{37} } func (m *QueryUserIDIPLimitLoginReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_QueryUserIDIPLimitLoginReq.Unmarshal(m, b) @@ -2285,7 +2185,7 @@ func (m *UserIPLimit) Reset() { *m = UserIPLimit{} } func (m *UserIPLimit) String() string { return proto.CompactTextString(m) } func (*UserIPLimit) ProtoMessage() {} func (*UserIPLimit) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{40} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{38} } func (m *UserIPLimit) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserIPLimit.Unmarshal(m, b) @@ -2338,7 +2238,7 @@ func (m *QueryUserIDIPLimitLoginResp) Reset() { *m = QueryUserIDIPLimitL func (m *QueryUserIDIPLimitLoginResp) String() string { return proto.CompactTextString(m) } func (*QueryUserIDIPLimitLoginResp) ProtoMessage() {} func (*QueryUserIDIPLimitLoginResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{41} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{39} } func (m *QueryUserIDIPLimitLoginResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_QueryUserIDIPLimitLoginResp.Unmarshal(m, b) @@ -2385,7 +2285,7 @@ func (m *AddUserIPLimitLoginReq) Reset() { *m = AddUserIPLimitLoginReq{} func (m *AddUserIPLimitLoginReq) String() string { return proto.CompactTextString(m) } func (*AddUserIPLimitLoginReq) ProtoMessage() {} func (*AddUserIPLimitLoginReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{42} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{40} } func (m *AddUserIPLimitLoginReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AddUserIPLimitLoginReq.Unmarshal(m, b) @@ -2437,7 +2337,7 @@ func (m *AddUserIPLimitLoginResp) Reset() { *m = AddUserIPLimitLoginResp func (m *AddUserIPLimitLoginResp) String() string { return proto.CompactTextString(m) } func (*AddUserIPLimitLoginResp) ProtoMessage() {} func (*AddUserIPLimitLoginResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{43} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{41} } func (m *AddUserIPLimitLoginResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AddUserIPLimitLoginResp.Unmarshal(m, b) @@ -2477,7 +2377,7 @@ func (m *RemoveUserIPLimitReq) Reset() { *m = RemoveUserIPLimitReq{} } func (m *RemoveUserIPLimitReq) String() string { return proto.CompactTextString(m) } func (*RemoveUserIPLimitReq) ProtoMessage() {} func (*RemoveUserIPLimitReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{44} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{42} } func (m *RemoveUserIPLimitReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RemoveUserIPLimitReq.Unmarshal(m, b) @@ -2529,7 +2429,7 @@ func (m *RemoveUserIPLimitResp) Reset() { *m = RemoveUserIPLimitResp{} } func (m *RemoveUserIPLimitResp) String() string { return proto.CompactTextString(m) } func (*RemoveUserIPLimitResp) ProtoMessage() {} func (*RemoveUserIPLimitResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{45} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{43} } func (m *RemoveUserIPLimitResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RemoveUserIPLimitResp.Unmarshal(m, b) @@ -2567,7 +2467,7 @@ func (m *GetClientInitConfigReq) Reset() { *m = GetClientInitConfigReq{} func (m *GetClientInitConfigReq) String() string { return proto.CompactTextString(m) } func (*GetClientInitConfigReq) ProtoMessage() {} func (*GetClientInitConfigReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{46} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{44} } func (m *GetClientInitConfigReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetClientInitConfigReq.Unmarshal(m, b) @@ -2605,7 +2505,7 @@ func (m *GetClientInitConfigResp) Reset() { *m = GetClientInitConfigResp func (m *GetClientInitConfigResp) String() string { return proto.CompactTextString(m) } func (*GetClientInitConfigResp) ProtoMessage() {} func (*GetClientInitConfigResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{47} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{45} } func (m *GetClientInitConfigResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetClientInitConfigResp.Unmarshal(m, b) @@ -2644,7 +2544,7 @@ func (m *SetClientInitConfigReq) Reset() { *m = SetClientInitConfigReq{} func (m *SetClientInitConfigReq) String() string { return proto.CompactTextString(m) } func (*SetClientInitConfigReq) ProtoMessage() {} func (*SetClientInitConfigReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{48} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{46} } func (m *SetClientInitConfigReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetClientInitConfigReq.Unmarshal(m, b) @@ -2689,7 +2589,7 @@ func (m *SetClientInitConfigResp) Reset() { *m = SetClientInitConfigResp func (m *SetClientInitConfigResp) String() string { return proto.CompactTextString(m) } func (*SetClientInitConfigResp) ProtoMessage() {} func (*SetClientInitConfigResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{49} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{47} } func (m *SetClientInitConfigResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetClientInitConfigResp.Unmarshal(m, b) @@ -2731,7 +2631,7 @@ func (m *GetUserFriendsReq) Reset() { *m = GetUserFriendsReq{} } func (m *GetUserFriendsReq) String() string { return proto.CompactTextString(m) } func (*GetUserFriendsReq) ProtoMessage() {} func (*GetUserFriendsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{50} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{48} } func (m *GetUserFriendsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserFriendsReq.Unmarshal(m, b) @@ -2800,7 +2700,7 @@ func (m *GetUserFriendsResp) Reset() { *m = GetUserFriendsResp{} } func (m *GetUserFriendsResp) String() string { return proto.CompactTextString(m) } func (*GetUserFriendsResp) ProtoMessage() {} func (*GetUserFriendsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{51} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{49} } func (m *GetUserFriendsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserFriendsResp.Unmarshal(m, b) @@ -2861,7 +2761,7 @@ func (m *GetUserIDByEmailAndPhoneNumberReq) Reset() { *m = GetUserIDByEm func (m *GetUserIDByEmailAndPhoneNumberReq) String() string { return proto.CompactTextString(m) } func (*GetUserIDByEmailAndPhoneNumberReq) ProtoMessage() {} func (*GetUserIDByEmailAndPhoneNumberReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{52} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{50} } func (m *GetUserIDByEmailAndPhoneNumberReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserIDByEmailAndPhoneNumberReq.Unmarshal(m, b) @@ -2914,7 +2814,7 @@ func (m *GetUserIDByEmailAndPhoneNumberResp) Reset() { *m = GetUserIDByE func (m *GetUserIDByEmailAndPhoneNumberResp) String() string { return proto.CompactTextString(m) } func (*GetUserIDByEmailAndPhoneNumberResp) ProtoMessage() {} func (*GetUserIDByEmailAndPhoneNumberResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_f23e453f07b40171, []int{53} + return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{51} } func (m *GetUserIDByEmailAndPhoneNumberResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserIDByEmailAndPhoneNumberResp.Unmarshal(m, b) @@ -2952,8 +2852,6 @@ func init() { proto.RegisterType((*CommonResp)(nil), "admin_cms.CommonResp") proto.RegisterType((*AdminLoginReq)(nil), "admin_cms.AdminLoginReq") proto.RegisterType((*AdminLoginResp)(nil), "admin_cms.AdminLoginResp") - proto.RegisterType((*GetUserTokenReq)(nil), "admin_cms.GetUserTokenReq") - proto.RegisterType((*GetUserTokenResp)(nil), "admin_cms.GetUserTokenResp") proto.RegisterType((*AddUserRegisterAddFriendIDListReq)(nil), "admin_cms.AddUserRegisterAddFriendIDListReq") proto.RegisterType((*AddUserRegisterAddFriendIDListResp)(nil), "admin_cms.AddUserRegisterAddFriendIDListResp") proto.RegisterType((*ReduceUserRegisterAddFriendIDListReq)(nil), "admin_cms.ReduceUserRegisterAddFriendIDListReq") @@ -3038,7 +2936,6 @@ type AdminCMSClient interface { SetClientInitConfig(ctx context.Context, in *SetClientInitConfigReq, opts ...grpc.CallOption) (*SetClientInitConfigResp, error) GetUserFriends(ctx context.Context, in *GetUserFriendsReq, opts ...grpc.CallOption) (*GetUserFriendsResp, error) GetUserIDByEmailAndPhoneNumber(ctx context.Context, in *GetUserIDByEmailAndPhoneNumberReq, opts ...grpc.CallOption) (*GetUserIDByEmailAndPhoneNumberResp, error) - GetUserToken(ctx context.Context, in *GetUserTokenReq, opts ...grpc.CallOption) (*GetUserTokenResp, error) } type adminCMSClient struct { @@ -3247,15 +3144,6 @@ func (c *adminCMSClient) GetUserIDByEmailAndPhoneNumber(ctx context.Context, in return out, nil } -func (c *adminCMSClient) GetUserToken(ctx context.Context, in *GetUserTokenReq, opts ...grpc.CallOption) (*GetUserTokenResp, error) { - out := new(GetUserTokenResp) - err := grpc.Invoke(ctx, "/admin_cms.adminCMS/GetUserToken", in, out, c.cc, opts...) - if err != nil { - return nil, err - } - return out, nil -} - // Server API for AdminCMS service type AdminCMSServer interface { @@ -3281,7 +3169,6 @@ type AdminCMSServer interface { SetClientInitConfig(context.Context, *SetClientInitConfigReq) (*SetClientInitConfigResp, error) GetUserFriends(context.Context, *GetUserFriendsReq) (*GetUserFriendsResp, error) GetUserIDByEmailAndPhoneNumber(context.Context, *GetUserIDByEmailAndPhoneNumberReq) (*GetUserIDByEmailAndPhoneNumberResp, error) - GetUserToken(context.Context, *GetUserTokenReq) (*GetUserTokenResp, error) } func RegisterAdminCMSServer(s *grpc.Server, srv AdminCMSServer) { @@ -3684,24 +3571,6 @@ func _AdminCMS_GetUserIDByEmailAndPhoneNumber_Handler(srv interface{}, ctx conte return interceptor(ctx, in, info, handler) } -func _AdminCMS_GetUserToken_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetUserTokenReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(AdminCMSServer).GetUserToken(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/admin_cms.adminCMS/GetUserToken", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(AdminCMSServer).GetUserToken(ctx, req.(*GetUserTokenReq)) - } - return interceptor(ctx, in, info, handler) -} - var _AdminCMS_serviceDesc = grpc.ServiceDesc{ ServiceName: "admin_cms.adminCMS", HandlerType: (*AdminCMSServer)(nil), @@ -3794,163 +3663,155 @@ var _AdminCMS_serviceDesc = grpc.ServiceDesc{ MethodName: "GetUserIDByEmailAndPhoneNumber", Handler: _AdminCMS_GetUserIDByEmailAndPhoneNumber_Handler, }, - { - MethodName: "GetUserToken", - Handler: _AdminCMS_GetUserToken_Handler, - }, }, Streams: []grpc.StreamDesc{}, Metadata: "admin_cms/admin_cms.proto", } func init() { - proto.RegisterFile("admin_cms/admin_cms.proto", fileDescriptor_admin_cms_f23e453f07b40171) + proto.RegisterFile("admin_cms/admin_cms.proto", fileDescriptor_admin_cms_ab5a35fab6587b8a) } -var fileDescriptor_admin_cms_f23e453f07b40171 = []byte{ - // 2290 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x1a, 0x4d, 0x6f, 0x1c, 0x49, - 0x55, 0x3d, 0x1f, 0xfe, 0x78, 0xfe, 0x2e, 0x3b, 0xde, 0x71, 0x67, 0xd7, 0xd8, 0x4d, 0xbc, 0x18, - 0xb4, 0xb1, 0x91, 0x23, 0x2e, 0x8b, 0x14, 0xe4, 0x78, 0x62, 0x33, 0x91, 0xed, 0x0c, 0x3d, 0xc9, - 0x4a, 0xc0, 0x6a, 0x4d, 0x67, 0xa6, 0x3c, 0x69, 0xd9, 0xd3, 0x5d, 0xe9, 0xea, 0xf1, 0xc6, 0x5a, - 0xed, 0x75, 0x2f, 0x5c, 0x90, 0x90, 0x38, 0x70, 0x44, 0xdc, 0x38, 0x70, 0x40, 0xe2, 0xce, 0xef, - 0xe0, 0xb0, 0x42, 0xfc, 0x0a, 0x6e, 0xa8, 0xaa, 0xfa, 0xa3, 0xaa, 0xba, 0x67, 0xa6, 0xd3, 0x8e, - 0x72, 0x9b, 0xf7, 0xfa, 0xd5, 0xfb, 0xae, 0x57, 0xaf, 0x5e, 0x0d, 0x6c, 0x38, 0xbd, 0x81, 0xeb, - 0x5d, 0x74, 0x07, 0x74, 0x3f, 0xf9, 0xb5, 0x47, 0x02, 0x3f, 0xf4, 0xd1, 0x6c, 0x82, 0x30, 0x77, - 0x9f, 0x13, 0xec, 0x3d, 0x6c, 0x9d, 0x3d, 0xec, 0xe0, 0xe0, 0x06, 0x07, 0xfb, 0xe4, 0xaa, 0xbf, - 0xcf, 0x89, 0xf6, 0x69, 0xef, 0xea, 0xe2, 0x6b, 0xba, 0xff, 0x75, 0xb4, 0xc8, 0x7a, 0x0c, 0x70, - 0xe4, 0x0f, 0x06, 0xbe, 0x67, 0x63, 0x4a, 0x50, 0x03, 0xa6, 0x71, 0x10, 0x1c, 0xf9, 0x3d, 0xdc, - 0x30, 0xb6, 0x8c, 0xdd, 0xba, 0x1d, 0x83, 0x68, 0x1d, 0xa6, 0x70, 0x10, 0x9c, 0xd1, 0x7e, 0xa3, - 0xb2, 0x65, 0xec, 0xce, 0xda, 0x11, 0x64, 0x75, 0x61, 0xe1, 0x90, 0x89, 0x3d, 0xf5, 0xfb, 0xae, - 0x67, 0xe3, 0x37, 0x68, 0x0b, 0xe6, 0x7c, 0x82, 0x03, 0x27, 0x74, 0x7d, 0xaf, 0xd5, 0xe4, 0x6c, - 0x66, 0x6d, 0x19, 0xc5, 0x84, 0x70, 0x4d, 0x5b, 0xcd, 0x88, 0x57, 0x0c, 0x32, 0x21, 0x14, 0x77, - 0x03, 0x1c, 0x36, 0xaa, 0x42, 0x88, 0x80, 0xac, 0x3f, 0x1a, 0xb0, 0x28, 0x4b, 0xa1, 0x04, 0xad, - 0x41, 0x3d, 0xf4, 0xaf, 0xb0, 0x17, 0x09, 0x10, 0x00, 0x32, 0x61, 0x66, 0x48, 0x71, 0x70, 0xee, - 0x0c, 0x70, 0xc4, 0x3b, 0x81, 0x99, 0xd8, 0x4b, 0xa7, 0x8b, 0x5f, 0xda, 0xa7, 0x11, 0xf7, 0x18, - 0x44, 0x3f, 0x03, 0xe8, 0x26, 0x3e, 0x68, 0xd4, 0xb6, 0x8c, 0xdd, 0xb9, 0x83, 0x7b, 0x7b, 0xa9, - 0x7b, 0x53, 0x07, 0xd9, 0x12, 0xa1, 0x75, 0x05, 0x4b, 0x27, 0x38, 0x7c, 0x49, 0x71, 0xf0, 0x82, - 0x09, 0x2f, 0x66, 0xfc, 0x3a, 0x4c, 0x31, 0x8d, 0x12, 0xdb, 0x23, 0x08, 0x6d, 0x02, 0x90, 0x6b, - 0x27, 0xbc, 0xf4, 0x83, 0x41, 0xab, 0xc9, 0x15, 0xac, 0xdb, 0x12, 0xc6, 0xba, 0x85, 0x65, 0x55, - 0x18, 0x25, 0x9a, 0xde, 0x46, 0x41, 0xbd, 0x53, 0xd7, 0x55, 0x64, 0xd7, 0xb1, 0xd0, 0xbf, 0x25, - 0x2f, 0xdc, 0x01, 0xe6, 0xd2, 0xab, 0x76, 0x0c, 0x5a, 0x18, 0xb6, 0x0f, 0x7b, 0x3d, 0x26, 0xda, - 0xc6, 0x7d, 0x97, 0x86, 0x38, 0x38, 0xec, 0xf5, 0x8e, 0x03, 0x17, 0x7b, 0xbd, 0x56, 0xf3, 0xd4, - 0xa5, 0x61, 0x31, 0xcb, 0x37, 0x01, 0x84, 0xad, 0x6c, 0x49, 0xa3, 0xb2, 0x55, 0xdd, 0x9d, 0xb5, - 0x25, 0x8c, 0xf5, 0x5b, 0xb0, 0x26, 0x89, 0x29, 0x6d, 0xb3, 0xf5, 0x9d, 0x01, 0x0f, 0x6c, 0xdc, - 0x1b, 0x76, 0xf1, 0x9d, 0xed, 0xf8, 0x18, 0x66, 0x13, 0x90, 0xbb, 0xb0, 0x6e, 0xa7, 0x08, 0xcd, - 0xca, 0x6a, 0xc6, 0xca, 0xaf, 0x60, 0xa7, 0x80, 0x1e, 0xe5, 0x0d, 0xfd, 0xbd, 0x01, 0xdb, 0x51, - 0xa2, 0xdc, 0xc9, 0xca, 0x26, 0x00, 0x71, 0xfa, 0xae, 0x97, 0x9a, 0x39, 0x77, 0xf0, 0x60, 0x8f, - 0xf2, 0x72, 0x72, 0xe1, 0x10, 0xf7, 0x82, 0x38, 0x81, 0x33, 0xa0, 0x7b, 0x36, 0x7e, 0x33, 0xc4, - 0x34, 0x6c, 0x27, 0xb4, 0xb6, 0xb4, 0xce, 0xfa, 0xaf, 0x01, 0xd6, 0x24, 0x6d, 0x28, 0x41, 0xbf, - 0x80, 0x79, 0xee, 0x22, 0xef, 0xd2, 0xe7, 0x6e, 0x33, 0xb6, 0xaa, 0xbb, 0x73, 0x07, 0xf7, 0x73, - 0xc4, 0xbd, 0x8c, 0xc8, 0x6c, 0x65, 0x01, 0x7a, 0x9a, 0xa3, 0xed, 0x4e, 0xae, 0xb6, 0x94, 0xf8, - 0x1e, 0xc5, 0xf9, 0xea, 0x6a, 0x3e, 0xaf, 0x16, 0xf5, 0xf9, 0x5f, 0x2a, 0xb0, 0x78, 0x82, 0xc3, - 0xa3, 0xd7, 0x4e, 0x78, 0xea, 0xf7, 0x29, 0x73, 0x70, 0x03, 0xa6, 0xbb, 0xbe, 0x17, 0x62, 0x2f, - 0x8c, 0x9c, 0x1b, 0x83, 0xa2, 0xc6, 0x31, 0xeb, 0xe3, 0x02, 0x20, 0x20, 0x86, 0x0f, 0x70, 0xf7, - 0x26, 0xda, 0xfc, 0xb3, 0x76, 0x04, 0xb1, 0x92, 0xc6, 0x28, 0xf8, 0xc6, 0xac, 0x89, 0x92, 0x16, - 0xc3, 0x2c, 0x8c, 0x14, 0x53, 0xea, 0xfa, 0xde, 0x8b, 0x5b, 0x82, 0x1b, 0x75, 0x9e, 0x8c, 0x32, - 0x8a, 0x51, 0x44, 0x82, 0x39, 0xc5, 0x94, 0xa0, 0x90, 0x50, 0x5a, 0xa0, 0xa7, 0xcb, 0x05, 0x5a, - 0x4f, 0xa8, 0x99, 0x4c, 0x42, 0x59, 0x7f, 0xaf, 0xc1, 0x74, 0xe4, 0x21, 0xa1, 0x37, 0x13, 0x70, - 0x46, 0xfb, 0x69, 0xfa, 0x49, 0x28, 0xae, 0xf7, 0xb5, 0x8b, 0xbd, 0x50, 0x50, 0x08, 0x57, 0xc9, - 0x28, 0xc9, 0x8f, 0xd5, 0x11, 0x7e, 0xac, 0x29, 0x7e, 0x6c, 0xc0, 0x74, 0x3f, 0xf0, 0x87, 0xa4, - 0xd5, 0xe4, 0x7e, 0x9a, 0xb5, 0x63, 0x10, 0x59, 0x30, 0xcf, 0x68, 0xce, 0xdd, 0xee, 0x95, 0xc7, - 0x0e, 0x8e, 0x29, 0xfe, 0x59, 0xc1, 0xa1, 0x9f, 0xc0, 0x32, 0xe3, 0x8f, 0x83, 0x76, 0x5a, 0xa4, - 0xa7, 0xb9, 0x33, 0x33, 0x78, 0xf4, 0x29, 0x2c, 0x0a, 0x5c, 0xc2, 0x51, 0xb8, 0x43, 0xc3, 0xa2, - 0x07, 0xb0, 0x20, 0x30, 0xc7, 0xd1, 0xb1, 0x34, 0xcb, 0xc9, 0x54, 0x24, 0x2b, 0x37, 0x5c, 0x51, - 0x7e, 0xa6, 0x01, 0xa7, 0x48, 0x11, 0x7a, 0x06, 0xcc, 0x65, 0x33, 0xa0, 0x01, 0xd3, 0x03, 0xda, - 0x3f, 0x0e, 0xfc, 0x41, 0x63, 0x5e, 0x1c, 0xe9, 0x11, 0xa8, 0xe7, 0xc6, 0x42, 0x36, 0x37, 0xa4, - 0x2c, 0x5e, 0xcc, 0x66, 0x71, 0xe8, 0x84, 0x43, 0xda, 0x58, 0xe2, 0xcb, 0x22, 0x48, 0xc9, 0xd6, - 0x65, 0x7e, 0x8c, 0xa4, 0xd9, 0xba, 0x09, 0xd0, 0x0d, 0xb0, 0x13, 0x62, 0xfe, 0x75, 0x85, 0x7f, - 0x95, 0x30, 0x68, 0x11, 0x2a, 0xf8, 0x6d, 0x03, 0x71, 0x41, 0x15, 0xfc, 0xd6, 0xfa, 0x8f, 0xc1, - 0x0f, 0xd8, 0x74, 0x5b, 0x51, 0x82, 0xf6, 0x60, 0xa6, 0x1b, 0xc1, 0x51, 0x95, 0x40, 0xf2, 0xfe, - 0x14, 0x9f, 0xec, 0x84, 0xe6, 0x7d, 0x15, 0x06, 0xe6, 0xaa, 0x88, 0xe5, 0xf9, 0x70, 0x10, 0x1d, - 0xcf, 0x32, 0xaa, 0x6c, 0x0f, 0xf1, 0x08, 0x16, 0x3a, 0xa1, 0x13, 0xba, 0x34, 0x74, 0xbb, 0xbc, - 0x70, 0x20, 0xa8, 0x5d, 0xb2, 0x58, 0x89, 0x3d, 0xc1, 0x7f, 0x33, 0xc7, 0x84, 0x7e, 0xb4, 0x07, - 0x2a, 0xa1, 0x6f, 0x85, 0xbc, 0x17, 0x38, 0xec, 0x86, 0xee, 0x4d, 0x74, 0x8c, 0xbc, 0x41, 0x8f, - 0x61, 0x81, 0xca, 0x8c, 0xa2, 0x13, 0xa3, 0x21, 0xa9, 0xa0, 0x08, 0xb2, 0x55, 0x72, 0x7d, 0x03, - 0x57, 0xb2, 0x1b, 0xf8, 0x2b, 0x98, 0x11, 0xc2, 0x28, 0x61, 0x61, 0xf6, 0xdc, 0xee, 0x15, 0xcf, - 0x49, 0xa1, 0x69, 0x02, 0x8f, 0xeb, 0x70, 0x06, 0x98, 0x52, 0xa7, 0x8f, 0x53, 0x17, 0x4a, 0x18, - 0x6b, 0x08, 0x2b, 0x9a, 0x55, 0x94, 0xa0, 0x1f, 0x43, 0x9d, 0xfd, 0x8e, 0x83, 0xbd, 0x2a, 0x99, - 0x13, 0xd3, 0xd8, 0x82, 0x42, 0x8b, 0x40, 0xa5, 0x68, 0x04, 0x64, 0xb1, 0x27, 0x6c, 0x5f, 0x7d, - 0x18, 0x6f, 0xfe, 0xd9, 0x80, 0xd9, 0x48, 0x1c, 0x25, 0x6c, 0x93, 0x9f, 0x24, 0x9b, 0x5c, 0x38, - 0x34, 0x45, 0xb0, 0x6d, 0xc8, 0x81, 0x56, 0x2f, 0x6e, 0x98, 0x23, 0x90, 0xf9, 0xf4, 0x2c, 0xe3, - 0xd3, 0x14, 0x53, 0x36, 0x2b, 0x6f, 0x01, 0xe9, 0x3e, 0xa1, 0x04, 0x7d, 0x06, 0x53, 0x1c, 0x88, - 0x83, 0xb1, 0x26, 0x31, 0x4a, 0xa8, 0xec, 0x88, 0xa6, 0x6c, 0x38, 0x1e, 0xc1, 0x5c, 0xd3, 0x09, - 0x99, 0xf2, 0xfc, 0x60, 0x47, 0x50, 0x63, 0x60, 0xbc, 0x1d, 0xd8, 0x6f, 0xb4, 0x0c, 0x55, 0x66, - 0xad, 0x68, 0xbd, 0xd8, 0x4f, 0xeb, 0x1b, 0xf8, 0xe8, 0x04, 0x87, 0x91, 0xdd, 0xea, 0x7e, 0x7a, - 0xac, 0x6d, 0xb0, 0xc9, 0x91, 0xec, 0xe8, 0x91, 0x7c, 0x9e, 0x8d, 0xa4, 0x84, 0xb2, 0xfe, 0x55, - 0x81, 0x46, 0xbe, 0x74, 0xee, 0xb3, 0x95, 0x76, 0xe0, 0xde, 0x38, 0x21, 0x96, 0xe2, 0x24, 0xae, - 0x56, 0xd9, 0x0f, 0x68, 0x17, 0x96, 0xb8, 0xf7, 0x24, 0x5a, 0x61, 0xa5, 0x8e, 0x46, 0xa7, 0x70, - 0x2f, 0xb3, 0x3c, 0xe9, 0x38, 0xe7, 0x0e, 0xd6, 0x25, 0xf3, 0x24, 0x77, 0xda, 0xf9, 0x8b, 0xd0, - 0x2f, 0x61, 0x55, 0x13, 0xc0, 0x79, 0xd5, 0xc6, 0xf2, 0xca, 0x5b, 0xa2, 0x45, 0xbd, 0x5e, 0x3c, - 0xe1, 0xee, 0x9d, 0xe0, 0x90, 0x33, 0xfc, 0xd0, 0xe1, 0xfb, 0x47, 0x05, 0xd6, 0xf3, 0x64, 0x53, - 0xc2, 0x0e, 0xfd, 0x96, 0xc7, 0x0e, 0x28, 0x2a, 0x76, 0x41, 0x1a, 0xbb, 0x0c, 0x9e, 0x1d, 0xe6, - 0x2f, 0xfc, 0xd0, 0xb9, 0x4e, 0x08, 0x45, 0xe0, 0x54, 0x24, 0x7a, 0x06, 0x6b, 0xfa, 0xca, 0x02, - 0x51, 0xcb, 0x5d, 0x83, 0x9a, 0xb0, 0xa2, 0x30, 0x2f, 0x10, 0xb2, 0xec, 0x82, 0xb2, 0x01, 0x7b, - 0x0b, 0x6b, 0x51, 0x5f, 0xff, 0xa1, 0xe3, 0xf5, 0xa7, 0x2a, 0xcf, 0x15, 0x5d, 0x34, 0x25, 0x6c, - 0xf7, 0xc4, 0x8e, 0x62, 0x5f, 0xd3, 0x68, 0xe9, 0x68, 0x16, 0xac, 0xf4, 0x9c, 0x91, 0x82, 0xa5, - 0x20, 0x59, 0x5f, 0xc8, 0xfd, 0x15, 0x13, 0x89, 0xf2, 0xaa, 0xe0, 0xd8, 0xce, 0xd1, 0x98, 0x17, - 0xd9, 0x39, 0x39, 0x4b, 0x58, 0x38, 0x15, 0xf1, 0x9c, 0x4f, 0x7d, 0x7c, 0x38, 0x33, 0x0b, 0xd0, - 0x13, 0x58, 0x96, 0xf5, 0xe3, 0x4c, 0xa6, 0xc6, 0x32, 0xc9, 0xd0, 0x6b, 0x29, 0x31, 0x5d, 0x34, - 0x25, 0xde, 0xc0, 0xc6, 0x09, 0xf6, 0x58, 0xa0, 0x70, 0xcb, 0xbb, 0x71, 0x43, 0x1e, 0xb0, 0x23, - 0xbf, 0x87, 0x0b, 0x4f, 0x85, 0xba, 0x7e, 0x0f, 0x9f, 0xe2, 0xf8, 0x52, 0x1d, 0x83, 0xf1, 0x97, - 0x34, 0x04, 0x31, 0x68, 0x75, 0xc0, 0x1c, 0x25, 0xb2, 0xfc, 0x0d, 0xfa, 0x6f, 0x06, 0x4f, 0x30, - 0x95, 0x21, 0x2d, 0x66, 0x04, 0x82, 0x1a, 0xd3, 0x2d, 0xca, 0x5b, 0xfe, 0x5b, 0x6a, 0x95, 0xab, - 0x4a, 0xab, 0xac, 0x5e, 0xbc, 0x6a, 0x25, 0x6f, 0xd8, 0x7f, 0x35, 0x60, 0xd1, 0x55, 0x54, 0x65, - 0xf7, 0x0f, 0x15, 0x13, 0x69, 0xaa, 0xd3, 0xa9, 0xfd, 0xb8, 0x70, 0xba, 0xdc, 0x8f, 0x9b, 0x30, - 0x73, 0xed, 0xd0, 0x30, 0x19, 0x09, 0xd5, 0xed, 0x04, 0x96, 0x9a, 0xbc, 0x9a, 0xd2, 0xe4, 0xa5, - 0xc6, 0xd6, 0x65, 0x63, 0xad, 0x7f, 0x1b, 0xbc, 0xca, 0x66, 0x9c, 0x4a, 0x09, 0x3a, 0x82, 0x25, - 0x55, 0xb1, 0xb8, 0xbf, 0xd8, 0x90, 0x62, 0xa5, 0x52, 0xd8, 0xfa, 0x0a, 0xd6, 0xe7, 0xb7, 0xcb, - 0xf6, 0xf9, 0xed, 0x3b, 0x0f, 0x00, 0x8e, 0x01, 0xfd, 0x6a, 0x88, 0x83, 0xdb, 0x56, 0x3b, 0x9e, - 0x72, 0x14, 0x4b, 0x97, 0x45, 0xa8, 0xb4, 0xda, 0x71, 0x63, 0xdf, 0x6a, 0x5b, 0xff, 0x34, 0x60, - 0x35, 0xc3, 0x88, 0x92, 0x88, 0xce, 0x88, 0xe9, 0x18, 0xe7, 0xf8, 0x7b, 0x5a, 0xbd, 0x64, 0x14, - 0x8b, 0x43, 0x47, 0x49, 0x3a, 0x01, 0x69, 0xe3, 0xa9, 0x9a, 0x3e, 0x9e, 0x2a, 0x7b, 0x1c, 0x5c, - 0xc0, 0xc2, 0x61, 0xaf, 0xd7, 0x6a, 0x9f, 0xba, 0x03, 0x37, 0x2c, 0x65, 0x3b, 0x6b, 0x81, 0xaf, - 0xd9, 0x6a, 0x29, 0xdd, 0x52, 0x84, 0x75, 0x02, 0x8b, 0xb2, 0x80, 0xf2, 0xbb, 0xbb, 0x09, 0xcb, - 0x36, 0x1e, 0xf8, 0x37, 0xf8, 0x2e, 0xca, 0x5a, 0xcf, 0x60, 0x45, 0xe3, 0x52, 0x5e, 0xa3, 0x2f, - 0xc0, 0xe4, 0x31, 0xe7, 0xa3, 0xad, 0x66, 0xc4, 0xf0, 0x1d, 0xc6, 0xe9, 0x23, 0xee, 0x5b, 0xd6, - 0x4b, 0x98, 0xe3, 0x2c, 0x05, 0x43, 0x89, 0xcc, 0x50, 0x76, 0xac, 0x1e, 0x07, 0xb5, 0x2a, 0x54, - 0xf5, 0xaa, 0x60, 0xfd, 0xc1, 0x80, 0xfb, 0x23, 0xf5, 0xa5, 0x04, 0x7d, 0x0e, 0xf3, 0x92, 0xd8, - 0x78, 0x2f, 0xaf, 0x6b, 0x17, 0xb7, 0xd8, 0x6f, 0x0a, 0x6d, 0xd9, 0x3b, 0xc3, 0x2b, 0x58, 0x8f, - 0x26, 0xc7, 0xba, 0xf7, 0x46, 0x19, 0x3d, 0xf1, 0x7e, 0x16, 0xb9, 0xa5, 0x9a, 0x44, 0xbc, 0x0d, - 0x1f, 0xe5, 0xca, 0x28, 0x1f, 0xf7, 0xdf, 0xc1, 0x9a, 0xc8, 0x21, 0xd9, 0x1f, 0xef, 0x55, 0xe7, - 0x73, 0xb8, 0x97, 0x23, 0xa1, 0xbc, 0xc6, 0x9f, 0xf3, 0x1a, 0x7e, 0xc4, 0x87, 0x70, 0x2d, 0xcf, - 0x0d, 0x8f, 0x7c, 0xef, 0xd2, 0xed, 0x17, 0xca, 0x52, 0xe6, 0xbf, 0xdc, 0xb5, 0xe5, 0xb5, 0xe9, - 0xc1, 0x7a, 0xa7, 0xa4, 0x36, 0xac, 0x55, 0xec, 0xb9, 0xb4, 0xeb, 0xdf, 0xe0, 0xa0, 0xed, 0xf4, - 0xf9, 0xf0, 0x4d, 0xf8, 0x53, 0x47, 0x33, 0xbd, 0x3b, 0xef, 0x57, 0xef, 0xef, 0x0d, 0x3e, 0x71, - 0x60, 0x31, 0x11, 0x83, 0x70, 0x7a, 0xb7, 0x97, 0x23, 0x0b, 0xe6, 0x2f, 0x39, 0x1f, 0xb1, 0x21, - 0xa3, 0xf8, 0x2b, 0x38, 0xd6, 0x12, 0xa4, 0x30, 0x1f, 0x32, 0x88, 0x63, 0x5b, 0xc3, 0x6a, 0x3d, - 0x49, 0xbd, 0x64, 0x4f, 0xf2, 0x3f, 0x83, 0xcf, 0x0f, 0x14, 0x0b, 0x29, 0xd1, 0x66, 0x71, 0x46, - 0xd9, 0x59, 0xdc, 0xd3, 0xd8, 0x96, 0xe4, 0xb9, 0xa0, 0xc2, 0x4b, 0xcc, 0x27, 0x39, 0xac, 0x8e, - 0x13, 0x42, 0x5b, 0x5b, 0xc4, 0xea, 0x9c, 0xc0, 0x9c, 0x0f, 0x07, 0xf1, 0x29, 0x29, 0x61, 0xca, - 0x8e, 0x4e, 0xbe, 0x4d, 0x9e, 0x5f, 0x5a, 0xcd, 0x27, 0xb7, 0x4f, 0x07, 0x8e, 0x7b, 0x7d, 0xe8, - 0xf5, 0xda, 0xaf, 0x7d, 0x8f, 0x75, 0xac, 0xaf, 0x8a, 0x76, 0x06, 0x6b, 0x50, 0xc7, 0x6c, 0x6d, - 0xfc, 0x46, 0xc7, 0x01, 0xb6, 0x8e, 0xa4, 0x9c, 0xa2, 0x48, 0xcb, 0x28, 0xeb, 0x9b, 0xe4, 0xbd, - 0x65, 0xa4, 0x78, 0x4a, 0xb4, 0x2e, 0xc0, 0x98, 0xd0, 0x05, 0x14, 0xad, 0xc3, 0x07, 0xdf, 0x2f, - 0xc3, 0x0c, 0x27, 0x3a, 0x3a, 0xeb, 0xa0, 0x43, 0x80, 0xf4, 0xc9, 0x16, 0xc9, 0x17, 0x40, 0xe5, - 0xbd, 0xd8, 0xdc, 0x18, 0xf1, 0x85, 0x12, 0xf4, 0x2d, 0x6c, 0x8e, 0x7f, 0x11, 0x44, 0x9f, 0x29, - 0x8b, 0x27, 0xbc, 0x51, 0x9a, 0x0f, 0xdf, 0x81, 0x9a, 0x12, 0xf4, 0x9d, 0x01, 0xdb, 0x13, 0xdf, - 0xea, 0xd0, 0xbe, 0xc4, 0xb4, 0xc8, 0x0b, 0xa3, 0xf9, 0xd3, 0x77, 0x5b, 0x20, 0xfc, 0x30, 0xfe, - 0x11, 0x4d, 0xf1, 0xc3, 0xc4, 0xd7, 0x3f, 0xc5, 0x0f, 0x05, 0x5e, 0xe7, 0x9a, 0x30, 0x27, 0x8d, - 0xe1, 0xd1, 0x86, 0xba, 0x5a, 0x7a, 0xf5, 0x32, 0xcd, 0x51, 0x9f, 0x28, 0x41, 0xcf, 0x60, 0x41, - 0x19, 0xef, 0xa2, 0xfb, 0x2a, 0xb1, 0x32, 0xce, 0x36, 0x3f, 0x1e, 0xfd, 0x91, 0x12, 0x74, 0xc6, - 0xdf, 0xdb, 0xa4, 0xf9, 0x24, 0xca, 0xa5, 0x8f, 0xc7, 0xb9, 0xe6, 0x27, 0x63, 0xbe, 0x52, 0x82, - 0x2e, 0xf8, 0x30, 0x23, 0x33, 0xc0, 0x43, 0x96, 0xba, 0x2c, 0x6f, 0xbe, 0x68, 0xfe, 0x70, 0x22, - 0x0d, 0x25, 0xe8, 0xd7, 0xbc, 0x1e, 0x6a, 0x23, 0x26, 0xb4, 0xa5, 0x2e, 0xcd, 0x4e, 0xbf, 0xcc, - 0xed, 0x09, 0x14, 0x94, 0xa0, 0x2f, 0x92, 0xc3, 0x44, 0xe2, 0xfc, 0x83, 0x6c, 0x80, 0x55, 0xc6, - 0x5b, 0xe3, 0x09, 0x28, 0x41, 0x98, 0x9d, 0xf5, 0x79, 0x57, 0x6b, 0xf4, 0x40, 0x59, 0x3b, 0xe2, - 0xc2, 0x6f, 0xee, 0x14, 0xa0, 0x4a, 0x3c, 0xa3, 0x5d, 0x0b, 0x75, 0xcf, 0x64, 0xaf, 0xe2, 0xba, - 0x67, 0xf2, 0xee, 0x95, 0x6d, 0x58, 0xd2, 0xee, 0x52, 0x48, 0xce, 0x83, 0xec, 0x85, 0xcd, 0xdc, - 0x1c, 0xf7, 0x99, 0x12, 0x51, 0xd2, 0xe2, 0x4b, 0x88, 0x56, 0xd2, 0xa4, 0xcb, 0x8f, 0x56, 0xd2, - 0x94, 0x5b, 0xcb, 0x33, 0x58, 0x50, 0x2e, 0x0e, 0xca, 0x2e, 0xd0, 0x2f, 0x26, 0xca, 0x2e, 0xc8, - 0xde, 0x37, 0x5e, 0xc3, 0x47, 0x23, 0x1a, 0x71, 0xb4, 0xa3, 0x5b, 0x92, 0x7b, 0xb9, 0x30, 0x3f, - 0x2d, 0x42, 0x46, 0x09, 0xfa, 0x12, 0x56, 0x73, 0x9a, 0x5f, 0xb4, 0x9d, 0xad, 0xa7, 0xba, 0x04, - 0x6b, 0x12, 0x89, 0x48, 0xe1, 0x4c, 0x9b, 0xaa, 0xa4, 0x70, 0x5e, 0x9b, 0xac, 0xa4, 0x70, 0x7e, - 0x97, 0xfb, 0x25, 0xac, 0xe6, 0xb4, 0x9c, 0x48, 0x4b, 0x9d, 0x9c, 0x06, 0xd2, 0xb4, 0x26, 0x91, - 0x08, 0xee, 0x9d, 0x09, 0xdc, 0x3b, 0x93, 0xb9, 0x8f, 0xea, 0x2d, 0x45, 0x85, 0x93, 0x3a, 0x28, - 0xbd, 0xc2, 0xa9, 0xed, 0xa3, 0x5e, 0xe1, 0xf4, 0xd6, 0x2b, 0x3d, 0x41, 0x46, 0xb4, 0x05, 0x79, - 0x27, 0xc8, 0xe8, 0x06, 0x26, 0xef, 0x04, 0x19, 0xd7, 0x6f, 0x9c, 0xc0, 0xbc, 0xfc, 0xe7, 0x25, - 0x64, 0x66, 0x97, 0xc7, 0x7f, 0xa1, 0x32, 0xef, 0x8f, 0xfc, 0x46, 0xc9, 0x93, 0x1f, 0xfd, 0x66, - 0xe7, 0x39, 0xc1, 0xde, 0x45, 0xeb, 0x4c, 0xfa, 0x4b, 0x5b, 0x42, 0xff, 0xf3, 0xe4, 0xd7, 0xab, - 0x29, 0xfe, 0xe9, 0xd1, 0xff, 0x03, 0x00, 0x00, 0xff, 0xff, 0xc3, 0x1b, 0xac, 0x59, 0x2f, 0x27, - 0x00, 0x00, +var fileDescriptor_admin_cms_ab5a35fab6587b8a = []byte{ + // 2240 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x1a, 0x4d, 0x6f, 0xdb, 0xc8, + 0x15, 0xd4, 0x87, 0x3f, 0x9e, 0xe3, 0xaf, 0xb1, 0xe3, 0xc8, 0xcc, 0x6e, 0x6a, 0xb3, 0xf1, 0xd6, + 0x2d, 0x36, 0x76, 0xe1, 0xa0, 0x97, 0x2d, 0x90, 0xc2, 0xb1, 0x62, 0x55, 0x81, 0xed, 0xa8, 0x54, + 0xb2, 0x40, 0xdb, 0xc5, 0xba, 0x8c, 0x34, 0x56, 0x08, 0x5b, 0xe4, 0x84, 0x43, 0x79, 0x13, 0x2c, + 0xf6, 0xba, 0x97, 0x5e, 0x0a, 0x14, 0xc8, 0xa1, 0xe7, 0xde, 0x7a, 0xe8, 0xa1, 0x40, 0x8f, 0x05, + 0xfa, 0x3b, 0x7a, 0x28, 0x8a, 0xfe, 0x8a, 0xde, 0x8a, 0x99, 0xe1, 0xc7, 0xcc, 0x90, 0x92, 0x18, + 0x3a, 0xc8, 0x4d, 0xef, 0xcd, 0x9b, 0xf7, 0xe6, 0x7d, 0xce, 0x9b, 0x47, 0xc1, 0xa6, 0xd3, 0x1f, + 0xba, 0xde, 0x79, 0x6f, 0x48, 0xf7, 0x93, 0x5f, 0x7b, 0x24, 0xf0, 0x43, 0x1f, 0xcd, 0x27, 0x08, + 0x73, 0xf7, 0x19, 0xc1, 0xde, 0x83, 0xf6, 0xe9, 0x83, 0x2e, 0x0e, 0xae, 0x71, 0xb0, 0x4f, 0x2e, + 0x07, 0xfb, 0x9c, 0x68, 0x9f, 0xf6, 0x2f, 0xcf, 0xbf, 0xa1, 0xfb, 0xdf, 0x44, 0x9b, 0xac, 0x47, + 0x00, 0x47, 0xfe, 0x70, 0xe8, 0x7b, 0x36, 0xa6, 0x04, 0x35, 0x60, 0x16, 0x07, 0xc1, 0x91, 0xdf, + 0xc7, 0x0d, 0x63, 0xcb, 0xd8, 0xad, 0xdb, 0x31, 0x88, 0x36, 0x60, 0x06, 0x07, 0xc1, 0x29, 0x1d, + 0x34, 0x2a, 0x5b, 0xc6, 0xee, 0xbc, 0x1d, 0x41, 0x56, 0x0f, 0x16, 0x0f, 0x99, 0xd8, 0x13, 0x7f, + 0xe0, 0x7a, 0x36, 0x7e, 0x8d, 0xb6, 0x60, 0xc1, 0x27, 0x38, 0x70, 0x42, 0xd7, 0xf7, 0xda, 0x4d, + 0xce, 0x66, 0xde, 0x96, 0x51, 0x4c, 0x08, 0x3f, 0x69, 0xbb, 0x19, 0xf1, 0x8a, 0x41, 0x26, 0x84, + 0xe2, 0x5e, 0x80, 0xc3, 0x46, 0x55, 0x08, 0x11, 0x90, 0xf5, 0x47, 0x03, 0x96, 0x64, 0x29, 0x94, + 0xa0, 0x75, 0xa8, 0x87, 0xfe, 0x25, 0xf6, 0x22, 0x01, 0x02, 0x40, 0x26, 0xcc, 0x8d, 0x28, 0x0e, + 0xce, 0x9c, 0x21, 0x8e, 0x78, 0x27, 0x30, 0x13, 0x7b, 0xe1, 0xf4, 0xf0, 0x0b, 0xfb, 0x24, 0xe2, + 0x1e, 0x83, 0xe8, 0x67, 0x00, 0xbd, 0xc4, 0x06, 0x8d, 0xda, 0x96, 0xb1, 0xbb, 0x70, 0x70, 0x7b, + 0x2f, 0x35, 0x6f, 0x6a, 0x20, 0x5b, 0x22, 0xb4, 0x30, 0x6c, 0x1f, 0xf6, 0xfb, 0x2f, 0x28, 0x0e, + 0x6c, 0x3c, 0x70, 0x69, 0x88, 0x83, 0xc3, 0x7e, 0xff, 0x38, 0x70, 0xb1, 0xd7, 0x6f, 0x37, 0x4f, + 0x5c, 0x1a, 0x16, 0x33, 0xc7, 0x3d, 0x00, 0x76, 0x46, 0xb1, 0xa5, 0x51, 0xd9, 0xaa, 0xee, 0xce, + 0xdb, 0x12, 0xc6, 0xfa, 0x2d, 0x58, 0xd3, 0xc4, 0x50, 0xa2, 0xe9, 0x60, 0x14, 0xd5, 0xe1, 0x7b, + 0x03, 0xee, 0xdb, 0xb8, 0x3f, 0xea, 0xe1, 0x1b, 0xeb, 0xf1, 0x09, 0xcc, 0x27, 0x20, 0x37, 0x7e, + 0xdd, 0x4e, 0x11, 0x9a, 0x96, 0xd5, 0x8c, 0x96, 0x5f, 0xc3, 0x4e, 0x81, 0x73, 0x94, 0x57, 0xf4, + 0xf7, 0x06, 0x6c, 0xb7, 0x70, 0x78, 0x63, 0x2d, 0x9b, 0x00, 0xc4, 0x19, 0xb8, 0x5e, 0xaa, 0xe6, + 0xc2, 0xc1, 0xfd, 0x3d, 0xca, 0xd3, 0xec, 0xdc, 0x21, 0xee, 0x39, 0x71, 0x02, 0x67, 0x48, 0xf7, + 0x6c, 0xfc, 0x7a, 0x84, 0x69, 0xd8, 0x49, 0x68, 0x6d, 0x69, 0x9f, 0xf5, 0x5f, 0x03, 0xac, 0x69, + 0xa7, 0xa1, 0x04, 0xfd, 0x02, 0x6e, 0x71, 0x13, 0x79, 0x17, 0x3e, 0x37, 0x9b, 0xb1, 0x55, 0xdd, + 0x5d, 0x38, 0xb8, 0x9b, 0x23, 0xee, 0x45, 0x44, 0x66, 0x2b, 0x1b, 0xd0, 0x93, 0x9c, 0xd3, 0xee, + 0xe4, 0x9e, 0x96, 0x12, 0xdf, 0xa3, 0x38, 0xff, 0xb8, 0x9a, 0xcd, 0xab, 0x45, 0x6d, 0xfe, 0x8f, + 0x0a, 0x2c, 0xb5, 0x70, 0x78, 0xf4, 0xca, 0x09, 0x4f, 0xfc, 0x01, 0x65, 0x06, 0x6e, 0xc0, 0x6c, + 0xcf, 0xf7, 0x42, 0xec, 0x85, 0x91, 0x71, 0x63, 0x50, 0xe4, 0x3e, 0xd3, 0x3e, 0x2e, 0x30, 0x02, + 0x62, 0xf8, 0x00, 0xf7, 0xae, 0xdb, 0xcd, 0xb8, 0x26, 0x08, 0x88, 0xa5, 0x3a, 0xa3, 0x78, 0xee, + 0x0e, 0x31, 0x4f, 0xd9, 0x79, 0x3b, 0x81, 0x99, 0x1b, 0x29, 0xa6, 0xd4, 0xf5, 0xbd, 0xe7, 0x6f, + 0x09, 0x6e, 0xd4, 0x79, 0x30, 0xca, 0x28, 0x46, 0x11, 0x09, 0xe6, 0x14, 0x33, 0x82, 0x42, 0x42, + 0x69, 0x8e, 0x9e, 0x2d, 0xe7, 0x68, 0x3d, 0xa0, 0xe6, 0xb2, 0x01, 0x65, 0xc2, 0x9c, 0x4f, 0xb8, + 0xfb, 0x9a, 0x8d, 0x79, 0xa1, 0x47, 0x0c, 0x5b, 0x7f, 0xad, 0xc1, 0x6c, 0x64, 0x3d, 0xa1, 0x13, + 0x13, 0x7e, 0x4a, 0x07, 0x69, 0x68, 0x4a, 0x28, 0xae, 0xd3, 0x95, 0x8b, 0xbd, 0x50, 0x50, 0x08, + 0x33, 0xca, 0x28, 0xc9, 0xc6, 0xd5, 0x31, 0x36, 0xae, 0x29, 0x36, 0x6e, 0xc0, 0xec, 0x20, 0xf0, + 0x47, 0xa4, 0xdd, 0xe4, 0x36, 0x9c, 0xb7, 0x63, 0x10, 0x59, 0x70, 0x8b, 0xd1, 0x9c, 0xb9, 0xbd, + 0x4b, 0x8f, 0x15, 0xdb, 0x19, 0xbe, 0xac, 0xe0, 0xd0, 0x4f, 0x60, 0x85, 0xf1, 0xc7, 0x41, 0xe7, + 0xca, 0x09, 0x2f, 0xfc, 0x60, 0xd8, 0x6e, 0x72, 0x3b, 0xd6, 0xed, 0x0c, 0x1e, 0x7d, 0x06, 0x4b, + 0x02, 0x97, 0x70, 0x14, 0xa6, 0xd2, 0xb0, 0xe8, 0x3e, 0x2c, 0x0a, 0xcc, 0x71, 0x54, 0xca, 0x85, + 0xc9, 0x54, 0x24, 0x2b, 0x45, 0xfc, 0xa0, 0xfc, 0x1e, 0x00, 0x4e, 0x91, 0x22, 0xf4, 0xe8, 0x58, + 0xc8, 0x46, 0x47, 0x03, 0x66, 0x87, 0x74, 0x70, 0x1c, 0xf8, 0xc3, 0xc6, 0x2d, 0x71, 0x0d, 0x46, + 0xa0, 0x1e, 0x37, 0x8b, 0xd9, 0xb8, 0x91, 0x22, 0x7c, 0x29, 0x1b, 0xe1, 0xa1, 0x13, 0x8e, 0x68, + 0x63, 0x99, 0x6f, 0x8b, 0x20, 0x25, 0x92, 0x57, 0xb6, 0x8c, 0xdd, 0xaa, 0x14, 0xc9, 0xf7, 0x00, + 0x7a, 0x01, 0x76, 0x42, 0xcc, 0x57, 0x57, 0xf9, 0xaa, 0x84, 0x41, 0x4b, 0x50, 0xc1, 0x6f, 0x1a, + 0x88, 0x0b, 0xaa, 0xe0, 0x37, 0xd6, 0x7f, 0x0c, 0x58, 0x56, 0x52, 0x8e, 0x12, 0xb4, 0x07, 0x73, + 0xbd, 0x08, 0x8e, 0x2a, 0x08, 0x92, 0x73, 0x57, 0x2c, 0xd9, 0x09, 0xcd, 0x87, 0x2a, 0x1a, 0xcc, + 0x54, 0x11, 0xcb, 0xb3, 0xd1, 0x90, 0x47, 0x1c, 0x33, 0x55, 0x8a, 0x2a, 0x7b, 0xef, 0x3e, 0x84, + 0xc5, 0x6e, 0xe8, 0x84, 0x2e, 0x0d, 0xdd, 0x1e, 0x2f, 0x2a, 0x08, 0x6a, 0x17, 0xcc, 0x57, 0x22, + 0x27, 0xf8, 0x6f, 0x66, 0x98, 0xd0, 0x8f, 0x72, 0xa0, 0x12, 0xfa, 0x56, 0x08, 0x2b, 0x2d, 0x1c, + 0x1e, 0xf6, 0x42, 0xf7, 0x3a, 0xba, 0x62, 0x5e, 0xa3, 0x47, 0xb0, 0x48, 0x65, 0x46, 0xd1, 0x6d, + 0xd2, 0x90, 0x8e, 0xa0, 0x08, 0xb2, 0x55, 0x72, 0x3d, 0xb9, 0x2b, 0x99, 0xe4, 0xb6, 0xbe, 0x86, + 0x39, 0x21, 0x8c, 0x12, 0xe6, 0x66, 0xcf, 0xed, 0x5d, 0xf2, 0x98, 0x14, 0x27, 0x4d, 0x60, 0x16, + 0x1a, 0xe2, 0x2e, 0x8c, 0x8b, 0x9f, 0x80, 0x98, 0xfb, 0x87, 0x98, 0x52, 0x67, 0x80, 0x53, 0x13, + 0x4a, 0x18, 0x6b, 0x04, 0xab, 0x9a, 0x56, 0x94, 0xa0, 0x1f, 0x43, 0x9d, 0xfd, 0x8e, 0x9d, 0xbd, + 0x26, 0xa9, 0x13, 0xd3, 0xd8, 0x82, 0x42, 0xf3, 0x40, 0xa5, 0xa8, 0x07, 0x64, 0xb1, 0x2d, 0x96, + 0x57, 0x1f, 0xc7, 0x9a, 0x7f, 0x32, 0x60, 0x3e, 0x12, 0x47, 0x09, 0x4b, 0xf2, 0x56, 0x92, 0xe4, + 0xc2, 0xa0, 0x29, 0x82, 0xa5, 0x21, 0x07, 0xda, 0xfd, 0xb8, 0xc9, 0x8c, 0x40, 0x66, 0xd3, 0xd3, + 0x8c, 0x4d, 0x53, 0x4c, 0xd9, 0xa8, 0x7c, 0x0b, 0x48, 0xb7, 0x09, 0x25, 0xe8, 0x73, 0x98, 0xe1, + 0x40, 0xec, 0x8c, 0x75, 0x89, 0x51, 0x42, 0x65, 0x47, 0x34, 0x65, 0xdd, 0xf1, 0x10, 0x16, 0x9a, + 0x4e, 0xc8, 0x0e, 0xcf, 0x2f, 0x7d, 0x04, 0x35, 0x06, 0xc6, 0xe9, 0xc0, 0x7e, 0xa3, 0x15, 0xa8, + 0x32, 0x6d, 0x45, 0x5b, 0xc6, 0x7e, 0x5a, 0xdf, 0xc2, 0x9d, 0x16, 0x0e, 0x23, 0xbd, 0xd5, 0x7c, + 0x7a, 0xa4, 0x25, 0xd8, 0x74, 0x4f, 0x76, 0x75, 0x4f, 0x3e, 0xcb, 0x7a, 0x52, 0x42, 0x59, 0xff, + 0xac, 0x40, 0x23, 0x5f, 0x3a, 0xb7, 0xd9, 0x6a, 0x27, 0x70, 0xaf, 0x9d, 0x10, 0x4b, 0x7e, 0x12, + 0xcf, 0x91, 0xec, 0x02, 0xda, 0x85, 0x65, 0x6e, 0x3d, 0x89, 0x56, 0x68, 0xa9, 0xa3, 0xd1, 0x09, + 0xdc, 0xce, 0x6c, 0x4f, 0xba, 0xd1, 0x85, 0x83, 0x0d, 0x49, 0x3d, 0xc9, 0x9c, 0x76, 0xfe, 0x26, + 0xf4, 0x4b, 0x58, 0xd3, 0x04, 0x70, 0x5e, 0xb5, 0x89, 0xbc, 0xf2, 0xb6, 0x68, 0x5e, 0xaf, 0x17, + 0x0f, 0xb8, 0xdb, 0x2d, 0x1c, 0x72, 0x86, 0x1f, 0xdb, 0x7d, 0x7f, 0xab, 0xc0, 0x46, 0x9e, 0x6c, + 0x4a, 0xd8, 0xa5, 0xdf, 0xf6, 0xd8, 0x05, 0x45, 0x45, 0x16, 0xa4, 0xbe, 0xcb, 0xe0, 0xd9, 0x65, + 0xfe, 0xdc, 0x0f, 0x9d, 0xab, 0x84, 0x50, 0x38, 0x4e, 0x45, 0xa2, 0xa7, 0xb0, 0xae, 0xef, 0x2c, + 0xe0, 0xb5, 0xdc, 0x3d, 0xa8, 0x09, 0xab, 0x0a, 0xf3, 0x02, 0x2e, 0xcb, 0x6e, 0x28, 0xeb, 0xb0, + 0x37, 0xb0, 0x1e, 0xf5, 0xfc, 0x1f, 0xdb, 0x5f, 0xef, 0xaa, 0x3c, 0x56, 0x74, 0xd1, 0x94, 0xb0, + 0xec, 0x89, 0x0d, 0xc5, 0x56, 0x53, 0x6f, 0xe9, 0x68, 0xe6, 0xac, 0xf4, 0x9e, 0x91, 0x9c, 0xa5, + 0x20, 0x59, 0x5f, 0xc8, 0xed, 0x15, 0x13, 0x89, 0xf2, 0xaa, 0xe0, 0x58, 0xe6, 0x68, 0xcc, 0x8b, + 0x64, 0x4e, 0xce, 0x16, 0xe6, 0x4e, 0x45, 0x3c, 0xe7, 0x53, 0x9f, 0xec, 0xce, 0xcc, 0x06, 0xf4, + 0x18, 0x56, 0xe4, 0xf3, 0x71, 0x26, 0x33, 0x13, 0x99, 0x64, 0xe8, 0xb5, 0x90, 0x98, 0x2d, 0x1a, + 0x12, 0xaf, 0x61, 0xb3, 0x85, 0x3d, 0xe6, 0x28, 0xdc, 0xf6, 0xae, 0xdd, 0x90, 0x3b, 0xec, 0xc8, + 0xef, 0xe3, 0xc2, 0x93, 0x94, 0x9e, 0xdf, 0xc7, 0x27, 0x38, 0x7e, 0x70, 0xc7, 0x60, 0xbc, 0x92, + 0xba, 0x20, 0x06, 0xad, 0x2e, 0x98, 0xe3, 0x44, 0x96, 0x7f, 0x5d, 0xff, 0xc5, 0xe0, 0x01, 0xa6, + 0x32, 0xa4, 0xc5, 0x94, 0x40, 0x50, 0x63, 0x67, 0x8b, 0xe2, 0x96, 0xff, 0x96, 0x5a, 0xe5, 0xaa, + 0xd2, 0x2a, 0xab, 0x8f, 0xb2, 0x5a, 0xc9, 0xd7, 0xf7, 0x9f, 0x0d, 0x58, 0x72, 0x95, 0xa3, 0xb2, + 0xf7, 0x87, 0x8a, 0x89, 0x4e, 0xaa, 0xd3, 0xa9, 0xfd, 0xb8, 0x30, 0xba, 0xdc, 0x8f, 0x9b, 0x30, + 0x77, 0xe5, 0xd0, 0x90, 0xaf, 0x8a, 0xa3, 0x27, 0xb0, 0xd4, 0xe4, 0xd5, 0x94, 0x26, 0x2f, 0x55, + 0xb6, 0x2e, 0x2b, 0x6b, 0xfd, 0xcb, 0xe0, 0x55, 0x36, 0x63, 0x54, 0x4a, 0xd0, 0x11, 0x2c, 0xab, + 0x07, 0x8b, 0xfb, 0x8b, 0x4d, 0xc9, 0x57, 0x2a, 0x85, 0xad, 0xef, 0x60, 0x7d, 0x7e, 0xa7, 0x6c, + 0x9f, 0xdf, 0xb9, 0xf1, 0x70, 0xe0, 0x18, 0xd0, 0xaf, 0x46, 0x38, 0x78, 0xdb, 0xee, 0xc4, 0x13, + 0x90, 0x62, 0xe1, 0xb2, 0x04, 0x95, 0x76, 0x27, 0x6e, 0xec, 0xdb, 0x1d, 0xeb, 0xef, 0x06, 0xac, + 0x65, 0x18, 0x51, 0x12, 0xd1, 0x19, 0x31, 0x1d, 0xe3, 0x1c, 0xaf, 0xa7, 0xd5, 0x4b, 0x46, 0x31, + 0x3f, 0x74, 0x95, 0xa0, 0x13, 0x90, 0x36, 0xba, 0xaa, 0xe9, 0xa3, 0xab, 0xb2, 0xd7, 0xc1, 0x39, + 0x2c, 0x1e, 0xf6, 0xfb, 0xed, 0xce, 0x89, 0x3b, 0x74, 0xc3, 0x52, 0xba, 0xb3, 0x16, 0xf8, 0x8a, + 0xed, 0x96, 0xc2, 0x2d, 0x45, 0x58, 0x2d, 0x58, 0x92, 0x05, 0x94, 0xcf, 0xee, 0x26, 0xac, 0xd8, + 0x78, 0xe8, 0x5f, 0xe3, 0x9b, 0x1c, 0xd6, 0x7a, 0x0a, 0xab, 0x1a, 0x97, 0xf2, 0x27, 0xfa, 0x12, + 0x4c, 0xee, 0x73, 0x31, 0x27, 0x89, 0x18, 0xbe, 0xc7, 0x08, 0x7a, 0xcc, 0x7b, 0xcb, 0x7a, 0x01, + 0x0b, 0x9c, 0xa5, 0x60, 0x28, 0x91, 0x19, 0x4a, 0xc6, 0xea, 0x7e, 0x50, 0xab, 0x42, 0x55, 0xaf, + 0x0a, 0xd6, 0x1f, 0x0c, 0xb8, 0x3b, 0xf6, 0xbc, 0x94, 0xa0, 0x2f, 0xe0, 0x96, 0x24, 0x36, 0xce, + 0xe5, 0x0d, 0xed, 0xe1, 0x16, 0xdb, 0x4d, 0xa1, 0x2d, 0xfb, 0x66, 0x78, 0x09, 0x1b, 0xd1, 0x54, + 0x59, 0xb7, 0xde, 0x38, 0xa5, 0xa7, 0xbe, 0xcf, 0x22, 0xb3, 0x54, 0x13, 0x8f, 0x77, 0xe0, 0x4e, + 0xae, 0x8c, 0xf2, 0x7e, 0xff, 0x1d, 0xac, 0x8b, 0x18, 0x92, 0xed, 0xf1, 0x41, 0xcf, 0x7c, 0x06, + 0xb7, 0x73, 0x24, 0x94, 0x3f, 0xf1, 0x17, 0xbc, 0x86, 0x1f, 0xf1, 0x21, 0x5c, 0xdb, 0x73, 0xc3, + 0x23, 0xdf, 0xbb, 0x70, 0x07, 0x85, 0xa2, 0x94, 0xd9, 0x2f, 0x77, 0x6f, 0xf9, 0xd3, 0xf4, 0x61, + 0xa3, 0x5b, 0xf2, 0x34, 0xac, 0x55, 0xec, 0xbb, 0xb4, 0xe7, 0x5f, 0xe3, 0xa0, 0xe3, 0x0c, 0xf8, + 0xf0, 0x4d, 0xd8, 0x53, 0x47, 0xb3, 0x73, 0x77, 0x3f, 0xec, 0xb9, 0xff, 0x6d, 0xf0, 0x89, 0x03, + 0xf3, 0x89, 0x18, 0x92, 0xd3, 0x1b, 0xe5, 0x39, 0x6b, 0x53, 0x2f, 0x38, 0x9f, 0x68, 0xf0, 0x2a, + 0xfc, 0xaf, 0xe0, 0x58, 0x4b, 0x90, 0xc2, 0x7c, 0xc8, 0x20, 0xae, 0x6d, 0x0d, 0xab, 0xf5, 0x24, + 0xf5, 0x92, 0x3d, 0xc9, 0xff, 0x0c, 0x3e, 0x3f, 0x50, 0x34, 0xa4, 0x44, 0x9b, 0xc5, 0x19, 0x65, + 0x67, 0x71, 0x4f, 0x62, 0x5d, 0x92, 0x4f, 0x09, 0x15, 0x5e, 0x62, 0x3e, 0xcd, 0x61, 0x75, 0x9c, + 0x10, 0xda, 0xda, 0x26, 0x56, 0xe7, 0x04, 0xe6, 0x6c, 0x34, 0x8c, 0x6f, 0x49, 0x09, 0x53, 0x76, + 0x74, 0xf2, 0x5d, 0xf2, 0x69, 0xa6, 0xdd, 0x7c, 0xfc, 0xf6, 0xc9, 0xd0, 0x71, 0xaf, 0x0e, 0xbd, + 0x7e, 0xe7, 0x95, 0xef, 0xb1, 0x8e, 0xf5, 0x65, 0xd1, 0xce, 0x60, 0x1d, 0xea, 0x98, 0xed, 0x8d, + 0x7c, 0x2d, 0x00, 0xb6, 0x8f, 0xa4, 0x9c, 0x22, 0x4f, 0xcb, 0x28, 0xeb, 0xdb, 0xe4, 0x5b, 0xcc, + 0x58, 0xf1, 0x94, 0x68, 0x5d, 0x80, 0x31, 0xa5, 0x0b, 0x28, 0x5a, 0x87, 0x0f, 0xde, 0xad, 0xc0, + 0x1c, 0x27, 0x3a, 0x3a, 0xed, 0xa2, 0x43, 0x80, 0xf4, 0x33, 0x27, 0x92, 0x1f, 0x80, 0xca, 0x37, + 0x56, 0x73, 0x73, 0xcc, 0x0a, 0x25, 0xe8, 0x3b, 0xb8, 0x37, 0xf9, 0x6b, 0x21, 0xfa, 0x5c, 0xd9, + 0x3c, 0xe5, 0xfb, 0xa5, 0xf9, 0xe0, 0x3d, 0xa8, 0x29, 0x41, 0xdf, 0x1b, 0xb0, 0x3d, 0xf5, 0x3b, + 0x1e, 0xda, 0x97, 0x98, 0x16, 0xf9, 0xfa, 0x68, 0xfe, 0xf4, 0xfd, 0x36, 0x08, 0x3b, 0x4c, 0xfe, + 0xc0, 0xa6, 0xd8, 0x61, 0xea, 0x97, 0x41, 0xc5, 0x0e, 0x05, 0xbe, 0xdc, 0x35, 0x61, 0x41, 0x1a, + 0xc3, 0xa3, 0x4d, 0x75, 0xb7, 0xf4, 0x45, 0xcc, 0x34, 0xc7, 0x2d, 0x51, 0x82, 0x9e, 0xc2, 0xa2, + 0x32, 0xde, 0x45, 0x77, 0x55, 0x62, 0x65, 0x9c, 0x6d, 0x7e, 0x32, 0x7e, 0x91, 0x12, 0x74, 0xca, + 0xbf, 0xc5, 0x49, 0xf3, 0x49, 0x94, 0x4b, 0x1f, 0x8f, 0x73, 0xcd, 0x4f, 0x27, 0xac, 0x52, 0x82, + 0xce, 0xf9, 0x30, 0x23, 0x33, 0xc0, 0x43, 0x96, 0xba, 0x2d, 0x6f, 0xbe, 0x68, 0xfe, 0x70, 0x2a, + 0x0d, 0x25, 0xe8, 0xd7, 0xbc, 0x1e, 0x6a, 0x23, 0x26, 0xb4, 0xa5, 0x6e, 0xcd, 0x4e, 0xbf, 0xcc, + 0xed, 0x29, 0x14, 0x94, 0xa0, 0x2f, 0x93, 0xcb, 0x44, 0xe2, 0xfc, 0x83, 0xac, 0x83, 0x55, 0xc6, + 0x5b, 0x93, 0x09, 0x28, 0x41, 0x98, 0xdd, 0xf5, 0x79, 0x4f, 0x6b, 0x74, 0x5f, 0xd9, 0x3b, 0xe6, + 0xc1, 0x6f, 0xee, 0x14, 0xa0, 0x4a, 0x2c, 0xa3, 0x3d, 0x0b, 0x75, 0xcb, 0x64, 0x9f, 0xe2, 0xba, + 0x65, 0xf2, 0xde, 0x95, 0x1d, 0x58, 0xd6, 0xde, 0x52, 0x48, 0x8e, 0x83, 0xec, 0x83, 0xcd, 0xbc, + 0x37, 0x69, 0x99, 0x12, 0x51, 0xd2, 0xe2, 0x47, 0x88, 0x56, 0xd2, 0xa4, 0xc7, 0x8f, 0x56, 0xd2, + 0x94, 0x57, 0xcb, 0x53, 0x58, 0x54, 0x1e, 0x0e, 0x4a, 0x16, 0xe8, 0x0f, 0x13, 0x25, 0x0b, 0xb2, + 0xef, 0x8d, 0x57, 0x70, 0x67, 0x4c, 0x23, 0x8e, 0x76, 0x74, 0x4d, 0x72, 0x1f, 0x17, 0xe6, 0x67, + 0x45, 0xc8, 0x28, 0x41, 0x5f, 0xc1, 0x5a, 0x4e, 0xf3, 0x8b, 0xb6, 0xb3, 0xf5, 0x54, 0x97, 0x60, + 0x4d, 0x23, 0x11, 0x21, 0x9c, 0x69, 0x53, 0x95, 0x10, 0xce, 0x6b, 0x93, 0x95, 0x10, 0xce, 0xef, + 0x72, 0xbf, 0x82, 0xb5, 0x9c, 0x96, 0x13, 0x69, 0xa1, 0x93, 0xd3, 0x40, 0x9a, 0xd6, 0x34, 0x12, + 0xc1, 0xbd, 0x3b, 0x85, 0x7b, 0x77, 0x3a, 0xf7, 0x71, 0xbd, 0xa5, 0xa8, 0x70, 0x52, 0x07, 0xa5, + 0x57, 0x38, 0xb5, 0x7d, 0xd4, 0x2b, 0x9c, 0xde, 0x7a, 0xa5, 0x37, 0xc8, 0x98, 0xb6, 0x20, 0xef, + 0x06, 0x19, 0xdf, 0xc0, 0xe4, 0xdd, 0x20, 0x13, 0xfa, 0x8d, 0xc7, 0x3f, 0xfa, 0xcd, 0xce, 0x33, + 0x82, 0xbd, 0xf3, 0xf6, 0xa9, 0xf4, 0xef, 0xad, 0x84, 0xc3, 0xcf, 0x93, 0x5f, 0x2f, 0x67, 0xf8, + 0xd2, 0xc3, 0xff, 0x07, 0x00, 0x00, 0xff, 0xff, 0x6d, 0x13, 0xb4, 0xc1, 0x1a, 0x26, 0x00, 0x00, } diff --git a/pkg/proto/admin_cms/admin_cms.proto b/pkg/proto/admin_cms/admin_cms.proto index 78d7ee924..5ba1539ec 100644 --- a/pkg/proto/admin_cms/admin_cms.proto +++ b/pkg/proto/admin_cms/admin_cms.proto @@ -74,7 +74,7 @@ message GetChatLogsReq { int32 contentType = 6; server_api_params.RequestPagination pagination = 7; string operationID = 8; - + string opUserID = 9; } message ChatLog { From 7d1cafc3d39cff119c7be633db210de948d8ab70 Mon Sep 17 00:00:00 2001 From: skiffer-git <44203734@qq.com> Date: Wed, 14 Dec 2022 17:35:48 +0800 Subject: [PATCH 106/176] check time synchronize --- script/env_check.sh | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/script/env_check.sh b/script/env_check.sh index 2d81390f7..b4af71d95 100644 --- a/script/env_check.sh +++ b/script/env_check.sh @@ -1,12 +1,25 @@ #!/usr/bin/env bash source ./style_info.cfg +echo -e "check time synchronize................................" +t=`curl http://time.akamai.com/?iso -s` +t1=`date -d $t +%s` +t2=`date +%s` +let between=t2-t1 +if [[ $between > 10 ]] || [[ $between < -10 ]]; then + echo -e ${RED_PREFIX}"Warning: The difference between the iso time and the server's time is too large: "$between"s" ${COLOR_SUFFIX} +else + echo -e ${GREEN_PREFIX} "ok: Server time is synchronized " ${COLOR_SUFFIX} +fi + + + echo -e "check login user........................................" user=`whoami` if [ $user == "root" ] ; then - echo -e ${GREEN_PREFIX} "ok: login user is root" ${COLOR_SUFFIX} + echo -e ${GREEN_PREFIX} "ok: login user is root" ${COLOR_SUFFIX} else - echo -e ${RED_PREFIX}"Warning: The current user is not root "${COLOR_SUFFIX} + echo -e ${RED_PREFIX}"Warning: The current user is not root "${COLOR_SUFFIX} fi From b15ae542aa4fdb1cdcdfaa04ba607e914c9284fd Mon Sep 17 00:00:00 2001 From: skiffer-git <44203734@qq.com> Date: Wed, 14 Dec 2022 17:40:51 +0800 Subject: [PATCH 107/176] check time synchronize --- script/env_check.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/script/env_check.sh b/script/env_check.sh index b4af71d95..f51dca451 100644 --- a/script/env_check.sh +++ b/script/env_check.sh @@ -1,12 +1,12 @@ #!/usr/bin/env bash source ./style_info.cfg -echo -e "check time synchronize................................" +echo -e "check time synchronize.................................." t=`curl http://time.akamai.com/?iso -s` t1=`date -d $t +%s` t2=`date +%s` let between=t2-t1 -if [[ $between > 10 ]] || [[ $between < -10 ]]; then +if [[ $between -gt 10 ]] || [[ $between -lt -10 ]]; then echo -e ${RED_PREFIX}"Warning: The difference between the iso time and the server's time is too large: "$between"s" ${COLOR_SUFFIX} else echo -e ${GREEN_PREFIX} "ok: Server time is synchronized " ${COLOR_SUFFIX} From a01781d5b70c3c0411a3d824200e74d0b1de578d Mon Sep 17 00:00:00 2001 From: skiffer-git <44203734@qq.com> Date: Thu, 15 Dec 2022 17:21:04 +0800 Subject: [PATCH 108/176] Get Internet IP automatically --- install_im_server.sh | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/install_im_server.sh b/install_im_server.sh index b2b9b9649..ea641d0f8 100644 --- a/install_im_server.sh +++ b/install_im_server.sh @@ -1,5 +1,14 @@ #!/usr/bin/env bash +internet_ip=`curl ifconfig.me -s` +echo $internet_ip +source .env +echo $MINIO_ENDPOINT +if [ $MINIO_ENDPOINT == "http://127.0.0.1:10005" ]; then + sed -i "s/127.0.0.1/${internet_ip}/" .env + +fi + cd script ; chmod +x *.sh ; ./init_pwd.sh From 25aa6a4345bf017f64f15056c78fca5cc7150a84 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Fri, 16 Dec 2022 15:52:30 +0800 Subject: [PATCH 109/176] message reaction --- internal/rpc/msg/extend_msg.go | 47 ++++++++++++++++++++++------------ internal/rpc/msg/lock.go | 32 +++++++++++++++++++++++ internal/rpc/msg/rpcChat.go | 4 ++- 3 files changed, 65 insertions(+), 18 deletions(-) create mode 100644 internal/rpc/msg/lock.go diff --git a/internal/rpc/msg/extend_msg.go b/internal/rpc/msg/extend_msg.go index ea0f02088..47afbbdaa 100644 --- a/internal/rpc/msg/extend_msg.go +++ b/internal/rpc/msg/extend_msg.go @@ -35,7 +35,7 @@ func (rpc *rpcChat) SetMessageReactionExtensions(ctx context.Context, req *msg.S log.Debug(req.OperationID, "redis handle firstly", req.String()) rResp.MsgFirstModifyTime = utils.GetCurrentTimestampByMill() for k, v := range req.ReactionExtensionList { - err := lockMessageTypeKey(req.ClientMsgID, k) + err := rpc.dMessageLocker.LockMessageTypeKey(req.ClientMsgID, k) if err != nil { setKeyResultInfo(&rResp, 100, err.Error(), req.ClientMsgID, k, v) continue @@ -54,14 +54,40 @@ func (rpc *rpcChat) SetMessageReactionExtensions(ctx context.Context, req *msg.S log.Error(req.OperationID, "SetMessageReactionExpire err:", err.Error(), req.String()) } } else { - //mongo处理 + for k, v := range req.ReactionExtensionList { + err := rpc.dMessageLocker.LockMessageTypeKey(req.ClientMsgID, k) + if err != nil { + setKeyResultInfo(&rResp, 100, err.Error(), req.ClientMsgID, k, v) + continue + } + redisValue, err := db.DB.GetMessageTypeKeyValue(req.ClientMsgID, req.SessionType, k) + if err != nil && err != go_redis.Nil { + setKeyResultInfo(&rResp, 200, err.Error(), req.ClientMsgID, k, v) + continue + } + temp := new(server_api_params.KeyValue) + utils.JsonStringToStruct(redisValue, temp) + if v.LatestUpdateTime != temp.LatestUpdateTime { + setKeyResultInfo(&rResp, 300, "message have update", req.ClientMsgID, k, temp) + continue + } else { + v.LatestUpdateTime = utils.GetCurrentTimestampByMill() + newerr := db.DB.SetMessageTypeKeyValue(req.ClientMsgID, req.SessionType, k, utils.StructToJsonString(v)) + if newerr != nil { + setKeyResultInfo(&rResp, 201, newerr.Error(), req.ClientMsgID, k, temp) + continue + } + setKeyResultInfo(&rResp, 0, "", req.ClientMsgID, k, v) + } + + } } } else { log.Debug(req.OperationID, "redis handle secondly", req.String()) for k, v := range req.ReactionExtensionList { - err := lockMessageTypeKey(req.ClientMsgID, k) + err := rpc.dMessageLocker.LockMessageTypeKey(req.ClientMsgID, k) if err != nil { setKeyResultInfo(&rResp, 100, err.Error(), req.ClientMsgID, k, v) continue @@ -178,7 +204,7 @@ func (rpc *rpcChat) DeleteMessageReactionExtensions(ctx context.Context, req *ms if isExists { log.Debug(req.OperationID, "redis handle this delete", req.String()) for _, v := range req.ReactionExtensionList { - err := lockMessageTypeKey(req.ClientMsgID, v.TypeKey) + err := rpc.dMessageLocker.LockMessageTypeKey(req.ClientMsgID, v.TypeKey) if err != nil { setDeleteKeyResultInfo(&rResp, 100, err.Error(), req.ClientMsgID, v.TypeKey, v) continue @@ -210,16 +236,3 @@ func (rpc *rpcChat) DeleteMessageReactionExtensions(ctx context.Context, req *ms log.Debug(req.OperationID, utils.GetSelfFuncName(), "rpc return is:", rResp.String()) return &rResp, nil } -func lockMessageTypeKey(clientMsgID, typeKey string) (err error) { - for i := 0; i < 3; i++ { - err = db.DB.LockMessageTypeKey(clientMsgID, typeKey) - if err != nil { - time.Sleep(time.Millisecond * 100) - continue - } else { - break - } - } - return err - -} diff --git a/internal/rpc/msg/lock.go b/internal/rpc/msg/lock.go new file mode 100644 index 000000000..4f40b62a0 --- /dev/null +++ b/internal/rpc/msg/lock.go @@ -0,0 +1,32 @@ +package msg + +import ( + "Open_IM/pkg/common/db" + "time" +) + +type MessageLocker interface { + LockMessageTypeKey(clientMsgID, typeKey string) (err error) + UnLockMessageTypeKey(clientMsgID string, typeKey string) error +} +type LockerMessage struct{} + +func NewLockerMessage() *LockerMessage { + return &LockerMessage{} +} +func (l *LockerMessage) LockMessageTypeKey(clientMsgID, typeKey string) (err error) { + for i := 0; i < 3; i++ { + err = db.DB.LockMessageTypeKey(clientMsgID, typeKey) + if err != nil { + time.Sleep(time.Millisecond * 100) + continue + } else { + break + } + } + return err + +} +func (l *LockerMessage) UnLockMessageTypeKey(clientMsgID string, typeKey string) error { + return db.DB.UnLockMessageTypeKey(clientMsgID, typeKey) +} diff --git a/internal/rpc/msg/rpcChat.go b/internal/rpc/msg/rpcChat.go index f1329d47a..470325deb 100644 --- a/internal/rpc/msg/rpcChat.go +++ b/internal/rpc/msg/rpcChat.go @@ -31,7 +31,8 @@ type rpcChat struct { etcdAddr []string messageWriter MessageWriter //offlineProducer *kafka.Producer - delMsgCh chan deleteMsg + delMsgCh chan deleteMsg + dMessageLocker MessageLocker } type deleteMsg struct { @@ -48,6 +49,7 @@ func NewRpcChatServer(port int) *rpcChat { rpcRegisterName: config.Config.RpcRegisterName.OpenImMsgName, etcdSchema: config.Config.Etcd.EtcdSchema, etcdAddr: config.Config.Etcd.EtcdAddr, + dMessageLocker: NewLockerMessage(), } rc.messageWriter = kafka.NewKafkaProducer(config.Config.Kafka.Ws2mschat.Addr, config.Config.Kafka.Ws2mschat.Topic) //rc.offlineProducer = kafka.NewKafkaProducer(config.Config.Kafka.Ws2mschatOffline.Addr, config.Config.Kafka.Ws2mschatOffline.Topic) From 7c9b4576f075281ae0ac3802e052e757dfbe59db Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Fri, 16 Dec 2022 16:17:53 +0800 Subject: [PATCH 110/176] platform update --- internal/msg_gateway/gate/logic.go | 9 +++++++++ internal/push/logic/push_rpc_server.go | 3 ++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/internal/msg_gateway/gate/logic.go b/internal/msg_gateway/gate/logic.go index f249b9459..49fa04804 100644 --- a/internal/msg_gateway/gate/logic.go +++ b/internal/msg_gateway/gate/logic.go @@ -6,6 +6,7 @@ import ( "Open_IM/pkg/common/db" "Open_IM/pkg/common/log" promePkg "Open_IM/pkg/common/prometheus" + "Open_IM/pkg/common/token_verify" "Open_IM/pkg/grpc-etcdv3/getcdv3" pbChat "Open_IM/pkg/proto/msg" push "Open_IM/pkg/proto/push" @@ -186,8 +187,16 @@ func (ws *WServer) pullMsgBySeqListResp(conn *UserConn, m *Req, pb *sdk_ws.PullM } func (ws *WServer) userLogoutReq(conn *UserConn, m *Req) { log.NewInfo(m.OperationID, "Ws call success to userLogoutReq start", m.SendID, m.ReqIdentifier, m.MsgIncr, string(m.Data)) + claims, err := token_verify.ParseToken(m.Token, m.OperationID) + if err != nil { + errMsg := "ParseToken failed " + err.Error() + m.OperationID + " token " + m.Token + log.Error(m.OperationID, errMsg, "token:", m.Token) + ws.userLogoutResp(conn, m) + return + } rpcReq := push.DelUserPushTokenReq{} rpcReq.UserID = m.SendID + rpcReq.PlatformID = int32(constant.PlatformNameToID(claims.Platform)) rpcReq.OperationID = m.OperationID grpcConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImPushName, m.OperationID) if grpcConn == nil { diff --git a/internal/push/logic/push_rpc_server.go b/internal/push/logic/push_rpc_server.go index b2ac3570c..296d23512 100644 --- a/internal/push/logic/push_rpc_server.go +++ b/internal/push/logic/push_rpc_server.go @@ -93,10 +93,11 @@ func (r *RPCServer) PushMsg(_ context.Context, pbData *pbPush.PushMsgReq) (*pbPu } func (r *RPCServer) DelUserPushToken(c context.Context, req *pbPush.DelUserPushTokenReq) (*pbPush.DelUserPushTokenResp, error) { + log.Debug(req.OperationID, utils.GetSelfFuncName(), "req", req.String()) var resp pbPush.DelUserPushTokenResp err := db.DB.DelFcmToken(req.UserID, int(req.PlatformID)) if err != nil { - errMsg := req.OperationID + " " + "SetFcmToken failed " + err.Error() + errMsg := req.OperationID + " " + "DelFcmToken failed " + err.Error() log.NewError(req.OperationID, errMsg) resp.ErrCode = 500 resp.ErrMsg = errMsg From 920a7cfdac197a592fee7fb32cce26f00c9e0662 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 16 Dec 2022 16:54:18 +0800 Subject: [PATCH 111/176] set groupMemberInfo callback --- config/config.yaml | 2 +- internal/rpc/group/callback.go | 55 +++++++++++++++++++++++++++++++++ internal/rpc/group/group.go | 46 +++++++++++++++++++++++++-- pkg/call_back_struct/group.go | 19 ++++++++++++ pkg/common/config/config.go | 2 +- pkg/common/constant/constant.go | 29 ++++++++--------- 6 files changed, 135 insertions(+), 18 deletions(-) diff --git a/config/config.yaml b/config/config.yaml index 966c613f4..474832f34 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -345,7 +345,7 @@ callback: enable: false callbackTimeOut: 2 callbackFailedContinue: true # 回调超时是否继续 - callbackBeforeExtendMsgModify: + callbackBeforeSetGroupMemberInfo: enable: false callbackTimeOut: 2 callbackFailedContinue: true # 回调超时是否继续 diff --git a/internal/rpc/group/callback.go b/internal/rpc/group/callback.go index 90dc63af0..5bf450a69 100644 --- a/internal/rpc/group/callback.go +++ b/internal/rpc/group/callback.go @@ -10,6 +10,8 @@ import ( pbGroup "Open_IM/pkg/proto/group" "Open_IM/pkg/utils" http2 "net/http" + + "google.golang.org/protobuf/types/known/wrapperspb" ) func callbackBeforeCreateGroup(req *pbGroup.CreateGroupReq) cbApi.CommonCallbackResp { @@ -126,3 +128,56 @@ func CallbackBeforeMemberJoinGroup(operationID string, groupMember *db.GroupMemb } return callbackResp } + +func CallbackBeforeSetGroupMemberInfo(req *pbGroup.SetGroupMemberInfoReq) cbApi.CommonCallbackResp { + callbackResp := cbApi.CommonCallbackResp{OperationID: req.OperationID} + if !config.Config.Callback.CallbackBeforeSetGroupMemberInfo.Enable { + return callbackResp + } + callbackReq := cbApi.CallbackBeforeSetGroupMemberInfoReq{ + CallbackCommand: constant.CallbackBeforeSetGroupMemberInfoCommand, + OperationID: req.OperationID, + GroupID: req.GroupID, + UserID: req.UserID, + } + if req.Nickname != nil { + callbackReq.Nickname = req.Nickname.Value + } + if req.FaceURL != nil { + callbackReq.FaceURL = req.FaceURL.Value + } + if req.RoleLevel != nil { + callbackReq.RoleLevel = req.RoleLevel.Value + } + if req.Ex != nil { + callbackReq.Ex = req.Ex.Value + } + resp := &cbApi.CallbackBeforeSetGroupMemberInfoResp{ + CommonCallbackResp: &callbackResp, + } + + if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackBeforeSetGroupMemberInfoCommand, callbackReq, resp, config.Config.Callback.CallbackBeforeSetGroupMemberInfo.CallbackTimeOut); err != nil { + callbackResp.ErrCode = http2.StatusInternalServerError + callbackResp.ErrMsg = err.Error() + if !config.Config.Callback.CallbackBeforeSetGroupMemberInfo.CallbackFailedContinue { + callbackResp.ActionCode = constant.ActionForbidden + return callbackResp + } else { + callbackResp.ActionCode = constant.ActionAllow + return callbackResp + } + } + if resp.FaceURL != nil { + req.FaceURL = &wrapperspb.StringValue{Value: *resp.FaceURL} + } + if resp.Nickname != nil { + req.Nickname = &wrapperspb.StringValue{Value: *resp.Nickname} + } + if resp.RoleLevel != nil { + req.RoleLevel = &wrapperspb.Int32Value{Value: *resp.RoleLevel} + } + if resp.Ex != nil { + req.Ex = &wrapperspb.StringValue{Value: *resp.Ex} + } + return callbackResp +} diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index 64cddba02..4d68582e5 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -30,6 +30,7 @@ import ( grpcPrometheus "github.com/grpc-ecosystem/go-grpc-prometheus" "google.golang.org/grpc" + "google.golang.org/protobuf/types/known/wrapperspb" "gorm.io/gorm" ) @@ -1765,11 +1766,35 @@ func (s *groupServer) SetGroupMemberNickname(ctx context.Context, req *pbGroup.S log.Error(req.OperationID, errMsg) return &pbGroup.SetGroupMemberNicknameResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrAccess.ErrCode, ErrMsg: constant.ErrAccess.ErrMsg}}, nil } + cbReq := &pbGroup.SetGroupMemberInfoReq{ + GroupID: req.GroupID, + UserID: req.UserID, + OperationID: req.OperationID, + OpUserID: req.OpUserID, + Nickname: &wrapperspb.StringValue{Value: req.Nickname}, + } + callbackResp := CallbackBeforeSetGroupMemberInfo(cbReq) + if callbackResp.ErrCode != 0 { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "CallbackBeforeMemberJoinGroup resp: ", callbackResp) + } + if callbackResp.ActionCode != constant.ActionAllow { + if callbackResp.ErrCode == 0 { + callbackResp.ErrCode = 201 + } + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CallbackBeforeMemberJoinGroup result", "end rpc and return", callbackResp) + return &pbGroup.SetGroupMemberNicknameResp{ + CommonResp: &pbGroup.CommonResp{ + ErrCode: int32(callbackResp.ErrCode), + ErrMsg: callbackResp.ErrMsg, + }, + }, nil + } + nickName := cbReq.Nickname.Value groupMemberInfo := db.GroupMember{} groupMemberInfo.UserID = req.UserID groupMemberInfo.GroupID = req.GroupID - if req.Nickname == "" { + if nickName == "" { userNickname, err := imdb.GetUserNameByUserID(groupMemberInfo.UserID) if err != nil { errMsg := req.OperationID + " GetUserNameByUserID failed " + err.Error() @@ -1778,7 +1803,7 @@ func (s *groupServer) SetGroupMemberNickname(ctx context.Context, req *pbGroup.S } groupMemberInfo.Nickname = userNickname } else { - groupMemberInfo.Nickname = req.Nickname + groupMemberInfo.Nickname = nickName } if err := rocksCache.DelGroupMemberInfoFromCache(req.GroupID, req.UserID); err != nil { @@ -1805,6 +1830,23 @@ func (s *groupServer) SetGroupMemberInfo(ctx context.Context, req *pbGroup.SetGr resp.CommonResp.ErrMsg = err.Error() return resp, nil } + callbackResp := CallbackBeforeSetGroupMemberInfo(req) + if callbackResp.ErrCode != 0 { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "CallbackBeforeMemberJoinGroup resp: ", callbackResp) + } + if callbackResp.ActionCode != constant.ActionAllow { + if callbackResp.ErrCode == 0 { + callbackResp.ErrCode = 201 + } + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CallbackBeforeMemberJoinGroup result", "end rpc and return", callbackResp) + return &pbGroup.SetGroupMemberInfoResp{ + CommonResp: &pbGroup.CommonResp{ + ErrCode: int32(callbackResp.ErrCode), + ErrMsg: callbackResp.ErrMsg, + }, + }, nil + } + groupMember := db.GroupMember{ GroupID: req.GroupID, UserID: req.UserID, diff --git a/pkg/call_back_struct/group.go b/pkg/call_back_struct/group.go index 33a18d9c0..a040adcf0 100644 --- a/pkg/call_back_struct/group.go +++ b/pkg/call_back_struct/group.go @@ -46,3 +46,22 @@ type CallbackBeforeMemberJoinGroupResp struct { MuteEndTime *int64 `json:"muteEndTime"` Ex *string `json:"ex"` } + +type CallbackBeforeSetGroupMemberInfoReq struct { + CallbackCommand string `json:"callbackCommand"` + OperationID string `json:"operationID"` + GroupID string `json:"groupID"` + UserID string `json:"userID"` + Nickname string `json:"nickName"` + FaceURL string `json:"faceURL"` + RoleLevel int32 `json:"roleLevel"` + Ex string `json:"ex"` +} + +type CallbackBeforeSetGroupMemberInfoResp struct { + *CommonCallbackResp + Ex *string `json:"ex"` + Nickname *string `json:"nickName"` + FaceURL *string `json:"faceURL"` + RoleLevel *int32 `json:"roleLevel"` +} diff --git a/pkg/common/config/config.go b/pkg/common/config/config.go index 855d5c6fb..32ad9391b 100644 --- a/pkg/common/config/config.go +++ b/pkg/common/config/config.go @@ -292,7 +292,7 @@ type config struct { CallbackBeforeAddFriend callBackConfig `yaml:"callbackBeforeAddFriend"` CallbackBeforeCreateGroup callBackConfig `yaml:"callbackBeforeCreateGroup"` CallbackBeforeMemberJoinGroup callBackConfig `yaml:"callbackBeforeMemberJoinGroup"` - CallbackBeforeExtendMsgModify callBackConfig `yaml:"callbackBeforeExtendMsgModify"` + CallbackBeforeSetGroupMemberInfo callBackConfig `yaml:"callbackBeforeSetGroupMemberInfo"` } `yaml:"callback"` Notification struct { ///////////////////////group///////////////////////////// diff --git a/pkg/common/constant/constant.go b/pkg/common/constant/constant.go index ff2e0097f..250bf5856 100644 --- a/pkg/common/constant/constant.go +++ b/pkg/common/constant/constant.go @@ -202,20 +202,21 @@ const ( VerificationCodeForResetSuffix = "_forReset" //callbackCommand - CallbackBeforeSendSingleMsgCommand = "callbackBeforeSendSingleMsgCommand" - CallbackAfterSendSingleMsgCommand = "callbackAfterSendSingleMsgCommand" - CallbackBeforeSendGroupMsgCommand = "callbackBeforeSendGroupMsgCommand" - CallbackAfterSendGroupMsgCommand = "callbackAfterSendGroupMsgCommand" - CallbackMsgModifyCommand = "callbackMsgModifyCommand" - CallbackUserOnlineCommand = "callbackUserOnlineCommand" - CallbackUserOfflineCommand = "callbackUserOfflineCommand" - CallbackUserKickOffCommand = "callbackUserKickOffCommand" - CallbackOfflinePushCommand = "callbackOfflinePushCommand" - CallbackOnlinePushCommand = "callbackOnlinePushCommand" - CallbackSuperGroupOnlinePushCommand = "callbackSuperGroupOnlinePushCommand" - CallbackBeforeAddFriendCommand = "callbackBeforeAddFriendCommand" - CallbackBeforeCreateGroupCommand = "callbackBeforeCreateGroupCommand" - CallbackBeforeMemberJoinGroupCommand = "callbackBeforeMemberJoinGroupCommand" + CallbackBeforeSendSingleMsgCommand = "callbackBeforeSendSingleMsgCommand" + CallbackAfterSendSingleMsgCommand = "callbackAfterSendSingleMsgCommand" + CallbackBeforeSendGroupMsgCommand = "callbackBeforeSendGroupMsgCommand" + CallbackAfterSendGroupMsgCommand = "callbackAfterSendGroupMsgCommand" + CallbackMsgModifyCommand = "callbackMsgModifyCommand" + CallbackUserOnlineCommand = "callbackUserOnlineCommand" + CallbackUserOfflineCommand = "callbackUserOfflineCommand" + CallbackUserKickOffCommand = "callbackUserKickOffCommand" + CallbackOfflinePushCommand = "callbackOfflinePushCommand" + CallbackOnlinePushCommand = "callbackOnlinePushCommand" + CallbackSuperGroupOnlinePushCommand = "callbackSuperGroupOnlinePushCommand" + CallbackBeforeAddFriendCommand = "callbackBeforeAddFriendCommand" + CallbackBeforeCreateGroupCommand = "callbackBeforeCreateGroupCommand" + CallbackBeforeMemberJoinGroupCommand = "callbackBeforeMemberJoinGroupCommand" + CallbackBeforeSetGroupMemberInfoCommand = "CallbackBeforeSetGroupMemberInfoCommand" //callback actionCode ActionAllow = 0 From b67ad01d972e8dc4a61eb66e70759fa575b5cae6 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Fri, 16 Dec 2022 17:22:40 +0800 Subject: [PATCH 112/176] platform update --- internal/msg_gateway/gate/logic.go | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/internal/msg_gateway/gate/logic.go b/internal/msg_gateway/gate/logic.go index 49fa04804..4715def1e 100644 --- a/internal/msg_gateway/gate/logic.go +++ b/internal/msg_gateway/gate/logic.go @@ -6,7 +6,6 @@ import ( "Open_IM/pkg/common/db" "Open_IM/pkg/common/log" promePkg "Open_IM/pkg/common/prometheus" - "Open_IM/pkg/common/token_verify" "Open_IM/pkg/grpc-etcdv3/getcdv3" pbChat "Open_IM/pkg/proto/msg" push "Open_IM/pkg/proto/push" @@ -187,16 +186,10 @@ func (ws *WServer) pullMsgBySeqListResp(conn *UserConn, m *Req, pb *sdk_ws.PullM } func (ws *WServer) userLogoutReq(conn *UserConn, m *Req) { log.NewInfo(m.OperationID, "Ws call success to userLogoutReq start", m.SendID, m.ReqIdentifier, m.MsgIncr, string(m.Data)) - claims, err := token_verify.ParseToken(m.Token, m.OperationID) - if err != nil { - errMsg := "ParseToken failed " + err.Error() + m.OperationID + " token " + m.Token - log.Error(m.OperationID, errMsg, "token:", m.Token) - ws.userLogoutResp(conn, m) - return - } + rpcReq := push.DelUserPushTokenReq{} rpcReq.UserID = m.SendID - rpcReq.PlatformID = int32(constant.PlatformNameToID(claims.Platform)) + rpcReq.PlatformID = conn.PlatformID rpcReq.OperationID = m.OperationID grpcConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImPushName, m.OperationID) if grpcConn == nil { From 2ccbade64296d58bc951cad246f7c3a3b489a0a9 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Sun, 18 Dec 2022 12:29:39 +0800 Subject: [PATCH 113/176] pb --- pkg/proto/sdk_ws/ws.pb.go | 6578 ------------------------------------- pkg/proto/sdk_ws/ws.proto | 14 +- 2 files changed, 7 insertions(+), 6585 deletions(-) delete mode 100644 pkg/proto/sdk_ws/ws.pb.go diff --git a/pkg/proto/sdk_ws/ws.pb.go b/pkg/proto/sdk_ws/ws.pb.go deleted file mode 100644 index 4e3253a77..000000000 --- a/pkg/proto/sdk_ws/ws.pb.go +++ /dev/null @@ -1,6578 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// source: sdk_ws/ws.proto - -package server_api_params // import "Open_IM/pkg/proto/sdk_ws" - -import proto "github.com/golang/protobuf/proto" -import fmt "fmt" -import math "math" -import wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package - -type GroupInfo struct { - GroupID string `protobuf:"bytes,1,opt,name=groupID" json:"groupID,omitempty"` - GroupName string `protobuf:"bytes,2,opt,name=groupName" json:"groupName,omitempty"` - Notification string `protobuf:"bytes,3,opt,name=notification" json:"notification,omitempty"` - Introduction string `protobuf:"bytes,4,opt,name=introduction" json:"introduction,omitempty"` - FaceURL string `protobuf:"bytes,5,opt,name=faceURL" json:"faceURL,omitempty"` - OwnerUserID string `protobuf:"bytes,6,opt,name=ownerUserID" json:"ownerUserID,omitempty"` - CreateTime uint32 `protobuf:"varint,7,opt,name=createTime" json:"createTime,omitempty"` - MemberCount uint32 `protobuf:"varint,8,opt,name=memberCount" json:"memberCount,omitempty"` - Ex string `protobuf:"bytes,9,opt,name=ex" json:"ex,omitempty"` - Status int32 `protobuf:"varint,10,opt,name=status" json:"status,omitempty"` - CreatorUserID string `protobuf:"bytes,11,opt,name=creatorUserID" json:"creatorUserID,omitempty"` - GroupType int32 `protobuf:"varint,12,opt,name=groupType" json:"groupType,omitempty"` - NeedVerification int32 `protobuf:"varint,13,opt,name=needVerification" json:"needVerification,omitempty"` - LookMemberInfo int32 `protobuf:"varint,14,opt,name=lookMemberInfo" json:"lookMemberInfo,omitempty"` - ApplyMemberFriend int32 `protobuf:"varint,15,opt,name=applyMemberFriend" json:"applyMemberFriend,omitempty"` - NotificationUpdateTime uint32 `protobuf:"varint,16,opt,name=notificationUpdateTime" json:"notificationUpdateTime,omitempty"` - NotificationUserID string `protobuf:"bytes,17,opt,name=notificationUserID" json:"notificationUserID,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GroupInfo) Reset() { *m = GroupInfo{} } -func (m *GroupInfo) String() string { return proto.CompactTextString(m) } -func (*GroupInfo) ProtoMessage() {} -func (*GroupInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{0} -} -func (m *GroupInfo) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GroupInfo.Unmarshal(m, b) -} -func (m *GroupInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GroupInfo.Marshal(b, m, deterministic) -} -func (dst *GroupInfo) XXX_Merge(src proto.Message) { - xxx_messageInfo_GroupInfo.Merge(dst, src) -} -func (m *GroupInfo) XXX_Size() int { - return xxx_messageInfo_GroupInfo.Size(m) -} -func (m *GroupInfo) XXX_DiscardUnknown() { - xxx_messageInfo_GroupInfo.DiscardUnknown(m) -} - -var xxx_messageInfo_GroupInfo proto.InternalMessageInfo - -func (m *GroupInfo) GetGroupID() string { - if m != nil { - return m.GroupID - } - return "" -} - -func (m *GroupInfo) GetGroupName() string { - if m != nil { - return m.GroupName - } - return "" -} - -func (m *GroupInfo) GetNotification() string { - if m != nil { - return m.Notification - } - return "" -} - -func (m *GroupInfo) GetIntroduction() string { - if m != nil { - return m.Introduction - } - return "" -} - -func (m *GroupInfo) GetFaceURL() string { - if m != nil { - return m.FaceURL - } - return "" -} - -func (m *GroupInfo) GetOwnerUserID() string { - if m != nil { - return m.OwnerUserID - } - return "" -} - -func (m *GroupInfo) GetCreateTime() uint32 { - if m != nil { - return m.CreateTime - } - return 0 -} - -func (m *GroupInfo) GetMemberCount() uint32 { - if m != nil { - return m.MemberCount - } - return 0 -} - -func (m *GroupInfo) GetEx() string { - if m != nil { - return m.Ex - } - return "" -} - -func (m *GroupInfo) GetStatus() int32 { - if m != nil { - return m.Status - } - return 0 -} - -func (m *GroupInfo) GetCreatorUserID() string { - if m != nil { - return m.CreatorUserID - } - return "" -} - -func (m *GroupInfo) GetGroupType() int32 { - if m != nil { - return m.GroupType - } - return 0 -} - -func (m *GroupInfo) GetNeedVerification() int32 { - if m != nil { - return m.NeedVerification - } - return 0 -} - -func (m *GroupInfo) GetLookMemberInfo() int32 { - if m != nil { - return m.LookMemberInfo - } - return 0 -} - -func (m *GroupInfo) GetApplyMemberFriend() int32 { - if m != nil { - return m.ApplyMemberFriend - } - return 0 -} - -func (m *GroupInfo) GetNotificationUpdateTime() uint32 { - if m != nil { - return m.NotificationUpdateTime - } - return 0 -} - -func (m *GroupInfo) GetNotificationUserID() string { - if m != nil { - return m.NotificationUserID - } - return "" -} - -type GroupInfoForSet struct { - GroupID string `protobuf:"bytes,1,opt,name=groupID" json:"groupID,omitempty"` - GroupName string `protobuf:"bytes,2,opt,name=groupName" json:"groupName,omitempty"` - Notification string `protobuf:"bytes,3,opt,name=notification" json:"notification,omitempty"` - Introduction string `protobuf:"bytes,4,opt,name=introduction" json:"introduction,omitempty"` - FaceURL string `protobuf:"bytes,5,opt,name=faceURL" json:"faceURL,omitempty"` - Ex string `protobuf:"bytes,6,opt,name=ex" json:"ex,omitempty"` - NeedVerification *wrapperspb.Int32Value `protobuf:"bytes,7,opt,name=needVerification" json:"needVerification,omitempty"` - LookMemberInfo *wrapperspb.Int32Value `protobuf:"bytes,8,opt,name=lookMemberInfo" json:"lookMemberInfo,omitempty"` - ApplyMemberFriend *wrapperspb.Int32Value `protobuf:"bytes,9,opt,name=applyMemberFriend" json:"applyMemberFriend,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GroupInfoForSet) Reset() { *m = GroupInfoForSet{} } -func (m *GroupInfoForSet) String() string { return proto.CompactTextString(m) } -func (*GroupInfoForSet) ProtoMessage() {} -func (*GroupInfoForSet) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{1} -} -func (m *GroupInfoForSet) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GroupInfoForSet.Unmarshal(m, b) -} -func (m *GroupInfoForSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GroupInfoForSet.Marshal(b, m, deterministic) -} -func (dst *GroupInfoForSet) XXX_Merge(src proto.Message) { - xxx_messageInfo_GroupInfoForSet.Merge(dst, src) -} -func (m *GroupInfoForSet) XXX_Size() int { - return xxx_messageInfo_GroupInfoForSet.Size(m) -} -func (m *GroupInfoForSet) XXX_DiscardUnknown() { - xxx_messageInfo_GroupInfoForSet.DiscardUnknown(m) -} - -var xxx_messageInfo_GroupInfoForSet proto.InternalMessageInfo - -func (m *GroupInfoForSet) GetGroupID() string { - if m != nil { - return m.GroupID - } - return "" -} - -func (m *GroupInfoForSet) GetGroupName() string { - if m != nil { - return m.GroupName - } - return "" -} - -func (m *GroupInfoForSet) GetNotification() string { - if m != nil { - return m.Notification - } - return "" -} - -func (m *GroupInfoForSet) GetIntroduction() string { - if m != nil { - return m.Introduction - } - return "" -} - -func (m *GroupInfoForSet) GetFaceURL() string { - if m != nil { - return m.FaceURL - } - return "" -} - -func (m *GroupInfoForSet) GetEx() string { - if m != nil { - return m.Ex - } - return "" -} - -func (m *GroupInfoForSet) GetNeedVerification() *wrapperspb.Int32Value { - if m != nil { - return m.NeedVerification - } - return nil -} - -func (m *GroupInfoForSet) GetLookMemberInfo() *wrapperspb.Int32Value { - if m != nil { - return m.LookMemberInfo - } - return nil -} - -func (m *GroupInfoForSet) GetApplyMemberFriend() *wrapperspb.Int32Value { - if m != nil { - return m.ApplyMemberFriend - } - return nil -} - -type GroupMemberFullInfo struct { - GroupID string `protobuf:"bytes,1,opt,name=groupID" json:"groupID,omitempty"` - UserID string `protobuf:"bytes,2,opt,name=userID" json:"userID,omitempty"` - RoleLevel int32 `protobuf:"varint,3,opt,name=roleLevel" json:"roleLevel,omitempty"` - JoinTime int32 `protobuf:"varint,4,opt,name=joinTime" json:"joinTime,omitempty"` - Nickname string `protobuf:"bytes,5,opt,name=nickname" json:"nickname,omitempty"` - FaceURL string `protobuf:"bytes,6,opt,name=faceURL" json:"faceURL,omitempty"` - AppMangerLevel int32 `protobuf:"varint,7,opt,name=appMangerLevel" json:"appMangerLevel,omitempty"` - JoinSource int32 `protobuf:"varint,8,opt,name=joinSource" json:"joinSource,omitempty"` - OperatorUserID string `protobuf:"bytes,9,opt,name=operatorUserID" json:"operatorUserID,omitempty"` - Ex string `protobuf:"bytes,10,opt,name=ex" json:"ex,omitempty"` - MuteEndTime uint32 `protobuf:"varint,11,opt,name=muteEndTime" json:"muteEndTime,omitempty"` - InviterUserID string `protobuf:"bytes,12,opt,name=inviterUserID" json:"inviterUserID,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GroupMemberFullInfo) Reset() { *m = GroupMemberFullInfo{} } -func (m *GroupMemberFullInfo) String() string { return proto.CompactTextString(m) } -func (*GroupMemberFullInfo) ProtoMessage() {} -func (*GroupMemberFullInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{2} -} -func (m *GroupMemberFullInfo) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GroupMemberFullInfo.Unmarshal(m, b) -} -func (m *GroupMemberFullInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GroupMemberFullInfo.Marshal(b, m, deterministic) -} -func (dst *GroupMemberFullInfo) XXX_Merge(src proto.Message) { - xxx_messageInfo_GroupMemberFullInfo.Merge(dst, src) -} -func (m *GroupMemberFullInfo) XXX_Size() int { - return xxx_messageInfo_GroupMemberFullInfo.Size(m) -} -func (m *GroupMemberFullInfo) XXX_DiscardUnknown() { - xxx_messageInfo_GroupMemberFullInfo.DiscardUnknown(m) -} - -var xxx_messageInfo_GroupMemberFullInfo proto.InternalMessageInfo - -func (m *GroupMemberFullInfo) GetGroupID() string { - if m != nil { - return m.GroupID - } - return "" -} - -func (m *GroupMemberFullInfo) GetUserID() string { - if m != nil { - return m.UserID - } - return "" -} - -func (m *GroupMemberFullInfo) GetRoleLevel() int32 { - if m != nil { - return m.RoleLevel - } - return 0 -} - -func (m *GroupMemberFullInfo) GetJoinTime() int32 { - if m != nil { - return m.JoinTime - } - return 0 -} - -func (m *GroupMemberFullInfo) GetNickname() string { - if m != nil { - return m.Nickname - } - return "" -} - -func (m *GroupMemberFullInfo) GetFaceURL() string { - if m != nil { - return m.FaceURL - } - return "" -} - -func (m *GroupMemberFullInfo) GetAppMangerLevel() int32 { - if m != nil { - return m.AppMangerLevel - } - return 0 -} - -func (m *GroupMemberFullInfo) GetJoinSource() int32 { - if m != nil { - return m.JoinSource - } - return 0 -} - -func (m *GroupMemberFullInfo) GetOperatorUserID() string { - if m != nil { - return m.OperatorUserID - } - return "" -} - -func (m *GroupMemberFullInfo) GetEx() string { - if m != nil { - return m.Ex - } - return "" -} - -func (m *GroupMemberFullInfo) GetMuteEndTime() uint32 { - if m != nil { - return m.MuteEndTime - } - return 0 -} - -func (m *GroupMemberFullInfo) GetInviterUserID() string { - if m != nil { - return m.InviterUserID - } - return "" -} - -type PublicUserInfo struct { - UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` - Nickname string `protobuf:"bytes,2,opt,name=nickname" json:"nickname,omitempty"` - FaceURL string `protobuf:"bytes,3,opt,name=faceURL" json:"faceURL,omitempty"` - Gender int32 `protobuf:"varint,4,opt,name=gender" json:"gender,omitempty"` - Ex string `protobuf:"bytes,5,opt,name=ex" json:"ex,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *PublicUserInfo) Reset() { *m = PublicUserInfo{} } -func (m *PublicUserInfo) String() string { return proto.CompactTextString(m) } -func (*PublicUserInfo) ProtoMessage() {} -func (*PublicUserInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{3} -} -func (m *PublicUserInfo) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_PublicUserInfo.Unmarshal(m, b) -} -func (m *PublicUserInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_PublicUserInfo.Marshal(b, m, deterministic) -} -func (dst *PublicUserInfo) XXX_Merge(src proto.Message) { - xxx_messageInfo_PublicUserInfo.Merge(dst, src) -} -func (m *PublicUserInfo) XXX_Size() int { - return xxx_messageInfo_PublicUserInfo.Size(m) -} -func (m *PublicUserInfo) XXX_DiscardUnknown() { - xxx_messageInfo_PublicUserInfo.DiscardUnknown(m) -} - -var xxx_messageInfo_PublicUserInfo proto.InternalMessageInfo - -func (m *PublicUserInfo) GetUserID() string { - if m != nil { - return m.UserID - } - return "" -} - -func (m *PublicUserInfo) GetNickname() string { - if m != nil { - return m.Nickname - } - return "" -} - -func (m *PublicUserInfo) GetFaceURL() string { - if m != nil { - return m.FaceURL - } - return "" -} - -func (m *PublicUserInfo) GetGender() int32 { - if m != nil { - return m.Gender - } - return 0 -} - -func (m *PublicUserInfo) GetEx() string { - if m != nil { - return m.Ex - } - return "" -} - -type UserInfo struct { - UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` - Nickname string `protobuf:"bytes,2,opt,name=nickname" json:"nickname,omitempty"` - FaceURL string `protobuf:"bytes,3,opt,name=faceURL" json:"faceURL,omitempty"` - Gender int32 `protobuf:"varint,4,opt,name=gender" json:"gender,omitempty"` - PhoneNumber string `protobuf:"bytes,5,opt,name=phoneNumber" json:"phoneNumber,omitempty"` - Birth uint32 `protobuf:"varint,6,opt,name=birth" json:"birth,omitempty"` - Email string `protobuf:"bytes,7,opt,name=email" json:"email,omitempty"` - Ex string `protobuf:"bytes,8,opt,name=ex" json:"ex,omitempty"` - CreateTime uint32 `protobuf:"varint,9,opt,name=createTime" json:"createTime,omitempty"` - AppMangerLevel int32 `protobuf:"varint,10,opt,name=appMangerLevel" json:"appMangerLevel,omitempty"` - GlobalRecvMsgOpt int32 `protobuf:"varint,11,opt,name=globalRecvMsgOpt" json:"globalRecvMsgOpt,omitempty"` - BirthStr string `protobuf:"bytes,12,opt,name=birthStr" json:"birthStr,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *UserInfo) Reset() { *m = UserInfo{} } -func (m *UserInfo) String() string { return proto.CompactTextString(m) } -func (*UserInfo) ProtoMessage() {} -func (*UserInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{4} -} -func (m *UserInfo) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_UserInfo.Unmarshal(m, b) -} -func (m *UserInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_UserInfo.Marshal(b, m, deterministic) -} -func (dst *UserInfo) XXX_Merge(src proto.Message) { - xxx_messageInfo_UserInfo.Merge(dst, src) -} -func (m *UserInfo) XXX_Size() int { - return xxx_messageInfo_UserInfo.Size(m) -} -func (m *UserInfo) XXX_DiscardUnknown() { - xxx_messageInfo_UserInfo.DiscardUnknown(m) -} - -var xxx_messageInfo_UserInfo proto.InternalMessageInfo - -func (m *UserInfo) GetUserID() string { - if m != nil { - return m.UserID - } - return "" -} - -func (m *UserInfo) GetNickname() string { - if m != nil { - return m.Nickname - } - return "" -} - -func (m *UserInfo) GetFaceURL() string { - if m != nil { - return m.FaceURL - } - return "" -} - -func (m *UserInfo) GetGender() int32 { - if m != nil { - return m.Gender - } - return 0 -} - -func (m *UserInfo) GetPhoneNumber() string { - if m != nil { - return m.PhoneNumber - } - return "" -} - -func (m *UserInfo) GetBirth() uint32 { - if m != nil { - return m.Birth - } - return 0 -} - -func (m *UserInfo) GetEmail() string { - if m != nil { - return m.Email - } - return "" -} - -func (m *UserInfo) GetEx() string { - if m != nil { - return m.Ex - } - return "" -} - -func (m *UserInfo) GetCreateTime() uint32 { - if m != nil { - return m.CreateTime - } - return 0 -} - -func (m *UserInfo) GetAppMangerLevel() int32 { - if m != nil { - return m.AppMangerLevel - } - return 0 -} - -func (m *UserInfo) GetGlobalRecvMsgOpt() int32 { - if m != nil { - return m.GlobalRecvMsgOpt - } - return 0 -} - -func (m *UserInfo) GetBirthStr() string { - if m != nil { - return m.BirthStr - } - return "" -} - -type FriendInfo struct { - OwnerUserID string `protobuf:"bytes,1,opt,name=ownerUserID" json:"ownerUserID,omitempty"` - Remark string `protobuf:"bytes,2,opt,name=remark" json:"remark,omitempty"` - CreateTime uint32 `protobuf:"varint,3,opt,name=createTime" json:"createTime,omitempty"` - FriendUser *UserInfo `protobuf:"bytes,4,opt,name=friendUser" json:"friendUser,omitempty"` - AddSource int32 `protobuf:"varint,5,opt,name=addSource" json:"addSource,omitempty"` - OperatorUserID string `protobuf:"bytes,6,opt,name=operatorUserID" json:"operatorUserID,omitempty"` - Ex string `protobuf:"bytes,7,opt,name=ex" json:"ex,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *FriendInfo) Reset() { *m = FriendInfo{} } -func (m *FriendInfo) String() string { return proto.CompactTextString(m) } -func (*FriendInfo) ProtoMessage() {} -func (*FriendInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{5} -} -func (m *FriendInfo) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_FriendInfo.Unmarshal(m, b) -} -func (m *FriendInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_FriendInfo.Marshal(b, m, deterministic) -} -func (dst *FriendInfo) XXX_Merge(src proto.Message) { - xxx_messageInfo_FriendInfo.Merge(dst, src) -} -func (m *FriendInfo) XXX_Size() int { - return xxx_messageInfo_FriendInfo.Size(m) -} -func (m *FriendInfo) XXX_DiscardUnknown() { - xxx_messageInfo_FriendInfo.DiscardUnknown(m) -} - -var xxx_messageInfo_FriendInfo proto.InternalMessageInfo - -func (m *FriendInfo) GetOwnerUserID() string { - if m != nil { - return m.OwnerUserID - } - return "" -} - -func (m *FriendInfo) GetRemark() string { - if m != nil { - return m.Remark - } - return "" -} - -func (m *FriendInfo) GetCreateTime() uint32 { - if m != nil { - return m.CreateTime - } - return 0 -} - -func (m *FriendInfo) GetFriendUser() *UserInfo { - if m != nil { - return m.FriendUser - } - return nil -} - -func (m *FriendInfo) GetAddSource() int32 { - if m != nil { - return m.AddSource - } - return 0 -} - -func (m *FriendInfo) GetOperatorUserID() string { - if m != nil { - return m.OperatorUserID - } - return "" -} - -func (m *FriendInfo) GetEx() string { - if m != nil { - return m.Ex - } - return "" -} - -type BlackInfo struct { - OwnerUserID string `protobuf:"bytes,1,opt,name=ownerUserID" json:"ownerUserID,omitempty"` - CreateTime uint32 `protobuf:"varint,2,opt,name=createTime" json:"createTime,omitempty"` - BlackUserInfo *PublicUserInfo `protobuf:"bytes,3,opt,name=blackUserInfo" json:"blackUserInfo,omitempty"` - AddSource int32 `protobuf:"varint,4,opt,name=addSource" json:"addSource,omitempty"` - OperatorUserID string `protobuf:"bytes,5,opt,name=operatorUserID" json:"operatorUserID,omitempty"` - Ex string `protobuf:"bytes,6,opt,name=ex" json:"ex,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *BlackInfo) Reset() { *m = BlackInfo{} } -func (m *BlackInfo) String() string { return proto.CompactTextString(m) } -func (*BlackInfo) ProtoMessage() {} -func (*BlackInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{6} -} -func (m *BlackInfo) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_BlackInfo.Unmarshal(m, b) -} -func (m *BlackInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_BlackInfo.Marshal(b, m, deterministic) -} -func (dst *BlackInfo) XXX_Merge(src proto.Message) { - xxx_messageInfo_BlackInfo.Merge(dst, src) -} -func (m *BlackInfo) XXX_Size() int { - return xxx_messageInfo_BlackInfo.Size(m) -} -func (m *BlackInfo) XXX_DiscardUnknown() { - xxx_messageInfo_BlackInfo.DiscardUnknown(m) -} - -var xxx_messageInfo_BlackInfo proto.InternalMessageInfo - -func (m *BlackInfo) GetOwnerUserID() string { - if m != nil { - return m.OwnerUserID - } - return "" -} - -func (m *BlackInfo) GetCreateTime() uint32 { - if m != nil { - return m.CreateTime - } - return 0 -} - -func (m *BlackInfo) GetBlackUserInfo() *PublicUserInfo { - if m != nil { - return m.BlackUserInfo - } - return nil -} - -func (m *BlackInfo) GetAddSource() int32 { - if m != nil { - return m.AddSource - } - return 0 -} - -func (m *BlackInfo) GetOperatorUserID() string { - if m != nil { - return m.OperatorUserID - } - return "" -} - -func (m *BlackInfo) GetEx() string { - if m != nil { - return m.Ex - } - return "" -} - -type GroupRequest struct { - UserInfo *PublicUserInfo `protobuf:"bytes,1,opt,name=userInfo" json:"userInfo,omitempty"` - GroupInfo *GroupInfo `protobuf:"bytes,2,opt,name=groupInfo" json:"groupInfo,omitempty"` - HandleResult int32 `protobuf:"varint,3,opt,name=handleResult" json:"handleResult,omitempty"` - ReqMsg string `protobuf:"bytes,4,opt,name=reqMsg" json:"reqMsg,omitempty"` - HandleMsg string `protobuf:"bytes,5,opt,name=handleMsg" json:"handleMsg,omitempty"` - ReqTime uint32 `protobuf:"varint,6,opt,name=reqTime" json:"reqTime,omitempty"` - HandleUserID string `protobuf:"bytes,7,opt,name=handleUserID" json:"handleUserID,omitempty"` - HandleTime uint32 `protobuf:"varint,8,opt,name=handleTime" json:"handleTime,omitempty"` - Ex string `protobuf:"bytes,9,opt,name=ex" json:"ex,omitempty"` - JoinSource int32 `protobuf:"varint,10,opt,name=joinSource" json:"joinSource,omitempty"` - InviterUserID string `protobuf:"bytes,11,opt,name=inviterUserID" json:"inviterUserID,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GroupRequest) Reset() { *m = GroupRequest{} } -func (m *GroupRequest) String() string { return proto.CompactTextString(m) } -func (*GroupRequest) ProtoMessage() {} -func (*GroupRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{7} -} -func (m *GroupRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GroupRequest.Unmarshal(m, b) -} -func (m *GroupRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GroupRequest.Marshal(b, m, deterministic) -} -func (dst *GroupRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_GroupRequest.Merge(dst, src) -} -func (m *GroupRequest) XXX_Size() int { - return xxx_messageInfo_GroupRequest.Size(m) -} -func (m *GroupRequest) XXX_DiscardUnknown() { - xxx_messageInfo_GroupRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_GroupRequest proto.InternalMessageInfo - -func (m *GroupRequest) GetUserInfo() *PublicUserInfo { - if m != nil { - return m.UserInfo - } - return nil -} - -func (m *GroupRequest) GetGroupInfo() *GroupInfo { - if m != nil { - return m.GroupInfo - } - return nil -} - -func (m *GroupRequest) GetHandleResult() int32 { - if m != nil { - return m.HandleResult - } - return 0 -} - -func (m *GroupRequest) GetReqMsg() string { - if m != nil { - return m.ReqMsg - } - return "" -} - -func (m *GroupRequest) GetHandleMsg() string { - if m != nil { - return m.HandleMsg - } - return "" -} - -func (m *GroupRequest) GetReqTime() uint32 { - if m != nil { - return m.ReqTime - } - return 0 -} - -func (m *GroupRequest) GetHandleUserID() string { - if m != nil { - return m.HandleUserID - } - return "" -} - -func (m *GroupRequest) GetHandleTime() uint32 { - if m != nil { - return m.HandleTime - } - return 0 -} - -func (m *GroupRequest) GetEx() string { - if m != nil { - return m.Ex - } - return "" -} - -func (m *GroupRequest) GetJoinSource() int32 { - if m != nil { - return m.JoinSource - } - return 0 -} - -func (m *GroupRequest) GetInviterUserID() string { - if m != nil { - return m.InviterUserID - } - return "" -} - -type FriendRequest struct { - FromUserID string `protobuf:"bytes,1,opt,name=fromUserID" json:"fromUserID,omitempty"` - FromNickname string `protobuf:"bytes,2,opt,name=fromNickname" json:"fromNickname,omitempty"` - FromFaceURL string `protobuf:"bytes,3,opt,name=fromFaceURL" json:"fromFaceURL,omitempty"` - FromGender int32 `protobuf:"varint,4,opt,name=fromGender" json:"fromGender,omitempty"` - ToUserID string `protobuf:"bytes,5,opt,name=toUserID" json:"toUserID,omitempty"` - ToNickname string `protobuf:"bytes,6,opt,name=toNickname" json:"toNickname,omitempty"` - ToFaceURL string `protobuf:"bytes,7,opt,name=toFaceURL" json:"toFaceURL,omitempty"` - ToGender int32 `protobuf:"varint,8,opt,name=toGender" json:"toGender,omitempty"` - HandleResult int32 `protobuf:"varint,9,opt,name=handleResult" json:"handleResult,omitempty"` - ReqMsg string `protobuf:"bytes,10,opt,name=reqMsg" json:"reqMsg,omitempty"` - CreateTime uint32 `protobuf:"varint,11,opt,name=createTime" json:"createTime,omitempty"` - HandlerUserID string `protobuf:"bytes,12,opt,name=handlerUserID" json:"handlerUserID,omitempty"` - HandleMsg string `protobuf:"bytes,13,opt,name=handleMsg" json:"handleMsg,omitempty"` - HandleTime uint32 `protobuf:"varint,14,opt,name=handleTime" json:"handleTime,omitempty"` - Ex string `protobuf:"bytes,15,opt,name=ex" json:"ex,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *FriendRequest) Reset() { *m = FriendRequest{} } -func (m *FriendRequest) String() string { return proto.CompactTextString(m) } -func (*FriendRequest) ProtoMessage() {} -func (*FriendRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{8} -} -func (m *FriendRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_FriendRequest.Unmarshal(m, b) -} -func (m *FriendRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_FriendRequest.Marshal(b, m, deterministic) -} -func (dst *FriendRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_FriendRequest.Merge(dst, src) -} -func (m *FriendRequest) XXX_Size() int { - return xxx_messageInfo_FriendRequest.Size(m) -} -func (m *FriendRequest) XXX_DiscardUnknown() { - xxx_messageInfo_FriendRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_FriendRequest proto.InternalMessageInfo - -func (m *FriendRequest) GetFromUserID() string { - if m != nil { - return m.FromUserID - } - return "" -} - -func (m *FriendRequest) GetFromNickname() string { - if m != nil { - return m.FromNickname - } - return "" -} - -func (m *FriendRequest) GetFromFaceURL() string { - if m != nil { - return m.FromFaceURL - } - return "" -} - -func (m *FriendRequest) GetFromGender() int32 { - if m != nil { - return m.FromGender - } - return 0 -} - -func (m *FriendRequest) GetToUserID() string { - if m != nil { - return m.ToUserID - } - return "" -} - -func (m *FriendRequest) GetToNickname() string { - if m != nil { - return m.ToNickname - } - return "" -} - -func (m *FriendRequest) GetToFaceURL() string { - if m != nil { - return m.ToFaceURL - } - return "" -} - -func (m *FriendRequest) GetToGender() int32 { - if m != nil { - return m.ToGender - } - return 0 -} - -func (m *FriendRequest) GetHandleResult() int32 { - if m != nil { - return m.HandleResult - } - return 0 -} - -func (m *FriendRequest) GetReqMsg() string { - if m != nil { - return m.ReqMsg - } - return "" -} - -func (m *FriendRequest) GetCreateTime() uint32 { - if m != nil { - return m.CreateTime - } - return 0 -} - -func (m *FriendRequest) GetHandlerUserID() string { - if m != nil { - return m.HandlerUserID - } - return "" -} - -func (m *FriendRequest) GetHandleMsg() string { - if m != nil { - return m.HandleMsg - } - return "" -} - -func (m *FriendRequest) GetHandleTime() uint32 { - if m != nil { - return m.HandleTime - } - return 0 -} - -func (m *FriendRequest) GetEx() string { - if m != nil { - return m.Ex - } - return "" -} - -type Department struct { - DepartmentID string `protobuf:"bytes,1,opt,name=departmentID" json:"departmentID,omitempty"` - FaceURL string `protobuf:"bytes,2,opt,name=faceURL" json:"faceURL,omitempty"` - Name string `protobuf:"bytes,3,opt,name=name" json:"name,omitempty"` - ParentID string `protobuf:"bytes,4,opt,name=parentID" json:"parentID,omitempty"` - Order int32 `protobuf:"varint,5,opt,name=order" json:"order,omitempty"` - DepartmentType int32 `protobuf:"varint,6,opt,name=departmentType" json:"departmentType,omitempty"` - CreateTime uint32 `protobuf:"varint,7,opt,name=createTime" json:"createTime,omitempty"` - SubDepartmentNum uint32 `protobuf:"varint,8,opt,name=subDepartmentNum" json:"subDepartmentNum,omitempty"` - MemberNum uint32 `protobuf:"varint,9,opt,name=memberNum" json:"memberNum,omitempty"` - Ex string `protobuf:"bytes,10,opt,name=ex" json:"ex,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *Department) Reset() { *m = Department{} } -func (m *Department) String() string { return proto.CompactTextString(m) } -func (*Department) ProtoMessage() {} -func (*Department) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{9} -} -func (m *Department) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_Department.Unmarshal(m, b) -} -func (m *Department) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_Department.Marshal(b, m, deterministic) -} -func (dst *Department) XXX_Merge(src proto.Message) { - xxx_messageInfo_Department.Merge(dst, src) -} -func (m *Department) XXX_Size() int { - return xxx_messageInfo_Department.Size(m) -} -func (m *Department) XXX_DiscardUnknown() { - xxx_messageInfo_Department.DiscardUnknown(m) -} - -var xxx_messageInfo_Department proto.InternalMessageInfo - -func (m *Department) GetDepartmentID() string { - if m != nil { - return m.DepartmentID - } - return "" -} - -func (m *Department) GetFaceURL() string { - if m != nil { - return m.FaceURL - } - return "" -} - -func (m *Department) GetName() string { - if m != nil { - return m.Name - } - return "" -} - -func (m *Department) GetParentID() string { - if m != nil { - return m.ParentID - } - return "" -} - -func (m *Department) GetOrder() int32 { - if m != nil { - return m.Order - } - return 0 -} - -func (m *Department) GetDepartmentType() int32 { - if m != nil { - return m.DepartmentType - } - return 0 -} - -func (m *Department) GetCreateTime() uint32 { - if m != nil { - return m.CreateTime - } - return 0 -} - -func (m *Department) GetSubDepartmentNum() uint32 { - if m != nil { - return m.SubDepartmentNum - } - return 0 -} - -func (m *Department) GetMemberNum() uint32 { - if m != nil { - return m.MemberNum - } - return 0 -} - -func (m *Department) GetEx() string { - if m != nil { - return m.Ex - } - return "" -} - -type OrganizationUser struct { - UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` - Nickname string `protobuf:"bytes,2,opt,name=nickname" json:"nickname,omitempty"` - EnglishName string `protobuf:"bytes,3,opt,name=englishName" json:"englishName,omitempty"` - FaceURL string `protobuf:"bytes,4,opt,name=faceURL" json:"faceURL,omitempty"` - Gender int32 `protobuf:"varint,5,opt,name=gender" json:"gender,omitempty"` - Mobile string `protobuf:"bytes,6,opt,name=mobile" json:"mobile,omitempty"` - Telephone string `protobuf:"bytes,7,opt,name=telephone" json:"telephone,omitempty"` - Birth uint32 `protobuf:"varint,8,opt,name=birth" json:"birth,omitempty"` - Email string `protobuf:"bytes,9,opt,name=email" json:"email,omitempty"` - CreateTime uint32 `protobuf:"varint,10,opt,name=createTime" json:"createTime,omitempty"` - Ex string `protobuf:"bytes,11,opt,name=ex" json:"ex,omitempty"` - BirthStr string `protobuf:"bytes,12,opt,name=birthStr" json:"birthStr,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *OrganizationUser) Reset() { *m = OrganizationUser{} } -func (m *OrganizationUser) String() string { return proto.CompactTextString(m) } -func (*OrganizationUser) ProtoMessage() {} -func (*OrganizationUser) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{10} -} -func (m *OrganizationUser) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_OrganizationUser.Unmarshal(m, b) -} -func (m *OrganizationUser) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_OrganizationUser.Marshal(b, m, deterministic) -} -func (dst *OrganizationUser) XXX_Merge(src proto.Message) { - xxx_messageInfo_OrganizationUser.Merge(dst, src) -} -func (m *OrganizationUser) XXX_Size() int { - return xxx_messageInfo_OrganizationUser.Size(m) -} -func (m *OrganizationUser) XXX_DiscardUnknown() { - xxx_messageInfo_OrganizationUser.DiscardUnknown(m) -} - -var xxx_messageInfo_OrganizationUser proto.InternalMessageInfo - -func (m *OrganizationUser) GetUserID() string { - if m != nil { - return m.UserID - } - return "" -} - -func (m *OrganizationUser) GetNickname() string { - if m != nil { - return m.Nickname - } - return "" -} - -func (m *OrganizationUser) GetEnglishName() string { - if m != nil { - return m.EnglishName - } - return "" -} - -func (m *OrganizationUser) GetFaceURL() string { - if m != nil { - return m.FaceURL - } - return "" -} - -func (m *OrganizationUser) GetGender() int32 { - if m != nil { - return m.Gender - } - return 0 -} - -func (m *OrganizationUser) GetMobile() string { - if m != nil { - return m.Mobile - } - return "" -} - -func (m *OrganizationUser) GetTelephone() string { - if m != nil { - return m.Telephone - } - return "" -} - -func (m *OrganizationUser) GetBirth() uint32 { - if m != nil { - return m.Birth - } - return 0 -} - -func (m *OrganizationUser) GetEmail() string { - if m != nil { - return m.Email - } - return "" -} - -func (m *OrganizationUser) GetCreateTime() uint32 { - if m != nil { - return m.CreateTime - } - return 0 -} - -func (m *OrganizationUser) GetEx() string { - if m != nil { - return m.Ex - } - return "" -} - -func (m *OrganizationUser) GetBirthStr() string { - if m != nil { - return m.BirthStr - } - return "" -} - -type DepartmentMember struct { - UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` - DepartmentID string `protobuf:"bytes,2,opt,name=departmentID" json:"departmentID,omitempty"` - Order int32 `protobuf:"varint,3,opt,name=order" json:"order,omitempty"` - Position string `protobuf:"bytes,4,opt,name=position" json:"position,omitempty"` - Leader int32 `protobuf:"varint,5,opt,name=leader" json:"leader,omitempty"` - Status int32 `protobuf:"varint,6,opt,name=status" json:"status,omitempty"` - Ex string `protobuf:"bytes,7,opt,name=ex" json:"ex,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *DepartmentMember) Reset() { *m = DepartmentMember{} } -func (m *DepartmentMember) String() string { return proto.CompactTextString(m) } -func (*DepartmentMember) ProtoMessage() {} -func (*DepartmentMember) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{11} -} -func (m *DepartmentMember) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_DepartmentMember.Unmarshal(m, b) -} -func (m *DepartmentMember) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_DepartmentMember.Marshal(b, m, deterministic) -} -func (dst *DepartmentMember) XXX_Merge(src proto.Message) { - xxx_messageInfo_DepartmentMember.Merge(dst, src) -} -func (m *DepartmentMember) XXX_Size() int { - return xxx_messageInfo_DepartmentMember.Size(m) -} -func (m *DepartmentMember) XXX_DiscardUnknown() { - xxx_messageInfo_DepartmentMember.DiscardUnknown(m) -} - -var xxx_messageInfo_DepartmentMember proto.InternalMessageInfo - -func (m *DepartmentMember) GetUserID() string { - if m != nil { - return m.UserID - } - return "" -} - -func (m *DepartmentMember) GetDepartmentID() string { - if m != nil { - return m.DepartmentID - } - return "" -} - -func (m *DepartmentMember) GetOrder() int32 { - if m != nil { - return m.Order - } - return 0 -} - -func (m *DepartmentMember) GetPosition() string { - if m != nil { - return m.Position - } - return "" -} - -func (m *DepartmentMember) GetLeader() int32 { - if m != nil { - return m.Leader - } - return 0 -} - -func (m *DepartmentMember) GetStatus() int32 { - if m != nil { - return m.Status - } - return 0 -} - -func (m *DepartmentMember) GetEx() string { - if m != nil { - return m.Ex - } - return "" -} - -type UserDepartmentMember struct { - OrganizationUser *OrganizationUser `protobuf:"bytes,1,opt,name=organizationUser" json:"organizationUser,omitempty"` - DepartmentMember *DepartmentMember `protobuf:"bytes,2,opt,name=departmentMember" json:"departmentMember,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *UserDepartmentMember) Reset() { *m = UserDepartmentMember{} } -func (m *UserDepartmentMember) String() string { return proto.CompactTextString(m) } -func (*UserDepartmentMember) ProtoMessage() {} -func (*UserDepartmentMember) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{12} -} -func (m *UserDepartmentMember) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_UserDepartmentMember.Unmarshal(m, b) -} -func (m *UserDepartmentMember) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_UserDepartmentMember.Marshal(b, m, deterministic) -} -func (dst *UserDepartmentMember) XXX_Merge(src proto.Message) { - xxx_messageInfo_UserDepartmentMember.Merge(dst, src) -} -func (m *UserDepartmentMember) XXX_Size() int { - return xxx_messageInfo_UserDepartmentMember.Size(m) -} -func (m *UserDepartmentMember) XXX_DiscardUnknown() { - xxx_messageInfo_UserDepartmentMember.DiscardUnknown(m) -} - -var xxx_messageInfo_UserDepartmentMember proto.InternalMessageInfo - -func (m *UserDepartmentMember) GetOrganizationUser() *OrganizationUser { - if m != nil { - return m.OrganizationUser - } - return nil -} - -func (m *UserDepartmentMember) GetDepartmentMember() *DepartmentMember { - if m != nil { - return m.DepartmentMember - } - return nil -} - -type UserInDepartment struct { - OrganizationUser *OrganizationUser `protobuf:"bytes,1,opt,name=organizationUser" json:"organizationUser,omitempty"` - DepartmentMemberList []*DepartmentMember `protobuf:"bytes,2,rep,name=departmentMemberList" json:"departmentMemberList,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *UserInDepartment) Reset() { *m = UserInDepartment{} } -func (m *UserInDepartment) String() string { return proto.CompactTextString(m) } -func (*UserInDepartment) ProtoMessage() {} -func (*UserInDepartment) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{13} -} -func (m *UserInDepartment) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_UserInDepartment.Unmarshal(m, b) -} -func (m *UserInDepartment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_UserInDepartment.Marshal(b, m, deterministic) -} -func (dst *UserInDepartment) XXX_Merge(src proto.Message) { - xxx_messageInfo_UserInDepartment.Merge(dst, src) -} -func (m *UserInDepartment) XXX_Size() int { - return xxx_messageInfo_UserInDepartment.Size(m) -} -func (m *UserInDepartment) XXX_DiscardUnknown() { - xxx_messageInfo_UserInDepartment.DiscardUnknown(m) -} - -var xxx_messageInfo_UserInDepartment proto.InternalMessageInfo - -func (m *UserInDepartment) GetOrganizationUser() *OrganizationUser { - if m != nil { - return m.OrganizationUser - } - return nil -} - -func (m *UserInDepartment) GetDepartmentMemberList() []*DepartmentMember { - if m != nil { - return m.DepartmentMemberList - } - return nil -} - -// /////////////////////////////////base end///////////////////////////////////// -type PullMessageBySeqListReq struct { - UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,omitempty"` - SeqList []uint32 `protobuf:"varint,3,rep,packed,name=seqList" json:"seqList,omitempty"` - GroupSeqList map[string]*SeqList `protobuf:"bytes,4,rep,name=groupSeqList" json:"groupSeqList,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *PullMessageBySeqListReq) Reset() { *m = PullMessageBySeqListReq{} } -func (m *PullMessageBySeqListReq) String() string { return proto.CompactTextString(m) } -func (*PullMessageBySeqListReq) ProtoMessage() {} -func (*PullMessageBySeqListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{14} -} -func (m *PullMessageBySeqListReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_PullMessageBySeqListReq.Unmarshal(m, b) -} -func (m *PullMessageBySeqListReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_PullMessageBySeqListReq.Marshal(b, m, deterministic) -} -func (dst *PullMessageBySeqListReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_PullMessageBySeqListReq.Merge(dst, src) -} -func (m *PullMessageBySeqListReq) XXX_Size() int { - return xxx_messageInfo_PullMessageBySeqListReq.Size(m) -} -func (m *PullMessageBySeqListReq) XXX_DiscardUnknown() { - xxx_messageInfo_PullMessageBySeqListReq.DiscardUnknown(m) -} - -var xxx_messageInfo_PullMessageBySeqListReq proto.InternalMessageInfo - -func (m *PullMessageBySeqListReq) GetUserID() string { - if m != nil { - return m.UserID - } - return "" -} - -func (m *PullMessageBySeqListReq) GetOperationID() string { - if m != nil { - return m.OperationID - } - return "" -} - -func (m *PullMessageBySeqListReq) GetSeqList() []uint32 { - if m != nil { - return m.SeqList - } - return nil -} - -func (m *PullMessageBySeqListReq) GetGroupSeqList() map[string]*SeqList { - if m != nil { - return m.GroupSeqList - } - return nil -} - -type SeqList struct { - SeqList []uint32 `protobuf:"varint,1,rep,packed,name=seqList" json:"seqList,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *SeqList) Reset() { *m = SeqList{} } -func (m *SeqList) String() string { return proto.CompactTextString(m) } -func (*SeqList) ProtoMessage() {} -func (*SeqList) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{15} -} -func (m *SeqList) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SeqList.Unmarshal(m, b) -} -func (m *SeqList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SeqList.Marshal(b, m, deterministic) -} -func (dst *SeqList) XXX_Merge(src proto.Message) { - xxx_messageInfo_SeqList.Merge(dst, src) -} -func (m *SeqList) XXX_Size() int { - return xxx_messageInfo_SeqList.Size(m) -} -func (m *SeqList) XXX_DiscardUnknown() { - xxx_messageInfo_SeqList.DiscardUnknown(m) -} - -var xxx_messageInfo_SeqList proto.InternalMessageInfo - -func (m *SeqList) GetSeqList() []uint32 { - if m != nil { - return m.SeqList - } - return nil -} - -type MsgDataList struct { - MsgDataList []*MsgData `protobuf:"bytes,1,rep,name=msgDataList" json:"msgDataList,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *MsgDataList) Reset() { *m = MsgDataList{} } -func (m *MsgDataList) String() string { return proto.CompactTextString(m) } -func (*MsgDataList) ProtoMessage() {} -func (*MsgDataList) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{16} -} -func (m *MsgDataList) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_MsgDataList.Unmarshal(m, b) -} -func (m *MsgDataList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_MsgDataList.Marshal(b, m, deterministic) -} -func (dst *MsgDataList) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgDataList.Merge(dst, src) -} -func (m *MsgDataList) XXX_Size() int { - return xxx_messageInfo_MsgDataList.Size(m) -} -func (m *MsgDataList) XXX_DiscardUnknown() { - xxx_messageInfo_MsgDataList.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgDataList proto.InternalMessageInfo - -func (m *MsgDataList) GetMsgDataList() []*MsgData { - if m != nil { - return m.MsgDataList - } - return nil -} - -type PullMessageBySeqListResp struct { - ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` - ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` - List []*MsgData `protobuf:"bytes,3,rep,name=list" json:"list,omitempty"` - GroupMsgDataList map[string]*MsgDataList `protobuf:"bytes,4,rep,name=groupMsgDataList" json:"groupMsgDataList,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *PullMessageBySeqListResp) Reset() { *m = PullMessageBySeqListResp{} } -func (m *PullMessageBySeqListResp) String() string { return proto.CompactTextString(m) } -func (*PullMessageBySeqListResp) ProtoMessage() {} -func (*PullMessageBySeqListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{17} -} -func (m *PullMessageBySeqListResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_PullMessageBySeqListResp.Unmarshal(m, b) -} -func (m *PullMessageBySeqListResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_PullMessageBySeqListResp.Marshal(b, m, deterministic) -} -func (dst *PullMessageBySeqListResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_PullMessageBySeqListResp.Merge(dst, src) -} -func (m *PullMessageBySeqListResp) XXX_Size() int { - return xxx_messageInfo_PullMessageBySeqListResp.Size(m) -} -func (m *PullMessageBySeqListResp) XXX_DiscardUnknown() { - xxx_messageInfo_PullMessageBySeqListResp.DiscardUnknown(m) -} - -var xxx_messageInfo_PullMessageBySeqListResp proto.InternalMessageInfo - -func (m *PullMessageBySeqListResp) GetErrCode() int32 { - if m != nil { - return m.ErrCode - } - return 0 -} - -func (m *PullMessageBySeqListResp) GetErrMsg() string { - if m != nil { - return m.ErrMsg - } - return "" -} - -func (m *PullMessageBySeqListResp) GetList() []*MsgData { - if m != nil { - return m.List - } - return nil -} - -func (m *PullMessageBySeqListResp) GetGroupMsgDataList() map[string]*MsgDataList { - if m != nil { - return m.GroupMsgDataList - } - return nil -} - -type GetMaxAndMinSeqReq struct { - GroupIDList []string `protobuf:"bytes,1,rep,name=groupIDList" json:"groupIDList,omitempty"` - UserID string `protobuf:"bytes,2,opt,name=userID" json:"userID,omitempty"` - OperationID string `protobuf:"bytes,3,opt,name=operationID" json:"operationID,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GetMaxAndMinSeqReq) Reset() { *m = GetMaxAndMinSeqReq{} } -func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) } -func (*GetMaxAndMinSeqReq) ProtoMessage() {} -func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{18} -} -func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) -} -func (m *GetMaxAndMinSeqReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetMaxAndMinSeqReq.Marshal(b, m, deterministic) -} -func (dst *GetMaxAndMinSeqReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetMaxAndMinSeqReq.Merge(dst, src) -} -func (m *GetMaxAndMinSeqReq) XXX_Size() int { - return xxx_messageInfo_GetMaxAndMinSeqReq.Size(m) -} -func (m *GetMaxAndMinSeqReq) XXX_DiscardUnknown() { - xxx_messageInfo_GetMaxAndMinSeqReq.DiscardUnknown(m) -} - -var xxx_messageInfo_GetMaxAndMinSeqReq proto.InternalMessageInfo - -func (m *GetMaxAndMinSeqReq) GetGroupIDList() []string { - if m != nil { - return m.GroupIDList - } - return nil -} - -func (m *GetMaxAndMinSeqReq) GetUserID() string { - if m != nil { - return m.UserID - } - return "" -} - -func (m *GetMaxAndMinSeqReq) GetOperationID() string { - if m != nil { - return m.OperationID - } - return "" -} - -type MaxAndMinSeq struct { - MaxSeq uint32 `protobuf:"varint,1,opt,name=maxSeq" json:"maxSeq,omitempty"` - MinSeq uint32 `protobuf:"varint,2,opt,name=minSeq" json:"minSeq,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *MaxAndMinSeq) Reset() { *m = MaxAndMinSeq{} } -func (m *MaxAndMinSeq) String() string { return proto.CompactTextString(m) } -func (*MaxAndMinSeq) ProtoMessage() {} -func (*MaxAndMinSeq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{19} -} -func (m *MaxAndMinSeq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_MaxAndMinSeq.Unmarshal(m, b) -} -func (m *MaxAndMinSeq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_MaxAndMinSeq.Marshal(b, m, deterministic) -} -func (dst *MaxAndMinSeq) XXX_Merge(src proto.Message) { - xxx_messageInfo_MaxAndMinSeq.Merge(dst, src) -} -func (m *MaxAndMinSeq) XXX_Size() int { - return xxx_messageInfo_MaxAndMinSeq.Size(m) -} -func (m *MaxAndMinSeq) XXX_DiscardUnknown() { - xxx_messageInfo_MaxAndMinSeq.DiscardUnknown(m) -} - -var xxx_messageInfo_MaxAndMinSeq proto.InternalMessageInfo - -func (m *MaxAndMinSeq) GetMaxSeq() uint32 { - if m != nil { - return m.MaxSeq - } - return 0 -} - -func (m *MaxAndMinSeq) GetMinSeq() uint32 { - if m != nil { - return m.MinSeq - } - return 0 -} - -type GetMaxAndMinSeqResp struct { - MaxSeq uint32 `protobuf:"varint,1,opt,name=maxSeq" json:"maxSeq,omitempty"` - MinSeq uint32 `protobuf:"varint,2,opt,name=minSeq" json:"minSeq,omitempty"` - ErrCode int32 `protobuf:"varint,3,opt,name=errCode" json:"errCode,omitempty"` - ErrMsg string `protobuf:"bytes,4,opt,name=errMsg" json:"errMsg,omitempty"` - GroupMaxAndMinSeq map[string]*MaxAndMinSeq `protobuf:"bytes,5,rep,name=groupMaxAndMinSeq" json:"groupMaxAndMinSeq,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GetMaxAndMinSeqResp) Reset() { *m = GetMaxAndMinSeqResp{} } -func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) } -func (*GetMaxAndMinSeqResp) ProtoMessage() {} -func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{20} -} -func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) -} -func (m *GetMaxAndMinSeqResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetMaxAndMinSeqResp.Marshal(b, m, deterministic) -} -func (dst *GetMaxAndMinSeqResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetMaxAndMinSeqResp.Merge(dst, src) -} -func (m *GetMaxAndMinSeqResp) XXX_Size() int { - return xxx_messageInfo_GetMaxAndMinSeqResp.Size(m) -} -func (m *GetMaxAndMinSeqResp) XXX_DiscardUnknown() { - xxx_messageInfo_GetMaxAndMinSeqResp.DiscardUnknown(m) -} - -var xxx_messageInfo_GetMaxAndMinSeqResp proto.InternalMessageInfo - -func (m *GetMaxAndMinSeqResp) GetMaxSeq() uint32 { - if m != nil { - return m.MaxSeq - } - return 0 -} - -func (m *GetMaxAndMinSeqResp) GetMinSeq() uint32 { - if m != nil { - return m.MinSeq - } - return 0 -} - -func (m *GetMaxAndMinSeqResp) GetErrCode() int32 { - if m != nil { - return m.ErrCode - } - return 0 -} - -func (m *GetMaxAndMinSeqResp) GetErrMsg() string { - if m != nil { - return m.ErrMsg - } - return "" -} - -func (m *GetMaxAndMinSeqResp) GetGroupMaxAndMinSeq() map[string]*MaxAndMinSeq { - if m != nil { - return m.GroupMaxAndMinSeq - } - return nil -} - -type UserSendMsgResp struct { - ServerMsgID string `protobuf:"bytes,1,opt,name=serverMsgID" json:"serverMsgID,omitempty"` - ClientMsgID string `protobuf:"bytes,2,opt,name=clientMsgID" json:"clientMsgID,omitempty"` - SendTime int64 `protobuf:"varint,3,opt,name=sendTime" json:"sendTime,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *UserSendMsgResp) Reset() { *m = UserSendMsgResp{} } -func (m *UserSendMsgResp) String() string { return proto.CompactTextString(m) } -func (*UserSendMsgResp) ProtoMessage() {} -func (*UserSendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{21} -} -func (m *UserSendMsgResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_UserSendMsgResp.Unmarshal(m, b) -} -func (m *UserSendMsgResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_UserSendMsgResp.Marshal(b, m, deterministic) -} -func (dst *UserSendMsgResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_UserSendMsgResp.Merge(dst, src) -} -func (m *UserSendMsgResp) XXX_Size() int { - return xxx_messageInfo_UserSendMsgResp.Size(m) -} -func (m *UserSendMsgResp) XXX_DiscardUnknown() { - xxx_messageInfo_UserSendMsgResp.DiscardUnknown(m) -} - -var xxx_messageInfo_UserSendMsgResp proto.InternalMessageInfo - -func (m *UserSendMsgResp) GetServerMsgID() string { - if m != nil { - return m.ServerMsgID - } - return "" -} - -func (m *UserSendMsgResp) GetClientMsgID() string { - if m != nil { - return m.ClientMsgID - } - return "" -} - -func (m *UserSendMsgResp) GetSendTime() int64 { - if m != nil { - return m.SendTime - } - return 0 -} - -type MsgData struct { - SendID string `protobuf:"bytes,1,opt,name=sendID" json:"sendID,omitempty"` - RecvID string `protobuf:"bytes,2,opt,name=recvID" json:"recvID,omitempty"` - GroupID string `protobuf:"bytes,3,opt,name=groupID" json:"groupID,omitempty"` - ClientMsgID string `protobuf:"bytes,4,opt,name=clientMsgID" json:"clientMsgID,omitempty"` - ServerMsgID string `protobuf:"bytes,5,opt,name=serverMsgID" json:"serverMsgID,omitempty"` - SenderPlatformID int32 `protobuf:"varint,6,opt,name=senderPlatformID" json:"senderPlatformID,omitempty"` - SenderNickname string `protobuf:"bytes,7,opt,name=senderNickname" json:"senderNickname,omitempty"` - SenderFaceURL string `protobuf:"bytes,8,opt,name=senderFaceURL" json:"senderFaceURL,omitempty"` - SessionType int32 `protobuf:"varint,9,opt,name=sessionType" json:"sessionType,omitempty"` - MsgFrom int32 `protobuf:"varint,10,opt,name=msgFrom" json:"msgFrom,omitempty"` - ContentType int32 `protobuf:"varint,11,opt,name=contentType" json:"contentType,omitempty"` - Content []byte `protobuf:"bytes,12,opt,name=content,proto3" json:"content,omitempty"` - Seq uint32 `protobuf:"varint,14,opt,name=seq" json:"seq,omitempty"` - SendTime int64 `protobuf:"varint,15,opt,name=sendTime" json:"sendTime,omitempty"` - CreateTime int64 `protobuf:"varint,16,opt,name=createTime" json:"createTime,omitempty"` - Status int32 `protobuf:"varint,17,opt,name=status" json:"status,omitempty"` - Options map[string]bool `protobuf:"bytes,18,rep,name=options" json:"options,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` - OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,19,opt,name=offlinePushInfo" json:"offlinePushInfo,omitempty"` - AtUserIDList []string `protobuf:"bytes,20,rep,name=atUserIDList" json:"atUserIDList,omitempty"` - MsgDataList []byte `protobuf:"bytes,21,opt,name=msgDataList,proto3" json:"msgDataList,omitempty"` - AttachedInfo string `protobuf:"bytes,22,opt,name=attachedInfo" json:"attachedInfo,omitempty"` - Ex string `protobuf:"bytes,23,opt,name=ex" json:"ex,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *MsgData) Reset() { *m = MsgData{} } -func (m *MsgData) String() string { return proto.CompactTextString(m) } -func (*MsgData) ProtoMessage() {} -func (*MsgData) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{22} -} -func (m *MsgData) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_MsgData.Unmarshal(m, b) -} -func (m *MsgData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_MsgData.Marshal(b, m, deterministic) -} -func (dst *MsgData) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgData.Merge(dst, src) -} -func (m *MsgData) XXX_Size() int { - return xxx_messageInfo_MsgData.Size(m) -} -func (m *MsgData) XXX_DiscardUnknown() { - xxx_messageInfo_MsgData.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgData proto.InternalMessageInfo - -func (m *MsgData) GetSendID() string { - if m != nil { - return m.SendID - } - return "" -} - -func (m *MsgData) GetRecvID() string { - if m != nil { - return m.RecvID - } - return "" -} - -func (m *MsgData) GetGroupID() string { - if m != nil { - return m.GroupID - } - return "" -} - -func (m *MsgData) GetClientMsgID() string { - if m != nil { - return m.ClientMsgID - } - return "" -} - -func (m *MsgData) GetServerMsgID() string { - if m != nil { - return m.ServerMsgID - } - return "" -} - -func (m *MsgData) GetSenderPlatformID() int32 { - if m != nil { - return m.SenderPlatformID - } - return 0 -} - -func (m *MsgData) GetSenderNickname() string { - if m != nil { - return m.SenderNickname - } - return "" -} - -func (m *MsgData) GetSenderFaceURL() string { - if m != nil { - return m.SenderFaceURL - } - return "" -} - -func (m *MsgData) GetSessionType() int32 { - if m != nil { - return m.SessionType - } - return 0 -} - -func (m *MsgData) GetMsgFrom() int32 { - if m != nil { - return m.MsgFrom - } - return 0 -} - -func (m *MsgData) GetContentType() int32 { - if m != nil { - return m.ContentType - } - return 0 -} - -func (m *MsgData) GetContent() []byte { - if m != nil { - return m.Content - } - return nil -} - -func (m *MsgData) GetSeq() uint32 { - if m != nil { - return m.Seq - } - return 0 -} - -func (m *MsgData) GetSendTime() int64 { - if m != nil { - return m.SendTime - } - return 0 -} - -func (m *MsgData) GetCreateTime() int64 { - if m != nil { - return m.CreateTime - } - return 0 -} - -func (m *MsgData) GetStatus() int32 { - if m != nil { - return m.Status - } - return 0 -} - -func (m *MsgData) GetOptions() map[string]bool { - if m != nil { - return m.Options - } - return nil -} - -func (m *MsgData) GetOfflinePushInfo() *OfflinePushInfo { - if m != nil { - return m.OfflinePushInfo - } - return nil -} - -func (m *MsgData) GetAtUserIDList() []string { - if m != nil { - return m.AtUserIDList - } - return nil -} - -func (m *MsgData) GetMsgDataList() []byte { - if m != nil { - return m.MsgDataList - } - return nil -} - -func (m *MsgData) GetAttachedInfo() string { - if m != nil { - return m.AttachedInfo - } - return "" -} - -func (m *MsgData) GetEx() string { - if m != nil { - return m.Ex - } - return "" -} - -type OfflinePushInfo struct { - Title string `protobuf:"bytes,1,opt,name=title" json:"title,omitempty"` - Desc string `protobuf:"bytes,2,opt,name=desc" json:"desc,omitempty"` - Ex string `protobuf:"bytes,3,opt,name=ex" json:"ex,omitempty"` - IOSPushSound string `protobuf:"bytes,4,opt,name=iOSPushSound" json:"iOSPushSound,omitempty"` - IOSBadgeCount bool `protobuf:"varint,5,opt,name=iOSBadgeCount" json:"iOSBadgeCount,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *OfflinePushInfo) Reset() { *m = OfflinePushInfo{} } -func (m *OfflinePushInfo) String() string { return proto.CompactTextString(m) } -func (*OfflinePushInfo) ProtoMessage() {} -func (*OfflinePushInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{23} -} -func (m *OfflinePushInfo) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_OfflinePushInfo.Unmarshal(m, b) -} -func (m *OfflinePushInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_OfflinePushInfo.Marshal(b, m, deterministic) -} -func (dst *OfflinePushInfo) XXX_Merge(src proto.Message) { - xxx_messageInfo_OfflinePushInfo.Merge(dst, src) -} -func (m *OfflinePushInfo) XXX_Size() int { - return xxx_messageInfo_OfflinePushInfo.Size(m) -} -func (m *OfflinePushInfo) XXX_DiscardUnknown() { - xxx_messageInfo_OfflinePushInfo.DiscardUnknown(m) -} - -var xxx_messageInfo_OfflinePushInfo proto.InternalMessageInfo - -func (m *OfflinePushInfo) GetTitle() string { - if m != nil { - return m.Title - } - return "" -} - -func (m *OfflinePushInfo) GetDesc() string { - if m != nil { - return m.Desc - } - return "" -} - -func (m *OfflinePushInfo) GetEx() string { - if m != nil { - return m.Ex - } - return "" -} - -func (m *OfflinePushInfo) GetIOSPushSound() string { - if m != nil { - return m.IOSPushSound - } - return "" -} - -func (m *OfflinePushInfo) GetIOSBadgeCount() bool { - if m != nil { - return m.IOSBadgeCount - } - return false -} - -type TipsComm struct { - Detail []byte `protobuf:"bytes,1,opt,name=detail,proto3" json:"detail,omitempty"` - DefaultTips string `protobuf:"bytes,2,opt,name=defaultTips" json:"defaultTips,omitempty"` - JsonDetail string `protobuf:"bytes,3,opt,name=jsonDetail" json:"jsonDetail,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *TipsComm) Reset() { *m = TipsComm{} } -func (m *TipsComm) String() string { return proto.CompactTextString(m) } -func (*TipsComm) ProtoMessage() {} -func (*TipsComm) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{24} -} -func (m *TipsComm) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_TipsComm.Unmarshal(m, b) -} -func (m *TipsComm) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_TipsComm.Marshal(b, m, deterministic) -} -func (dst *TipsComm) XXX_Merge(src proto.Message) { - xxx_messageInfo_TipsComm.Merge(dst, src) -} -func (m *TipsComm) XXX_Size() int { - return xxx_messageInfo_TipsComm.Size(m) -} -func (m *TipsComm) XXX_DiscardUnknown() { - xxx_messageInfo_TipsComm.DiscardUnknown(m) -} - -var xxx_messageInfo_TipsComm proto.InternalMessageInfo - -func (m *TipsComm) GetDetail() []byte { - if m != nil { - return m.Detail - } - return nil -} - -func (m *TipsComm) GetDefaultTips() string { - if m != nil { - return m.DefaultTips - } - return "" -} - -func (m *TipsComm) GetJsonDetail() string { - if m != nil { - return m.JsonDetail - } - return "" -} - -// OnGroupCreated() -type GroupCreatedTips struct { - Group *GroupInfo `protobuf:"bytes,1,opt,name=group" json:"group,omitempty"` - OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser" json:"opUser,omitempty"` - MemberList []*GroupMemberFullInfo `protobuf:"bytes,3,rep,name=memberList" json:"memberList,omitempty"` - OperationTime int64 `protobuf:"varint,4,opt,name=operationTime" json:"operationTime,omitempty"` - GroupOwnerUser *GroupMemberFullInfo `protobuf:"bytes,5,opt,name=groupOwnerUser" json:"groupOwnerUser,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GroupCreatedTips) Reset() { *m = GroupCreatedTips{} } -func (m *GroupCreatedTips) String() string { return proto.CompactTextString(m) } -func (*GroupCreatedTips) ProtoMessage() {} -func (*GroupCreatedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{25} -} -func (m *GroupCreatedTips) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GroupCreatedTips.Unmarshal(m, b) -} -func (m *GroupCreatedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GroupCreatedTips.Marshal(b, m, deterministic) -} -func (dst *GroupCreatedTips) XXX_Merge(src proto.Message) { - xxx_messageInfo_GroupCreatedTips.Merge(dst, src) -} -func (m *GroupCreatedTips) XXX_Size() int { - return xxx_messageInfo_GroupCreatedTips.Size(m) -} -func (m *GroupCreatedTips) XXX_DiscardUnknown() { - xxx_messageInfo_GroupCreatedTips.DiscardUnknown(m) -} - -var xxx_messageInfo_GroupCreatedTips proto.InternalMessageInfo - -func (m *GroupCreatedTips) GetGroup() *GroupInfo { - if m != nil { - return m.Group - } - return nil -} - -func (m *GroupCreatedTips) GetOpUser() *GroupMemberFullInfo { - if m != nil { - return m.OpUser - } - return nil -} - -func (m *GroupCreatedTips) GetMemberList() []*GroupMemberFullInfo { - if m != nil { - return m.MemberList - } - return nil -} - -func (m *GroupCreatedTips) GetOperationTime() int64 { - if m != nil { - return m.OperationTime - } - return 0 -} - -func (m *GroupCreatedTips) GetGroupOwnerUser() *GroupMemberFullInfo { - if m != nil { - return m.GroupOwnerUser - } - return nil -} - -// OnGroupInfoSet() -type GroupInfoSetTips struct { - OpUser *GroupMemberFullInfo `protobuf:"bytes,1,opt,name=opUser" json:"opUser,omitempty"` - MuteTime int64 `protobuf:"varint,2,opt,name=muteTime" json:"muteTime,omitempty"` - Group *GroupInfo `protobuf:"bytes,3,opt,name=group" json:"group,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GroupInfoSetTips) Reset() { *m = GroupInfoSetTips{} } -func (m *GroupInfoSetTips) String() string { return proto.CompactTextString(m) } -func (*GroupInfoSetTips) ProtoMessage() {} -func (*GroupInfoSetTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{26} -} -func (m *GroupInfoSetTips) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GroupInfoSetTips.Unmarshal(m, b) -} -func (m *GroupInfoSetTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GroupInfoSetTips.Marshal(b, m, deterministic) -} -func (dst *GroupInfoSetTips) XXX_Merge(src proto.Message) { - xxx_messageInfo_GroupInfoSetTips.Merge(dst, src) -} -func (m *GroupInfoSetTips) XXX_Size() int { - return xxx_messageInfo_GroupInfoSetTips.Size(m) -} -func (m *GroupInfoSetTips) XXX_DiscardUnknown() { - xxx_messageInfo_GroupInfoSetTips.DiscardUnknown(m) -} - -var xxx_messageInfo_GroupInfoSetTips proto.InternalMessageInfo - -func (m *GroupInfoSetTips) GetOpUser() *GroupMemberFullInfo { - if m != nil { - return m.OpUser - } - return nil -} - -func (m *GroupInfoSetTips) GetMuteTime() int64 { - if m != nil { - return m.MuteTime - } - return 0 -} - -func (m *GroupInfoSetTips) GetGroup() *GroupInfo { - if m != nil { - return m.Group - } - return nil -} - -// OnJoinGroupApplication() -type JoinGroupApplicationTips struct { - Group *GroupInfo `protobuf:"bytes,1,opt,name=group" json:"group,omitempty"` - Applicant *PublicUserInfo `protobuf:"bytes,2,opt,name=applicant" json:"applicant,omitempty"` - ReqMsg string `protobuf:"bytes,3,opt,name=reqMsg" json:"reqMsg,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *JoinGroupApplicationTips) Reset() { *m = JoinGroupApplicationTips{} } -func (m *JoinGroupApplicationTips) String() string { return proto.CompactTextString(m) } -func (*JoinGroupApplicationTips) ProtoMessage() {} -func (*JoinGroupApplicationTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{27} -} -func (m *JoinGroupApplicationTips) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_JoinGroupApplicationTips.Unmarshal(m, b) -} -func (m *JoinGroupApplicationTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_JoinGroupApplicationTips.Marshal(b, m, deterministic) -} -func (dst *JoinGroupApplicationTips) XXX_Merge(src proto.Message) { - xxx_messageInfo_JoinGroupApplicationTips.Merge(dst, src) -} -func (m *JoinGroupApplicationTips) XXX_Size() int { - return xxx_messageInfo_JoinGroupApplicationTips.Size(m) -} -func (m *JoinGroupApplicationTips) XXX_DiscardUnknown() { - xxx_messageInfo_JoinGroupApplicationTips.DiscardUnknown(m) -} - -var xxx_messageInfo_JoinGroupApplicationTips proto.InternalMessageInfo - -func (m *JoinGroupApplicationTips) GetGroup() *GroupInfo { - if m != nil { - return m.Group - } - return nil -} - -func (m *JoinGroupApplicationTips) GetApplicant() *PublicUserInfo { - if m != nil { - return m.Applicant - } - return nil -} - -func (m *JoinGroupApplicationTips) GetReqMsg() string { - if m != nil { - return m.ReqMsg - } - return "" -} - -// OnQuitGroup() -// Actively leave the group -type MemberQuitTips struct { - Group *GroupInfo `protobuf:"bytes,1,opt,name=group" json:"group,omitempty"` - QuitUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=quitUser" json:"quitUser,omitempty"` - OperationTime int64 `protobuf:"varint,3,opt,name=operationTime" json:"operationTime,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *MemberQuitTips) Reset() { *m = MemberQuitTips{} } -func (m *MemberQuitTips) String() string { return proto.CompactTextString(m) } -func (*MemberQuitTips) ProtoMessage() {} -func (*MemberQuitTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{28} -} -func (m *MemberQuitTips) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_MemberQuitTips.Unmarshal(m, b) -} -func (m *MemberQuitTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_MemberQuitTips.Marshal(b, m, deterministic) -} -func (dst *MemberQuitTips) XXX_Merge(src proto.Message) { - xxx_messageInfo_MemberQuitTips.Merge(dst, src) -} -func (m *MemberQuitTips) XXX_Size() int { - return xxx_messageInfo_MemberQuitTips.Size(m) -} -func (m *MemberQuitTips) XXX_DiscardUnknown() { - xxx_messageInfo_MemberQuitTips.DiscardUnknown(m) -} - -var xxx_messageInfo_MemberQuitTips proto.InternalMessageInfo - -func (m *MemberQuitTips) GetGroup() *GroupInfo { - if m != nil { - return m.Group - } - return nil -} - -func (m *MemberQuitTips) GetQuitUser() *GroupMemberFullInfo { - if m != nil { - return m.QuitUser - } - return nil -} - -func (m *MemberQuitTips) GetOperationTime() int64 { - if m != nil { - return m.OperationTime - } - return 0 -} - -// OnApplicationGroupAccepted() -type GroupApplicationAcceptedTips struct { - Group *GroupInfo `protobuf:"bytes,1,opt,name=group" json:"group,omitempty"` - OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser" json:"opUser,omitempty"` - HandleMsg string `protobuf:"bytes,4,opt,name=handleMsg" json:"handleMsg,omitempty"` - ReceiverAs int32 `protobuf:"varint,5,opt,name=receiverAs" json:"receiverAs,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GroupApplicationAcceptedTips) Reset() { *m = GroupApplicationAcceptedTips{} } -func (m *GroupApplicationAcceptedTips) String() string { return proto.CompactTextString(m) } -func (*GroupApplicationAcceptedTips) ProtoMessage() {} -func (*GroupApplicationAcceptedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{29} -} -func (m *GroupApplicationAcceptedTips) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GroupApplicationAcceptedTips.Unmarshal(m, b) -} -func (m *GroupApplicationAcceptedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GroupApplicationAcceptedTips.Marshal(b, m, deterministic) -} -func (dst *GroupApplicationAcceptedTips) XXX_Merge(src proto.Message) { - xxx_messageInfo_GroupApplicationAcceptedTips.Merge(dst, src) -} -func (m *GroupApplicationAcceptedTips) XXX_Size() int { - return xxx_messageInfo_GroupApplicationAcceptedTips.Size(m) -} -func (m *GroupApplicationAcceptedTips) XXX_DiscardUnknown() { - xxx_messageInfo_GroupApplicationAcceptedTips.DiscardUnknown(m) -} - -var xxx_messageInfo_GroupApplicationAcceptedTips proto.InternalMessageInfo - -func (m *GroupApplicationAcceptedTips) GetGroup() *GroupInfo { - if m != nil { - return m.Group - } - return nil -} - -func (m *GroupApplicationAcceptedTips) GetOpUser() *GroupMemberFullInfo { - if m != nil { - return m.OpUser - } - return nil -} - -func (m *GroupApplicationAcceptedTips) GetHandleMsg() string { - if m != nil { - return m.HandleMsg - } - return "" -} - -func (m *GroupApplicationAcceptedTips) GetReceiverAs() int32 { - if m != nil { - return m.ReceiverAs - } - return 0 -} - -// OnApplicationGroupRejected() -type GroupApplicationRejectedTips struct { - Group *GroupInfo `protobuf:"bytes,1,opt,name=group" json:"group,omitempty"` - OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser" json:"opUser,omitempty"` - HandleMsg string `protobuf:"bytes,4,opt,name=handleMsg" json:"handleMsg,omitempty"` - ReceiverAs int32 `protobuf:"varint,5,opt,name=receiverAs" json:"receiverAs,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GroupApplicationRejectedTips) Reset() { *m = GroupApplicationRejectedTips{} } -func (m *GroupApplicationRejectedTips) String() string { return proto.CompactTextString(m) } -func (*GroupApplicationRejectedTips) ProtoMessage() {} -func (*GroupApplicationRejectedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{30} -} -func (m *GroupApplicationRejectedTips) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GroupApplicationRejectedTips.Unmarshal(m, b) -} -func (m *GroupApplicationRejectedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GroupApplicationRejectedTips.Marshal(b, m, deterministic) -} -func (dst *GroupApplicationRejectedTips) XXX_Merge(src proto.Message) { - xxx_messageInfo_GroupApplicationRejectedTips.Merge(dst, src) -} -func (m *GroupApplicationRejectedTips) XXX_Size() int { - return xxx_messageInfo_GroupApplicationRejectedTips.Size(m) -} -func (m *GroupApplicationRejectedTips) XXX_DiscardUnknown() { - xxx_messageInfo_GroupApplicationRejectedTips.DiscardUnknown(m) -} - -var xxx_messageInfo_GroupApplicationRejectedTips proto.InternalMessageInfo - -func (m *GroupApplicationRejectedTips) GetGroup() *GroupInfo { - if m != nil { - return m.Group - } - return nil -} - -func (m *GroupApplicationRejectedTips) GetOpUser() *GroupMemberFullInfo { - if m != nil { - return m.OpUser - } - return nil -} - -func (m *GroupApplicationRejectedTips) GetHandleMsg() string { - if m != nil { - return m.HandleMsg - } - return "" -} - -func (m *GroupApplicationRejectedTips) GetReceiverAs() int32 { - if m != nil { - return m.ReceiverAs - } - return 0 -} - -// OnTransferGroupOwner() -type GroupOwnerTransferredTips struct { - Group *GroupInfo `protobuf:"bytes,1,opt,name=group" json:"group,omitempty"` - OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser" json:"opUser,omitempty"` - NewGroupOwner *GroupMemberFullInfo `protobuf:"bytes,3,opt,name=newGroupOwner" json:"newGroupOwner,omitempty"` - OperationTime int64 `protobuf:"varint,4,opt,name=operationTime" json:"operationTime,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GroupOwnerTransferredTips) Reset() { *m = GroupOwnerTransferredTips{} } -func (m *GroupOwnerTransferredTips) String() string { return proto.CompactTextString(m) } -func (*GroupOwnerTransferredTips) ProtoMessage() {} -func (*GroupOwnerTransferredTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{31} -} -func (m *GroupOwnerTransferredTips) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GroupOwnerTransferredTips.Unmarshal(m, b) -} -func (m *GroupOwnerTransferredTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GroupOwnerTransferredTips.Marshal(b, m, deterministic) -} -func (dst *GroupOwnerTransferredTips) XXX_Merge(src proto.Message) { - xxx_messageInfo_GroupOwnerTransferredTips.Merge(dst, src) -} -func (m *GroupOwnerTransferredTips) XXX_Size() int { - return xxx_messageInfo_GroupOwnerTransferredTips.Size(m) -} -func (m *GroupOwnerTransferredTips) XXX_DiscardUnknown() { - xxx_messageInfo_GroupOwnerTransferredTips.DiscardUnknown(m) -} - -var xxx_messageInfo_GroupOwnerTransferredTips proto.InternalMessageInfo - -func (m *GroupOwnerTransferredTips) GetGroup() *GroupInfo { - if m != nil { - return m.Group - } - return nil -} - -func (m *GroupOwnerTransferredTips) GetOpUser() *GroupMemberFullInfo { - if m != nil { - return m.OpUser - } - return nil -} - -func (m *GroupOwnerTransferredTips) GetNewGroupOwner() *GroupMemberFullInfo { - if m != nil { - return m.NewGroupOwner - } - return nil -} - -func (m *GroupOwnerTransferredTips) GetOperationTime() int64 { - if m != nil { - return m.OperationTime - } - return 0 -} - -// OnMemberKicked() -type MemberKickedTips struct { - Group *GroupInfo `protobuf:"bytes,1,opt,name=group" json:"group,omitempty"` - OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser" json:"opUser,omitempty"` - KickedUserList []*GroupMemberFullInfo `protobuf:"bytes,3,rep,name=kickedUserList" json:"kickedUserList,omitempty"` - OperationTime int64 `protobuf:"varint,4,opt,name=operationTime" json:"operationTime,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *MemberKickedTips) Reset() { *m = MemberKickedTips{} } -func (m *MemberKickedTips) String() string { return proto.CompactTextString(m) } -func (*MemberKickedTips) ProtoMessage() {} -func (*MemberKickedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{32} -} -func (m *MemberKickedTips) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_MemberKickedTips.Unmarshal(m, b) -} -func (m *MemberKickedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_MemberKickedTips.Marshal(b, m, deterministic) -} -func (dst *MemberKickedTips) XXX_Merge(src proto.Message) { - xxx_messageInfo_MemberKickedTips.Merge(dst, src) -} -func (m *MemberKickedTips) XXX_Size() int { - return xxx_messageInfo_MemberKickedTips.Size(m) -} -func (m *MemberKickedTips) XXX_DiscardUnknown() { - xxx_messageInfo_MemberKickedTips.DiscardUnknown(m) -} - -var xxx_messageInfo_MemberKickedTips proto.InternalMessageInfo - -func (m *MemberKickedTips) GetGroup() *GroupInfo { - if m != nil { - return m.Group - } - return nil -} - -func (m *MemberKickedTips) GetOpUser() *GroupMemberFullInfo { - if m != nil { - return m.OpUser - } - return nil -} - -func (m *MemberKickedTips) GetKickedUserList() []*GroupMemberFullInfo { - if m != nil { - return m.KickedUserList - } - return nil -} - -func (m *MemberKickedTips) GetOperationTime() int64 { - if m != nil { - return m.OperationTime - } - return 0 -} - -// OnMemberInvited() -type MemberInvitedTips struct { - Group *GroupInfo `protobuf:"bytes,1,opt,name=group" json:"group,omitempty"` - OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser" json:"opUser,omitempty"` - InvitedUserList []*GroupMemberFullInfo `protobuf:"bytes,3,rep,name=invitedUserList" json:"invitedUserList,omitempty"` - OperationTime int64 `protobuf:"varint,4,opt,name=operationTime" json:"operationTime,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *MemberInvitedTips) Reset() { *m = MemberInvitedTips{} } -func (m *MemberInvitedTips) String() string { return proto.CompactTextString(m) } -func (*MemberInvitedTips) ProtoMessage() {} -func (*MemberInvitedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{33} -} -func (m *MemberInvitedTips) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_MemberInvitedTips.Unmarshal(m, b) -} -func (m *MemberInvitedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_MemberInvitedTips.Marshal(b, m, deterministic) -} -func (dst *MemberInvitedTips) XXX_Merge(src proto.Message) { - xxx_messageInfo_MemberInvitedTips.Merge(dst, src) -} -func (m *MemberInvitedTips) XXX_Size() int { - return xxx_messageInfo_MemberInvitedTips.Size(m) -} -func (m *MemberInvitedTips) XXX_DiscardUnknown() { - xxx_messageInfo_MemberInvitedTips.DiscardUnknown(m) -} - -var xxx_messageInfo_MemberInvitedTips proto.InternalMessageInfo - -func (m *MemberInvitedTips) GetGroup() *GroupInfo { - if m != nil { - return m.Group - } - return nil -} - -func (m *MemberInvitedTips) GetOpUser() *GroupMemberFullInfo { - if m != nil { - return m.OpUser - } - return nil -} - -func (m *MemberInvitedTips) GetInvitedUserList() []*GroupMemberFullInfo { - if m != nil { - return m.InvitedUserList - } - return nil -} - -func (m *MemberInvitedTips) GetOperationTime() int64 { - if m != nil { - return m.OperationTime - } - return 0 -} - -// Actively join the group -type MemberEnterTips struct { - Group *GroupInfo `protobuf:"bytes,1,opt,name=group" json:"group,omitempty"` - EntrantUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=entrantUser" json:"entrantUser,omitempty"` - OperationTime int64 `protobuf:"varint,3,opt,name=operationTime" json:"operationTime,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *MemberEnterTips) Reset() { *m = MemberEnterTips{} } -func (m *MemberEnterTips) String() string { return proto.CompactTextString(m) } -func (*MemberEnterTips) ProtoMessage() {} -func (*MemberEnterTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{34} -} -func (m *MemberEnterTips) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_MemberEnterTips.Unmarshal(m, b) -} -func (m *MemberEnterTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_MemberEnterTips.Marshal(b, m, deterministic) -} -func (dst *MemberEnterTips) XXX_Merge(src proto.Message) { - xxx_messageInfo_MemberEnterTips.Merge(dst, src) -} -func (m *MemberEnterTips) XXX_Size() int { - return xxx_messageInfo_MemberEnterTips.Size(m) -} -func (m *MemberEnterTips) XXX_DiscardUnknown() { - xxx_messageInfo_MemberEnterTips.DiscardUnknown(m) -} - -var xxx_messageInfo_MemberEnterTips proto.InternalMessageInfo - -func (m *MemberEnterTips) GetGroup() *GroupInfo { - if m != nil { - return m.Group - } - return nil -} - -func (m *MemberEnterTips) GetEntrantUser() *GroupMemberFullInfo { - if m != nil { - return m.EntrantUser - } - return nil -} - -func (m *MemberEnterTips) GetOperationTime() int64 { - if m != nil { - return m.OperationTime - } - return 0 -} - -type GroupDismissedTips struct { - Group *GroupInfo `protobuf:"bytes,1,opt,name=group" json:"group,omitempty"` - OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser" json:"opUser,omitempty"` - OperationTime int64 `protobuf:"varint,3,opt,name=operationTime" json:"operationTime,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GroupDismissedTips) Reset() { *m = GroupDismissedTips{} } -func (m *GroupDismissedTips) String() string { return proto.CompactTextString(m) } -func (*GroupDismissedTips) ProtoMessage() {} -func (*GroupDismissedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{35} -} -func (m *GroupDismissedTips) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GroupDismissedTips.Unmarshal(m, b) -} -func (m *GroupDismissedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GroupDismissedTips.Marshal(b, m, deterministic) -} -func (dst *GroupDismissedTips) XXX_Merge(src proto.Message) { - xxx_messageInfo_GroupDismissedTips.Merge(dst, src) -} -func (m *GroupDismissedTips) XXX_Size() int { - return xxx_messageInfo_GroupDismissedTips.Size(m) -} -func (m *GroupDismissedTips) XXX_DiscardUnknown() { - xxx_messageInfo_GroupDismissedTips.DiscardUnknown(m) -} - -var xxx_messageInfo_GroupDismissedTips proto.InternalMessageInfo - -func (m *GroupDismissedTips) GetGroup() *GroupInfo { - if m != nil { - return m.Group - } - return nil -} - -func (m *GroupDismissedTips) GetOpUser() *GroupMemberFullInfo { - if m != nil { - return m.OpUser - } - return nil -} - -func (m *GroupDismissedTips) GetOperationTime() int64 { - if m != nil { - return m.OperationTime - } - return 0 -} - -type GroupMemberMutedTips struct { - Group *GroupInfo `protobuf:"bytes,1,opt,name=group" json:"group,omitempty"` - OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser" json:"opUser,omitempty"` - OperationTime int64 `protobuf:"varint,3,opt,name=operationTime" json:"operationTime,omitempty"` - MutedUser *GroupMemberFullInfo `protobuf:"bytes,4,opt,name=mutedUser" json:"mutedUser,omitempty"` - MutedSeconds uint32 `protobuf:"varint,5,opt,name=mutedSeconds" json:"mutedSeconds,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GroupMemberMutedTips) Reset() { *m = GroupMemberMutedTips{} } -func (m *GroupMemberMutedTips) String() string { return proto.CompactTextString(m) } -func (*GroupMemberMutedTips) ProtoMessage() {} -func (*GroupMemberMutedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{36} -} -func (m *GroupMemberMutedTips) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GroupMemberMutedTips.Unmarshal(m, b) -} -func (m *GroupMemberMutedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GroupMemberMutedTips.Marshal(b, m, deterministic) -} -func (dst *GroupMemberMutedTips) XXX_Merge(src proto.Message) { - xxx_messageInfo_GroupMemberMutedTips.Merge(dst, src) -} -func (m *GroupMemberMutedTips) XXX_Size() int { - return xxx_messageInfo_GroupMemberMutedTips.Size(m) -} -func (m *GroupMemberMutedTips) XXX_DiscardUnknown() { - xxx_messageInfo_GroupMemberMutedTips.DiscardUnknown(m) -} - -var xxx_messageInfo_GroupMemberMutedTips proto.InternalMessageInfo - -func (m *GroupMemberMutedTips) GetGroup() *GroupInfo { - if m != nil { - return m.Group - } - return nil -} - -func (m *GroupMemberMutedTips) GetOpUser() *GroupMemberFullInfo { - if m != nil { - return m.OpUser - } - return nil -} - -func (m *GroupMemberMutedTips) GetOperationTime() int64 { - if m != nil { - return m.OperationTime - } - return 0 -} - -func (m *GroupMemberMutedTips) GetMutedUser() *GroupMemberFullInfo { - if m != nil { - return m.MutedUser - } - return nil -} - -func (m *GroupMemberMutedTips) GetMutedSeconds() uint32 { - if m != nil { - return m.MutedSeconds - } - return 0 -} - -type GroupMemberCancelMutedTips struct { - Group *GroupInfo `protobuf:"bytes,1,opt,name=group" json:"group,omitempty"` - OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser" json:"opUser,omitempty"` - OperationTime int64 `protobuf:"varint,3,opt,name=operationTime" json:"operationTime,omitempty"` - MutedUser *GroupMemberFullInfo `protobuf:"bytes,4,opt,name=mutedUser" json:"mutedUser,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GroupMemberCancelMutedTips) Reset() { *m = GroupMemberCancelMutedTips{} } -func (m *GroupMemberCancelMutedTips) String() string { return proto.CompactTextString(m) } -func (*GroupMemberCancelMutedTips) ProtoMessage() {} -func (*GroupMemberCancelMutedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{37} -} -func (m *GroupMemberCancelMutedTips) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GroupMemberCancelMutedTips.Unmarshal(m, b) -} -func (m *GroupMemberCancelMutedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GroupMemberCancelMutedTips.Marshal(b, m, deterministic) -} -func (dst *GroupMemberCancelMutedTips) XXX_Merge(src proto.Message) { - xxx_messageInfo_GroupMemberCancelMutedTips.Merge(dst, src) -} -func (m *GroupMemberCancelMutedTips) XXX_Size() int { - return xxx_messageInfo_GroupMemberCancelMutedTips.Size(m) -} -func (m *GroupMemberCancelMutedTips) XXX_DiscardUnknown() { - xxx_messageInfo_GroupMemberCancelMutedTips.DiscardUnknown(m) -} - -var xxx_messageInfo_GroupMemberCancelMutedTips proto.InternalMessageInfo - -func (m *GroupMemberCancelMutedTips) GetGroup() *GroupInfo { - if m != nil { - return m.Group - } - return nil -} - -func (m *GroupMemberCancelMutedTips) GetOpUser() *GroupMemberFullInfo { - if m != nil { - return m.OpUser - } - return nil -} - -func (m *GroupMemberCancelMutedTips) GetOperationTime() int64 { - if m != nil { - return m.OperationTime - } - return 0 -} - -func (m *GroupMemberCancelMutedTips) GetMutedUser() *GroupMemberFullInfo { - if m != nil { - return m.MutedUser - } - return nil -} - -type GroupMutedTips struct { - Group *GroupInfo `protobuf:"bytes,1,opt,name=group" json:"group,omitempty"` - OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser" json:"opUser,omitempty"` - OperationTime int64 `protobuf:"varint,3,opt,name=operationTime" json:"operationTime,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GroupMutedTips) Reset() { *m = GroupMutedTips{} } -func (m *GroupMutedTips) String() string { return proto.CompactTextString(m) } -func (*GroupMutedTips) ProtoMessage() {} -func (*GroupMutedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{38} -} -func (m *GroupMutedTips) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GroupMutedTips.Unmarshal(m, b) -} -func (m *GroupMutedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GroupMutedTips.Marshal(b, m, deterministic) -} -func (dst *GroupMutedTips) XXX_Merge(src proto.Message) { - xxx_messageInfo_GroupMutedTips.Merge(dst, src) -} -func (m *GroupMutedTips) XXX_Size() int { - return xxx_messageInfo_GroupMutedTips.Size(m) -} -func (m *GroupMutedTips) XXX_DiscardUnknown() { - xxx_messageInfo_GroupMutedTips.DiscardUnknown(m) -} - -var xxx_messageInfo_GroupMutedTips proto.InternalMessageInfo - -func (m *GroupMutedTips) GetGroup() *GroupInfo { - if m != nil { - return m.Group - } - return nil -} - -func (m *GroupMutedTips) GetOpUser() *GroupMemberFullInfo { - if m != nil { - return m.OpUser - } - return nil -} - -func (m *GroupMutedTips) GetOperationTime() int64 { - if m != nil { - return m.OperationTime - } - return 0 -} - -type GroupCancelMutedTips struct { - Group *GroupInfo `protobuf:"bytes,1,opt,name=group" json:"group,omitempty"` - OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser" json:"opUser,omitempty"` - OperationTime int64 `protobuf:"varint,3,opt,name=operationTime" json:"operationTime,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GroupCancelMutedTips) Reset() { *m = GroupCancelMutedTips{} } -func (m *GroupCancelMutedTips) String() string { return proto.CompactTextString(m) } -func (*GroupCancelMutedTips) ProtoMessage() {} -func (*GroupCancelMutedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{39} -} -func (m *GroupCancelMutedTips) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GroupCancelMutedTips.Unmarshal(m, b) -} -func (m *GroupCancelMutedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GroupCancelMutedTips.Marshal(b, m, deterministic) -} -func (dst *GroupCancelMutedTips) XXX_Merge(src proto.Message) { - xxx_messageInfo_GroupCancelMutedTips.Merge(dst, src) -} -func (m *GroupCancelMutedTips) XXX_Size() int { - return xxx_messageInfo_GroupCancelMutedTips.Size(m) -} -func (m *GroupCancelMutedTips) XXX_DiscardUnknown() { - xxx_messageInfo_GroupCancelMutedTips.DiscardUnknown(m) -} - -var xxx_messageInfo_GroupCancelMutedTips proto.InternalMessageInfo - -func (m *GroupCancelMutedTips) GetGroup() *GroupInfo { - if m != nil { - return m.Group - } - return nil -} - -func (m *GroupCancelMutedTips) GetOpUser() *GroupMemberFullInfo { - if m != nil { - return m.OpUser - } - return nil -} - -func (m *GroupCancelMutedTips) GetOperationTime() int64 { - if m != nil { - return m.OperationTime - } - return 0 -} - -type GroupMemberInfoSetTips struct { - Group *GroupInfo `protobuf:"bytes,1,opt,name=group" json:"group,omitempty"` - OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser" json:"opUser,omitempty"` - OperationTime int64 `protobuf:"varint,3,opt,name=operationTime" json:"operationTime,omitempty"` - ChangedUser *GroupMemberFullInfo `protobuf:"bytes,4,opt,name=changedUser" json:"changedUser,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GroupMemberInfoSetTips) Reset() { *m = GroupMemberInfoSetTips{} } -func (m *GroupMemberInfoSetTips) String() string { return proto.CompactTextString(m) } -func (*GroupMemberInfoSetTips) ProtoMessage() {} -func (*GroupMemberInfoSetTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{40} -} -func (m *GroupMemberInfoSetTips) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GroupMemberInfoSetTips.Unmarshal(m, b) -} -func (m *GroupMemberInfoSetTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GroupMemberInfoSetTips.Marshal(b, m, deterministic) -} -func (dst *GroupMemberInfoSetTips) XXX_Merge(src proto.Message) { - xxx_messageInfo_GroupMemberInfoSetTips.Merge(dst, src) -} -func (m *GroupMemberInfoSetTips) XXX_Size() int { - return xxx_messageInfo_GroupMemberInfoSetTips.Size(m) -} -func (m *GroupMemberInfoSetTips) XXX_DiscardUnknown() { - xxx_messageInfo_GroupMemberInfoSetTips.DiscardUnknown(m) -} - -var xxx_messageInfo_GroupMemberInfoSetTips proto.InternalMessageInfo - -func (m *GroupMemberInfoSetTips) GetGroup() *GroupInfo { - if m != nil { - return m.Group - } - return nil -} - -func (m *GroupMemberInfoSetTips) GetOpUser() *GroupMemberFullInfo { - if m != nil { - return m.OpUser - } - return nil -} - -func (m *GroupMemberInfoSetTips) GetOperationTime() int64 { - if m != nil { - return m.OperationTime - } - return 0 -} - -func (m *GroupMemberInfoSetTips) GetChangedUser() *GroupMemberFullInfo { - if m != nil { - return m.ChangedUser - } - return nil -} - -type OrganizationChangedTips struct { - OpUser *UserInfo `protobuf:"bytes,2,opt,name=opUser" json:"opUser,omitempty"` - OperationTime int64 `protobuf:"varint,3,opt,name=operationTime" json:"operationTime,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *OrganizationChangedTips) Reset() { *m = OrganizationChangedTips{} } -func (m *OrganizationChangedTips) String() string { return proto.CompactTextString(m) } -func (*OrganizationChangedTips) ProtoMessage() {} -func (*OrganizationChangedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{41} -} -func (m *OrganizationChangedTips) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_OrganizationChangedTips.Unmarshal(m, b) -} -func (m *OrganizationChangedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_OrganizationChangedTips.Marshal(b, m, deterministic) -} -func (dst *OrganizationChangedTips) XXX_Merge(src proto.Message) { - xxx_messageInfo_OrganizationChangedTips.Merge(dst, src) -} -func (m *OrganizationChangedTips) XXX_Size() int { - return xxx_messageInfo_OrganizationChangedTips.Size(m) -} -func (m *OrganizationChangedTips) XXX_DiscardUnknown() { - xxx_messageInfo_OrganizationChangedTips.DiscardUnknown(m) -} - -var xxx_messageInfo_OrganizationChangedTips proto.InternalMessageInfo - -func (m *OrganizationChangedTips) GetOpUser() *UserInfo { - if m != nil { - return m.OpUser - } - return nil -} - -func (m *OrganizationChangedTips) GetOperationTime() int64 { - if m != nil { - return m.OperationTime - } - return 0 -} - -type FriendApplication struct { - AddTime int64 `protobuf:"varint,1,opt,name=addTime" json:"addTime,omitempty"` - AddSource string `protobuf:"bytes,2,opt,name=addSource" json:"addSource,omitempty"` - AddWording string `protobuf:"bytes,3,opt,name=addWording" json:"addWording,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *FriendApplication) Reset() { *m = FriendApplication{} } -func (m *FriendApplication) String() string { return proto.CompactTextString(m) } -func (*FriendApplication) ProtoMessage() {} -func (*FriendApplication) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{42} -} -func (m *FriendApplication) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_FriendApplication.Unmarshal(m, b) -} -func (m *FriendApplication) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_FriendApplication.Marshal(b, m, deterministic) -} -func (dst *FriendApplication) XXX_Merge(src proto.Message) { - xxx_messageInfo_FriendApplication.Merge(dst, src) -} -func (m *FriendApplication) XXX_Size() int { - return xxx_messageInfo_FriendApplication.Size(m) -} -func (m *FriendApplication) XXX_DiscardUnknown() { - xxx_messageInfo_FriendApplication.DiscardUnknown(m) -} - -var xxx_messageInfo_FriendApplication proto.InternalMessageInfo - -func (m *FriendApplication) GetAddTime() int64 { - if m != nil { - return m.AddTime - } - return 0 -} - -func (m *FriendApplication) GetAddSource() string { - if m != nil { - return m.AddSource - } - return "" -} - -func (m *FriendApplication) GetAddWording() string { - if m != nil { - return m.AddWording - } - return "" -} - -type FromToUserID struct { - FromUserID string `protobuf:"bytes,1,opt,name=fromUserID" json:"fromUserID,omitempty"` - ToUserID string `protobuf:"bytes,2,opt,name=toUserID" json:"toUserID,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *FromToUserID) Reset() { *m = FromToUserID{} } -func (m *FromToUserID) String() string { return proto.CompactTextString(m) } -func (*FromToUserID) ProtoMessage() {} -func (*FromToUserID) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{43} -} -func (m *FromToUserID) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_FromToUserID.Unmarshal(m, b) -} -func (m *FromToUserID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_FromToUserID.Marshal(b, m, deterministic) -} -func (dst *FromToUserID) XXX_Merge(src proto.Message) { - xxx_messageInfo_FromToUserID.Merge(dst, src) -} -func (m *FromToUserID) XXX_Size() int { - return xxx_messageInfo_FromToUserID.Size(m) -} -func (m *FromToUserID) XXX_DiscardUnknown() { - xxx_messageInfo_FromToUserID.DiscardUnknown(m) -} - -var xxx_messageInfo_FromToUserID proto.InternalMessageInfo - -func (m *FromToUserID) GetFromUserID() string { - if m != nil { - return m.FromUserID - } - return "" -} - -func (m *FromToUserID) GetToUserID() string { - if m != nil { - return m.ToUserID - } - return "" -} - -// FromUserID apply to add ToUserID -type FriendApplicationTips struct { - FromToUserID *FromToUserID `protobuf:"bytes,1,opt,name=fromToUserID" json:"fromToUserID,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *FriendApplicationTips) Reset() { *m = FriendApplicationTips{} } -func (m *FriendApplicationTips) String() string { return proto.CompactTextString(m) } -func (*FriendApplicationTips) ProtoMessage() {} -func (*FriendApplicationTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{44} -} -func (m *FriendApplicationTips) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_FriendApplicationTips.Unmarshal(m, b) -} -func (m *FriendApplicationTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_FriendApplicationTips.Marshal(b, m, deterministic) -} -func (dst *FriendApplicationTips) XXX_Merge(src proto.Message) { - xxx_messageInfo_FriendApplicationTips.Merge(dst, src) -} -func (m *FriendApplicationTips) XXX_Size() int { - return xxx_messageInfo_FriendApplicationTips.Size(m) -} -func (m *FriendApplicationTips) XXX_DiscardUnknown() { - xxx_messageInfo_FriendApplicationTips.DiscardUnknown(m) -} - -var xxx_messageInfo_FriendApplicationTips proto.InternalMessageInfo - -func (m *FriendApplicationTips) GetFromToUserID() *FromToUserID { - if m != nil { - return m.FromToUserID - } - return nil -} - -// FromUserID accept or reject ToUserID -type FriendApplicationApprovedTips struct { - FromToUserID *FromToUserID `protobuf:"bytes,1,opt,name=fromToUserID" json:"fromToUserID,omitempty"` - HandleMsg string `protobuf:"bytes,2,opt,name=handleMsg" json:"handleMsg,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *FriendApplicationApprovedTips) Reset() { *m = FriendApplicationApprovedTips{} } -func (m *FriendApplicationApprovedTips) String() string { return proto.CompactTextString(m) } -func (*FriendApplicationApprovedTips) ProtoMessage() {} -func (*FriendApplicationApprovedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{45} -} -func (m *FriendApplicationApprovedTips) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_FriendApplicationApprovedTips.Unmarshal(m, b) -} -func (m *FriendApplicationApprovedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_FriendApplicationApprovedTips.Marshal(b, m, deterministic) -} -func (dst *FriendApplicationApprovedTips) XXX_Merge(src proto.Message) { - xxx_messageInfo_FriendApplicationApprovedTips.Merge(dst, src) -} -func (m *FriendApplicationApprovedTips) XXX_Size() int { - return xxx_messageInfo_FriendApplicationApprovedTips.Size(m) -} -func (m *FriendApplicationApprovedTips) XXX_DiscardUnknown() { - xxx_messageInfo_FriendApplicationApprovedTips.DiscardUnknown(m) -} - -var xxx_messageInfo_FriendApplicationApprovedTips proto.InternalMessageInfo - -func (m *FriendApplicationApprovedTips) GetFromToUserID() *FromToUserID { - if m != nil { - return m.FromToUserID - } - return nil -} - -func (m *FriendApplicationApprovedTips) GetHandleMsg() string { - if m != nil { - return m.HandleMsg - } - return "" -} - -// FromUserID accept or reject ToUserID -type FriendApplicationRejectedTips struct { - FromToUserID *FromToUserID `protobuf:"bytes,1,opt,name=fromToUserID" json:"fromToUserID,omitempty"` - HandleMsg string `protobuf:"bytes,2,opt,name=handleMsg" json:"handleMsg,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *FriendApplicationRejectedTips) Reset() { *m = FriendApplicationRejectedTips{} } -func (m *FriendApplicationRejectedTips) String() string { return proto.CompactTextString(m) } -func (*FriendApplicationRejectedTips) ProtoMessage() {} -func (*FriendApplicationRejectedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{46} -} -func (m *FriendApplicationRejectedTips) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_FriendApplicationRejectedTips.Unmarshal(m, b) -} -func (m *FriendApplicationRejectedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_FriendApplicationRejectedTips.Marshal(b, m, deterministic) -} -func (dst *FriendApplicationRejectedTips) XXX_Merge(src proto.Message) { - xxx_messageInfo_FriendApplicationRejectedTips.Merge(dst, src) -} -func (m *FriendApplicationRejectedTips) XXX_Size() int { - return xxx_messageInfo_FriendApplicationRejectedTips.Size(m) -} -func (m *FriendApplicationRejectedTips) XXX_DiscardUnknown() { - xxx_messageInfo_FriendApplicationRejectedTips.DiscardUnknown(m) -} - -var xxx_messageInfo_FriendApplicationRejectedTips proto.InternalMessageInfo - -func (m *FriendApplicationRejectedTips) GetFromToUserID() *FromToUserID { - if m != nil { - return m.FromToUserID - } - return nil -} - -func (m *FriendApplicationRejectedTips) GetHandleMsg() string { - if m != nil { - return m.HandleMsg - } - return "" -} - -// FromUserID Added a friend ToUserID -type FriendAddedTips struct { - Friend *FriendInfo `protobuf:"bytes,1,opt,name=friend" json:"friend,omitempty"` - OperationTime int64 `protobuf:"varint,2,opt,name=operationTime" json:"operationTime,omitempty"` - OpUser *PublicUserInfo `protobuf:"bytes,3,opt,name=opUser" json:"opUser,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *FriendAddedTips) Reset() { *m = FriendAddedTips{} } -func (m *FriendAddedTips) String() string { return proto.CompactTextString(m) } -func (*FriendAddedTips) ProtoMessage() {} -func (*FriendAddedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{47} -} -func (m *FriendAddedTips) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_FriendAddedTips.Unmarshal(m, b) -} -func (m *FriendAddedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_FriendAddedTips.Marshal(b, m, deterministic) -} -func (dst *FriendAddedTips) XXX_Merge(src proto.Message) { - xxx_messageInfo_FriendAddedTips.Merge(dst, src) -} -func (m *FriendAddedTips) XXX_Size() int { - return xxx_messageInfo_FriendAddedTips.Size(m) -} -func (m *FriendAddedTips) XXX_DiscardUnknown() { - xxx_messageInfo_FriendAddedTips.DiscardUnknown(m) -} - -var xxx_messageInfo_FriendAddedTips proto.InternalMessageInfo - -func (m *FriendAddedTips) GetFriend() *FriendInfo { - if m != nil { - return m.Friend - } - return nil -} - -func (m *FriendAddedTips) GetOperationTime() int64 { - if m != nil { - return m.OperationTime - } - return 0 -} - -func (m *FriendAddedTips) GetOpUser() *PublicUserInfo { - if m != nil { - return m.OpUser - } - return nil -} - -// FromUserID deleted a friend ToUserID -type FriendDeletedTips struct { - FromToUserID *FromToUserID `protobuf:"bytes,1,opt,name=fromToUserID" json:"fromToUserID,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *FriendDeletedTips) Reset() { *m = FriendDeletedTips{} } -func (m *FriendDeletedTips) String() string { return proto.CompactTextString(m) } -func (*FriendDeletedTips) ProtoMessage() {} -func (*FriendDeletedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{48} -} -func (m *FriendDeletedTips) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_FriendDeletedTips.Unmarshal(m, b) -} -func (m *FriendDeletedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_FriendDeletedTips.Marshal(b, m, deterministic) -} -func (dst *FriendDeletedTips) XXX_Merge(src proto.Message) { - xxx_messageInfo_FriendDeletedTips.Merge(dst, src) -} -func (m *FriendDeletedTips) XXX_Size() int { - return xxx_messageInfo_FriendDeletedTips.Size(m) -} -func (m *FriendDeletedTips) XXX_DiscardUnknown() { - xxx_messageInfo_FriendDeletedTips.DiscardUnknown(m) -} - -var xxx_messageInfo_FriendDeletedTips proto.InternalMessageInfo - -func (m *FriendDeletedTips) GetFromToUserID() *FromToUserID { - if m != nil { - return m.FromToUserID - } - return nil -} - -type BlackAddedTips struct { - FromToUserID *FromToUserID `protobuf:"bytes,1,opt,name=fromToUserID" json:"fromToUserID,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *BlackAddedTips) Reset() { *m = BlackAddedTips{} } -func (m *BlackAddedTips) String() string { return proto.CompactTextString(m) } -func (*BlackAddedTips) ProtoMessage() {} -func (*BlackAddedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{49} -} -func (m *BlackAddedTips) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_BlackAddedTips.Unmarshal(m, b) -} -func (m *BlackAddedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_BlackAddedTips.Marshal(b, m, deterministic) -} -func (dst *BlackAddedTips) XXX_Merge(src proto.Message) { - xxx_messageInfo_BlackAddedTips.Merge(dst, src) -} -func (m *BlackAddedTips) XXX_Size() int { - return xxx_messageInfo_BlackAddedTips.Size(m) -} -func (m *BlackAddedTips) XXX_DiscardUnknown() { - xxx_messageInfo_BlackAddedTips.DiscardUnknown(m) -} - -var xxx_messageInfo_BlackAddedTips proto.InternalMessageInfo - -func (m *BlackAddedTips) GetFromToUserID() *FromToUserID { - if m != nil { - return m.FromToUserID - } - return nil -} - -type BlackDeletedTips struct { - FromToUserID *FromToUserID `protobuf:"bytes,1,opt,name=fromToUserID" json:"fromToUserID,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *BlackDeletedTips) Reset() { *m = BlackDeletedTips{} } -func (m *BlackDeletedTips) String() string { return proto.CompactTextString(m) } -func (*BlackDeletedTips) ProtoMessage() {} -func (*BlackDeletedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{50} -} -func (m *BlackDeletedTips) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_BlackDeletedTips.Unmarshal(m, b) -} -func (m *BlackDeletedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_BlackDeletedTips.Marshal(b, m, deterministic) -} -func (dst *BlackDeletedTips) XXX_Merge(src proto.Message) { - xxx_messageInfo_BlackDeletedTips.Merge(dst, src) -} -func (m *BlackDeletedTips) XXX_Size() int { - return xxx_messageInfo_BlackDeletedTips.Size(m) -} -func (m *BlackDeletedTips) XXX_DiscardUnknown() { - xxx_messageInfo_BlackDeletedTips.DiscardUnknown(m) -} - -var xxx_messageInfo_BlackDeletedTips proto.InternalMessageInfo - -func (m *BlackDeletedTips) GetFromToUserID() *FromToUserID { - if m != nil { - return m.FromToUserID - } - return nil -} - -type FriendInfoChangedTips struct { - FromToUserID *FromToUserID `protobuf:"bytes,1,opt,name=fromToUserID" json:"fromToUserID,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *FriendInfoChangedTips) Reset() { *m = FriendInfoChangedTips{} } -func (m *FriendInfoChangedTips) String() string { return proto.CompactTextString(m) } -func (*FriendInfoChangedTips) ProtoMessage() {} -func (*FriendInfoChangedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{51} -} -func (m *FriendInfoChangedTips) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_FriendInfoChangedTips.Unmarshal(m, b) -} -func (m *FriendInfoChangedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_FriendInfoChangedTips.Marshal(b, m, deterministic) -} -func (dst *FriendInfoChangedTips) XXX_Merge(src proto.Message) { - xxx_messageInfo_FriendInfoChangedTips.Merge(dst, src) -} -func (m *FriendInfoChangedTips) XXX_Size() int { - return xxx_messageInfo_FriendInfoChangedTips.Size(m) -} -func (m *FriendInfoChangedTips) XXX_DiscardUnknown() { - xxx_messageInfo_FriendInfoChangedTips.DiscardUnknown(m) -} - -var xxx_messageInfo_FriendInfoChangedTips proto.InternalMessageInfo - -func (m *FriendInfoChangedTips) GetFromToUserID() *FromToUserID { - if m != nil { - return m.FromToUserID - } - return nil -} - -// ////////////////////user///////////////////// -type UserInfoUpdatedTips struct { - UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *UserInfoUpdatedTips) Reset() { *m = UserInfoUpdatedTips{} } -func (m *UserInfoUpdatedTips) String() string { return proto.CompactTextString(m) } -func (*UserInfoUpdatedTips) ProtoMessage() {} -func (*UserInfoUpdatedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{52} -} -func (m *UserInfoUpdatedTips) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_UserInfoUpdatedTips.Unmarshal(m, b) -} -func (m *UserInfoUpdatedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_UserInfoUpdatedTips.Marshal(b, m, deterministic) -} -func (dst *UserInfoUpdatedTips) XXX_Merge(src proto.Message) { - xxx_messageInfo_UserInfoUpdatedTips.Merge(dst, src) -} -func (m *UserInfoUpdatedTips) XXX_Size() int { - return xxx_messageInfo_UserInfoUpdatedTips.Size(m) -} -func (m *UserInfoUpdatedTips) XXX_DiscardUnknown() { - xxx_messageInfo_UserInfoUpdatedTips.DiscardUnknown(m) -} - -var xxx_messageInfo_UserInfoUpdatedTips proto.InternalMessageInfo - -func (m *UserInfoUpdatedTips) GetUserID() string { - if m != nil { - return m.UserID - } - return "" -} - -// ////////////////////conversation///////////////////// -type ConversationUpdateTips struct { - UserID string `protobuf:"bytes,1,opt,name=UserID" json:"UserID,omitempty"` - ConversationIDList []string `protobuf:"bytes,2,rep,name=conversationIDList" json:"conversationIDList,omitempty"` - UpdateUnreadCountTime int64 `protobuf:"varint,3,opt,name=updateUnreadCountTime" json:"updateUnreadCountTime,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *ConversationUpdateTips) Reset() { *m = ConversationUpdateTips{} } -func (m *ConversationUpdateTips) String() string { return proto.CompactTextString(m) } -func (*ConversationUpdateTips) ProtoMessage() {} -func (*ConversationUpdateTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{53} -} -func (m *ConversationUpdateTips) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ConversationUpdateTips.Unmarshal(m, b) -} -func (m *ConversationUpdateTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ConversationUpdateTips.Marshal(b, m, deterministic) -} -func (dst *ConversationUpdateTips) XXX_Merge(src proto.Message) { - xxx_messageInfo_ConversationUpdateTips.Merge(dst, src) -} -func (m *ConversationUpdateTips) XXX_Size() int { - return xxx_messageInfo_ConversationUpdateTips.Size(m) -} -func (m *ConversationUpdateTips) XXX_DiscardUnknown() { - xxx_messageInfo_ConversationUpdateTips.DiscardUnknown(m) -} - -var xxx_messageInfo_ConversationUpdateTips proto.InternalMessageInfo - -func (m *ConversationUpdateTips) GetUserID() string { - if m != nil { - return m.UserID - } - return "" -} - -func (m *ConversationUpdateTips) GetConversationIDList() []string { - if m != nil { - return m.ConversationIDList - } - return nil -} - -func (m *ConversationUpdateTips) GetUpdateUnreadCountTime() int64 { - if m != nil { - return m.UpdateUnreadCountTime - } - return 0 -} - -type ConversationSetPrivateTips struct { - RecvID string `protobuf:"bytes,1,opt,name=recvID" json:"recvID,omitempty"` - SendID string `protobuf:"bytes,2,opt,name=sendID" json:"sendID,omitempty"` - IsPrivate bool `protobuf:"varint,3,opt,name=isPrivate" json:"isPrivate,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *ConversationSetPrivateTips) Reset() { *m = ConversationSetPrivateTips{} } -func (m *ConversationSetPrivateTips) String() string { return proto.CompactTextString(m) } -func (*ConversationSetPrivateTips) ProtoMessage() {} -func (*ConversationSetPrivateTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{54} -} -func (m *ConversationSetPrivateTips) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ConversationSetPrivateTips.Unmarshal(m, b) -} -func (m *ConversationSetPrivateTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ConversationSetPrivateTips.Marshal(b, m, deterministic) -} -func (dst *ConversationSetPrivateTips) XXX_Merge(src proto.Message) { - xxx_messageInfo_ConversationSetPrivateTips.Merge(dst, src) -} -func (m *ConversationSetPrivateTips) XXX_Size() int { - return xxx_messageInfo_ConversationSetPrivateTips.Size(m) -} -func (m *ConversationSetPrivateTips) XXX_DiscardUnknown() { - xxx_messageInfo_ConversationSetPrivateTips.DiscardUnknown(m) -} - -var xxx_messageInfo_ConversationSetPrivateTips proto.InternalMessageInfo - -func (m *ConversationSetPrivateTips) GetRecvID() string { - if m != nil { - return m.RecvID - } - return "" -} - -func (m *ConversationSetPrivateTips) GetSendID() string { - if m != nil { - return m.SendID - } - return "" -} - -func (m *ConversationSetPrivateTips) GetIsPrivate() bool { - if m != nil { - return m.IsPrivate - } - return false -} - -// //////////////////message/////////////////////// -type DeleteMessageTips struct { - OpUserID string `protobuf:"bytes,1,opt,name=opUserID" json:"opUserID,omitempty"` - UserID string `protobuf:"bytes,2,opt,name=userID" json:"userID,omitempty"` - SeqList []uint32 `protobuf:"varint,3,rep,packed,name=seqList" json:"seqList,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *DeleteMessageTips) Reset() { *m = DeleteMessageTips{} } -func (m *DeleteMessageTips) String() string { return proto.CompactTextString(m) } -func (*DeleteMessageTips) ProtoMessage() {} -func (*DeleteMessageTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{55} -} -func (m *DeleteMessageTips) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_DeleteMessageTips.Unmarshal(m, b) -} -func (m *DeleteMessageTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_DeleteMessageTips.Marshal(b, m, deterministic) -} -func (dst *DeleteMessageTips) XXX_Merge(src proto.Message) { - xxx_messageInfo_DeleteMessageTips.Merge(dst, src) -} -func (m *DeleteMessageTips) XXX_Size() int { - return xxx_messageInfo_DeleteMessageTips.Size(m) -} -func (m *DeleteMessageTips) XXX_DiscardUnknown() { - xxx_messageInfo_DeleteMessageTips.DiscardUnknown(m) -} - -var xxx_messageInfo_DeleteMessageTips proto.InternalMessageInfo - -func (m *DeleteMessageTips) GetOpUserID() string { - if m != nil { - return m.OpUserID - } - return "" -} - -func (m *DeleteMessageTips) GetUserID() string { - if m != nil { - return m.UserID - } - return "" -} - -func (m *DeleteMessageTips) GetSeqList() []uint32 { - if m != nil { - return m.SeqList - } - return nil -} - -// /cms -type RequestPagination struct { - PageNumber int32 `protobuf:"varint,1,opt,name=pageNumber" json:"pageNumber,omitempty"` - ShowNumber int32 `protobuf:"varint,2,opt,name=showNumber" json:"showNumber,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *RequestPagination) Reset() { *m = RequestPagination{} } -func (m *RequestPagination) String() string { return proto.CompactTextString(m) } -func (*RequestPagination) ProtoMessage() {} -func (*RequestPagination) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{56} -} -func (m *RequestPagination) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_RequestPagination.Unmarshal(m, b) -} -func (m *RequestPagination) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_RequestPagination.Marshal(b, m, deterministic) -} -func (dst *RequestPagination) XXX_Merge(src proto.Message) { - xxx_messageInfo_RequestPagination.Merge(dst, src) -} -func (m *RequestPagination) XXX_Size() int { - return xxx_messageInfo_RequestPagination.Size(m) -} -func (m *RequestPagination) XXX_DiscardUnknown() { - xxx_messageInfo_RequestPagination.DiscardUnknown(m) -} - -var xxx_messageInfo_RequestPagination proto.InternalMessageInfo - -func (m *RequestPagination) GetPageNumber() int32 { - if m != nil { - return m.PageNumber - } - return 0 -} - -func (m *RequestPagination) GetShowNumber() int32 { - if m != nil { - return m.ShowNumber - } - return 0 -} - -type ResponsePagination struct { - CurrentPage int32 `protobuf:"varint,5,opt,name=CurrentPage" json:"CurrentPage,omitempty"` - ShowNumber int32 `protobuf:"varint,6,opt,name=ShowNumber" json:"ShowNumber,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *ResponsePagination) Reset() { *m = ResponsePagination{} } -func (m *ResponsePagination) String() string { return proto.CompactTextString(m) } -func (*ResponsePagination) ProtoMessage() {} -func (*ResponsePagination) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{57} -} -func (m *ResponsePagination) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ResponsePagination.Unmarshal(m, b) -} -func (m *ResponsePagination) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ResponsePagination.Marshal(b, m, deterministic) -} -func (dst *ResponsePagination) XXX_Merge(src proto.Message) { - xxx_messageInfo_ResponsePagination.Merge(dst, src) -} -func (m *ResponsePagination) XXX_Size() int { - return xxx_messageInfo_ResponsePagination.Size(m) -} -func (m *ResponsePagination) XXX_DiscardUnknown() { - xxx_messageInfo_ResponsePagination.DiscardUnknown(m) -} - -var xxx_messageInfo_ResponsePagination proto.InternalMessageInfo - -func (m *ResponsePagination) GetCurrentPage() int32 { - if m != nil { - return m.CurrentPage - } - return 0 -} - -func (m *ResponsePagination) GetShowNumber() int32 { - if m != nil { - return m.ShowNumber - } - return 0 -} - -// /////////////////signal////////////// -type SignalReq struct { - // Types that are valid to be assigned to Payload: - // *SignalReq_Invite - // *SignalReq_InviteInGroup - // *SignalReq_Cancel - // *SignalReq_Accept - // *SignalReq_HungUp - // *SignalReq_Reject - // *SignalReq_GetRoomByGroupID - // *SignalReq_OnRoomParticipantConnectedReq - // *SignalReq_OnRoomParticipantDisconnectedReq - // *SignalReq_GetTokenByRoomID - Payload isSignalReq_Payload `protobuf_oneof:"payload"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *SignalReq) Reset() { *m = SignalReq{} } -func (m *SignalReq) String() string { return proto.CompactTextString(m) } -func (*SignalReq) ProtoMessage() {} -func (*SignalReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{58} -} -func (m *SignalReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SignalReq.Unmarshal(m, b) -} -func (m *SignalReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SignalReq.Marshal(b, m, deterministic) -} -func (dst *SignalReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_SignalReq.Merge(dst, src) -} -func (m *SignalReq) XXX_Size() int { - return xxx_messageInfo_SignalReq.Size(m) -} -func (m *SignalReq) XXX_DiscardUnknown() { - xxx_messageInfo_SignalReq.DiscardUnknown(m) -} - -var xxx_messageInfo_SignalReq proto.InternalMessageInfo - -type isSignalReq_Payload interface { - isSignalReq_Payload() -} - -type SignalReq_Invite struct { - Invite *SignalInviteReq `protobuf:"bytes,1,opt,name=invite,oneof"` -} -type SignalReq_InviteInGroup struct { - InviteInGroup *SignalInviteInGroupReq `protobuf:"bytes,2,opt,name=inviteInGroup,oneof"` -} -type SignalReq_Cancel struct { - Cancel *SignalCancelReq `protobuf:"bytes,3,opt,name=cancel,oneof"` -} -type SignalReq_Accept struct { - Accept *SignalAcceptReq `protobuf:"bytes,4,opt,name=accept,oneof"` -} -type SignalReq_HungUp struct { - HungUp *SignalHungUpReq `protobuf:"bytes,5,opt,name=hungUp,oneof"` -} -type SignalReq_Reject struct { - Reject *SignalRejectReq `protobuf:"bytes,6,opt,name=reject,oneof"` -} -type SignalReq_GetRoomByGroupID struct { - GetRoomByGroupID *SignalGetRoomByGroupIDReq `protobuf:"bytes,7,opt,name=getRoomByGroupID,oneof"` -} -type SignalReq_OnRoomParticipantConnectedReq struct { - OnRoomParticipantConnectedReq *SignalOnRoomParticipantConnectedReq `protobuf:"bytes,8,opt,name=onRoomParticipantConnectedReq,oneof"` -} -type SignalReq_OnRoomParticipantDisconnectedReq struct { - OnRoomParticipantDisconnectedReq *SignalOnRoomParticipantDisconnectedReq `protobuf:"bytes,9,opt,name=onRoomParticipantDisconnectedReq,oneof"` -} -type SignalReq_GetTokenByRoomID struct { - GetTokenByRoomID *SignalGetTokenByRoomIDReq `protobuf:"bytes,10,opt,name=getTokenByRoomID,oneof"` -} - -func (*SignalReq_Invite) isSignalReq_Payload() {} -func (*SignalReq_InviteInGroup) isSignalReq_Payload() {} -func (*SignalReq_Cancel) isSignalReq_Payload() {} -func (*SignalReq_Accept) isSignalReq_Payload() {} -func (*SignalReq_HungUp) isSignalReq_Payload() {} -func (*SignalReq_Reject) isSignalReq_Payload() {} -func (*SignalReq_GetRoomByGroupID) isSignalReq_Payload() {} -func (*SignalReq_OnRoomParticipantConnectedReq) isSignalReq_Payload() {} -func (*SignalReq_OnRoomParticipantDisconnectedReq) isSignalReq_Payload() {} -func (*SignalReq_GetTokenByRoomID) isSignalReq_Payload() {} - -func (m *SignalReq) GetPayload() isSignalReq_Payload { - if m != nil { - return m.Payload - } - return nil -} - -func (m *SignalReq) GetInvite() *SignalInviteReq { - if x, ok := m.GetPayload().(*SignalReq_Invite); ok { - return x.Invite - } - return nil -} - -func (m *SignalReq) GetInviteInGroup() *SignalInviteInGroupReq { - if x, ok := m.GetPayload().(*SignalReq_InviteInGroup); ok { - return x.InviteInGroup - } - return nil -} - -func (m *SignalReq) GetCancel() *SignalCancelReq { - if x, ok := m.GetPayload().(*SignalReq_Cancel); ok { - return x.Cancel - } - return nil -} - -func (m *SignalReq) GetAccept() *SignalAcceptReq { - if x, ok := m.GetPayload().(*SignalReq_Accept); ok { - return x.Accept - } - return nil -} - -func (m *SignalReq) GetHungUp() *SignalHungUpReq { - if x, ok := m.GetPayload().(*SignalReq_HungUp); ok { - return x.HungUp - } - return nil -} - -func (m *SignalReq) GetReject() *SignalRejectReq { - if x, ok := m.GetPayload().(*SignalReq_Reject); ok { - return x.Reject - } - return nil -} - -func (m *SignalReq) GetGetRoomByGroupID() *SignalGetRoomByGroupIDReq { - if x, ok := m.GetPayload().(*SignalReq_GetRoomByGroupID); ok { - return x.GetRoomByGroupID - } - return nil -} - -func (m *SignalReq) GetOnRoomParticipantConnectedReq() *SignalOnRoomParticipantConnectedReq { - if x, ok := m.GetPayload().(*SignalReq_OnRoomParticipantConnectedReq); ok { - return x.OnRoomParticipantConnectedReq - } - return nil -} - -func (m *SignalReq) GetOnRoomParticipantDisconnectedReq() *SignalOnRoomParticipantDisconnectedReq { - if x, ok := m.GetPayload().(*SignalReq_OnRoomParticipantDisconnectedReq); ok { - return x.OnRoomParticipantDisconnectedReq - } - return nil -} - -func (m *SignalReq) GetGetTokenByRoomID() *SignalGetTokenByRoomIDReq { - if x, ok := m.GetPayload().(*SignalReq_GetTokenByRoomID); ok { - return x.GetTokenByRoomID - } - return nil -} - -// XXX_OneofFuncs is for the internal use of the proto package. -func (*SignalReq) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) { - return _SignalReq_OneofMarshaler, _SignalReq_OneofUnmarshaler, _SignalReq_OneofSizer, []interface{}{ - (*SignalReq_Invite)(nil), - (*SignalReq_InviteInGroup)(nil), - (*SignalReq_Cancel)(nil), - (*SignalReq_Accept)(nil), - (*SignalReq_HungUp)(nil), - (*SignalReq_Reject)(nil), - (*SignalReq_GetRoomByGroupID)(nil), - (*SignalReq_OnRoomParticipantConnectedReq)(nil), - (*SignalReq_OnRoomParticipantDisconnectedReq)(nil), - (*SignalReq_GetTokenByRoomID)(nil), - } -} - -func _SignalReq_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { - m := msg.(*SignalReq) - // payload - switch x := m.Payload.(type) { - case *SignalReq_Invite: - b.EncodeVarint(1<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.Invite); err != nil { - return err - } - case *SignalReq_InviteInGroup: - b.EncodeVarint(2<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.InviteInGroup); err != nil { - return err - } - case *SignalReq_Cancel: - b.EncodeVarint(3<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.Cancel); err != nil { - return err - } - case *SignalReq_Accept: - b.EncodeVarint(4<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.Accept); err != nil { - return err - } - case *SignalReq_HungUp: - b.EncodeVarint(5<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.HungUp); err != nil { - return err - } - case *SignalReq_Reject: - b.EncodeVarint(6<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.Reject); err != nil { - return err - } - case *SignalReq_GetRoomByGroupID: - b.EncodeVarint(7<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.GetRoomByGroupID); err != nil { - return err - } - case *SignalReq_OnRoomParticipantConnectedReq: - b.EncodeVarint(8<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.OnRoomParticipantConnectedReq); err != nil { - return err - } - case *SignalReq_OnRoomParticipantDisconnectedReq: - b.EncodeVarint(9<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.OnRoomParticipantDisconnectedReq); err != nil { - return err - } - case *SignalReq_GetTokenByRoomID: - b.EncodeVarint(10<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.GetTokenByRoomID); err != nil { - return err - } - case nil: - default: - return fmt.Errorf("SignalReq.Payload has unexpected type %T", x) - } - return nil -} - -func _SignalReq_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) { - m := msg.(*SignalReq) - switch tag { - case 1: // payload.invite - if wire != proto.WireBytes { - return true, proto.ErrInternalBadWireType - } - msg := new(SignalInviteReq) - err := b.DecodeMessage(msg) - m.Payload = &SignalReq_Invite{msg} - return true, err - case 2: // payload.inviteInGroup - if wire != proto.WireBytes { - return true, proto.ErrInternalBadWireType - } - msg := new(SignalInviteInGroupReq) - err := b.DecodeMessage(msg) - m.Payload = &SignalReq_InviteInGroup{msg} - return true, err - case 3: // payload.cancel - if wire != proto.WireBytes { - return true, proto.ErrInternalBadWireType - } - msg := new(SignalCancelReq) - err := b.DecodeMessage(msg) - m.Payload = &SignalReq_Cancel{msg} - return true, err - case 4: // payload.accept - if wire != proto.WireBytes { - return true, proto.ErrInternalBadWireType - } - msg := new(SignalAcceptReq) - err := b.DecodeMessage(msg) - m.Payload = &SignalReq_Accept{msg} - return true, err - case 5: // payload.hungUp - if wire != proto.WireBytes { - return true, proto.ErrInternalBadWireType - } - msg := new(SignalHungUpReq) - err := b.DecodeMessage(msg) - m.Payload = &SignalReq_HungUp{msg} - return true, err - case 6: // payload.reject - if wire != proto.WireBytes { - return true, proto.ErrInternalBadWireType - } - msg := new(SignalRejectReq) - err := b.DecodeMessage(msg) - m.Payload = &SignalReq_Reject{msg} - return true, err - case 7: // payload.getRoomByGroupID - if wire != proto.WireBytes { - return true, proto.ErrInternalBadWireType - } - msg := new(SignalGetRoomByGroupIDReq) - err := b.DecodeMessage(msg) - m.Payload = &SignalReq_GetRoomByGroupID{msg} - return true, err - case 8: // payload.onRoomParticipantConnectedReq - if wire != proto.WireBytes { - return true, proto.ErrInternalBadWireType - } - msg := new(SignalOnRoomParticipantConnectedReq) - err := b.DecodeMessage(msg) - m.Payload = &SignalReq_OnRoomParticipantConnectedReq{msg} - return true, err - case 9: // payload.onRoomParticipantDisconnectedReq - if wire != proto.WireBytes { - return true, proto.ErrInternalBadWireType - } - msg := new(SignalOnRoomParticipantDisconnectedReq) - err := b.DecodeMessage(msg) - m.Payload = &SignalReq_OnRoomParticipantDisconnectedReq{msg} - return true, err - case 10: // payload.getTokenByRoomID - if wire != proto.WireBytes { - return true, proto.ErrInternalBadWireType - } - msg := new(SignalGetTokenByRoomIDReq) - err := b.DecodeMessage(msg) - m.Payload = &SignalReq_GetTokenByRoomID{msg} - return true, err - default: - return false, nil - } -} - -func _SignalReq_OneofSizer(msg proto.Message) (n int) { - m := msg.(*SignalReq) - // payload - switch x := m.Payload.(type) { - case *SignalReq_Invite: - s := proto.Size(x.Invite) - n += 1 // tag and wire - n += proto.SizeVarint(uint64(s)) - n += s - case *SignalReq_InviteInGroup: - s := proto.Size(x.InviteInGroup) - n += 1 // tag and wire - n += proto.SizeVarint(uint64(s)) - n += s - case *SignalReq_Cancel: - s := proto.Size(x.Cancel) - n += 1 // tag and wire - n += proto.SizeVarint(uint64(s)) - n += s - case *SignalReq_Accept: - s := proto.Size(x.Accept) - n += 1 // tag and wire - n += proto.SizeVarint(uint64(s)) - n += s - case *SignalReq_HungUp: - s := proto.Size(x.HungUp) - n += 1 // tag and wire - n += proto.SizeVarint(uint64(s)) - n += s - case *SignalReq_Reject: - s := proto.Size(x.Reject) - n += 1 // tag and wire - n += proto.SizeVarint(uint64(s)) - n += s - case *SignalReq_GetRoomByGroupID: - s := proto.Size(x.GetRoomByGroupID) - n += 1 // tag and wire - n += proto.SizeVarint(uint64(s)) - n += s - case *SignalReq_OnRoomParticipantConnectedReq: - s := proto.Size(x.OnRoomParticipantConnectedReq) - n += 1 // tag and wire - n += proto.SizeVarint(uint64(s)) - n += s - case *SignalReq_OnRoomParticipantDisconnectedReq: - s := proto.Size(x.OnRoomParticipantDisconnectedReq) - n += 1 // tag and wire - n += proto.SizeVarint(uint64(s)) - n += s - case *SignalReq_GetTokenByRoomID: - s := proto.Size(x.GetTokenByRoomID) - n += 1 // tag and wire - n += proto.SizeVarint(uint64(s)) - n += s - case nil: - default: - panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) - } - return n -} - -type SignalResp struct { - // Types that are valid to be assigned to Payload: - // *SignalResp_Invite - // *SignalResp_InviteInGroup - // *SignalResp_Cancel - // *SignalResp_Accept - // *SignalResp_HungUp - // *SignalResp_Reject - // *SignalResp_GetRoomByGroupID - // *SignalResp_GetTokenByRoomID - Payload isSignalResp_Payload `protobuf_oneof:"payload"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *SignalResp) Reset() { *m = SignalResp{} } -func (m *SignalResp) String() string { return proto.CompactTextString(m) } -func (*SignalResp) ProtoMessage() {} -func (*SignalResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{59} -} -func (m *SignalResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SignalResp.Unmarshal(m, b) -} -func (m *SignalResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SignalResp.Marshal(b, m, deterministic) -} -func (dst *SignalResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_SignalResp.Merge(dst, src) -} -func (m *SignalResp) XXX_Size() int { - return xxx_messageInfo_SignalResp.Size(m) -} -func (m *SignalResp) XXX_DiscardUnknown() { - xxx_messageInfo_SignalResp.DiscardUnknown(m) -} - -var xxx_messageInfo_SignalResp proto.InternalMessageInfo - -type isSignalResp_Payload interface { - isSignalResp_Payload() -} - -type SignalResp_Invite struct { - Invite *SignalInviteReply `protobuf:"bytes,1,opt,name=invite,oneof"` -} -type SignalResp_InviteInGroup struct { - InviteInGroup *SignalInviteInGroupReply `protobuf:"bytes,2,opt,name=inviteInGroup,oneof"` -} -type SignalResp_Cancel struct { - Cancel *SignalCancelReply `protobuf:"bytes,3,opt,name=cancel,oneof"` -} -type SignalResp_Accept struct { - Accept *SignalAcceptReply `protobuf:"bytes,4,opt,name=accept,oneof"` -} -type SignalResp_HungUp struct { - HungUp *SignalHungUpReply `protobuf:"bytes,5,opt,name=hungUp,oneof"` -} -type SignalResp_Reject struct { - Reject *SignalRejectReply `protobuf:"bytes,6,opt,name=reject,oneof"` -} -type SignalResp_GetRoomByGroupID struct { - GetRoomByGroupID *SignalGetRoomByGroupIDReply `protobuf:"bytes,7,opt,name=getRoomByGroupID,oneof"` -} -type SignalResp_GetTokenByRoomID struct { - GetTokenByRoomID *SignalGetTokenByRoomIDReply `protobuf:"bytes,8,opt,name=getTokenByRoomID,oneof"` -} - -func (*SignalResp_Invite) isSignalResp_Payload() {} -func (*SignalResp_InviteInGroup) isSignalResp_Payload() {} -func (*SignalResp_Cancel) isSignalResp_Payload() {} -func (*SignalResp_Accept) isSignalResp_Payload() {} -func (*SignalResp_HungUp) isSignalResp_Payload() {} -func (*SignalResp_Reject) isSignalResp_Payload() {} -func (*SignalResp_GetRoomByGroupID) isSignalResp_Payload() {} -func (*SignalResp_GetTokenByRoomID) isSignalResp_Payload() {} - -func (m *SignalResp) GetPayload() isSignalResp_Payload { - if m != nil { - return m.Payload - } - return nil -} - -func (m *SignalResp) GetInvite() *SignalInviteReply { - if x, ok := m.GetPayload().(*SignalResp_Invite); ok { - return x.Invite - } - return nil -} - -func (m *SignalResp) GetInviteInGroup() *SignalInviteInGroupReply { - if x, ok := m.GetPayload().(*SignalResp_InviteInGroup); ok { - return x.InviteInGroup - } - return nil -} - -func (m *SignalResp) GetCancel() *SignalCancelReply { - if x, ok := m.GetPayload().(*SignalResp_Cancel); ok { - return x.Cancel - } - return nil -} - -func (m *SignalResp) GetAccept() *SignalAcceptReply { - if x, ok := m.GetPayload().(*SignalResp_Accept); ok { - return x.Accept - } - return nil -} - -func (m *SignalResp) GetHungUp() *SignalHungUpReply { - if x, ok := m.GetPayload().(*SignalResp_HungUp); ok { - return x.HungUp - } - return nil -} - -func (m *SignalResp) GetReject() *SignalRejectReply { - if x, ok := m.GetPayload().(*SignalResp_Reject); ok { - return x.Reject - } - return nil -} - -func (m *SignalResp) GetGetRoomByGroupID() *SignalGetRoomByGroupIDReply { - if x, ok := m.GetPayload().(*SignalResp_GetRoomByGroupID); ok { - return x.GetRoomByGroupID - } - return nil -} - -func (m *SignalResp) GetGetTokenByRoomID() *SignalGetTokenByRoomIDReply { - if x, ok := m.GetPayload().(*SignalResp_GetTokenByRoomID); ok { - return x.GetTokenByRoomID - } - return nil -} - -// XXX_OneofFuncs is for the internal use of the proto package. -func (*SignalResp) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) { - return _SignalResp_OneofMarshaler, _SignalResp_OneofUnmarshaler, _SignalResp_OneofSizer, []interface{}{ - (*SignalResp_Invite)(nil), - (*SignalResp_InviteInGroup)(nil), - (*SignalResp_Cancel)(nil), - (*SignalResp_Accept)(nil), - (*SignalResp_HungUp)(nil), - (*SignalResp_Reject)(nil), - (*SignalResp_GetRoomByGroupID)(nil), - (*SignalResp_GetTokenByRoomID)(nil), - } -} - -func _SignalResp_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { - m := msg.(*SignalResp) - // payload - switch x := m.Payload.(type) { - case *SignalResp_Invite: - b.EncodeVarint(1<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.Invite); err != nil { - return err - } - case *SignalResp_InviteInGroup: - b.EncodeVarint(2<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.InviteInGroup); err != nil { - return err - } - case *SignalResp_Cancel: - b.EncodeVarint(3<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.Cancel); err != nil { - return err - } - case *SignalResp_Accept: - b.EncodeVarint(4<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.Accept); err != nil { - return err - } - case *SignalResp_HungUp: - b.EncodeVarint(5<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.HungUp); err != nil { - return err - } - case *SignalResp_Reject: - b.EncodeVarint(6<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.Reject); err != nil { - return err - } - case *SignalResp_GetRoomByGroupID: - b.EncodeVarint(7<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.GetRoomByGroupID); err != nil { - return err - } - case *SignalResp_GetTokenByRoomID: - b.EncodeVarint(8<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.GetTokenByRoomID); err != nil { - return err - } - case nil: - default: - return fmt.Errorf("SignalResp.Payload has unexpected type %T", x) - } - return nil -} - -func _SignalResp_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) { - m := msg.(*SignalResp) - switch tag { - case 1: // payload.invite - if wire != proto.WireBytes { - return true, proto.ErrInternalBadWireType - } - msg := new(SignalInviteReply) - err := b.DecodeMessage(msg) - m.Payload = &SignalResp_Invite{msg} - return true, err - case 2: // payload.inviteInGroup - if wire != proto.WireBytes { - return true, proto.ErrInternalBadWireType - } - msg := new(SignalInviteInGroupReply) - err := b.DecodeMessage(msg) - m.Payload = &SignalResp_InviteInGroup{msg} - return true, err - case 3: // payload.cancel - if wire != proto.WireBytes { - return true, proto.ErrInternalBadWireType - } - msg := new(SignalCancelReply) - err := b.DecodeMessage(msg) - m.Payload = &SignalResp_Cancel{msg} - return true, err - case 4: // payload.accept - if wire != proto.WireBytes { - return true, proto.ErrInternalBadWireType - } - msg := new(SignalAcceptReply) - err := b.DecodeMessage(msg) - m.Payload = &SignalResp_Accept{msg} - return true, err - case 5: // payload.hungUp - if wire != proto.WireBytes { - return true, proto.ErrInternalBadWireType - } - msg := new(SignalHungUpReply) - err := b.DecodeMessage(msg) - m.Payload = &SignalResp_HungUp{msg} - return true, err - case 6: // payload.reject - if wire != proto.WireBytes { - return true, proto.ErrInternalBadWireType - } - msg := new(SignalRejectReply) - err := b.DecodeMessage(msg) - m.Payload = &SignalResp_Reject{msg} - return true, err - case 7: // payload.getRoomByGroupID - if wire != proto.WireBytes { - return true, proto.ErrInternalBadWireType - } - msg := new(SignalGetRoomByGroupIDReply) - err := b.DecodeMessage(msg) - m.Payload = &SignalResp_GetRoomByGroupID{msg} - return true, err - case 8: // payload.getTokenByRoomID - if wire != proto.WireBytes { - return true, proto.ErrInternalBadWireType - } - msg := new(SignalGetTokenByRoomIDReply) - err := b.DecodeMessage(msg) - m.Payload = &SignalResp_GetTokenByRoomID{msg} - return true, err - default: - return false, nil - } -} - -func _SignalResp_OneofSizer(msg proto.Message) (n int) { - m := msg.(*SignalResp) - // payload - switch x := m.Payload.(type) { - case *SignalResp_Invite: - s := proto.Size(x.Invite) - n += 1 // tag and wire - n += proto.SizeVarint(uint64(s)) - n += s - case *SignalResp_InviteInGroup: - s := proto.Size(x.InviteInGroup) - n += 1 // tag and wire - n += proto.SizeVarint(uint64(s)) - n += s - case *SignalResp_Cancel: - s := proto.Size(x.Cancel) - n += 1 // tag and wire - n += proto.SizeVarint(uint64(s)) - n += s - case *SignalResp_Accept: - s := proto.Size(x.Accept) - n += 1 // tag and wire - n += proto.SizeVarint(uint64(s)) - n += s - case *SignalResp_HungUp: - s := proto.Size(x.HungUp) - n += 1 // tag and wire - n += proto.SizeVarint(uint64(s)) - n += s - case *SignalResp_Reject: - s := proto.Size(x.Reject) - n += 1 // tag and wire - n += proto.SizeVarint(uint64(s)) - n += s - case *SignalResp_GetRoomByGroupID: - s := proto.Size(x.GetRoomByGroupID) - n += 1 // tag and wire - n += proto.SizeVarint(uint64(s)) - n += s - case *SignalResp_GetTokenByRoomID: - s := proto.Size(x.GetTokenByRoomID) - n += 1 // tag and wire - n += proto.SizeVarint(uint64(s)) - n += s - case nil: - default: - panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) - } - return n -} - -type InvitationInfo struct { - InviterUserID string `protobuf:"bytes,1,opt,name=inviterUserID" json:"inviterUserID,omitempty"` - InviteeUserIDList []string `protobuf:"bytes,2,rep,name=inviteeUserIDList" json:"inviteeUserIDList,omitempty"` - CustomData string `protobuf:"bytes,3,opt,name=customData" json:"customData,omitempty"` - GroupID string `protobuf:"bytes,4,opt,name=groupID" json:"groupID,omitempty"` - RoomID string `protobuf:"bytes,5,opt,name=roomID" json:"roomID,omitempty"` - Timeout int32 `protobuf:"varint,6,opt,name=timeout" json:"timeout,omitempty"` - MediaType string `protobuf:"bytes,7,opt,name=mediaType" json:"mediaType,omitempty"` - PlatformID int32 `protobuf:"varint,8,opt,name=platformID" json:"platformID,omitempty"` - SessionType int32 `protobuf:"varint,9,opt,name=sessionType" json:"sessionType,omitempty"` - InitiateTime int32 `protobuf:"varint,10,opt,name=initiateTime" json:"initiateTime,omitempty"` - BusyLineUserIDList []string `protobuf:"bytes,11,rep,name=busyLineUserIDList" json:"busyLineUserIDList,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *InvitationInfo) Reset() { *m = InvitationInfo{} } -func (m *InvitationInfo) String() string { return proto.CompactTextString(m) } -func (*InvitationInfo) ProtoMessage() {} -func (*InvitationInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{60} -} -func (m *InvitationInfo) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_InvitationInfo.Unmarshal(m, b) -} -func (m *InvitationInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_InvitationInfo.Marshal(b, m, deterministic) -} -func (dst *InvitationInfo) XXX_Merge(src proto.Message) { - xxx_messageInfo_InvitationInfo.Merge(dst, src) -} -func (m *InvitationInfo) XXX_Size() int { - return xxx_messageInfo_InvitationInfo.Size(m) -} -func (m *InvitationInfo) XXX_DiscardUnknown() { - xxx_messageInfo_InvitationInfo.DiscardUnknown(m) -} - -var xxx_messageInfo_InvitationInfo proto.InternalMessageInfo - -func (m *InvitationInfo) GetInviterUserID() string { - if m != nil { - return m.InviterUserID - } - return "" -} - -func (m *InvitationInfo) GetInviteeUserIDList() []string { - if m != nil { - return m.InviteeUserIDList - } - return nil -} - -func (m *InvitationInfo) GetCustomData() string { - if m != nil { - return m.CustomData - } - return "" -} - -func (m *InvitationInfo) GetGroupID() string { - if m != nil { - return m.GroupID - } - return "" -} - -func (m *InvitationInfo) GetRoomID() string { - if m != nil { - return m.RoomID - } - return "" -} - -func (m *InvitationInfo) GetTimeout() int32 { - if m != nil { - return m.Timeout - } - return 0 -} - -func (m *InvitationInfo) GetMediaType() string { - if m != nil { - return m.MediaType - } - return "" -} - -func (m *InvitationInfo) GetPlatformID() int32 { - if m != nil { - return m.PlatformID - } - return 0 -} - -func (m *InvitationInfo) GetSessionType() int32 { - if m != nil { - return m.SessionType - } - return 0 -} - -func (m *InvitationInfo) GetInitiateTime() int32 { - if m != nil { - return m.InitiateTime - } - return 0 -} - -func (m *InvitationInfo) GetBusyLineUserIDList() []string { - if m != nil { - return m.BusyLineUserIDList - } - return nil -} - -type ParticipantMetaData struct { - GroupInfo *GroupInfo `protobuf:"bytes,1,opt,name=groupInfo" json:"groupInfo,omitempty"` - GroupMemberInfo *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=groupMemberInfo" json:"groupMemberInfo,omitempty"` - UserInfo *PublicUserInfo `protobuf:"bytes,3,opt,name=userInfo" json:"userInfo,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *ParticipantMetaData) Reset() { *m = ParticipantMetaData{} } -func (m *ParticipantMetaData) String() string { return proto.CompactTextString(m) } -func (*ParticipantMetaData) ProtoMessage() {} -func (*ParticipantMetaData) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{61} -} -func (m *ParticipantMetaData) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ParticipantMetaData.Unmarshal(m, b) -} -func (m *ParticipantMetaData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ParticipantMetaData.Marshal(b, m, deterministic) -} -func (dst *ParticipantMetaData) XXX_Merge(src proto.Message) { - xxx_messageInfo_ParticipantMetaData.Merge(dst, src) -} -func (m *ParticipantMetaData) XXX_Size() int { - return xxx_messageInfo_ParticipantMetaData.Size(m) -} -func (m *ParticipantMetaData) XXX_DiscardUnknown() { - xxx_messageInfo_ParticipantMetaData.DiscardUnknown(m) -} - -var xxx_messageInfo_ParticipantMetaData proto.InternalMessageInfo - -func (m *ParticipantMetaData) GetGroupInfo() *GroupInfo { - if m != nil { - return m.GroupInfo - } - return nil -} - -func (m *ParticipantMetaData) GetGroupMemberInfo() *GroupMemberFullInfo { - if m != nil { - return m.GroupMemberInfo - } - return nil -} - -func (m *ParticipantMetaData) GetUserInfo() *PublicUserInfo { - if m != nil { - return m.UserInfo - } - return nil -} - -type SignalInviteReq struct { - OpUserID string `protobuf:"bytes,1,opt,name=opUserID" json:"opUserID,omitempty"` - Invitation *InvitationInfo `protobuf:"bytes,2,opt,name=invitation" json:"invitation,omitempty"` - OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,3,opt,name=offlinePushInfo" json:"offlinePushInfo,omitempty"` - Participant *ParticipantMetaData `protobuf:"bytes,4,opt,name=participant" json:"participant,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *SignalInviteReq) Reset() { *m = SignalInviteReq{} } -func (m *SignalInviteReq) String() string { return proto.CompactTextString(m) } -func (*SignalInviteReq) ProtoMessage() {} -func (*SignalInviteReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{62} -} -func (m *SignalInviteReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SignalInviteReq.Unmarshal(m, b) -} -func (m *SignalInviteReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SignalInviteReq.Marshal(b, m, deterministic) -} -func (dst *SignalInviteReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_SignalInviteReq.Merge(dst, src) -} -func (m *SignalInviteReq) XXX_Size() int { - return xxx_messageInfo_SignalInviteReq.Size(m) -} -func (m *SignalInviteReq) XXX_DiscardUnknown() { - xxx_messageInfo_SignalInviteReq.DiscardUnknown(m) -} - -var xxx_messageInfo_SignalInviteReq proto.InternalMessageInfo - -func (m *SignalInviteReq) GetOpUserID() string { - if m != nil { - return m.OpUserID - } - return "" -} - -func (m *SignalInviteReq) GetInvitation() *InvitationInfo { - if m != nil { - return m.Invitation - } - return nil -} - -func (m *SignalInviteReq) GetOfflinePushInfo() *OfflinePushInfo { - if m != nil { - return m.OfflinePushInfo - } - return nil -} - -func (m *SignalInviteReq) GetParticipant() *ParticipantMetaData { - if m != nil { - return m.Participant - } - return nil -} - -type SignalInviteReply struct { - Token string `protobuf:"bytes,1,opt,name=token" json:"token,omitempty"` - RoomID string `protobuf:"bytes,2,opt,name=roomID" json:"roomID,omitempty"` - LiveURL string `protobuf:"bytes,3,opt,name=liveURL" json:"liveURL,omitempty"` - BusyLineUserIDList []string `protobuf:"bytes,4,rep,name=busyLineUserIDList" json:"busyLineUserIDList,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *SignalInviteReply) Reset() { *m = SignalInviteReply{} } -func (m *SignalInviteReply) String() string { return proto.CompactTextString(m) } -func (*SignalInviteReply) ProtoMessage() {} -func (*SignalInviteReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{63} -} -func (m *SignalInviteReply) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SignalInviteReply.Unmarshal(m, b) -} -func (m *SignalInviteReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SignalInviteReply.Marshal(b, m, deterministic) -} -func (dst *SignalInviteReply) XXX_Merge(src proto.Message) { - xxx_messageInfo_SignalInviteReply.Merge(dst, src) -} -func (m *SignalInviteReply) XXX_Size() int { - return xxx_messageInfo_SignalInviteReply.Size(m) -} -func (m *SignalInviteReply) XXX_DiscardUnknown() { - xxx_messageInfo_SignalInviteReply.DiscardUnknown(m) -} - -var xxx_messageInfo_SignalInviteReply proto.InternalMessageInfo - -func (m *SignalInviteReply) GetToken() string { - if m != nil { - return m.Token - } - return "" -} - -func (m *SignalInviteReply) GetRoomID() string { - if m != nil { - return m.RoomID - } - return "" -} - -func (m *SignalInviteReply) GetLiveURL() string { - if m != nil { - return m.LiveURL - } - return "" -} - -func (m *SignalInviteReply) GetBusyLineUserIDList() []string { - if m != nil { - return m.BusyLineUserIDList - } - return nil -} - -type SignalInviteInGroupReq struct { - OpUserID string `protobuf:"bytes,1,opt,name=opUserID" json:"opUserID,omitempty"` - Invitation *InvitationInfo `protobuf:"bytes,2,opt,name=invitation" json:"invitation,omitempty"` - OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,3,opt,name=offlinePushInfo" json:"offlinePushInfo,omitempty"` - Participant *ParticipantMetaData `protobuf:"bytes,4,opt,name=participant" json:"participant,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *SignalInviteInGroupReq) Reset() { *m = SignalInviteInGroupReq{} } -func (m *SignalInviteInGroupReq) String() string { return proto.CompactTextString(m) } -func (*SignalInviteInGroupReq) ProtoMessage() {} -func (*SignalInviteInGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{64} -} -func (m *SignalInviteInGroupReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SignalInviteInGroupReq.Unmarshal(m, b) -} -func (m *SignalInviteInGroupReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SignalInviteInGroupReq.Marshal(b, m, deterministic) -} -func (dst *SignalInviteInGroupReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_SignalInviteInGroupReq.Merge(dst, src) -} -func (m *SignalInviteInGroupReq) XXX_Size() int { - return xxx_messageInfo_SignalInviteInGroupReq.Size(m) -} -func (m *SignalInviteInGroupReq) XXX_DiscardUnknown() { - xxx_messageInfo_SignalInviteInGroupReq.DiscardUnknown(m) -} - -var xxx_messageInfo_SignalInviteInGroupReq proto.InternalMessageInfo - -func (m *SignalInviteInGroupReq) GetOpUserID() string { - if m != nil { - return m.OpUserID - } - return "" -} - -func (m *SignalInviteInGroupReq) GetInvitation() *InvitationInfo { - if m != nil { - return m.Invitation - } - return nil -} - -func (m *SignalInviteInGroupReq) GetOfflinePushInfo() *OfflinePushInfo { - if m != nil { - return m.OfflinePushInfo - } - return nil -} - -func (m *SignalInviteInGroupReq) GetParticipant() *ParticipantMetaData { - if m != nil { - return m.Participant - } - return nil -} - -type SignalInviteInGroupReply struct { - Token string `protobuf:"bytes,1,opt,name=token" json:"token,omitempty"` - RoomID string `protobuf:"bytes,2,opt,name=roomID" json:"roomID,omitempty"` - LiveURL string `protobuf:"bytes,3,opt,name=liveURL" json:"liveURL,omitempty"` - BusyLineUserIDList []string `protobuf:"bytes,4,rep,name=busyLineUserIDList" json:"busyLineUserIDList,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *SignalInviteInGroupReply) Reset() { *m = SignalInviteInGroupReply{} } -func (m *SignalInviteInGroupReply) String() string { return proto.CompactTextString(m) } -func (*SignalInviteInGroupReply) ProtoMessage() {} -func (*SignalInviteInGroupReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{65} -} -func (m *SignalInviteInGroupReply) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SignalInviteInGroupReply.Unmarshal(m, b) -} -func (m *SignalInviteInGroupReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SignalInviteInGroupReply.Marshal(b, m, deterministic) -} -func (dst *SignalInviteInGroupReply) XXX_Merge(src proto.Message) { - xxx_messageInfo_SignalInviteInGroupReply.Merge(dst, src) -} -func (m *SignalInviteInGroupReply) XXX_Size() int { - return xxx_messageInfo_SignalInviteInGroupReply.Size(m) -} -func (m *SignalInviteInGroupReply) XXX_DiscardUnknown() { - xxx_messageInfo_SignalInviteInGroupReply.DiscardUnknown(m) -} - -var xxx_messageInfo_SignalInviteInGroupReply proto.InternalMessageInfo - -func (m *SignalInviteInGroupReply) GetToken() string { - if m != nil { - return m.Token - } - return "" -} - -func (m *SignalInviteInGroupReply) GetRoomID() string { - if m != nil { - return m.RoomID - } - return "" -} - -func (m *SignalInviteInGroupReply) GetLiveURL() string { - if m != nil { - return m.LiveURL - } - return "" -} - -func (m *SignalInviteInGroupReply) GetBusyLineUserIDList() []string { - if m != nil { - return m.BusyLineUserIDList - } - return nil -} - -type SignalCancelReq struct { - OpUserID string `protobuf:"bytes,1,opt,name=opUserID" json:"opUserID,omitempty"` - Invitation *InvitationInfo `protobuf:"bytes,2,opt,name=invitation" json:"invitation,omitempty"` - OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,3,opt,name=offlinePushInfo" json:"offlinePushInfo,omitempty"` - Participant *ParticipantMetaData `protobuf:"bytes,4,opt,name=participant" json:"participant,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *SignalCancelReq) Reset() { *m = SignalCancelReq{} } -func (m *SignalCancelReq) String() string { return proto.CompactTextString(m) } -func (*SignalCancelReq) ProtoMessage() {} -func (*SignalCancelReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{66} -} -func (m *SignalCancelReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SignalCancelReq.Unmarshal(m, b) -} -func (m *SignalCancelReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SignalCancelReq.Marshal(b, m, deterministic) -} -func (dst *SignalCancelReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_SignalCancelReq.Merge(dst, src) -} -func (m *SignalCancelReq) XXX_Size() int { - return xxx_messageInfo_SignalCancelReq.Size(m) -} -func (m *SignalCancelReq) XXX_DiscardUnknown() { - xxx_messageInfo_SignalCancelReq.DiscardUnknown(m) -} - -var xxx_messageInfo_SignalCancelReq proto.InternalMessageInfo - -func (m *SignalCancelReq) GetOpUserID() string { - if m != nil { - return m.OpUserID - } - return "" -} - -func (m *SignalCancelReq) GetInvitation() *InvitationInfo { - if m != nil { - return m.Invitation - } - return nil -} - -func (m *SignalCancelReq) GetOfflinePushInfo() *OfflinePushInfo { - if m != nil { - return m.OfflinePushInfo - } - return nil -} - -func (m *SignalCancelReq) GetParticipant() *ParticipantMetaData { - if m != nil { - return m.Participant - } - return nil -} - -type SignalCancelReply struct { - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *SignalCancelReply) Reset() { *m = SignalCancelReply{} } -func (m *SignalCancelReply) String() string { return proto.CompactTextString(m) } -func (*SignalCancelReply) ProtoMessage() {} -func (*SignalCancelReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{67} -} -func (m *SignalCancelReply) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SignalCancelReply.Unmarshal(m, b) -} -func (m *SignalCancelReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SignalCancelReply.Marshal(b, m, deterministic) -} -func (dst *SignalCancelReply) XXX_Merge(src proto.Message) { - xxx_messageInfo_SignalCancelReply.Merge(dst, src) -} -func (m *SignalCancelReply) XXX_Size() int { - return xxx_messageInfo_SignalCancelReply.Size(m) -} -func (m *SignalCancelReply) XXX_DiscardUnknown() { - xxx_messageInfo_SignalCancelReply.DiscardUnknown(m) -} - -var xxx_messageInfo_SignalCancelReply proto.InternalMessageInfo - -type SignalAcceptReq struct { - OpUserID string `protobuf:"bytes,1,opt,name=opUserID" json:"opUserID,omitempty"` - Invitation *InvitationInfo `protobuf:"bytes,2,opt,name=invitation" json:"invitation,omitempty"` - OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,3,opt,name=offlinePushInfo" json:"offlinePushInfo,omitempty"` - Participant *ParticipantMetaData `protobuf:"bytes,4,opt,name=participant" json:"participant,omitempty"` - OpUserPlatformID int32 `protobuf:"varint,5,opt,name=opUserPlatformID" json:"opUserPlatformID,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *SignalAcceptReq) Reset() { *m = SignalAcceptReq{} } -func (m *SignalAcceptReq) String() string { return proto.CompactTextString(m) } -func (*SignalAcceptReq) ProtoMessage() {} -func (*SignalAcceptReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{68} -} -func (m *SignalAcceptReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SignalAcceptReq.Unmarshal(m, b) -} -func (m *SignalAcceptReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SignalAcceptReq.Marshal(b, m, deterministic) -} -func (dst *SignalAcceptReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_SignalAcceptReq.Merge(dst, src) -} -func (m *SignalAcceptReq) XXX_Size() int { - return xxx_messageInfo_SignalAcceptReq.Size(m) -} -func (m *SignalAcceptReq) XXX_DiscardUnknown() { - xxx_messageInfo_SignalAcceptReq.DiscardUnknown(m) -} - -var xxx_messageInfo_SignalAcceptReq proto.InternalMessageInfo - -func (m *SignalAcceptReq) GetOpUserID() string { - if m != nil { - return m.OpUserID - } - return "" -} - -func (m *SignalAcceptReq) GetInvitation() *InvitationInfo { - if m != nil { - return m.Invitation - } - return nil -} - -func (m *SignalAcceptReq) GetOfflinePushInfo() *OfflinePushInfo { - if m != nil { - return m.OfflinePushInfo - } - return nil -} - -func (m *SignalAcceptReq) GetParticipant() *ParticipantMetaData { - if m != nil { - return m.Participant - } - return nil -} - -func (m *SignalAcceptReq) GetOpUserPlatformID() int32 { - if m != nil { - return m.OpUserPlatformID - } - return 0 -} - -type SignalAcceptReply struct { - Token string `protobuf:"bytes,1,opt,name=token" json:"token,omitempty"` - RoomID string `protobuf:"bytes,2,opt,name=roomID" json:"roomID,omitempty"` - LiveURL string `protobuf:"bytes,3,opt,name=liveURL" json:"liveURL,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *SignalAcceptReply) Reset() { *m = SignalAcceptReply{} } -func (m *SignalAcceptReply) String() string { return proto.CompactTextString(m) } -func (*SignalAcceptReply) ProtoMessage() {} -func (*SignalAcceptReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{69} -} -func (m *SignalAcceptReply) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SignalAcceptReply.Unmarshal(m, b) -} -func (m *SignalAcceptReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SignalAcceptReply.Marshal(b, m, deterministic) -} -func (dst *SignalAcceptReply) XXX_Merge(src proto.Message) { - xxx_messageInfo_SignalAcceptReply.Merge(dst, src) -} -func (m *SignalAcceptReply) XXX_Size() int { - return xxx_messageInfo_SignalAcceptReply.Size(m) -} -func (m *SignalAcceptReply) XXX_DiscardUnknown() { - xxx_messageInfo_SignalAcceptReply.DiscardUnknown(m) -} - -var xxx_messageInfo_SignalAcceptReply proto.InternalMessageInfo - -func (m *SignalAcceptReply) GetToken() string { - if m != nil { - return m.Token - } - return "" -} - -func (m *SignalAcceptReply) GetRoomID() string { - if m != nil { - return m.RoomID - } - return "" -} - -func (m *SignalAcceptReply) GetLiveURL() string { - if m != nil { - return m.LiveURL - } - return "" -} - -type SignalHungUpReq struct { - OpUserID string `protobuf:"bytes,1,opt,name=opUserID" json:"opUserID,omitempty"` - Invitation *InvitationInfo `protobuf:"bytes,2,opt,name=invitation" json:"invitation,omitempty"` - OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,3,opt,name=offlinePushInfo" json:"offlinePushInfo,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *SignalHungUpReq) Reset() { *m = SignalHungUpReq{} } -func (m *SignalHungUpReq) String() string { return proto.CompactTextString(m) } -func (*SignalHungUpReq) ProtoMessage() {} -func (*SignalHungUpReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{70} -} -func (m *SignalHungUpReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SignalHungUpReq.Unmarshal(m, b) -} -func (m *SignalHungUpReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SignalHungUpReq.Marshal(b, m, deterministic) -} -func (dst *SignalHungUpReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_SignalHungUpReq.Merge(dst, src) -} -func (m *SignalHungUpReq) XXX_Size() int { - return xxx_messageInfo_SignalHungUpReq.Size(m) -} -func (m *SignalHungUpReq) XXX_DiscardUnknown() { - xxx_messageInfo_SignalHungUpReq.DiscardUnknown(m) -} - -var xxx_messageInfo_SignalHungUpReq proto.InternalMessageInfo - -func (m *SignalHungUpReq) GetOpUserID() string { - if m != nil { - return m.OpUserID - } - return "" -} - -func (m *SignalHungUpReq) GetInvitation() *InvitationInfo { - if m != nil { - return m.Invitation - } - return nil -} - -func (m *SignalHungUpReq) GetOfflinePushInfo() *OfflinePushInfo { - if m != nil { - return m.OfflinePushInfo - } - return nil -} - -type SignalHungUpReply struct { - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *SignalHungUpReply) Reset() { *m = SignalHungUpReply{} } -func (m *SignalHungUpReply) String() string { return proto.CompactTextString(m) } -func (*SignalHungUpReply) ProtoMessage() {} -func (*SignalHungUpReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{71} -} -func (m *SignalHungUpReply) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SignalHungUpReply.Unmarshal(m, b) -} -func (m *SignalHungUpReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SignalHungUpReply.Marshal(b, m, deterministic) -} -func (dst *SignalHungUpReply) XXX_Merge(src proto.Message) { - xxx_messageInfo_SignalHungUpReply.Merge(dst, src) -} -func (m *SignalHungUpReply) XXX_Size() int { - return xxx_messageInfo_SignalHungUpReply.Size(m) -} -func (m *SignalHungUpReply) XXX_DiscardUnknown() { - xxx_messageInfo_SignalHungUpReply.DiscardUnknown(m) -} - -var xxx_messageInfo_SignalHungUpReply proto.InternalMessageInfo - -type SignalRejectReq struct { - OpUserID string `protobuf:"bytes,1,opt,name=opUserID" json:"opUserID,omitempty"` - Invitation *InvitationInfo `protobuf:"bytes,2,opt,name=invitation" json:"invitation,omitempty"` - OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,3,opt,name=offlinePushInfo" json:"offlinePushInfo,omitempty"` - Participant *ParticipantMetaData `protobuf:"bytes,4,opt,name=participant" json:"participant,omitempty"` - OpUserPlatformID int32 `protobuf:"varint,5,opt,name=opUserPlatformID" json:"opUserPlatformID,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *SignalRejectReq) Reset() { *m = SignalRejectReq{} } -func (m *SignalRejectReq) String() string { return proto.CompactTextString(m) } -func (*SignalRejectReq) ProtoMessage() {} -func (*SignalRejectReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{72} -} -func (m *SignalRejectReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SignalRejectReq.Unmarshal(m, b) -} -func (m *SignalRejectReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SignalRejectReq.Marshal(b, m, deterministic) -} -func (dst *SignalRejectReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_SignalRejectReq.Merge(dst, src) -} -func (m *SignalRejectReq) XXX_Size() int { - return xxx_messageInfo_SignalRejectReq.Size(m) -} -func (m *SignalRejectReq) XXX_DiscardUnknown() { - xxx_messageInfo_SignalRejectReq.DiscardUnknown(m) -} - -var xxx_messageInfo_SignalRejectReq proto.InternalMessageInfo - -func (m *SignalRejectReq) GetOpUserID() string { - if m != nil { - return m.OpUserID - } - return "" -} - -func (m *SignalRejectReq) GetInvitation() *InvitationInfo { - if m != nil { - return m.Invitation - } - return nil -} - -func (m *SignalRejectReq) GetOfflinePushInfo() *OfflinePushInfo { - if m != nil { - return m.OfflinePushInfo - } - return nil -} - -func (m *SignalRejectReq) GetParticipant() *ParticipantMetaData { - if m != nil { - return m.Participant - } - return nil -} - -func (m *SignalRejectReq) GetOpUserPlatformID() int32 { - if m != nil { - return m.OpUserPlatformID - } - return 0 -} - -type SignalRejectReply struct { - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *SignalRejectReply) Reset() { *m = SignalRejectReply{} } -func (m *SignalRejectReply) String() string { return proto.CompactTextString(m) } -func (*SignalRejectReply) ProtoMessage() {} -func (*SignalRejectReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{73} -} -func (m *SignalRejectReply) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SignalRejectReply.Unmarshal(m, b) -} -func (m *SignalRejectReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SignalRejectReply.Marshal(b, m, deterministic) -} -func (dst *SignalRejectReply) XXX_Merge(src proto.Message) { - xxx_messageInfo_SignalRejectReply.Merge(dst, src) -} -func (m *SignalRejectReply) XXX_Size() int { - return xxx_messageInfo_SignalRejectReply.Size(m) -} -func (m *SignalRejectReply) XXX_DiscardUnknown() { - xxx_messageInfo_SignalRejectReply.DiscardUnknown(m) -} - -var xxx_messageInfo_SignalRejectReply proto.InternalMessageInfo - -type SignalGetRoomByGroupIDReq struct { - OpUserID string `protobuf:"bytes,1,opt,name=opUserID" json:"opUserID,omitempty"` - GroupID string `protobuf:"bytes,2,opt,name=groupID" json:"groupID,omitempty"` - Participant *ParticipantMetaData `protobuf:"bytes,3,opt,name=participant" json:"participant,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *SignalGetRoomByGroupIDReq) Reset() { *m = SignalGetRoomByGroupIDReq{} } -func (m *SignalGetRoomByGroupIDReq) String() string { return proto.CompactTextString(m) } -func (*SignalGetRoomByGroupIDReq) ProtoMessage() {} -func (*SignalGetRoomByGroupIDReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{74} -} -func (m *SignalGetRoomByGroupIDReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SignalGetRoomByGroupIDReq.Unmarshal(m, b) -} -func (m *SignalGetRoomByGroupIDReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SignalGetRoomByGroupIDReq.Marshal(b, m, deterministic) -} -func (dst *SignalGetRoomByGroupIDReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_SignalGetRoomByGroupIDReq.Merge(dst, src) -} -func (m *SignalGetRoomByGroupIDReq) XXX_Size() int { - return xxx_messageInfo_SignalGetRoomByGroupIDReq.Size(m) -} -func (m *SignalGetRoomByGroupIDReq) XXX_DiscardUnknown() { - xxx_messageInfo_SignalGetRoomByGroupIDReq.DiscardUnknown(m) -} - -var xxx_messageInfo_SignalGetRoomByGroupIDReq proto.InternalMessageInfo - -func (m *SignalGetRoomByGroupIDReq) GetOpUserID() string { - if m != nil { - return m.OpUserID - } - return "" -} - -func (m *SignalGetRoomByGroupIDReq) GetGroupID() string { - if m != nil { - return m.GroupID - } - return "" -} - -func (m *SignalGetRoomByGroupIDReq) GetParticipant() *ParticipantMetaData { - if m != nil { - return m.Participant - } - return nil -} - -type SignalGetRoomByGroupIDReply struct { - Invitation *InvitationInfo `protobuf:"bytes,1,opt,name=invitation" json:"invitation,omitempty"` - Participant []*ParticipantMetaData `protobuf:"bytes,2,rep,name=participant" json:"participant,omitempty"` - RoomID string `protobuf:"bytes,3,opt,name=roomID" json:"roomID,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *SignalGetRoomByGroupIDReply) Reset() { *m = SignalGetRoomByGroupIDReply{} } -func (m *SignalGetRoomByGroupIDReply) String() string { return proto.CompactTextString(m) } -func (*SignalGetRoomByGroupIDReply) ProtoMessage() {} -func (*SignalGetRoomByGroupIDReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{75} -} -func (m *SignalGetRoomByGroupIDReply) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SignalGetRoomByGroupIDReply.Unmarshal(m, b) -} -func (m *SignalGetRoomByGroupIDReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SignalGetRoomByGroupIDReply.Marshal(b, m, deterministic) -} -func (dst *SignalGetRoomByGroupIDReply) XXX_Merge(src proto.Message) { - xxx_messageInfo_SignalGetRoomByGroupIDReply.Merge(dst, src) -} -func (m *SignalGetRoomByGroupIDReply) XXX_Size() int { - return xxx_messageInfo_SignalGetRoomByGroupIDReply.Size(m) -} -func (m *SignalGetRoomByGroupIDReply) XXX_DiscardUnknown() { - xxx_messageInfo_SignalGetRoomByGroupIDReply.DiscardUnknown(m) -} - -var xxx_messageInfo_SignalGetRoomByGroupIDReply proto.InternalMessageInfo - -func (m *SignalGetRoomByGroupIDReply) GetInvitation() *InvitationInfo { - if m != nil { - return m.Invitation - } - return nil -} - -func (m *SignalGetRoomByGroupIDReply) GetParticipant() []*ParticipantMetaData { - if m != nil { - return m.Participant - } - return nil -} - -func (m *SignalGetRoomByGroupIDReply) GetRoomID() string { - if m != nil { - return m.RoomID - } - return "" -} - -type SignalOnRoomParticipantConnectedReq struct { - Invitation *InvitationInfo `protobuf:"bytes,1,opt,name=invitation" json:"invitation,omitempty"` - Participant []*ParticipantMetaData `protobuf:"bytes,2,rep,name=participant" json:"participant,omitempty"` - GroupID string `protobuf:"bytes,3,opt,name=groupID" json:"groupID,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *SignalOnRoomParticipantConnectedReq) Reset() { *m = SignalOnRoomParticipantConnectedReq{} } -func (m *SignalOnRoomParticipantConnectedReq) String() string { return proto.CompactTextString(m) } -func (*SignalOnRoomParticipantConnectedReq) ProtoMessage() {} -func (*SignalOnRoomParticipantConnectedReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{76} -} -func (m *SignalOnRoomParticipantConnectedReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SignalOnRoomParticipantConnectedReq.Unmarshal(m, b) -} -func (m *SignalOnRoomParticipantConnectedReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SignalOnRoomParticipantConnectedReq.Marshal(b, m, deterministic) -} -func (dst *SignalOnRoomParticipantConnectedReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_SignalOnRoomParticipantConnectedReq.Merge(dst, src) -} -func (m *SignalOnRoomParticipantConnectedReq) XXX_Size() int { - return xxx_messageInfo_SignalOnRoomParticipantConnectedReq.Size(m) -} -func (m *SignalOnRoomParticipantConnectedReq) XXX_DiscardUnknown() { - xxx_messageInfo_SignalOnRoomParticipantConnectedReq.DiscardUnknown(m) -} - -var xxx_messageInfo_SignalOnRoomParticipantConnectedReq proto.InternalMessageInfo - -func (m *SignalOnRoomParticipantConnectedReq) GetInvitation() *InvitationInfo { - if m != nil { - return m.Invitation - } - return nil -} - -func (m *SignalOnRoomParticipantConnectedReq) GetParticipant() []*ParticipantMetaData { - if m != nil { - return m.Participant - } - return nil -} - -func (m *SignalOnRoomParticipantConnectedReq) GetGroupID() string { - if m != nil { - return m.GroupID - } - return "" -} - -type SignalOnRoomParticipantDisconnectedReq struct { - Invitation *InvitationInfo `protobuf:"bytes,1,opt,name=invitation" json:"invitation,omitempty"` - Participant []*ParticipantMetaData `protobuf:"bytes,2,rep,name=participant" json:"participant,omitempty"` - GroupID string `protobuf:"bytes,3,opt,name=groupID" json:"groupID,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *SignalOnRoomParticipantDisconnectedReq) Reset() { - *m = SignalOnRoomParticipantDisconnectedReq{} -} -func (m *SignalOnRoomParticipantDisconnectedReq) String() string { return proto.CompactTextString(m) } -func (*SignalOnRoomParticipantDisconnectedReq) ProtoMessage() {} -func (*SignalOnRoomParticipantDisconnectedReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{77} -} -func (m *SignalOnRoomParticipantDisconnectedReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SignalOnRoomParticipantDisconnectedReq.Unmarshal(m, b) -} -func (m *SignalOnRoomParticipantDisconnectedReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SignalOnRoomParticipantDisconnectedReq.Marshal(b, m, deterministic) -} -func (dst *SignalOnRoomParticipantDisconnectedReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_SignalOnRoomParticipantDisconnectedReq.Merge(dst, src) -} -func (m *SignalOnRoomParticipantDisconnectedReq) XXX_Size() int { - return xxx_messageInfo_SignalOnRoomParticipantDisconnectedReq.Size(m) -} -func (m *SignalOnRoomParticipantDisconnectedReq) XXX_DiscardUnknown() { - xxx_messageInfo_SignalOnRoomParticipantDisconnectedReq.DiscardUnknown(m) -} - -var xxx_messageInfo_SignalOnRoomParticipantDisconnectedReq proto.InternalMessageInfo - -func (m *SignalOnRoomParticipantDisconnectedReq) GetInvitation() *InvitationInfo { - if m != nil { - return m.Invitation - } - return nil -} - -func (m *SignalOnRoomParticipantDisconnectedReq) GetParticipant() []*ParticipantMetaData { - if m != nil { - return m.Participant - } - return nil -} - -func (m *SignalOnRoomParticipantDisconnectedReq) GetGroupID() string { - if m != nil { - return m.GroupID - } - return "" -} - -type SignalGetTokenByRoomIDReq struct { - RoomID string `protobuf:"bytes,1,opt,name=roomID" json:"roomID,omitempty"` - OpUserID string `protobuf:"bytes,2,opt,name=opUserID" json:"opUserID,omitempty"` - Participant *ParticipantMetaData `protobuf:"bytes,3,opt,name=participant" json:"participant,omitempty"` - OperationID string `protobuf:"bytes,4,opt,name=operationID" json:"operationID,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *SignalGetTokenByRoomIDReq) Reset() { *m = SignalGetTokenByRoomIDReq{} } -func (m *SignalGetTokenByRoomIDReq) String() string { return proto.CompactTextString(m) } -func (*SignalGetTokenByRoomIDReq) ProtoMessage() {} -func (*SignalGetTokenByRoomIDReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{78} -} -func (m *SignalGetTokenByRoomIDReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SignalGetTokenByRoomIDReq.Unmarshal(m, b) -} -func (m *SignalGetTokenByRoomIDReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SignalGetTokenByRoomIDReq.Marshal(b, m, deterministic) -} -func (dst *SignalGetTokenByRoomIDReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_SignalGetTokenByRoomIDReq.Merge(dst, src) -} -func (m *SignalGetTokenByRoomIDReq) XXX_Size() int { - return xxx_messageInfo_SignalGetTokenByRoomIDReq.Size(m) -} -func (m *SignalGetTokenByRoomIDReq) XXX_DiscardUnknown() { - xxx_messageInfo_SignalGetTokenByRoomIDReq.DiscardUnknown(m) -} - -var xxx_messageInfo_SignalGetTokenByRoomIDReq proto.InternalMessageInfo - -func (m *SignalGetTokenByRoomIDReq) GetRoomID() string { - if m != nil { - return m.RoomID - } - return "" -} - -func (m *SignalGetTokenByRoomIDReq) GetOpUserID() string { - if m != nil { - return m.OpUserID - } - return "" -} - -func (m *SignalGetTokenByRoomIDReq) GetParticipant() *ParticipantMetaData { - if m != nil { - return m.Participant - } - return nil -} - -func (m *SignalGetTokenByRoomIDReq) GetOperationID() string { - if m != nil { - return m.OperationID - } - return "" -} - -type SignalGetTokenByRoomIDReply struct { - Token string `protobuf:"bytes,1,opt,name=token" json:"token,omitempty"` - LiveURL string `protobuf:"bytes,2,opt,name=liveURL" json:"liveURL,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *SignalGetTokenByRoomIDReply) Reset() { *m = SignalGetTokenByRoomIDReply{} } -func (m *SignalGetTokenByRoomIDReply) String() string { return proto.CompactTextString(m) } -func (*SignalGetTokenByRoomIDReply) ProtoMessage() {} -func (*SignalGetTokenByRoomIDReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{79} -} -func (m *SignalGetTokenByRoomIDReply) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SignalGetTokenByRoomIDReply.Unmarshal(m, b) -} -func (m *SignalGetTokenByRoomIDReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SignalGetTokenByRoomIDReply.Marshal(b, m, deterministic) -} -func (dst *SignalGetTokenByRoomIDReply) XXX_Merge(src proto.Message) { - xxx_messageInfo_SignalGetTokenByRoomIDReply.Merge(dst, src) -} -func (m *SignalGetTokenByRoomIDReply) XXX_Size() int { - return xxx_messageInfo_SignalGetTokenByRoomIDReply.Size(m) -} -func (m *SignalGetTokenByRoomIDReply) XXX_DiscardUnknown() { - xxx_messageInfo_SignalGetTokenByRoomIDReply.DiscardUnknown(m) -} - -var xxx_messageInfo_SignalGetTokenByRoomIDReply proto.InternalMessageInfo - -func (m *SignalGetTokenByRoomIDReply) GetToken() string { - if m != nil { - return m.Token - } - return "" -} - -func (m *SignalGetTokenByRoomIDReply) GetLiveURL() string { - if m != nil { - return m.LiveURL - } - return "" -} - -type DelMsgListReq struct { - OpUserID string `protobuf:"bytes,1,opt,name=opUserID" json:"opUserID,omitempty"` - UserID string `protobuf:"bytes,2,opt,name=userID" json:"userID,omitempty"` - SeqList []uint32 `protobuf:"varint,3,rep,packed,name=seqList" json:"seqList,omitempty"` - OperationID string `protobuf:"bytes,4,opt,name=operationID" json:"operationID,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *DelMsgListReq) Reset() { *m = DelMsgListReq{} } -func (m *DelMsgListReq) String() string { return proto.CompactTextString(m) } -func (*DelMsgListReq) ProtoMessage() {} -func (*DelMsgListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{80} -} -func (m *DelMsgListReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_DelMsgListReq.Unmarshal(m, b) -} -func (m *DelMsgListReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_DelMsgListReq.Marshal(b, m, deterministic) -} -func (dst *DelMsgListReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_DelMsgListReq.Merge(dst, src) -} -func (m *DelMsgListReq) XXX_Size() int { - return xxx_messageInfo_DelMsgListReq.Size(m) -} -func (m *DelMsgListReq) XXX_DiscardUnknown() { - xxx_messageInfo_DelMsgListReq.DiscardUnknown(m) -} - -var xxx_messageInfo_DelMsgListReq proto.InternalMessageInfo - -func (m *DelMsgListReq) GetOpUserID() string { - if m != nil { - return m.OpUserID - } - return "" -} - -func (m *DelMsgListReq) GetUserID() string { - if m != nil { - return m.UserID - } - return "" -} - -func (m *DelMsgListReq) GetSeqList() []uint32 { - if m != nil { - return m.SeqList - } - return nil -} - -func (m *DelMsgListReq) GetOperationID() string { - if m != nil { - return m.OperationID - } - return "" -} - -type DelMsgListResp struct { - ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` - ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *DelMsgListResp) Reset() { *m = DelMsgListResp{} } -func (m *DelMsgListResp) String() string { return proto.CompactTextString(m) } -func (*DelMsgListResp) ProtoMessage() {} -func (*DelMsgListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{81} -} -func (m *DelMsgListResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_DelMsgListResp.Unmarshal(m, b) -} -func (m *DelMsgListResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_DelMsgListResp.Marshal(b, m, deterministic) -} -func (dst *DelMsgListResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_DelMsgListResp.Merge(dst, src) -} -func (m *DelMsgListResp) XXX_Size() int { - return xxx_messageInfo_DelMsgListResp.Size(m) -} -func (m *DelMsgListResp) XXX_DiscardUnknown() { - xxx_messageInfo_DelMsgListResp.DiscardUnknown(m) -} - -var xxx_messageInfo_DelMsgListResp proto.InternalMessageInfo - -func (m *DelMsgListResp) GetErrCode() int32 { - if m != nil { - return m.ErrCode - } - return 0 -} - -func (m *DelMsgListResp) GetErrMsg() string { - if m != nil { - return m.ErrMsg - } - return "" -} - -type SetAppBackgroundStatusReq struct { - UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` - IsBackground bool `protobuf:"varint,2,opt,name=isBackground" json:"isBackground,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *SetAppBackgroundStatusReq) Reset() { *m = SetAppBackgroundStatusReq{} } -func (m *SetAppBackgroundStatusReq) String() string { return proto.CompactTextString(m) } -func (*SetAppBackgroundStatusReq) ProtoMessage() {} -func (*SetAppBackgroundStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{82} -} -func (m *SetAppBackgroundStatusReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SetAppBackgroundStatusReq.Unmarshal(m, b) -} -func (m *SetAppBackgroundStatusReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SetAppBackgroundStatusReq.Marshal(b, m, deterministic) -} -func (dst *SetAppBackgroundStatusReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_SetAppBackgroundStatusReq.Merge(dst, src) -} -func (m *SetAppBackgroundStatusReq) XXX_Size() int { - return xxx_messageInfo_SetAppBackgroundStatusReq.Size(m) -} -func (m *SetAppBackgroundStatusReq) XXX_DiscardUnknown() { - xxx_messageInfo_SetAppBackgroundStatusReq.DiscardUnknown(m) -} - -var xxx_messageInfo_SetAppBackgroundStatusReq proto.InternalMessageInfo - -func (m *SetAppBackgroundStatusReq) GetUserID() string { - if m != nil { - return m.UserID - } - return "" -} - -func (m *SetAppBackgroundStatusReq) GetIsBackground() bool { - if m != nil { - return m.IsBackground - } - return false -} - -type SetAppBackgroundStatusResp struct { - ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` - ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *SetAppBackgroundStatusResp) Reset() { *m = SetAppBackgroundStatusResp{} } -func (m *SetAppBackgroundStatusResp) String() string { return proto.CompactTextString(m) } -func (*SetAppBackgroundStatusResp) ProtoMessage() {} -func (*SetAppBackgroundStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{83} -} -func (m *SetAppBackgroundStatusResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SetAppBackgroundStatusResp.Unmarshal(m, b) -} -func (m *SetAppBackgroundStatusResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SetAppBackgroundStatusResp.Marshal(b, m, deterministic) -} -func (dst *SetAppBackgroundStatusResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_SetAppBackgroundStatusResp.Merge(dst, src) -} -func (m *SetAppBackgroundStatusResp) XXX_Size() int { - return xxx_messageInfo_SetAppBackgroundStatusResp.Size(m) -} -func (m *SetAppBackgroundStatusResp) XXX_DiscardUnknown() { - xxx_messageInfo_SetAppBackgroundStatusResp.DiscardUnknown(m) -} - -var xxx_messageInfo_SetAppBackgroundStatusResp proto.InternalMessageInfo - -func (m *SetAppBackgroundStatusResp) GetErrCode() int32 { - if m != nil { - return m.ErrCode - } - return 0 -} - -func (m *SetAppBackgroundStatusResp) GetErrMsg() string { - if m != nil { - return m.ErrMsg - } - return "" -} - -type ExtendMsgSet struct { - ID string `protobuf:"bytes,1,opt,name=ID" json:"ID,omitempty"` - ExtendMsgs []*ExtendMsg `protobuf:"bytes,2,rep,name=extendMsgs" json:"extendMsgs,omitempty"` - LatestUpdateTime int32 `protobuf:"varint,3,opt,name=latestUpdateTime" json:"latestUpdateTime,omitempty"` - AttachedInfo string `protobuf:"bytes,4,opt,name=attachedInfo" json:"attachedInfo,omitempty"` - Ex string `protobuf:"bytes,5,opt,name=ex" json:"ex,omitempty"` - ExtendMsgNum int32 `protobuf:"varint,6,opt,name=extendMsgNum" json:"extendMsgNum,omitempty"` - CreateTime int32 `protobuf:"varint,7,opt,name=createTime" json:"createTime,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *ExtendMsgSet) Reset() { *m = ExtendMsgSet{} } -func (m *ExtendMsgSet) String() string { return proto.CompactTextString(m) } -func (*ExtendMsgSet) ProtoMessage() {} -func (*ExtendMsgSet) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{84} -} -func (m *ExtendMsgSet) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ExtendMsgSet.Unmarshal(m, b) -} -func (m *ExtendMsgSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ExtendMsgSet.Marshal(b, m, deterministic) -} -func (dst *ExtendMsgSet) XXX_Merge(src proto.Message) { - xxx_messageInfo_ExtendMsgSet.Merge(dst, src) -} -func (m *ExtendMsgSet) XXX_Size() int { - return xxx_messageInfo_ExtendMsgSet.Size(m) -} -func (m *ExtendMsgSet) XXX_DiscardUnknown() { - xxx_messageInfo_ExtendMsgSet.DiscardUnknown(m) -} - -var xxx_messageInfo_ExtendMsgSet proto.InternalMessageInfo - -func (m *ExtendMsgSet) GetID() string { - if m != nil { - return m.ID - } - return "" -} - -func (m *ExtendMsgSet) GetExtendMsgs() []*ExtendMsg { - if m != nil { - return m.ExtendMsgs - } - return nil -} - -func (m *ExtendMsgSet) GetLatestUpdateTime() int32 { - if m != nil { - return m.LatestUpdateTime - } - return 0 -} - -func (m *ExtendMsgSet) GetAttachedInfo() string { - if m != nil { - return m.AttachedInfo - } - return "" -} - -func (m *ExtendMsgSet) GetEx() string { - if m != nil { - return m.Ex - } - return "" -} - -func (m *ExtendMsgSet) GetExtendMsgNum() int32 { - if m != nil { - return m.ExtendMsgNum - } - return 0 -} - -func (m *ExtendMsgSet) GetCreateTime() int32 { - if m != nil { - return m.CreateTime - } - return 0 -} - -type ExtendMsg struct { - Content []*ReactionExtendMsgSet `protobuf:"bytes,1,rep,name=content" json:"content,omitempty"` - ClientMsgID string `protobuf:"bytes,2,opt,name=clientMsgID" json:"clientMsgID,omitempty"` - CreateTime int32 `protobuf:"varint,3,opt,name=createTime" json:"createTime,omitempty"` - LatestUpdateTime int32 `protobuf:"varint,4,opt,name=latestUpdateTime" json:"latestUpdateTime,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *ExtendMsg) Reset() { *m = ExtendMsg{} } -func (m *ExtendMsg) String() string { return proto.CompactTextString(m) } -func (*ExtendMsg) ProtoMessage() {} -func (*ExtendMsg) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{85} -} -func (m *ExtendMsg) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ExtendMsg.Unmarshal(m, b) -} -func (m *ExtendMsg) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ExtendMsg.Marshal(b, m, deterministic) -} -func (dst *ExtendMsg) XXX_Merge(src proto.Message) { - xxx_messageInfo_ExtendMsg.Merge(dst, src) -} -func (m *ExtendMsg) XXX_Size() int { - return xxx_messageInfo_ExtendMsg.Size(m) -} -func (m *ExtendMsg) XXX_DiscardUnknown() { - xxx_messageInfo_ExtendMsg.DiscardUnknown(m) -} - -var xxx_messageInfo_ExtendMsg proto.InternalMessageInfo - -func (m *ExtendMsg) GetContent() []*ReactionExtendMsgSet { - if m != nil { - return m.Content - } - return nil -} - -func (m *ExtendMsg) GetClientMsgID() string { - if m != nil { - return m.ClientMsgID - } - return "" -} - -func (m *ExtendMsg) GetCreateTime() int32 { - if m != nil { - return m.CreateTime - } - return 0 -} - -func (m *ExtendMsg) GetLatestUpdateTime() int32 { - if m != nil { - return m.LatestUpdateTime - } - return 0 -} - -type ReactionExtendMsgSet struct { - UserKey string `protobuf:"bytes,1,opt,name=userKey" json:"userKey,omitempty"` - Value string `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"` - LatestUpdateTime int32 `protobuf:"varint,3,opt,name=latestUpdateTime" json:"latestUpdateTime,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *ReactionExtendMsgSet) Reset() { *m = ReactionExtendMsgSet{} } -func (m *ReactionExtendMsgSet) String() string { return proto.CompactTextString(m) } -func (*ReactionExtendMsgSet) ProtoMessage() {} -func (*ReactionExtendMsgSet) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_daf4b815cf2c5193, []int{86} -} -func (m *ReactionExtendMsgSet) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ReactionExtendMsgSet.Unmarshal(m, b) -} -func (m *ReactionExtendMsgSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ReactionExtendMsgSet.Marshal(b, m, deterministic) -} -func (dst *ReactionExtendMsgSet) XXX_Merge(src proto.Message) { - xxx_messageInfo_ReactionExtendMsgSet.Merge(dst, src) -} -func (m *ReactionExtendMsgSet) XXX_Size() int { - return xxx_messageInfo_ReactionExtendMsgSet.Size(m) -} -func (m *ReactionExtendMsgSet) XXX_DiscardUnknown() { - xxx_messageInfo_ReactionExtendMsgSet.DiscardUnknown(m) -} - -var xxx_messageInfo_ReactionExtendMsgSet proto.InternalMessageInfo - -func (m *ReactionExtendMsgSet) GetUserKey() string { - if m != nil { - return m.UserKey - } - return "" -} - -func (m *ReactionExtendMsgSet) GetValue() string { - if m != nil { - return m.Value - } - return "" -} - -func (m *ReactionExtendMsgSet) GetLatestUpdateTime() int32 { - if m != nil { - return m.LatestUpdateTime - } - return 0 -} - -func init() { - proto.RegisterType((*GroupInfo)(nil), "server_api_params.GroupInfo") - proto.RegisterType((*GroupInfoForSet)(nil), "server_api_params.GroupInfoForSet") - proto.RegisterType((*GroupMemberFullInfo)(nil), "server_api_params.GroupMemberFullInfo") - proto.RegisterType((*PublicUserInfo)(nil), "server_api_params.PublicUserInfo") - proto.RegisterType((*UserInfo)(nil), "server_api_params.UserInfo") - proto.RegisterType((*FriendInfo)(nil), "server_api_params.FriendInfo") - proto.RegisterType((*BlackInfo)(nil), "server_api_params.BlackInfo") - proto.RegisterType((*GroupRequest)(nil), "server_api_params.GroupRequest") - proto.RegisterType((*FriendRequest)(nil), "server_api_params.FriendRequest") - proto.RegisterType((*Department)(nil), "server_api_params.Department") - proto.RegisterType((*OrganizationUser)(nil), "server_api_params.OrganizationUser") - proto.RegisterType((*DepartmentMember)(nil), "server_api_params.DepartmentMember") - proto.RegisterType((*UserDepartmentMember)(nil), "server_api_params.UserDepartmentMember") - proto.RegisterType((*UserInDepartment)(nil), "server_api_params.UserInDepartment") - proto.RegisterType((*PullMessageBySeqListReq)(nil), "server_api_params.PullMessageBySeqListReq") - proto.RegisterMapType((map[string]*SeqList)(nil), "server_api_params.PullMessageBySeqListReq.GroupSeqListEntry") - proto.RegisterType((*SeqList)(nil), "server_api_params.seqList") - proto.RegisterType((*MsgDataList)(nil), "server_api_params.MsgDataList") - proto.RegisterType((*PullMessageBySeqListResp)(nil), "server_api_params.PullMessageBySeqListResp") - proto.RegisterMapType((map[string]*MsgDataList)(nil), "server_api_params.PullMessageBySeqListResp.GroupMsgDataListEntry") - proto.RegisterType((*GetMaxAndMinSeqReq)(nil), "server_api_params.GetMaxAndMinSeqReq") - proto.RegisterType((*MaxAndMinSeq)(nil), "server_api_params.MaxAndMinSeq") - proto.RegisterType((*GetMaxAndMinSeqResp)(nil), "server_api_params.GetMaxAndMinSeqResp") - proto.RegisterMapType((map[string]*MaxAndMinSeq)(nil), "server_api_params.GetMaxAndMinSeqResp.GroupMaxAndMinSeqEntry") - proto.RegisterType((*UserSendMsgResp)(nil), "server_api_params.UserSendMsgResp") - proto.RegisterType((*MsgData)(nil), "server_api_params.MsgData") - proto.RegisterMapType((map[string]bool)(nil), "server_api_params.MsgData.OptionsEntry") - proto.RegisterType((*OfflinePushInfo)(nil), "server_api_params.OfflinePushInfo") - proto.RegisterType((*TipsComm)(nil), "server_api_params.TipsComm") - proto.RegisterType((*GroupCreatedTips)(nil), "server_api_params.GroupCreatedTips") - proto.RegisterType((*GroupInfoSetTips)(nil), "server_api_params.GroupInfoSetTips") - proto.RegisterType((*JoinGroupApplicationTips)(nil), "server_api_params.JoinGroupApplicationTips") - proto.RegisterType((*MemberQuitTips)(nil), "server_api_params.MemberQuitTips") - proto.RegisterType((*GroupApplicationAcceptedTips)(nil), "server_api_params.GroupApplicationAcceptedTips") - proto.RegisterType((*GroupApplicationRejectedTips)(nil), "server_api_params.GroupApplicationRejectedTips") - proto.RegisterType((*GroupOwnerTransferredTips)(nil), "server_api_params.GroupOwnerTransferredTips") - proto.RegisterType((*MemberKickedTips)(nil), "server_api_params.MemberKickedTips") - proto.RegisterType((*MemberInvitedTips)(nil), "server_api_params.MemberInvitedTips") - proto.RegisterType((*MemberEnterTips)(nil), "server_api_params.MemberEnterTips") - proto.RegisterType((*GroupDismissedTips)(nil), "server_api_params.GroupDismissedTips") - proto.RegisterType((*GroupMemberMutedTips)(nil), "server_api_params.GroupMemberMutedTips") - proto.RegisterType((*GroupMemberCancelMutedTips)(nil), "server_api_params.GroupMemberCancelMutedTips") - proto.RegisterType((*GroupMutedTips)(nil), "server_api_params.GroupMutedTips") - proto.RegisterType((*GroupCancelMutedTips)(nil), "server_api_params.GroupCancelMutedTips") - proto.RegisterType((*GroupMemberInfoSetTips)(nil), "server_api_params.GroupMemberInfoSetTips") - proto.RegisterType((*OrganizationChangedTips)(nil), "server_api_params.OrganizationChangedTips") - proto.RegisterType((*FriendApplication)(nil), "server_api_params.FriendApplication") - proto.RegisterType((*FromToUserID)(nil), "server_api_params.FromToUserID") - proto.RegisterType((*FriendApplicationTips)(nil), "server_api_params.FriendApplicationTips") - proto.RegisterType((*FriendApplicationApprovedTips)(nil), "server_api_params.FriendApplicationApprovedTips") - proto.RegisterType((*FriendApplicationRejectedTips)(nil), "server_api_params.FriendApplicationRejectedTips") - proto.RegisterType((*FriendAddedTips)(nil), "server_api_params.FriendAddedTips") - proto.RegisterType((*FriendDeletedTips)(nil), "server_api_params.FriendDeletedTips") - proto.RegisterType((*BlackAddedTips)(nil), "server_api_params.BlackAddedTips") - proto.RegisterType((*BlackDeletedTips)(nil), "server_api_params.BlackDeletedTips") - proto.RegisterType((*FriendInfoChangedTips)(nil), "server_api_params.FriendInfoChangedTips") - proto.RegisterType((*UserInfoUpdatedTips)(nil), "server_api_params.UserInfoUpdatedTips") - proto.RegisterType((*ConversationUpdateTips)(nil), "server_api_params.ConversationUpdateTips") - proto.RegisterType((*ConversationSetPrivateTips)(nil), "server_api_params.ConversationSetPrivateTips") - proto.RegisterType((*DeleteMessageTips)(nil), "server_api_params.DeleteMessageTips") - proto.RegisterType((*RequestPagination)(nil), "server_api_params.RequestPagination") - proto.RegisterType((*ResponsePagination)(nil), "server_api_params.ResponsePagination") - proto.RegisterType((*SignalReq)(nil), "server_api_params.SignalReq") - proto.RegisterType((*SignalResp)(nil), "server_api_params.SignalResp") - proto.RegisterType((*InvitationInfo)(nil), "server_api_params.InvitationInfo") - proto.RegisterType((*ParticipantMetaData)(nil), "server_api_params.ParticipantMetaData") - proto.RegisterType((*SignalInviteReq)(nil), "server_api_params.SignalInviteReq") - proto.RegisterType((*SignalInviteReply)(nil), "server_api_params.SignalInviteReply") - proto.RegisterType((*SignalInviteInGroupReq)(nil), "server_api_params.SignalInviteInGroupReq") - proto.RegisterType((*SignalInviteInGroupReply)(nil), "server_api_params.SignalInviteInGroupReply") - proto.RegisterType((*SignalCancelReq)(nil), "server_api_params.SignalCancelReq") - proto.RegisterType((*SignalCancelReply)(nil), "server_api_params.SignalCancelReply") - proto.RegisterType((*SignalAcceptReq)(nil), "server_api_params.SignalAcceptReq") - proto.RegisterType((*SignalAcceptReply)(nil), "server_api_params.SignalAcceptReply") - proto.RegisterType((*SignalHungUpReq)(nil), "server_api_params.SignalHungUpReq") - proto.RegisterType((*SignalHungUpReply)(nil), "server_api_params.SignalHungUpReply") - proto.RegisterType((*SignalRejectReq)(nil), "server_api_params.SignalRejectReq") - proto.RegisterType((*SignalRejectReply)(nil), "server_api_params.SignalRejectReply") - proto.RegisterType((*SignalGetRoomByGroupIDReq)(nil), "server_api_params.SignalGetRoomByGroupIDReq") - proto.RegisterType((*SignalGetRoomByGroupIDReply)(nil), "server_api_params.SignalGetRoomByGroupIDReply") - proto.RegisterType((*SignalOnRoomParticipantConnectedReq)(nil), "server_api_params.SignalOnRoomParticipantConnectedReq") - proto.RegisterType((*SignalOnRoomParticipantDisconnectedReq)(nil), "server_api_params.SignalOnRoomParticipantDisconnectedReq") - proto.RegisterType((*SignalGetTokenByRoomIDReq)(nil), "server_api_params.SignalGetTokenByRoomIDReq") - proto.RegisterType((*SignalGetTokenByRoomIDReply)(nil), "server_api_params.SignalGetTokenByRoomIDReply") - proto.RegisterType((*DelMsgListReq)(nil), "server_api_params.DelMsgListReq") - proto.RegisterType((*DelMsgListResp)(nil), "server_api_params.DelMsgListResp") - proto.RegisterType((*SetAppBackgroundStatusReq)(nil), "server_api_params.SetAppBackgroundStatusReq") - proto.RegisterType((*SetAppBackgroundStatusResp)(nil), "server_api_params.SetAppBackgroundStatusResp") - proto.RegisterType((*ExtendMsgSet)(nil), "server_api_params.ExtendMsgSet") - proto.RegisterType((*ExtendMsg)(nil), "server_api_params.ExtendMsg") - proto.RegisterType((*ReactionExtendMsgSet)(nil), "server_api_params.ReactionExtendMsgSet") -} - -func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_daf4b815cf2c5193) } - -var fileDescriptor_ws_daf4b815cf2c5193 = []byte{ - // 4028 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x3c, 0x5b, 0x6f, 0x1c, 0x57, - 0x58, 0x9d, 0xd9, 0x8b, 0xbd, 0xdf, 0xfa, 0xb2, 0x9e, 0x24, 0xee, 0xd6, 0x4d, 0x83, 0x99, 0x46, - 0xa1, 0x84, 0xd4, 0x41, 0xe9, 0x45, 0xb4, 0x4d, 0x83, 0x7c, 0x49, 0x1c, 0xb7, 0x59, 0xdb, 0x9d, - 0x4d, 0x1a, 0xd4, 0x56, 0x0a, 0xe3, 0x9d, 0xe3, 0xf5, 0xd4, 0xb3, 0x33, 0xe3, 0xb9, 0x38, 0x31, - 0x0f, 0x80, 0x00, 0x01, 0x12, 0x0f, 0x48, 0x88, 0x8b, 0x04, 0x6f, 0xbc, 0x20, 0x10, 0xaa, 0x10, - 0x02, 0x84, 0x44, 0x85, 0x10, 0xe2, 0x01, 0x09, 0x24, 0xfa, 0x8e, 0x04, 0x82, 0x27, 0x1e, 0xf8, - 0x03, 0x48, 0x48, 0x45, 0xe7, 0x7c, 0x67, 0x66, 0xce, 0x99, 0x99, 0xbd, 0xc4, 0xb2, 0x9a, 0x44, - 0xe1, 0xcd, 0xdf, 0x37, 0xe7, 0xfb, 0xce, 0x77, 0x3f, 0xdf, 0xb9, 0xac, 0x61, 0x3e, 0xb4, 0x0e, - 0x1f, 0x3d, 0x0e, 0xaf, 0x3f, 0x0e, 0x57, 0xfc, 0xc0, 0x8b, 0x3c, 0x6d, 0x21, 0x24, 0xc1, 0x31, - 0x09, 0x1e, 0x99, 0xbe, 0xfd, 0xc8, 0x37, 0x03, 0x73, 0x10, 0x2e, 0xad, 0xec, 0xf8, 0xc4, 0x7d, - 0x7b, 0xab, 0xf3, 0x76, 0x97, 0x7d, 0xba, 0xee, 0x1f, 0xf6, 0xaf, 0xb3, 0xc1, 0xd7, 0x13, 0xe2, - 0xc0, 0xf4, 0x7d, 0x12, 0x70, 0x16, 0xfa, 0xbf, 0x57, 0xa1, 0xb1, 0x19, 0x78, 0xb1, 0xbf, 0xe5, - 0xee, 0x7b, 0x5a, 0x1b, 0xa6, 0xfa, 0x0c, 0xd8, 0x68, 0x2b, 0xcb, 0xca, 0x5b, 0x0d, 0x23, 0x01, - 0xb5, 0x8b, 0xd0, 0x60, 0x7f, 0x6e, 0x9b, 0x03, 0xd2, 0x56, 0xd9, 0xb7, 0x0c, 0xa1, 0xe9, 0x30, - 0xe3, 0x7a, 0x91, 0xbd, 0x6f, 0xf7, 0xcc, 0xc8, 0xf6, 0xdc, 0x76, 0x85, 0x0d, 0x90, 0x70, 0x74, - 0x8c, 0xed, 0x46, 0x81, 0x67, 0xc5, 0x3d, 0x36, 0xa6, 0x8a, 0x63, 0x44, 0x1c, 0x9d, 0x7f, 0xdf, - 0xec, 0x91, 0x07, 0xc6, 0xbd, 0x76, 0x0d, 0xe7, 0xe7, 0xa0, 0xb6, 0x0c, 0x4d, 0xef, 0xb1, 0x4b, - 0x82, 0x07, 0x21, 0x09, 0xb6, 0x36, 0xda, 0x75, 0xf6, 0x55, 0x44, 0x69, 0x97, 0x00, 0x7a, 0x01, - 0x31, 0x23, 0x72, 0xdf, 0x1e, 0x90, 0xf6, 0xd4, 0xb2, 0xf2, 0xd6, 0xac, 0x21, 0x60, 0x28, 0x87, - 0x01, 0x19, 0xec, 0x91, 0x60, 0xdd, 0x8b, 0xdd, 0xa8, 0x3d, 0xcd, 0x06, 0x88, 0x28, 0x6d, 0x0e, - 0x54, 0xf2, 0xa4, 0xdd, 0x60, 0xac, 0x55, 0xf2, 0x44, 0x5b, 0x84, 0x7a, 0x18, 0x99, 0x51, 0x1c, - 0xb6, 0x61, 0x59, 0x79, 0xab, 0x66, 0x70, 0x48, 0xbb, 0x0c, 0xb3, 0x8c, 0xaf, 0x97, 0x48, 0xd3, - 0x64, 0x24, 0x32, 0x32, 0xb5, 0xd8, 0xfd, 0x13, 0x9f, 0xb4, 0x67, 0x18, 0x83, 0x0c, 0xa1, 0x5d, - 0x85, 0x96, 0x4b, 0x88, 0xf5, 0x39, 0x09, 0x32, 0xab, 0xcd, 0xb2, 0x41, 0x05, 0xbc, 0x76, 0x05, - 0xe6, 0x1c, 0xcf, 0x3b, 0xec, 0x30, 0x51, 0xa9, 0x9f, 0xda, 0x73, 0x6c, 0x64, 0x0e, 0xab, 0x5d, - 0x83, 0x05, 0xd3, 0xf7, 0x9d, 0x13, 0x44, 0xdd, 0x09, 0x6c, 0xe2, 0x5a, 0xed, 0x79, 0x36, 0xb4, - 0xf8, 0x41, 0x7b, 0x1f, 0x16, 0x45, 0xff, 0x3c, 0xf0, 0xad, 0xc4, 0x76, 0x2d, 0x66, 0x9a, 0x21, - 0x5f, 0xb5, 0x15, 0xd0, 0xa4, 0x2f, 0x68, 0x82, 0x05, 0x66, 0x82, 0x92, 0x2f, 0xfa, 0x6f, 0x57, - 0x60, 0x3e, 0x8d, 0xb0, 0x3b, 0x5e, 0xd0, 0x25, 0xd1, 0x73, 0x1c, 0x67, 0x18, 0x03, 0xf5, 0x34, - 0x06, 0x36, 0x4b, 0xfc, 0x44, 0x63, 0xab, 0x79, 0xe3, 0xf5, 0x95, 0xbe, 0xe7, 0xf5, 0x1d, 0x82, - 0x89, 0xb4, 0x17, 0xef, 0xaf, 0x6c, 0xb9, 0xd1, 0x3b, 0x37, 0x3e, 0x37, 0x9d, 0x98, 0x94, 0x38, - 0x71, 0xbd, 0xe0, 0xc4, 0xe9, 0xf1, 0x6c, 0xf2, 0x1e, 0xde, 0x2a, 0xf3, 0x70, 0x63, 0x3c, 0x9f, - 0x22, 0x95, 0xfe, 0xbd, 0x0a, 0xe7, 0x98, 0x5b, 0x38, 0x36, 0x76, 0x9c, 0x31, 0x25, 0x60, 0x11, - 0xea, 0x31, 0x3a, 0x1b, 0xfd, 0xc2, 0x21, 0xea, 0xb2, 0xc0, 0x73, 0xc8, 0x3d, 0x72, 0x4c, 0x1c, - 0xe6, 0x91, 0x9a, 0x91, 0x21, 0xb4, 0x25, 0x98, 0xfe, 0xda, 0xb3, 0x5d, 0x16, 0x58, 0x55, 0xf6, - 0x31, 0x85, 0xe9, 0x37, 0xd7, 0xee, 0x1d, 0xba, 0xd4, 0xd7, 0xe8, 0x87, 0x14, 0x16, 0x5d, 0x54, - 0x97, 0x5d, 0x74, 0x05, 0xe6, 0x4c, 0xdf, 0xef, 0x98, 0x6e, 0x9f, 0x04, 0x38, 0xe9, 0x14, 0xa6, - 0x83, 0x8c, 0xa5, 0x05, 0x81, 0xce, 0xd4, 0xf5, 0xe2, 0xa0, 0x47, 0x98, 0xb5, 0x6b, 0x86, 0x80, - 0xa1, 0x7c, 0x3c, 0x9f, 0x04, 0x42, 0x1e, 0x63, 0xea, 0xe7, 0xb0, 0x3c, 0x24, 0x20, 0x0d, 0x09, - 0x5a, 0x48, 0xe2, 0x88, 0xdc, 0x76, 0x2d, 0xa6, 0x54, 0x93, 0x17, 0x92, 0x0c, 0x45, 0x0b, 0x84, - 0xed, 0x1e, 0xdb, 0x51, 0x5a, 0xae, 0x66, 0xb0, 0x40, 0x48, 0x48, 0xfd, 0x57, 0x15, 0x98, 0xdb, - 0x8d, 0xf7, 0x1c, 0xbb, 0xc7, 0x10, 0xd4, 0xf8, 0x99, 0x89, 0x15, 0xc9, 0xc4, 0xa2, 0xa1, 0xd4, - 0xe1, 0x86, 0xaa, 0xc8, 0x86, 0x5a, 0x84, 0x7a, 0x9f, 0xb8, 0x16, 0x09, 0xb8, 0xe1, 0x39, 0xc4, - 0x15, 0xaa, 0x25, 0x0a, 0xe9, 0xff, 0xa6, 0xc2, 0xf4, 0x0f, 0x2c, 0xc2, 0x32, 0x34, 0xfd, 0x03, - 0xcf, 0x25, 0xdb, 0x31, 0x0d, 0x3e, 0x2e, 0x8b, 0x88, 0xd2, 0xce, 0x43, 0x6d, 0xcf, 0x0e, 0xa2, - 0x03, 0xe6, 0xfd, 0x59, 0x03, 0x01, 0x8a, 0x25, 0x03, 0xd3, 0x46, 0x97, 0x37, 0x0c, 0x04, 0xb8, - 0x42, 0xd3, 0xa9, 0x87, 0xe4, 0xa5, 0xa0, 0x51, 0x58, 0x0a, 0x8a, 0x11, 0x04, 0xa5, 0x11, 0x74, - 0x15, 0x5a, 0x7d, 0xc7, 0xdb, 0x33, 0x1d, 0x83, 0xf4, 0x8e, 0x3b, 0x61, 0x7f, 0xc7, 0x8f, 0x98, - 0xbb, 0x6b, 0x46, 0x01, 0x4f, 0xed, 0xc3, 0x44, 0xec, 0x46, 0x01, 0x77, 0x77, 0x0a, 0xeb, 0xff, - 0xa3, 0x00, 0x60, 0xda, 0x31, 0x13, 0xe7, 0xd6, 0x32, 0xa5, 0xb8, 0x96, 0x2d, 0x42, 0x3d, 0x20, - 0x03, 0x33, 0x38, 0x4c, 0x52, 0x0d, 0xa1, 0x9c, 0x62, 0x95, 0x82, 0x62, 0x1f, 0x01, 0xec, 0xb3, - 0x79, 0x28, 0x1f, 0x66, 0x72, 0x5a, 0x18, 0x0a, 0x5d, 0xc2, 0x4a, 0xe2, 0x6d, 0x43, 0x18, 0x4e, - 0xf3, 0xd8, 0xb4, 0x2c, 0x9e, 0x2e, 0x35, 0xcc, 0xe3, 0x14, 0x51, 0x92, 0x2d, 0xf5, 0x11, 0xd9, - 0x32, 0x95, 0x06, 0xd7, 0x7f, 0x2b, 0xd0, 0x58, 0x73, 0xcc, 0xde, 0xe1, 0x84, 0xaa, 0xcb, 0x2a, - 0xaa, 0x05, 0x15, 0x37, 0x61, 0x76, 0x8f, 0xb2, 0x4b, 0x54, 0x60, 0x56, 0x68, 0xde, 0xf8, 0xd1, - 0x12, 0x2d, 0xe5, 0xe4, 0x32, 0x64, 0x3a, 0x59, 0xdd, 0xea, 0x78, 0x75, 0x6b, 0x23, 0xd4, 0x4d, - 0xd7, 0x0b, 0xfd, 0xf7, 0x2a, 0x30, 0xc3, 0xca, 0xaa, 0x41, 0x8e, 0x62, 0x12, 0x46, 0xda, 0xc7, - 0x30, 0x1d, 0x27, 0xa2, 0x2a, 0x93, 0x8a, 0x9a, 0x92, 0x68, 0x1f, 0xf2, 0xf5, 0x90, 0xd1, 0xab, - 0x8c, 0xfe, 0x62, 0x09, 0x7d, 0xba, 0xc0, 0x1a, 0xd9, 0x70, 0xba, 0x12, 0x1e, 0x98, 0xae, 0xe5, - 0x10, 0x83, 0x84, 0xb1, 0x13, 0xf1, 0xda, 0x2c, 0xe1, 0x30, 0xd2, 0x8e, 0x3a, 0x61, 0x9f, 0xaf, - 0x93, 0x1c, 0xa2, 0xd6, 0xc1, 0x71, 0xf4, 0x13, 0xaa, 0x9e, 0x21, 0x68, 0xc2, 0x07, 0xe4, 0x88, - 0x79, 0x08, 0xd3, 0x33, 0x01, 0xb3, 0x39, 0xb9, 0xd5, 0x30, 0x10, 0x24, 0x1c, 0x75, 0x31, 0xc2, - 0x8c, 0x01, 0x36, 0x62, 0x02, 0xa6, 0xd0, 0x87, 0xc9, 0x85, 0x1c, 0x0a, 0x85, 0xbc, 0x50, 0x6e, - 0x9b, 0x65, 0xe5, 0xf6, 0x5f, 0x2b, 0x30, 0x8b, 0x49, 0x98, 0xb8, 0xe6, 0x12, 0xcd, 0x16, 0x6f, - 0x20, 0xc5, 0xa2, 0x80, 0xa1, 0xba, 0x50, 0x68, 0x5b, 0x2e, 0x7b, 0x12, 0x8e, 0x06, 0x34, 0x85, - 0xef, 0x48, 0xe5, 0x4f, 0x44, 0x25, 0xb3, 0x6c, 0x8a, 0x65, 0x50, 0xc0, 0xd0, 0xc2, 0x11, 0x79, - 0x52, 0x8c, 0xa5, 0x30, 0xa5, 0x8d, 0xbc, 0x74, 0x7e, 0x8c, 0x32, 0x01, 0x43, 0xbd, 0x14, 0x79, - 0xc9, 0xdc, 0x68, 0xea, 0x0c, 0x81, 0x9c, 0xf9, 0xbc, 0xb8, 0xfc, 0xa5, 0x70, 0x21, 0x36, 0x1a, - 0x23, 0x63, 0x03, 0xa4, 0xd8, 0x90, 0x53, 0xb4, 0x59, 0x48, 0xd1, 0xcb, 0x30, 0x8b, 0x7c, 0x72, - 0xcb, 0x9f, 0x84, 0x94, 0x23, 0x6c, 0x36, 0x1f, 0x61, 0x72, 0x8c, 0xcc, 0x0d, 0x89, 0x91, 0xf9, - 0x34, 0xef, 0xfe, 0x5c, 0x05, 0xd8, 0x20, 0xbe, 0x19, 0x44, 0x03, 0xe2, 0x46, 0x54, 0x3d, 0x2b, - 0x85, 0x52, 0xe7, 0x4a, 0x38, 0x71, 0xd5, 0x52, 0xe5, 0x55, 0x4b, 0x83, 0x2a, 0x33, 0x38, 0x7a, - 0x93, 0xfd, 0x4d, 0x8d, 0xe9, 0x9b, 0x01, 0x72, 0xc3, 0x54, 0x49, 0x61, 0xba, 0x2a, 0x79, 0x81, - 0xc5, 0xd7, 0xb1, 0x9a, 0x81, 0x00, 0x2d, 0x21, 0xd9, 0x7c, 0x6c, 0x17, 0x50, 0xc7, 0x55, 0x46, - 0xc6, 0x8e, 0xdd, 0xb8, 0x5c, 0x85, 0x56, 0x18, 0xef, 0x65, 0xca, 0x6d, 0xc7, 0x03, 0x9e, 0x34, - 0x05, 0x3c, 0x35, 0x2a, 0xee, 0x68, 0xe8, 0x20, 0x5c, 0xf8, 0x32, 0x44, 0xbe, 0x93, 0xd1, 0xff, - 0x51, 0x85, 0xd6, 0x4e, 0xd0, 0x37, 0x5d, 0xfb, 0xe7, 0xd2, 0x8e, 0xfd, 0x54, 0x0d, 0xc0, 0x32, - 0x34, 0x89, 0xdb, 0x77, 0xec, 0xf0, 0x60, 0x3b, 0xb3, 0x9b, 0x88, 0x12, 0x8d, 0x5d, 0x1d, 0xd6, - 0x22, 0xd4, 0xa4, 0x16, 0x61, 0x11, 0xea, 0x03, 0x6f, 0xcf, 0x76, 0x92, 0xb8, 0xe7, 0x10, 0x8b, - 0x79, 0xe2, 0x10, 0xd6, 0x2b, 0xa4, 0x31, 0x9f, 0x20, 0xb2, 0xb6, 0x61, 0xba, 0xb4, 0x6d, 0x68, - 0x88, 0x6d, 0x83, 0x6c, 0x78, 0x28, 0x18, 0x1e, 0xcd, 0xd5, 0x4c, 0xeb, 0xd0, 0xa8, 0x25, 0xfe, - 0xef, 0x14, 0x68, 0x65, 0xae, 0xc0, 0x9e, 0x7a, 0xa8, 0x29, 0xf3, 0xd1, 0xa9, 0x96, 0x44, 0x67, - 0x1a, 0x53, 0x15, 0x31, 0xa6, 0x68, 0x14, 0x7a, 0xa1, 0x2d, 0x6c, 0x6c, 0x52, 0x98, 0xce, 0xe6, - 0x10, 0x53, 0x30, 0x24, 0x42, 0xc2, 0x36, 0xb6, 0x2e, 0x6d, 0x63, 0xf3, 0x2b, 0xf5, 0x5f, 0x2b, - 0x70, 0x9e, 0x46, 0x40, 0x41, 0x8d, 0x1d, 0x68, 0x79, 0xb9, 0x28, 0xe1, 0x4b, 0xd9, 0x9b, 0x25, - 0x4b, 0x51, 0x3e, 0xa0, 0x8c, 0x02, 0x31, 0x65, 0x68, 0xe5, 0x26, 0xe1, 0x6b, 0x5b, 0x19, 0xc3, - 0xbc, 0x3c, 0x46, 0x81, 0x58, 0xff, 0x56, 0x81, 0x16, 0x2e, 0x9e, 0x42, 0x0d, 0x38, 0x73, 0xb1, - 0x1f, 0xc2, 0xf9, 0xfc, 0xcc, 0xf7, 0xec, 0x30, 0x6a, 0xab, 0xcb, 0x95, 0x49, 0x45, 0x2f, 0x65, - 0xa0, 0xff, 0xa9, 0x0a, 0xaf, 0xee, 0xc6, 0x8e, 0xd3, 0x21, 0x61, 0x68, 0xf6, 0xc9, 0xda, 0x49, - 0x97, 0x1c, 0xd1, 0x0f, 0x06, 0x39, 0x1a, 0x1a, 0x43, 0xb4, 0x93, 0x62, 0xad, 0x88, 0xed, 0xb9, - 0x69, 0x08, 0x89, 0x28, 0x9a, 0x72, 0x21, 0xf2, 0x69, 0x57, 0x96, 0x2b, 0x74, 0x91, 0xe6, 0xa0, - 0xf6, 0xb3, 0x30, 0xc3, 0xba, 0x04, 0x3e, 0x4d, 0xbb, 0xca, 0x14, 0xb8, 0x59, 0xda, 0x97, 0x94, - 0x4a, 0x85, 0xfd, 0x06, 0x87, 0x6f, 0xbb, 0x51, 0x70, 0x62, 0x48, 0x1c, 0x97, 0xbe, 0x84, 0x85, - 0xc2, 0x10, 0xad, 0x05, 0x95, 0x43, 0x72, 0xc2, 0xf5, 0xa0, 0x7f, 0x6a, 0x3f, 0x09, 0xb5, 0x63, - 0xba, 0x41, 0xe5, 0xde, 0x5f, 0x2a, 0x91, 0x80, 0xcb, 0x6c, 0xe0, 0xc0, 0x0f, 0xd5, 0x9f, 0x52, - 0xf4, 0x37, 0x53, 0xc5, 0x44, 0x1d, 0x15, 0x49, 0x47, 0xfd, 0x53, 0x68, 0x76, 0xc2, 0xfe, 0x86, - 0x19, 0x99, 0x6c, 0xe0, 0x4d, 0x68, 0x0e, 0x32, 0x90, 0x0d, 0x2e, 0x9f, 0x8f, 0x13, 0x19, 0xe2, - 0x70, 0xfd, 0x3b, 0x15, 0xda, 0xe5, 0xa6, 0x08, 0x7d, 0x2a, 0x03, 0x09, 0x82, 0x75, 0xcf, 0x22, - 0x4c, 0xb5, 0x9a, 0x91, 0x80, 0xd4, 0x77, 0x24, 0x08, 0xe8, 0xfa, 0xc6, 0xdb, 0x78, 0x84, 0xb4, - 0x15, 0xa8, 0x3a, 0x89, 0x5b, 0x46, 0x4b, 0xc1, 0xc6, 0x69, 0x03, 0x68, 0x31, 0xeb, 0x0a, 0x0a, - 0x71, 0x9f, 0xad, 0x4e, 0xec, 0xb3, 0xd0, 0x47, 0xa7, 0x09, 0x3c, 0xd0, 0x71, 0x05, 0xd6, 0x4b, - 0x3d, 0xb8, 0x50, 0x3a, 0xb4, 0xc4, 0x81, 0xef, 0xca, 0x0e, 0xbc, 0x34, 0x5c, 0x95, 0xbc, 0x13, - 0x7d, 0xd0, 0x36, 0x49, 0xd4, 0x31, 0x9f, 0xac, 0xba, 0x56, 0xc7, 0x76, 0xbb, 0xe4, 0x88, 0x46, - 0xfb, 0x32, 0x34, 0xf9, 0x71, 0x43, 0xea, 0xa6, 0x86, 0x21, 0xa2, 0x86, 0x9e, 0x42, 0xe4, 0xf2, - 0xa1, 0x52, 0xc8, 0x07, 0xfd, 0x16, 0xcc, 0x88, 0xd3, 0xb1, 0x05, 0xc6, 0x7c, 0xd2, 0x25, 0x47, - 0x4c, 0xa1, 0x59, 0x83, 0x43, 0x0c, 0xcf, 0x46, 0xf0, 0xdd, 0x07, 0x87, 0xf4, 0x7f, 0x52, 0xe1, - 0x5c, 0x41, 0xe4, 0xd0, 0x7f, 0x5a, 0x3e, 0x62, 0xbc, 0x54, 0x86, 0xc5, 0x4b, 0x55, 0x8a, 0x97, - 0x43, 0x58, 0x40, 0x27, 0x09, 0x53, 0xb7, 0x6b, 0x2c, 0x00, 0x3e, 0x2e, 0xdb, 0x0c, 0x14, 0x85, - 0xe4, 0xbe, 0x17, 0xb0, 0xe8, 0xfc, 0x22, 0xdf, 0x25, 0x02, 0x8b, 0xe5, 0x83, 0x4b, 0xdc, 0xff, - 0x9e, 0xec, 0xfe, 0x1f, 0x29, 0x73, 0xbf, 0x28, 0x89, 0xe0, 0xff, 0x23, 0x98, 0xa7, 0x45, 0xb5, - 0x4b, 0x5c, 0xab, 0x13, 0xf6, 0x99, 0x21, 0x97, 0xa1, 0x89, 0xf4, 0x9d, 0xb0, 0x9f, 0x6d, 0x0e, - 0x05, 0x14, 0x1d, 0xd1, 0x73, 0x6c, 0x5a, 0x3c, 0xd9, 0x08, 0x5e, 0xf4, 0x04, 0x14, 0x5d, 0x20, - 0x43, 0xc2, 0x4f, 0x66, 0xa8, 0x75, 0x2b, 0x46, 0x0a, 0xeb, 0x7f, 0x55, 0x87, 0x29, 0x1e, 0x8d, - 0x6c, 0x51, 0xa4, 0xfb, 0xf1, 0xb4, 0xac, 0x22, 0x84, 0x3d, 0x6f, 0xef, 0x38, 0x0b, 0x2f, 0x84, - 0xc4, 0x63, 0xb1, 0x8a, 0x7c, 0x2c, 0x96, 0x93, 0xa9, 0x5a, 0x94, 0x29, 0xa7, 0x57, 0xad, 0xa8, - 0x17, 0x6d, 0xf1, 0x58, 0xd7, 0xb3, 0xeb, 0x98, 0xd1, 0xbe, 0x17, 0x0c, 0xf8, 0xf6, 0xba, 0x66, - 0x14, 0xf0, 0xb4, 0xad, 0x44, 0x5c, 0xba, 0x2f, 0xc0, 0x25, 0x3c, 0x87, 0xa5, 0x5d, 0x38, 0x62, - 0x92, 0xfd, 0x01, 0x9e, 0x8f, 0xc8, 0x48, 0x94, 0x2d, 0x0c, 0x6d, 0xcf, 0x65, 0x1d, 0x2a, 0x6e, - 0x03, 0x44, 0x14, 0xd5, 0x7c, 0x10, 0xf6, 0xef, 0x04, 0xde, 0x80, 0x6f, 0xbd, 0x12, 0x90, 0x69, - 0xee, 0xb9, 0x51, 0xd2, 0xdd, 0xe2, 0xc9, 0x88, 0x88, 0xa2, 0xb4, 0x1c, 0x64, 0x0d, 0xd3, 0x8c, - 0x91, 0x80, 0x34, 0x96, 0x42, 0x72, 0xc4, 0x1b, 0x7b, 0xfa, 0xa7, 0xe4, 0xb9, 0x79, 0xd9, 0x73, - 0xb9, 0x4e, 0xad, 0xc5, 0xbe, 0x8a, 0x9d, 0x5a, 0xd6, 0xe2, 0x2c, 0x48, 0x2d, 0xce, 0x2a, 0x4c, - 0x79, 0x3e, 0x4d, 0xff, 0xb0, 0xad, 0xb1, 0x74, 0xf9, 0xb1, 0xe1, 0x05, 0x6a, 0x65, 0x07, 0x47, - 0x62, 0x62, 0x24, 0x74, 0xda, 0x3d, 0x98, 0xf7, 0xf6, 0xf7, 0x1d, 0xdb, 0x25, 0xbb, 0x71, 0x78, - 0xc0, 0xb6, 0xe1, 0xe7, 0x58, 0xb0, 0xeb, 0x65, 0x4d, 0x84, 0x3c, 0xd2, 0xc8, 0x93, 0xd2, 0xce, - 0xcf, 0x8c, 0x70, 0x03, 0xc4, 0x0a, 0xdc, 0x79, 0x56, 0xe0, 0x24, 0x1c, 0x3b, 0x5f, 0x14, 0x0a, - 0xfd, 0x05, 0x66, 0x38, 0x11, 0x85, 0x5c, 0x22, 0xb3, 0x77, 0x40, 0xd8, 0x81, 0x52, 0x7b, 0x11, - 0xfb, 0x47, 0x11, 0xc7, 0xbb, 0xbb, 0x57, 0x93, 0xee, 0x6e, 0xe9, 0x43, 0x98, 0x11, 0x15, 0x2c, - 0x49, 0xe6, 0xf3, 0x62, 0x32, 0x4f, 0x8b, 0xb9, 0xfa, 0x3b, 0x0a, 0xcc, 0xe7, 0x54, 0xa3, 0xa3, - 0x23, 0x3b, 0x72, 0x08, 0xe7, 0x80, 0x00, 0xdd, 0x39, 0x59, 0x24, 0xec, 0xf1, 0xe4, 0x61, 0x7f, - 0x73, 0x49, 0x2a, 0x69, 0x1b, 0xad, 0xc3, 0x8c, 0xbd, 0xd3, 0xa5, 0x8c, 0xba, 0x5e, 0xec, 0x5a, - 0xe9, 0x01, 0xbd, 0x80, 0x63, 0x5b, 0xfa, 0x9d, 0xee, 0x9a, 0x69, 0xf5, 0x09, 0x5e, 0xd7, 0xd4, - 0x98, 0x4c, 0x32, 0x52, 0xb7, 0x60, 0xfa, 0xbe, 0xed, 0x87, 0xeb, 0xde, 0x60, 0x40, 0x43, 0xc0, - 0x22, 0x11, 0xed, 0xf1, 0x15, 0x66, 0x30, 0x0e, 0x51, 0x6b, 0x5a, 0x64, 0xdf, 0x8c, 0x9d, 0x88, - 0x0e, 0x4d, 0x4a, 0x86, 0x80, 0x62, 0xc7, 0x0b, 0xa1, 0xe7, 0x6e, 0x20, 0x35, 0xca, 0x29, 0x60, - 0xf4, 0x7f, 0x50, 0xa1, 0xc5, 0x2a, 0xe2, 0x3a, 0x0b, 0x38, 0x8b, 0x11, 0xdd, 0x80, 0x1a, 0x2b, - 0x00, 0xbc, 0xa3, 0x1c, 0x7d, 0x26, 0x83, 0x43, 0xb5, 0x5b, 0x50, 0xf7, 0x7c, 0xd6, 0x86, 0x62, - 0xb9, 0xbc, 0x32, 0x8c, 0x48, 0x3e, 0x92, 0x37, 0x38, 0x95, 0x76, 0x07, 0x60, 0x90, 0x75, 0x9d, - 0xd8, 0x3c, 0x4c, 0xca, 0x43, 0xa0, 0xa4, 0xc6, 0x4d, 0xd7, 0xc5, 0xf4, 0x5c, 0xbe, 0x62, 0xc8, - 0x48, 0x6d, 0x1b, 0xe6, 0x98, 0xd8, 0x3b, 0xc9, 0xe1, 0x1c, 0xf3, 0xc1, 0xe4, 0x33, 0xe6, 0xa8, - 0xf5, 0x3f, 0x54, 0xb8, 0x19, 0xe9, 0xd7, 0x2e, 0x41, 0xdb, 0x67, 0x26, 0x51, 0x4e, 0x65, 0x92, - 0x25, 0x98, 0x1e, 0xc4, 0xc2, 0x59, 0x61, 0xc5, 0x48, 0xe1, 0xcc, 0x45, 0x95, 0x89, 0x5d, 0xa4, - 0xff, 0x91, 0x02, 0xed, 0x4f, 0x3c, 0xdb, 0x65, 0x1f, 0x56, 0x7d, 0xdf, 0xe1, 0xd7, 0x37, 0xa7, - 0xf6, 0xf9, 0x4f, 0x43, 0xc3, 0x44, 0x36, 0x6e, 0xc4, 0xdd, 0x3e, 0xc1, 0xf9, 0x5f, 0x46, 0x23, - 0x1c, 0xc2, 0x54, 0xc4, 0x43, 0x18, 0xfd, 0x1b, 0x05, 0xe6, 0xd0, 0x28, 0x9f, 0xc5, 0x76, 0x74, - 0x6a, 0xf9, 0xd6, 0x60, 0xfa, 0x28, 0xb6, 0xa3, 0x53, 0x44, 0x65, 0x4a, 0x57, 0x8c, 0xa7, 0x4a, - 0x49, 0x3c, 0xe9, 0xdf, 0x29, 0x70, 0x31, 0x6f, 0xd6, 0xd5, 0x5e, 0x8f, 0xf8, 0xcf, 0x32, 0xa5, - 0xa4, 0x43, 0xa8, 0x6a, 0xc9, 0x21, 0x54, 0x40, 0x7a, 0xc4, 0x3e, 0x26, 0xc1, 0x6a, 0xc8, 0x77, - 0xd5, 0x02, 0xa6, 0x54, 0x25, 0x83, 0x7c, 0x4d, 0x7a, 0x2f, 0xae, 0x4a, 0xbf, 0xac, 0xc2, 0x6b, - 0x9b, 0x69, 0xe2, 0xde, 0x0f, 0x4c, 0x37, 0xdc, 0x27, 0x41, 0xf0, 0x0c, 0xf5, 0xb9, 0x07, 0xb3, - 0x2e, 0x79, 0x9c, 0xc9, 0xc4, 0xd3, 0x79, 0x52, 0x36, 0x32, 0xf1, 0x64, 0xb5, 0x4f, 0xff, 0x5f, - 0x05, 0x5a, 0xc8, 0xe7, 0x53, 0xbb, 0x77, 0xf8, 0x0c, 0x95, 0xdf, 0x86, 0xb9, 0x43, 0x26, 0x01, - 0x85, 0x4e, 0x51, 0xf6, 0x73, 0xd4, 0x13, 0xaa, 0xff, 0xbd, 0x02, 0x0b, 0xc9, 0xad, 0xf3, 0xb1, - 0xfd, 0x2c, 0x83, 0x79, 0x17, 0xe6, 0xf1, 0x14, 0xff, 0xb4, 0x06, 0xc8, 0x93, 0x4f, 0x68, 0x81, - 0xbf, 0x54, 0x60, 0x1e, 0x39, 0xdd, 0x76, 0x23, 0x12, 0x9c, 0x5a, 0xff, 0xbb, 0xd0, 0x24, 0x6e, - 0x14, 0x98, 0xee, 0x69, 0x2a, 0xac, 0x48, 0x3a, 0x61, 0x91, 0xfd, 0x46, 0x01, 0x8d, 0xb1, 0xda, - 0xb0, 0xc3, 0x81, 0x1d, 0x86, 0xcf, 0xd0, 0x75, 0x93, 0x09, 0xfc, 0xfb, 0x2a, 0x9c, 0x17, 0xb8, - 0x74, 0xe2, 0xe8, 0x79, 0x17, 0x59, 0xdb, 0x80, 0x06, 0xed, 0x31, 0xc4, 0x3b, 0xd6, 0x49, 0x27, - 0xca, 0x08, 0x69, 0x17, 0xcc, 0x80, 0x2e, 0xe9, 0x79, 0xae, 0x85, 0xa5, 0x78, 0xd6, 0x90, 0x70, - 0xb4, 0x0c, 0x2d, 0x09, 0x6c, 0xd6, 0x4d, 0xb7, 0x47, 0x9c, 0x97, 0xc6, 0x44, 0xfa, 0x9f, 0x28, - 0x30, 0x87, 0x43, 0x9e, 0x7f, 0x95, 0xf5, 0x3f, 0x53, 0x78, 0x20, 0xbf, 0x30, 0x5e, 0xa2, 0xe1, - 0xb5, 0x28, 0x70, 0x11, 0xfb, 0xf2, 0xe7, 0x37, 0xb4, 0xee, 0x42, 0xb3, 0x77, 0x60, 0xba, 0xfd, - 0x53, 0x05, 0x97, 0x48, 0xaa, 0x47, 0xf0, 0xaa, 0x78, 0xe8, 0xbf, 0x8e, 0x9f, 0x98, 0xfa, 0xef, - 0xe4, 0x54, 0x19, 0xf9, 0x86, 0xe2, 0xe9, 0x8c, 0x7e, 0x08, 0x0b, 0x78, 0x0b, 0x2d, 0xf4, 0x8c, - 0x5a, 0x1b, 0xa6, 0x4c, 0x0b, 0x8f, 0x3e, 0x14, 0x46, 0x94, 0x80, 0xf2, 0x2b, 0x05, 0xfe, 0x1e, - 0x2e, 0x7b, 0xa5, 0x70, 0x09, 0xc0, 0xb4, 0xac, 0x87, 0x5e, 0x60, 0xd9, 0x6e, 0xb2, 0x41, 0x10, - 0x30, 0xfa, 0x27, 0x30, 0x73, 0x27, 0xf0, 0x06, 0xf7, 0x85, 0xfb, 0xe4, 0x91, 0x37, 0xde, 0xe2, - 0x5d, 0xb4, 0x2a, 0xdf, 0x45, 0xeb, 0x5f, 0xc1, 0x85, 0x82, 0xe0, 0xcc, 0x58, 0xeb, 0x78, 0x4d, - 0x9e, 0x4c, 0xc2, 0x43, 0xa6, 0xec, 0x2c, 0x50, 0x94, 0xc5, 0x90, 0x88, 0xf4, 0x5f, 0x52, 0xe0, - 0x8d, 0x02, 0xfb, 0x55, 0xdf, 0x0f, 0xbc, 0x63, 0xee, 0x93, 0xb3, 0x98, 0x46, 0x6e, 0x8e, 0xd5, - 0x5c, 0x73, 0x5c, 0x2e, 0x84, 0xd4, 0xd0, 0xff, 0x00, 0x42, 0xfc, 0xb1, 0x02, 0xf3, 0x5c, 0x08, - 0xcb, 0xe2, 0xd3, 0xbe, 0x07, 0x75, 0x7c, 0xa8, 0xc3, 0x27, 0x7c, 0xa3, 0x74, 0xc2, 0xe4, 0x81, - 0x91, 0xc1, 0x07, 0x17, 0x23, 0x52, 0x2d, 0xcb, 0xa8, 0x0f, 0xd2, 0x60, 0x9f, 0xf8, 0x29, 0x0d, - 0x27, 0xd0, 0x7f, 0x26, 0x09, 0xe6, 0x0d, 0xe2, 0x90, 0xb3, 0xb4, 0x91, 0xfe, 0x00, 0xe6, 0xd8, - 0xab, 0xa1, 0xcc, 0x06, 0x67, 0xc2, 0xf6, 0x21, 0xb4, 0x18, 0xdb, 0x33, 0x97, 0x37, 0xcd, 0x0e, - 0x6a, 0x1f, 0xb1, 0x94, 0x9c, 0x09, 0xf7, 0xb7, 0xe1, 0x5c, 0x62, 0x7b, 0x7c, 0x89, 0x8b, 0xbc, - 0x87, 0xdc, 0x0d, 0xea, 0xbf, 0xab, 0xc0, 0xe2, 0xba, 0xe7, 0x1e, 0x93, 0x20, 0x94, 0x5e, 0xef, - 0x22, 0x89, 0x94, 0xfd, 0x1c, 0xd2, 0x56, 0x40, 0xeb, 0x09, 0x14, 0xfc, 0x78, 0x52, 0x65, 0xc7, - 0x93, 0x25, 0x5f, 0xb4, 0x77, 0xe1, 0x42, 0xcc, 0xb8, 0x3e, 0x70, 0x03, 0x62, 0x5a, 0xec, 0x3c, - 0x4e, 0x28, 0x7a, 0xe5, 0x1f, 0xf5, 0xaf, 0x61, 0x49, 0x94, 0xab, 0x4b, 0xa2, 0xdd, 0xc0, 0x3e, - 0x16, 0x64, 0xe3, 0x67, 0xef, 0x8a, 0x74, 0xf6, 0x9e, 0x9d, 0xd5, 0xab, 0xd2, 0x59, 0xfd, 0x45, - 0x68, 0xd8, 0x21, 0x67, 0xc0, 0xe6, 0x9d, 0x36, 0x32, 0x84, 0x6e, 0xc2, 0x02, 0x7a, 0x99, 0xdf, - 0x85, 0xb1, 0x29, 0x96, 0x60, 0x1a, 0x43, 0x37, 0x9d, 0x24, 0x85, 0x87, 0xde, 0x2c, 0x0d, 0xbd, - 0x47, 0xd5, 0xbb, 0xb0, 0xc0, 0xdf, 0x12, 0xed, 0x9a, 0x7d, 0xdb, 0xc5, 0x5a, 0x7e, 0x09, 0xc0, - 0x37, 0xfb, 0xc9, 0xcb, 0x46, 0xbc, 0x11, 0x14, 0x30, 0xf4, 0x7b, 0x78, 0xe0, 0x3d, 0xe6, 0xdf, - 0x55, 0xfc, 0x9e, 0x61, 0xf4, 0xcf, 0x41, 0x33, 0x48, 0xe8, 0x7b, 0x6e, 0x48, 0x04, 0xae, 0xcb, - 0xd0, 0x5c, 0x8f, 0x83, 0x80, 0xb8, 0x74, 0xaa, 0xe4, 0x79, 0x9e, 0x88, 0xa2, 0x7c, 0xbb, 0x19, - 0x5f, 0xbc, 0x3d, 0x10, 0x30, 0xfa, 0x7f, 0xd4, 0xa1, 0xd1, 0xb5, 0xfb, 0xae, 0xe9, 0x18, 0xe4, - 0x48, 0xbb, 0x09, 0x75, 0xdc, 0x19, 0xf1, 0x80, 0x2c, 0x3b, 0xcd, 0xc6, 0xd1, 0xb8, 0x05, 0x34, - 0xc8, 0xd1, 0xdd, 0x57, 0x0c, 0x4e, 0xa3, 0x7d, 0x96, 0xbc, 0xb8, 0xda, 0xc2, 0x93, 0x32, 0xbe, - 0x4c, 0xfe, 0xf8, 0x18, 0x26, 0x7c, 0x34, 0xf2, 0x92, 0x39, 0x50, 0x81, 0x7a, 0xac, 0x73, 0xe2, - 0x55, 0x68, 0xb8, 0x40, 0xd8, 0x60, 0x71, 0x81, 0x90, 0x86, 0x52, 0x9b, 0xec, 0x2c, 0x89, 0x37, - 0x04, 0xc3, 0xa9, 0xf1, 0xc8, 0x89, 0x53, 0x23, 0x0d, 0xa5, 0x3e, 0x88, 0xdd, 0xfe, 0x03, 0x9f, - 0x1f, 0x71, 0x0e, 0xa7, 0xbe, 0xcb, 0x86, 0x71, 0x6a, 0xa4, 0xa1, 0xd4, 0x01, 0x5b, 0x23, 0x98, - 0xd1, 0x47, 0x51, 0xe3, 0x52, 0xc2, 0xa9, 0x91, 0x46, 0xfb, 0x02, 0x5a, 0x7d, 0x12, 0x19, 0x9e, - 0x37, 0x58, 0x3b, 0xd9, 0xe4, 0x37, 0x4c, 0xf8, 0xc0, 0xfc, 0xda, 0x50, 0x3e, 0x9b, 0x39, 0x02, - 0xe4, 0x58, 0xe0, 0xa3, 0xfd, 0x3c, 0xbc, 0xe1, 0xb9, 0x14, 0xb5, 0x6b, 0x06, 0x91, 0xdd, 0xb3, - 0x7d, 0xd3, 0x8d, 0xd6, 0x3d, 0xd7, 0x65, 0xeb, 0x99, 0x41, 0x8e, 0xf8, 0x13, 0xf4, 0xf7, 0x87, - 0x4e, 0xb4, 0x33, 0x8a, 0xfa, 0xee, 0x2b, 0xc6, 0x68, 0xf6, 0xda, 0xaf, 0x29, 0xb0, 0x5c, 0x18, - 0xb1, 0x61, 0x87, 0x3d, 0x51, 0x06, 0x7c, 0xbe, 0xfe, 0xc1, 0xe4, 0x32, 0xe4, 0x18, 0xdc, 0x7d, - 0xc5, 0x18, 0x3b, 0x09, 0xb7, 0xf2, 0x7d, 0xef, 0x90, 0xb8, 0x6b, 0x27, 0x74, 0xec, 0xd6, 0x06, - 0xbb, 0xcd, 0x1a, 0x63, 0x65, 0x89, 0x20, 0xb3, 0xb2, 0x84, 0x5e, 0x6b, 0xc0, 0x94, 0x6f, 0x9e, - 0x38, 0x9e, 0x69, 0xe9, 0xff, 0x55, 0x05, 0x48, 0x5c, 0x1d, 0xb2, 0x8e, 0x58, 0x4a, 0xb2, 0xcb, - 0x63, 0x93, 0xcc, 0x77, 0x4e, 0x84, 0x34, 0xeb, 0x96, 0xa7, 0xd9, 0x4f, 0x4c, 0x9a, 0x66, 0xc8, - 0x2d, 0x97, 0x68, 0xb7, 0x72, 0x89, 0x76, 0x79, 0x6c, 0xa2, 0x71, 0xa1, 0x78, 0xaa, 0xdd, 0xca, - 0xa5, 0xda, 0xe5, 0xb1, 0xa9, 0xc6, 0xe9, 0x79, 0xb2, 0xdd, 0xca, 0x25, 0xdb, 0xe5, 0xb1, 0xc9, - 0xc6, 0xe9, 0x79, 0xba, 0xdd, 0xca, 0xa5, 0xdb, 0xe5, 0xb1, 0xe9, 0xc6, 0xe9, 0x79, 0xc2, 0x7d, - 0x35, 0x34, 0xe1, 0x56, 0x9e, 0x22, 0xe1, 0x90, 0x67, 0x31, 0xe5, 0xbe, 0x2a, 0x09, 0xb4, 0xe9, - 0xf1, 0xdc, 0x73, 0x81, 0x96, 0x71, 0x1f, 0x1a, 0x6a, 0xbf, 0x52, 0x81, 0x39, 0xe6, 0x6e, 0x5c, - 0x95, 0xdd, 0x7d, 0xaf, 0xf8, 0x0e, 0x56, 0x29, 0x79, 0x07, 0xab, 0x5d, 0x83, 0x05, 0x44, 0x10, - 0xe1, 0x1e, 0x12, 0x17, 0xfa, 0xe2, 0x07, 0x76, 0xf3, 0x1a, 0x87, 0x91, 0x37, 0xd8, 0x30, 0x23, - 0x33, 0xd9, 0x61, 0x64, 0x18, 0xf1, 0x5e, 0xbc, 0x5a, 0xf8, 0xb9, 0x48, 0x80, 0xfa, 0xd7, 0xf8, - 0x6a, 0xce, 0x20, 0x4a, 0x11, 0xd9, 0x03, 0xe2, 0xc5, 0x11, 0x5f, 0xa4, 0x12, 0x10, 0x1f, 0x2f, - 0x5a, 0xb6, 0xc9, 0x6e, 0x93, 0xf9, 0xcb, 0xbe, 0x14, 0xc1, 0xd6, 0xd5, 0xec, 0x76, 0x9c, 0xff, - 0x9c, 0x23, 0xc3, 0x4c, 0x70, 0x93, 0xcd, 0x7e, 0x19, 0x64, 0x47, 0xb6, 0xf8, 0xe2, 0xaf, 0x66, - 0x48, 0x38, 0xda, 0x07, 0xed, 0xc5, 0xe1, 0xc9, 0x3d, 0xdb, 0x15, 0xcd, 0xd3, 0xc4, 0x3e, 0xa8, - 0xf8, 0x45, 0xff, 0x4f, 0x05, 0xce, 0x09, 0x75, 0xa7, 0x43, 0x22, 0x93, 0xd9, 0x45, 0x7a, 0xb7, - 0xad, 0x3c, 0xdd, 0xbb, 0xed, 0x5d, 0x98, 0xef, 0xcb, 0xdb, 0xf2, 0xa7, 0xdc, 0x51, 0xe7, 0xc9, - 0xa5, 0x47, 0xe8, 0x95, 0xa7, 0x7e, 0x84, 0xae, 0xff, 0xba, 0x0a, 0xf3, 0xb9, 0x66, 0x60, 0x64, - 0x27, 0xb5, 0x0a, 0x60, 0xa7, 0xa1, 0x39, 0xe2, 0xd6, 0x4b, 0x8e, 0x5f, 0x43, 0x20, 0x2a, 0xbb, - 0x76, 0xaf, 0x9c, 0xfe, 0xda, 0xfd, 0x2e, 0x34, 0xfd, 0xcc, 0x49, 0x23, 0x0e, 0x0d, 0x4a, 0x5c, - 0x69, 0x88, 0xa4, 0xfa, 0x6f, 0x28, 0xb0, 0x50, 0x28, 0xd9, 0xec, 0x32, 0x9c, 0x26, 0x6a, 0x7a, - 0x19, 0x4e, 0x01, 0x21, 0x03, 0xd4, 0x7c, 0x06, 0x38, 0xf6, 0xb1, 0xf8, 0x73, 0x19, 0x0e, 0x0e, - 0x89, 0xbe, 0xea, 0xd0, 0xe8, 0xfb, 0x4d, 0x15, 0x16, 0xcb, 0x1b, 0xac, 0x97, 0xd5, 0x3f, 0xbf, - 0xa5, 0x40, 0x7b, 0xd8, 0x5a, 0xf8, 0xcc, 0xdc, 0x94, 0xe5, 0x4f, 0xda, 0xbb, 0xbe, 0xac, 0xfe, - 0x39, 0x97, 0xa4, 0x8f, 0xd0, 0x5c, 0xe8, 0x7f, 0x91, 0xda, 0x27, 0xed, 0xce, 0x5f, 0x52, 0xfb, - 0x68, 0x57, 0xa1, 0x85, 0x6a, 0x0a, 0x2f, 0xc1, 0x70, 0xb3, 0x57, 0xc0, 0xeb, 0x5f, 0x26, 0xb6, - 0x14, 0x1a, 0xad, 0xb3, 0x8a, 0x71, 0xfd, 0x6f, 0x95, 0xc4, 0x27, 0xe9, 0x9e, 0xe7, 0x85, 0xf2, - 0x49, 0x16, 0x69, 0x42, 0x1b, 0x29, 0x44, 0x5a, 0xba, 0x17, 0xfb, 0xff, 0x48, 0x1b, 0x1f, 0x69, - 0xa9, 0x2d, 0x85, 0x96, 0x5a, 0xff, 0x03, 0x05, 0x5e, 0x1b, 0xba, 0x1f, 0x1d, 0x69, 0x55, 0xa1, - 0x69, 0x54, 0xe5, 0xa6, 0x31, 0xa7, 0x5e, 0xe5, 0xf4, 0x85, 0xe6, 0xef, 0x15, 0x78, 0x7d, 0x44, - 0xf3, 0x9e, 0xf3, 0xac, 0x72, 0x1a, 0xcf, 0xe6, 0x84, 0x55, 0x87, 0x5e, 0x4c, 0x8f, 0xf5, 0x45, - 0x96, 0x9e, 0x15, 0x31, 0x3d, 0xf5, 0x7f, 0x56, 0xe0, 0xcd, 0x09, 0x76, 0xe2, 0xcf, 0x97, 0x32, - 0x43, 0x9f, 0xca, 0xea, 0xff, 0xa2, 0xc0, 0x95, 0xc9, 0x36, 0xf5, 0x2f, 0x8a, 0x46, 0x7f, 0x23, - 0xe6, 0x40, 0xfe, 0xb4, 0x40, 0x70, 0xab, 0x22, 0x55, 0x5d, 0x31, 0x37, 0xd4, 0x5c, 0x6e, 0x9c, - 0x59, 0x06, 0xe4, 0x5f, 0xc4, 0x57, 0x8b, 0x2f, 0xe2, 0x3b, 0x42, 0x8a, 0x14, 0x77, 0xa0, 0x43, - 0x96, 0x12, 0x61, 0xc9, 0x50, 0xe5, 0x25, 0xe3, 0x17, 0x60, 0x76, 0x83, 0x38, 0x9d, 0xb0, 0x9f, - 0xfc, 0x76, 0xe5, 0x4c, 0x4f, 0x5b, 0x27, 0xd0, 0x67, 0x0d, 0xe6, 0x44, 0x01, 0x4e, 0xf3, 0xdb, - 0x0c, 0xfd, 0x21, 0xbc, 0xd6, 0x25, 0xd1, 0xaa, 0xef, 0xaf, 0x99, 0xbd, 0x43, 0xea, 0x66, 0xd7, - 0xea, 0xb2, 0xc7, 0xc4, 0xa3, 0x7e, 0x8c, 0x43, 0x77, 0x96, 0x61, 0x46, 0xc0, 0x5f, 0xd0, 0x4a, - 0x38, 0x7d, 0x1b, 0x96, 0x86, 0x31, 0x3e, 0x95, 0xa0, 0xbf, 0xa8, 0xc2, 0xcc, 0xed, 0x27, 0x11, - 0xbe, 0x9f, 0xef, 0x12, 0xf6, 0xef, 0x4b, 0x52, 0xc1, 0xd4, 0xad, 0x0d, 0xed, 0x26, 0x00, 0x49, - 0xbe, 0x87, 0x3c, 0xfc, 0xcb, 0xf6, 0xa0, 0x29, 0x13, 0x43, 0x18, 0x4f, 0x97, 0x07, 0xc7, 0x8c, - 0x48, 0x18, 0x09, 0xff, 0x18, 0x04, 0x7f, 0xae, 0x50, 0xc0, 0x17, 0xde, 0x23, 0x57, 0x87, 0xbe, - 0x47, 0xae, 0x89, 0xaf, 0x80, 0xd3, 0xd9, 0xb6, 0xe3, 0x01, 0x3f, 0x0b, 0x90, 0x70, 0x25, 0xbf, - 0x8c, 0xac, 0x89, 0xcf, 0xbe, 0xf5, 0x6f, 0x15, 0x68, 0xa4, 0xd2, 0x6b, 0xab, 0xd9, 0x63, 0x73, - 0x65, 0xe8, 0x63, 0x6f, 0x83, 0x98, 0xec, 0x5f, 0x80, 0x88, 0x96, 0xcb, 0x5e, 0xa5, 0x8f, 0xff, - 0x7d, 0x41, 0xf1, 0x17, 0xf8, 0xb5, 0xfc, 0x8f, 0x35, 0x0b, 0x66, 0xab, 0x96, 0x9b, 0x4d, 0x0f, - 0xe0, 0x7c, 0x99, 0x38, 0x34, 0x16, 0x68, 0x5c, 0x7d, 0x9a, 0x3e, 0xcf, 0x4e, 0x40, 0xf9, 0x89, - 0x76, 0x83, 0x3f, 0xd1, 0x7e, 0x1a, 0x57, 0xad, 0x5d, 0xfb, 0xe2, 0xea, 0x8e, 0x4f, 0xdc, 0x47, - 0x5b, 0x9d, 0xc2, 0xbf, 0x06, 0xfa, 0xa8, 0x60, 0xad, 0xbd, 0x3a, 0xfb, 0xfe, 0xce, 0xff, 0x05, - 0x00, 0x00, 0xff, 0xff, 0x85, 0xbc, 0x17, 0x31, 0x7a, 0x48, 0x00, 0x00, -} diff --git a/pkg/proto/sdk_ws/ws.proto b/pkg/proto/sdk_ws/ws.proto index 0dc0cb610..f687ddb5b 100644 --- a/pkg/proto/sdk_ws/ws.proto +++ b/pkg/proto/sdk_ws/ws.proto @@ -710,7 +710,7 @@ message SetAppBackgroundStatusResp { message ExtendMsgSet { string ID = 1; - repeated ExtendMsg extendMsgs = 2; +// repeated ExtendMsg extendMsgs = 2; int32 latestUpdateTime = 3; string attachedInfo = 4; string ex = 5; @@ -718,12 +718,12 @@ message ExtendMsgSet { int32 createTime = 7; } -message ExtendMsg { - repeated ReactionExtendMsgSet content = 1; - string clientMsgID = 2; - int32 createTime = 3; - int32 latestUpdateTime = 4; -} +//message ExtendMsg { +// repeated ReactionExtendMsgSet content = 1; +// string clientMsgID = 2; +// int32 createTime = 3; +// int32 latestUpdateTime = 4; +//} message ReactionExtendMsgSet { string userKey = 1; From 26b3f742ce07b759a1afa9b835c1f9877e21aa50 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Sun, 18 Dec 2022 13:16:26 +0800 Subject: [PATCH 114/176] pb --- pkg/proto/sdk_ws/ws.pb.go | 6505 +++++++++++++++++++++++++++++++++++++ 1 file changed, 6505 insertions(+) create mode 100644 pkg/proto/sdk_ws/ws.pb.go diff --git a/pkg/proto/sdk_ws/ws.pb.go b/pkg/proto/sdk_ws/ws.pb.go new file mode 100644 index 000000000..6042dec52 --- /dev/null +++ b/pkg/proto/sdk_ws/ws.pb.go @@ -0,0 +1,6505 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: sdk_ws/ws.proto + +package server_api_params // import "Open_IM/pkg/proto/sdk_ws" + +import proto "github.com/golang/protobuf/proto" +import fmt "fmt" +import math "math" +import wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package + +type GroupInfo struct { + GroupID string `protobuf:"bytes,1,opt,name=groupID" json:"groupID,omitempty"` + GroupName string `protobuf:"bytes,2,opt,name=groupName" json:"groupName,omitempty"` + Notification string `protobuf:"bytes,3,opt,name=notification" json:"notification,omitempty"` + Introduction string `protobuf:"bytes,4,opt,name=introduction" json:"introduction,omitempty"` + FaceURL string `protobuf:"bytes,5,opt,name=faceURL" json:"faceURL,omitempty"` + OwnerUserID string `protobuf:"bytes,6,opt,name=ownerUserID" json:"ownerUserID,omitempty"` + CreateTime uint32 `protobuf:"varint,7,opt,name=createTime" json:"createTime,omitempty"` + MemberCount uint32 `protobuf:"varint,8,opt,name=memberCount" json:"memberCount,omitempty"` + Ex string `protobuf:"bytes,9,opt,name=ex" json:"ex,omitempty"` + Status int32 `protobuf:"varint,10,opt,name=status" json:"status,omitempty"` + CreatorUserID string `protobuf:"bytes,11,opt,name=creatorUserID" json:"creatorUserID,omitempty"` + GroupType int32 `protobuf:"varint,12,opt,name=groupType" json:"groupType,omitempty"` + NeedVerification int32 `protobuf:"varint,13,opt,name=needVerification" json:"needVerification,omitempty"` + LookMemberInfo int32 `protobuf:"varint,14,opt,name=lookMemberInfo" json:"lookMemberInfo,omitempty"` + ApplyMemberFriend int32 `protobuf:"varint,15,opt,name=applyMemberFriend" json:"applyMemberFriend,omitempty"` + NotificationUpdateTime uint32 `protobuf:"varint,16,opt,name=notificationUpdateTime" json:"notificationUpdateTime,omitempty"` + NotificationUserID string `protobuf:"bytes,17,opt,name=notificationUserID" json:"notificationUserID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GroupInfo) Reset() { *m = GroupInfo{} } +func (m *GroupInfo) String() string { return proto.CompactTextString(m) } +func (*GroupInfo) ProtoMessage() {} +func (*GroupInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{0} +} +func (m *GroupInfo) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GroupInfo.Unmarshal(m, b) +} +func (m *GroupInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GroupInfo.Marshal(b, m, deterministic) +} +func (dst *GroupInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_GroupInfo.Merge(dst, src) +} +func (m *GroupInfo) XXX_Size() int { + return xxx_messageInfo_GroupInfo.Size(m) +} +func (m *GroupInfo) XXX_DiscardUnknown() { + xxx_messageInfo_GroupInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_GroupInfo proto.InternalMessageInfo + +func (m *GroupInfo) GetGroupID() string { + if m != nil { + return m.GroupID + } + return "" +} + +func (m *GroupInfo) GetGroupName() string { + if m != nil { + return m.GroupName + } + return "" +} + +func (m *GroupInfo) GetNotification() string { + if m != nil { + return m.Notification + } + return "" +} + +func (m *GroupInfo) GetIntroduction() string { + if m != nil { + return m.Introduction + } + return "" +} + +func (m *GroupInfo) GetFaceURL() string { + if m != nil { + return m.FaceURL + } + return "" +} + +func (m *GroupInfo) GetOwnerUserID() string { + if m != nil { + return m.OwnerUserID + } + return "" +} + +func (m *GroupInfo) GetCreateTime() uint32 { + if m != nil { + return m.CreateTime + } + return 0 +} + +func (m *GroupInfo) GetMemberCount() uint32 { + if m != nil { + return m.MemberCount + } + return 0 +} + +func (m *GroupInfo) GetEx() string { + if m != nil { + return m.Ex + } + return "" +} + +func (m *GroupInfo) GetStatus() int32 { + if m != nil { + return m.Status + } + return 0 +} + +func (m *GroupInfo) GetCreatorUserID() string { + if m != nil { + return m.CreatorUserID + } + return "" +} + +func (m *GroupInfo) GetGroupType() int32 { + if m != nil { + return m.GroupType + } + return 0 +} + +func (m *GroupInfo) GetNeedVerification() int32 { + if m != nil { + return m.NeedVerification + } + return 0 +} + +func (m *GroupInfo) GetLookMemberInfo() int32 { + if m != nil { + return m.LookMemberInfo + } + return 0 +} + +func (m *GroupInfo) GetApplyMemberFriend() int32 { + if m != nil { + return m.ApplyMemberFriend + } + return 0 +} + +func (m *GroupInfo) GetNotificationUpdateTime() uint32 { + if m != nil { + return m.NotificationUpdateTime + } + return 0 +} + +func (m *GroupInfo) GetNotificationUserID() string { + if m != nil { + return m.NotificationUserID + } + return "" +} + +type GroupInfoForSet struct { + GroupID string `protobuf:"bytes,1,opt,name=groupID" json:"groupID,omitempty"` + GroupName string `protobuf:"bytes,2,opt,name=groupName" json:"groupName,omitempty"` + Notification string `protobuf:"bytes,3,opt,name=notification" json:"notification,omitempty"` + Introduction string `protobuf:"bytes,4,opt,name=introduction" json:"introduction,omitempty"` + FaceURL string `protobuf:"bytes,5,opt,name=faceURL" json:"faceURL,omitempty"` + Ex string `protobuf:"bytes,6,opt,name=ex" json:"ex,omitempty"` + NeedVerification *wrapperspb.Int32Value `protobuf:"bytes,7,opt,name=needVerification" json:"needVerification,omitempty"` + LookMemberInfo *wrapperspb.Int32Value `protobuf:"bytes,8,opt,name=lookMemberInfo" json:"lookMemberInfo,omitempty"` + ApplyMemberFriend *wrapperspb.Int32Value `protobuf:"bytes,9,opt,name=applyMemberFriend" json:"applyMemberFriend,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GroupInfoForSet) Reset() { *m = GroupInfoForSet{} } +func (m *GroupInfoForSet) String() string { return proto.CompactTextString(m) } +func (*GroupInfoForSet) ProtoMessage() {} +func (*GroupInfoForSet) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{1} +} +func (m *GroupInfoForSet) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GroupInfoForSet.Unmarshal(m, b) +} +func (m *GroupInfoForSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GroupInfoForSet.Marshal(b, m, deterministic) +} +func (dst *GroupInfoForSet) XXX_Merge(src proto.Message) { + xxx_messageInfo_GroupInfoForSet.Merge(dst, src) +} +func (m *GroupInfoForSet) XXX_Size() int { + return xxx_messageInfo_GroupInfoForSet.Size(m) +} +func (m *GroupInfoForSet) XXX_DiscardUnknown() { + xxx_messageInfo_GroupInfoForSet.DiscardUnknown(m) +} + +var xxx_messageInfo_GroupInfoForSet proto.InternalMessageInfo + +func (m *GroupInfoForSet) GetGroupID() string { + if m != nil { + return m.GroupID + } + return "" +} + +func (m *GroupInfoForSet) GetGroupName() string { + if m != nil { + return m.GroupName + } + return "" +} + +func (m *GroupInfoForSet) GetNotification() string { + if m != nil { + return m.Notification + } + return "" +} + +func (m *GroupInfoForSet) GetIntroduction() string { + if m != nil { + return m.Introduction + } + return "" +} + +func (m *GroupInfoForSet) GetFaceURL() string { + if m != nil { + return m.FaceURL + } + return "" +} + +func (m *GroupInfoForSet) GetEx() string { + if m != nil { + return m.Ex + } + return "" +} + +func (m *GroupInfoForSet) GetNeedVerification() *wrapperspb.Int32Value { + if m != nil { + return m.NeedVerification + } + return nil +} + +func (m *GroupInfoForSet) GetLookMemberInfo() *wrapperspb.Int32Value { + if m != nil { + return m.LookMemberInfo + } + return nil +} + +func (m *GroupInfoForSet) GetApplyMemberFriend() *wrapperspb.Int32Value { + if m != nil { + return m.ApplyMemberFriend + } + return nil +} + +type GroupMemberFullInfo struct { + GroupID string `protobuf:"bytes,1,opt,name=groupID" json:"groupID,omitempty"` + UserID string `protobuf:"bytes,2,opt,name=userID" json:"userID,omitempty"` + RoleLevel int32 `protobuf:"varint,3,opt,name=roleLevel" json:"roleLevel,omitempty"` + JoinTime int32 `protobuf:"varint,4,opt,name=joinTime" json:"joinTime,omitempty"` + Nickname string `protobuf:"bytes,5,opt,name=nickname" json:"nickname,omitempty"` + FaceURL string `protobuf:"bytes,6,opt,name=faceURL" json:"faceURL,omitempty"` + AppMangerLevel int32 `protobuf:"varint,7,opt,name=appMangerLevel" json:"appMangerLevel,omitempty"` + JoinSource int32 `protobuf:"varint,8,opt,name=joinSource" json:"joinSource,omitempty"` + OperatorUserID string `protobuf:"bytes,9,opt,name=operatorUserID" json:"operatorUserID,omitempty"` + Ex string `protobuf:"bytes,10,opt,name=ex" json:"ex,omitempty"` + MuteEndTime uint32 `protobuf:"varint,11,opt,name=muteEndTime" json:"muteEndTime,omitempty"` + InviterUserID string `protobuf:"bytes,12,opt,name=inviterUserID" json:"inviterUserID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GroupMemberFullInfo) Reset() { *m = GroupMemberFullInfo{} } +func (m *GroupMemberFullInfo) String() string { return proto.CompactTextString(m) } +func (*GroupMemberFullInfo) ProtoMessage() {} +func (*GroupMemberFullInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{2} +} +func (m *GroupMemberFullInfo) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GroupMemberFullInfo.Unmarshal(m, b) +} +func (m *GroupMemberFullInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GroupMemberFullInfo.Marshal(b, m, deterministic) +} +func (dst *GroupMemberFullInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_GroupMemberFullInfo.Merge(dst, src) +} +func (m *GroupMemberFullInfo) XXX_Size() int { + return xxx_messageInfo_GroupMemberFullInfo.Size(m) +} +func (m *GroupMemberFullInfo) XXX_DiscardUnknown() { + xxx_messageInfo_GroupMemberFullInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_GroupMemberFullInfo proto.InternalMessageInfo + +func (m *GroupMemberFullInfo) GetGroupID() string { + if m != nil { + return m.GroupID + } + return "" +} + +func (m *GroupMemberFullInfo) GetUserID() string { + if m != nil { + return m.UserID + } + return "" +} + +func (m *GroupMemberFullInfo) GetRoleLevel() int32 { + if m != nil { + return m.RoleLevel + } + return 0 +} + +func (m *GroupMemberFullInfo) GetJoinTime() int32 { + if m != nil { + return m.JoinTime + } + return 0 +} + +func (m *GroupMemberFullInfo) GetNickname() string { + if m != nil { + return m.Nickname + } + return "" +} + +func (m *GroupMemberFullInfo) GetFaceURL() string { + if m != nil { + return m.FaceURL + } + return "" +} + +func (m *GroupMemberFullInfo) GetAppMangerLevel() int32 { + if m != nil { + return m.AppMangerLevel + } + return 0 +} + +func (m *GroupMemberFullInfo) GetJoinSource() int32 { + if m != nil { + return m.JoinSource + } + return 0 +} + +func (m *GroupMemberFullInfo) GetOperatorUserID() string { + if m != nil { + return m.OperatorUserID + } + return "" +} + +func (m *GroupMemberFullInfo) GetEx() string { + if m != nil { + return m.Ex + } + return "" +} + +func (m *GroupMemberFullInfo) GetMuteEndTime() uint32 { + if m != nil { + return m.MuteEndTime + } + return 0 +} + +func (m *GroupMemberFullInfo) GetInviterUserID() string { + if m != nil { + return m.InviterUserID + } + return "" +} + +type PublicUserInfo struct { + UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` + Nickname string `protobuf:"bytes,2,opt,name=nickname" json:"nickname,omitempty"` + FaceURL string `protobuf:"bytes,3,opt,name=faceURL" json:"faceURL,omitempty"` + Gender int32 `protobuf:"varint,4,opt,name=gender" json:"gender,omitempty"` + Ex string `protobuf:"bytes,5,opt,name=ex" json:"ex,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *PublicUserInfo) Reset() { *m = PublicUserInfo{} } +func (m *PublicUserInfo) String() string { return proto.CompactTextString(m) } +func (*PublicUserInfo) ProtoMessage() {} +func (*PublicUserInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{3} +} +func (m *PublicUserInfo) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PublicUserInfo.Unmarshal(m, b) +} +func (m *PublicUserInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PublicUserInfo.Marshal(b, m, deterministic) +} +func (dst *PublicUserInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_PublicUserInfo.Merge(dst, src) +} +func (m *PublicUserInfo) XXX_Size() int { + return xxx_messageInfo_PublicUserInfo.Size(m) +} +func (m *PublicUserInfo) XXX_DiscardUnknown() { + xxx_messageInfo_PublicUserInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_PublicUserInfo proto.InternalMessageInfo + +func (m *PublicUserInfo) GetUserID() string { + if m != nil { + return m.UserID + } + return "" +} + +func (m *PublicUserInfo) GetNickname() string { + if m != nil { + return m.Nickname + } + return "" +} + +func (m *PublicUserInfo) GetFaceURL() string { + if m != nil { + return m.FaceURL + } + return "" +} + +func (m *PublicUserInfo) GetGender() int32 { + if m != nil { + return m.Gender + } + return 0 +} + +func (m *PublicUserInfo) GetEx() string { + if m != nil { + return m.Ex + } + return "" +} + +type UserInfo struct { + UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` + Nickname string `protobuf:"bytes,2,opt,name=nickname" json:"nickname,omitempty"` + FaceURL string `protobuf:"bytes,3,opt,name=faceURL" json:"faceURL,omitempty"` + Gender int32 `protobuf:"varint,4,opt,name=gender" json:"gender,omitempty"` + PhoneNumber string `protobuf:"bytes,5,opt,name=phoneNumber" json:"phoneNumber,omitempty"` + Birth uint32 `protobuf:"varint,6,opt,name=birth" json:"birth,omitempty"` + Email string `protobuf:"bytes,7,opt,name=email" json:"email,omitempty"` + Ex string `protobuf:"bytes,8,opt,name=ex" json:"ex,omitempty"` + CreateTime uint32 `protobuf:"varint,9,opt,name=createTime" json:"createTime,omitempty"` + AppMangerLevel int32 `protobuf:"varint,10,opt,name=appMangerLevel" json:"appMangerLevel,omitempty"` + GlobalRecvMsgOpt int32 `protobuf:"varint,11,opt,name=globalRecvMsgOpt" json:"globalRecvMsgOpt,omitempty"` + BirthStr string `protobuf:"bytes,12,opt,name=birthStr" json:"birthStr,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UserInfo) Reset() { *m = UserInfo{} } +func (m *UserInfo) String() string { return proto.CompactTextString(m) } +func (*UserInfo) ProtoMessage() {} +func (*UserInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{4} +} +func (m *UserInfo) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UserInfo.Unmarshal(m, b) +} +func (m *UserInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UserInfo.Marshal(b, m, deterministic) +} +func (dst *UserInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_UserInfo.Merge(dst, src) +} +func (m *UserInfo) XXX_Size() int { + return xxx_messageInfo_UserInfo.Size(m) +} +func (m *UserInfo) XXX_DiscardUnknown() { + xxx_messageInfo_UserInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_UserInfo proto.InternalMessageInfo + +func (m *UserInfo) GetUserID() string { + if m != nil { + return m.UserID + } + return "" +} + +func (m *UserInfo) GetNickname() string { + if m != nil { + return m.Nickname + } + return "" +} + +func (m *UserInfo) GetFaceURL() string { + if m != nil { + return m.FaceURL + } + return "" +} + +func (m *UserInfo) GetGender() int32 { + if m != nil { + return m.Gender + } + return 0 +} + +func (m *UserInfo) GetPhoneNumber() string { + if m != nil { + return m.PhoneNumber + } + return "" +} + +func (m *UserInfo) GetBirth() uint32 { + if m != nil { + return m.Birth + } + return 0 +} + +func (m *UserInfo) GetEmail() string { + if m != nil { + return m.Email + } + return "" +} + +func (m *UserInfo) GetEx() string { + if m != nil { + return m.Ex + } + return "" +} + +func (m *UserInfo) GetCreateTime() uint32 { + if m != nil { + return m.CreateTime + } + return 0 +} + +func (m *UserInfo) GetAppMangerLevel() int32 { + if m != nil { + return m.AppMangerLevel + } + return 0 +} + +func (m *UserInfo) GetGlobalRecvMsgOpt() int32 { + if m != nil { + return m.GlobalRecvMsgOpt + } + return 0 +} + +func (m *UserInfo) GetBirthStr() string { + if m != nil { + return m.BirthStr + } + return "" +} + +type FriendInfo struct { + OwnerUserID string `protobuf:"bytes,1,opt,name=ownerUserID" json:"ownerUserID,omitempty"` + Remark string `protobuf:"bytes,2,opt,name=remark" json:"remark,omitempty"` + CreateTime uint32 `protobuf:"varint,3,opt,name=createTime" json:"createTime,omitempty"` + FriendUser *UserInfo `protobuf:"bytes,4,opt,name=friendUser" json:"friendUser,omitempty"` + AddSource int32 `protobuf:"varint,5,opt,name=addSource" json:"addSource,omitempty"` + OperatorUserID string `protobuf:"bytes,6,opt,name=operatorUserID" json:"operatorUserID,omitempty"` + Ex string `protobuf:"bytes,7,opt,name=ex" json:"ex,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FriendInfo) Reset() { *m = FriendInfo{} } +func (m *FriendInfo) String() string { return proto.CompactTextString(m) } +func (*FriendInfo) ProtoMessage() {} +func (*FriendInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{5} +} +func (m *FriendInfo) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FriendInfo.Unmarshal(m, b) +} +func (m *FriendInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FriendInfo.Marshal(b, m, deterministic) +} +func (dst *FriendInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_FriendInfo.Merge(dst, src) +} +func (m *FriendInfo) XXX_Size() int { + return xxx_messageInfo_FriendInfo.Size(m) +} +func (m *FriendInfo) XXX_DiscardUnknown() { + xxx_messageInfo_FriendInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_FriendInfo proto.InternalMessageInfo + +func (m *FriendInfo) GetOwnerUserID() string { + if m != nil { + return m.OwnerUserID + } + return "" +} + +func (m *FriendInfo) GetRemark() string { + if m != nil { + return m.Remark + } + return "" +} + +func (m *FriendInfo) GetCreateTime() uint32 { + if m != nil { + return m.CreateTime + } + return 0 +} + +func (m *FriendInfo) GetFriendUser() *UserInfo { + if m != nil { + return m.FriendUser + } + return nil +} + +func (m *FriendInfo) GetAddSource() int32 { + if m != nil { + return m.AddSource + } + return 0 +} + +func (m *FriendInfo) GetOperatorUserID() string { + if m != nil { + return m.OperatorUserID + } + return "" +} + +func (m *FriendInfo) GetEx() string { + if m != nil { + return m.Ex + } + return "" +} + +type BlackInfo struct { + OwnerUserID string `protobuf:"bytes,1,opt,name=ownerUserID" json:"ownerUserID,omitempty"` + CreateTime uint32 `protobuf:"varint,2,opt,name=createTime" json:"createTime,omitempty"` + BlackUserInfo *PublicUserInfo `protobuf:"bytes,3,opt,name=blackUserInfo" json:"blackUserInfo,omitempty"` + AddSource int32 `protobuf:"varint,4,opt,name=addSource" json:"addSource,omitempty"` + OperatorUserID string `protobuf:"bytes,5,opt,name=operatorUserID" json:"operatorUserID,omitempty"` + Ex string `protobuf:"bytes,6,opt,name=ex" json:"ex,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *BlackInfo) Reset() { *m = BlackInfo{} } +func (m *BlackInfo) String() string { return proto.CompactTextString(m) } +func (*BlackInfo) ProtoMessage() {} +func (*BlackInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{6} +} +func (m *BlackInfo) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_BlackInfo.Unmarshal(m, b) +} +func (m *BlackInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_BlackInfo.Marshal(b, m, deterministic) +} +func (dst *BlackInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_BlackInfo.Merge(dst, src) +} +func (m *BlackInfo) XXX_Size() int { + return xxx_messageInfo_BlackInfo.Size(m) +} +func (m *BlackInfo) XXX_DiscardUnknown() { + xxx_messageInfo_BlackInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_BlackInfo proto.InternalMessageInfo + +func (m *BlackInfo) GetOwnerUserID() string { + if m != nil { + return m.OwnerUserID + } + return "" +} + +func (m *BlackInfo) GetCreateTime() uint32 { + if m != nil { + return m.CreateTime + } + return 0 +} + +func (m *BlackInfo) GetBlackUserInfo() *PublicUserInfo { + if m != nil { + return m.BlackUserInfo + } + return nil +} + +func (m *BlackInfo) GetAddSource() int32 { + if m != nil { + return m.AddSource + } + return 0 +} + +func (m *BlackInfo) GetOperatorUserID() string { + if m != nil { + return m.OperatorUserID + } + return "" +} + +func (m *BlackInfo) GetEx() string { + if m != nil { + return m.Ex + } + return "" +} + +type GroupRequest struct { + UserInfo *PublicUserInfo `protobuf:"bytes,1,opt,name=userInfo" json:"userInfo,omitempty"` + GroupInfo *GroupInfo `protobuf:"bytes,2,opt,name=groupInfo" json:"groupInfo,omitempty"` + HandleResult int32 `protobuf:"varint,3,opt,name=handleResult" json:"handleResult,omitempty"` + ReqMsg string `protobuf:"bytes,4,opt,name=reqMsg" json:"reqMsg,omitempty"` + HandleMsg string `protobuf:"bytes,5,opt,name=handleMsg" json:"handleMsg,omitempty"` + ReqTime uint32 `protobuf:"varint,6,opt,name=reqTime" json:"reqTime,omitempty"` + HandleUserID string `protobuf:"bytes,7,opt,name=handleUserID" json:"handleUserID,omitempty"` + HandleTime uint32 `protobuf:"varint,8,opt,name=handleTime" json:"handleTime,omitempty"` + Ex string `protobuf:"bytes,9,opt,name=ex" json:"ex,omitempty"` + JoinSource int32 `protobuf:"varint,10,opt,name=joinSource" json:"joinSource,omitempty"` + InviterUserID string `protobuf:"bytes,11,opt,name=inviterUserID" json:"inviterUserID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GroupRequest) Reset() { *m = GroupRequest{} } +func (m *GroupRequest) String() string { return proto.CompactTextString(m) } +func (*GroupRequest) ProtoMessage() {} +func (*GroupRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{7} +} +func (m *GroupRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GroupRequest.Unmarshal(m, b) +} +func (m *GroupRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GroupRequest.Marshal(b, m, deterministic) +} +func (dst *GroupRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_GroupRequest.Merge(dst, src) +} +func (m *GroupRequest) XXX_Size() int { + return xxx_messageInfo_GroupRequest.Size(m) +} +func (m *GroupRequest) XXX_DiscardUnknown() { + xxx_messageInfo_GroupRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_GroupRequest proto.InternalMessageInfo + +func (m *GroupRequest) GetUserInfo() *PublicUserInfo { + if m != nil { + return m.UserInfo + } + return nil +} + +func (m *GroupRequest) GetGroupInfo() *GroupInfo { + if m != nil { + return m.GroupInfo + } + return nil +} + +func (m *GroupRequest) GetHandleResult() int32 { + if m != nil { + return m.HandleResult + } + return 0 +} + +func (m *GroupRequest) GetReqMsg() string { + if m != nil { + return m.ReqMsg + } + return "" +} + +func (m *GroupRequest) GetHandleMsg() string { + if m != nil { + return m.HandleMsg + } + return "" +} + +func (m *GroupRequest) GetReqTime() uint32 { + if m != nil { + return m.ReqTime + } + return 0 +} + +func (m *GroupRequest) GetHandleUserID() string { + if m != nil { + return m.HandleUserID + } + return "" +} + +func (m *GroupRequest) GetHandleTime() uint32 { + if m != nil { + return m.HandleTime + } + return 0 +} + +func (m *GroupRequest) GetEx() string { + if m != nil { + return m.Ex + } + return "" +} + +func (m *GroupRequest) GetJoinSource() int32 { + if m != nil { + return m.JoinSource + } + return 0 +} + +func (m *GroupRequest) GetInviterUserID() string { + if m != nil { + return m.InviterUserID + } + return "" +} + +type FriendRequest struct { + FromUserID string `protobuf:"bytes,1,opt,name=fromUserID" json:"fromUserID,omitempty"` + FromNickname string `protobuf:"bytes,2,opt,name=fromNickname" json:"fromNickname,omitempty"` + FromFaceURL string `protobuf:"bytes,3,opt,name=fromFaceURL" json:"fromFaceURL,omitempty"` + FromGender int32 `protobuf:"varint,4,opt,name=fromGender" json:"fromGender,omitempty"` + ToUserID string `protobuf:"bytes,5,opt,name=toUserID" json:"toUserID,omitempty"` + ToNickname string `protobuf:"bytes,6,opt,name=toNickname" json:"toNickname,omitempty"` + ToFaceURL string `protobuf:"bytes,7,opt,name=toFaceURL" json:"toFaceURL,omitempty"` + ToGender int32 `protobuf:"varint,8,opt,name=toGender" json:"toGender,omitempty"` + HandleResult int32 `protobuf:"varint,9,opt,name=handleResult" json:"handleResult,omitempty"` + ReqMsg string `protobuf:"bytes,10,opt,name=reqMsg" json:"reqMsg,omitempty"` + CreateTime uint32 `protobuf:"varint,11,opt,name=createTime" json:"createTime,omitempty"` + HandlerUserID string `protobuf:"bytes,12,opt,name=handlerUserID" json:"handlerUserID,omitempty"` + HandleMsg string `protobuf:"bytes,13,opt,name=handleMsg" json:"handleMsg,omitempty"` + HandleTime uint32 `protobuf:"varint,14,opt,name=handleTime" json:"handleTime,omitempty"` + Ex string `protobuf:"bytes,15,opt,name=ex" json:"ex,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FriendRequest) Reset() { *m = FriendRequest{} } +func (m *FriendRequest) String() string { return proto.CompactTextString(m) } +func (*FriendRequest) ProtoMessage() {} +func (*FriendRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{8} +} +func (m *FriendRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FriendRequest.Unmarshal(m, b) +} +func (m *FriendRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FriendRequest.Marshal(b, m, deterministic) +} +func (dst *FriendRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_FriendRequest.Merge(dst, src) +} +func (m *FriendRequest) XXX_Size() int { + return xxx_messageInfo_FriendRequest.Size(m) +} +func (m *FriendRequest) XXX_DiscardUnknown() { + xxx_messageInfo_FriendRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_FriendRequest proto.InternalMessageInfo + +func (m *FriendRequest) GetFromUserID() string { + if m != nil { + return m.FromUserID + } + return "" +} + +func (m *FriendRequest) GetFromNickname() string { + if m != nil { + return m.FromNickname + } + return "" +} + +func (m *FriendRequest) GetFromFaceURL() string { + if m != nil { + return m.FromFaceURL + } + return "" +} + +func (m *FriendRequest) GetFromGender() int32 { + if m != nil { + return m.FromGender + } + return 0 +} + +func (m *FriendRequest) GetToUserID() string { + if m != nil { + return m.ToUserID + } + return "" +} + +func (m *FriendRequest) GetToNickname() string { + if m != nil { + return m.ToNickname + } + return "" +} + +func (m *FriendRequest) GetToFaceURL() string { + if m != nil { + return m.ToFaceURL + } + return "" +} + +func (m *FriendRequest) GetToGender() int32 { + if m != nil { + return m.ToGender + } + return 0 +} + +func (m *FriendRequest) GetHandleResult() int32 { + if m != nil { + return m.HandleResult + } + return 0 +} + +func (m *FriendRequest) GetReqMsg() string { + if m != nil { + return m.ReqMsg + } + return "" +} + +func (m *FriendRequest) GetCreateTime() uint32 { + if m != nil { + return m.CreateTime + } + return 0 +} + +func (m *FriendRequest) GetHandlerUserID() string { + if m != nil { + return m.HandlerUserID + } + return "" +} + +func (m *FriendRequest) GetHandleMsg() string { + if m != nil { + return m.HandleMsg + } + return "" +} + +func (m *FriendRequest) GetHandleTime() uint32 { + if m != nil { + return m.HandleTime + } + return 0 +} + +func (m *FriendRequest) GetEx() string { + if m != nil { + return m.Ex + } + return "" +} + +type Department struct { + DepartmentID string `protobuf:"bytes,1,opt,name=departmentID" json:"departmentID,omitempty"` + FaceURL string `protobuf:"bytes,2,opt,name=faceURL" json:"faceURL,omitempty"` + Name string `protobuf:"bytes,3,opt,name=name" json:"name,omitempty"` + ParentID string `protobuf:"bytes,4,opt,name=parentID" json:"parentID,omitempty"` + Order int32 `protobuf:"varint,5,opt,name=order" json:"order,omitempty"` + DepartmentType int32 `protobuf:"varint,6,opt,name=departmentType" json:"departmentType,omitempty"` + CreateTime uint32 `protobuf:"varint,7,opt,name=createTime" json:"createTime,omitempty"` + SubDepartmentNum uint32 `protobuf:"varint,8,opt,name=subDepartmentNum" json:"subDepartmentNum,omitempty"` + MemberNum uint32 `protobuf:"varint,9,opt,name=memberNum" json:"memberNum,omitempty"` + Ex string `protobuf:"bytes,10,opt,name=ex" json:"ex,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Department) Reset() { *m = Department{} } +func (m *Department) String() string { return proto.CompactTextString(m) } +func (*Department) ProtoMessage() {} +func (*Department) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{9} +} +func (m *Department) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Department.Unmarshal(m, b) +} +func (m *Department) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Department.Marshal(b, m, deterministic) +} +func (dst *Department) XXX_Merge(src proto.Message) { + xxx_messageInfo_Department.Merge(dst, src) +} +func (m *Department) XXX_Size() int { + return xxx_messageInfo_Department.Size(m) +} +func (m *Department) XXX_DiscardUnknown() { + xxx_messageInfo_Department.DiscardUnknown(m) +} + +var xxx_messageInfo_Department proto.InternalMessageInfo + +func (m *Department) GetDepartmentID() string { + if m != nil { + return m.DepartmentID + } + return "" +} + +func (m *Department) GetFaceURL() string { + if m != nil { + return m.FaceURL + } + return "" +} + +func (m *Department) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *Department) GetParentID() string { + if m != nil { + return m.ParentID + } + return "" +} + +func (m *Department) GetOrder() int32 { + if m != nil { + return m.Order + } + return 0 +} + +func (m *Department) GetDepartmentType() int32 { + if m != nil { + return m.DepartmentType + } + return 0 +} + +func (m *Department) GetCreateTime() uint32 { + if m != nil { + return m.CreateTime + } + return 0 +} + +func (m *Department) GetSubDepartmentNum() uint32 { + if m != nil { + return m.SubDepartmentNum + } + return 0 +} + +func (m *Department) GetMemberNum() uint32 { + if m != nil { + return m.MemberNum + } + return 0 +} + +func (m *Department) GetEx() string { + if m != nil { + return m.Ex + } + return "" +} + +type OrganizationUser struct { + UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` + Nickname string `protobuf:"bytes,2,opt,name=nickname" json:"nickname,omitempty"` + EnglishName string `protobuf:"bytes,3,opt,name=englishName" json:"englishName,omitempty"` + FaceURL string `protobuf:"bytes,4,opt,name=faceURL" json:"faceURL,omitempty"` + Gender int32 `protobuf:"varint,5,opt,name=gender" json:"gender,omitempty"` + Mobile string `protobuf:"bytes,6,opt,name=mobile" json:"mobile,omitempty"` + Telephone string `protobuf:"bytes,7,opt,name=telephone" json:"telephone,omitempty"` + Birth uint32 `protobuf:"varint,8,opt,name=birth" json:"birth,omitempty"` + Email string `protobuf:"bytes,9,opt,name=email" json:"email,omitempty"` + CreateTime uint32 `protobuf:"varint,10,opt,name=createTime" json:"createTime,omitempty"` + Ex string `protobuf:"bytes,11,opt,name=ex" json:"ex,omitempty"` + BirthStr string `protobuf:"bytes,12,opt,name=birthStr" json:"birthStr,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *OrganizationUser) Reset() { *m = OrganizationUser{} } +func (m *OrganizationUser) String() string { return proto.CompactTextString(m) } +func (*OrganizationUser) ProtoMessage() {} +func (*OrganizationUser) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{10} +} +func (m *OrganizationUser) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OrganizationUser.Unmarshal(m, b) +} +func (m *OrganizationUser) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OrganizationUser.Marshal(b, m, deterministic) +} +func (dst *OrganizationUser) XXX_Merge(src proto.Message) { + xxx_messageInfo_OrganizationUser.Merge(dst, src) +} +func (m *OrganizationUser) XXX_Size() int { + return xxx_messageInfo_OrganizationUser.Size(m) +} +func (m *OrganizationUser) XXX_DiscardUnknown() { + xxx_messageInfo_OrganizationUser.DiscardUnknown(m) +} + +var xxx_messageInfo_OrganizationUser proto.InternalMessageInfo + +func (m *OrganizationUser) GetUserID() string { + if m != nil { + return m.UserID + } + return "" +} + +func (m *OrganizationUser) GetNickname() string { + if m != nil { + return m.Nickname + } + return "" +} + +func (m *OrganizationUser) GetEnglishName() string { + if m != nil { + return m.EnglishName + } + return "" +} + +func (m *OrganizationUser) GetFaceURL() string { + if m != nil { + return m.FaceURL + } + return "" +} + +func (m *OrganizationUser) GetGender() int32 { + if m != nil { + return m.Gender + } + return 0 +} + +func (m *OrganizationUser) GetMobile() string { + if m != nil { + return m.Mobile + } + return "" +} + +func (m *OrganizationUser) GetTelephone() string { + if m != nil { + return m.Telephone + } + return "" +} + +func (m *OrganizationUser) GetBirth() uint32 { + if m != nil { + return m.Birth + } + return 0 +} + +func (m *OrganizationUser) GetEmail() string { + if m != nil { + return m.Email + } + return "" +} + +func (m *OrganizationUser) GetCreateTime() uint32 { + if m != nil { + return m.CreateTime + } + return 0 +} + +func (m *OrganizationUser) GetEx() string { + if m != nil { + return m.Ex + } + return "" +} + +func (m *OrganizationUser) GetBirthStr() string { + if m != nil { + return m.BirthStr + } + return "" +} + +type DepartmentMember struct { + UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` + DepartmentID string `protobuf:"bytes,2,opt,name=departmentID" json:"departmentID,omitempty"` + Order int32 `protobuf:"varint,3,opt,name=order" json:"order,omitempty"` + Position string `protobuf:"bytes,4,opt,name=position" json:"position,omitempty"` + Leader int32 `protobuf:"varint,5,opt,name=leader" json:"leader,omitempty"` + Status int32 `protobuf:"varint,6,opt,name=status" json:"status,omitempty"` + Ex string `protobuf:"bytes,7,opt,name=ex" json:"ex,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DepartmentMember) Reset() { *m = DepartmentMember{} } +func (m *DepartmentMember) String() string { return proto.CompactTextString(m) } +func (*DepartmentMember) ProtoMessage() {} +func (*DepartmentMember) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{11} +} +func (m *DepartmentMember) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DepartmentMember.Unmarshal(m, b) +} +func (m *DepartmentMember) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DepartmentMember.Marshal(b, m, deterministic) +} +func (dst *DepartmentMember) XXX_Merge(src proto.Message) { + xxx_messageInfo_DepartmentMember.Merge(dst, src) +} +func (m *DepartmentMember) XXX_Size() int { + return xxx_messageInfo_DepartmentMember.Size(m) +} +func (m *DepartmentMember) XXX_DiscardUnknown() { + xxx_messageInfo_DepartmentMember.DiscardUnknown(m) +} + +var xxx_messageInfo_DepartmentMember proto.InternalMessageInfo + +func (m *DepartmentMember) GetUserID() string { + if m != nil { + return m.UserID + } + return "" +} + +func (m *DepartmentMember) GetDepartmentID() string { + if m != nil { + return m.DepartmentID + } + return "" +} + +func (m *DepartmentMember) GetOrder() int32 { + if m != nil { + return m.Order + } + return 0 +} + +func (m *DepartmentMember) GetPosition() string { + if m != nil { + return m.Position + } + return "" +} + +func (m *DepartmentMember) GetLeader() int32 { + if m != nil { + return m.Leader + } + return 0 +} + +func (m *DepartmentMember) GetStatus() int32 { + if m != nil { + return m.Status + } + return 0 +} + +func (m *DepartmentMember) GetEx() string { + if m != nil { + return m.Ex + } + return "" +} + +type UserDepartmentMember struct { + OrganizationUser *OrganizationUser `protobuf:"bytes,1,opt,name=organizationUser" json:"organizationUser,omitempty"` + DepartmentMember *DepartmentMember `protobuf:"bytes,2,opt,name=departmentMember" json:"departmentMember,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UserDepartmentMember) Reset() { *m = UserDepartmentMember{} } +func (m *UserDepartmentMember) String() string { return proto.CompactTextString(m) } +func (*UserDepartmentMember) ProtoMessage() {} +func (*UserDepartmentMember) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{12} +} +func (m *UserDepartmentMember) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UserDepartmentMember.Unmarshal(m, b) +} +func (m *UserDepartmentMember) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UserDepartmentMember.Marshal(b, m, deterministic) +} +func (dst *UserDepartmentMember) XXX_Merge(src proto.Message) { + xxx_messageInfo_UserDepartmentMember.Merge(dst, src) +} +func (m *UserDepartmentMember) XXX_Size() int { + return xxx_messageInfo_UserDepartmentMember.Size(m) +} +func (m *UserDepartmentMember) XXX_DiscardUnknown() { + xxx_messageInfo_UserDepartmentMember.DiscardUnknown(m) +} + +var xxx_messageInfo_UserDepartmentMember proto.InternalMessageInfo + +func (m *UserDepartmentMember) GetOrganizationUser() *OrganizationUser { + if m != nil { + return m.OrganizationUser + } + return nil +} + +func (m *UserDepartmentMember) GetDepartmentMember() *DepartmentMember { + if m != nil { + return m.DepartmentMember + } + return nil +} + +type UserInDepartment struct { + OrganizationUser *OrganizationUser `protobuf:"bytes,1,opt,name=organizationUser" json:"organizationUser,omitempty"` + DepartmentMemberList []*DepartmentMember `protobuf:"bytes,2,rep,name=departmentMemberList" json:"departmentMemberList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UserInDepartment) Reset() { *m = UserInDepartment{} } +func (m *UserInDepartment) String() string { return proto.CompactTextString(m) } +func (*UserInDepartment) ProtoMessage() {} +func (*UserInDepartment) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{13} +} +func (m *UserInDepartment) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UserInDepartment.Unmarshal(m, b) +} +func (m *UserInDepartment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UserInDepartment.Marshal(b, m, deterministic) +} +func (dst *UserInDepartment) XXX_Merge(src proto.Message) { + xxx_messageInfo_UserInDepartment.Merge(dst, src) +} +func (m *UserInDepartment) XXX_Size() int { + return xxx_messageInfo_UserInDepartment.Size(m) +} +func (m *UserInDepartment) XXX_DiscardUnknown() { + xxx_messageInfo_UserInDepartment.DiscardUnknown(m) +} + +var xxx_messageInfo_UserInDepartment proto.InternalMessageInfo + +func (m *UserInDepartment) GetOrganizationUser() *OrganizationUser { + if m != nil { + return m.OrganizationUser + } + return nil +} + +func (m *UserInDepartment) GetDepartmentMemberList() []*DepartmentMember { + if m != nil { + return m.DepartmentMemberList + } + return nil +} + +// /////////////////////////////////base end///////////////////////////////////// +type PullMessageBySeqListReq struct { + UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,omitempty"` + SeqList []uint32 `protobuf:"varint,3,rep,packed,name=seqList" json:"seqList,omitempty"` + GroupSeqList map[string]*SeqList `protobuf:"bytes,4,rep,name=groupSeqList" json:"groupSeqList,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *PullMessageBySeqListReq) Reset() { *m = PullMessageBySeqListReq{} } +func (m *PullMessageBySeqListReq) String() string { return proto.CompactTextString(m) } +func (*PullMessageBySeqListReq) ProtoMessage() {} +func (*PullMessageBySeqListReq) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{14} +} +func (m *PullMessageBySeqListReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PullMessageBySeqListReq.Unmarshal(m, b) +} +func (m *PullMessageBySeqListReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PullMessageBySeqListReq.Marshal(b, m, deterministic) +} +func (dst *PullMessageBySeqListReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_PullMessageBySeqListReq.Merge(dst, src) +} +func (m *PullMessageBySeqListReq) XXX_Size() int { + return xxx_messageInfo_PullMessageBySeqListReq.Size(m) +} +func (m *PullMessageBySeqListReq) XXX_DiscardUnknown() { + xxx_messageInfo_PullMessageBySeqListReq.DiscardUnknown(m) +} + +var xxx_messageInfo_PullMessageBySeqListReq proto.InternalMessageInfo + +func (m *PullMessageBySeqListReq) GetUserID() string { + if m != nil { + return m.UserID + } + return "" +} + +func (m *PullMessageBySeqListReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *PullMessageBySeqListReq) GetSeqList() []uint32 { + if m != nil { + return m.SeqList + } + return nil +} + +func (m *PullMessageBySeqListReq) GetGroupSeqList() map[string]*SeqList { + if m != nil { + return m.GroupSeqList + } + return nil +} + +type SeqList struct { + SeqList []uint32 `protobuf:"varint,1,rep,packed,name=seqList" json:"seqList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SeqList) Reset() { *m = SeqList{} } +func (m *SeqList) String() string { return proto.CompactTextString(m) } +func (*SeqList) ProtoMessage() {} +func (*SeqList) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{15} +} +func (m *SeqList) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SeqList.Unmarshal(m, b) +} +func (m *SeqList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SeqList.Marshal(b, m, deterministic) +} +func (dst *SeqList) XXX_Merge(src proto.Message) { + xxx_messageInfo_SeqList.Merge(dst, src) +} +func (m *SeqList) XXX_Size() int { + return xxx_messageInfo_SeqList.Size(m) +} +func (m *SeqList) XXX_DiscardUnknown() { + xxx_messageInfo_SeqList.DiscardUnknown(m) +} + +var xxx_messageInfo_SeqList proto.InternalMessageInfo + +func (m *SeqList) GetSeqList() []uint32 { + if m != nil { + return m.SeqList + } + return nil +} + +type MsgDataList struct { + MsgDataList []*MsgData `protobuf:"bytes,1,rep,name=msgDataList" json:"msgDataList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MsgDataList) Reset() { *m = MsgDataList{} } +func (m *MsgDataList) String() string { return proto.CompactTextString(m) } +func (*MsgDataList) ProtoMessage() {} +func (*MsgDataList) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{16} +} +func (m *MsgDataList) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MsgDataList.Unmarshal(m, b) +} +func (m *MsgDataList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MsgDataList.Marshal(b, m, deterministic) +} +func (dst *MsgDataList) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgDataList.Merge(dst, src) +} +func (m *MsgDataList) XXX_Size() int { + return xxx_messageInfo_MsgDataList.Size(m) +} +func (m *MsgDataList) XXX_DiscardUnknown() { + xxx_messageInfo_MsgDataList.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgDataList proto.InternalMessageInfo + +func (m *MsgDataList) GetMsgDataList() []*MsgData { + if m != nil { + return m.MsgDataList + } + return nil +} + +type PullMessageBySeqListResp struct { + ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` + List []*MsgData `protobuf:"bytes,3,rep,name=list" json:"list,omitempty"` + GroupMsgDataList map[string]*MsgDataList `protobuf:"bytes,4,rep,name=groupMsgDataList" json:"groupMsgDataList,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *PullMessageBySeqListResp) Reset() { *m = PullMessageBySeqListResp{} } +func (m *PullMessageBySeqListResp) String() string { return proto.CompactTextString(m) } +func (*PullMessageBySeqListResp) ProtoMessage() {} +func (*PullMessageBySeqListResp) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{17} +} +func (m *PullMessageBySeqListResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PullMessageBySeqListResp.Unmarshal(m, b) +} +func (m *PullMessageBySeqListResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PullMessageBySeqListResp.Marshal(b, m, deterministic) +} +func (dst *PullMessageBySeqListResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_PullMessageBySeqListResp.Merge(dst, src) +} +func (m *PullMessageBySeqListResp) XXX_Size() int { + return xxx_messageInfo_PullMessageBySeqListResp.Size(m) +} +func (m *PullMessageBySeqListResp) XXX_DiscardUnknown() { + xxx_messageInfo_PullMessageBySeqListResp.DiscardUnknown(m) +} + +var xxx_messageInfo_PullMessageBySeqListResp proto.InternalMessageInfo + +func (m *PullMessageBySeqListResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode + } + return 0 +} + +func (m *PullMessageBySeqListResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg + } + return "" +} + +func (m *PullMessageBySeqListResp) GetList() []*MsgData { + if m != nil { + return m.List + } + return nil +} + +func (m *PullMessageBySeqListResp) GetGroupMsgDataList() map[string]*MsgDataList { + if m != nil { + return m.GroupMsgDataList + } + return nil +} + +type GetMaxAndMinSeqReq struct { + GroupIDList []string `protobuf:"bytes,1,rep,name=groupIDList" json:"groupIDList,omitempty"` + UserID string `protobuf:"bytes,2,opt,name=userID" json:"userID,omitempty"` + OperationID string `protobuf:"bytes,3,opt,name=operationID" json:"operationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetMaxAndMinSeqReq) Reset() { *m = GetMaxAndMinSeqReq{} } +func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) } +func (*GetMaxAndMinSeqReq) ProtoMessage() {} +func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{18} +} +func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) +} +func (m *GetMaxAndMinSeqReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetMaxAndMinSeqReq.Marshal(b, m, deterministic) +} +func (dst *GetMaxAndMinSeqReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetMaxAndMinSeqReq.Merge(dst, src) +} +func (m *GetMaxAndMinSeqReq) XXX_Size() int { + return xxx_messageInfo_GetMaxAndMinSeqReq.Size(m) +} +func (m *GetMaxAndMinSeqReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetMaxAndMinSeqReq.DiscardUnknown(m) +} + +var xxx_messageInfo_GetMaxAndMinSeqReq proto.InternalMessageInfo + +func (m *GetMaxAndMinSeqReq) GetGroupIDList() []string { + if m != nil { + return m.GroupIDList + } + return nil +} + +func (m *GetMaxAndMinSeqReq) GetUserID() string { + if m != nil { + return m.UserID + } + return "" +} + +func (m *GetMaxAndMinSeqReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +type MaxAndMinSeq struct { + MaxSeq uint32 `protobuf:"varint,1,opt,name=maxSeq" json:"maxSeq,omitempty"` + MinSeq uint32 `protobuf:"varint,2,opt,name=minSeq" json:"minSeq,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MaxAndMinSeq) Reset() { *m = MaxAndMinSeq{} } +func (m *MaxAndMinSeq) String() string { return proto.CompactTextString(m) } +func (*MaxAndMinSeq) ProtoMessage() {} +func (*MaxAndMinSeq) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{19} +} +func (m *MaxAndMinSeq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MaxAndMinSeq.Unmarshal(m, b) +} +func (m *MaxAndMinSeq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MaxAndMinSeq.Marshal(b, m, deterministic) +} +func (dst *MaxAndMinSeq) XXX_Merge(src proto.Message) { + xxx_messageInfo_MaxAndMinSeq.Merge(dst, src) +} +func (m *MaxAndMinSeq) XXX_Size() int { + return xxx_messageInfo_MaxAndMinSeq.Size(m) +} +func (m *MaxAndMinSeq) XXX_DiscardUnknown() { + xxx_messageInfo_MaxAndMinSeq.DiscardUnknown(m) +} + +var xxx_messageInfo_MaxAndMinSeq proto.InternalMessageInfo + +func (m *MaxAndMinSeq) GetMaxSeq() uint32 { + if m != nil { + return m.MaxSeq + } + return 0 +} + +func (m *MaxAndMinSeq) GetMinSeq() uint32 { + if m != nil { + return m.MinSeq + } + return 0 +} + +type GetMaxAndMinSeqResp struct { + MaxSeq uint32 `protobuf:"varint,1,opt,name=maxSeq" json:"maxSeq,omitempty"` + MinSeq uint32 `protobuf:"varint,2,opt,name=minSeq" json:"minSeq,omitempty"` + ErrCode int32 `protobuf:"varint,3,opt,name=errCode" json:"errCode,omitempty"` + ErrMsg string `protobuf:"bytes,4,opt,name=errMsg" json:"errMsg,omitempty"` + GroupMaxAndMinSeq map[string]*MaxAndMinSeq `protobuf:"bytes,5,rep,name=groupMaxAndMinSeq" json:"groupMaxAndMinSeq,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetMaxAndMinSeqResp) Reset() { *m = GetMaxAndMinSeqResp{} } +func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) } +func (*GetMaxAndMinSeqResp) ProtoMessage() {} +func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{20} +} +func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) +} +func (m *GetMaxAndMinSeqResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetMaxAndMinSeqResp.Marshal(b, m, deterministic) +} +func (dst *GetMaxAndMinSeqResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetMaxAndMinSeqResp.Merge(dst, src) +} +func (m *GetMaxAndMinSeqResp) XXX_Size() int { + return xxx_messageInfo_GetMaxAndMinSeqResp.Size(m) +} +func (m *GetMaxAndMinSeqResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetMaxAndMinSeqResp.DiscardUnknown(m) +} + +var xxx_messageInfo_GetMaxAndMinSeqResp proto.InternalMessageInfo + +func (m *GetMaxAndMinSeqResp) GetMaxSeq() uint32 { + if m != nil { + return m.MaxSeq + } + return 0 +} + +func (m *GetMaxAndMinSeqResp) GetMinSeq() uint32 { + if m != nil { + return m.MinSeq + } + return 0 +} + +func (m *GetMaxAndMinSeqResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode + } + return 0 +} + +func (m *GetMaxAndMinSeqResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg + } + return "" +} + +func (m *GetMaxAndMinSeqResp) GetGroupMaxAndMinSeq() map[string]*MaxAndMinSeq { + if m != nil { + return m.GroupMaxAndMinSeq + } + return nil +} + +type UserSendMsgResp struct { + ServerMsgID string `protobuf:"bytes,1,opt,name=serverMsgID" json:"serverMsgID,omitempty"` + ClientMsgID string `protobuf:"bytes,2,opt,name=clientMsgID" json:"clientMsgID,omitempty"` + SendTime int64 `protobuf:"varint,3,opt,name=sendTime" json:"sendTime,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UserSendMsgResp) Reset() { *m = UserSendMsgResp{} } +func (m *UserSendMsgResp) String() string { return proto.CompactTextString(m) } +func (*UserSendMsgResp) ProtoMessage() {} +func (*UserSendMsgResp) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{21} +} +func (m *UserSendMsgResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UserSendMsgResp.Unmarshal(m, b) +} +func (m *UserSendMsgResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UserSendMsgResp.Marshal(b, m, deterministic) +} +func (dst *UserSendMsgResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_UserSendMsgResp.Merge(dst, src) +} +func (m *UserSendMsgResp) XXX_Size() int { + return xxx_messageInfo_UserSendMsgResp.Size(m) +} +func (m *UserSendMsgResp) XXX_DiscardUnknown() { + xxx_messageInfo_UserSendMsgResp.DiscardUnknown(m) +} + +var xxx_messageInfo_UserSendMsgResp proto.InternalMessageInfo + +func (m *UserSendMsgResp) GetServerMsgID() string { + if m != nil { + return m.ServerMsgID + } + return "" +} + +func (m *UserSendMsgResp) GetClientMsgID() string { + if m != nil { + return m.ClientMsgID + } + return "" +} + +func (m *UserSendMsgResp) GetSendTime() int64 { + if m != nil { + return m.SendTime + } + return 0 +} + +type MsgData struct { + SendID string `protobuf:"bytes,1,opt,name=sendID" json:"sendID,omitempty"` + RecvID string `protobuf:"bytes,2,opt,name=recvID" json:"recvID,omitempty"` + GroupID string `protobuf:"bytes,3,opt,name=groupID" json:"groupID,omitempty"` + ClientMsgID string `protobuf:"bytes,4,opt,name=clientMsgID" json:"clientMsgID,omitempty"` + ServerMsgID string `protobuf:"bytes,5,opt,name=serverMsgID" json:"serverMsgID,omitempty"` + SenderPlatformID int32 `protobuf:"varint,6,opt,name=senderPlatformID" json:"senderPlatformID,omitempty"` + SenderNickname string `protobuf:"bytes,7,opt,name=senderNickname" json:"senderNickname,omitempty"` + SenderFaceURL string `protobuf:"bytes,8,opt,name=senderFaceURL" json:"senderFaceURL,omitempty"` + SessionType int32 `protobuf:"varint,9,opt,name=sessionType" json:"sessionType,omitempty"` + MsgFrom int32 `protobuf:"varint,10,opt,name=msgFrom" json:"msgFrom,omitempty"` + ContentType int32 `protobuf:"varint,11,opt,name=contentType" json:"contentType,omitempty"` + Content []byte `protobuf:"bytes,12,opt,name=content,proto3" json:"content,omitempty"` + Seq uint32 `protobuf:"varint,14,opt,name=seq" json:"seq,omitempty"` + SendTime int64 `protobuf:"varint,15,opt,name=sendTime" json:"sendTime,omitempty"` + CreateTime int64 `protobuf:"varint,16,opt,name=createTime" json:"createTime,omitempty"` + Status int32 `protobuf:"varint,17,opt,name=status" json:"status,omitempty"` + Options map[string]bool `protobuf:"bytes,18,rep,name=options" json:"options,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` + OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,19,opt,name=offlinePushInfo" json:"offlinePushInfo,omitempty"` + AtUserIDList []string `protobuf:"bytes,20,rep,name=atUserIDList" json:"atUserIDList,omitempty"` + MsgDataList []byte `protobuf:"bytes,21,opt,name=msgDataList,proto3" json:"msgDataList,omitempty"` + AttachedInfo string `protobuf:"bytes,22,opt,name=attachedInfo" json:"attachedInfo,omitempty"` + Ex string `protobuf:"bytes,23,opt,name=ex" json:"ex,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MsgData) Reset() { *m = MsgData{} } +func (m *MsgData) String() string { return proto.CompactTextString(m) } +func (*MsgData) ProtoMessage() {} +func (*MsgData) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{22} +} +func (m *MsgData) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MsgData.Unmarshal(m, b) +} +func (m *MsgData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MsgData.Marshal(b, m, deterministic) +} +func (dst *MsgData) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgData.Merge(dst, src) +} +func (m *MsgData) XXX_Size() int { + return xxx_messageInfo_MsgData.Size(m) +} +func (m *MsgData) XXX_DiscardUnknown() { + xxx_messageInfo_MsgData.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgData proto.InternalMessageInfo + +func (m *MsgData) GetSendID() string { + if m != nil { + return m.SendID + } + return "" +} + +func (m *MsgData) GetRecvID() string { + if m != nil { + return m.RecvID + } + return "" +} + +func (m *MsgData) GetGroupID() string { + if m != nil { + return m.GroupID + } + return "" +} + +func (m *MsgData) GetClientMsgID() string { + if m != nil { + return m.ClientMsgID + } + return "" +} + +func (m *MsgData) GetServerMsgID() string { + if m != nil { + return m.ServerMsgID + } + return "" +} + +func (m *MsgData) GetSenderPlatformID() int32 { + if m != nil { + return m.SenderPlatformID + } + return 0 +} + +func (m *MsgData) GetSenderNickname() string { + if m != nil { + return m.SenderNickname + } + return "" +} + +func (m *MsgData) GetSenderFaceURL() string { + if m != nil { + return m.SenderFaceURL + } + return "" +} + +func (m *MsgData) GetSessionType() int32 { + if m != nil { + return m.SessionType + } + return 0 +} + +func (m *MsgData) GetMsgFrom() int32 { + if m != nil { + return m.MsgFrom + } + return 0 +} + +func (m *MsgData) GetContentType() int32 { + if m != nil { + return m.ContentType + } + return 0 +} + +func (m *MsgData) GetContent() []byte { + if m != nil { + return m.Content + } + return nil +} + +func (m *MsgData) GetSeq() uint32 { + if m != nil { + return m.Seq + } + return 0 +} + +func (m *MsgData) GetSendTime() int64 { + if m != nil { + return m.SendTime + } + return 0 +} + +func (m *MsgData) GetCreateTime() int64 { + if m != nil { + return m.CreateTime + } + return 0 +} + +func (m *MsgData) GetStatus() int32 { + if m != nil { + return m.Status + } + return 0 +} + +func (m *MsgData) GetOptions() map[string]bool { + if m != nil { + return m.Options + } + return nil +} + +func (m *MsgData) GetOfflinePushInfo() *OfflinePushInfo { + if m != nil { + return m.OfflinePushInfo + } + return nil +} + +func (m *MsgData) GetAtUserIDList() []string { + if m != nil { + return m.AtUserIDList + } + return nil +} + +func (m *MsgData) GetMsgDataList() []byte { + if m != nil { + return m.MsgDataList + } + return nil +} + +func (m *MsgData) GetAttachedInfo() string { + if m != nil { + return m.AttachedInfo + } + return "" +} + +func (m *MsgData) GetEx() string { + if m != nil { + return m.Ex + } + return "" +} + +type OfflinePushInfo struct { + Title string `protobuf:"bytes,1,opt,name=title" json:"title,omitempty"` + Desc string `protobuf:"bytes,2,opt,name=desc" json:"desc,omitempty"` + Ex string `protobuf:"bytes,3,opt,name=ex" json:"ex,omitempty"` + IOSPushSound string `protobuf:"bytes,4,opt,name=iOSPushSound" json:"iOSPushSound,omitempty"` + IOSBadgeCount bool `protobuf:"varint,5,opt,name=iOSBadgeCount" json:"iOSBadgeCount,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *OfflinePushInfo) Reset() { *m = OfflinePushInfo{} } +func (m *OfflinePushInfo) String() string { return proto.CompactTextString(m) } +func (*OfflinePushInfo) ProtoMessage() {} +func (*OfflinePushInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{23} +} +func (m *OfflinePushInfo) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OfflinePushInfo.Unmarshal(m, b) +} +func (m *OfflinePushInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OfflinePushInfo.Marshal(b, m, deterministic) +} +func (dst *OfflinePushInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_OfflinePushInfo.Merge(dst, src) +} +func (m *OfflinePushInfo) XXX_Size() int { + return xxx_messageInfo_OfflinePushInfo.Size(m) +} +func (m *OfflinePushInfo) XXX_DiscardUnknown() { + xxx_messageInfo_OfflinePushInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_OfflinePushInfo proto.InternalMessageInfo + +func (m *OfflinePushInfo) GetTitle() string { + if m != nil { + return m.Title + } + return "" +} + +func (m *OfflinePushInfo) GetDesc() string { + if m != nil { + return m.Desc + } + return "" +} + +func (m *OfflinePushInfo) GetEx() string { + if m != nil { + return m.Ex + } + return "" +} + +func (m *OfflinePushInfo) GetIOSPushSound() string { + if m != nil { + return m.IOSPushSound + } + return "" +} + +func (m *OfflinePushInfo) GetIOSBadgeCount() bool { + if m != nil { + return m.IOSBadgeCount + } + return false +} + +type TipsComm struct { + Detail []byte `protobuf:"bytes,1,opt,name=detail,proto3" json:"detail,omitempty"` + DefaultTips string `protobuf:"bytes,2,opt,name=defaultTips" json:"defaultTips,omitempty"` + JsonDetail string `protobuf:"bytes,3,opt,name=jsonDetail" json:"jsonDetail,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *TipsComm) Reset() { *m = TipsComm{} } +func (m *TipsComm) String() string { return proto.CompactTextString(m) } +func (*TipsComm) ProtoMessage() {} +func (*TipsComm) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{24} +} +func (m *TipsComm) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_TipsComm.Unmarshal(m, b) +} +func (m *TipsComm) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_TipsComm.Marshal(b, m, deterministic) +} +func (dst *TipsComm) XXX_Merge(src proto.Message) { + xxx_messageInfo_TipsComm.Merge(dst, src) +} +func (m *TipsComm) XXX_Size() int { + return xxx_messageInfo_TipsComm.Size(m) +} +func (m *TipsComm) XXX_DiscardUnknown() { + xxx_messageInfo_TipsComm.DiscardUnknown(m) +} + +var xxx_messageInfo_TipsComm proto.InternalMessageInfo + +func (m *TipsComm) GetDetail() []byte { + if m != nil { + return m.Detail + } + return nil +} + +func (m *TipsComm) GetDefaultTips() string { + if m != nil { + return m.DefaultTips + } + return "" +} + +func (m *TipsComm) GetJsonDetail() string { + if m != nil { + return m.JsonDetail + } + return "" +} + +// OnGroupCreated() +type GroupCreatedTips struct { + Group *GroupInfo `protobuf:"bytes,1,opt,name=group" json:"group,omitempty"` + OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser" json:"opUser,omitempty"` + MemberList []*GroupMemberFullInfo `protobuf:"bytes,3,rep,name=memberList" json:"memberList,omitempty"` + OperationTime int64 `protobuf:"varint,4,opt,name=operationTime" json:"operationTime,omitempty"` + GroupOwnerUser *GroupMemberFullInfo `protobuf:"bytes,5,opt,name=groupOwnerUser" json:"groupOwnerUser,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GroupCreatedTips) Reset() { *m = GroupCreatedTips{} } +func (m *GroupCreatedTips) String() string { return proto.CompactTextString(m) } +func (*GroupCreatedTips) ProtoMessage() {} +func (*GroupCreatedTips) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{25} +} +func (m *GroupCreatedTips) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GroupCreatedTips.Unmarshal(m, b) +} +func (m *GroupCreatedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GroupCreatedTips.Marshal(b, m, deterministic) +} +func (dst *GroupCreatedTips) XXX_Merge(src proto.Message) { + xxx_messageInfo_GroupCreatedTips.Merge(dst, src) +} +func (m *GroupCreatedTips) XXX_Size() int { + return xxx_messageInfo_GroupCreatedTips.Size(m) +} +func (m *GroupCreatedTips) XXX_DiscardUnknown() { + xxx_messageInfo_GroupCreatedTips.DiscardUnknown(m) +} + +var xxx_messageInfo_GroupCreatedTips proto.InternalMessageInfo + +func (m *GroupCreatedTips) GetGroup() *GroupInfo { + if m != nil { + return m.Group + } + return nil +} + +func (m *GroupCreatedTips) GetOpUser() *GroupMemberFullInfo { + if m != nil { + return m.OpUser + } + return nil +} + +func (m *GroupCreatedTips) GetMemberList() []*GroupMemberFullInfo { + if m != nil { + return m.MemberList + } + return nil +} + +func (m *GroupCreatedTips) GetOperationTime() int64 { + if m != nil { + return m.OperationTime + } + return 0 +} + +func (m *GroupCreatedTips) GetGroupOwnerUser() *GroupMemberFullInfo { + if m != nil { + return m.GroupOwnerUser + } + return nil +} + +// OnGroupInfoSet() +type GroupInfoSetTips struct { + OpUser *GroupMemberFullInfo `protobuf:"bytes,1,opt,name=opUser" json:"opUser,omitempty"` + MuteTime int64 `protobuf:"varint,2,opt,name=muteTime" json:"muteTime,omitempty"` + Group *GroupInfo `protobuf:"bytes,3,opt,name=group" json:"group,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GroupInfoSetTips) Reset() { *m = GroupInfoSetTips{} } +func (m *GroupInfoSetTips) String() string { return proto.CompactTextString(m) } +func (*GroupInfoSetTips) ProtoMessage() {} +func (*GroupInfoSetTips) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{26} +} +func (m *GroupInfoSetTips) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GroupInfoSetTips.Unmarshal(m, b) +} +func (m *GroupInfoSetTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GroupInfoSetTips.Marshal(b, m, deterministic) +} +func (dst *GroupInfoSetTips) XXX_Merge(src proto.Message) { + xxx_messageInfo_GroupInfoSetTips.Merge(dst, src) +} +func (m *GroupInfoSetTips) XXX_Size() int { + return xxx_messageInfo_GroupInfoSetTips.Size(m) +} +func (m *GroupInfoSetTips) XXX_DiscardUnknown() { + xxx_messageInfo_GroupInfoSetTips.DiscardUnknown(m) +} + +var xxx_messageInfo_GroupInfoSetTips proto.InternalMessageInfo + +func (m *GroupInfoSetTips) GetOpUser() *GroupMemberFullInfo { + if m != nil { + return m.OpUser + } + return nil +} + +func (m *GroupInfoSetTips) GetMuteTime() int64 { + if m != nil { + return m.MuteTime + } + return 0 +} + +func (m *GroupInfoSetTips) GetGroup() *GroupInfo { + if m != nil { + return m.Group + } + return nil +} + +// OnJoinGroupApplication() +type JoinGroupApplicationTips struct { + Group *GroupInfo `protobuf:"bytes,1,opt,name=group" json:"group,omitempty"` + Applicant *PublicUserInfo `protobuf:"bytes,2,opt,name=applicant" json:"applicant,omitempty"` + ReqMsg string `protobuf:"bytes,3,opt,name=reqMsg" json:"reqMsg,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *JoinGroupApplicationTips) Reset() { *m = JoinGroupApplicationTips{} } +func (m *JoinGroupApplicationTips) String() string { return proto.CompactTextString(m) } +func (*JoinGroupApplicationTips) ProtoMessage() {} +func (*JoinGroupApplicationTips) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{27} +} +func (m *JoinGroupApplicationTips) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_JoinGroupApplicationTips.Unmarshal(m, b) +} +func (m *JoinGroupApplicationTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_JoinGroupApplicationTips.Marshal(b, m, deterministic) +} +func (dst *JoinGroupApplicationTips) XXX_Merge(src proto.Message) { + xxx_messageInfo_JoinGroupApplicationTips.Merge(dst, src) +} +func (m *JoinGroupApplicationTips) XXX_Size() int { + return xxx_messageInfo_JoinGroupApplicationTips.Size(m) +} +func (m *JoinGroupApplicationTips) XXX_DiscardUnknown() { + xxx_messageInfo_JoinGroupApplicationTips.DiscardUnknown(m) +} + +var xxx_messageInfo_JoinGroupApplicationTips proto.InternalMessageInfo + +func (m *JoinGroupApplicationTips) GetGroup() *GroupInfo { + if m != nil { + return m.Group + } + return nil +} + +func (m *JoinGroupApplicationTips) GetApplicant() *PublicUserInfo { + if m != nil { + return m.Applicant + } + return nil +} + +func (m *JoinGroupApplicationTips) GetReqMsg() string { + if m != nil { + return m.ReqMsg + } + return "" +} + +// OnQuitGroup() +// Actively leave the group +type MemberQuitTips struct { + Group *GroupInfo `protobuf:"bytes,1,opt,name=group" json:"group,omitempty"` + QuitUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=quitUser" json:"quitUser,omitempty"` + OperationTime int64 `protobuf:"varint,3,opt,name=operationTime" json:"operationTime,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MemberQuitTips) Reset() { *m = MemberQuitTips{} } +func (m *MemberQuitTips) String() string { return proto.CompactTextString(m) } +func (*MemberQuitTips) ProtoMessage() {} +func (*MemberQuitTips) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{28} +} +func (m *MemberQuitTips) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MemberQuitTips.Unmarshal(m, b) +} +func (m *MemberQuitTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MemberQuitTips.Marshal(b, m, deterministic) +} +func (dst *MemberQuitTips) XXX_Merge(src proto.Message) { + xxx_messageInfo_MemberQuitTips.Merge(dst, src) +} +func (m *MemberQuitTips) XXX_Size() int { + return xxx_messageInfo_MemberQuitTips.Size(m) +} +func (m *MemberQuitTips) XXX_DiscardUnknown() { + xxx_messageInfo_MemberQuitTips.DiscardUnknown(m) +} + +var xxx_messageInfo_MemberQuitTips proto.InternalMessageInfo + +func (m *MemberQuitTips) GetGroup() *GroupInfo { + if m != nil { + return m.Group + } + return nil +} + +func (m *MemberQuitTips) GetQuitUser() *GroupMemberFullInfo { + if m != nil { + return m.QuitUser + } + return nil +} + +func (m *MemberQuitTips) GetOperationTime() int64 { + if m != nil { + return m.OperationTime + } + return 0 +} + +// OnApplicationGroupAccepted() +type GroupApplicationAcceptedTips struct { + Group *GroupInfo `protobuf:"bytes,1,opt,name=group" json:"group,omitempty"` + OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser" json:"opUser,omitempty"` + HandleMsg string `protobuf:"bytes,4,opt,name=handleMsg" json:"handleMsg,omitempty"` + ReceiverAs int32 `protobuf:"varint,5,opt,name=receiverAs" json:"receiverAs,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GroupApplicationAcceptedTips) Reset() { *m = GroupApplicationAcceptedTips{} } +func (m *GroupApplicationAcceptedTips) String() string { return proto.CompactTextString(m) } +func (*GroupApplicationAcceptedTips) ProtoMessage() {} +func (*GroupApplicationAcceptedTips) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{29} +} +func (m *GroupApplicationAcceptedTips) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GroupApplicationAcceptedTips.Unmarshal(m, b) +} +func (m *GroupApplicationAcceptedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GroupApplicationAcceptedTips.Marshal(b, m, deterministic) +} +func (dst *GroupApplicationAcceptedTips) XXX_Merge(src proto.Message) { + xxx_messageInfo_GroupApplicationAcceptedTips.Merge(dst, src) +} +func (m *GroupApplicationAcceptedTips) XXX_Size() int { + return xxx_messageInfo_GroupApplicationAcceptedTips.Size(m) +} +func (m *GroupApplicationAcceptedTips) XXX_DiscardUnknown() { + xxx_messageInfo_GroupApplicationAcceptedTips.DiscardUnknown(m) +} + +var xxx_messageInfo_GroupApplicationAcceptedTips proto.InternalMessageInfo + +func (m *GroupApplicationAcceptedTips) GetGroup() *GroupInfo { + if m != nil { + return m.Group + } + return nil +} + +func (m *GroupApplicationAcceptedTips) GetOpUser() *GroupMemberFullInfo { + if m != nil { + return m.OpUser + } + return nil +} + +func (m *GroupApplicationAcceptedTips) GetHandleMsg() string { + if m != nil { + return m.HandleMsg + } + return "" +} + +func (m *GroupApplicationAcceptedTips) GetReceiverAs() int32 { + if m != nil { + return m.ReceiverAs + } + return 0 +} + +// OnApplicationGroupRejected() +type GroupApplicationRejectedTips struct { + Group *GroupInfo `protobuf:"bytes,1,opt,name=group" json:"group,omitempty"` + OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser" json:"opUser,omitempty"` + HandleMsg string `protobuf:"bytes,4,opt,name=handleMsg" json:"handleMsg,omitempty"` + ReceiverAs int32 `protobuf:"varint,5,opt,name=receiverAs" json:"receiverAs,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GroupApplicationRejectedTips) Reset() { *m = GroupApplicationRejectedTips{} } +func (m *GroupApplicationRejectedTips) String() string { return proto.CompactTextString(m) } +func (*GroupApplicationRejectedTips) ProtoMessage() {} +func (*GroupApplicationRejectedTips) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{30} +} +func (m *GroupApplicationRejectedTips) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GroupApplicationRejectedTips.Unmarshal(m, b) +} +func (m *GroupApplicationRejectedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GroupApplicationRejectedTips.Marshal(b, m, deterministic) +} +func (dst *GroupApplicationRejectedTips) XXX_Merge(src proto.Message) { + xxx_messageInfo_GroupApplicationRejectedTips.Merge(dst, src) +} +func (m *GroupApplicationRejectedTips) XXX_Size() int { + return xxx_messageInfo_GroupApplicationRejectedTips.Size(m) +} +func (m *GroupApplicationRejectedTips) XXX_DiscardUnknown() { + xxx_messageInfo_GroupApplicationRejectedTips.DiscardUnknown(m) +} + +var xxx_messageInfo_GroupApplicationRejectedTips proto.InternalMessageInfo + +func (m *GroupApplicationRejectedTips) GetGroup() *GroupInfo { + if m != nil { + return m.Group + } + return nil +} + +func (m *GroupApplicationRejectedTips) GetOpUser() *GroupMemberFullInfo { + if m != nil { + return m.OpUser + } + return nil +} + +func (m *GroupApplicationRejectedTips) GetHandleMsg() string { + if m != nil { + return m.HandleMsg + } + return "" +} + +func (m *GroupApplicationRejectedTips) GetReceiverAs() int32 { + if m != nil { + return m.ReceiverAs + } + return 0 +} + +// OnTransferGroupOwner() +type GroupOwnerTransferredTips struct { + Group *GroupInfo `protobuf:"bytes,1,opt,name=group" json:"group,omitempty"` + OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser" json:"opUser,omitempty"` + NewGroupOwner *GroupMemberFullInfo `protobuf:"bytes,3,opt,name=newGroupOwner" json:"newGroupOwner,omitempty"` + OperationTime int64 `protobuf:"varint,4,opt,name=operationTime" json:"operationTime,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GroupOwnerTransferredTips) Reset() { *m = GroupOwnerTransferredTips{} } +func (m *GroupOwnerTransferredTips) String() string { return proto.CompactTextString(m) } +func (*GroupOwnerTransferredTips) ProtoMessage() {} +func (*GroupOwnerTransferredTips) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{31} +} +func (m *GroupOwnerTransferredTips) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GroupOwnerTransferredTips.Unmarshal(m, b) +} +func (m *GroupOwnerTransferredTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GroupOwnerTransferredTips.Marshal(b, m, deterministic) +} +func (dst *GroupOwnerTransferredTips) XXX_Merge(src proto.Message) { + xxx_messageInfo_GroupOwnerTransferredTips.Merge(dst, src) +} +func (m *GroupOwnerTransferredTips) XXX_Size() int { + return xxx_messageInfo_GroupOwnerTransferredTips.Size(m) +} +func (m *GroupOwnerTransferredTips) XXX_DiscardUnknown() { + xxx_messageInfo_GroupOwnerTransferredTips.DiscardUnknown(m) +} + +var xxx_messageInfo_GroupOwnerTransferredTips proto.InternalMessageInfo + +func (m *GroupOwnerTransferredTips) GetGroup() *GroupInfo { + if m != nil { + return m.Group + } + return nil +} + +func (m *GroupOwnerTransferredTips) GetOpUser() *GroupMemberFullInfo { + if m != nil { + return m.OpUser + } + return nil +} + +func (m *GroupOwnerTransferredTips) GetNewGroupOwner() *GroupMemberFullInfo { + if m != nil { + return m.NewGroupOwner + } + return nil +} + +func (m *GroupOwnerTransferredTips) GetOperationTime() int64 { + if m != nil { + return m.OperationTime + } + return 0 +} + +// OnMemberKicked() +type MemberKickedTips struct { + Group *GroupInfo `protobuf:"bytes,1,opt,name=group" json:"group,omitempty"` + OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser" json:"opUser,omitempty"` + KickedUserList []*GroupMemberFullInfo `protobuf:"bytes,3,rep,name=kickedUserList" json:"kickedUserList,omitempty"` + OperationTime int64 `protobuf:"varint,4,opt,name=operationTime" json:"operationTime,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MemberKickedTips) Reset() { *m = MemberKickedTips{} } +func (m *MemberKickedTips) String() string { return proto.CompactTextString(m) } +func (*MemberKickedTips) ProtoMessage() {} +func (*MemberKickedTips) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{32} +} +func (m *MemberKickedTips) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MemberKickedTips.Unmarshal(m, b) +} +func (m *MemberKickedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MemberKickedTips.Marshal(b, m, deterministic) +} +func (dst *MemberKickedTips) XXX_Merge(src proto.Message) { + xxx_messageInfo_MemberKickedTips.Merge(dst, src) +} +func (m *MemberKickedTips) XXX_Size() int { + return xxx_messageInfo_MemberKickedTips.Size(m) +} +func (m *MemberKickedTips) XXX_DiscardUnknown() { + xxx_messageInfo_MemberKickedTips.DiscardUnknown(m) +} + +var xxx_messageInfo_MemberKickedTips proto.InternalMessageInfo + +func (m *MemberKickedTips) GetGroup() *GroupInfo { + if m != nil { + return m.Group + } + return nil +} + +func (m *MemberKickedTips) GetOpUser() *GroupMemberFullInfo { + if m != nil { + return m.OpUser + } + return nil +} + +func (m *MemberKickedTips) GetKickedUserList() []*GroupMemberFullInfo { + if m != nil { + return m.KickedUserList + } + return nil +} + +func (m *MemberKickedTips) GetOperationTime() int64 { + if m != nil { + return m.OperationTime + } + return 0 +} + +// OnMemberInvited() +type MemberInvitedTips struct { + Group *GroupInfo `protobuf:"bytes,1,opt,name=group" json:"group,omitempty"` + OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser" json:"opUser,omitempty"` + InvitedUserList []*GroupMemberFullInfo `protobuf:"bytes,3,rep,name=invitedUserList" json:"invitedUserList,omitempty"` + OperationTime int64 `protobuf:"varint,4,opt,name=operationTime" json:"operationTime,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MemberInvitedTips) Reset() { *m = MemberInvitedTips{} } +func (m *MemberInvitedTips) String() string { return proto.CompactTextString(m) } +func (*MemberInvitedTips) ProtoMessage() {} +func (*MemberInvitedTips) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{33} +} +func (m *MemberInvitedTips) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MemberInvitedTips.Unmarshal(m, b) +} +func (m *MemberInvitedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MemberInvitedTips.Marshal(b, m, deterministic) +} +func (dst *MemberInvitedTips) XXX_Merge(src proto.Message) { + xxx_messageInfo_MemberInvitedTips.Merge(dst, src) +} +func (m *MemberInvitedTips) XXX_Size() int { + return xxx_messageInfo_MemberInvitedTips.Size(m) +} +func (m *MemberInvitedTips) XXX_DiscardUnknown() { + xxx_messageInfo_MemberInvitedTips.DiscardUnknown(m) +} + +var xxx_messageInfo_MemberInvitedTips proto.InternalMessageInfo + +func (m *MemberInvitedTips) GetGroup() *GroupInfo { + if m != nil { + return m.Group + } + return nil +} + +func (m *MemberInvitedTips) GetOpUser() *GroupMemberFullInfo { + if m != nil { + return m.OpUser + } + return nil +} + +func (m *MemberInvitedTips) GetInvitedUserList() []*GroupMemberFullInfo { + if m != nil { + return m.InvitedUserList + } + return nil +} + +func (m *MemberInvitedTips) GetOperationTime() int64 { + if m != nil { + return m.OperationTime + } + return 0 +} + +// Actively join the group +type MemberEnterTips struct { + Group *GroupInfo `protobuf:"bytes,1,opt,name=group" json:"group,omitempty"` + EntrantUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=entrantUser" json:"entrantUser,omitempty"` + OperationTime int64 `protobuf:"varint,3,opt,name=operationTime" json:"operationTime,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MemberEnterTips) Reset() { *m = MemberEnterTips{} } +func (m *MemberEnterTips) String() string { return proto.CompactTextString(m) } +func (*MemberEnterTips) ProtoMessage() {} +func (*MemberEnterTips) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{34} +} +func (m *MemberEnterTips) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MemberEnterTips.Unmarshal(m, b) +} +func (m *MemberEnterTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MemberEnterTips.Marshal(b, m, deterministic) +} +func (dst *MemberEnterTips) XXX_Merge(src proto.Message) { + xxx_messageInfo_MemberEnterTips.Merge(dst, src) +} +func (m *MemberEnterTips) XXX_Size() int { + return xxx_messageInfo_MemberEnterTips.Size(m) +} +func (m *MemberEnterTips) XXX_DiscardUnknown() { + xxx_messageInfo_MemberEnterTips.DiscardUnknown(m) +} + +var xxx_messageInfo_MemberEnterTips proto.InternalMessageInfo + +func (m *MemberEnterTips) GetGroup() *GroupInfo { + if m != nil { + return m.Group + } + return nil +} + +func (m *MemberEnterTips) GetEntrantUser() *GroupMemberFullInfo { + if m != nil { + return m.EntrantUser + } + return nil +} + +func (m *MemberEnterTips) GetOperationTime() int64 { + if m != nil { + return m.OperationTime + } + return 0 +} + +type GroupDismissedTips struct { + Group *GroupInfo `protobuf:"bytes,1,opt,name=group" json:"group,omitempty"` + OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser" json:"opUser,omitempty"` + OperationTime int64 `protobuf:"varint,3,opt,name=operationTime" json:"operationTime,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GroupDismissedTips) Reset() { *m = GroupDismissedTips{} } +func (m *GroupDismissedTips) String() string { return proto.CompactTextString(m) } +func (*GroupDismissedTips) ProtoMessage() {} +func (*GroupDismissedTips) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{35} +} +func (m *GroupDismissedTips) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GroupDismissedTips.Unmarshal(m, b) +} +func (m *GroupDismissedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GroupDismissedTips.Marshal(b, m, deterministic) +} +func (dst *GroupDismissedTips) XXX_Merge(src proto.Message) { + xxx_messageInfo_GroupDismissedTips.Merge(dst, src) +} +func (m *GroupDismissedTips) XXX_Size() int { + return xxx_messageInfo_GroupDismissedTips.Size(m) +} +func (m *GroupDismissedTips) XXX_DiscardUnknown() { + xxx_messageInfo_GroupDismissedTips.DiscardUnknown(m) +} + +var xxx_messageInfo_GroupDismissedTips proto.InternalMessageInfo + +func (m *GroupDismissedTips) GetGroup() *GroupInfo { + if m != nil { + return m.Group + } + return nil +} + +func (m *GroupDismissedTips) GetOpUser() *GroupMemberFullInfo { + if m != nil { + return m.OpUser + } + return nil +} + +func (m *GroupDismissedTips) GetOperationTime() int64 { + if m != nil { + return m.OperationTime + } + return 0 +} + +type GroupMemberMutedTips struct { + Group *GroupInfo `protobuf:"bytes,1,opt,name=group" json:"group,omitempty"` + OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser" json:"opUser,omitempty"` + OperationTime int64 `protobuf:"varint,3,opt,name=operationTime" json:"operationTime,omitempty"` + MutedUser *GroupMemberFullInfo `protobuf:"bytes,4,opt,name=mutedUser" json:"mutedUser,omitempty"` + MutedSeconds uint32 `protobuf:"varint,5,opt,name=mutedSeconds" json:"mutedSeconds,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GroupMemberMutedTips) Reset() { *m = GroupMemberMutedTips{} } +func (m *GroupMemberMutedTips) String() string { return proto.CompactTextString(m) } +func (*GroupMemberMutedTips) ProtoMessage() {} +func (*GroupMemberMutedTips) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{36} +} +func (m *GroupMemberMutedTips) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GroupMemberMutedTips.Unmarshal(m, b) +} +func (m *GroupMemberMutedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GroupMemberMutedTips.Marshal(b, m, deterministic) +} +func (dst *GroupMemberMutedTips) XXX_Merge(src proto.Message) { + xxx_messageInfo_GroupMemberMutedTips.Merge(dst, src) +} +func (m *GroupMemberMutedTips) XXX_Size() int { + return xxx_messageInfo_GroupMemberMutedTips.Size(m) +} +func (m *GroupMemberMutedTips) XXX_DiscardUnknown() { + xxx_messageInfo_GroupMemberMutedTips.DiscardUnknown(m) +} + +var xxx_messageInfo_GroupMemberMutedTips proto.InternalMessageInfo + +func (m *GroupMemberMutedTips) GetGroup() *GroupInfo { + if m != nil { + return m.Group + } + return nil +} + +func (m *GroupMemberMutedTips) GetOpUser() *GroupMemberFullInfo { + if m != nil { + return m.OpUser + } + return nil +} + +func (m *GroupMemberMutedTips) GetOperationTime() int64 { + if m != nil { + return m.OperationTime + } + return 0 +} + +func (m *GroupMemberMutedTips) GetMutedUser() *GroupMemberFullInfo { + if m != nil { + return m.MutedUser + } + return nil +} + +func (m *GroupMemberMutedTips) GetMutedSeconds() uint32 { + if m != nil { + return m.MutedSeconds + } + return 0 +} + +type GroupMemberCancelMutedTips struct { + Group *GroupInfo `protobuf:"bytes,1,opt,name=group" json:"group,omitempty"` + OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser" json:"opUser,omitempty"` + OperationTime int64 `protobuf:"varint,3,opt,name=operationTime" json:"operationTime,omitempty"` + MutedUser *GroupMemberFullInfo `protobuf:"bytes,4,opt,name=mutedUser" json:"mutedUser,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GroupMemberCancelMutedTips) Reset() { *m = GroupMemberCancelMutedTips{} } +func (m *GroupMemberCancelMutedTips) String() string { return proto.CompactTextString(m) } +func (*GroupMemberCancelMutedTips) ProtoMessage() {} +func (*GroupMemberCancelMutedTips) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{37} +} +func (m *GroupMemberCancelMutedTips) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GroupMemberCancelMutedTips.Unmarshal(m, b) +} +func (m *GroupMemberCancelMutedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GroupMemberCancelMutedTips.Marshal(b, m, deterministic) +} +func (dst *GroupMemberCancelMutedTips) XXX_Merge(src proto.Message) { + xxx_messageInfo_GroupMemberCancelMutedTips.Merge(dst, src) +} +func (m *GroupMemberCancelMutedTips) XXX_Size() int { + return xxx_messageInfo_GroupMemberCancelMutedTips.Size(m) +} +func (m *GroupMemberCancelMutedTips) XXX_DiscardUnknown() { + xxx_messageInfo_GroupMemberCancelMutedTips.DiscardUnknown(m) +} + +var xxx_messageInfo_GroupMemberCancelMutedTips proto.InternalMessageInfo + +func (m *GroupMemberCancelMutedTips) GetGroup() *GroupInfo { + if m != nil { + return m.Group + } + return nil +} + +func (m *GroupMemberCancelMutedTips) GetOpUser() *GroupMemberFullInfo { + if m != nil { + return m.OpUser + } + return nil +} + +func (m *GroupMemberCancelMutedTips) GetOperationTime() int64 { + if m != nil { + return m.OperationTime + } + return 0 +} + +func (m *GroupMemberCancelMutedTips) GetMutedUser() *GroupMemberFullInfo { + if m != nil { + return m.MutedUser + } + return nil +} + +type GroupMutedTips struct { + Group *GroupInfo `protobuf:"bytes,1,opt,name=group" json:"group,omitempty"` + OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser" json:"opUser,omitempty"` + OperationTime int64 `protobuf:"varint,3,opt,name=operationTime" json:"operationTime,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GroupMutedTips) Reset() { *m = GroupMutedTips{} } +func (m *GroupMutedTips) String() string { return proto.CompactTextString(m) } +func (*GroupMutedTips) ProtoMessage() {} +func (*GroupMutedTips) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{38} +} +func (m *GroupMutedTips) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GroupMutedTips.Unmarshal(m, b) +} +func (m *GroupMutedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GroupMutedTips.Marshal(b, m, deterministic) +} +func (dst *GroupMutedTips) XXX_Merge(src proto.Message) { + xxx_messageInfo_GroupMutedTips.Merge(dst, src) +} +func (m *GroupMutedTips) XXX_Size() int { + return xxx_messageInfo_GroupMutedTips.Size(m) +} +func (m *GroupMutedTips) XXX_DiscardUnknown() { + xxx_messageInfo_GroupMutedTips.DiscardUnknown(m) +} + +var xxx_messageInfo_GroupMutedTips proto.InternalMessageInfo + +func (m *GroupMutedTips) GetGroup() *GroupInfo { + if m != nil { + return m.Group + } + return nil +} + +func (m *GroupMutedTips) GetOpUser() *GroupMemberFullInfo { + if m != nil { + return m.OpUser + } + return nil +} + +func (m *GroupMutedTips) GetOperationTime() int64 { + if m != nil { + return m.OperationTime + } + return 0 +} + +type GroupCancelMutedTips struct { + Group *GroupInfo `protobuf:"bytes,1,opt,name=group" json:"group,omitempty"` + OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser" json:"opUser,omitempty"` + OperationTime int64 `protobuf:"varint,3,opt,name=operationTime" json:"operationTime,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GroupCancelMutedTips) Reset() { *m = GroupCancelMutedTips{} } +func (m *GroupCancelMutedTips) String() string { return proto.CompactTextString(m) } +func (*GroupCancelMutedTips) ProtoMessage() {} +func (*GroupCancelMutedTips) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{39} +} +func (m *GroupCancelMutedTips) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GroupCancelMutedTips.Unmarshal(m, b) +} +func (m *GroupCancelMutedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GroupCancelMutedTips.Marshal(b, m, deterministic) +} +func (dst *GroupCancelMutedTips) XXX_Merge(src proto.Message) { + xxx_messageInfo_GroupCancelMutedTips.Merge(dst, src) +} +func (m *GroupCancelMutedTips) XXX_Size() int { + return xxx_messageInfo_GroupCancelMutedTips.Size(m) +} +func (m *GroupCancelMutedTips) XXX_DiscardUnknown() { + xxx_messageInfo_GroupCancelMutedTips.DiscardUnknown(m) +} + +var xxx_messageInfo_GroupCancelMutedTips proto.InternalMessageInfo + +func (m *GroupCancelMutedTips) GetGroup() *GroupInfo { + if m != nil { + return m.Group + } + return nil +} + +func (m *GroupCancelMutedTips) GetOpUser() *GroupMemberFullInfo { + if m != nil { + return m.OpUser + } + return nil +} + +func (m *GroupCancelMutedTips) GetOperationTime() int64 { + if m != nil { + return m.OperationTime + } + return 0 +} + +type GroupMemberInfoSetTips struct { + Group *GroupInfo `protobuf:"bytes,1,opt,name=group" json:"group,omitempty"` + OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser" json:"opUser,omitempty"` + OperationTime int64 `protobuf:"varint,3,opt,name=operationTime" json:"operationTime,omitempty"` + ChangedUser *GroupMemberFullInfo `protobuf:"bytes,4,opt,name=changedUser" json:"changedUser,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GroupMemberInfoSetTips) Reset() { *m = GroupMemberInfoSetTips{} } +func (m *GroupMemberInfoSetTips) String() string { return proto.CompactTextString(m) } +func (*GroupMemberInfoSetTips) ProtoMessage() {} +func (*GroupMemberInfoSetTips) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{40} +} +func (m *GroupMemberInfoSetTips) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GroupMemberInfoSetTips.Unmarshal(m, b) +} +func (m *GroupMemberInfoSetTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GroupMemberInfoSetTips.Marshal(b, m, deterministic) +} +func (dst *GroupMemberInfoSetTips) XXX_Merge(src proto.Message) { + xxx_messageInfo_GroupMemberInfoSetTips.Merge(dst, src) +} +func (m *GroupMemberInfoSetTips) XXX_Size() int { + return xxx_messageInfo_GroupMemberInfoSetTips.Size(m) +} +func (m *GroupMemberInfoSetTips) XXX_DiscardUnknown() { + xxx_messageInfo_GroupMemberInfoSetTips.DiscardUnknown(m) +} + +var xxx_messageInfo_GroupMemberInfoSetTips proto.InternalMessageInfo + +func (m *GroupMemberInfoSetTips) GetGroup() *GroupInfo { + if m != nil { + return m.Group + } + return nil +} + +func (m *GroupMemberInfoSetTips) GetOpUser() *GroupMemberFullInfo { + if m != nil { + return m.OpUser + } + return nil +} + +func (m *GroupMemberInfoSetTips) GetOperationTime() int64 { + if m != nil { + return m.OperationTime + } + return 0 +} + +func (m *GroupMemberInfoSetTips) GetChangedUser() *GroupMemberFullInfo { + if m != nil { + return m.ChangedUser + } + return nil +} + +type OrganizationChangedTips struct { + OpUser *UserInfo `protobuf:"bytes,2,opt,name=opUser" json:"opUser,omitempty"` + OperationTime int64 `protobuf:"varint,3,opt,name=operationTime" json:"operationTime,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *OrganizationChangedTips) Reset() { *m = OrganizationChangedTips{} } +func (m *OrganizationChangedTips) String() string { return proto.CompactTextString(m) } +func (*OrganizationChangedTips) ProtoMessage() {} +func (*OrganizationChangedTips) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{41} +} +func (m *OrganizationChangedTips) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OrganizationChangedTips.Unmarshal(m, b) +} +func (m *OrganizationChangedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OrganizationChangedTips.Marshal(b, m, deterministic) +} +func (dst *OrganizationChangedTips) XXX_Merge(src proto.Message) { + xxx_messageInfo_OrganizationChangedTips.Merge(dst, src) +} +func (m *OrganizationChangedTips) XXX_Size() int { + return xxx_messageInfo_OrganizationChangedTips.Size(m) +} +func (m *OrganizationChangedTips) XXX_DiscardUnknown() { + xxx_messageInfo_OrganizationChangedTips.DiscardUnknown(m) +} + +var xxx_messageInfo_OrganizationChangedTips proto.InternalMessageInfo + +func (m *OrganizationChangedTips) GetOpUser() *UserInfo { + if m != nil { + return m.OpUser + } + return nil +} + +func (m *OrganizationChangedTips) GetOperationTime() int64 { + if m != nil { + return m.OperationTime + } + return 0 +} + +type FriendApplication struct { + AddTime int64 `protobuf:"varint,1,opt,name=addTime" json:"addTime,omitempty"` + AddSource string `protobuf:"bytes,2,opt,name=addSource" json:"addSource,omitempty"` + AddWording string `protobuf:"bytes,3,opt,name=addWording" json:"addWording,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FriendApplication) Reset() { *m = FriendApplication{} } +func (m *FriendApplication) String() string { return proto.CompactTextString(m) } +func (*FriendApplication) ProtoMessage() {} +func (*FriendApplication) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{42} +} +func (m *FriendApplication) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FriendApplication.Unmarshal(m, b) +} +func (m *FriendApplication) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FriendApplication.Marshal(b, m, deterministic) +} +func (dst *FriendApplication) XXX_Merge(src proto.Message) { + xxx_messageInfo_FriendApplication.Merge(dst, src) +} +func (m *FriendApplication) XXX_Size() int { + return xxx_messageInfo_FriendApplication.Size(m) +} +func (m *FriendApplication) XXX_DiscardUnknown() { + xxx_messageInfo_FriendApplication.DiscardUnknown(m) +} + +var xxx_messageInfo_FriendApplication proto.InternalMessageInfo + +func (m *FriendApplication) GetAddTime() int64 { + if m != nil { + return m.AddTime + } + return 0 +} + +func (m *FriendApplication) GetAddSource() string { + if m != nil { + return m.AddSource + } + return "" +} + +func (m *FriendApplication) GetAddWording() string { + if m != nil { + return m.AddWording + } + return "" +} + +type FromToUserID struct { + FromUserID string `protobuf:"bytes,1,opt,name=fromUserID" json:"fromUserID,omitempty"` + ToUserID string `protobuf:"bytes,2,opt,name=toUserID" json:"toUserID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FromToUserID) Reset() { *m = FromToUserID{} } +func (m *FromToUserID) String() string { return proto.CompactTextString(m) } +func (*FromToUserID) ProtoMessage() {} +func (*FromToUserID) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{43} +} +func (m *FromToUserID) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FromToUserID.Unmarshal(m, b) +} +func (m *FromToUserID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FromToUserID.Marshal(b, m, deterministic) +} +func (dst *FromToUserID) XXX_Merge(src proto.Message) { + xxx_messageInfo_FromToUserID.Merge(dst, src) +} +func (m *FromToUserID) XXX_Size() int { + return xxx_messageInfo_FromToUserID.Size(m) +} +func (m *FromToUserID) XXX_DiscardUnknown() { + xxx_messageInfo_FromToUserID.DiscardUnknown(m) +} + +var xxx_messageInfo_FromToUserID proto.InternalMessageInfo + +func (m *FromToUserID) GetFromUserID() string { + if m != nil { + return m.FromUserID + } + return "" +} + +func (m *FromToUserID) GetToUserID() string { + if m != nil { + return m.ToUserID + } + return "" +} + +// FromUserID apply to add ToUserID +type FriendApplicationTips struct { + FromToUserID *FromToUserID `protobuf:"bytes,1,opt,name=fromToUserID" json:"fromToUserID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FriendApplicationTips) Reset() { *m = FriendApplicationTips{} } +func (m *FriendApplicationTips) String() string { return proto.CompactTextString(m) } +func (*FriendApplicationTips) ProtoMessage() {} +func (*FriendApplicationTips) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{44} +} +func (m *FriendApplicationTips) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FriendApplicationTips.Unmarshal(m, b) +} +func (m *FriendApplicationTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FriendApplicationTips.Marshal(b, m, deterministic) +} +func (dst *FriendApplicationTips) XXX_Merge(src proto.Message) { + xxx_messageInfo_FriendApplicationTips.Merge(dst, src) +} +func (m *FriendApplicationTips) XXX_Size() int { + return xxx_messageInfo_FriendApplicationTips.Size(m) +} +func (m *FriendApplicationTips) XXX_DiscardUnknown() { + xxx_messageInfo_FriendApplicationTips.DiscardUnknown(m) +} + +var xxx_messageInfo_FriendApplicationTips proto.InternalMessageInfo + +func (m *FriendApplicationTips) GetFromToUserID() *FromToUserID { + if m != nil { + return m.FromToUserID + } + return nil +} + +// FromUserID accept or reject ToUserID +type FriendApplicationApprovedTips struct { + FromToUserID *FromToUserID `protobuf:"bytes,1,opt,name=fromToUserID" json:"fromToUserID,omitempty"` + HandleMsg string `protobuf:"bytes,2,opt,name=handleMsg" json:"handleMsg,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FriendApplicationApprovedTips) Reset() { *m = FriendApplicationApprovedTips{} } +func (m *FriendApplicationApprovedTips) String() string { return proto.CompactTextString(m) } +func (*FriendApplicationApprovedTips) ProtoMessage() {} +func (*FriendApplicationApprovedTips) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{45} +} +func (m *FriendApplicationApprovedTips) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FriendApplicationApprovedTips.Unmarshal(m, b) +} +func (m *FriendApplicationApprovedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FriendApplicationApprovedTips.Marshal(b, m, deterministic) +} +func (dst *FriendApplicationApprovedTips) XXX_Merge(src proto.Message) { + xxx_messageInfo_FriendApplicationApprovedTips.Merge(dst, src) +} +func (m *FriendApplicationApprovedTips) XXX_Size() int { + return xxx_messageInfo_FriendApplicationApprovedTips.Size(m) +} +func (m *FriendApplicationApprovedTips) XXX_DiscardUnknown() { + xxx_messageInfo_FriendApplicationApprovedTips.DiscardUnknown(m) +} + +var xxx_messageInfo_FriendApplicationApprovedTips proto.InternalMessageInfo + +func (m *FriendApplicationApprovedTips) GetFromToUserID() *FromToUserID { + if m != nil { + return m.FromToUserID + } + return nil +} + +func (m *FriendApplicationApprovedTips) GetHandleMsg() string { + if m != nil { + return m.HandleMsg + } + return "" +} + +// FromUserID accept or reject ToUserID +type FriendApplicationRejectedTips struct { + FromToUserID *FromToUserID `protobuf:"bytes,1,opt,name=fromToUserID" json:"fromToUserID,omitempty"` + HandleMsg string `protobuf:"bytes,2,opt,name=handleMsg" json:"handleMsg,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FriendApplicationRejectedTips) Reset() { *m = FriendApplicationRejectedTips{} } +func (m *FriendApplicationRejectedTips) String() string { return proto.CompactTextString(m) } +func (*FriendApplicationRejectedTips) ProtoMessage() {} +func (*FriendApplicationRejectedTips) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{46} +} +func (m *FriendApplicationRejectedTips) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FriendApplicationRejectedTips.Unmarshal(m, b) +} +func (m *FriendApplicationRejectedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FriendApplicationRejectedTips.Marshal(b, m, deterministic) +} +func (dst *FriendApplicationRejectedTips) XXX_Merge(src proto.Message) { + xxx_messageInfo_FriendApplicationRejectedTips.Merge(dst, src) +} +func (m *FriendApplicationRejectedTips) XXX_Size() int { + return xxx_messageInfo_FriendApplicationRejectedTips.Size(m) +} +func (m *FriendApplicationRejectedTips) XXX_DiscardUnknown() { + xxx_messageInfo_FriendApplicationRejectedTips.DiscardUnknown(m) +} + +var xxx_messageInfo_FriendApplicationRejectedTips proto.InternalMessageInfo + +func (m *FriendApplicationRejectedTips) GetFromToUserID() *FromToUserID { + if m != nil { + return m.FromToUserID + } + return nil +} + +func (m *FriendApplicationRejectedTips) GetHandleMsg() string { + if m != nil { + return m.HandleMsg + } + return "" +} + +// FromUserID Added a friend ToUserID +type FriendAddedTips struct { + Friend *FriendInfo `protobuf:"bytes,1,opt,name=friend" json:"friend,omitempty"` + OperationTime int64 `protobuf:"varint,2,opt,name=operationTime" json:"operationTime,omitempty"` + OpUser *PublicUserInfo `protobuf:"bytes,3,opt,name=opUser" json:"opUser,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FriendAddedTips) Reset() { *m = FriendAddedTips{} } +func (m *FriendAddedTips) String() string { return proto.CompactTextString(m) } +func (*FriendAddedTips) ProtoMessage() {} +func (*FriendAddedTips) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{47} +} +func (m *FriendAddedTips) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FriendAddedTips.Unmarshal(m, b) +} +func (m *FriendAddedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FriendAddedTips.Marshal(b, m, deterministic) +} +func (dst *FriendAddedTips) XXX_Merge(src proto.Message) { + xxx_messageInfo_FriendAddedTips.Merge(dst, src) +} +func (m *FriendAddedTips) XXX_Size() int { + return xxx_messageInfo_FriendAddedTips.Size(m) +} +func (m *FriendAddedTips) XXX_DiscardUnknown() { + xxx_messageInfo_FriendAddedTips.DiscardUnknown(m) +} + +var xxx_messageInfo_FriendAddedTips proto.InternalMessageInfo + +func (m *FriendAddedTips) GetFriend() *FriendInfo { + if m != nil { + return m.Friend + } + return nil +} + +func (m *FriendAddedTips) GetOperationTime() int64 { + if m != nil { + return m.OperationTime + } + return 0 +} + +func (m *FriendAddedTips) GetOpUser() *PublicUserInfo { + if m != nil { + return m.OpUser + } + return nil +} + +// FromUserID deleted a friend ToUserID +type FriendDeletedTips struct { + FromToUserID *FromToUserID `protobuf:"bytes,1,opt,name=fromToUserID" json:"fromToUserID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FriendDeletedTips) Reset() { *m = FriendDeletedTips{} } +func (m *FriendDeletedTips) String() string { return proto.CompactTextString(m) } +func (*FriendDeletedTips) ProtoMessage() {} +func (*FriendDeletedTips) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{48} +} +func (m *FriendDeletedTips) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FriendDeletedTips.Unmarshal(m, b) +} +func (m *FriendDeletedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FriendDeletedTips.Marshal(b, m, deterministic) +} +func (dst *FriendDeletedTips) XXX_Merge(src proto.Message) { + xxx_messageInfo_FriendDeletedTips.Merge(dst, src) +} +func (m *FriendDeletedTips) XXX_Size() int { + return xxx_messageInfo_FriendDeletedTips.Size(m) +} +func (m *FriendDeletedTips) XXX_DiscardUnknown() { + xxx_messageInfo_FriendDeletedTips.DiscardUnknown(m) +} + +var xxx_messageInfo_FriendDeletedTips proto.InternalMessageInfo + +func (m *FriendDeletedTips) GetFromToUserID() *FromToUserID { + if m != nil { + return m.FromToUserID + } + return nil +} + +type BlackAddedTips struct { + FromToUserID *FromToUserID `protobuf:"bytes,1,opt,name=fromToUserID" json:"fromToUserID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *BlackAddedTips) Reset() { *m = BlackAddedTips{} } +func (m *BlackAddedTips) String() string { return proto.CompactTextString(m) } +func (*BlackAddedTips) ProtoMessage() {} +func (*BlackAddedTips) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{49} +} +func (m *BlackAddedTips) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_BlackAddedTips.Unmarshal(m, b) +} +func (m *BlackAddedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_BlackAddedTips.Marshal(b, m, deterministic) +} +func (dst *BlackAddedTips) XXX_Merge(src proto.Message) { + xxx_messageInfo_BlackAddedTips.Merge(dst, src) +} +func (m *BlackAddedTips) XXX_Size() int { + return xxx_messageInfo_BlackAddedTips.Size(m) +} +func (m *BlackAddedTips) XXX_DiscardUnknown() { + xxx_messageInfo_BlackAddedTips.DiscardUnknown(m) +} + +var xxx_messageInfo_BlackAddedTips proto.InternalMessageInfo + +func (m *BlackAddedTips) GetFromToUserID() *FromToUserID { + if m != nil { + return m.FromToUserID + } + return nil +} + +type BlackDeletedTips struct { + FromToUserID *FromToUserID `protobuf:"bytes,1,opt,name=fromToUserID" json:"fromToUserID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *BlackDeletedTips) Reset() { *m = BlackDeletedTips{} } +func (m *BlackDeletedTips) String() string { return proto.CompactTextString(m) } +func (*BlackDeletedTips) ProtoMessage() {} +func (*BlackDeletedTips) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{50} +} +func (m *BlackDeletedTips) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_BlackDeletedTips.Unmarshal(m, b) +} +func (m *BlackDeletedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_BlackDeletedTips.Marshal(b, m, deterministic) +} +func (dst *BlackDeletedTips) XXX_Merge(src proto.Message) { + xxx_messageInfo_BlackDeletedTips.Merge(dst, src) +} +func (m *BlackDeletedTips) XXX_Size() int { + return xxx_messageInfo_BlackDeletedTips.Size(m) +} +func (m *BlackDeletedTips) XXX_DiscardUnknown() { + xxx_messageInfo_BlackDeletedTips.DiscardUnknown(m) +} + +var xxx_messageInfo_BlackDeletedTips proto.InternalMessageInfo + +func (m *BlackDeletedTips) GetFromToUserID() *FromToUserID { + if m != nil { + return m.FromToUserID + } + return nil +} + +type FriendInfoChangedTips struct { + FromToUserID *FromToUserID `protobuf:"bytes,1,opt,name=fromToUserID" json:"fromToUserID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FriendInfoChangedTips) Reset() { *m = FriendInfoChangedTips{} } +func (m *FriendInfoChangedTips) String() string { return proto.CompactTextString(m) } +func (*FriendInfoChangedTips) ProtoMessage() {} +func (*FriendInfoChangedTips) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{51} +} +func (m *FriendInfoChangedTips) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FriendInfoChangedTips.Unmarshal(m, b) +} +func (m *FriendInfoChangedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FriendInfoChangedTips.Marshal(b, m, deterministic) +} +func (dst *FriendInfoChangedTips) XXX_Merge(src proto.Message) { + xxx_messageInfo_FriendInfoChangedTips.Merge(dst, src) +} +func (m *FriendInfoChangedTips) XXX_Size() int { + return xxx_messageInfo_FriendInfoChangedTips.Size(m) +} +func (m *FriendInfoChangedTips) XXX_DiscardUnknown() { + xxx_messageInfo_FriendInfoChangedTips.DiscardUnknown(m) +} + +var xxx_messageInfo_FriendInfoChangedTips proto.InternalMessageInfo + +func (m *FriendInfoChangedTips) GetFromToUserID() *FromToUserID { + if m != nil { + return m.FromToUserID + } + return nil +} + +// ////////////////////user///////////////////// +type UserInfoUpdatedTips struct { + UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UserInfoUpdatedTips) Reset() { *m = UserInfoUpdatedTips{} } +func (m *UserInfoUpdatedTips) String() string { return proto.CompactTextString(m) } +func (*UserInfoUpdatedTips) ProtoMessage() {} +func (*UserInfoUpdatedTips) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{52} +} +func (m *UserInfoUpdatedTips) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UserInfoUpdatedTips.Unmarshal(m, b) +} +func (m *UserInfoUpdatedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UserInfoUpdatedTips.Marshal(b, m, deterministic) +} +func (dst *UserInfoUpdatedTips) XXX_Merge(src proto.Message) { + xxx_messageInfo_UserInfoUpdatedTips.Merge(dst, src) +} +func (m *UserInfoUpdatedTips) XXX_Size() int { + return xxx_messageInfo_UserInfoUpdatedTips.Size(m) +} +func (m *UserInfoUpdatedTips) XXX_DiscardUnknown() { + xxx_messageInfo_UserInfoUpdatedTips.DiscardUnknown(m) +} + +var xxx_messageInfo_UserInfoUpdatedTips proto.InternalMessageInfo + +func (m *UserInfoUpdatedTips) GetUserID() string { + if m != nil { + return m.UserID + } + return "" +} + +// ////////////////////conversation///////////////////// +type ConversationUpdateTips struct { + UserID string `protobuf:"bytes,1,opt,name=UserID" json:"UserID,omitempty"` + ConversationIDList []string `protobuf:"bytes,2,rep,name=conversationIDList" json:"conversationIDList,omitempty"` + UpdateUnreadCountTime int64 `protobuf:"varint,3,opt,name=updateUnreadCountTime" json:"updateUnreadCountTime,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ConversationUpdateTips) Reset() { *m = ConversationUpdateTips{} } +func (m *ConversationUpdateTips) String() string { return proto.CompactTextString(m) } +func (*ConversationUpdateTips) ProtoMessage() {} +func (*ConversationUpdateTips) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{53} +} +func (m *ConversationUpdateTips) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ConversationUpdateTips.Unmarshal(m, b) +} +func (m *ConversationUpdateTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ConversationUpdateTips.Marshal(b, m, deterministic) +} +func (dst *ConversationUpdateTips) XXX_Merge(src proto.Message) { + xxx_messageInfo_ConversationUpdateTips.Merge(dst, src) +} +func (m *ConversationUpdateTips) XXX_Size() int { + return xxx_messageInfo_ConversationUpdateTips.Size(m) +} +func (m *ConversationUpdateTips) XXX_DiscardUnknown() { + xxx_messageInfo_ConversationUpdateTips.DiscardUnknown(m) +} + +var xxx_messageInfo_ConversationUpdateTips proto.InternalMessageInfo + +func (m *ConversationUpdateTips) GetUserID() string { + if m != nil { + return m.UserID + } + return "" +} + +func (m *ConversationUpdateTips) GetConversationIDList() []string { + if m != nil { + return m.ConversationIDList + } + return nil +} + +func (m *ConversationUpdateTips) GetUpdateUnreadCountTime() int64 { + if m != nil { + return m.UpdateUnreadCountTime + } + return 0 +} + +type ConversationSetPrivateTips struct { + RecvID string `protobuf:"bytes,1,opt,name=recvID" json:"recvID,omitempty"` + SendID string `protobuf:"bytes,2,opt,name=sendID" json:"sendID,omitempty"` + IsPrivate bool `protobuf:"varint,3,opt,name=isPrivate" json:"isPrivate,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ConversationSetPrivateTips) Reset() { *m = ConversationSetPrivateTips{} } +func (m *ConversationSetPrivateTips) String() string { return proto.CompactTextString(m) } +func (*ConversationSetPrivateTips) ProtoMessage() {} +func (*ConversationSetPrivateTips) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{54} +} +func (m *ConversationSetPrivateTips) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ConversationSetPrivateTips.Unmarshal(m, b) +} +func (m *ConversationSetPrivateTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ConversationSetPrivateTips.Marshal(b, m, deterministic) +} +func (dst *ConversationSetPrivateTips) XXX_Merge(src proto.Message) { + xxx_messageInfo_ConversationSetPrivateTips.Merge(dst, src) +} +func (m *ConversationSetPrivateTips) XXX_Size() int { + return xxx_messageInfo_ConversationSetPrivateTips.Size(m) +} +func (m *ConversationSetPrivateTips) XXX_DiscardUnknown() { + xxx_messageInfo_ConversationSetPrivateTips.DiscardUnknown(m) +} + +var xxx_messageInfo_ConversationSetPrivateTips proto.InternalMessageInfo + +func (m *ConversationSetPrivateTips) GetRecvID() string { + if m != nil { + return m.RecvID + } + return "" +} + +func (m *ConversationSetPrivateTips) GetSendID() string { + if m != nil { + return m.SendID + } + return "" +} + +func (m *ConversationSetPrivateTips) GetIsPrivate() bool { + if m != nil { + return m.IsPrivate + } + return false +} + +// //////////////////message/////////////////////// +type DeleteMessageTips struct { + OpUserID string `protobuf:"bytes,1,opt,name=opUserID" json:"opUserID,omitempty"` + UserID string `protobuf:"bytes,2,opt,name=userID" json:"userID,omitempty"` + SeqList []uint32 `protobuf:"varint,3,rep,packed,name=seqList" json:"seqList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DeleteMessageTips) Reset() { *m = DeleteMessageTips{} } +func (m *DeleteMessageTips) String() string { return proto.CompactTextString(m) } +func (*DeleteMessageTips) ProtoMessage() {} +func (*DeleteMessageTips) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{55} +} +func (m *DeleteMessageTips) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DeleteMessageTips.Unmarshal(m, b) +} +func (m *DeleteMessageTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DeleteMessageTips.Marshal(b, m, deterministic) +} +func (dst *DeleteMessageTips) XXX_Merge(src proto.Message) { + xxx_messageInfo_DeleteMessageTips.Merge(dst, src) +} +func (m *DeleteMessageTips) XXX_Size() int { + return xxx_messageInfo_DeleteMessageTips.Size(m) +} +func (m *DeleteMessageTips) XXX_DiscardUnknown() { + xxx_messageInfo_DeleteMessageTips.DiscardUnknown(m) +} + +var xxx_messageInfo_DeleteMessageTips proto.InternalMessageInfo + +func (m *DeleteMessageTips) GetOpUserID() string { + if m != nil { + return m.OpUserID + } + return "" +} + +func (m *DeleteMessageTips) GetUserID() string { + if m != nil { + return m.UserID + } + return "" +} + +func (m *DeleteMessageTips) GetSeqList() []uint32 { + if m != nil { + return m.SeqList + } + return nil +} + +// /cms +type RequestPagination struct { + PageNumber int32 `protobuf:"varint,1,opt,name=pageNumber" json:"pageNumber,omitempty"` + ShowNumber int32 `protobuf:"varint,2,opt,name=showNumber" json:"showNumber,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *RequestPagination) Reset() { *m = RequestPagination{} } +func (m *RequestPagination) String() string { return proto.CompactTextString(m) } +func (*RequestPagination) ProtoMessage() {} +func (*RequestPagination) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{56} +} +func (m *RequestPagination) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_RequestPagination.Unmarshal(m, b) +} +func (m *RequestPagination) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_RequestPagination.Marshal(b, m, deterministic) +} +func (dst *RequestPagination) XXX_Merge(src proto.Message) { + xxx_messageInfo_RequestPagination.Merge(dst, src) +} +func (m *RequestPagination) XXX_Size() int { + return xxx_messageInfo_RequestPagination.Size(m) +} +func (m *RequestPagination) XXX_DiscardUnknown() { + xxx_messageInfo_RequestPagination.DiscardUnknown(m) +} + +var xxx_messageInfo_RequestPagination proto.InternalMessageInfo + +func (m *RequestPagination) GetPageNumber() int32 { + if m != nil { + return m.PageNumber + } + return 0 +} + +func (m *RequestPagination) GetShowNumber() int32 { + if m != nil { + return m.ShowNumber + } + return 0 +} + +type ResponsePagination struct { + CurrentPage int32 `protobuf:"varint,5,opt,name=CurrentPage" json:"CurrentPage,omitempty"` + ShowNumber int32 `protobuf:"varint,6,opt,name=ShowNumber" json:"ShowNumber,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ResponsePagination) Reset() { *m = ResponsePagination{} } +func (m *ResponsePagination) String() string { return proto.CompactTextString(m) } +func (*ResponsePagination) ProtoMessage() {} +func (*ResponsePagination) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{57} +} +func (m *ResponsePagination) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ResponsePagination.Unmarshal(m, b) +} +func (m *ResponsePagination) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ResponsePagination.Marshal(b, m, deterministic) +} +func (dst *ResponsePagination) XXX_Merge(src proto.Message) { + xxx_messageInfo_ResponsePagination.Merge(dst, src) +} +func (m *ResponsePagination) XXX_Size() int { + return xxx_messageInfo_ResponsePagination.Size(m) +} +func (m *ResponsePagination) XXX_DiscardUnknown() { + xxx_messageInfo_ResponsePagination.DiscardUnknown(m) +} + +var xxx_messageInfo_ResponsePagination proto.InternalMessageInfo + +func (m *ResponsePagination) GetCurrentPage() int32 { + if m != nil { + return m.CurrentPage + } + return 0 +} + +func (m *ResponsePagination) GetShowNumber() int32 { + if m != nil { + return m.ShowNumber + } + return 0 +} + +// /////////////////signal////////////// +type SignalReq struct { + // Types that are valid to be assigned to Payload: + // *SignalReq_Invite + // *SignalReq_InviteInGroup + // *SignalReq_Cancel + // *SignalReq_Accept + // *SignalReq_HungUp + // *SignalReq_Reject + // *SignalReq_GetRoomByGroupID + // *SignalReq_OnRoomParticipantConnectedReq + // *SignalReq_OnRoomParticipantDisconnectedReq + // *SignalReq_GetTokenByRoomID + Payload isSignalReq_Payload `protobuf_oneof:"payload"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignalReq) Reset() { *m = SignalReq{} } +func (m *SignalReq) String() string { return proto.CompactTextString(m) } +func (*SignalReq) ProtoMessage() {} +func (*SignalReq) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{58} +} +func (m *SignalReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignalReq.Unmarshal(m, b) +} +func (m *SignalReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignalReq.Marshal(b, m, deterministic) +} +func (dst *SignalReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignalReq.Merge(dst, src) +} +func (m *SignalReq) XXX_Size() int { + return xxx_messageInfo_SignalReq.Size(m) +} +func (m *SignalReq) XXX_DiscardUnknown() { + xxx_messageInfo_SignalReq.DiscardUnknown(m) +} + +var xxx_messageInfo_SignalReq proto.InternalMessageInfo + +type isSignalReq_Payload interface { + isSignalReq_Payload() +} + +type SignalReq_Invite struct { + Invite *SignalInviteReq `protobuf:"bytes,1,opt,name=invite,oneof"` +} +type SignalReq_InviteInGroup struct { + InviteInGroup *SignalInviteInGroupReq `protobuf:"bytes,2,opt,name=inviteInGroup,oneof"` +} +type SignalReq_Cancel struct { + Cancel *SignalCancelReq `protobuf:"bytes,3,opt,name=cancel,oneof"` +} +type SignalReq_Accept struct { + Accept *SignalAcceptReq `protobuf:"bytes,4,opt,name=accept,oneof"` +} +type SignalReq_HungUp struct { + HungUp *SignalHungUpReq `protobuf:"bytes,5,opt,name=hungUp,oneof"` +} +type SignalReq_Reject struct { + Reject *SignalRejectReq `protobuf:"bytes,6,opt,name=reject,oneof"` +} +type SignalReq_GetRoomByGroupID struct { + GetRoomByGroupID *SignalGetRoomByGroupIDReq `protobuf:"bytes,7,opt,name=getRoomByGroupID,oneof"` +} +type SignalReq_OnRoomParticipantConnectedReq struct { + OnRoomParticipantConnectedReq *SignalOnRoomParticipantConnectedReq `protobuf:"bytes,8,opt,name=onRoomParticipantConnectedReq,oneof"` +} +type SignalReq_OnRoomParticipantDisconnectedReq struct { + OnRoomParticipantDisconnectedReq *SignalOnRoomParticipantDisconnectedReq `protobuf:"bytes,9,opt,name=onRoomParticipantDisconnectedReq,oneof"` +} +type SignalReq_GetTokenByRoomID struct { + GetTokenByRoomID *SignalGetTokenByRoomIDReq `protobuf:"bytes,10,opt,name=getTokenByRoomID,oneof"` +} + +func (*SignalReq_Invite) isSignalReq_Payload() {} +func (*SignalReq_InviteInGroup) isSignalReq_Payload() {} +func (*SignalReq_Cancel) isSignalReq_Payload() {} +func (*SignalReq_Accept) isSignalReq_Payload() {} +func (*SignalReq_HungUp) isSignalReq_Payload() {} +func (*SignalReq_Reject) isSignalReq_Payload() {} +func (*SignalReq_GetRoomByGroupID) isSignalReq_Payload() {} +func (*SignalReq_OnRoomParticipantConnectedReq) isSignalReq_Payload() {} +func (*SignalReq_OnRoomParticipantDisconnectedReq) isSignalReq_Payload() {} +func (*SignalReq_GetTokenByRoomID) isSignalReq_Payload() {} + +func (m *SignalReq) GetPayload() isSignalReq_Payload { + if m != nil { + return m.Payload + } + return nil +} + +func (m *SignalReq) GetInvite() *SignalInviteReq { + if x, ok := m.GetPayload().(*SignalReq_Invite); ok { + return x.Invite + } + return nil +} + +func (m *SignalReq) GetInviteInGroup() *SignalInviteInGroupReq { + if x, ok := m.GetPayload().(*SignalReq_InviteInGroup); ok { + return x.InviteInGroup + } + return nil +} + +func (m *SignalReq) GetCancel() *SignalCancelReq { + if x, ok := m.GetPayload().(*SignalReq_Cancel); ok { + return x.Cancel + } + return nil +} + +func (m *SignalReq) GetAccept() *SignalAcceptReq { + if x, ok := m.GetPayload().(*SignalReq_Accept); ok { + return x.Accept + } + return nil +} + +func (m *SignalReq) GetHungUp() *SignalHungUpReq { + if x, ok := m.GetPayload().(*SignalReq_HungUp); ok { + return x.HungUp + } + return nil +} + +func (m *SignalReq) GetReject() *SignalRejectReq { + if x, ok := m.GetPayload().(*SignalReq_Reject); ok { + return x.Reject + } + return nil +} + +func (m *SignalReq) GetGetRoomByGroupID() *SignalGetRoomByGroupIDReq { + if x, ok := m.GetPayload().(*SignalReq_GetRoomByGroupID); ok { + return x.GetRoomByGroupID + } + return nil +} + +func (m *SignalReq) GetOnRoomParticipantConnectedReq() *SignalOnRoomParticipantConnectedReq { + if x, ok := m.GetPayload().(*SignalReq_OnRoomParticipantConnectedReq); ok { + return x.OnRoomParticipantConnectedReq + } + return nil +} + +func (m *SignalReq) GetOnRoomParticipantDisconnectedReq() *SignalOnRoomParticipantDisconnectedReq { + if x, ok := m.GetPayload().(*SignalReq_OnRoomParticipantDisconnectedReq); ok { + return x.OnRoomParticipantDisconnectedReq + } + return nil +} + +func (m *SignalReq) GetGetTokenByRoomID() *SignalGetTokenByRoomIDReq { + if x, ok := m.GetPayload().(*SignalReq_GetTokenByRoomID); ok { + return x.GetTokenByRoomID + } + return nil +} + +// XXX_OneofFuncs is for the internal use of the proto package. +func (*SignalReq) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) { + return _SignalReq_OneofMarshaler, _SignalReq_OneofUnmarshaler, _SignalReq_OneofSizer, []interface{}{ + (*SignalReq_Invite)(nil), + (*SignalReq_InviteInGroup)(nil), + (*SignalReq_Cancel)(nil), + (*SignalReq_Accept)(nil), + (*SignalReq_HungUp)(nil), + (*SignalReq_Reject)(nil), + (*SignalReq_GetRoomByGroupID)(nil), + (*SignalReq_OnRoomParticipantConnectedReq)(nil), + (*SignalReq_OnRoomParticipantDisconnectedReq)(nil), + (*SignalReq_GetTokenByRoomID)(nil), + } +} + +func _SignalReq_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { + m := msg.(*SignalReq) + // payload + switch x := m.Payload.(type) { + case *SignalReq_Invite: + b.EncodeVarint(1<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.Invite); err != nil { + return err + } + case *SignalReq_InviteInGroup: + b.EncodeVarint(2<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.InviteInGroup); err != nil { + return err + } + case *SignalReq_Cancel: + b.EncodeVarint(3<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.Cancel); err != nil { + return err + } + case *SignalReq_Accept: + b.EncodeVarint(4<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.Accept); err != nil { + return err + } + case *SignalReq_HungUp: + b.EncodeVarint(5<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.HungUp); err != nil { + return err + } + case *SignalReq_Reject: + b.EncodeVarint(6<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.Reject); err != nil { + return err + } + case *SignalReq_GetRoomByGroupID: + b.EncodeVarint(7<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.GetRoomByGroupID); err != nil { + return err + } + case *SignalReq_OnRoomParticipantConnectedReq: + b.EncodeVarint(8<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.OnRoomParticipantConnectedReq); err != nil { + return err + } + case *SignalReq_OnRoomParticipantDisconnectedReq: + b.EncodeVarint(9<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.OnRoomParticipantDisconnectedReq); err != nil { + return err + } + case *SignalReq_GetTokenByRoomID: + b.EncodeVarint(10<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.GetTokenByRoomID); err != nil { + return err + } + case nil: + default: + return fmt.Errorf("SignalReq.Payload has unexpected type %T", x) + } + return nil +} + +func _SignalReq_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) { + m := msg.(*SignalReq) + switch tag { + case 1: // payload.invite + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(SignalInviteReq) + err := b.DecodeMessage(msg) + m.Payload = &SignalReq_Invite{msg} + return true, err + case 2: // payload.inviteInGroup + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(SignalInviteInGroupReq) + err := b.DecodeMessage(msg) + m.Payload = &SignalReq_InviteInGroup{msg} + return true, err + case 3: // payload.cancel + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(SignalCancelReq) + err := b.DecodeMessage(msg) + m.Payload = &SignalReq_Cancel{msg} + return true, err + case 4: // payload.accept + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(SignalAcceptReq) + err := b.DecodeMessage(msg) + m.Payload = &SignalReq_Accept{msg} + return true, err + case 5: // payload.hungUp + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(SignalHungUpReq) + err := b.DecodeMessage(msg) + m.Payload = &SignalReq_HungUp{msg} + return true, err + case 6: // payload.reject + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(SignalRejectReq) + err := b.DecodeMessage(msg) + m.Payload = &SignalReq_Reject{msg} + return true, err + case 7: // payload.getRoomByGroupID + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(SignalGetRoomByGroupIDReq) + err := b.DecodeMessage(msg) + m.Payload = &SignalReq_GetRoomByGroupID{msg} + return true, err + case 8: // payload.onRoomParticipantConnectedReq + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(SignalOnRoomParticipantConnectedReq) + err := b.DecodeMessage(msg) + m.Payload = &SignalReq_OnRoomParticipantConnectedReq{msg} + return true, err + case 9: // payload.onRoomParticipantDisconnectedReq + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(SignalOnRoomParticipantDisconnectedReq) + err := b.DecodeMessage(msg) + m.Payload = &SignalReq_OnRoomParticipantDisconnectedReq{msg} + return true, err + case 10: // payload.getTokenByRoomID + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(SignalGetTokenByRoomIDReq) + err := b.DecodeMessage(msg) + m.Payload = &SignalReq_GetTokenByRoomID{msg} + return true, err + default: + return false, nil + } +} + +func _SignalReq_OneofSizer(msg proto.Message) (n int) { + m := msg.(*SignalReq) + // payload + switch x := m.Payload.(type) { + case *SignalReq_Invite: + s := proto.Size(x.Invite) + n += 1 // tag and wire + n += proto.SizeVarint(uint64(s)) + n += s + case *SignalReq_InviteInGroup: + s := proto.Size(x.InviteInGroup) + n += 1 // tag and wire + n += proto.SizeVarint(uint64(s)) + n += s + case *SignalReq_Cancel: + s := proto.Size(x.Cancel) + n += 1 // tag and wire + n += proto.SizeVarint(uint64(s)) + n += s + case *SignalReq_Accept: + s := proto.Size(x.Accept) + n += 1 // tag and wire + n += proto.SizeVarint(uint64(s)) + n += s + case *SignalReq_HungUp: + s := proto.Size(x.HungUp) + n += 1 // tag and wire + n += proto.SizeVarint(uint64(s)) + n += s + case *SignalReq_Reject: + s := proto.Size(x.Reject) + n += 1 // tag and wire + n += proto.SizeVarint(uint64(s)) + n += s + case *SignalReq_GetRoomByGroupID: + s := proto.Size(x.GetRoomByGroupID) + n += 1 // tag and wire + n += proto.SizeVarint(uint64(s)) + n += s + case *SignalReq_OnRoomParticipantConnectedReq: + s := proto.Size(x.OnRoomParticipantConnectedReq) + n += 1 // tag and wire + n += proto.SizeVarint(uint64(s)) + n += s + case *SignalReq_OnRoomParticipantDisconnectedReq: + s := proto.Size(x.OnRoomParticipantDisconnectedReq) + n += 1 // tag and wire + n += proto.SizeVarint(uint64(s)) + n += s + case *SignalReq_GetTokenByRoomID: + s := proto.Size(x.GetTokenByRoomID) + n += 1 // tag and wire + n += proto.SizeVarint(uint64(s)) + n += s + case nil: + default: + panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) + } + return n +} + +type SignalResp struct { + // Types that are valid to be assigned to Payload: + // *SignalResp_Invite + // *SignalResp_InviteInGroup + // *SignalResp_Cancel + // *SignalResp_Accept + // *SignalResp_HungUp + // *SignalResp_Reject + // *SignalResp_GetRoomByGroupID + // *SignalResp_GetTokenByRoomID + Payload isSignalResp_Payload `protobuf_oneof:"payload"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignalResp) Reset() { *m = SignalResp{} } +func (m *SignalResp) String() string { return proto.CompactTextString(m) } +func (*SignalResp) ProtoMessage() {} +func (*SignalResp) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{59} +} +func (m *SignalResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignalResp.Unmarshal(m, b) +} +func (m *SignalResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignalResp.Marshal(b, m, deterministic) +} +func (dst *SignalResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignalResp.Merge(dst, src) +} +func (m *SignalResp) XXX_Size() int { + return xxx_messageInfo_SignalResp.Size(m) +} +func (m *SignalResp) XXX_DiscardUnknown() { + xxx_messageInfo_SignalResp.DiscardUnknown(m) +} + +var xxx_messageInfo_SignalResp proto.InternalMessageInfo + +type isSignalResp_Payload interface { + isSignalResp_Payload() +} + +type SignalResp_Invite struct { + Invite *SignalInviteReply `protobuf:"bytes,1,opt,name=invite,oneof"` +} +type SignalResp_InviteInGroup struct { + InviteInGroup *SignalInviteInGroupReply `protobuf:"bytes,2,opt,name=inviteInGroup,oneof"` +} +type SignalResp_Cancel struct { + Cancel *SignalCancelReply `protobuf:"bytes,3,opt,name=cancel,oneof"` +} +type SignalResp_Accept struct { + Accept *SignalAcceptReply `protobuf:"bytes,4,opt,name=accept,oneof"` +} +type SignalResp_HungUp struct { + HungUp *SignalHungUpReply `protobuf:"bytes,5,opt,name=hungUp,oneof"` +} +type SignalResp_Reject struct { + Reject *SignalRejectReply `protobuf:"bytes,6,opt,name=reject,oneof"` +} +type SignalResp_GetRoomByGroupID struct { + GetRoomByGroupID *SignalGetRoomByGroupIDReply `protobuf:"bytes,7,opt,name=getRoomByGroupID,oneof"` +} +type SignalResp_GetTokenByRoomID struct { + GetTokenByRoomID *SignalGetTokenByRoomIDReply `protobuf:"bytes,8,opt,name=getTokenByRoomID,oneof"` +} + +func (*SignalResp_Invite) isSignalResp_Payload() {} +func (*SignalResp_InviteInGroup) isSignalResp_Payload() {} +func (*SignalResp_Cancel) isSignalResp_Payload() {} +func (*SignalResp_Accept) isSignalResp_Payload() {} +func (*SignalResp_HungUp) isSignalResp_Payload() {} +func (*SignalResp_Reject) isSignalResp_Payload() {} +func (*SignalResp_GetRoomByGroupID) isSignalResp_Payload() {} +func (*SignalResp_GetTokenByRoomID) isSignalResp_Payload() {} + +func (m *SignalResp) GetPayload() isSignalResp_Payload { + if m != nil { + return m.Payload + } + return nil +} + +func (m *SignalResp) GetInvite() *SignalInviteReply { + if x, ok := m.GetPayload().(*SignalResp_Invite); ok { + return x.Invite + } + return nil +} + +func (m *SignalResp) GetInviteInGroup() *SignalInviteInGroupReply { + if x, ok := m.GetPayload().(*SignalResp_InviteInGroup); ok { + return x.InviteInGroup + } + return nil +} + +func (m *SignalResp) GetCancel() *SignalCancelReply { + if x, ok := m.GetPayload().(*SignalResp_Cancel); ok { + return x.Cancel + } + return nil +} + +func (m *SignalResp) GetAccept() *SignalAcceptReply { + if x, ok := m.GetPayload().(*SignalResp_Accept); ok { + return x.Accept + } + return nil +} + +func (m *SignalResp) GetHungUp() *SignalHungUpReply { + if x, ok := m.GetPayload().(*SignalResp_HungUp); ok { + return x.HungUp + } + return nil +} + +func (m *SignalResp) GetReject() *SignalRejectReply { + if x, ok := m.GetPayload().(*SignalResp_Reject); ok { + return x.Reject + } + return nil +} + +func (m *SignalResp) GetGetRoomByGroupID() *SignalGetRoomByGroupIDReply { + if x, ok := m.GetPayload().(*SignalResp_GetRoomByGroupID); ok { + return x.GetRoomByGroupID + } + return nil +} + +func (m *SignalResp) GetGetTokenByRoomID() *SignalGetTokenByRoomIDReply { + if x, ok := m.GetPayload().(*SignalResp_GetTokenByRoomID); ok { + return x.GetTokenByRoomID + } + return nil +} + +// XXX_OneofFuncs is for the internal use of the proto package. +func (*SignalResp) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) { + return _SignalResp_OneofMarshaler, _SignalResp_OneofUnmarshaler, _SignalResp_OneofSizer, []interface{}{ + (*SignalResp_Invite)(nil), + (*SignalResp_InviteInGroup)(nil), + (*SignalResp_Cancel)(nil), + (*SignalResp_Accept)(nil), + (*SignalResp_HungUp)(nil), + (*SignalResp_Reject)(nil), + (*SignalResp_GetRoomByGroupID)(nil), + (*SignalResp_GetTokenByRoomID)(nil), + } +} + +func _SignalResp_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { + m := msg.(*SignalResp) + // payload + switch x := m.Payload.(type) { + case *SignalResp_Invite: + b.EncodeVarint(1<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.Invite); err != nil { + return err + } + case *SignalResp_InviteInGroup: + b.EncodeVarint(2<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.InviteInGroup); err != nil { + return err + } + case *SignalResp_Cancel: + b.EncodeVarint(3<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.Cancel); err != nil { + return err + } + case *SignalResp_Accept: + b.EncodeVarint(4<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.Accept); err != nil { + return err + } + case *SignalResp_HungUp: + b.EncodeVarint(5<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.HungUp); err != nil { + return err + } + case *SignalResp_Reject: + b.EncodeVarint(6<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.Reject); err != nil { + return err + } + case *SignalResp_GetRoomByGroupID: + b.EncodeVarint(7<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.GetRoomByGroupID); err != nil { + return err + } + case *SignalResp_GetTokenByRoomID: + b.EncodeVarint(8<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.GetTokenByRoomID); err != nil { + return err + } + case nil: + default: + return fmt.Errorf("SignalResp.Payload has unexpected type %T", x) + } + return nil +} + +func _SignalResp_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) { + m := msg.(*SignalResp) + switch tag { + case 1: // payload.invite + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(SignalInviteReply) + err := b.DecodeMessage(msg) + m.Payload = &SignalResp_Invite{msg} + return true, err + case 2: // payload.inviteInGroup + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(SignalInviteInGroupReply) + err := b.DecodeMessage(msg) + m.Payload = &SignalResp_InviteInGroup{msg} + return true, err + case 3: // payload.cancel + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(SignalCancelReply) + err := b.DecodeMessage(msg) + m.Payload = &SignalResp_Cancel{msg} + return true, err + case 4: // payload.accept + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(SignalAcceptReply) + err := b.DecodeMessage(msg) + m.Payload = &SignalResp_Accept{msg} + return true, err + case 5: // payload.hungUp + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(SignalHungUpReply) + err := b.DecodeMessage(msg) + m.Payload = &SignalResp_HungUp{msg} + return true, err + case 6: // payload.reject + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(SignalRejectReply) + err := b.DecodeMessage(msg) + m.Payload = &SignalResp_Reject{msg} + return true, err + case 7: // payload.getRoomByGroupID + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(SignalGetRoomByGroupIDReply) + err := b.DecodeMessage(msg) + m.Payload = &SignalResp_GetRoomByGroupID{msg} + return true, err + case 8: // payload.getTokenByRoomID + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(SignalGetTokenByRoomIDReply) + err := b.DecodeMessage(msg) + m.Payload = &SignalResp_GetTokenByRoomID{msg} + return true, err + default: + return false, nil + } +} + +func _SignalResp_OneofSizer(msg proto.Message) (n int) { + m := msg.(*SignalResp) + // payload + switch x := m.Payload.(type) { + case *SignalResp_Invite: + s := proto.Size(x.Invite) + n += 1 // tag and wire + n += proto.SizeVarint(uint64(s)) + n += s + case *SignalResp_InviteInGroup: + s := proto.Size(x.InviteInGroup) + n += 1 // tag and wire + n += proto.SizeVarint(uint64(s)) + n += s + case *SignalResp_Cancel: + s := proto.Size(x.Cancel) + n += 1 // tag and wire + n += proto.SizeVarint(uint64(s)) + n += s + case *SignalResp_Accept: + s := proto.Size(x.Accept) + n += 1 // tag and wire + n += proto.SizeVarint(uint64(s)) + n += s + case *SignalResp_HungUp: + s := proto.Size(x.HungUp) + n += 1 // tag and wire + n += proto.SizeVarint(uint64(s)) + n += s + case *SignalResp_Reject: + s := proto.Size(x.Reject) + n += 1 // tag and wire + n += proto.SizeVarint(uint64(s)) + n += s + case *SignalResp_GetRoomByGroupID: + s := proto.Size(x.GetRoomByGroupID) + n += 1 // tag and wire + n += proto.SizeVarint(uint64(s)) + n += s + case *SignalResp_GetTokenByRoomID: + s := proto.Size(x.GetTokenByRoomID) + n += 1 // tag and wire + n += proto.SizeVarint(uint64(s)) + n += s + case nil: + default: + panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) + } + return n +} + +type InvitationInfo struct { + InviterUserID string `protobuf:"bytes,1,opt,name=inviterUserID" json:"inviterUserID,omitempty"` + InviteeUserIDList []string `protobuf:"bytes,2,rep,name=inviteeUserIDList" json:"inviteeUserIDList,omitempty"` + CustomData string `protobuf:"bytes,3,opt,name=customData" json:"customData,omitempty"` + GroupID string `protobuf:"bytes,4,opt,name=groupID" json:"groupID,omitempty"` + RoomID string `protobuf:"bytes,5,opt,name=roomID" json:"roomID,omitempty"` + Timeout int32 `protobuf:"varint,6,opt,name=timeout" json:"timeout,omitempty"` + MediaType string `protobuf:"bytes,7,opt,name=mediaType" json:"mediaType,omitempty"` + PlatformID int32 `protobuf:"varint,8,opt,name=platformID" json:"platformID,omitempty"` + SessionType int32 `protobuf:"varint,9,opt,name=sessionType" json:"sessionType,omitempty"` + InitiateTime int32 `protobuf:"varint,10,opt,name=initiateTime" json:"initiateTime,omitempty"` + BusyLineUserIDList []string `protobuf:"bytes,11,rep,name=busyLineUserIDList" json:"busyLineUserIDList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *InvitationInfo) Reset() { *m = InvitationInfo{} } +func (m *InvitationInfo) String() string { return proto.CompactTextString(m) } +func (*InvitationInfo) ProtoMessage() {} +func (*InvitationInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{60} +} +func (m *InvitationInfo) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_InvitationInfo.Unmarshal(m, b) +} +func (m *InvitationInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_InvitationInfo.Marshal(b, m, deterministic) +} +func (dst *InvitationInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_InvitationInfo.Merge(dst, src) +} +func (m *InvitationInfo) XXX_Size() int { + return xxx_messageInfo_InvitationInfo.Size(m) +} +func (m *InvitationInfo) XXX_DiscardUnknown() { + xxx_messageInfo_InvitationInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_InvitationInfo proto.InternalMessageInfo + +func (m *InvitationInfo) GetInviterUserID() string { + if m != nil { + return m.InviterUserID + } + return "" +} + +func (m *InvitationInfo) GetInviteeUserIDList() []string { + if m != nil { + return m.InviteeUserIDList + } + return nil +} + +func (m *InvitationInfo) GetCustomData() string { + if m != nil { + return m.CustomData + } + return "" +} + +func (m *InvitationInfo) GetGroupID() string { + if m != nil { + return m.GroupID + } + return "" +} + +func (m *InvitationInfo) GetRoomID() string { + if m != nil { + return m.RoomID + } + return "" +} + +func (m *InvitationInfo) GetTimeout() int32 { + if m != nil { + return m.Timeout + } + return 0 +} + +func (m *InvitationInfo) GetMediaType() string { + if m != nil { + return m.MediaType + } + return "" +} + +func (m *InvitationInfo) GetPlatformID() int32 { + if m != nil { + return m.PlatformID + } + return 0 +} + +func (m *InvitationInfo) GetSessionType() int32 { + if m != nil { + return m.SessionType + } + return 0 +} + +func (m *InvitationInfo) GetInitiateTime() int32 { + if m != nil { + return m.InitiateTime + } + return 0 +} + +func (m *InvitationInfo) GetBusyLineUserIDList() []string { + if m != nil { + return m.BusyLineUserIDList + } + return nil +} + +type ParticipantMetaData struct { + GroupInfo *GroupInfo `protobuf:"bytes,1,opt,name=groupInfo" json:"groupInfo,omitempty"` + GroupMemberInfo *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=groupMemberInfo" json:"groupMemberInfo,omitempty"` + UserInfo *PublicUserInfo `protobuf:"bytes,3,opt,name=userInfo" json:"userInfo,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ParticipantMetaData) Reset() { *m = ParticipantMetaData{} } +func (m *ParticipantMetaData) String() string { return proto.CompactTextString(m) } +func (*ParticipantMetaData) ProtoMessage() {} +func (*ParticipantMetaData) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{61} +} +func (m *ParticipantMetaData) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ParticipantMetaData.Unmarshal(m, b) +} +func (m *ParticipantMetaData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ParticipantMetaData.Marshal(b, m, deterministic) +} +func (dst *ParticipantMetaData) XXX_Merge(src proto.Message) { + xxx_messageInfo_ParticipantMetaData.Merge(dst, src) +} +func (m *ParticipantMetaData) XXX_Size() int { + return xxx_messageInfo_ParticipantMetaData.Size(m) +} +func (m *ParticipantMetaData) XXX_DiscardUnknown() { + xxx_messageInfo_ParticipantMetaData.DiscardUnknown(m) +} + +var xxx_messageInfo_ParticipantMetaData proto.InternalMessageInfo + +func (m *ParticipantMetaData) GetGroupInfo() *GroupInfo { + if m != nil { + return m.GroupInfo + } + return nil +} + +func (m *ParticipantMetaData) GetGroupMemberInfo() *GroupMemberFullInfo { + if m != nil { + return m.GroupMemberInfo + } + return nil +} + +func (m *ParticipantMetaData) GetUserInfo() *PublicUserInfo { + if m != nil { + return m.UserInfo + } + return nil +} + +type SignalInviteReq struct { + OpUserID string `protobuf:"bytes,1,opt,name=opUserID" json:"opUserID,omitempty"` + Invitation *InvitationInfo `protobuf:"bytes,2,opt,name=invitation" json:"invitation,omitempty"` + OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,3,opt,name=offlinePushInfo" json:"offlinePushInfo,omitempty"` + Participant *ParticipantMetaData `protobuf:"bytes,4,opt,name=participant" json:"participant,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignalInviteReq) Reset() { *m = SignalInviteReq{} } +func (m *SignalInviteReq) String() string { return proto.CompactTextString(m) } +func (*SignalInviteReq) ProtoMessage() {} +func (*SignalInviteReq) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{62} +} +func (m *SignalInviteReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignalInviteReq.Unmarshal(m, b) +} +func (m *SignalInviteReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignalInviteReq.Marshal(b, m, deterministic) +} +func (dst *SignalInviteReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignalInviteReq.Merge(dst, src) +} +func (m *SignalInviteReq) XXX_Size() int { + return xxx_messageInfo_SignalInviteReq.Size(m) +} +func (m *SignalInviteReq) XXX_DiscardUnknown() { + xxx_messageInfo_SignalInviteReq.DiscardUnknown(m) +} + +var xxx_messageInfo_SignalInviteReq proto.InternalMessageInfo + +func (m *SignalInviteReq) GetOpUserID() string { + if m != nil { + return m.OpUserID + } + return "" +} + +func (m *SignalInviteReq) GetInvitation() *InvitationInfo { + if m != nil { + return m.Invitation + } + return nil +} + +func (m *SignalInviteReq) GetOfflinePushInfo() *OfflinePushInfo { + if m != nil { + return m.OfflinePushInfo + } + return nil +} + +func (m *SignalInviteReq) GetParticipant() *ParticipantMetaData { + if m != nil { + return m.Participant + } + return nil +} + +type SignalInviteReply struct { + Token string `protobuf:"bytes,1,opt,name=token" json:"token,omitempty"` + RoomID string `protobuf:"bytes,2,opt,name=roomID" json:"roomID,omitempty"` + LiveURL string `protobuf:"bytes,3,opt,name=liveURL" json:"liveURL,omitempty"` + BusyLineUserIDList []string `protobuf:"bytes,4,rep,name=busyLineUserIDList" json:"busyLineUserIDList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignalInviteReply) Reset() { *m = SignalInviteReply{} } +func (m *SignalInviteReply) String() string { return proto.CompactTextString(m) } +func (*SignalInviteReply) ProtoMessage() {} +func (*SignalInviteReply) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{63} +} +func (m *SignalInviteReply) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignalInviteReply.Unmarshal(m, b) +} +func (m *SignalInviteReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignalInviteReply.Marshal(b, m, deterministic) +} +func (dst *SignalInviteReply) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignalInviteReply.Merge(dst, src) +} +func (m *SignalInviteReply) XXX_Size() int { + return xxx_messageInfo_SignalInviteReply.Size(m) +} +func (m *SignalInviteReply) XXX_DiscardUnknown() { + xxx_messageInfo_SignalInviteReply.DiscardUnknown(m) +} + +var xxx_messageInfo_SignalInviteReply proto.InternalMessageInfo + +func (m *SignalInviteReply) GetToken() string { + if m != nil { + return m.Token + } + return "" +} + +func (m *SignalInviteReply) GetRoomID() string { + if m != nil { + return m.RoomID + } + return "" +} + +func (m *SignalInviteReply) GetLiveURL() string { + if m != nil { + return m.LiveURL + } + return "" +} + +func (m *SignalInviteReply) GetBusyLineUserIDList() []string { + if m != nil { + return m.BusyLineUserIDList + } + return nil +} + +type SignalInviteInGroupReq struct { + OpUserID string `protobuf:"bytes,1,opt,name=opUserID" json:"opUserID,omitempty"` + Invitation *InvitationInfo `protobuf:"bytes,2,opt,name=invitation" json:"invitation,omitempty"` + OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,3,opt,name=offlinePushInfo" json:"offlinePushInfo,omitempty"` + Participant *ParticipantMetaData `protobuf:"bytes,4,opt,name=participant" json:"participant,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignalInviteInGroupReq) Reset() { *m = SignalInviteInGroupReq{} } +func (m *SignalInviteInGroupReq) String() string { return proto.CompactTextString(m) } +func (*SignalInviteInGroupReq) ProtoMessage() {} +func (*SignalInviteInGroupReq) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{64} +} +func (m *SignalInviteInGroupReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignalInviteInGroupReq.Unmarshal(m, b) +} +func (m *SignalInviteInGroupReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignalInviteInGroupReq.Marshal(b, m, deterministic) +} +func (dst *SignalInviteInGroupReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignalInviteInGroupReq.Merge(dst, src) +} +func (m *SignalInviteInGroupReq) XXX_Size() int { + return xxx_messageInfo_SignalInviteInGroupReq.Size(m) +} +func (m *SignalInviteInGroupReq) XXX_DiscardUnknown() { + xxx_messageInfo_SignalInviteInGroupReq.DiscardUnknown(m) +} + +var xxx_messageInfo_SignalInviteInGroupReq proto.InternalMessageInfo + +func (m *SignalInviteInGroupReq) GetOpUserID() string { + if m != nil { + return m.OpUserID + } + return "" +} + +func (m *SignalInviteInGroupReq) GetInvitation() *InvitationInfo { + if m != nil { + return m.Invitation + } + return nil +} + +func (m *SignalInviteInGroupReq) GetOfflinePushInfo() *OfflinePushInfo { + if m != nil { + return m.OfflinePushInfo + } + return nil +} + +func (m *SignalInviteInGroupReq) GetParticipant() *ParticipantMetaData { + if m != nil { + return m.Participant + } + return nil +} + +type SignalInviteInGroupReply struct { + Token string `protobuf:"bytes,1,opt,name=token" json:"token,omitempty"` + RoomID string `protobuf:"bytes,2,opt,name=roomID" json:"roomID,omitempty"` + LiveURL string `protobuf:"bytes,3,opt,name=liveURL" json:"liveURL,omitempty"` + BusyLineUserIDList []string `protobuf:"bytes,4,rep,name=busyLineUserIDList" json:"busyLineUserIDList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignalInviteInGroupReply) Reset() { *m = SignalInviteInGroupReply{} } +func (m *SignalInviteInGroupReply) String() string { return proto.CompactTextString(m) } +func (*SignalInviteInGroupReply) ProtoMessage() {} +func (*SignalInviteInGroupReply) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{65} +} +func (m *SignalInviteInGroupReply) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignalInviteInGroupReply.Unmarshal(m, b) +} +func (m *SignalInviteInGroupReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignalInviteInGroupReply.Marshal(b, m, deterministic) +} +func (dst *SignalInviteInGroupReply) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignalInviteInGroupReply.Merge(dst, src) +} +func (m *SignalInviteInGroupReply) XXX_Size() int { + return xxx_messageInfo_SignalInviteInGroupReply.Size(m) +} +func (m *SignalInviteInGroupReply) XXX_DiscardUnknown() { + xxx_messageInfo_SignalInviteInGroupReply.DiscardUnknown(m) +} + +var xxx_messageInfo_SignalInviteInGroupReply proto.InternalMessageInfo + +func (m *SignalInviteInGroupReply) GetToken() string { + if m != nil { + return m.Token + } + return "" +} + +func (m *SignalInviteInGroupReply) GetRoomID() string { + if m != nil { + return m.RoomID + } + return "" +} + +func (m *SignalInviteInGroupReply) GetLiveURL() string { + if m != nil { + return m.LiveURL + } + return "" +} + +func (m *SignalInviteInGroupReply) GetBusyLineUserIDList() []string { + if m != nil { + return m.BusyLineUserIDList + } + return nil +} + +type SignalCancelReq struct { + OpUserID string `protobuf:"bytes,1,opt,name=opUserID" json:"opUserID,omitempty"` + Invitation *InvitationInfo `protobuf:"bytes,2,opt,name=invitation" json:"invitation,omitempty"` + OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,3,opt,name=offlinePushInfo" json:"offlinePushInfo,omitempty"` + Participant *ParticipantMetaData `protobuf:"bytes,4,opt,name=participant" json:"participant,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignalCancelReq) Reset() { *m = SignalCancelReq{} } +func (m *SignalCancelReq) String() string { return proto.CompactTextString(m) } +func (*SignalCancelReq) ProtoMessage() {} +func (*SignalCancelReq) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{66} +} +func (m *SignalCancelReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignalCancelReq.Unmarshal(m, b) +} +func (m *SignalCancelReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignalCancelReq.Marshal(b, m, deterministic) +} +func (dst *SignalCancelReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignalCancelReq.Merge(dst, src) +} +func (m *SignalCancelReq) XXX_Size() int { + return xxx_messageInfo_SignalCancelReq.Size(m) +} +func (m *SignalCancelReq) XXX_DiscardUnknown() { + xxx_messageInfo_SignalCancelReq.DiscardUnknown(m) +} + +var xxx_messageInfo_SignalCancelReq proto.InternalMessageInfo + +func (m *SignalCancelReq) GetOpUserID() string { + if m != nil { + return m.OpUserID + } + return "" +} + +func (m *SignalCancelReq) GetInvitation() *InvitationInfo { + if m != nil { + return m.Invitation + } + return nil +} + +func (m *SignalCancelReq) GetOfflinePushInfo() *OfflinePushInfo { + if m != nil { + return m.OfflinePushInfo + } + return nil +} + +func (m *SignalCancelReq) GetParticipant() *ParticipantMetaData { + if m != nil { + return m.Participant + } + return nil +} + +type SignalCancelReply struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignalCancelReply) Reset() { *m = SignalCancelReply{} } +func (m *SignalCancelReply) String() string { return proto.CompactTextString(m) } +func (*SignalCancelReply) ProtoMessage() {} +func (*SignalCancelReply) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{67} +} +func (m *SignalCancelReply) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignalCancelReply.Unmarshal(m, b) +} +func (m *SignalCancelReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignalCancelReply.Marshal(b, m, deterministic) +} +func (dst *SignalCancelReply) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignalCancelReply.Merge(dst, src) +} +func (m *SignalCancelReply) XXX_Size() int { + return xxx_messageInfo_SignalCancelReply.Size(m) +} +func (m *SignalCancelReply) XXX_DiscardUnknown() { + xxx_messageInfo_SignalCancelReply.DiscardUnknown(m) +} + +var xxx_messageInfo_SignalCancelReply proto.InternalMessageInfo + +type SignalAcceptReq struct { + OpUserID string `protobuf:"bytes,1,opt,name=opUserID" json:"opUserID,omitempty"` + Invitation *InvitationInfo `protobuf:"bytes,2,opt,name=invitation" json:"invitation,omitempty"` + OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,3,opt,name=offlinePushInfo" json:"offlinePushInfo,omitempty"` + Participant *ParticipantMetaData `protobuf:"bytes,4,opt,name=participant" json:"participant,omitempty"` + OpUserPlatformID int32 `protobuf:"varint,5,opt,name=opUserPlatformID" json:"opUserPlatformID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignalAcceptReq) Reset() { *m = SignalAcceptReq{} } +func (m *SignalAcceptReq) String() string { return proto.CompactTextString(m) } +func (*SignalAcceptReq) ProtoMessage() {} +func (*SignalAcceptReq) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{68} +} +func (m *SignalAcceptReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignalAcceptReq.Unmarshal(m, b) +} +func (m *SignalAcceptReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignalAcceptReq.Marshal(b, m, deterministic) +} +func (dst *SignalAcceptReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignalAcceptReq.Merge(dst, src) +} +func (m *SignalAcceptReq) XXX_Size() int { + return xxx_messageInfo_SignalAcceptReq.Size(m) +} +func (m *SignalAcceptReq) XXX_DiscardUnknown() { + xxx_messageInfo_SignalAcceptReq.DiscardUnknown(m) +} + +var xxx_messageInfo_SignalAcceptReq proto.InternalMessageInfo + +func (m *SignalAcceptReq) GetOpUserID() string { + if m != nil { + return m.OpUserID + } + return "" +} + +func (m *SignalAcceptReq) GetInvitation() *InvitationInfo { + if m != nil { + return m.Invitation + } + return nil +} + +func (m *SignalAcceptReq) GetOfflinePushInfo() *OfflinePushInfo { + if m != nil { + return m.OfflinePushInfo + } + return nil +} + +func (m *SignalAcceptReq) GetParticipant() *ParticipantMetaData { + if m != nil { + return m.Participant + } + return nil +} + +func (m *SignalAcceptReq) GetOpUserPlatformID() int32 { + if m != nil { + return m.OpUserPlatformID + } + return 0 +} + +type SignalAcceptReply struct { + Token string `protobuf:"bytes,1,opt,name=token" json:"token,omitempty"` + RoomID string `protobuf:"bytes,2,opt,name=roomID" json:"roomID,omitempty"` + LiveURL string `protobuf:"bytes,3,opt,name=liveURL" json:"liveURL,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignalAcceptReply) Reset() { *m = SignalAcceptReply{} } +func (m *SignalAcceptReply) String() string { return proto.CompactTextString(m) } +func (*SignalAcceptReply) ProtoMessage() {} +func (*SignalAcceptReply) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{69} +} +func (m *SignalAcceptReply) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignalAcceptReply.Unmarshal(m, b) +} +func (m *SignalAcceptReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignalAcceptReply.Marshal(b, m, deterministic) +} +func (dst *SignalAcceptReply) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignalAcceptReply.Merge(dst, src) +} +func (m *SignalAcceptReply) XXX_Size() int { + return xxx_messageInfo_SignalAcceptReply.Size(m) +} +func (m *SignalAcceptReply) XXX_DiscardUnknown() { + xxx_messageInfo_SignalAcceptReply.DiscardUnknown(m) +} + +var xxx_messageInfo_SignalAcceptReply proto.InternalMessageInfo + +func (m *SignalAcceptReply) GetToken() string { + if m != nil { + return m.Token + } + return "" +} + +func (m *SignalAcceptReply) GetRoomID() string { + if m != nil { + return m.RoomID + } + return "" +} + +func (m *SignalAcceptReply) GetLiveURL() string { + if m != nil { + return m.LiveURL + } + return "" +} + +type SignalHungUpReq struct { + OpUserID string `protobuf:"bytes,1,opt,name=opUserID" json:"opUserID,omitempty"` + Invitation *InvitationInfo `protobuf:"bytes,2,opt,name=invitation" json:"invitation,omitempty"` + OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,3,opt,name=offlinePushInfo" json:"offlinePushInfo,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignalHungUpReq) Reset() { *m = SignalHungUpReq{} } +func (m *SignalHungUpReq) String() string { return proto.CompactTextString(m) } +func (*SignalHungUpReq) ProtoMessage() {} +func (*SignalHungUpReq) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{70} +} +func (m *SignalHungUpReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignalHungUpReq.Unmarshal(m, b) +} +func (m *SignalHungUpReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignalHungUpReq.Marshal(b, m, deterministic) +} +func (dst *SignalHungUpReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignalHungUpReq.Merge(dst, src) +} +func (m *SignalHungUpReq) XXX_Size() int { + return xxx_messageInfo_SignalHungUpReq.Size(m) +} +func (m *SignalHungUpReq) XXX_DiscardUnknown() { + xxx_messageInfo_SignalHungUpReq.DiscardUnknown(m) +} + +var xxx_messageInfo_SignalHungUpReq proto.InternalMessageInfo + +func (m *SignalHungUpReq) GetOpUserID() string { + if m != nil { + return m.OpUserID + } + return "" +} + +func (m *SignalHungUpReq) GetInvitation() *InvitationInfo { + if m != nil { + return m.Invitation + } + return nil +} + +func (m *SignalHungUpReq) GetOfflinePushInfo() *OfflinePushInfo { + if m != nil { + return m.OfflinePushInfo + } + return nil +} + +type SignalHungUpReply struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignalHungUpReply) Reset() { *m = SignalHungUpReply{} } +func (m *SignalHungUpReply) String() string { return proto.CompactTextString(m) } +func (*SignalHungUpReply) ProtoMessage() {} +func (*SignalHungUpReply) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{71} +} +func (m *SignalHungUpReply) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignalHungUpReply.Unmarshal(m, b) +} +func (m *SignalHungUpReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignalHungUpReply.Marshal(b, m, deterministic) +} +func (dst *SignalHungUpReply) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignalHungUpReply.Merge(dst, src) +} +func (m *SignalHungUpReply) XXX_Size() int { + return xxx_messageInfo_SignalHungUpReply.Size(m) +} +func (m *SignalHungUpReply) XXX_DiscardUnknown() { + xxx_messageInfo_SignalHungUpReply.DiscardUnknown(m) +} + +var xxx_messageInfo_SignalHungUpReply proto.InternalMessageInfo + +type SignalRejectReq struct { + OpUserID string `protobuf:"bytes,1,opt,name=opUserID" json:"opUserID,omitempty"` + Invitation *InvitationInfo `protobuf:"bytes,2,opt,name=invitation" json:"invitation,omitempty"` + OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,3,opt,name=offlinePushInfo" json:"offlinePushInfo,omitempty"` + Participant *ParticipantMetaData `protobuf:"bytes,4,opt,name=participant" json:"participant,omitempty"` + OpUserPlatformID int32 `protobuf:"varint,5,opt,name=opUserPlatformID" json:"opUserPlatformID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignalRejectReq) Reset() { *m = SignalRejectReq{} } +func (m *SignalRejectReq) String() string { return proto.CompactTextString(m) } +func (*SignalRejectReq) ProtoMessage() {} +func (*SignalRejectReq) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{72} +} +func (m *SignalRejectReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignalRejectReq.Unmarshal(m, b) +} +func (m *SignalRejectReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignalRejectReq.Marshal(b, m, deterministic) +} +func (dst *SignalRejectReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignalRejectReq.Merge(dst, src) +} +func (m *SignalRejectReq) XXX_Size() int { + return xxx_messageInfo_SignalRejectReq.Size(m) +} +func (m *SignalRejectReq) XXX_DiscardUnknown() { + xxx_messageInfo_SignalRejectReq.DiscardUnknown(m) +} + +var xxx_messageInfo_SignalRejectReq proto.InternalMessageInfo + +func (m *SignalRejectReq) GetOpUserID() string { + if m != nil { + return m.OpUserID + } + return "" +} + +func (m *SignalRejectReq) GetInvitation() *InvitationInfo { + if m != nil { + return m.Invitation + } + return nil +} + +func (m *SignalRejectReq) GetOfflinePushInfo() *OfflinePushInfo { + if m != nil { + return m.OfflinePushInfo + } + return nil +} + +func (m *SignalRejectReq) GetParticipant() *ParticipantMetaData { + if m != nil { + return m.Participant + } + return nil +} + +func (m *SignalRejectReq) GetOpUserPlatformID() int32 { + if m != nil { + return m.OpUserPlatformID + } + return 0 +} + +type SignalRejectReply struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignalRejectReply) Reset() { *m = SignalRejectReply{} } +func (m *SignalRejectReply) String() string { return proto.CompactTextString(m) } +func (*SignalRejectReply) ProtoMessage() {} +func (*SignalRejectReply) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{73} +} +func (m *SignalRejectReply) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignalRejectReply.Unmarshal(m, b) +} +func (m *SignalRejectReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignalRejectReply.Marshal(b, m, deterministic) +} +func (dst *SignalRejectReply) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignalRejectReply.Merge(dst, src) +} +func (m *SignalRejectReply) XXX_Size() int { + return xxx_messageInfo_SignalRejectReply.Size(m) +} +func (m *SignalRejectReply) XXX_DiscardUnknown() { + xxx_messageInfo_SignalRejectReply.DiscardUnknown(m) +} + +var xxx_messageInfo_SignalRejectReply proto.InternalMessageInfo + +type SignalGetRoomByGroupIDReq struct { + OpUserID string `protobuf:"bytes,1,opt,name=opUserID" json:"opUserID,omitempty"` + GroupID string `protobuf:"bytes,2,opt,name=groupID" json:"groupID,omitempty"` + Participant *ParticipantMetaData `protobuf:"bytes,3,opt,name=participant" json:"participant,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignalGetRoomByGroupIDReq) Reset() { *m = SignalGetRoomByGroupIDReq{} } +func (m *SignalGetRoomByGroupIDReq) String() string { return proto.CompactTextString(m) } +func (*SignalGetRoomByGroupIDReq) ProtoMessage() {} +func (*SignalGetRoomByGroupIDReq) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{74} +} +func (m *SignalGetRoomByGroupIDReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignalGetRoomByGroupIDReq.Unmarshal(m, b) +} +func (m *SignalGetRoomByGroupIDReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignalGetRoomByGroupIDReq.Marshal(b, m, deterministic) +} +func (dst *SignalGetRoomByGroupIDReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignalGetRoomByGroupIDReq.Merge(dst, src) +} +func (m *SignalGetRoomByGroupIDReq) XXX_Size() int { + return xxx_messageInfo_SignalGetRoomByGroupIDReq.Size(m) +} +func (m *SignalGetRoomByGroupIDReq) XXX_DiscardUnknown() { + xxx_messageInfo_SignalGetRoomByGroupIDReq.DiscardUnknown(m) +} + +var xxx_messageInfo_SignalGetRoomByGroupIDReq proto.InternalMessageInfo + +func (m *SignalGetRoomByGroupIDReq) GetOpUserID() string { + if m != nil { + return m.OpUserID + } + return "" +} + +func (m *SignalGetRoomByGroupIDReq) GetGroupID() string { + if m != nil { + return m.GroupID + } + return "" +} + +func (m *SignalGetRoomByGroupIDReq) GetParticipant() *ParticipantMetaData { + if m != nil { + return m.Participant + } + return nil +} + +type SignalGetRoomByGroupIDReply struct { + Invitation *InvitationInfo `protobuf:"bytes,1,opt,name=invitation" json:"invitation,omitempty"` + Participant []*ParticipantMetaData `protobuf:"bytes,2,rep,name=participant" json:"participant,omitempty"` + RoomID string `protobuf:"bytes,3,opt,name=roomID" json:"roomID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignalGetRoomByGroupIDReply) Reset() { *m = SignalGetRoomByGroupIDReply{} } +func (m *SignalGetRoomByGroupIDReply) String() string { return proto.CompactTextString(m) } +func (*SignalGetRoomByGroupIDReply) ProtoMessage() {} +func (*SignalGetRoomByGroupIDReply) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{75} +} +func (m *SignalGetRoomByGroupIDReply) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignalGetRoomByGroupIDReply.Unmarshal(m, b) +} +func (m *SignalGetRoomByGroupIDReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignalGetRoomByGroupIDReply.Marshal(b, m, deterministic) +} +func (dst *SignalGetRoomByGroupIDReply) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignalGetRoomByGroupIDReply.Merge(dst, src) +} +func (m *SignalGetRoomByGroupIDReply) XXX_Size() int { + return xxx_messageInfo_SignalGetRoomByGroupIDReply.Size(m) +} +func (m *SignalGetRoomByGroupIDReply) XXX_DiscardUnknown() { + xxx_messageInfo_SignalGetRoomByGroupIDReply.DiscardUnknown(m) +} + +var xxx_messageInfo_SignalGetRoomByGroupIDReply proto.InternalMessageInfo + +func (m *SignalGetRoomByGroupIDReply) GetInvitation() *InvitationInfo { + if m != nil { + return m.Invitation + } + return nil +} + +func (m *SignalGetRoomByGroupIDReply) GetParticipant() []*ParticipantMetaData { + if m != nil { + return m.Participant + } + return nil +} + +func (m *SignalGetRoomByGroupIDReply) GetRoomID() string { + if m != nil { + return m.RoomID + } + return "" +} + +type SignalOnRoomParticipantConnectedReq struct { + Invitation *InvitationInfo `protobuf:"bytes,1,opt,name=invitation" json:"invitation,omitempty"` + Participant []*ParticipantMetaData `protobuf:"bytes,2,rep,name=participant" json:"participant,omitempty"` + GroupID string `protobuf:"bytes,3,opt,name=groupID" json:"groupID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignalOnRoomParticipantConnectedReq) Reset() { *m = SignalOnRoomParticipantConnectedReq{} } +func (m *SignalOnRoomParticipantConnectedReq) String() string { return proto.CompactTextString(m) } +func (*SignalOnRoomParticipantConnectedReq) ProtoMessage() {} +func (*SignalOnRoomParticipantConnectedReq) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{76} +} +func (m *SignalOnRoomParticipantConnectedReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignalOnRoomParticipantConnectedReq.Unmarshal(m, b) +} +func (m *SignalOnRoomParticipantConnectedReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignalOnRoomParticipantConnectedReq.Marshal(b, m, deterministic) +} +func (dst *SignalOnRoomParticipantConnectedReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignalOnRoomParticipantConnectedReq.Merge(dst, src) +} +func (m *SignalOnRoomParticipantConnectedReq) XXX_Size() int { + return xxx_messageInfo_SignalOnRoomParticipantConnectedReq.Size(m) +} +func (m *SignalOnRoomParticipantConnectedReq) XXX_DiscardUnknown() { + xxx_messageInfo_SignalOnRoomParticipantConnectedReq.DiscardUnknown(m) +} + +var xxx_messageInfo_SignalOnRoomParticipantConnectedReq proto.InternalMessageInfo + +func (m *SignalOnRoomParticipantConnectedReq) GetInvitation() *InvitationInfo { + if m != nil { + return m.Invitation + } + return nil +} + +func (m *SignalOnRoomParticipantConnectedReq) GetParticipant() []*ParticipantMetaData { + if m != nil { + return m.Participant + } + return nil +} + +func (m *SignalOnRoomParticipantConnectedReq) GetGroupID() string { + if m != nil { + return m.GroupID + } + return "" +} + +type SignalOnRoomParticipantDisconnectedReq struct { + Invitation *InvitationInfo `protobuf:"bytes,1,opt,name=invitation" json:"invitation,omitempty"` + Participant []*ParticipantMetaData `protobuf:"bytes,2,rep,name=participant" json:"participant,omitempty"` + GroupID string `protobuf:"bytes,3,opt,name=groupID" json:"groupID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignalOnRoomParticipantDisconnectedReq) Reset() { + *m = SignalOnRoomParticipantDisconnectedReq{} +} +func (m *SignalOnRoomParticipantDisconnectedReq) String() string { return proto.CompactTextString(m) } +func (*SignalOnRoomParticipantDisconnectedReq) ProtoMessage() {} +func (*SignalOnRoomParticipantDisconnectedReq) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{77} +} +func (m *SignalOnRoomParticipantDisconnectedReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignalOnRoomParticipantDisconnectedReq.Unmarshal(m, b) +} +func (m *SignalOnRoomParticipantDisconnectedReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignalOnRoomParticipantDisconnectedReq.Marshal(b, m, deterministic) +} +func (dst *SignalOnRoomParticipantDisconnectedReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignalOnRoomParticipantDisconnectedReq.Merge(dst, src) +} +func (m *SignalOnRoomParticipantDisconnectedReq) XXX_Size() int { + return xxx_messageInfo_SignalOnRoomParticipantDisconnectedReq.Size(m) +} +func (m *SignalOnRoomParticipantDisconnectedReq) XXX_DiscardUnknown() { + xxx_messageInfo_SignalOnRoomParticipantDisconnectedReq.DiscardUnknown(m) +} + +var xxx_messageInfo_SignalOnRoomParticipantDisconnectedReq proto.InternalMessageInfo + +func (m *SignalOnRoomParticipantDisconnectedReq) GetInvitation() *InvitationInfo { + if m != nil { + return m.Invitation + } + return nil +} + +func (m *SignalOnRoomParticipantDisconnectedReq) GetParticipant() []*ParticipantMetaData { + if m != nil { + return m.Participant + } + return nil +} + +func (m *SignalOnRoomParticipantDisconnectedReq) GetGroupID() string { + if m != nil { + return m.GroupID + } + return "" +} + +type SignalGetTokenByRoomIDReq struct { + RoomID string `protobuf:"bytes,1,opt,name=roomID" json:"roomID,omitempty"` + OpUserID string `protobuf:"bytes,2,opt,name=opUserID" json:"opUserID,omitempty"` + Participant *ParticipantMetaData `protobuf:"bytes,3,opt,name=participant" json:"participant,omitempty"` + OperationID string `protobuf:"bytes,4,opt,name=operationID" json:"operationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignalGetTokenByRoomIDReq) Reset() { *m = SignalGetTokenByRoomIDReq{} } +func (m *SignalGetTokenByRoomIDReq) String() string { return proto.CompactTextString(m) } +func (*SignalGetTokenByRoomIDReq) ProtoMessage() {} +func (*SignalGetTokenByRoomIDReq) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{78} +} +func (m *SignalGetTokenByRoomIDReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignalGetTokenByRoomIDReq.Unmarshal(m, b) +} +func (m *SignalGetTokenByRoomIDReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignalGetTokenByRoomIDReq.Marshal(b, m, deterministic) +} +func (dst *SignalGetTokenByRoomIDReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignalGetTokenByRoomIDReq.Merge(dst, src) +} +func (m *SignalGetTokenByRoomIDReq) XXX_Size() int { + return xxx_messageInfo_SignalGetTokenByRoomIDReq.Size(m) +} +func (m *SignalGetTokenByRoomIDReq) XXX_DiscardUnknown() { + xxx_messageInfo_SignalGetTokenByRoomIDReq.DiscardUnknown(m) +} + +var xxx_messageInfo_SignalGetTokenByRoomIDReq proto.InternalMessageInfo + +func (m *SignalGetTokenByRoomIDReq) GetRoomID() string { + if m != nil { + return m.RoomID + } + return "" +} + +func (m *SignalGetTokenByRoomIDReq) GetOpUserID() string { + if m != nil { + return m.OpUserID + } + return "" +} + +func (m *SignalGetTokenByRoomIDReq) GetParticipant() *ParticipantMetaData { + if m != nil { + return m.Participant + } + return nil +} + +func (m *SignalGetTokenByRoomIDReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +type SignalGetTokenByRoomIDReply struct { + Token string `protobuf:"bytes,1,opt,name=token" json:"token,omitempty"` + LiveURL string `protobuf:"bytes,2,opt,name=liveURL" json:"liveURL,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignalGetTokenByRoomIDReply) Reset() { *m = SignalGetTokenByRoomIDReply{} } +func (m *SignalGetTokenByRoomIDReply) String() string { return proto.CompactTextString(m) } +func (*SignalGetTokenByRoomIDReply) ProtoMessage() {} +func (*SignalGetTokenByRoomIDReply) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{79} +} +func (m *SignalGetTokenByRoomIDReply) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignalGetTokenByRoomIDReply.Unmarshal(m, b) +} +func (m *SignalGetTokenByRoomIDReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignalGetTokenByRoomIDReply.Marshal(b, m, deterministic) +} +func (dst *SignalGetTokenByRoomIDReply) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignalGetTokenByRoomIDReply.Merge(dst, src) +} +func (m *SignalGetTokenByRoomIDReply) XXX_Size() int { + return xxx_messageInfo_SignalGetTokenByRoomIDReply.Size(m) +} +func (m *SignalGetTokenByRoomIDReply) XXX_DiscardUnknown() { + xxx_messageInfo_SignalGetTokenByRoomIDReply.DiscardUnknown(m) +} + +var xxx_messageInfo_SignalGetTokenByRoomIDReply proto.InternalMessageInfo + +func (m *SignalGetTokenByRoomIDReply) GetToken() string { + if m != nil { + return m.Token + } + return "" +} + +func (m *SignalGetTokenByRoomIDReply) GetLiveURL() string { + if m != nil { + return m.LiveURL + } + return "" +} + +type DelMsgListReq struct { + OpUserID string `protobuf:"bytes,1,opt,name=opUserID" json:"opUserID,omitempty"` + UserID string `protobuf:"bytes,2,opt,name=userID" json:"userID,omitempty"` + SeqList []uint32 `protobuf:"varint,3,rep,packed,name=seqList" json:"seqList,omitempty"` + OperationID string `protobuf:"bytes,4,opt,name=operationID" json:"operationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DelMsgListReq) Reset() { *m = DelMsgListReq{} } +func (m *DelMsgListReq) String() string { return proto.CompactTextString(m) } +func (*DelMsgListReq) ProtoMessage() {} +func (*DelMsgListReq) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{80} +} +func (m *DelMsgListReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DelMsgListReq.Unmarshal(m, b) +} +func (m *DelMsgListReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DelMsgListReq.Marshal(b, m, deterministic) +} +func (dst *DelMsgListReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_DelMsgListReq.Merge(dst, src) +} +func (m *DelMsgListReq) XXX_Size() int { + return xxx_messageInfo_DelMsgListReq.Size(m) +} +func (m *DelMsgListReq) XXX_DiscardUnknown() { + xxx_messageInfo_DelMsgListReq.DiscardUnknown(m) +} + +var xxx_messageInfo_DelMsgListReq proto.InternalMessageInfo + +func (m *DelMsgListReq) GetOpUserID() string { + if m != nil { + return m.OpUserID + } + return "" +} + +func (m *DelMsgListReq) GetUserID() string { + if m != nil { + return m.UserID + } + return "" +} + +func (m *DelMsgListReq) GetSeqList() []uint32 { + if m != nil { + return m.SeqList + } + return nil +} + +func (m *DelMsgListReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +type DelMsgListResp struct { + ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DelMsgListResp) Reset() { *m = DelMsgListResp{} } +func (m *DelMsgListResp) String() string { return proto.CompactTextString(m) } +func (*DelMsgListResp) ProtoMessage() {} +func (*DelMsgListResp) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{81} +} +func (m *DelMsgListResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DelMsgListResp.Unmarshal(m, b) +} +func (m *DelMsgListResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DelMsgListResp.Marshal(b, m, deterministic) +} +func (dst *DelMsgListResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_DelMsgListResp.Merge(dst, src) +} +func (m *DelMsgListResp) XXX_Size() int { + return xxx_messageInfo_DelMsgListResp.Size(m) +} +func (m *DelMsgListResp) XXX_DiscardUnknown() { + xxx_messageInfo_DelMsgListResp.DiscardUnknown(m) +} + +var xxx_messageInfo_DelMsgListResp proto.InternalMessageInfo + +func (m *DelMsgListResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode + } + return 0 +} + +func (m *DelMsgListResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg + } + return "" +} + +type SetAppBackgroundStatusReq struct { + UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` + IsBackground bool `protobuf:"varint,2,opt,name=isBackground" json:"isBackground,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SetAppBackgroundStatusReq) Reset() { *m = SetAppBackgroundStatusReq{} } +func (m *SetAppBackgroundStatusReq) String() string { return proto.CompactTextString(m) } +func (*SetAppBackgroundStatusReq) ProtoMessage() {} +func (*SetAppBackgroundStatusReq) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{82} +} +func (m *SetAppBackgroundStatusReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SetAppBackgroundStatusReq.Unmarshal(m, b) +} +func (m *SetAppBackgroundStatusReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SetAppBackgroundStatusReq.Marshal(b, m, deterministic) +} +func (dst *SetAppBackgroundStatusReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_SetAppBackgroundStatusReq.Merge(dst, src) +} +func (m *SetAppBackgroundStatusReq) XXX_Size() int { + return xxx_messageInfo_SetAppBackgroundStatusReq.Size(m) +} +func (m *SetAppBackgroundStatusReq) XXX_DiscardUnknown() { + xxx_messageInfo_SetAppBackgroundStatusReq.DiscardUnknown(m) +} + +var xxx_messageInfo_SetAppBackgroundStatusReq proto.InternalMessageInfo + +func (m *SetAppBackgroundStatusReq) GetUserID() string { + if m != nil { + return m.UserID + } + return "" +} + +func (m *SetAppBackgroundStatusReq) GetIsBackground() bool { + if m != nil { + return m.IsBackground + } + return false +} + +type SetAppBackgroundStatusResp struct { + ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SetAppBackgroundStatusResp) Reset() { *m = SetAppBackgroundStatusResp{} } +func (m *SetAppBackgroundStatusResp) String() string { return proto.CompactTextString(m) } +func (*SetAppBackgroundStatusResp) ProtoMessage() {} +func (*SetAppBackgroundStatusResp) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{83} +} +func (m *SetAppBackgroundStatusResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SetAppBackgroundStatusResp.Unmarshal(m, b) +} +func (m *SetAppBackgroundStatusResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SetAppBackgroundStatusResp.Marshal(b, m, deterministic) +} +func (dst *SetAppBackgroundStatusResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_SetAppBackgroundStatusResp.Merge(dst, src) +} +func (m *SetAppBackgroundStatusResp) XXX_Size() int { + return xxx_messageInfo_SetAppBackgroundStatusResp.Size(m) +} +func (m *SetAppBackgroundStatusResp) XXX_DiscardUnknown() { + xxx_messageInfo_SetAppBackgroundStatusResp.DiscardUnknown(m) +} + +var xxx_messageInfo_SetAppBackgroundStatusResp proto.InternalMessageInfo + +func (m *SetAppBackgroundStatusResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode + } + return 0 +} + +func (m *SetAppBackgroundStatusResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg + } + return "" +} + +type ExtendMsgSet struct { + ID string `protobuf:"bytes,1,opt,name=ID" json:"ID,omitempty"` + // repeated ExtendMsg extendMsgs = 2; + LatestUpdateTime int32 `protobuf:"varint,3,opt,name=latestUpdateTime" json:"latestUpdateTime,omitempty"` + AttachedInfo string `protobuf:"bytes,4,opt,name=attachedInfo" json:"attachedInfo,omitempty"` + Ex string `protobuf:"bytes,5,opt,name=ex" json:"ex,omitempty"` + ExtendMsgNum int32 `protobuf:"varint,6,opt,name=extendMsgNum" json:"extendMsgNum,omitempty"` + CreateTime int32 `protobuf:"varint,7,opt,name=createTime" json:"createTime,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ExtendMsgSet) Reset() { *m = ExtendMsgSet{} } +func (m *ExtendMsgSet) String() string { return proto.CompactTextString(m) } +func (*ExtendMsgSet) ProtoMessage() {} +func (*ExtendMsgSet) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{84} +} +func (m *ExtendMsgSet) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ExtendMsgSet.Unmarshal(m, b) +} +func (m *ExtendMsgSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ExtendMsgSet.Marshal(b, m, deterministic) +} +func (dst *ExtendMsgSet) XXX_Merge(src proto.Message) { + xxx_messageInfo_ExtendMsgSet.Merge(dst, src) +} +func (m *ExtendMsgSet) XXX_Size() int { + return xxx_messageInfo_ExtendMsgSet.Size(m) +} +func (m *ExtendMsgSet) XXX_DiscardUnknown() { + xxx_messageInfo_ExtendMsgSet.DiscardUnknown(m) +} + +var xxx_messageInfo_ExtendMsgSet proto.InternalMessageInfo + +func (m *ExtendMsgSet) GetID() string { + if m != nil { + return m.ID + } + return "" +} + +func (m *ExtendMsgSet) GetLatestUpdateTime() int32 { + if m != nil { + return m.LatestUpdateTime + } + return 0 +} + +func (m *ExtendMsgSet) GetAttachedInfo() string { + if m != nil { + return m.AttachedInfo + } + return "" +} + +func (m *ExtendMsgSet) GetEx() string { + if m != nil { + return m.Ex + } + return "" +} + +func (m *ExtendMsgSet) GetExtendMsgNum() int32 { + if m != nil { + return m.ExtendMsgNum + } + return 0 +} + +func (m *ExtendMsgSet) GetCreateTime() int32 { + if m != nil { + return m.CreateTime + } + return 0 +} + +type ReactionExtendMsgSet struct { + UserKey string `protobuf:"bytes,1,opt,name=userKey" json:"userKey,omitempty"` + Value string `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"` + LatestUpdateTime int32 `protobuf:"varint,3,opt,name=latestUpdateTime" json:"latestUpdateTime,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ReactionExtendMsgSet) Reset() { *m = ReactionExtendMsgSet{} } +func (m *ReactionExtendMsgSet) String() string { return proto.CompactTextString(m) } +func (*ReactionExtendMsgSet) ProtoMessage() {} +func (*ReactionExtendMsgSet) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_d54a5080f0ac6b4f, []int{85} +} +func (m *ReactionExtendMsgSet) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ReactionExtendMsgSet.Unmarshal(m, b) +} +func (m *ReactionExtendMsgSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ReactionExtendMsgSet.Marshal(b, m, deterministic) +} +func (dst *ReactionExtendMsgSet) XXX_Merge(src proto.Message) { + xxx_messageInfo_ReactionExtendMsgSet.Merge(dst, src) +} +func (m *ReactionExtendMsgSet) XXX_Size() int { + return xxx_messageInfo_ReactionExtendMsgSet.Size(m) +} +func (m *ReactionExtendMsgSet) XXX_DiscardUnknown() { + xxx_messageInfo_ReactionExtendMsgSet.DiscardUnknown(m) +} + +var xxx_messageInfo_ReactionExtendMsgSet proto.InternalMessageInfo + +func (m *ReactionExtendMsgSet) GetUserKey() string { + if m != nil { + return m.UserKey + } + return "" +} + +func (m *ReactionExtendMsgSet) GetValue() string { + if m != nil { + return m.Value + } + return "" +} + +func (m *ReactionExtendMsgSet) GetLatestUpdateTime() int32 { + if m != nil { + return m.LatestUpdateTime + } + return 0 +} + +func init() { + proto.RegisterType((*GroupInfo)(nil), "server_api_params.GroupInfo") + proto.RegisterType((*GroupInfoForSet)(nil), "server_api_params.GroupInfoForSet") + proto.RegisterType((*GroupMemberFullInfo)(nil), "server_api_params.GroupMemberFullInfo") + proto.RegisterType((*PublicUserInfo)(nil), "server_api_params.PublicUserInfo") + proto.RegisterType((*UserInfo)(nil), "server_api_params.UserInfo") + proto.RegisterType((*FriendInfo)(nil), "server_api_params.FriendInfo") + proto.RegisterType((*BlackInfo)(nil), "server_api_params.BlackInfo") + proto.RegisterType((*GroupRequest)(nil), "server_api_params.GroupRequest") + proto.RegisterType((*FriendRequest)(nil), "server_api_params.FriendRequest") + proto.RegisterType((*Department)(nil), "server_api_params.Department") + proto.RegisterType((*OrganizationUser)(nil), "server_api_params.OrganizationUser") + proto.RegisterType((*DepartmentMember)(nil), "server_api_params.DepartmentMember") + proto.RegisterType((*UserDepartmentMember)(nil), "server_api_params.UserDepartmentMember") + proto.RegisterType((*UserInDepartment)(nil), "server_api_params.UserInDepartment") + proto.RegisterType((*PullMessageBySeqListReq)(nil), "server_api_params.PullMessageBySeqListReq") + proto.RegisterMapType((map[string]*SeqList)(nil), "server_api_params.PullMessageBySeqListReq.GroupSeqListEntry") + proto.RegisterType((*SeqList)(nil), "server_api_params.seqList") + proto.RegisterType((*MsgDataList)(nil), "server_api_params.MsgDataList") + proto.RegisterType((*PullMessageBySeqListResp)(nil), "server_api_params.PullMessageBySeqListResp") + proto.RegisterMapType((map[string]*MsgDataList)(nil), "server_api_params.PullMessageBySeqListResp.GroupMsgDataListEntry") + proto.RegisterType((*GetMaxAndMinSeqReq)(nil), "server_api_params.GetMaxAndMinSeqReq") + proto.RegisterType((*MaxAndMinSeq)(nil), "server_api_params.MaxAndMinSeq") + proto.RegisterType((*GetMaxAndMinSeqResp)(nil), "server_api_params.GetMaxAndMinSeqResp") + proto.RegisterMapType((map[string]*MaxAndMinSeq)(nil), "server_api_params.GetMaxAndMinSeqResp.GroupMaxAndMinSeqEntry") + proto.RegisterType((*UserSendMsgResp)(nil), "server_api_params.UserSendMsgResp") + proto.RegisterType((*MsgData)(nil), "server_api_params.MsgData") + proto.RegisterMapType((map[string]bool)(nil), "server_api_params.MsgData.OptionsEntry") + proto.RegisterType((*OfflinePushInfo)(nil), "server_api_params.OfflinePushInfo") + proto.RegisterType((*TipsComm)(nil), "server_api_params.TipsComm") + proto.RegisterType((*GroupCreatedTips)(nil), "server_api_params.GroupCreatedTips") + proto.RegisterType((*GroupInfoSetTips)(nil), "server_api_params.GroupInfoSetTips") + proto.RegisterType((*JoinGroupApplicationTips)(nil), "server_api_params.JoinGroupApplicationTips") + proto.RegisterType((*MemberQuitTips)(nil), "server_api_params.MemberQuitTips") + proto.RegisterType((*GroupApplicationAcceptedTips)(nil), "server_api_params.GroupApplicationAcceptedTips") + proto.RegisterType((*GroupApplicationRejectedTips)(nil), "server_api_params.GroupApplicationRejectedTips") + proto.RegisterType((*GroupOwnerTransferredTips)(nil), "server_api_params.GroupOwnerTransferredTips") + proto.RegisterType((*MemberKickedTips)(nil), "server_api_params.MemberKickedTips") + proto.RegisterType((*MemberInvitedTips)(nil), "server_api_params.MemberInvitedTips") + proto.RegisterType((*MemberEnterTips)(nil), "server_api_params.MemberEnterTips") + proto.RegisterType((*GroupDismissedTips)(nil), "server_api_params.GroupDismissedTips") + proto.RegisterType((*GroupMemberMutedTips)(nil), "server_api_params.GroupMemberMutedTips") + proto.RegisterType((*GroupMemberCancelMutedTips)(nil), "server_api_params.GroupMemberCancelMutedTips") + proto.RegisterType((*GroupMutedTips)(nil), "server_api_params.GroupMutedTips") + proto.RegisterType((*GroupCancelMutedTips)(nil), "server_api_params.GroupCancelMutedTips") + proto.RegisterType((*GroupMemberInfoSetTips)(nil), "server_api_params.GroupMemberInfoSetTips") + proto.RegisterType((*OrganizationChangedTips)(nil), "server_api_params.OrganizationChangedTips") + proto.RegisterType((*FriendApplication)(nil), "server_api_params.FriendApplication") + proto.RegisterType((*FromToUserID)(nil), "server_api_params.FromToUserID") + proto.RegisterType((*FriendApplicationTips)(nil), "server_api_params.FriendApplicationTips") + proto.RegisterType((*FriendApplicationApprovedTips)(nil), "server_api_params.FriendApplicationApprovedTips") + proto.RegisterType((*FriendApplicationRejectedTips)(nil), "server_api_params.FriendApplicationRejectedTips") + proto.RegisterType((*FriendAddedTips)(nil), "server_api_params.FriendAddedTips") + proto.RegisterType((*FriendDeletedTips)(nil), "server_api_params.FriendDeletedTips") + proto.RegisterType((*BlackAddedTips)(nil), "server_api_params.BlackAddedTips") + proto.RegisterType((*BlackDeletedTips)(nil), "server_api_params.BlackDeletedTips") + proto.RegisterType((*FriendInfoChangedTips)(nil), "server_api_params.FriendInfoChangedTips") + proto.RegisterType((*UserInfoUpdatedTips)(nil), "server_api_params.UserInfoUpdatedTips") + proto.RegisterType((*ConversationUpdateTips)(nil), "server_api_params.ConversationUpdateTips") + proto.RegisterType((*ConversationSetPrivateTips)(nil), "server_api_params.ConversationSetPrivateTips") + proto.RegisterType((*DeleteMessageTips)(nil), "server_api_params.DeleteMessageTips") + proto.RegisterType((*RequestPagination)(nil), "server_api_params.RequestPagination") + proto.RegisterType((*ResponsePagination)(nil), "server_api_params.ResponsePagination") + proto.RegisterType((*SignalReq)(nil), "server_api_params.SignalReq") + proto.RegisterType((*SignalResp)(nil), "server_api_params.SignalResp") + proto.RegisterType((*InvitationInfo)(nil), "server_api_params.InvitationInfo") + proto.RegisterType((*ParticipantMetaData)(nil), "server_api_params.ParticipantMetaData") + proto.RegisterType((*SignalInviteReq)(nil), "server_api_params.SignalInviteReq") + proto.RegisterType((*SignalInviteReply)(nil), "server_api_params.SignalInviteReply") + proto.RegisterType((*SignalInviteInGroupReq)(nil), "server_api_params.SignalInviteInGroupReq") + proto.RegisterType((*SignalInviteInGroupReply)(nil), "server_api_params.SignalInviteInGroupReply") + proto.RegisterType((*SignalCancelReq)(nil), "server_api_params.SignalCancelReq") + proto.RegisterType((*SignalCancelReply)(nil), "server_api_params.SignalCancelReply") + proto.RegisterType((*SignalAcceptReq)(nil), "server_api_params.SignalAcceptReq") + proto.RegisterType((*SignalAcceptReply)(nil), "server_api_params.SignalAcceptReply") + proto.RegisterType((*SignalHungUpReq)(nil), "server_api_params.SignalHungUpReq") + proto.RegisterType((*SignalHungUpReply)(nil), "server_api_params.SignalHungUpReply") + proto.RegisterType((*SignalRejectReq)(nil), "server_api_params.SignalRejectReq") + proto.RegisterType((*SignalRejectReply)(nil), "server_api_params.SignalRejectReply") + proto.RegisterType((*SignalGetRoomByGroupIDReq)(nil), "server_api_params.SignalGetRoomByGroupIDReq") + proto.RegisterType((*SignalGetRoomByGroupIDReply)(nil), "server_api_params.SignalGetRoomByGroupIDReply") + proto.RegisterType((*SignalOnRoomParticipantConnectedReq)(nil), "server_api_params.SignalOnRoomParticipantConnectedReq") + proto.RegisterType((*SignalOnRoomParticipantDisconnectedReq)(nil), "server_api_params.SignalOnRoomParticipantDisconnectedReq") + proto.RegisterType((*SignalGetTokenByRoomIDReq)(nil), "server_api_params.SignalGetTokenByRoomIDReq") + proto.RegisterType((*SignalGetTokenByRoomIDReply)(nil), "server_api_params.SignalGetTokenByRoomIDReply") + proto.RegisterType((*DelMsgListReq)(nil), "server_api_params.DelMsgListReq") + proto.RegisterType((*DelMsgListResp)(nil), "server_api_params.DelMsgListResp") + proto.RegisterType((*SetAppBackgroundStatusReq)(nil), "server_api_params.SetAppBackgroundStatusReq") + proto.RegisterType((*SetAppBackgroundStatusResp)(nil), "server_api_params.SetAppBackgroundStatusResp") + proto.RegisterType((*ExtendMsgSet)(nil), "server_api_params.ExtendMsgSet") + proto.RegisterType((*ReactionExtendMsgSet)(nil), "server_api_params.ReactionExtendMsgSet") +} + +func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_d54a5080f0ac6b4f) } + +var fileDescriptor_ws_d54a5080f0ac6b4f = []byte{ + // 3977 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x3c, 0x5b, 0x6f, 0x1d, 0x57, + 0x57, 0x9d, 0x39, 0x17, 0xfb, 0xac, 0xe3, 0xcb, 0xf1, 0x24, 0x71, 0x4f, 0xdd, 0x34, 0x98, 0x69, + 0x14, 0x4a, 0x48, 0x1d, 0x94, 0x5e, 0x44, 0x6f, 0x41, 0xbe, 0x24, 0x8e, 0xdb, 0x1c, 0xdb, 0x9d, + 0x93, 0x34, 0xa8, 0xad, 0x14, 0xc6, 0x67, 0xb6, 0x8f, 0xa7, 0x9e, 0x33, 0x33, 0x9e, 0x8b, 0x13, + 0xf3, 0x00, 0x12, 0x20, 0x40, 0xe2, 0x01, 0x09, 0x71, 0x91, 0xe0, 0x8d, 0x17, 0x04, 0x42, 0x15, + 0x42, 0x80, 0x90, 0x40, 0x08, 0x55, 0x3c, 0x20, 0x81, 0x44, 0xdf, 0x91, 0x40, 0xf0, 0xc4, 0xc3, + 0xf7, 0x07, 0x3e, 0xe9, 0x93, 0xfa, 0x69, 0xef, 0xb5, 0x67, 0x66, 0xef, 0x99, 0x39, 0x97, 0x58, + 0x56, 0x93, 0x28, 0xdf, 0x9b, 0xd7, 0x9a, 0xbd, 0xd6, 0x5e, 0xf7, 0xbd, 0xf6, 0xe5, 0x18, 0xe6, + 0x43, 0xeb, 0xf0, 0xe1, 0xa3, 0xf0, 0xfa, 0xa3, 0x70, 0xc5, 0x0f, 0xbc, 0xc8, 0xd3, 0x16, 0x42, + 0x12, 0x1c, 0x93, 0xe0, 0xa1, 0xe9, 0xdb, 0x0f, 0x7d, 0x33, 0x30, 0x07, 0xe1, 0xd2, 0xca, 0x8e, + 0x4f, 0xdc, 0x37, 0xb7, 0x3a, 0x6f, 0x76, 0xd9, 0xa7, 0xeb, 0xfe, 0x61, 0xff, 0x3a, 0x1b, 0x7c, + 0x3d, 0x21, 0x0e, 0x4c, 0xdf, 0x27, 0x01, 0x67, 0xa1, 0xff, 0x4f, 0x15, 0x1a, 0x9b, 0x81, 0x17, + 0xfb, 0x5b, 0xee, 0xbe, 0xa7, 0xb5, 0x61, 0xaa, 0xcf, 0x80, 0x8d, 0xb6, 0xb2, 0xac, 0xbc, 0xd1, + 0x30, 0x12, 0x50, 0xbb, 0x08, 0x0d, 0xf6, 0xe7, 0xb6, 0x39, 0x20, 0x6d, 0x95, 0x7d, 0xcb, 0x10, + 0x9a, 0x0e, 0x33, 0xae, 0x17, 0xd9, 0xfb, 0x76, 0xcf, 0x8c, 0x6c, 0xcf, 0x6d, 0x57, 0xd8, 0x00, + 0x09, 0x47, 0xc7, 0xd8, 0x6e, 0x14, 0x78, 0x56, 0xdc, 0x63, 0x63, 0xaa, 0x38, 0x46, 0xc4, 0xd1, + 0xf9, 0xf7, 0xcd, 0x1e, 0xb9, 0x6f, 0xdc, 0x6d, 0xd7, 0x70, 0x7e, 0x0e, 0x6a, 0xcb, 0xd0, 0xf4, + 0x1e, 0xb9, 0x24, 0xb8, 0x1f, 0x92, 0x60, 0x6b, 0xa3, 0x5d, 0x67, 0x5f, 0x45, 0x94, 0x76, 0x09, + 0xa0, 0x17, 0x10, 0x33, 0x22, 0xf7, 0xec, 0x01, 0x69, 0x4f, 0x2d, 0x2b, 0x6f, 0xcc, 0x1a, 0x02, + 0x86, 0x72, 0x18, 0x90, 0xc1, 0x1e, 0x09, 0xd6, 0xbd, 0xd8, 0x8d, 0xda, 0xd3, 0x6c, 0x80, 0x88, + 0xd2, 0xe6, 0x40, 0x25, 0x8f, 0xdb, 0x0d, 0xc6, 0x5a, 0x25, 0x8f, 0xb5, 0x45, 0xa8, 0x87, 0x91, + 0x19, 0xc5, 0x61, 0x1b, 0x96, 0x95, 0x37, 0x6a, 0x06, 0x87, 0xb4, 0xcb, 0x30, 0xcb, 0xf8, 0x7a, + 0x89, 0x34, 0x4d, 0x46, 0x22, 0x23, 0x53, 0x8b, 0xdd, 0x3b, 0xf1, 0x49, 0x7b, 0x86, 0x31, 0xc8, + 0x10, 0xda, 0x55, 0x68, 0xb9, 0x84, 0x58, 0x9f, 0x91, 0x20, 0xb3, 0xda, 0x2c, 0x1b, 0x54, 0xc0, + 0x6b, 0x57, 0x60, 0xce, 0xf1, 0xbc, 0xc3, 0x0e, 0x13, 0x95, 0xfa, 0xa9, 0x3d, 0xc7, 0x46, 0xe6, + 0xb0, 0xda, 0x35, 0x58, 0x30, 0x7d, 0xdf, 0x39, 0x41, 0xd4, 0xed, 0xc0, 0x26, 0xae, 0xd5, 0x9e, + 0x67, 0x43, 0x8b, 0x1f, 0xb4, 0x77, 0x61, 0x51, 0xf4, 0xcf, 0x7d, 0xdf, 0x4a, 0x6c, 0xd7, 0x62, + 0xa6, 0x19, 0xf2, 0x55, 0x5b, 0x01, 0x4d, 0xfa, 0x82, 0x26, 0x58, 0x60, 0x26, 0x28, 0xf9, 0xa2, + 0xff, 0x41, 0x05, 0xe6, 0xd3, 0x08, 0xbb, 0xed, 0x05, 0x5d, 0x12, 0x3d, 0xc3, 0x71, 0x86, 0x31, + 0x50, 0x4f, 0x63, 0x60, 0xb3, 0xc4, 0x4f, 0x34, 0xb6, 0x9a, 0x37, 0x5e, 0x5d, 0xe9, 0x7b, 0x5e, + 0xdf, 0x21, 0x98, 0x48, 0x7b, 0xf1, 0xfe, 0xca, 0x96, 0x1b, 0xbd, 0x75, 0xe3, 0x33, 0xd3, 0x89, + 0x49, 0x89, 0x13, 0xd7, 0x0b, 0x4e, 0x9c, 0x1e, 0xcf, 0x26, 0xef, 0xe1, 0xad, 0x32, 0x0f, 0x37, + 0xc6, 0xf3, 0x29, 0x52, 0xe9, 0xdf, 0xa9, 0x70, 0x8e, 0xb9, 0x85, 0x63, 0x63, 0xc7, 0x19, 0x53, + 0x02, 0x16, 0xa1, 0x1e, 0xa3, 0xb3, 0xd1, 0x2f, 0x1c, 0xa2, 0x2e, 0x0b, 0x3c, 0x87, 0xdc, 0x25, + 0xc7, 0xc4, 0x61, 0x1e, 0xa9, 0x19, 0x19, 0x42, 0x5b, 0x82, 0xe9, 0xaf, 0x3c, 0xdb, 0x65, 0x81, + 0x55, 0x65, 0x1f, 0x53, 0x98, 0x7e, 0x73, 0xed, 0xde, 0xa1, 0x4b, 0x7d, 0x8d, 0x7e, 0x48, 0x61, + 0xd1, 0x45, 0x75, 0xd9, 0x45, 0x57, 0x60, 0xce, 0xf4, 0xfd, 0x8e, 0xe9, 0xf6, 0x49, 0x80, 0x93, + 0x4e, 0x61, 0x3a, 0xc8, 0x58, 0x5a, 0x10, 0xe8, 0x4c, 0x5d, 0x2f, 0x0e, 0x7a, 0x84, 0x59, 0xbb, + 0x66, 0x08, 0x18, 0xca, 0xc7, 0xf3, 0x49, 0x20, 0xe4, 0x31, 0xa6, 0x7e, 0x0e, 0xcb, 0x43, 0x02, + 0xd2, 0x90, 0xa0, 0x85, 0x24, 0x8e, 0xc8, 0x2d, 0xd7, 0x62, 0x4a, 0x35, 0x79, 0x21, 0xc9, 0x50, + 0xb4, 0x40, 0xd8, 0xee, 0xb1, 0x1d, 0xa5, 0xe5, 0x6a, 0x06, 0x0b, 0x84, 0x84, 0xd4, 0x7f, 0x4b, + 0x81, 0xb9, 0xdd, 0x78, 0xcf, 0xb1, 0x7b, 0x0c, 0x41, 0x8d, 0x9f, 0x99, 0x58, 0x91, 0x4c, 0x2c, + 0x1a, 0x4a, 0x1d, 0x6e, 0xa8, 0x8a, 0x6c, 0xa8, 0x45, 0xa8, 0xf7, 0x89, 0x6b, 0x91, 0x80, 0x1b, + 0x9e, 0x43, 0x5c, 0xa1, 0x5a, 0xa2, 0x90, 0xfe, 0xdf, 0x2a, 0x4c, 0x7f, 0xcf, 0x22, 0x2c, 0x43, + 0xd3, 0x3f, 0xf0, 0x5c, 0xb2, 0x1d, 0xd3, 0xe0, 0xe3, 0xb2, 0x88, 0x28, 0xed, 0x3c, 0xd4, 0xf6, + 0xec, 0x20, 0x3a, 0x60, 0xde, 0x9f, 0x35, 0x10, 0xa0, 0x58, 0x32, 0x30, 0x6d, 0x74, 0x79, 0xc3, + 0x40, 0x80, 0x2b, 0x34, 0x9d, 0x7a, 0x48, 0x5e, 0x0a, 0x1a, 0x85, 0xa5, 0xa0, 0x18, 0x41, 0x50, + 0x1a, 0x41, 0x57, 0xa1, 0xd5, 0x77, 0xbc, 0x3d, 0xd3, 0x31, 0x48, 0xef, 0xb8, 0x13, 0xf6, 0x77, + 0xfc, 0x88, 0xb9, 0xbb, 0x66, 0x14, 0xf0, 0xd4, 0x3e, 0x4c, 0xc4, 0x6e, 0x14, 0x70, 0x77, 0xa7, + 0xb0, 0xfe, 0x43, 0x05, 0x00, 0xd3, 0x8e, 0x99, 0x38, 0xb7, 0x96, 0x29, 0xc5, 0xb5, 0x6c, 0x11, + 0xea, 0x01, 0x19, 0x98, 0xc1, 0x61, 0x92, 0x6a, 0x08, 0xe5, 0x14, 0xab, 0x14, 0x14, 0xfb, 0x00, + 0x60, 0x9f, 0xcd, 0x43, 0xf9, 0x30, 0x93, 0xd3, 0xc2, 0x50, 0xe8, 0x12, 0x56, 0x12, 0x6f, 0x1b, + 0xc2, 0x70, 0x9a, 0xc7, 0xa6, 0x65, 0xf1, 0x74, 0xa9, 0x61, 0x1e, 0xa7, 0x88, 0x92, 0x6c, 0xa9, + 0x8f, 0xc8, 0x96, 0xa9, 0x34, 0xb8, 0x7e, 0xa0, 0x40, 0x63, 0xcd, 0x31, 0x7b, 0x87, 0x13, 0xaa, + 0x2e, 0xab, 0xa8, 0x16, 0x54, 0xdc, 0x84, 0xd9, 0x3d, 0xca, 0x2e, 0x51, 0x81, 0x59, 0xa1, 0x79, + 0xe3, 0xa7, 0x4b, 0xb4, 0x94, 0x93, 0xcb, 0x90, 0xe9, 0x64, 0x75, 0xab, 0xe3, 0xd5, 0xad, 0x8d, + 0x50, 0x37, 0x5d, 0x2f, 0xf4, 0x3f, 0xae, 0xc0, 0x0c, 0x2b, 0xab, 0x06, 0x39, 0x8a, 0x49, 0x18, + 0x69, 0x1f, 0xc1, 0x74, 0x9c, 0x88, 0xaa, 0x4c, 0x2a, 0x6a, 0x4a, 0xa2, 0xbd, 0xcf, 0xd7, 0x43, + 0x46, 0xaf, 0x32, 0xfa, 0x8b, 0x25, 0xf4, 0xe9, 0x02, 0x6b, 0x64, 0xc3, 0xe9, 0x4a, 0x78, 0x60, + 0xba, 0x96, 0x43, 0x0c, 0x12, 0xc6, 0x4e, 0xc4, 0x6b, 0xb3, 0x84, 0xc3, 0x48, 0x3b, 0xea, 0x84, + 0x7d, 0xbe, 0x4e, 0x72, 0x88, 0x5a, 0x07, 0xc7, 0xd1, 0x4f, 0xa8, 0x7a, 0x86, 0xa0, 0x09, 0x1f, + 0x90, 0x23, 0xe6, 0x21, 0x4c, 0xcf, 0x04, 0xcc, 0xe6, 0xe4, 0x56, 0xc3, 0x40, 0x90, 0x70, 0xd4, + 0xc5, 0x08, 0x33, 0x06, 0xd8, 0x88, 0x09, 0x98, 0x42, 0x1f, 0x26, 0x17, 0x72, 0x28, 0x14, 0xf2, + 0x42, 0xb9, 0x6d, 0x96, 0x95, 0xdb, 0xff, 0xaa, 0xc0, 0x2c, 0x26, 0x61, 0xe2, 0x9a, 0x4b, 0x34, + 0x5b, 0xbc, 0x81, 0x14, 0x8b, 0x02, 0x86, 0xea, 0x42, 0xa1, 0x6d, 0xb9, 0xec, 0x49, 0x38, 0x1a, + 0xd0, 0x14, 0xbe, 0x2d, 0x95, 0x3f, 0x11, 0x95, 0xcc, 0xb2, 0x29, 0x96, 0x41, 0x01, 0x43, 0x0b, + 0x47, 0xe4, 0x49, 0x31, 0x96, 0xc2, 0x94, 0x36, 0xf2, 0xd2, 0xf9, 0x31, 0xca, 0x04, 0x0c, 0xf5, + 0x52, 0xe4, 0x25, 0x73, 0xa3, 0xa9, 0x33, 0x04, 0x72, 0xe6, 0xf3, 0xe2, 0xf2, 0x97, 0xc2, 0x85, + 0xd8, 0x68, 0x8c, 0x8c, 0x0d, 0x90, 0x62, 0x43, 0x4e, 0xd1, 0x66, 0x21, 0x45, 0x2f, 0xc3, 0x2c, + 0xf2, 0xc9, 0x2d, 0x7f, 0x12, 0x52, 0x8e, 0xb0, 0xd9, 0x7c, 0x84, 0xc9, 0x31, 0x32, 0x37, 0x24, + 0x46, 0xe6, 0xd3, 0xbc, 0xfb, 0x1b, 0x15, 0x60, 0x83, 0xf8, 0x66, 0x10, 0x0d, 0x88, 0x1b, 0x51, + 0xf5, 0xac, 0x14, 0x4a, 0x9d, 0x2b, 0xe1, 0xc4, 0x55, 0x4b, 0x95, 0x57, 0x2d, 0x0d, 0xaa, 0xcc, + 0xe0, 0xe8, 0x4d, 0xf6, 0x37, 0x35, 0xa6, 0x6f, 0x06, 0xc8, 0x0d, 0x53, 0x25, 0x85, 0xe9, 0xaa, + 0xe4, 0x05, 0x16, 0x5f, 0xc7, 0x6a, 0x06, 0x02, 0xb4, 0x84, 0x64, 0xf3, 0xb1, 0x5d, 0x40, 0x1d, + 0x57, 0x19, 0x19, 0x3b, 0x76, 0xe3, 0x72, 0x15, 0x5a, 0x61, 0xbc, 0x97, 0x29, 0xb7, 0x1d, 0x0f, + 0x78, 0xd2, 0x14, 0xf0, 0xd4, 0xa8, 0xb8, 0xa3, 0xa1, 0x83, 0x70, 0xe1, 0xcb, 0x10, 0xf9, 0x4e, + 0x46, 0xff, 0x37, 0x15, 0x5a, 0x3b, 0x41, 0xdf, 0x74, 0xed, 0x5f, 0x49, 0x3b, 0xf6, 0x53, 0x35, + 0x00, 0xcb, 0xd0, 0x24, 0x6e, 0xdf, 0xb1, 0xc3, 0x83, 0xed, 0xcc, 0x6e, 0x22, 0x4a, 0x34, 0x76, + 0x75, 0x58, 0x8b, 0x50, 0x93, 0x5a, 0x84, 0x45, 0xa8, 0x0f, 0xbc, 0x3d, 0xdb, 0x49, 0xe2, 0x9e, + 0x43, 0x2c, 0xe6, 0x89, 0x43, 0x58, 0xaf, 0x90, 0xc6, 0x7c, 0x82, 0xc8, 0xda, 0x86, 0xe9, 0xd2, + 0xb6, 0xa1, 0x21, 0xb6, 0x0d, 0xb2, 0xe1, 0xa1, 0x60, 0x78, 0x34, 0x57, 0x33, 0xad, 0x43, 0xa3, + 0x96, 0xf8, 0x7f, 0x51, 0xa0, 0x95, 0xb9, 0x02, 0x7b, 0xea, 0xa1, 0xa6, 0xcc, 0x47, 0xa7, 0x5a, + 0x12, 0x9d, 0x69, 0x4c, 0x55, 0xc4, 0x98, 0xa2, 0x51, 0xe8, 0x85, 0xb6, 0xb0, 0xb1, 0x49, 0x61, + 0x3a, 0x9b, 0x43, 0x4c, 0xc1, 0x90, 0x08, 0x09, 0xdb, 0xd8, 0xba, 0xb4, 0x8d, 0xcd, 0xaf, 0xd4, + 0xff, 0xa0, 0xc0, 0x79, 0x1a, 0x01, 0x05, 0x35, 0x76, 0xa0, 0xe5, 0xe5, 0xa2, 0x84, 0x2f, 0x65, + 0xaf, 0x97, 0x2c, 0x45, 0xf9, 0x80, 0x32, 0x0a, 0xc4, 0x94, 0xa1, 0x95, 0x9b, 0x84, 0xaf, 0x6d, + 0x65, 0x0c, 0xf3, 0xf2, 0x18, 0x05, 0x62, 0xfd, 0x9f, 0x14, 0x68, 0xe1, 0xe2, 0x29, 0xd4, 0x80, + 0x33, 0x17, 0xfb, 0x01, 0x9c, 0xcf, 0xcf, 0x7c, 0xd7, 0x0e, 0xa3, 0xb6, 0xba, 0x5c, 0x99, 0x54, + 0xf4, 0x52, 0x06, 0xfa, 0x5f, 0xa9, 0xf0, 0xf2, 0x6e, 0xec, 0x38, 0x1d, 0x12, 0x86, 0x66, 0x9f, + 0xac, 0x9d, 0x74, 0xc9, 0x11, 0xfd, 0x60, 0x90, 0xa3, 0xa1, 0x31, 0x44, 0x3b, 0x29, 0xd6, 0x8a, + 0xd8, 0x9e, 0x9b, 0x86, 0x90, 0x88, 0xa2, 0x29, 0x17, 0x22, 0x9f, 0x76, 0x65, 0xb9, 0x42, 0x17, + 0x69, 0x0e, 0x6a, 0xbf, 0x0c, 0x33, 0xac, 0x4b, 0xe0, 0xd3, 0xb4, 0xab, 0x4c, 0x81, 0x0f, 0x4b, + 0xfb, 0x92, 0x52, 0xa9, 0xb0, 0xdf, 0xe0, 0xf0, 0x2d, 0x37, 0x0a, 0x4e, 0x0c, 0x89, 0xe3, 0xd2, + 0x17, 0xb0, 0x50, 0x18, 0xa2, 0xb5, 0xa0, 0x72, 0x48, 0x4e, 0xb8, 0x1e, 0xf4, 0x4f, 0xed, 0xe7, + 0xa1, 0x76, 0x4c, 0x37, 0xa8, 0xdc, 0xfb, 0x4b, 0x25, 0x12, 0x70, 0x99, 0x0d, 0x1c, 0xf8, 0xbe, + 0xfa, 0x0b, 0x8a, 0xfe, 0x7a, 0xaa, 0x98, 0xa8, 0xa3, 0x22, 0xe9, 0xa8, 0x7f, 0x02, 0xcd, 0x4e, + 0xd8, 0xdf, 0x30, 0x23, 0x93, 0x0d, 0xfc, 0x10, 0x9a, 0x83, 0x0c, 0x64, 0x83, 0xcb, 0xe7, 0xe3, + 0x44, 0x86, 0x38, 0x5c, 0xff, 0x56, 0x85, 0x76, 0xb9, 0x29, 0x42, 0x9f, 0xca, 0x40, 0x82, 0x60, + 0xdd, 0xb3, 0x08, 0x53, 0xad, 0x66, 0x24, 0x20, 0xf5, 0x1d, 0x09, 0x02, 0xba, 0xbe, 0xf1, 0x36, + 0x1e, 0x21, 0x6d, 0x05, 0xaa, 0x4e, 0xe2, 0x96, 0xd1, 0x52, 0xb0, 0x71, 0xda, 0x00, 0x5a, 0xcc, + 0xba, 0x82, 0x42, 0xdc, 0x67, 0xab, 0x13, 0xfb, 0x2c, 0xf4, 0xd1, 0x69, 0x02, 0x0f, 0x74, 0x5c, + 0x81, 0xf5, 0x52, 0x0f, 0x2e, 0x94, 0x0e, 0x2d, 0x71, 0xe0, 0xdb, 0xb2, 0x03, 0x2f, 0x0d, 0x57, + 0x25, 0xef, 0x44, 0x1f, 0xb4, 0x4d, 0x12, 0x75, 0xcc, 0xc7, 0xab, 0xae, 0xd5, 0xb1, 0xdd, 0x2e, + 0x39, 0xa2, 0xd1, 0xbe, 0x0c, 0x4d, 0x7e, 0xdc, 0x90, 0xba, 0xa9, 0x61, 0x88, 0xa8, 0xa1, 0xa7, + 0x10, 0xb9, 0x7c, 0xa8, 0x14, 0xf2, 0x41, 0xbf, 0x09, 0x33, 0xe2, 0x74, 0x6c, 0x81, 0x31, 0x1f, + 0x77, 0xc9, 0x11, 0x53, 0x68, 0xd6, 0xe0, 0x10, 0xc3, 0xb3, 0x11, 0x7c, 0xf7, 0xc1, 0x21, 0xfd, + 0xdf, 0x55, 0x38, 0x57, 0x10, 0x39, 0xf4, 0x9f, 0x94, 0x8f, 0x18, 0x2f, 0x95, 0x61, 0xf1, 0x52, + 0x95, 0xe2, 0xe5, 0x10, 0x16, 0xd0, 0x49, 0xc2, 0xd4, 0xed, 0x1a, 0x0b, 0x80, 0x8f, 0xca, 0x36, + 0x03, 0x45, 0x21, 0xb9, 0xef, 0x05, 0x2c, 0x3a, 0xbf, 0xc8, 0x77, 0x89, 0xc0, 0x62, 0xf9, 0xe0, + 0x12, 0xf7, 0xbf, 0x23, 0xbb, 0xff, 0xa7, 0xca, 0xdc, 0x2f, 0x4a, 0x22, 0xf8, 0xff, 0x08, 0xe6, + 0x69, 0x51, 0xed, 0x12, 0xd7, 0xea, 0x84, 0x7d, 0x66, 0xc8, 0x65, 0x68, 0x22, 0x7d, 0x27, 0xec, + 0x67, 0x9b, 0x43, 0x01, 0x45, 0x47, 0xf4, 0x1c, 0x9b, 0x16, 0x4f, 0x36, 0x82, 0x17, 0x3d, 0x01, + 0x45, 0x17, 0xc8, 0x90, 0xf0, 0x93, 0x19, 0x6a, 0xdd, 0x8a, 0x91, 0xc2, 0xfa, 0xdf, 0xd7, 0x61, + 0x8a, 0x47, 0x23, 0x5b, 0x14, 0xe9, 0x7e, 0x3c, 0x2d, 0xab, 0x08, 0x61, 0xcf, 0xdb, 0x3b, 0xce, + 0xc2, 0x0b, 0x21, 0xf1, 0x58, 0xac, 0x22, 0x1f, 0x8b, 0xe5, 0x64, 0xaa, 0x16, 0x65, 0xca, 0xe9, + 0x55, 0x2b, 0xea, 0x45, 0x5b, 0x3c, 0xd6, 0xf5, 0xec, 0x3a, 0x66, 0xb4, 0xef, 0x05, 0x03, 0xbe, + 0xbd, 0xae, 0x19, 0x05, 0x3c, 0x6d, 0x2b, 0x11, 0x97, 0xee, 0x0b, 0x70, 0x09, 0xcf, 0x61, 0x69, + 0x17, 0x8e, 0x98, 0x64, 0x7f, 0x80, 0xe7, 0x23, 0x32, 0x12, 0x65, 0x0b, 0x43, 0xdb, 0x73, 0x59, + 0x87, 0x8a, 0xdb, 0x00, 0x11, 0x45, 0x35, 0x1f, 0x84, 0xfd, 0xdb, 0x81, 0x37, 0xe0, 0x5b, 0xaf, + 0x04, 0x64, 0x9a, 0x7b, 0x6e, 0x94, 0x74, 0xb7, 0x78, 0x32, 0x22, 0xa2, 0x28, 0x2d, 0x07, 0x59, + 0xc3, 0x34, 0x63, 0x24, 0x20, 0x8d, 0xa5, 0x90, 0x1c, 0xf1, 0xc6, 0x9e, 0xfe, 0x29, 0x79, 0x6e, + 0x5e, 0xf6, 0x5c, 0xae, 0x53, 0x6b, 0xb1, 0xaf, 0x62, 0xa7, 0x96, 0xb5, 0x38, 0x0b, 0x52, 0x8b, + 0xb3, 0x0a, 0x53, 0x9e, 0x4f, 0xd3, 0x3f, 0x6c, 0x6b, 0x2c, 0x5d, 0x7e, 0x66, 0x78, 0x81, 0x5a, + 0xd9, 0xc1, 0x91, 0x98, 0x18, 0x09, 0x9d, 0x76, 0x17, 0xe6, 0xbd, 0xfd, 0x7d, 0xc7, 0x76, 0xc9, + 0x6e, 0x1c, 0x1e, 0xb0, 0x6d, 0xf8, 0x39, 0x16, 0xec, 0x7a, 0x59, 0x13, 0x21, 0x8f, 0x34, 0xf2, + 0xa4, 0xb4, 0xf3, 0x33, 0x23, 0xdc, 0x00, 0xb1, 0x02, 0x77, 0x9e, 0x15, 0x38, 0x09, 0xc7, 0xce, + 0x17, 0x85, 0x42, 0x7f, 0x81, 0x19, 0x4e, 0x44, 0x21, 0x97, 0xc8, 0xec, 0x1d, 0x10, 0x76, 0xa0, + 0xd4, 0x5e, 0xc4, 0xfe, 0x51, 0xc4, 0xf1, 0xee, 0xee, 0xe5, 0xa4, 0xbb, 0x5b, 0x7a, 0x1f, 0x66, + 0x44, 0x05, 0x4b, 0x92, 0xf9, 0xbc, 0x98, 0xcc, 0xd3, 0x62, 0xae, 0xfe, 0xa1, 0x02, 0xf3, 0x39, + 0xd5, 0xe8, 0xe8, 0xc8, 0x8e, 0x1c, 0xc2, 0x39, 0x20, 0x40, 0x77, 0x4e, 0x16, 0x09, 0x7b, 0x3c, + 0x79, 0xd8, 0xdf, 0x5c, 0x92, 0x4a, 0xda, 0x46, 0xeb, 0x30, 0x63, 0xef, 0x74, 0x29, 0xa3, 0xae, + 0x17, 0xbb, 0x56, 0x7a, 0x40, 0x2f, 0xe0, 0xd8, 0x96, 0x7e, 0xa7, 0xbb, 0x66, 0x5a, 0x7d, 0x82, + 0xd7, 0x35, 0x35, 0x26, 0x93, 0x8c, 0xd4, 0x2d, 0x98, 0xbe, 0x67, 0xfb, 0xe1, 0xba, 0x37, 0x18, + 0xd0, 0x10, 0xb0, 0x48, 0x44, 0x7b, 0x7c, 0x85, 0x19, 0x8c, 0x43, 0xd4, 0x9a, 0x16, 0xd9, 0x37, + 0x63, 0x27, 0xa2, 0x43, 0x93, 0x92, 0x21, 0xa0, 0xd8, 0xf1, 0x42, 0xe8, 0xb9, 0x1b, 0x48, 0x8d, + 0x72, 0x0a, 0x18, 0xfd, 0x5f, 0x55, 0x68, 0xb1, 0x8a, 0xb8, 0xce, 0x02, 0xce, 0x62, 0x44, 0x37, + 0xa0, 0xc6, 0x0a, 0x00, 0xef, 0x28, 0x47, 0x9f, 0xc9, 0xe0, 0x50, 0xed, 0x26, 0xd4, 0x3d, 0x9f, + 0xb5, 0xa1, 0x58, 0x2e, 0xaf, 0x0c, 0x23, 0x92, 0x8f, 0xe4, 0x0d, 0x4e, 0xa5, 0xdd, 0x06, 0x18, + 0x64, 0x5d, 0x27, 0x36, 0x0f, 0x93, 0xf2, 0x10, 0x28, 0xa9, 0x71, 0xd3, 0x75, 0x31, 0x3d, 0x97, + 0xaf, 0x18, 0x32, 0x52, 0xdb, 0x86, 0x39, 0x26, 0xf6, 0x4e, 0x72, 0x38, 0xc7, 0x7c, 0x30, 0xf9, + 0x8c, 0x39, 0x6a, 0xfd, 0xcf, 0x14, 0x6e, 0x46, 0xfa, 0xb5, 0x4b, 0xd0, 0xf6, 0x99, 0x49, 0x94, + 0x53, 0x99, 0x64, 0x09, 0xa6, 0x07, 0xb1, 0x70, 0x56, 0x58, 0x31, 0x52, 0x38, 0x73, 0x51, 0x65, + 0x62, 0x17, 0xe9, 0x7f, 0xae, 0x40, 0xfb, 0x63, 0xcf, 0x76, 0xd9, 0x87, 0x55, 0xdf, 0x77, 0xf8, + 0xf5, 0xcd, 0xa9, 0x7d, 0xfe, 0x8b, 0xd0, 0x30, 0x91, 0x8d, 0x1b, 0x71, 0xb7, 0x4f, 0x70, 0xfe, + 0x97, 0xd1, 0x08, 0x87, 0x30, 0x15, 0xf1, 0x10, 0x46, 0xff, 0x5a, 0x81, 0x39, 0x34, 0xca, 0xa7, + 0xb1, 0x1d, 0x9d, 0x5a, 0xbe, 0x35, 0x98, 0x3e, 0x8a, 0xed, 0xe8, 0x14, 0x51, 0x99, 0xd2, 0x15, + 0xe3, 0xa9, 0x52, 0x12, 0x4f, 0xfa, 0xb7, 0x0a, 0x5c, 0xcc, 0x9b, 0x75, 0xb5, 0xd7, 0x23, 0xfe, + 0xd3, 0x4c, 0x29, 0xe9, 0x10, 0xaa, 0x5a, 0x72, 0x08, 0x15, 0x90, 0x1e, 0xb1, 0x8f, 0x49, 0xb0, + 0x1a, 0xf2, 0x5d, 0xb5, 0x80, 0x29, 0x55, 0xc9, 0x20, 0x5f, 0x91, 0xde, 0xf3, 0xab, 0xd2, 0x6f, + 0xa8, 0xf0, 0xca, 0x66, 0x9a, 0xb8, 0xf7, 0x02, 0xd3, 0x0d, 0xf7, 0x49, 0x10, 0x3c, 0x45, 0x7d, + 0xee, 0xc2, 0xac, 0x4b, 0x1e, 0x65, 0x32, 0xf1, 0x74, 0x9e, 0x94, 0x8d, 0x4c, 0x3c, 0x59, 0xed, + 0xd3, 0x7f, 0xa4, 0x40, 0x0b, 0xf9, 0x7c, 0x62, 0xf7, 0x0e, 0x9f, 0xa2, 0xf2, 0xdb, 0x30, 0x77, + 0xc8, 0x24, 0xa0, 0xd0, 0x29, 0xca, 0x7e, 0x8e, 0x7a, 0x42, 0xf5, 0xbf, 0x53, 0x60, 0x21, 0xb9, + 0x75, 0x3e, 0xb6, 0x9f, 0x66, 0x30, 0xef, 0xc2, 0x3c, 0x9e, 0xe2, 0x9f, 0xd6, 0x00, 0x79, 0xf2, + 0x09, 0x2d, 0xf0, 0x77, 0x0a, 0xcc, 0x23, 0xa7, 0x5b, 0x6e, 0x44, 0x82, 0x53, 0xeb, 0x7f, 0x07, + 0x9a, 0xc4, 0x8d, 0x02, 0xd3, 0x3d, 0x4d, 0x85, 0x15, 0x49, 0x27, 0x2c, 0xb2, 0x5f, 0x2b, 0xa0, + 0x31, 0x56, 0x1b, 0x76, 0x38, 0xb0, 0xc3, 0xf0, 0x29, 0xba, 0x6e, 0x32, 0x81, 0xff, 0x44, 0x85, + 0xf3, 0x02, 0x97, 0x4e, 0x1c, 0x3d, 0xeb, 0x22, 0x6b, 0x1b, 0xd0, 0xa0, 0x3d, 0x86, 0x78, 0xc7, + 0x3a, 0xe9, 0x44, 0x19, 0x21, 0xed, 0x82, 0x19, 0xd0, 0x25, 0x3d, 0xcf, 0xb5, 0xb0, 0x14, 0xcf, + 0x1a, 0x12, 0x8e, 0x96, 0xa1, 0x25, 0x81, 0xcd, 0xba, 0xe9, 0xf6, 0x88, 0xf3, 0xc2, 0x98, 0x48, + 0xff, 0x4b, 0x05, 0xe6, 0x70, 0xc8, 0xb3, 0xaf, 0xb2, 0xfe, 0xd7, 0x0a, 0x0f, 0xe4, 0xe7, 0xc6, + 0x4b, 0x34, 0xbc, 0x16, 0x05, 0x2e, 0x62, 0x5f, 0xfe, 0xec, 0x86, 0xd6, 0x1d, 0x68, 0xf6, 0x0e, + 0x4c, 0xb7, 0x7f, 0xaa, 0xe0, 0x12, 0x49, 0xf5, 0x08, 0x5e, 0x16, 0x0f, 0xfd, 0xd7, 0xf1, 0x13, + 0x53, 0xff, 0xad, 0x9c, 0x2a, 0x23, 0xdf, 0x50, 0x3c, 0x99, 0xd1, 0x0f, 0x61, 0x01, 0x6f, 0xa1, + 0x85, 0x9e, 0x51, 0x6b, 0xc3, 0x94, 0x69, 0xe1, 0xd1, 0x87, 0xc2, 0x88, 0x12, 0x50, 0x7e, 0xa5, + 0xc0, 0xdf, 0xc3, 0x65, 0xaf, 0x14, 0x2e, 0x01, 0x98, 0x96, 0xf5, 0xc0, 0x0b, 0x2c, 0xdb, 0x4d, + 0x36, 0x08, 0x02, 0x46, 0xff, 0x18, 0x66, 0x6e, 0x07, 0xde, 0xe0, 0x9e, 0x70, 0x9f, 0x3c, 0xf2, + 0xc6, 0x5b, 0xbc, 0x8b, 0x56, 0xe5, 0xbb, 0x68, 0xfd, 0x4b, 0xb8, 0x50, 0x10, 0x9c, 0x19, 0x6b, + 0x1d, 0xaf, 0xc9, 0x93, 0x49, 0x78, 0xc8, 0x94, 0x9d, 0x05, 0x8a, 0xb2, 0x18, 0x12, 0x91, 0xfe, + 0xeb, 0x0a, 0xbc, 0x56, 0x60, 0xbf, 0xea, 0xfb, 0x81, 0x77, 0xcc, 0x7d, 0x72, 0x16, 0xd3, 0xc8, + 0xcd, 0xb1, 0x9a, 0x6b, 0x8e, 0xcb, 0x85, 0x90, 0x1a, 0xfa, 0xef, 0x41, 0x88, 0xbf, 0x50, 0x60, + 0x9e, 0x0b, 0x61, 0x59, 0x7c, 0xda, 0x77, 0xa0, 0x8e, 0x0f, 0x75, 0xf8, 0x84, 0xaf, 0x95, 0x4e, + 0x98, 0x3c, 0x30, 0x32, 0xf8, 0xe0, 0x62, 0x44, 0xaa, 0x65, 0x19, 0xf5, 0x5e, 0x1a, 0xec, 0x13, + 0x3f, 0xa5, 0xe1, 0x04, 0xfa, 0x2f, 0x25, 0xc1, 0xbc, 0x41, 0x1c, 0x72, 0x96, 0x36, 0xd2, 0xef, + 0xc3, 0x1c, 0x7b, 0x35, 0x94, 0xd9, 0xe0, 0x4c, 0xd8, 0x3e, 0x80, 0x16, 0x63, 0x7b, 0xe6, 0xf2, + 0xa6, 0xd9, 0x41, 0xed, 0x23, 0x96, 0x92, 0x33, 0xe1, 0xfe, 0x26, 0x9c, 0x4b, 0x6c, 0x8f, 0x2f, + 0x71, 0x91, 0xf7, 0x90, 0xbb, 0x41, 0xfd, 0x8f, 0x14, 0x58, 0x5c, 0xf7, 0xdc, 0x63, 0x12, 0x84, + 0xd2, 0xeb, 0x5d, 0x24, 0x91, 0xb2, 0x9f, 0x43, 0xda, 0x0a, 0x68, 0x3d, 0x81, 0x82, 0x1f, 0x4f, + 0xaa, 0xec, 0x78, 0xb2, 0xe4, 0x8b, 0xf6, 0x36, 0x5c, 0x88, 0x19, 0xd7, 0xfb, 0x6e, 0x40, 0x4c, + 0x8b, 0x9d, 0xc7, 0x09, 0x45, 0xaf, 0xfc, 0xa3, 0xfe, 0x15, 0x2c, 0x89, 0x72, 0x75, 0x49, 0xb4, + 0x1b, 0xd8, 0xc7, 0x82, 0x6c, 0xfc, 0xec, 0x5d, 0x91, 0xce, 0xde, 0xb3, 0xb3, 0x7a, 0x55, 0x3a, + 0xab, 0xbf, 0x08, 0x0d, 0x3b, 0xe4, 0x0c, 0xd8, 0xbc, 0xd3, 0x46, 0x86, 0xd0, 0x4d, 0x58, 0x40, + 0x2f, 0xf3, 0xbb, 0x30, 0x36, 0xc5, 0x12, 0x4c, 0x63, 0xe8, 0xa6, 0x93, 0xa4, 0xf0, 0xd0, 0x9b, + 0xa5, 0xa1, 0xf7, 0xa8, 0x7a, 0x17, 0x16, 0xf8, 0x5b, 0xa2, 0x5d, 0xb3, 0x6f, 0xbb, 0x58, 0xcb, + 0x2f, 0x01, 0xf8, 0x66, 0x3f, 0x79, 0xd9, 0x88, 0x37, 0x82, 0x02, 0x86, 0x7e, 0x0f, 0x0f, 0xbc, + 0x47, 0xfc, 0xbb, 0x8a, 0xdf, 0x33, 0x8c, 0xfe, 0x19, 0x68, 0x06, 0x09, 0x7d, 0xcf, 0x0d, 0x89, + 0xc0, 0x75, 0x19, 0x9a, 0xeb, 0x71, 0x10, 0x10, 0x97, 0x4e, 0x95, 0x3c, 0xcf, 0x13, 0x51, 0x94, + 0x6f, 0x37, 0xe3, 0x8b, 0xb7, 0x07, 0x02, 0x46, 0xff, 0xdf, 0x3a, 0x34, 0xba, 0x76, 0xdf, 0x35, + 0x1d, 0x83, 0x1c, 0x69, 0x1f, 0x42, 0x1d, 0x77, 0x46, 0x3c, 0x20, 0xcb, 0x4e, 0xb3, 0x71, 0x34, + 0x6e, 0x01, 0x0d, 0x72, 0x74, 0xe7, 0x25, 0x83, 0xd3, 0x68, 0x9f, 0x26, 0x2f, 0xae, 0xb6, 0xf0, + 0xa4, 0x8c, 0x2f, 0x93, 0x3f, 0x3b, 0x86, 0x09, 0x1f, 0x8d, 0xbc, 0x64, 0x0e, 0x54, 0xa0, 0x1e, + 0xeb, 0x9c, 0x78, 0x15, 0x1a, 0x2e, 0x10, 0x36, 0x58, 0x5c, 0x20, 0xa4, 0xa1, 0xd4, 0x26, 0x3b, + 0x4b, 0xe2, 0x0d, 0xc1, 0x70, 0x6a, 0x3c, 0x72, 0xe2, 0xd4, 0x48, 0x43, 0xa9, 0x0f, 0x62, 0xb7, + 0x7f, 0xdf, 0xe7, 0x47, 0x9c, 0xc3, 0xa9, 0xef, 0xb0, 0x61, 0x9c, 0x1a, 0x69, 0x28, 0x75, 0xc0, + 0xd6, 0x08, 0x66, 0xf4, 0x51, 0xd4, 0xb8, 0x94, 0x70, 0x6a, 0xa4, 0xd1, 0x3e, 0x87, 0x56, 0x9f, + 0x44, 0x86, 0xe7, 0x0d, 0xd6, 0x4e, 0x36, 0xf9, 0x0d, 0x13, 0x3e, 0x30, 0xbf, 0x36, 0x94, 0xcf, + 0x66, 0x8e, 0x00, 0x39, 0x16, 0xf8, 0x68, 0xbf, 0x0a, 0xaf, 0x79, 0x2e, 0x45, 0xed, 0x9a, 0x41, + 0x64, 0xf7, 0x6c, 0xdf, 0x74, 0xa3, 0x75, 0xcf, 0x75, 0xd9, 0x7a, 0x66, 0x90, 0x23, 0xfe, 0x04, + 0xfd, 0xdd, 0xa1, 0x13, 0xed, 0x8c, 0xa2, 0xbe, 0xf3, 0x92, 0x31, 0x9a, 0xbd, 0xf6, 0xdb, 0x0a, + 0x2c, 0x17, 0x46, 0x6c, 0xd8, 0x61, 0x4f, 0x94, 0x01, 0x9f, 0xaf, 0xbf, 0x37, 0xb9, 0x0c, 0x39, + 0x06, 0x77, 0x5e, 0x32, 0xc6, 0x4e, 0xc2, 0xad, 0x7c, 0xcf, 0x3b, 0x24, 0xee, 0xda, 0x09, 0x1d, + 0xbb, 0xb5, 0xc1, 0x6e, 0xb3, 0xc6, 0x58, 0x59, 0x22, 0xc8, 0xac, 0x2c, 0xa1, 0xd7, 0x1a, 0x30, + 0xe5, 0x9b, 0x27, 0x8e, 0x67, 0x5a, 0xfa, 0xff, 0x57, 0x01, 0x12, 0x57, 0x87, 0xac, 0x23, 0x96, + 0x92, 0xec, 0xf2, 0xd8, 0x24, 0xf3, 0x9d, 0x13, 0x21, 0xcd, 0xba, 0xe5, 0x69, 0xf6, 0x73, 0x93, + 0xa6, 0x19, 0x72, 0xcb, 0x25, 0xda, 0xcd, 0x5c, 0xa2, 0x5d, 0x1e, 0x9b, 0x68, 0x5c, 0x28, 0x9e, + 0x6a, 0x37, 0x73, 0xa9, 0x76, 0x79, 0x6c, 0xaa, 0x71, 0x7a, 0x9e, 0x6c, 0x37, 0x73, 0xc9, 0x76, + 0x79, 0x6c, 0xb2, 0x71, 0x7a, 0x9e, 0x6e, 0x37, 0x73, 0xe9, 0x76, 0x79, 0x6c, 0xba, 0x71, 0x7a, + 0x9e, 0x70, 0x5f, 0x0e, 0x4d, 0xb8, 0x95, 0x27, 0x48, 0x38, 0xe4, 0x59, 0x4c, 0xb9, 0x2f, 0x4b, + 0x02, 0x6d, 0x7a, 0x3c, 0xf7, 0x5c, 0xa0, 0x65, 0xdc, 0x87, 0x86, 0xda, 0x6f, 0x56, 0x60, 0x8e, + 0xb9, 0x1b, 0x57, 0x65, 0x77, 0xdf, 0x2b, 0xbe, 0x83, 0x55, 0x4a, 0xde, 0xc1, 0x6a, 0xd7, 0x60, + 0x01, 0x11, 0x44, 0xb8, 0x87, 0xc4, 0x85, 0xbe, 0xf8, 0x81, 0xdd, 0xbc, 0xc6, 0x61, 0xe4, 0x0d, + 0x36, 0xcc, 0xc8, 0x4c, 0x76, 0x18, 0x19, 0x46, 0xbc, 0x17, 0xaf, 0x16, 0x7e, 0x2e, 0x12, 0xa0, + 0xfe, 0x35, 0xbe, 0x9a, 0x33, 0x88, 0x52, 0x44, 0xf6, 0x80, 0x78, 0x71, 0xc4, 0x17, 0xa9, 0x04, + 0xc4, 0xc7, 0x8b, 0x96, 0x6d, 0xb2, 0xdb, 0x64, 0xfe, 0xb2, 0x2f, 0x45, 0xb0, 0x75, 0x35, 0xbb, + 0x1d, 0xe7, 0x3f, 0xe7, 0xc8, 0x30, 0x13, 0xdc, 0x64, 0xb3, 0x5f, 0x06, 0xd9, 0x91, 0x2d, 0xbe, + 0xf8, 0xab, 0x19, 0x12, 0x8e, 0xf6, 0x41, 0x7b, 0x71, 0x78, 0x72, 0xd7, 0x76, 0x45, 0xf3, 0x34, + 0xb1, 0x0f, 0x2a, 0x7e, 0xd1, 0xff, 0x4f, 0x81, 0x73, 0x42, 0xdd, 0xe9, 0x90, 0xc8, 0x64, 0x76, + 0x91, 0xde, 0x6d, 0x2b, 0x4f, 0xf6, 0x6e, 0x7b, 0x17, 0xe6, 0xfb, 0xf2, 0xb6, 0xfc, 0x09, 0x77, + 0xd4, 0x79, 0x72, 0xe9, 0x11, 0x7a, 0xe5, 0x89, 0x1f, 0xa1, 0xeb, 0xbf, 0xa3, 0xc2, 0x7c, 0xae, + 0x19, 0x18, 0xd9, 0x49, 0xad, 0x02, 0xd8, 0x69, 0x68, 0x8e, 0xb8, 0xf5, 0x92, 0xe3, 0xd7, 0x10, + 0x88, 0xca, 0xae, 0xdd, 0x2b, 0xa7, 0xbf, 0x76, 0xbf, 0x03, 0x4d, 0x3f, 0x73, 0xd2, 0x88, 0x43, + 0x83, 0x12, 0x57, 0x1a, 0x22, 0xa9, 0xfe, 0xbb, 0x0a, 0x2c, 0x14, 0x4a, 0x36, 0xbb, 0x0c, 0xa7, + 0x89, 0x9a, 0x5e, 0x86, 0x53, 0x40, 0xc8, 0x00, 0x35, 0x9f, 0x01, 0x8e, 0x7d, 0x2c, 0xfe, 0x5c, + 0x86, 0x83, 0x43, 0xa2, 0xaf, 0x3a, 0x34, 0xfa, 0x7e, 0x4f, 0x85, 0xc5, 0xf2, 0x06, 0xeb, 0x45, + 0xf5, 0xcf, 0xef, 0x2b, 0xd0, 0x1e, 0xb6, 0x16, 0x3e, 0x35, 0x37, 0x65, 0xf9, 0x93, 0xf6, 0xae, + 0x2f, 0xaa, 0x7f, 0xce, 0x25, 0xe9, 0x23, 0x34, 0x17, 0xfa, 0xdf, 0xa6, 0xf6, 0x49, 0xbb, 0xf3, + 0x17, 0xd4, 0x3e, 0xda, 0x55, 0x68, 0xa1, 0x9a, 0xc2, 0x4b, 0x30, 0xdc, 0xec, 0x15, 0xf0, 0xfa, + 0x17, 0x89, 0x2d, 0x85, 0x46, 0xeb, 0xac, 0x62, 0x5c, 0xff, 0x67, 0x25, 0xf1, 0x49, 0xba, 0xe7, + 0x79, 0xae, 0x7c, 0x92, 0x45, 0x9a, 0xd0, 0x46, 0x0a, 0x91, 0x96, 0xee, 0xc5, 0x7e, 0x12, 0x69, + 0xe3, 0x23, 0x2d, 0xb5, 0xa5, 0xd0, 0x52, 0xeb, 0x7f, 0xaa, 0xc0, 0x2b, 0x43, 0xf7, 0xa3, 0x23, + 0xad, 0x2a, 0x34, 0x8d, 0xaa, 0xdc, 0x34, 0xe6, 0xd4, 0xab, 0x9c, 0xbe, 0xd0, 0x7c, 0xa3, 0xc0, + 0xab, 0x23, 0x9a, 0xf7, 0x9c, 0x67, 0x95, 0xd3, 0x78, 0x36, 0x27, 0xac, 0x3a, 0xf4, 0x62, 0x7a, + 0xac, 0x2f, 0xb2, 0xf4, 0xac, 0x88, 0xe9, 0xa9, 0xff, 0x87, 0x02, 0xaf, 0x4f, 0xb0, 0x13, 0x7f, + 0xb6, 0x94, 0x19, 0xfa, 0x54, 0x56, 0xff, 0x4f, 0x05, 0xae, 0x4c, 0xb6, 0xa9, 0x7f, 0x5e, 0x34, + 0xfa, 0x47, 0x31, 0x07, 0xf2, 0xa7, 0x05, 0x82, 0x5b, 0x15, 0xa9, 0xea, 0x8a, 0xb9, 0xa1, 0xe6, + 0x72, 0xe3, 0xcc, 0x32, 0x20, 0xff, 0x22, 0xbe, 0x5a, 0x7c, 0x11, 0xdf, 0x11, 0x52, 0xa4, 0xb8, + 0x03, 0x1d, 0xb2, 0x94, 0x08, 0x4b, 0x86, 0x2a, 0x2f, 0x19, 0xbf, 0x06, 0xb3, 0x1b, 0xc4, 0xe9, + 0x84, 0xfd, 0xe4, 0xb7, 0x2b, 0x67, 0x7a, 0xda, 0x3a, 0x81, 0x3e, 0x6b, 0x30, 0x27, 0x0a, 0x70, + 0x9a, 0xdf, 0x66, 0xe8, 0x0f, 0xe0, 0x95, 0x2e, 0x89, 0x56, 0x7d, 0x7f, 0xcd, 0xec, 0x1d, 0x52, + 0x37, 0xbb, 0x56, 0x97, 0x3d, 0x26, 0x1e, 0xf5, 0x63, 0x1c, 0xba, 0xb3, 0x0c, 0x33, 0x02, 0xfe, + 0x82, 0x56, 0xc2, 0xe9, 0xdb, 0xb0, 0x34, 0x8c, 0xf1, 0xa9, 0x04, 0xfd, 0x46, 0x81, 0x99, 0x5b, + 0x8f, 0x23, 0x7c, 0x3f, 0xdf, 0x25, 0xec, 0xdf, 0x97, 0xa4, 0x82, 0xa9, 0xf8, 0xa8, 0xdc, 0x31, + 0x23, 0x12, 0x46, 0xc2, 0xbf, 0xf6, 0xc0, 0x1f, 0x1c, 0x14, 0xf0, 0x85, 0x17, 0xc5, 0xd5, 0xa1, + 0x2f, 0x8a, 0x6b, 0xe2, 0x3b, 0x5e, 0x92, 0xcc, 0xbf, 0x1d, 0x0f, 0xf8, 0x6e, 0x5e, 0xc2, 0x95, + 0xfc, 0xb6, 0xb1, 0x26, 0x3e, 0xdc, 0xd6, 0x03, 0x38, 0x6f, 0x10, 0x93, 0xfd, 0x53, 0x0e, 0x49, + 0x97, 0x36, 0x4c, 0x51, 0xd3, 0x7e, 0x92, 0xbe, 0x50, 0x4e, 0x40, 0xf9, 0x95, 0x72, 0x83, 0xbf, + 0x52, 0x7e, 0x12, 0x5d, 0xd7, 0xae, 0x7d, 0x7e, 0x75, 0xc7, 0x27, 0xee, 0xc3, 0xad, 0x4e, 0xe1, + 0xbf, 0xe3, 0x7c, 0x50, 0x48, 0xb3, 0xbd, 0x3a, 0xfb, 0xfe, 0xd6, 0x8f, 0x03, 0x00, 0x00, 0xff, + 0xff, 0x21, 0x79, 0xd9, 0x13, 0x7d, 0x47, 0x00, 0x00, +} From 20a2cb3d3c075f1ec56d5618933f9b9da28a60ad Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 19 Dec 2022 11:18:23 +0800 Subject: [PATCH 115/176] reaction message update --- internal/rpc/msg/extend_msg.go | 169 +++++++++++++++++--- internal/rpc/msg/extend_msg.notification.go | 11 +- internal/rpc/msg/lock.go | 20 +++ pkg/common/constant/constant.go | 1 + 4 files changed, 171 insertions(+), 30 deletions(-) diff --git a/internal/rpc/msg/extend_msg.go b/internal/rpc/msg/extend_msg.go index 47afbbdaa..6be933548 100644 --- a/internal/rpc/msg/extend_msg.go +++ b/internal/rpc/msg/extend_msg.go @@ -16,6 +16,7 @@ func (rpc *rpcChat) SetMessageReactionExtensions(ctx context.Context, req *msg.S log.Debug(req.OperationID, utils.GetSelfFuncName(), "rpc args is:", req.String()) var rResp msg.SetMessageReactionExtensionsResp rResp.ClientMsgID = req.ClientMsgID + rResp.MsgFirstModifyTime = req.MsgFirstModifyTime isExists, err := db.DB.JudgeMessageReactionEXISTS(req.ClientMsgID, req.SessionType) if err != nil { rResp.ErrCode = 100 @@ -54,32 +55,67 @@ func (rpc *rpcChat) SetMessageReactionExtensions(ctx context.Context, req *msg.S log.Error(req.OperationID, "SetMessageReactionExpire err:", err.Error(), req.String()) } } else { + err := rpc.dMessageLocker.LockGlobalMessage(req.ClientMsgID) + if err != nil { + rResp.ErrCode = 100 + rResp.ErrMsg = err.Error() + for _, value := range req.ReactionExtensionList { + temp := new(msg.KeyValueResp) + temp.KeyValue = value + temp.ErrMsg = err.Error() + temp.ErrCode = 100 + rResp.Result = append(rResp.Result, temp) + } + return &rResp, nil + } + mongoValue, err := db.DB.GetExtendMsg(req.SourceID, req.SessionType, req.ClientMsgID, req.MsgFirstModifyTime) + if err != nil { + rResp.ErrCode = 200 + rResp.ErrMsg = err.Error() + for _, value := range req.ReactionExtensionList { + temp := new(msg.KeyValueResp) + temp.KeyValue = value + temp.ErrMsg = err.Error() + temp.ErrCode = 100 + rResp.Result = append(rResp.Result, temp) + } + return &rResp, nil + } + setValue := make(map[string]*server_api_params.KeyValue) for k, v := range req.ReactionExtensionList { - err := rpc.dMessageLocker.LockMessageTypeKey(req.ClientMsgID, k) - if err != nil { - setKeyResultInfo(&rResp, 100, err.Error(), req.ClientMsgID, k, v) - continue - } - redisValue, err := db.DB.GetMessageTypeKeyValue(req.ClientMsgID, req.SessionType, k) - if err != nil && err != go_redis.Nil { - setKeyResultInfo(&rResp, 200, err.Error(), req.ClientMsgID, k, v) - continue - } + temp := new(server_api_params.KeyValue) - utils.JsonStringToStruct(redisValue, temp) - if v.LatestUpdateTime != temp.LatestUpdateTime { - setKeyResultInfo(&rResp, 300, "message have update", req.ClientMsgID, k, temp) - continue - } else { - v.LatestUpdateTime = utils.GetCurrentTimestampByMill() - newerr := db.DB.SetMessageTypeKeyValue(req.ClientMsgID, req.SessionType, k, utils.StructToJsonString(v)) - if newerr != nil { - setKeyResultInfo(&rResp, 201, newerr.Error(), req.ClientMsgID, k, temp) + if vv, ok := mongoValue.ReactionExtensionList[k]; ok { + utils.CopyStructFields(temp, &vv) + if v.LatestUpdateTime != vv.LatestUpdateTime { + setKeyResultInfo(&rResp, 300, "message have update", req.ClientMsgID, k, temp) continue } - setKeyResultInfo(&rResp, 0, "", req.ClientMsgID, k, v) } - + temp.TypeKey = k + temp.Value = v.Value + temp.LatestUpdateTime = utils.GetCurrentTimestampByMill() + setValue[k] = temp + } + err = db.DB.InsertOrUpdateReactionExtendMsgSet(req.SourceID, req.SessionType, req.ClientMsgID, req.MsgFirstModifyTime, setValue) + if err != nil { + for _, value := range setValue { + temp := new(msg.KeyValueResp) + temp.KeyValue = value + temp.ErrMsg = err.Error() + temp.ErrCode = 100 + rResp.Result = append(rResp.Result, temp) + } + } else { + for _, value := range setValue { + temp := new(msg.KeyValueResp) + temp.KeyValue = value + rResp.Result = append(rResp.Result, temp) + } + } + lockErr := rpc.dMessageLocker.UnLockGlobalMessage(req.ClientMsgID) + if lockErr != nil { + log.Error(req.OperationID, "UnLockGlobalMessage err:", lockErr.Error()) } } @@ -114,10 +150,14 @@ func (rpc *rpcChat) SetMessageReactionExtensions(ctx context.Context, req *msg.S } } - if !isExists && !req.IsReact { - ExtendMessageUpdatedNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, true) + if !isExists { + if !req.IsReact { + ExtendMessageUpdatedNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, true, true) + } else { + ExtendMessageUpdatedNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, false, false) + } } else { - ExtendMessageUpdatedNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, false) + ExtendMessageUpdatedNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, false, true) } log.Debug(req.OperationID, utils.GetSelfFuncName(), "rpc return is:", rResp.String()) return &rResp, nil @@ -171,7 +211,23 @@ func (rpc *rpcChat) GetMessageListReactionExtensions(ctx context.Context, req *m oneMessage.ReactionExtensionList = keyMap } else { + mongoValue, err := db.DB.GetExtendMsg(req.SourceID, req.SessionType, messageValue.ClientMsgID, messageValue.MsgFirstModifyTime) + if err != nil { + oneMessage.ErrCode = 100 + oneMessage.ErrMsg = err.Error() + rResp.SingleMessageResult = append(rResp.SingleMessageResult, &oneMessage) + continue + } + keyMap := make(map[string]*server_api_params.KeyValue) + for k, v := range mongoValue.ReactionExtensionList { + temp := new(server_api_params.KeyValue) + temp.TypeKey = v.TypeKey + temp.Value = v.Value + temp.LatestUpdateTime = v.LatestUpdateTime + keyMap[k] = temp + } + oneMessage.ReactionExtensionList = keyMap } rResp.SingleMessageResult = append(rResp.SingleMessageResult, &oneMessage) } @@ -230,9 +286,72 @@ func (rpc *rpcChat) DeleteMessageReactionExtensions(ctx context.Context, req *ms } } } else { + err := rpc.dMessageLocker.LockGlobalMessage(req.ClientMsgID) + if err != nil { + rResp.ErrCode = 100 + rResp.ErrMsg = err.Error() + for _, value := range req.ReactionExtensionList { + temp := new(msg.KeyValueResp) + temp.KeyValue = value + temp.ErrMsg = err.Error() + temp.ErrCode = 100 + rResp.Result = append(rResp.Result, temp) + } + return &rResp, nil + } + mongoValue, err := db.DB.GetExtendMsg(req.SourceID, req.SessionType, req.ClientMsgID, req.MsgFirstModifyTime) + if err != nil { + rResp.ErrCode = 200 + rResp.ErrMsg = err.Error() + for _, value := range req.ReactionExtensionList { + temp := new(msg.KeyValueResp) + temp.KeyValue = value + temp.ErrMsg = err.Error() + temp.ErrCode = 100 + rResp.Result = append(rResp.Result, temp) + } + return &rResp, nil + } + setValue := make(map[string]*server_api_params.KeyValue) + for _, v := range req.ReactionExtensionList { + + temp := new(server_api_params.KeyValue) + if vv, ok := mongoValue.ReactionExtensionList[v.TypeKey]; ok { + utils.CopyStructFields(temp, &vv) + if v.LatestUpdateTime != vv.LatestUpdateTime { + setDeleteKeyResultInfo(&rResp, 300, "message have update", req.ClientMsgID, v.TypeKey, temp) + continue + } + } else { + setDeleteKeyResultInfo(&rResp, 400, "key not in", req.ClientMsgID, v.TypeKey, v) + continue + } + temp.TypeKey = v.TypeKey + setValue[v.TypeKey] = temp + } + err = db.DB.DeleteReactionExtendMsgSet(req.SourceID, req.SessionType, req.ClientMsgID, req.MsgFirstModifyTime, setValue) + if err != nil { + for _, value := range setValue { + temp := new(msg.KeyValueResp) + temp.KeyValue = value + temp.ErrMsg = err.Error() + temp.ErrCode = 100 + rResp.Result = append(rResp.Result, temp) + } + } else { + for _, value := range setValue { + temp := new(msg.KeyValueResp) + temp.KeyValue = value + rResp.Result = append(rResp.Result, temp) + } + } + lockErr := rpc.dMessageLocker.UnLockGlobalMessage(req.ClientMsgID) + if lockErr != nil { + log.Error(req.OperationID, "UnLockGlobalMessage err:", lockErr.Error()) + } } - ExtendMessageDeleteNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, false) + ExtendMessageDeleteNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, false, isExists) log.Debug(req.OperationID, utils.GetSelfFuncName(), "rpc return is:", rResp.String()) return &rResp, nil } diff --git a/internal/rpc/msg/extend_msg.notification.go b/internal/rpc/msg/extend_msg.notification.go index f4f8bd88b..6867de511 100644 --- a/internal/rpc/msg/extend_msg.notification.go +++ b/internal/rpc/msg/extend_msg.notification.go @@ -14,7 +14,7 @@ import ( ) func ExtendMessageUpdatedNotification(operationID, sendID string, sourceID string, sessionType int32, - req *msg.SetMessageReactionExtensionsReq, resp *msg.SetMessageReactionExtensionsResp, isHistory bool) { + req *msg.SetMessageReactionExtensionsReq, resp *msg.SetMessageReactionExtensionsResp, isHistory bool, isReactionFromCache bool) { var m base_info.ReactionMessageModifierNotification m.SourceID = req.SourceID m.OpUserID = req.OpUserID @@ -30,10 +30,10 @@ func ExtendMessageUpdatedNotification(operationID, sendID string, sourceID strin m.IsReact = resp.IsReact m.IsExternalExtensions = req.IsExternalExtensions m.MsgFirstModifyTime = resp.MsgFirstModifyTime - messageReactionSender(operationID, sendID, sourceID, sessionType, constant.ReactionMessageModifier, utils.StructToJsonString(m), isHistory) + messageReactionSender(operationID, sendID, sourceID, sessionType, constant.ReactionMessageModifier, utils.StructToJsonString(m), isHistory, isReactionFromCache) } func ExtendMessageDeleteNotification(operationID, sendID string, sourceID string, sessionType int32, - req *msg.DeleteMessageListReactionExtensionsReq, resp *msg.DeleteMessageListReactionExtensionsResp, isHistory bool) { + req *msg.DeleteMessageListReactionExtensionsReq, resp *msg.DeleteMessageListReactionExtensionsResp, isHistory bool, isReactionFromCache bool) { var m base_info.ReactionMessageDeleteNotification m.SourceID = req.SourceID m.OpUserID = req.OpUserID @@ -48,14 +48,15 @@ func ExtendMessageDeleteNotification(operationID, sendID string, sourceID string m.ClientMsgID = req.ClientMsgID m.MsgFirstModifyTime = req.MsgFirstModifyTime - messageReactionSender(operationID, sendID, sourceID, sessionType, constant.ReactionMessageDeleter, utils.StructToJsonString(m), isHistory) + messageReactionSender(operationID, sendID, sourceID, sessionType, constant.ReactionMessageDeleter, utils.StructToJsonString(m), isHistory, isReactionFromCache) } -func messageReactionSender(operationID, sendID string, sourceID string, sessionType, contentType int32, content string, isHistory bool) { +func messageReactionSender(operationID, sendID string, sourceID string, sessionType, contentType int32, content string, isHistory bool, isReactionFromCache bool) { options := make(map[string]bool, 5) utils.SetSwitchFromOptions(options, constant.IsOfflinePush, false) utils.SetSwitchFromOptions(options, constant.IsConversationUpdate, false) utils.SetSwitchFromOptions(options, constant.IsSenderConversationUpdate, false) utils.SetSwitchFromOptions(options, constant.IsUnreadCount, false) + utils.SetSwitchFromOptions(options, constant.IsReactionFromCache, isReactionFromCache) if !isHistory { utils.SetSwitchFromOptions(options, constant.IsHistory, false) utils.SetSwitchFromOptions(options, constant.IsPersistent, false) diff --git a/internal/rpc/msg/lock.go b/internal/rpc/msg/lock.go index 4f40b62a0..cef59cb1a 100644 --- a/internal/rpc/msg/lock.go +++ b/internal/rpc/msg/lock.go @@ -5,9 +5,13 @@ import ( "time" ) +const GlOBLLOCK = "GLOBAL_LOCK" + type MessageLocker interface { LockMessageTypeKey(clientMsgID, typeKey string) (err error) UnLockMessageTypeKey(clientMsgID string, typeKey string) error + LockGlobalMessage(clientMsgID string) (err error) + UnLockGlobalMessage(clientMsgID string) (err error) } type LockerMessage struct{} @@ -26,7 +30,23 @@ func (l *LockerMessage) LockMessageTypeKey(clientMsgID, typeKey string) (err err } return err +} +func (l *LockerMessage) LockGlobalMessage(clientMsgID string) (err error) { + for i := 0; i < 3; i++ { + err = db.DB.LockMessageTypeKey(clientMsgID, GlOBLLOCK) + if err != nil { + time.Sleep(time.Millisecond * 100) + continue + } else { + break + } + } + return err + } func (l *LockerMessage) UnLockMessageTypeKey(clientMsgID string, typeKey string) error { return db.DB.UnLockMessageTypeKey(clientMsgID, typeKey) } +func (l *LockerMessage) UnLockGlobalMessage(clientMsgID string) error { + return db.DB.UnLockMessageTypeKey(clientMsgID, GlOBLLOCK) +} diff --git a/pkg/common/constant/constant.go b/pkg/common/constant/constant.go index 522b942a7..9ca71ea19 100644 --- a/pkg/common/constant/constant.go +++ b/pkg/common/constant/constant.go @@ -171,6 +171,7 @@ const ( IsNotPrivate = "notPrivate" IsSenderConversationUpdate = "senderConversationUpdate" IsSenderNotificationPush = "senderNotificationPush" + IsReactionFromCache = "reactionFromCache" //GroupStatus GroupOk = 0 From e80afa610dd657af787b33aab03ffba15c0884c0 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 21 Dec 2022 16:46:16 +0800 Subject: [PATCH 116/176] getui --- internal/cron_task/clear_msg.go | 25 +++---- internal/push/getui/push.go | 127 ++++++++++++++++++++++---------- pkg/common/db/RedisModel.go | 10 +++ 3 files changed, 112 insertions(+), 50 deletions(-) diff --git a/internal/cron_task/clear_msg.go b/internal/cron_task/clear_msg.go index d51e798de..51d0af7fc 100644 --- a/internal/cron_task/clear_msg.go +++ b/internal/cron_task/clear_msg.go @@ -7,11 +7,12 @@ import ( "Open_IM/pkg/common/log" server_api_params "Open_IM/pkg/proto/sdk_ws" "Open_IM/pkg/utils" - goRedis "github.com/go-redis/redis/v8" - "github.com/golang/protobuf/proto" "math" "strconv" "strings" + + goRedis "github.com/go-redis/redis/v8" + "github.com/golang/protobuf/proto" ) const oldestList = 0 @@ -105,6 +106,8 @@ func deleteMongoMsg(operationID string, ID string, index int64, delStruct *delMs if len(msgs.Msg) > db.GetSingleGocMsgNum() { log.NewWarn(operationID, utils.GetSelfFuncName(), "msgs too large", len(msgs.Msg), msgs.UID) } + lastMsgSendTime := msgs.Msg[len(msgs.Msg)-1].SendTime + var hasMsgDoNotNeedDel bool for i, msg := range msgs.Msg { // 找到列表中不需要删除的消息了, 表示为递归到最后一个块 @@ -130,20 +133,16 @@ func deleteMongoMsg(operationID string, ID string, index int64, delStruct *delMs } // 递归结束 return msgPb.Seq, nil - } else { - if !msgListIsFull(msgs) { - - } } } // 该列表中消息全部为老消息并且列表满了, 加入删除列表继续递归 - lastMsgPb := &server_api_params.MsgData{} - err = proto.Unmarshal(msgs.Msg[len(msgs.Msg)-1].Msg, lastMsgPb) - if err != nil { - log.NewError(operationID, utils.GetSelfFuncName(), err.Error(), len(msgs.Msg)-1, msgs.UID) - return 0, utils.Wrap(err, "proto.Unmarshal failed") - } - delStruct.minSeq = lastMsgPb.Seq + // lastMsgPb := &server_api_params.MsgData{} + // err = proto.Unmarshal(msgs.Msg[len(msgs.Msg)-1].Msg, lastMsgPb) + // if err != nil { + // log.NewError(operationID, utils.GetSelfFuncName(), err.Error(), len(msgs.Msg)-1, msgs.UID) + // return 0, utils.Wrap(err, "proto.Unmarshal failed") + // } + // delStruct.minSeq = lastMsgPb.Seq if msgListIsFull(msgs) { log.NewDebug(operationID, "msg list is full", msgs.UID) delStruct.delUidList = append(delStruct.delUidList, msgs.UID) diff --git a/internal/push/getui/push.go b/internal/push/getui/push.go index 5e7786e6a..ef179231f 100644 --- a/internal/push/getui/push.go +++ b/internal/push/getui/push.go @@ -26,8 +26,10 @@ var ( ) const ( - PushURL = "/push/single/alias" - AuthURL = "/auth" + PushURL = "/push/single/alias" + AuthURL = "/auth" + TaskURL = "/push/list/message" + BatchPushURL = "/push/list/alias" ) func init() { @@ -53,9 +55,16 @@ type AuthResp struct { Token string `json:"token"` } +type TaskResp struct { + TaskID string `json:"taskID"` +} + type PushReq struct { RequestID string `json:"request_id"` - Audience struct { + Settings struct { + TTL int32 `json:"ttl"` + } `json:"settings"` + Audience struct { Alias []string `json:"alias"` } `json:"audience"` PushMessage struct { @@ -66,6 +75,8 @@ type PushReq struct { Ios Ios `json:"ios"` Android Android `json:"android"` } `json:"push_channel"` + IsAsync bool `json:"is_async"` + Taskid string `json:"taskid"` } type Ios struct { @@ -121,7 +132,7 @@ func (g *Getui) Push(userIDList []string, title, detailContent, operationID stri token, err := db.DB.GetGetuiToken() log.NewDebug(operationID, utils.GetSelfFuncName(), "token:", token) if err != nil { - log.NewError(operationID, utils.OperationIDGenerator(), "GetGetuiToken failed", err.Error()) + log.NewError(operationID, utils.GetSelfFuncName(), "GetGetuiToken failed", err.Error()) } if token == "" || err != nil { token, err = g.getTokenAndSave2Redis(operationID) @@ -130,12 +141,9 @@ func (g *Getui) Push(userIDList []string, title, detailContent, operationID stri return "", utils.Wrap(err, "") } } - pushReq := PushReq{ - RequestID: utils.OperationIDGenerator(), - Audience: struct { - Alias []string `json:"alias"` - }{Alias: []string{userIDList[0]}}, - } + + var pushReq PushReq + pushResp := PushResp{} pushReq.PushMessage.Notification = Notification{ Title: title, Body: detailContent, @@ -143,34 +151,57 @@ func (g *Getui) Push(userIDList []string, title, detailContent, operationID stri ChannelID: config.Config.Push.Getui.ChannelID, ChannelName: config.Config.Push.Getui.ChannelName, } - pushReq.PushChannel.Ios.Aps.Sound = "default" - pushReq.PushChannel.Ios.Aps.Alert = Alert{ - Title: title, - Body: title, + if len(userIDList) > 1 { + taskID, err := db.DB.GetGetuiTaskID() + log.NewDebug(operationID, utils.GetSelfFuncName(), "token:", token) + if err != nil { + log.NewError(operationID, utils.GetSelfFuncName(), "GetGetuiTaskID failed", err.Error()) + } + if taskID == "" || err != nil { + taskID, err = g.GetTaskIDAndSave2Redis(operationID, token, pushReq) + if err != nil { + log.NewError(operationID, utils.GetSelfFuncName(), "GetTaskIDAndSave2Redis failed", err.Error()) + return "", utils.Wrap(err, "") + } + } + pushReq.IsAsync = true + pushReq.Taskid = taskID + err = g.request(BatchPushURL, pushReq, token, &pushResp, operationID) + } else { + pushReq := PushReq{ + RequestID: utils.OperationIDGenerator(), + Audience: struct { + Alias []string `json:"alias"` + }{Alias: []string{userIDList[0]}}, + } + pushReq.PushChannel.Ios.Aps.Sound = "default" + pushReq.PushChannel.Ios.Aps.Alert = Alert{ + Title: title, + Body: title, + } + pushReq.PushChannel.Android.Ups.Notification = Notification{ + Title: title, + Body: title, + ClickType: "startapp", + } + pushReq.PushChannel.Android.Ups.Options = Options{ + HW: struct { + DefaultSound bool `json:"/message/android/notification/default_sound"` + ChannelID string `json:"/message/android/notification/channel_id"` + Sound string `json:"/message/android/notification/sound"` + Importance string `json:"/message/android/notification/importance"` + }{ChannelID: "RingRing4", Sound: "/raw/ring001", Importance: "NORMAL"}, + XM: struct { + ChannelID string `json:"/extra.channel_id"` + }{ChannelID: "high_system"}, + VV: struct { + Classification int "json:\"/classification\"" + }{ + Classification: 1, + }, + } + err = g.request(PushURL, pushReq, token, &pushResp, operationID) } - pushReq.PushChannel.Android.Ups.Notification = Notification{ - Title: title, - Body: title, - ClickType: "startapp", - } - pushReq.PushChannel.Android.Ups.Options = Options{ - HW: struct { - DefaultSound bool `json:"/message/android/notification/default_sound"` - ChannelID string `json:"/message/android/notification/channel_id"` - Sound string `json:"/message/android/notification/sound"` - Importance string `json:"/message/android/notification/importance"` - }{ChannelID: "RingRing4", Sound: "/raw/ring001", Importance: "NORMAL"}, - XM: struct { - ChannelID string `json:"/extra.channel_id"` - }{ChannelID: "high_system"}, - VV: struct { - Classification int "json:\"/classification\"" - }{ - Classification: 1, - }, - } - pushResp := PushResp{} - err = g.request(PushURL, pushReq, token, &pushResp, operationID) switch err { case TokenExpireError: token, err = g.getTokenAndSave2Redis(operationID) @@ -209,6 +240,15 @@ func (g *Getui) Auth(operationID string, timeStamp int64) (token string, expireT return respAuth.Token, int64(expire), err } +func (g *Getui) GetTaskID(operationID, token string, pushReq PushReq) (string, error) { + respTask := TaskResp{} + err := g.request(TaskURL, pushReq, token, &respTask, operationID) + if err != nil { + return "", utils.Wrap(err, "") + } + return respTask.TaskID, nil +} + func (g *Getui) request(url string, content interface{}, token string, returnStruct interface{}, operationID string) error { con, err := json.Marshal(content) if err != nil { @@ -257,3 +297,16 @@ func (g *Getui) getTokenAndSave2Redis(operationID string) (token string, err err } return token, nil } + +func (g *Getui) GetTaskIDAndSave2Redis(operationID, token string, pushReq PushReq) (taskID string, err error) { + pushReq.Settings.TTL = 1000 * 60 * 60 * 24 + taskID, err = g.GetTaskID(operationID, token, pushReq) + if err != nil { + return "", utils.Wrap(err, "GetTaskIDAndSave2Redis failed") + } + err = db.DB.SetGetuiTaskID(taskID, 60*60*23) + if err != nil { + return "", utils.Wrap(err, "Auth failed") + } + return token, nil +} diff --git a/pkg/common/db/RedisModel.go b/pkg/common/db/RedisModel.go index a0eab5c30..9e1a5096c 100644 --- a/pkg/common/db/RedisModel.go +++ b/pkg/common/db/RedisModel.go @@ -28,6 +28,7 @@ const ( uidPidToken = "UID_PID_TOKEN_STATUS:" conversationReceiveMessageOpt = "CON_RECV_MSG_OPT:" getuiToken = "GETUI_TOKEN" + getuiTaskID = "GETUI_TASK_ID" messageCache = "MESSAGE_CACHE:" SignalCache = "SIGNAL_CACHE:" SignalListCache = "SIGNAL_LIST_CACHE:" @@ -397,6 +398,15 @@ func (d *DataBases) GetGetuiToken() (string, error) { return result, err } +func (d *DataBases) SetGetuiTaskID(taskID string, expireTime int64) error { + return d.RDB.Set(context.Background(), getuiTaskID, taskID, time.Duration(expireTime)*time.Second).Err() +} + +func (d *DataBases) GetGetuiTaskID() (string, error) { + result, err := d.RDB.Get(context.Background(), getuiTaskID).Result() + return result, err +} + func (d *DataBases) SetSendMsgStatus(status int32, operationID string) error { return d.RDB.Set(context.Background(), sendMsgFailedFlag+operationID, status, time.Hour*24).Err() } From 43ac9de7145b457d8e599be17c26bf5ebf3bf741 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 21 Dec 2022 16:55:44 +0800 Subject: [PATCH 117/176] getui --- pkg/proto/admin_cms/admin_cms.pb.go | 537 ++++++++++++++++++---------- 1 file changed, 342 insertions(+), 195 deletions(-) diff --git a/pkg/proto/admin_cms/admin_cms.pb.go b/pkg/proto/admin_cms/admin_cms.pb.go index c3b267469..970a98788 100644 --- a/pkg/proto/admin_cms/admin_cms.pb.go +++ b/pkg/proto/admin_cms/admin_cms.pb.go @@ -36,7 +36,7 @@ func (m *CommonResp) Reset() { *m = CommonResp{} } func (m *CommonResp) String() string { return proto.CompactTextString(m) } func (*CommonResp) ProtoMessage() {} func (*CommonResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{0} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{0} } func (m *CommonResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CommonResp.Unmarshal(m, b) @@ -83,7 +83,7 @@ func (m *AdminLoginReq) Reset() { *m = AdminLoginReq{} } func (m *AdminLoginReq) String() string { return proto.CompactTextString(m) } func (*AdminLoginReq) ProtoMessage() {} func (*AdminLoginReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{1} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{1} } func (m *AdminLoginReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AdminLoginReq.Unmarshal(m, b) @@ -138,7 +138,7 @@ func (m *AdminLoginResp) Reset() { *m = AdminLoginResp{} } func (m *AdminLoginResp) String() string { return proto.CompactTextString(m) } func (*AdminLoginResp) ProtoMessage() {} func (*AdminLoginResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{2} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{2} } func (m *AdminLoginResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AdminLoginResp.Unmarshal(m, b) @@ -186,6 +186,114 @@ func (m *AdminLoginResp) GetCommonResp() *CommonResp { return nil } +type GetUserTokenReq struct { + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + UserID string `protobuf:"bytes,2,opt,name=userID" json:"userID,omitempty"` + PlatformID int32 `protobuf:"varint,3,opt,name=platformID" json:"platformID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetUserTokenReq) Reset() { *m = GetUserTokenReq{} } +func (m *GetUserTokenReq) String() string { return proto.CompactTextString(m) } +func (*GetUserTokenReq) ProtoMessage() {} +func (*GetUserTokenReq) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{3} +} +func (m *GetUserTokenReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUserTokenReq.Unmarshal(m, b) +} +func (m *GetUserTokenReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUserTokenReq.Marshal(b, m, deterministic) +} +func (dst *GetUserTokenReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUserTokenReq.Merge(dst, src) +} +func (m *GetUserTokenReq) XXX_Size() int { + return xxx_messageInfo_GetUserTokenReq.Size(m) +} +func (m *GetUserTokenReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetUserTokenReq.DiscardUnknown(m) +} + +var xxx_messageInfo_GetUserTokenReq proto.InternalMessageInfo + +func (m *GetUserTokenReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *GetUserTokenReq) GetUserID() string { + if m != nil { + return m.UserID + } + return "" +} + +func (m *GetUserTokenReq) GetPlatformID() int32 { + if m != nil { + return m.PlatformID + } + return 0 +} + +type GetUserTokenResp struct { + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + Token string `protobuf:"bytes,2,opt,name=token" json:"token,omitempty"` + ExpTime int64 `protobuf:"varint,3,opt,name=expTime" json:"expTime,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetUserTokenResp) Reset() { *m = GetUserTokenResp{} } +func (m *GetUserTokenResp) String() string { return proto.CompactTextString(m) } +func (*GetUserTokenResp) ProtoMessage() {} +func (*GetUserTokenResp) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{4} +} +func (m *GetUserTokenResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUserTokenResp.Unmarshal(m, b) +} +func (m *GetUserTokenResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUserTokenResp.Marshal(b, m, deterministic) +} +func (dst *GetUserTokenResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUserTokenResp.Merge(dst, src) +} +func (m *GetUserTokenResp) XXX_Size() int { + return xxx_messageInfo_GetUserTokenResp.Size(m) +} +func (m *GetUserTokenResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetUserTokenResp.DiscardUnknown(m) +} + +var xxx_messageInfo_GetUserTokenResp proto.InternalMessageInfo + +func (m *GetUserTokenResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +func (m *GetUserTokenResp) GetToken() string { + if m != nil { + return m.Token + } + return "" +} + +func (m *GetUserTokenResp) GetExpTime() int64 { + if m != nil { + return m.ExpTime + } + return 0 +} + type AddUserRegisterAddFriendIDListReq struct { OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` UserIDList []string `protobuf:"bytes,2,rep,name=userIDList" json:"userIDList,omitempty"` @@ -198,7 +306,7 @@ func (m *AddUserRegisterAddFriendIDListReq) Reset() { *m = AddUserRegist func (m *AddUserRegisterAddFriendIDListReq) String() string { return proto.CompactTextString(m) } func (*AddUserRegisterAddFriendIDListReq) ProtoMessage() {} func (*AddUserRegisterAddFriendIDListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{3} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{5} } func (m *AddUserRegisterAddFriendIDListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AddUserRegisterAddFriendIDListReq.Unmarshal(m, b) @@ -243,7 +351,7 @@ func (m *AddUserRegisterAddFriendIDListResp) Reset() { *m = AddUserRegis func (m *AddUserRegisterAddFriendIDListResp) String() string { return proto.CompactTextString(m) } func (*AddUserRegisterAddFriendIDListResp) ProtoMessage() {} func (*AddUserRegisterAddFriendIDListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{4} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{6} } func (m *AddUserRegisterAddFriendIDListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AddUserRegisterAddFriendIDListResp.Unmarshal(m, b) @@ -283,7 +391,7 @@ func (m *ReduceUserRegisterAddFriendIDListReq) Reset() { *m = ReduceUser func (m *ReduceUserRegisterAddFriendIDListReq) String() string { return proto.CompactTextString(m) } func (*ReduceUserRegisterAddFriendIDListReq) ProtoMessage() {} func (*ReduceUserRegisterAddFriendIDListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{5} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{7} } func (m *ReduceUserRegisterAddFriendIDListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ReduceUserRegisterAddFriendIDListReq.Unmarshal(m, b) @@ -335,7 +443,7 @@ func (m *ReduceUserRegisterAddFriendIDListResp) Reset() { *m = ReduceUse func (m *ReduceUserRegisterAddFriendIDListResp) String() string { return proto.CompactTextString(m) } func (*ReduceUserRegisterAddFriendIDListResp) ProtoMessage() {} func (*ReduceUserRegisterAddFriendIDListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{6} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{8} } func (m *ReduceUserRegisterAddFriendIDListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ReduceUserRegisterAddFriendIDListResp.Unmarshal(m, b) @@ -374,7 +482,7 @@ func (m *GetUserRegisterAddFriendIDListReq) Reset() { *m = GetUserRegist func (m *GetUserRegisterAddFriendIDListReq) String() string { return proto.CompactTextString(m) } func (*GetUserRegisterAddFriendIDListReq) ProtoMessage() {} func (*GetUserRegisterAddFriendIDListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{7} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{9} } func (m *GetUserRegisterAddFriendIDListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserRegisterAddFriendIDListReq.Unmarshal(m, b) @@ -421,7 +529,7 @@ func (m *GetUserRegisterAddFriendIDListResp) Reset() { *m = GetUserRegis func (m *GetUserRegisterAddFriendIDListResp) String() string { return proto.CompactTextString(m) } func (*GetUserRegisterAddFriendIDListResp) ProtoMessage() {} func (*GetUserRegisterAddFriendIDListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{8} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{10} } func (m *GetUserRegisterAddFriendIDListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserRegisterAddFriendIDListResp.Unmarshal(m, b) @@ -481,7 +589,7 @@ func (m *GetChatLogsReq) Reset() { *m = GetChatLogsReq{} } func (m *GetChatLogsReq) String() string { return proto.CompactTextString(m) } func (*GetChatLogsReq) ProtoMessage() {} func (*GetChatLogsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{9} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{11} } func (m *GetChatLogsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetChatLogsReq.Unmarshal(m, b) @@ -592,7 +700,7 @@ func (m *ChatLog) Reset() { *m = ChatLog{} } func (m *ChatLog) String() string { return proto.CompactTextString(m) } func (*ChatLog) ProtoMessage() {} func (*ChatLog) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{10} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{12} } func (m *ChatLog) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ChatLog.Unmarshal(m, b) @@ -752,7 +860,7 @@ func (m *GetChatLogsResp) Reset() { *m = GetChatLogsResp{} } func (m *GetChatLogsResp) String() string { return proto.CompactTextString(m) } func (*GetChatLogsResp) ProtoMessage() {} func (*GetChatLogsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{11} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{13} } func (m *GetChatLogsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetChatLogsResp.Unmarshal(m, b) @@ -812,7 +920,7 @@ func (m *StatisticsReq) Reset() { *m = StatisticsReq{} } func (m *StatisticsReq) String() string { return proto.CompactTextString(m) } func (*StatisticsReq) ProtoMessage() {} func (*StatisticsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{12} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{14} } func (m *StatisticsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StatisticsReq.Unmarshal(m, b) @@ -858,7 +966,7 @@ func (m *GetActiveUserReq) Reset() { *m = GetActiveUserReq{} } func (m *GetActiveUserReq) String() string { return proto.CompactTextString(m) } func (*GetActiveUserReq) ProtoMessage() {} func (*GetActiveUserReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{13} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{15} } func (m *GetActiveUserReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetActiveUserReq.Unmarshal(m, b) @@ -905,7 +1013,7 @@ func (m *UserResp) Reset() { *m = UserResp{} } func (m *UserResp) String() string { return proto.CompactTextString(m) } func (*UserResp) ProtoMessage() {} func (*UserResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{14} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{16} } func (m *UserResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserResp.Unmarshal(m, b) @@ -958,7 +1066,7 @@ func (m *GetActiveUserResp) Reset() { *m = GetActiveUserResp{} } func (m *GetActiveUserResp) String() string { return proto.CompactTextString(m) } func (*GetActiveUserResp) ProtoMessage() {} func (*GetActiveUserResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{15} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{17} } func (m *GetActiveUserResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetActiveUserResp.Unmarshal(m, b) @@ -1004,7 +1112,7 @@ func (m *GetActiveGroupReq) Reset() { *m = GetActiveGroupReq{} } func (m *GetActiveGroupReq) String() string { return proto.CompactTextString(m) } func (*GetActiveGroupReq) ProtoMessage() {} func (*GetActiveGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{16} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{18} } func (m *GetActiveGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetActiveGroupReq.Unmarshal(m, b) @@ -1052,7 +1160,7 @@ func (m *GroupResp) Reset() { *m = GroupResp{} } func (m *GroupResp) String() string { return proto.CompactTextString(m) } func (*GroupResp) ProtoMessage() {} func (*GroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{17} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{19} } func (m *GroupResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupResp.Unmarshal(m, b) @@ -1112,7 +1220,7 @@ func (m *GetActiveGroupResp) Reset() { *m = GetActiveGroupResp{} } func (m *GetActiveGroupResp) String() string { return proto.CompactTextString(m) } func (*GetActiveGroupResp) ProtoMessage() {} func (*GetActiveGroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{18} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{20} } func (m *GetActiveGroupResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetActiveGroupResp.Unmarshal(m, b) @@ -1158,7 +1266,7 @@ func (m *DateNumList) Reset() { *m = DateNumList{} } func (m *DateNumList) String() string { return proto.CompactTextString(m) } func (*DateNumList) ProtoMessage() {} func (*DateNumList) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{19} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{21} } func (m *DateNumList) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DateNumList.Unmarshal(m, b) @@ -1204,7 +1312,7 @@ func (m *GetMessageStatisticsReq) Reset() { *m = GetMessageStatisticsReq func (m *GetMessageStatisticsReq) String() string { return proto.CompactTextString(m) } func (*GetMessageStatisticsReq) ProtoMessage() {} func (*GetMessageStatisticsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{20} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{22} } func (m *GetMessageStatisticsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMessageStatisticsReq.Unmarshal(m, b) @@ -1253,7 +1361,7 @@ func (m *GetMessageStatisticsResp) Reset() { *m = GetMessageStatisticsRe func (m *GetMessageStatisticsResp) String() string { return proto.CompactTextString(m) } func (*GetMessageStatisticsResp) ProtoMessage() {} func (*GetMessageStatisticsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{21} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{23} } func (m *GetMessageStatisticsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMessageStatisticsResp.Unmarshal(m, b) @@ -1320,7 +1428,7 @@ func (m *GetGroupStatisticsReq) Reset() { *m = GetGroupStatisticsReq{} } func (m *GetGroupStatisticsReq) String() string { return proto.CompactTextString(m) } func (*GetGroupStatisticsReq) ProtoMessage() {} func (*GetGroupStatisticsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{22} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{24} } func (m *GetGroupStatisticsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupStatisticsReq.Unmarshal(m, b) @@ -1369,7 +1477,7 @@ func (m *GetGroupStatisticsResp) Reset() { *m = GetGroupStatisticsResp{} func (m *GetGroupStatisticsResp) String() string { return proto.CompactTextString(m) } func (*GetGroupStatisticsResp) ProtoMessage() {} func (*GetGroupStatisticsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{23} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{25} } func (m *GetGroupStatisticsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupStatisticsResp.Unmarshal(m, b) @@ -1436,7 +1544,7 @@ func (m *GetUserStatisticsReq) Reset() { *m = GetUserStatisticsReq{} } func (m *GetUserStatisticsReq) String() string { return proto.CompactTextString(m) } func (*GetUserStatisticsReq) ProtoMessage() {} func (*GetUserStatisticsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{24} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{26} } func (m *GetUserStatisticsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserStatisticsReq.Unmarshal(m, b) @@ -1487,7 +1595,7 @@ func (m *GetUserStatisticsResp) Reset() { *m = GetUserStatisticsResp{} } func (m *GetUserStatisticsResp) String() string { return proto.CompactTextString(m) } func (*GetUserStatisticsResp) ProtoMessage() {} func (*GetUserStatisticsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{25} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{27} } func (m *GetUserStatisticsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserStatisticsResp.Unmarshal(m, b) @@ -1569,7 +1677,7 @@ func (m *GenerateInvitationCodeReq) Reset() { *m = GenerateInvitationCod func (m *GenerateInvitationCodeReq) String() string { return proto.CompactTextString(m) } func (*GenerateInvitationCodeReq) ProtoMessage() {} func (*GenerateInvitationCodeReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{26} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{28} } func (m *GenerateInvitationCodeReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GenerateInvitationCodeReq.Unmarshal(m, b) @@ -1621,7 +1729,7 @@ func (m *GenerateInvitationCodeResp) Reset() { *m = GenerateInvitationCo func (m *GenerateInvitationCodeResp) String() string { return proto.CompactTextString(m) } func (*GenerateInvitationCodeResp) ProtoMessage() {} func (*GenerateInvitationCodeResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{27} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{29} } func (m *GenerateInvitationCodeResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GenerateInvitationCodeResp.Unmarshal(m, b) @@ -1662,7 +1770,7 @@ func (m *GetInvitationCodesReq) Reset() { *m = GetInvitationCodesReq{} } func (m *GetInvitationCodesReq) String() string { return proto.CompactTextString(m) } func (*GetInvitationCodesReq) ProtoMessage() {} func (*GetInvitationCodesReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{28} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{30} } func (m *GetInvitationCodesReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetInvitationCodesReq.Unmarshal(m, b) @@ -1725,7 +1833,7 @@ func (m *InvitationCode) Reset() { *m = InvitationCode{} } func (m *InvitationCode) String() string { return proto.CompactTextString(m) } func (*InvitationCode) ProtoMessage() {} func (*InvitationCode) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{29} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{31} } func (m *InvitationCode) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_InvitationCode.Unmarshal(m, b) @@ -1793,7 +1901,7 @@ func (m *GetInvitationCodesResp) Reset() { *m = GetInvitationCodesResp{} func (m *GetInvitationCodesResp) String() string { return proto.CompactTextString(m) } func (*GetInvitationCodesResp) ProtoMessage() {} func (*GetInvitationCodesResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{30} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{32} } func (m *GetInvitationCodesResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetInvitationCodesResp.Unmarshal(m, b) @@ -1846,7 +1954,7 @@ func (m *QueryIPRegisterReq) Reset() { *m = QueryIPRegisterReq{} } func (m *QueryIPRegisterReq) String() string { return proto.CompactTextString(m) } func (*QueryIPRegisterReq) ProtoMessage() {} func (*QueryIPRegisterReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{31} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{33} } func (m *QueryIPRegisterReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_QueryIPRegisterReq.Unmarshal(m, b) @@ -1895,7 +2003,7 @@ func (m *QueryIPRegisterResp) Reset() { *m = QueryIPRegisterResp{} } func (m *QueryIPRegisterResp) String() string { return proto.CompactTextString(m) } func (*QueryIPRegisterResp) ProtoMessage() {} func (*QueryIPRegisterResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{32} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{34} } func (m *QueryIPRegisterResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_QueryIPRegisterResp.Unmarshal(m, b) @@ -1963,7 +2071,7 @@ func (m *AddIPLimitReq) Reset() { *m = AddIPLimitReq{} } func (m *AddIPLimitReq) String() string { return proto.CompactTextString(m) } func (*AddIPLimitReq) ProtoMessage() {} func (*AddIPLimitReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{33} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{35} } func (m *AddIPLimitReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AddIPLimitReq.Unmarshal(m, b) @@ -2015,7 +2123,7 @@ func (m *AddIPLimitResp) Reset() { *m = AddIPLimitResp{} } func (m *AddIPLimitResp) String() string { return proto.CompactTextString(m) } func (*AddIPLimitResp) ProtoMessage() {} func (*AddIPLimitResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{34} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{36} } func (m *AddIPLimitResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AddIPLimitResp.Unmarshal(m, b) @@ -2054,7 +2162,7 @@ func (m *RemoveIPLimitReq) Reset() { *m = RemoveIPLimitReq{} } func (m *RemoveIPLimitReq) String() string { return proto.CompactTextString(m) } func (*RemoveIPLimitReq) ProtoMessage() {} func (*RemoveIPLimitReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{35} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{37} } func (m *RemoveIPLimitReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RemoveIPLimitReq.Unmarshal(m, b) @@ -2099,7 +2207,7 @@ func (m *RemoveIPLimitResp) Reset() { *m = RemoveIPLimitResp{} } func (m *RemoveIPLimitResp) String() string { return proto.CompactTextString(m) } func (*RemoveIPLimitResp) ProtoMessage() {} func (*RemoveIPLimitResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{36} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{38} } func (m *RemoveIPLimitResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RemoveIPLimitResp.Unmarshal(m, b) @@ -2138,7 +2246,7 @@ func (m *QueryUserIDIPLimitLoginReq) Reset() { *m = QueryUserIDIPLimitLo func (m *QueryUserIDIPLimitLoginReq) String() string { return proto.CompactTextString(m) } func (*QueryUserIDIPLimitLoginReq) ProtoMessage() {} func (*QueryUserIDIPLimitLoginReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{37} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{39} } func (m *QueryUserIDIPLimitLoginReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_QueryUserIDIPLimitLoginReq.Unmarshal(m, b) @@ -2185,7 +2293,7 @@ func (m *UserIPLimit) Reset() { *m = UserIPLimit{} } func (m *UserIPLimit) String() string { return proto.CompactTextString(m) } func (*UserIPLimit) ProtoMessage() {} func (*UserIPLimit) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{38} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{40} } func (m *UserIPLimit) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserIPLimit.Unmarshal(m, b) @@ -2238,7 +2346,7 @@ func (m *QueryUserIDIPLimitLoginResp) Reset() { *m = QueryUserIDIPLimitL func (m *QueryUserIDIPLimitLoginResp) String() string { return proto.CompactTextString(m) } func (*QueryUserIDIPLimitLoginResp) ProtoMessage() {} func (*QueryUserIDIPLimitLoginResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{39} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{41} } func (m *QueryUserIDIPLimitLoginResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_QueryUserIDIPLimitLoginResp.Unmarshal(m, b) @@ -2285,7 +2393,7 @@ func (m *AddUserIPLimitLoginReq) Reset() { *m = AddUserIPLimitLoginReq{} func (m *AddUserIPLimitLoginReq) String() string { return proto.CompactTextString(m) } func (*AddUserIPLimitLoginReq) ProtoMessage() {} func (*AddUserIPLimitLoginReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{40} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{42} } func (m *AddUserIPLimitLoginReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AddUserIPLimitLoginReq.Unmarshal(m, b) @@ -2337,7 +2445,7 @@ func (m *AddUserIPLimitLoginResp) Reset() { *m = AddUserIPLimitLoginResp func (m *AddUserIPLimitLoginResp) String() string { return proto.CompactTextString(m) } func (*AddUserIPLimitLoginResp) ProtoMessage() {} func (*AddUserIPLimitLoginResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{41} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{43} } func (m *AddUserIPLimitLoginResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AddUserIPLimitLoginResp.Unmarshal(m, b) @@ -2377,7 +2485,7 @@ func (m *RemoveUserIPLimitReq) Reset() { *m = RemoveUserIPLimitReq{} } func (m *RemoveUserIPLimitReq) String() string { return proto.CompactTextString(m) } func (*RemoveUserIPLimitReq) ProtoMessage() {} func (*RemoveUserIPLimitReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{42} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{44} } func (m *RemoveUserIPLimitReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RemoveUserIPLimitReq.Unmarshal(m, b) @@ -2429,7 +2537,7 @@ func (m *RemoveUserIPLimitResp) Reset() { *m = RemoveUserIPLimitResp{} } func (m *RemoveUserIPLimitResp) String() string { return proto.CompactTextString(m) } func (*RemoveUserIPLimitResp) ProtoMessage() {} func (*RemoveUserIPLimitResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{43} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{45} } func (m *RemoveUserIPLimitResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RemoveUserIPLimitResp.Unmarshal(m, b) @@ -2467,7 +2575,7 @@ func (m *GetClientInitConfigReq) Reset() { *m = GetClientInitConfigReq{} func (m *GetClientInitConfigReq) String() string { return proto.CompactTextString(m) } func (*GetClientInitConfigReq) ProtoMessage() {} func (*GetClientInitConfigReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{44} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{46} } func (m *GetClientInitConfigReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetClientInitConfigReq.Unmarshal(m, b) @@ -2505,7 +2613,7 @@ func (m *GetClientInitConfigResp) Reset() { *m = GetClientInitConfigResp func (m *GetClientInitConfigResp) String() string { return proto.CompactTextString(m) } func (*GetClientInitConfigResp) ProtoMessage() {} func (*GetClientInitConfigResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{45} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{47} } func (m *GetClientInitConfigResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetClientInitConfigResp.Unmarshal(m, b) @@ -2544,7 +2652,7 @@ func (m *SetClientInitConfigReq) Reset() { *m = SetClientInitConfigReq{} func (m *SetClientInitConfigReq) String() string { return proto.CompactTextString(m) } func (*SetClientInitConfigReq) ProtoMessage() {} func (*SetClientInitConfigReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{46} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{48} } func (m *SetClientInitConfigReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetClientInitConfigReq.Unmarshal(m, b) @@ -2589,7 +2697,7 @@ func (m *SetClientInitConfigResp) Reset() { *m = SetClientInitConfigResp func (m *SetClientInitConfigResp) String() string { return proto.CompactTextString(m) } func (*SetClientInitConfigResp) ProtoMessage() {} func (*SetClientInitConfigResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{47} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{49} } func (m *SetClientInitConfigResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetClientInitConfigResp.Unmarshal(m, b) @@ -2631,7 +2739,7 @@ func (m *GetUserFriendsReq) Reset() { *m = GetUserFriendsReq{} } func (m *GetUserFriendsReq) String() string { return proto.CompactTextString(m) } func (*GetUserFriendsReq) ProtoMessage() {} func (*GetUserFriendsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{48} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{50} } func (m *GetUserFriendsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserFriendsReq.Unmarshal(m, b) @@ -2700,7 +2808,7 @@ func (m *GetUserFriendsResp) Reset() { *m = GetUserFriendsResp{} } func (m *GetUserFriendsResp) String() string { return proto.CompactTextString(m) } func (*GetUserFriendsResp) ProtoMessage() {} func (*GetUserFriendsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{49} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{51} } func (m *GetUserFriendsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserFriendsResp.Unmarshal(m, b) @@ -2761,7 +2869,7 @@ func (m *GetUserIDByEmailAndPhoneNumberReq) Reset() { *m = GetUserIDByEm func (m *GetUserIDByEmailAndPhoneNumberReq) String() string { return proto.CompactTextString(m) } func (*GetUserIDByEmailAndPhoneNumberReq) ProtoMessage() {} func (*GetUserIDByEmailAndPhoneNumberReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{50} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{52} } func (m *GetUserIDByEmailAndPhoneNumberReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserIDByEmailAndPhoneNumberReq.Unmarshal(m, b) @@ -2814,7 +2922,7 @@ func (m *GetUserIDByEmailAndPhoneNumberResp) Reset() { *m = GetUserIDByE func (m *GetUserIDByEmailAndPhoneNumberResp) String() string { return proto.CompactTextString(m) } func (*GetUserIDByEmailAndPhoneNumberResp) ProtoMessage() {} func (*GetUserIDByEmailAndPhoneNumberResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_ab5a35fab6587b8a, []int{51} + return fileDescriptor_admin_cms_49bc09b1772ecee1, []int{53} } func (m *GetUserIDByEmailAndPhoneNumberResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserIDByEmailAndPhoneNumberResp.Unmarshal(m, b) @@ -2852,6 +2960,8 @@ func init() { proto.RegisterType((*CommonResp)(nil), "admin_cms.CommonResp") proto.RegisterType((*AdminLoginReq)(nil), "admin_cms.AdminLoginReq") proto.RegisterType((*AdminLoginResp)(nil), "admin_cms.AdminLoginResp") + proto.RegisterType((*GetUserTokenReq)(nil), "admin_cms.GetUserTokenReq") + proto.RegisterType((*GetUserTokenResp)(nil), "admin_cms.GetUserTokenResp") proto.RegisterType((*AddUserRegisterAddFriendIDListReq)(nil), "admin_cms.AddUserRegisterAddFriendIDListReq") proto.RegisterType((*AddUserRegisterAddFriendIDListResp)(nil), "admin_cms.AddUserRegisterAddFriendIDListResp") proto.RegisterType((*ReduceUserRegisterAddFriendIDListReq)(nil), "admin_cms.ReduceUserRegisterAddFriendIDListReq") @@ -2936,6 +3046,7 @@ type AdminCMSClient interface { SetClientInitConfig(ctx context.Context, in *SetClientInitConfigReq, opts ...grpc.CallOption) (*SetClientInitConfigResp, error) GetUserFriends(ctx context.Context, in *GetUserFriendsReq, opts ...grpc.CallOption) (*GetUserFriendsResp, error) GetUserIDByEmailAndPhoneNumber(ctx context.Context, in *GetUserIDByEmailAndPhoneNumberReq, opts ...grpc.CallOption) (*GetUserIDByEmailAndPhoneNumberResp, error) + GetUserToken(ctx context.Context, in *GetUserTokenReq, opts ...grpc.CallOption) (*GetUserTokenResp, error) } type adminCMSClient struct { @@ -3144,6 +3255,15 @@ func (c *adminCMSClient) GetUserIDByEmailAndPhoneNumber(ctx context.Context, in return out, nil } +func (c *adminCMSClient) GetUserToken(ctx context.Context, in *GetUserTokenReq, opts ...grpc.CallOption) (*GetUserTokenResp, error) { + out := new(GetUserTokenResp) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/GetUserToken", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // Server API for AdminCMS service type AdminCMSServer interface { @@ -3169,6 +3289,7 @@ type AdminCMSServer interface { SetClientInitConfig(context.Context, *SetClientInitConfigReq) (*SetClientInitConfigResp, error) GetUserFriends(context.Context, *GetUserFriendsReq) (*GetUserFriendsResp, error) GetUserIDByEmailAndPhoneNumber(context.Context, *GetUserIDByEmailAndPhoneNumberReq) (*GetUserIDByEmailAndPhoneNumberResp, error) + GetUserToken(context.Context, *GetUserTokenReq) (*GetUserTokenResp, error) } func RegisterAdminCMSServer(s *grpc.Server, srv AdminCMSServer) { @@ -3571,6 +3692,24 @@ func _AdminCMS_GetUserIDByEmailAndPhoneNumber_Handler(srv interface{}, ctx conte return interceptor(ctx, in, info, handler) } +func _AdminCMS_GetUserToken_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetUserTokenReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AdminCMSServer).GetUserToken(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/admin_cms.adminCMS/GetUserToken", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AdminCMSServer).GetUserToken(ctx, req.(*GetUserTokenReq)) + } + return interceptor(ctx, in, info, handler) +} + var _AdminCMS_serviceDesc = grpc.ServiceDesc{ ServiceName: "admin_cms.adminCMS", HandlerType: (*AdminCMSServer)(nil), @@ -3663,155 +3802,163 @@ var _AdminCMS_serviceDesc = grpc.ServiceDesc{ MethodName: "GetUserIDByEmailAndPhoneNumber", Handler: _AdminCMS_GetUserIDByEmailAndPhoneNumber_Handler, }, + { + MethodName: "GetUserToken", + Handler: _AdminCMS_GetUserToken_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "admin_cms/admin_cms.proto", } func init() { - proto.RegisterFile("admin_cms/admin_cms.proto", fileDescriptor_admin_cms_ab5a35fab6587b8a) + proto.RegisterFile("admin_cms/admin_cms.proto", fileDescriptor_admin_cms_49bc09b1772ecee1) } -var fileDescriptor_admin_cms_ab5a35fab6587b8a = []byte{ - // 2240 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x1a, 0x4d, 0x6f, 0xdb, 0xc8, - 0x15, 0xd4, 0x87, 0x3f, 0x9e, 0xe3, 0xaf, 0xb1, 0xe3, 0xc8, 0xcc, 0x6e, 0x6a, 0xb3, 0xf1, 0xd6, - 0x2d, 0x36, 0x76, 0xe1, 0xa0, 0x97, 0x2d, 0x90, 0xc2, 0xb1, 0x62, 0x55, 0x81, 0xed, 0xa8, 0x54, - 0xb2, 0x40, 0xdb, 0xc5, 0xba, 0x8c, 0x34, 0x56, 0x08, 0x5b, 0xe4, 0x84, 0x43, 0x79, 0x13, 0x2c, - 0xf6, 0xba, 0x97, 0x5e, 0x0a, 0x14, 0xc8, 0xa1, 0xe7, 0xde, 0x7a, 0xe8, 0xa1, 0x40, 0x8f, 0x05, - 0xfa, 0x3b, 0x7a, 0x28, 0x8a, 0xfe, 0x8a, 0xde, 0x8a, 0x99, 0xe1, 0xc7, 0xcc, 0x90, 0x92, 0x18, - 0x3a, 0xc8, 0x4d, 0xef, 0xcd, 0x9b, 0xf7, 0xe6, 0x7d, 0xce, 0x9b, 0x47, 0xc1, 0xa6, 0xd3, 0x1f, - 0xba, 0xde, 0x79, 0x6f, 0x48, 0xf7, 0x93, 0x5f, 0x7b, 0x24, 0xf0, 0x43, 0x1f, 0xcd, 0x27, 0x08, - 0x73, 0xf7, 0x19, 0xc1, 0xde, 0x83, 0xf6, 0xe9, 0x83, 0x2e, 0x0e, 0xae, 0x71, 0xb0, 0x4f, 0x2e, - 0x07, 0xfb, 0x9c, 0x68, 0x9f, 0xf6, 0x2f, 0xcf, 0xbf, 0xa1, 0xfb, 0xdf, 0x44, 0x9b, 0xac, 0x47, - 0x00, 0x47, 0xfe, 0x70, 0xe8, 0x7b, 0x36, 0xa6, 0x04, 0x35, 0x60, 0x16, 0x07, 0xc1, 0x91, 0xdf, - 0xc7, 0x0d, 0x63, 0xcb, 0xd8, 0xad, 0xdb, 0x31, 0x88, 0x36, 0x60, 0x06, 0x07, 0xc1, 0x29, 0x1d, - 0x34, 0x2a, 0x5b, 0xc6, 0xee, 0xbc, 0x1d, 0x41, 0x56, 0x0f, 0x16, 0x0f, 0x99, 0xd8, 0x13, 0x7f, - 0xe0, 0x7a, 0x36, 0x7e, 0x8d, 0xb6, 0x60, 0xc1, 0x27, 0x38, 0x70, 0x42, 0xd7, 0xf7, 0xda, 0x4d, - 0xce, 0x66, 0xde, 0x96, 0x51, 0x4c, 0x08, 0x3f, 0x69, 0xbb, 0x19, 0xf1, 0x8a, 0x41, 0x26, 0x84, - 0xe2, 0x5e, 0x80, 0xc3, 0x46, 0x55, 0x08, 0x11, 0x90, 0xf5, 0x47, 0x03, 0x96, 0x64, 0x29, 0x94, - 0xa0, 0x75, 0xa8, 0x87, 0xfe, 0x25, 0xf6, 0x22, 0x01, 0x02, 0x40, 0x26, 0xcc, 0x8d, 0x28, 0x0e, - 0xce, 0x9c, 0x21, 0x8e, 0x78, 0x27, 0x30, 0x13, 0x7b, 0xe1, 0xf4, 0xf0, 0x0b, 0xfb, 0x24, 0xe2, - 0x1e, 0x83, 0xe8, 0x67, 0x00, 0xbd, 0xc4, 0x06, 0x8d, 0xda, 0x96, 0xb1, 0xbb, 0x70, 0x70, 0x7b, - 0x2f, 0x35, 0x6f, 0x6a, 0x20, 0x5b, 0x22, 0xb4, 0x30, 0x6c, 0x1f, 0xf6, 0xfb, 0x2f, 0x28, 0x0e, - 0x6c, 0x3c, 0x70, 0x69, 0x88, 0x83, 0xc3, 0x7e, 0xff, 0x38, 0x70, 0xb1, 0xd7, 0x6f, 0x37, 0x4f, - 0x5c, 0x1a, 0x16, 0x33, 0xc7, 0x3d, 0x00, 0x76, 0x46, 0xb1, 0xa5, 0x51, 0xd9, 0xaa, 0xee, 0xce, - 0xdb, 0x12, 0xc6, 0xfa, 0x2d, 0x58, 0xd3, 0xc4, 0x50, 0xa2, 0xe9, 0x60, 0x14, 0xd5, 0xe1, 0x7b, - 0x03, 0xee, 0xdb, 0xb8, 0x3f, 0xea, 0xe1, 0x1b, 0xeb, 0xf1, 0x09, 0xcc, 0x27, 0x20, 0x37, 0x7e, - 0xdd, 0x4e, 0x11, 0x9a, 0x96, 0xd5, 0x8c, 0x96, 0x5f, 0xc3, 0x4e, 0x81, 0x73, 0x94, 0x57, 0xf4, - 0xf7, 0x06, 0x6c, 0xb7, 0x70, 0x78, 0x63, 0x2d, 0x9b, 0x00, 0xc4, 0x19, 0xb8, 0x5e, 0xaa, 0xe6, - 0xc2, 0xc1, 0xfd, 0x3d, 0xca, 0xd3, 0xec, 0xdc, 0x21, 0xee, 0x39, 0x71, 0x02, 0x67, 0x48, 0xf7, - 0x6c, 0xfc, 0x7a, 0x84, 0x69, 0xd8, 0x49, 0x68, 0x6d, 0x69, 0x9f, 0xf5, 0x5f, 0x03, 0xac, 0x69, - 0xa7, 0xa1, 0x04, 0xfd, 0x02, 0x6e, 0x71, 0x13, 0x79, 0x17, 0x3e, 0x37, 0x9b, 0xb1, 0x55, 0xdd, - 0x5d, 0x38, 0xb8, 0x9b, 0x23, 0xee, 0x45, 0x44, 0x66, 0x2b, 0x1b, 0xd0, 0x93, 0x9c, 0xd3, 0xee, - 0xe4, 0x9e, 0x96, 0x12, 0xdf, 0xa3, 0x38, 0xff, 0xb8, 0x9a, 0xcd, 0xab, 0x45, 0x6d, 0xfe, 0x8f, - 0x0a, 0x2c, 0xb5, 0x70, 0x78, 0xf4, 0xca, 0x09, 0x4f, 0xfc, 0x01, 0x65, 0x06, 0x6e, 0xc0, 0x6c, - 0xcf, 0xf7, 0x42, 0xec, 0x85, 0x91, 0x71, 0x63, 0x50, 0xe4, 0x3e, 0xd3, 0x3e, 0x2e, 0x30, 0x02, - 0x62, 0xf8, 0x00, 0xf7, 0xae, 0xdb, 0xcd, 0xb8, 0x26, 0x08, 0x88, 0xa5, 0x3a, 0xa3, 0x78, 0xee, - 0x0e, 0x31, 0x4f, 0xd9, 0x79, 0x3b, 0x81, 0x99, 0x1b, 0x29, 0xa6, 0xd4, 0xf5, 0xbd, 0xe7, 0x6f, - 0x09, 0x6e, 0xd4, 0x79, 0x30, 0xca, 0x28, 0x46, 0x11, 0x09, 0xe6, 0x14, 0x33, 0x82, 0x42, 0x42, - 0x69, 0x8e, 0x9e, 0x2d, 0xe7, 0x68, 0x3d, 0xa0, 0xe6, 0xb2, 0x01, 0x65, 0xc2, 0x9c, 0x4f, 0xb8, - 0xfb, 0x9a, 0x8d, 0x79, 0xa1, 0x47, 0x0c, 0x5b, 0x7f, 0xad, 0xc1, 0x6c, 0x64, 0x3d, 0xa1, 0x13, - 0x13, 0x7e, 0x4a, 0x07, 0x69, 0x68, 0x4a, 0x28, 0xae, 0xd3, 0x95, 0x8b, 0xbd, 0x50, 0x50, 0x08, - 0x33, 0xca, 0x28, 0xc9, 0xc6, 0xd5, 0x31, 0x36, 0xae, 0x29, 0x36, 0x6e, 0xc0, 0xec, 0x20, 0xf0, - 0x47, 0xa4, 0xdd, 0xe4, 0x36, 0x9c, 0xb7, 0x63, 0x10, 0x59, 0x70, 0x8b, 0xd1, 0x9c, 0xb9, 0xbd, - 0x4b, 0x8f, 0x15, 0xdb, 0x19, 0xbe, 0xac, 0xe0, 0xd0, 0x4f, 0x60, 0x85, 0xf1, 0xc7, 0x41, 0xe7, - 0xca, 0x09, 0x2f, 0xfc, 0x60, 0xd8, 0x6e, 0x72, 0x3b, 0xd6, 0xed, 0x0c, 0x1e, 0x7d, 0x06, 0x4b, - 0x02, 0x97, 0x70, 0x14, 0xa6, 0xd2, 0xb0, 0xe8, 0x3e, 0x2c, 0x0a, 0xcc, 0x71, 0x54, 0xca, 0x85, - 0xc9, 0x54, 0x24, 0x2b, 0x45, 0xfc, 0xa0, 0xfc, 0x1e, 0x00, 0x4e, 0x91, 0x22, 0xf4, 0xe8, 0x58, - 0xc8, 0x46, 0x47, 0x03, 0x66, 0x87, 0x74, 0x70, 0x1c, 0xf8, 0xc3, 0xc6, 0x2d, 0x71, 0x0d, 0x46, - 0xa0, 0x1e, 0x37, 0x8b, 0xd9, 0xb8, 0x91, 0x22, 0x7c, 0x29, 0x1b, 0xe1, 0xa1, 0x13, 0x8e, 0x68, - 0x63, 0x99, 0x6f, 0x8b, 0x20, 0x25, 0x92, 0x57, 0xb6, 0x8c, 0xdd, 0xaa, 0x14, 0xc9, 0xf7, 0x00, - 0x7a, 0x01, 0x76, 0x42, 0xcc, 0x57, 0x57, 0xf9, 0xaa, 0x84, 0x41, 0x4b, 0x50, 0xc1, 0x6f, 0x1a, - 0x88, 0x0b, 0xaa, 0xe0, 0x37, 0xd6, 0x7f, 0x0c, 0x58, 0x56, 0x52, 0x8e, 0x12, 0xb4, 0x07, 0x73, - 0xbd, 0x08, 0x8e, 0x2a, 0x08, 0x92, 0x73, 0x57, 0x2c, 0xd9, 0x09, 0xcd, 0x87, 0x2a, 0x1a, 0xcc, - 0x54, 0x11, 0xcb, 0xb3, 0xd1, 0x90, 0x47, 0x1c, 0x33, 0x55, 0x8a, 0x2a, 0x7b, 0xef, 0x3e, 0x84, - 0xc5, 0x6e, 0xe8, 0x84, 0x2e, 0x0d, 0xdd, 0x1e, 0x2f, 0x2a, 0x08, 0x6a, 0x17, 0xcc, 0x57, 0x22, - 0x27, 0xf8, 0x6f, 0x66, 0x98, 0xd0, 0x8f, 0x72, 0xa0, 0x12, 0xfa, 0x56, 0x08, 0x2b, 0x2d, 0x1c, - 0x1e, 0xf6, 0x42, 0xf7, 0x3a, 0xba, 0x62, 0x5e, 0xa3, 0x47, 0xb0, 0x48, 0x65, 0x46, 0xd1, 0x6d, - 0xd2, 0x90, 0x8e, 0xa0, 0x08, 0xb2, 0x55, 0x72, 0x3d, 0xb9, 0x2b, 0x99, 0xe4, 0xb6, 0xbe, 0x86, - 0x39, 0x21, 0x8c, 0x12, 0xe6, 0x66, 0xcf, 0xed, 0x5d, 0xf2, 0x98, 0x14, 0x27, 0x4d, 0x60, 0x16, - 0x1a, 0xe2, 0x2e, 0x8c, 0x8b, 0x9f, 0x80, 0x98, 0xfb, 0x87, 0x98, 0x52, 0x67, 0x80, 0x53, 0x13, - 0x4a, 0x18, 0x6b, 0x04, 0xab, 0x9a, 0x56, 0x94, 0xa0, 0x1f, 0x43, 0x9d, 0xfd, 0x8e, 0x9d, 0xbd, - 0x26, 0xa9, 0x13, 0xd3, 0xd8, 0x82, 0x42, 0xf3, 0x40, 0xa5, 0xa8, 0x07, 0x64, 0xb1, 0x2d, 0x96, - 0x57, 0x1f, 0xc7, 0x9a, 0x7f, 0x32, 0x60, 0x3e, 0x12, 0x47, 0x09, 0x4b, 0xf2, 0x56, 0x92, 0xe4, - 0xc2, 0xa0, 0x29, 0x82, 0xa5, 0x21, 0x07, 0xda, 0xfd, 0xb8, 0xc9, 0x8c, 0x40, 0x66, 0xd3, 0xd3, - 0x8c, 0x4d, 0x53, 0x4c, 0xd9, 0xa8, 0x7c, 0x0b, 0x48, 0xb7, 0x09, 0x25, 0xe8, 0x73, 0x98, 0xe1, - 0x40, 0xec, 0x8c, 0x75, 0x89, 0x51, 0x42, 0x65, 0x47, 0x34, 0x65, 0xdd, 0xf1, 0x10, 0x16, 0x9a, - 0x4e, 0xc8, 0x0e, 0xcf, 0x2f, 0x7d, 0x04, 0x35, 0x06, 0xc6, 0xe9, 0xc0, 0x7e, 0xa3, 0x15, 0xa8, - 0x32, 0x6d, 0x45, 0x5b, 0xc6, 0x7e, 0x5a, 0xdf, 0xc2, 0x9d, 0x16, 0x0e, 0x23, 0xbd, 0xd5, 0x7c, - 0x7a, 0xa4, 0x25, 0xd8, 0x74, 0x4f, 0x76, 0x75, 0x4f, 0x3e, 0xcb, 0x7a, 0x52, 0x42, 0x59, 0xff, - 0xac, 0x40, 0x23, 0x5f, 0x3a, 0xb7, 0xd9, 0x6a, 0x27, 0x70, 0xaf, 0x9d, 0x10, 0x4b, 0x7e, 0x12, - 0xcf, 0x91, 0xec, 0x02, 0xda, 0x85, 0x65, 0x6e, 0x3d, 0x89, 0x56, 0x68, 0xa9, 0xa3, 0xd1, 0x09, - 0xdc, 0xce, 0x6c, 0x4f, 0xba, 0xd1, 0x85, 0x83, 0x0d, 0x49, 0x3d, 0xc9, 0x9c, 0x76, 0xfe, 0x26, - 0xf4, 0x4b, 0x58, 0xd3, 0x04, 0x70, 0x5e, 0xb5, 0x89, 0xbc, 0xf2, 0xb6, 0x68, 0x5e, 0xaf, 0x17, - 0x0f, 0xb8, 0xdb, 0x2d, 0x1c, 0x72, 0x86, 0x1f, 0xdb, 0x7d, 0x7f, 0xab, 0xc0, 0x46, 0x9e, 0x6c, - 0x4a, 0xd8, 0xa5, 0xdf, 0xf6, 0xd8, 0x05, 0x45, 0x45, 0x16, 0xa4, 0xbe, 0xcb, 0xe0, 0xd9, 0x65, - 0xfe, 0xdc, 0x0f, 0x9d, 0xab, 0x84, 0x50, 0x38, 0x4e, 0x45, 0xa2, 0xa7, 0xb0, 0xae, 0xef, 0x2c, - 0xe0, 0xb5, 0xdc, 0x3d, 0xa8, 0x09, 0xab, 0x0a, 0xf3, 0x02, 0x2e, 0xcb, 0x6e, 0x28, 0xeb, 0xb0, - 0x37, 0xb0, 0x1e, 0xf5, 0xfc, 0x1f, 0xdb, 0x5f, 0xef, 0xaa, 0x3c, 0x56, 0x74, 0xd1, 0x94, 0xb0, - 0xec, 0x89, 0x0d, 0xc5, 0x56, 0x53, 0x6f, 0xe9, 0x68, 0xe6, 0xac, 0xf4, 0x9e, 0x91, 0x9c, 0xa5, - 0x20, 0x59, 0x5f, 0xc8, 0xed, 0x15, 0x13, 0x89, 0xf2, 0xaa, 0xe0, 0x58, 0xe6, 0x68, 0xcc, 0x8b, - 0x64, 0x4e, 0xce, 0x16, 0xe6, 0x4e, 0x45, 0x3c, 0xe7, 0x53, 0x9f, 0xec, 0xce, 0xcc, 0x06, 0xf4, - 0x18, 0x56, 0xe4, 0xf3, 0x71, 0x26, 0x33, 0x13, 0x99, 0x64, 0xe8, 0xb5, 0x90, 0x98, 0x2d, 0x1a, - 0x12, 0xaf, 0x61, 0xb3, 0x85, 0x3d, 0xe6, 0x28, 0xdc, 0xf6, 0xae, 0xdd, 0x90, 0x3b, 0xec, 0xc8, - 0xef, 0xe3, 0xc2, 0x93, 0x94, 0x9e, 0xdf, 0xc7, 0x27, 0x38, 0x7e, 0x70, 0xc7, 0x60, 0xbc, 0x92, - 0xba, 0x20, 0x06, 0xad, 0x2e, 0x98, 0xe3, 0x44, 0x96, 0x7f, 0x5d, 0xff, 0xc5, 0xe0, 0x01, 0xa6, - 0x32, 0xa4, 0xc5, 0x94, 0x40, 0x50, 0x63, 0x67, 0x8b, 0xe2, 0x96, 0xff, 0x96, 0x5a, 0xe5, 0xaa, - 0xd2, 0x2a, 0xab, 0x8f, 0xb2, 0x5a, 0xc9, 0xd7, 0xf7, 0x9f, 0x0d, 0x58, 0x72, 0x95, 0xa3, 0xb2, - 0xf7, 0x87, 0x8a, 0x89, 0x4e, 0xaa, 0xd3, 0xa9, 0xfd, 0xb8, 0x30, 0xba, 0xdc, 0x8f, 0x9b, 0x30, - 0x77, 0xe5, 0xd0, 0x90, 0xaf, 0x8a, 0xa3, 0x27, 0xb0, 0xd4, 0xe4, 0xd5, 0x94, 0x26, 0x2f, 0x55, - 0xb6, 0x2e, 0x2b, 0x6b, 0xfd, 0xcb, 0xe0, 0x55, 0x36, 0x63, 0x54, 0x4a, 0xd0, 0x11, 0x2c, 0xab, - 0x07, 0x8b, 0xfb, 0x8b, 0x4d, 0xc9, 0x57, 0x2a, 0x85, 0xad, 0xef, 0x60, 0x7d, 0x7e, 0xa7, 0x6c, - 0x9f, 0xdf, 0xb9, 0xf1, 0x70, 0xe0, 0x18, 0xd0, 0xaf, 0x46, 0x38, 0x78, 0xdb, 0xee, 0xc4, 0x13, - 0x90, 0x62, 0xe1, 0xb2, 0x04, 0x95, 0x76, 0x27, 0x6e, 0xec, 0xdb, 0x1d, 0xeb, 0xef, 0x06, 0xac, - 0x65, 0x18, 0x51, 0x12, 0xd1, 0x19, 0x31, 0x1d, 0xe3, 0x1c, 0xaf, 0xa7, 0xd5, 0x4b, 0x46, 0x31, - 0x3f, 0x74, 0x95, 0xa0, 0x13, 0x90, 0x36, 0xba, 0xaa, 0xe9, 0xa3, 0xab, 0xb2, 0xd7, 0xc1, 0x39, - 0x2c, 0x1e, 0xf6, 0xfb, 0xed, 0xce, 0x89, 0x3b, 0x74, 0xc3, 0x52, 0xba, 0xb3, 0x16, 0xf8, 0x8a, - 0xed, 0x96, 0xc2, 0x2d, 0x45, 0x58, 0x2d, 0x58, 0x92, 0x05, 0x94, 0xcf, 0xee, 0x26, 0xac, 0xd8, - 0x78, 0xe8, 0x5f, 0xe3, 0x9b, 0x1c, 0xd6, 0x7a, 0x0a, 0xab, 0x1a, 0x97, 0xf2, 0x27, 0xfa, 0x12, - 0x4c, 0xee, 0x73, 0x31, 0x27, 0x89, 0x18, 0xbe, 0xc7, 0x08, 0x7a, 0xcc, 0x7b, 0xcb, 0x7a, 0x01, - 0x0b, 0x9c, 0xa5, 0x60, 0x28, 0x91, 0x19, 0x4a, 0xc6, 0xea, 0x7e, 0x50, 0xab, 0x42, 0x55, 0xaf, - 0x0a, 0xd6, 0x1f, 0x0c, 0xb8, 0x3b, 0xf6, 0xbc, 0x94, 0xa0, 0x2f, 0xe0, 0x96, 0x24, 0x36, 0xce, - 0xe5, 0x0d, 0xed, 0xe1, 0x16, 0xdb, 0x4d, 0xa1, 0x2d, 0xfb, 0x66, 0x78, 0x09, 0x1b, 0xd1, 0x54, - 0x59, 0xb7, 0xde, 0x38, 0xa5, 0xa7, 0xbe, 0xcf, 0x22, 0xb3, 0x54, 0x13, 0x8f, 0x77, 0xe0, 0x4e, - 0xae, 0x8c, 0xf2, 0x7e, 0xff, 0x1d, 0xac, 0x8b, 0x18, 0x92, 0xed, 0xf1, 0x41, 0xcf, 0x7c, 0x06, - 0xb7, 0x73, 0x24, 0x94, 0x3f, 0xf1, 0x17, 0xbc, 0x86, 0x1f, 0xf1, 0x21, 0x5c, 0xdb, 0x73, 0xc3, - 0x23, 0xdf, 0xbb, 0x70, 0x07, 0x85, 0xa2, 0x94, 0xd9, 0x2f, 0x77, 0x6f, 0xf9, 0xd3, 0xf4, 0x61, - 0xa3, 0x5b, 0xf2, 0x34, 0xac, 0x55, 0xec, 0xbb, 0xb4, 0xe7, 0x5f, 0xe3, 0xa0, 0xe3, 0x0c, 0xf8, - 0xf0, 0x4d, 0xd8, 0x53, 0x47, 0xb3, 0x73, 0x77, 0x3f, 0xec, 0xb9, 0xff, 0x6d, 0xf0, 0x89, 0x03, - 0xf3, 0x89, 0x18, 0x92, 0xd3, 0x1b, 0xe5, 0x39, 0x6b, 0x53, 0x2f, 0x38, 0x9f, 0x68, 0xf0, 0x2a, - 0xfc, 0xaf, 0xe0, 0x58, 0x4b, 0x90, 0xc2, 0x7c, 0xc8, 0x20, 0xae, 0x6d, 0x0d, 0xab, 0xf5, 0x24, - 0xf5, 0x92, 0x3d, 0xc9, 0xff, 0x0c, 0x3e, 0x3f, 0x50, 0x34, 0xa4, 0x44, 0x9b, 0xc5, 0x19, 0x65, - 0x67, 0x71, 0x4f, 0x62, 0x5d, 0x92, 0x4f, 0x09, 0x15, 0x5e, 0x62, 0x3e, 0xcd, 0x61, 0x75, 0x9c, - 0x10, 0xda, 0xda, 0x26, 0x56, 0xe7, 0x04, 0xe6, 0x6c, 0x34, 0x8c, 0x6f, 0x49, 0x09, 0x53, 0x76, - 0x74, 0xf2, 0x5d, 0xf2, 0x69, 0xa6, 0xdd, 0x7c, 0xfc, 0xf6, 0xc9, 0xd0, 0x71, 0xaf, 0x0e, 0xbd, - 0x7e, 0xe7, 0x95, 0xef, 0xb1, 0x8e, 0xf5, 0x65, 0xd1, 0xce, 0x60, 0x1d, 0xea, 0x98, 0xed, 0x8d, - 0x7c, 0x2d, 0x00, 0xb6, 0x8f, 0xa4, 0x9c, 0x22, 0x4f, 0xcb, 0x28, 0xeb, 0xdb, 0xe4, 0x5b, 0xcc, - 0x58, 0xf1, 0x94, 0x68, 0x5d, 0x80, 0x31, 0xa5, 0x0b, 0x28, 0x5a, 0x87, 0x0f, 0xde, 0xad, 0xc0, - 0x1c, 0x27, 0x3a, 0x3a, 0xed, 0xa2, 0x43, 0x80, 0xf4, 0x33, 0x27, 0x92, 0x1f, 0x80, 0xca, 0x37, - 0x56, 0x73, 0x73, 0xcc, 0x0a, 0x25, 0xe8, 0x3b, 0xb8, 0x37, 0xf9, 0x6b, 0x21, 0xfa, 0x5c, 0xd9, - 0x3c, 0xe5, 0xfb, 0xa5, 0xf9, 0xe0, 0x3d, 0xa8, 0x29, 0x41, 0xdf, 0x1b, 0xb0, 0x3d, 0xf5, 0x3b, - 0x1e, 0xda, 0x97, 0x98, 0x16, 0xf9, 0xfa, 0x68, 0xfe, 0xf4, 0xfd, 0x36, 0x08, 0x3b, 0x4c, 0xfe, - 0xc0, 0xa6, 0xd8, 0x61, 0xea, 0x97, 0x41, 0xc5, 0x0e, 0x05, 0xbe, 0xdc, 0x35, 0x61, 0x41, 0x1a, - 0xc3, 0xa3, 0x4d, 0x75, 0xb7, 0xf4, 0x45, 0xcc, 0x34, 0xc7, 0x2d, 0x51, 0x82, 0x9e, 0xc2, 0xa2, - 0x32, 0xde, 0x45, 0x77, 0x55, 0x62, 0x65, 0x9c, 0x6d, 0x7e, 0x32, 0x7e, 0x91, 0x12, 0x74, 0xca, - 0xbf, 0xc5, 0x49, 0xf3, 0x49, 0x94, 0x4b, 0x1f, 0x8f, 0x73, 0xcd, 0x4f, 0x27, 0xac, 0x52, 0x82, - 0xce, 0xf9, 0x30, 0x23, 0x33, 0xc0, 0x43, 0x96, 0xba, 0x2d, 0x6f, 0xbe, 0x68, 0xfe, 0x70, 0x2a, - 0x0d, 0x25, 0xe8, 0xd7, 0xbc, 0x1e, 0x6a, 0x23, 0x26, 0xb4, 0xa5, 0x6e, 0xcd, 0x4e, 0xbf, 0xcc, - 0xed, 0x29, 0x14, 0x94, 0xa0, 0x2f, 0x93, 0xcb, 0x44, 0xe2, 0xfc, 0x83, 0xac, 0x83, 0x55, 0xc6, - 0x5b, 0x93, 0x09, 0x28, 0x41, 0x98, 0xdd, 0xf5, 0x79, 0x4f, 0x6b, 0x74, 0x5f, 0xd9, 0x3b, 0xe6, - 0xc1, 0x6f, 0xee, 0x14, 0xa0, 0x4a, 0x2c, 0xa3, 0x3d, 0x0b, 0x75, 0xcb, 0x64, 0x9f, 0xe2, 0xba, - 0x65, 0xf2, 0xde, 0x95, 0x1d, 0x58, 0xd6, 0xde, 0x52, 0x48, 0x8e, 0x83, 0xec, 0x83, 0xcd, 0xbc, - 0x37, 0x69, 0x99, 0x12, 0x51, 0xd2, 0xe2, 0x47, 0x88, 0x56, 0xd2, 0xa4, 0xc7, 0x8f, 0x56, 0xd2, - 0x94, 0x57, 0xcb, 0x53, 0x58, 0x54, 0x1e, 0x0e, 0x4a, 0x16, 0xe8, 0x0f, 0x13, 0x25, 0x0b, 0xb2, - 0xef, 0x8d, 0x57, 0x70, 0x67, 0x4c, 0x23, 0x8e, 0x76, 0x74, 0x4d, 0x72, 0x1f, 0x17, 0xe6, 0x67, - 0x45, 0xc8, 0x28, 0x41, 0x5f, 0xc1, 0x5a, 0x4e, 0xf3, 0x8b, 0xb6, 0xb3, 0xf5, 0x54, 0x97, 0x60, - 0x4d, 0x23, 0x11, 0x21, 0x9c, 0x69, 0x53, 0x95, 0x10, 0xce, 0x6b, 0x93, 0x95, 0x10, 0xce, 0xef, - 0x72, 0xbf, 0x82, 0xb5, 0x9c, 0x96, 0x13, 0x69, 0xa1, 0x93, 0xd3, 0x40, 0x9a, 0xd6, 0x34, 0x12, - 0xc1, 0xbd, 0x3b, 0x85, 0x7b, 0x77, 0x3a, 0xf7, 0x71, 0xbd, 0xa5, 0xa8, 0x70, 0x52, 0x07, 0xa5, - 0x57, 0x38, 0xb5, 0x7d, 0xd4, 0x2b, 0x9c, 0xde, 0x7a, 0xa5, 0x37, 0xc8, 0x98, 0xb6, 0x20, 0xef, - 0x06, 0x19, 0xdf, 0xc0, 0xe4, 0xdd, 0x20, 0x13, 0xfa, 0x8d, 0xc7, 0x3f, 0xfa, 0xcd, 0xce, 0x33, - 0x82, 0xbd, 0xf3, 0xf6, 0xa9, 0xf4, 0xef, 0xad, 0x84, 0xc3, 0xcf, 0x93, 0x5f, 0x2f, 0x67, 0xf8, - 0xd2, 0xc3, 0xff, 0x07, 0x00, 0x00, 0xff, 0xff, 0x6d, 0x13, 0xb4, 0xc1, 0x1a, 0x26, 0x00, 0x00, +var fileDescriptor_admin_cms_49bc09b1772ecee1 = []byte{ + // 2301 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x1a, 0x4d, 0x6f, 0x1c, 0x49, + 0x55, 0x3d, 0x1f, 0xfe, 0x78, 0xfe, 0x2e, 0x3b, 0xce, 0xb8, 0xb3, 0x6b, 0xec, 0x26, 0x5e, 0x0c, + 0xda, 0xd8, 0xc8, 0x11, 0x97, 0x45, 0x0a, 0x72, 0x3c, 0xb1, 0x99, 0xc8, 0x76, 0x86, 0x9e, 0x78, + 0x25, 0x60, 0xb5, 0xa6, 0x33, 0x53, 0x9e, 0xb4, 0xec, 0xe9, 0xae, 0x74, 0xb5, 0xbd, 0xb1, 0x56, + 0x7b, 0xdd, 0x0b, 0x17, 0x24, 0x24, 0x0e, 0x9c, 0xb9, 0x71, 0xe0, 0x80, 0xc4, 0x11, 0x89, 0xdf, + 0xc1, 0x21, 0x42, 0xfc, 0x0a, 0x6e, 0xa8, 0xaa, 0xfa, 0xa3, 0xaa, 0xba, 0x67, 0xa6, 0xd3, 0x8e, + 0x72, 0x9b, 0xf7, 0xfa, 0xd5, 0xfb, 0xae, 0x57, 0xaf, 0x5e, 0x0d, 0xac, 0x39, 0xbd, 0x81, 0xeb, + 0x9d, 0x77, 0x07, 0x74, 0x37, 0xf9, 0xb5, 0x43, 0x02, 0x3f, 0xf4, 0xd1, 0x74, 0x82, 0x30, 0xb7, + 0x5f, 0x10, 0xec, 0x3d, 0x6a, 0x9d, 0x3c, 0xea, 0xe0, 0xe0, 0x06, 0x07, 0xbb, 0xe4, 0xb2, 0xbf, + 0xcb, 0x89, 0x76, 0x69, 0xef, 0xf2, 0xfc, 0x1b, 0xba, 0xfb, 0x4d, 0xb4, 0xc8, 0x7a, 0x02, 0x70, + 0xe0, 0x0f, 0x06, 0xbe, 0x67, 0x63, 0x4a, 0x50, 0x03, 0x26, 0x71, 0x10, 0x1c, 0xf8, 0x3d, 0xdc, + 0x30, 0x36, 0x8c, 0xed, 0xba, 0x1d, 0x83, 0x68, 0x15, 0x26, 0x70, 0x10, 0x9c, 0xd0, 0x7e, 0xa3, + 0xb2, 0x61, 0x6c, 0x4f, 0xdb, 0x11, 0x64, 0x75, 0x61, 0x6e, 0x9f, 0x89, 0x3d, 0xf6, 0xfb, 0xae, + 0x67, 0xe3, 0x37, 0x68, 0x03, 0x66, 0x7c, 0x82, 0x03, 0x27, 0x74, 0x7d, 0xaf, 0xd5, 0xe4, 0x6c, + 0xa6, 0x6d, 0x19, 0xc5, 0x84, 0x70, 0x4d, 0x5b, 0xcd, 0x88, 0x57, 0x0c, 0x32, 0x21, 0x14, 0x77, + 0x03, 0x1c, 0x36, 0xaa, 0x42, 0x88, 0x80, 0xac, 0x3f, 0x1a, 0x30, 0x2f, 0x4b, 0xa1, 0x04, 0xad, + 0x40, 0x3d, 0xf4, 0x2f, 0xb1, 0x17, 0x09, 0x10, 0x00, 0x32, 0x61, 0xea, 0x9a, 0xe2, 0xe0, 0xd4, + 0x19, 0xe0, 0x88, 0x77, 0x02, 0x33, 0xb1, 0x17, 0x4e, 0x17, 0x9f, 0xd9, 0xc7, 0x11, 0xf7, 0x18, + 0x44, 0x3f, 0x03, 0xe8, 0x26, 0x3e, 0x68, 0xd4, 0x36, 0x8c, 0xed, 0x99, 0xbd, 0x7b, 0x3b, 0xa9, + 0x7b, 0x53, 0x07, 0xd9, 0x12, 0xa1, 0x75, 0x09, 0x0b, 0x47, 0x38, 0x3c, 0xa3, 0x38, 0x78, 0xc9, + 0x84, 0x17, 0x33, 0x7e, 0x15, 0x26, 0x98, 0x46, 0x89, 0xed, 0x11, 0x84, 0xd6, 0x01, 0xc8, 0x95, + 0x13, 0x5e, 0xf8, 0xc1, 0xa0, 0xd5, 0xe4, 0x0a, 0xd6, 0x6d, 0x09, 0x63, 0xdd, 0xc2, 0xa2, 0x2a, + 0x8c, 0x12, 0x4d, 0x6f, 0xa3, 0xa0, 0xde, 0xa9, 0xeb, 0x2a, 0xb2, 0xeb, 0x58, 0xe8, 0xdf, 0x92, + 0x97, 0xee, 0x00, 0x73, 0xe9, 0x55, 0x3b, 0x06, 0x2d, 0x0c, 0x9b, 0xfb, 0xbd, 0x1e, 0x13, 0x6d, + 0xe3, 0xbe, 0x4b, 0x43, 0x1c, 0xec, 0xf7, 0x7a, 0x87, 0x81, 0x8b, 0xbd, 0x5e, 0xab, 0x79, 0xec, + 0xd2, 0xb0, 0x98, 0xe5, 0xeb, 0x00, 0xc2, 0x56, 0xb6, 0xa4, 0x51, 0xd9, 0xa8, 0x6e, 0x4f, 0xdb, + 0x12, 0xc6, 0xfa, 0x2d, 0x58, 0xe3, 0xc4, 0x94, 0xb6, 0xd9, 0xfa, 0xde, 0x80, 0x87, 0x36, 0xee, + 0x5d, 0x77, 0xf1, 0x9d, 0xed, 0xf8, 0x04, 0xa6, 0x13, 0x90, 0xbb, 0xb0, 0x6e, 0xa7, 0x08, 0xcd, + 0xca, 0x6a, 0xc6, 0xca, 0xaf, 0x61, 0xab, 0x80, 0x1e, 0xe5, 0x0d, 0xfd, 0xbd, 0x01, 0x9b, 0x51, + 0xa2, 0xdc, 0xc9, 0xca, 0x26, 0x00, 0x71, 0xfa, 0xae, 0x97, 0x9a, 0x39, 0xb3, 0xf7, 0x70, 0x87, + 0xf2, 0x72, 0x72, 0xee, 0x10, 0xf7, 0x9c, 0x38, 0x81, 0x33, 0xa0, 0x3b, 0x36, 0x7e, 0x73, 0x8d, + 0x69, 0xd8, 0x4e, 0x68, 0x6d, 0x69, 0x9d, 0xf5, 0x5f, 0x03, 0xac, 0x71, 0xda, 0x50, 0x82, 0x7e, + 0x01, 0xb3, 0xdc, 0x45, 0xde, 0x85, 0xcf, 0xdd, 0x66, 0x6c, 0x54, 0xb7, 0x67, 0xf6, 0x1e, 0xe4, + 0x88, 0x3b, 0x8b, 0xc8, 0x6c, 0x65, 0x01, 0x7a, 0x96, 0xa3, 0xed, 0x56, 0xae, 0xb6, 0x94, 0xf8, + 0x1e, 0xc5, 0xf9, 0xea, 0x6a, 0x3e, 0xaf, 0x16, 0xf5, 0xf9, 0x3f, 0x2b, 0x30, 0x7f, 0x84, 0xc3, + 0x83, 0xd7, 0x4e, 0x78, 0xec, 0xf7, 0x29, 0x73, 0x70, 0x03, 0x26, 0xbb, 0xbe, 0x17, 0x62, 0x2f, + 0x8c, 0x9c, 0x1b, 0x83, 0xa2, 0xc6, 0x31, 0xeb, 0xe3, 0x02, 0x20, 0x20, 0x86, 0x0f, 0x70, 0xf7, + 0x26, 0xda, 0xfc, 0xd3, 0x76, 0x04, 0xb1, 0x92, 0xc6, 0x28, 0xf8, 0xc6, 0xac, 0x89, 0x92, 0x16, + 0xc3, 0x2c, 0x8c, 0x14, 0x53, 0xea, 0xfa, 0xde, 0xcb, 0x5b, 0x82, 0x1b, 0x75, 0x9e, 0x8c, 0x32, + 0x8a, 0x51, 0x44, 0x82, 0x39, 0xc5, 0x84, 0xa0, 0x90, 0x50, 0x5a, 0xa0, 0x27, 0xcb, 0x05, 0x5a, + 0x4f, 0xa8, 0xa9, 0x6c, 0x42, 0x99, 0x30, 0xe5, 0x93, 0x33, 0x51, 0xfa, 0xa6, 0x85, 0x1d, 0x31, + 0x6c, 0xfd, 0xad, 0x06, 0x93, 0x91, 0xf7, 0x84, 0x4d, 0x4c, 0xf8, 0x09, 0xed, 0xa7, 0xa9, 0x29, + 0xa1, 0xb8, 0x4d, 0x57, 0x2e, 0xf6, 0x42, 0x41, 0x21, 0xdc, 0x28, 0xa3, 0x24, 0x1f, 0x57, 0x87, + 0xf8, 0xb8, 0xa6, 0xf8, 0xb8, 0x01, 0x93, 0xfd, 0xc0, 0xbf, 0x26, 0xad, 0x26, 0xf7, 0xe1, 0xb4, + 0x1d, 0x83, 0xc8, 0x82, 0x59, 0x46, 0x73, 0xea, 0x76, 0x2f, 0x3d, 0x76, 0xa8, 0x4c, 0xf0, 0xcf, + 0x0a, 0x0e, 0xfd, 0x04, 0x16, 0x19, 0x7f, 0x1c, 0xb4, 0xd3, 0x02, 0x3e, 0xc9, 0x1d, 0x9d, 0xc1, + 0xa3, 0xcf, 0x60, 0x5e, 0xe0, 0x12, 0x8e, 0xc2, 0x55, 0x1a, 0x16, 0x3d, 0x84, 0x39, 0x81, 0x39, + 0x8c, 0x8e, 0x2c, 0xe1, 0x32, 0x15, 0xc9, 0x4a, 0x11, 0x57, 0x94, 0x9f, 0x77, 0xc0, 0x29, 0x52, + 0x84, 0x9e, 0x1d, 0x33, 0xd9, 0xec, 0x68, 0xc0, 0xe4, 0x80, 0xf6, 0x0f, 0x03, 0x7f, 0xd0, 0x98, + 0x15, 0xc7, 0x7d, 0x04, 0xea, 0x79, 0x33, 0x97, 0xcd, 0x1b, 0x29, 0xc3, 0xe7, 0xb3, 0x19, 0x1e, + 0x3a, 0xe1, 0x35, 0x6d, 0x2c, 0xf0, 0x65, 0x11, 0xa4, 0x64, 0xf2, 0x22, 0x3f, 0x62, 0xd2, 0x4c, + 0x5e, 0x07, 0xe8, 0x06, 0xd8, 0x09, 0x31, 0xff, 0xba, 0xc4, 0xbf, 0x4a, 0x18, 0x34, 0x0f, 0x15, + 0xfc, 0xb6, 0x81, 0xb8, 0xa0, 0x0a, 0x7e, 0x6b, 0xfd, 0xc7, 0xe0, 0x87, 0x6f, 0xba, 0xe5, 0x28, + 0x41, 0x3b, 0x30, 0xd5, 0x8d, 0xe0, 0xa8, 0x82, 0x20, 0x79, 0xef, 0x8a, 0x4f, 0x76, 0x42, 0xf3, + 0xa1, 0x8a, 0x06, 0x73, 0x55, 0xc4, 0xf2, 0xf4, 0x7a, 0x10, 0x1d, 0xdd, 0x32, 0xaa, 0x6c, 0x7f, + 0xf1, 0x18, 0xe6, 0x3a, 0xa1, 0x13, 0xba, 0x34, 0x74, 0xbb, 0xbc, 0xa8, 0x20, 0xa8, 0x5d, 0xb0, + 0x58, 0x89, 0x3d, 0xc1, 0x7f, 0x33, 0xc7, 0x84, 0x7e, 0xb4, 0x07, 0x2a, 0xa1, 0x6f, 0x85, 0xbc, + 0x4f, 0xd8, 0xef, 0x86, 0xee, 0x4d, 0x74, 0xc4, 0xbc, 0x41, 0x4f, 0x60, 0x8e, 0xca, 0x8c, 0xa2, + 0xd3, 0xa4, 0x21, 0xa9, 0xa0, 0x08, 0xb2, 0x55, 0x72, 0x7d, 0x73, 0x57, 0x32, 0x9b, 0xdb, 0xfa, + 0x1a, 0xa6, 0x84, 0x30, 0x4a, 0x58, 0x98, 0x3d, 0xb7, 0x7b, 0xc9, 0x73, 0x52, 0x68, 0x9a, 0xc0, + 0xa3, 0xba, 0x9f, 0x01, 0xa6, 0xd4, 0xe9, 0xe3, 0xd4, 0x85, 0x12, 0xc6, 0xba, 0x86, 0x25, 0xcd, + 0x2a, 0x4a, 0xd0, 0x8f, 0xa1, 0xce, 0x7e, 0xc7, 0xc1, 0x5e, 0x96, 0xcc, 0x89, 0x69, 0x6c, 0x41, + 0xa1, 0x45, 0xa0, 0x52, 0x34, 0x02, 0xb2, 0xd8, 0x23, 0xb6, 0xaf, 0x3e, 0x8e, 0x37, 0xff, 0x6c, + 0xc0, 0x74, 0x24, 0x8e, 0x12, 0xb6, 0xc9, 0x8f, 0x92, 0x4d, 0x2e, 0x1c, 0x9a, 0x22, 0xd8, 0x36, + 0xe4, 0x40, 0xab, 0x17, 0x37, 0xd3, 0x11, 0xc8, 0x7c, 0x7a, 0x92, 0xf1, 0x69, 0x8a, 0x29, 0x9b, + 0x95, 0xb7, 0x80, 0x74, 0x9f, 0x50, 0x82, 0x3e, 0x87, 0x09, 0x0e, 0xc4, 0xc1, 0x58, 0x91, 0x18, + 0x25, 0x54, 0x76, 0x44, 0x53, 0x36, 0x1c, 0x8f, 0x61, 0xa6, 0xe9, 0x84, 0x4c, 0x79, 0x7e, 0xe8, + 0x23, 0xa8, 0x31, 0x30, 0xde, 0x0e, 0xec, 0x37, 0x5a, 0x84, 0x2a, 0xb3, 0x56, 0xb4, 0x65, 0xec, + 0xa7, 0xf5, 0x2d, 0xdc, 0x3f, 0xc2, 0x61, 0x64, 0xb7, 0xba, 0x9f, 0x9e, 0x68, 0x1b, 0x6c, 0x7c, + 0x24, 0x3b, 0x7a, 0x24, 0x5f, 0x64, 0x23, 0x29, 0xa1, 0xac, 0x7f, 0x55, 0xa0, 0x91, 0x2f, 0x9d, + 0xfb, 0x6c, 0xa9, 0x1d, 0xb8, 0x37, 0x4e, 0x88, 0xa5, 0x38, 0x89, 0x6b, 0x57, 0xf6, 0x03, 0xda, + 0x86, 0x05, 0xee, 0x3d, 0x89, 0x56, 0x58, 0xa9, 0xa3, 0xd1, 0x31, 0xdc, 0xcb, 0x2c, 0x4f, 0xba, + 0xd1, 0x99, 0xbd, 0x55, 0xc9, 0x3c, 0xc9, 0x9d, 0x76, 0xfe, 0x22, 0xf4, 0x4b, 0x58, 0xd6, 0x04, + 0x70, 0x5e, 0xb5, 0x91, 0xbc, 0xf2, 0x96, 0x68, 0x51, 0xaf, 0x17, 0x4f, 0xb8, 0x7b, 0x47, 0x38, + 0xe4, 0x0c, 0x3f, 0x76, 0xf8, 0xfe, 0x5e, 0x81, 0xd5, 0x3c, 0xd9, 0x94, 0xb0, 0x43, 0xbf, 0xe5, + 0xb1, 0x03, 0x8a, 0x8a, 0x5d, 0x90, 0xc6, 0x2e, 0x83, 0x67, 0x87, 0xf9, 0x4b, 0x3f, 0x74, 0xae, + 0x12, 0x42, 0x11, 0x38, 0x15, 0x89, 0x9e, 0xc3, 0x8a, 0xbe, 0xb2, 0x40, 0xd4, 0x72, 0xd7, 0xa0, + 0x26, 0x2c, 0x29, 0xcc, 0x0b, 0x84, 0x2c, 0xbb, 0xa0, 0x6c, 0xc0, 0xde, 0xc2, 0x4a, 0xd4, 0xf3, + 0x7f, 0xec, 0x78, 0xfd, 0xa9, 0xca, 0x73, 0x45, 0x17, 0x4d, 0x09, 0xdb, 0x3d, 0xb1, 0xa3, 0xd8, + 0xd7, 0x34, 0x5a, 0x3a, 0x9a, 0x05, 0x2b, 0x3d, 0x67, 0xa4, 0x60, 0x29, 0x48, 0xd6, 0x17, 0x72, + 0x7f, 0xc5, 0x44, 0xa2, 0xbc, 0x2a, 0x38, 0xb6, 0x73, 0x34, 0xe6, 0x45, 0x76, 0x4e, 0xce, 0x12, + 0x16, 0x4e, 0x45, 0x3c, 0xe7, 0x53, 0x1f, 0x1d, 0xce, 0xcc, 0x02, 0xf4, 0x14, 0x16, 0x65, 0xfd, + 0x38, 0x93, 0x89, 0x91, 0x4c, 0x32, 0xf4, 0x5a, 0x4a, 0x4c, 0x16, 0x4d, 0x89, 0x37, 0xb0, 0x76, + 0x84, 0x3d, 0x16, 0x28, 0xdc, 0xf2, 0x6e, 0xdc, 0x90, 0x07, 0xec, 0xc0, 0xef, 0xe1, 0xc2, 0x13, + 0xa3, 0xae, 0xdf, 0xc3, 0xc7, 0x38, 0xbe, 0x70, 0xc7, 0x60, 0xfc, 0x25, 0x0d, 0x41, 0x0c, 0x5a, + 0x1d, 0x30, 0x87, 0x89, 0x2c, 0x7f, 0xbb, 0xfe, 0xab, 0xc1, 0x13, 0x4c, 0x65, 0x48, 0x8b, 0x19, + 0x81, 0xa0, 0xc6, 0x74, 0x8b, 0xf2, 0x96, 0xff, 0x96, 0x5a, 0xe5, 0xaa, 0xd2, 0x2a, 0xab, 0x97, + 0xb2, 0x5a, 0xc9, 0xdb, 0xf7, 0x5f, 0x0c, 0x98, 0x77, 0x15, 0x55, 0xd9, 0xfd, 0x43, 0xc5, 0x44, + 0x9a, 0xea, 0x74, 0x6a, 0x3f, 0x2e, 0x9c, 0x2e, 0xf7, 0xe3, 0x26, 0x4c, 0x5d, 0x39, 0x34, 0x4c, + 0xc6, 0x45, 0x75, 0x3b, 0x81, 0xa5, 0x26, 0xaf, 0xa6, 0x34, 0x79, 0xa9, 0xb1, 0x75, 0xd9, 0x58, + 0xeb, 0xdf, 0x06, 0xaf, 0xb2, 0x19, 0xa7, 0x52, 0x82, 0x0e, 0x60, 0x41, 0x55, 0x2c, 0xee, 0x2f, + 0xd6, 0xa4, 0x58, 0xa9, 0x14, 0xb6, 0xbe, 0x82, 0xf5, 0xf9, 0xed, 0xb2, 0x7d, 0x7e, 0xfb, 0xce, + 0xc3, 0x81, 0x43, 0x40, 0xbf, 0xba, 0xc6, 0xc1, 0x6d, 0xab, 0x1d, 0x4f, 0x40, 0x8a, 0xa5, 0xcb, + 0x3c, 0x54, 0x5a, 0xed, 0xb8, 0xb1, 0x6f, 0xb5, 0xad, 0x7f, 0x18, 0xb0, 0x9c, 0x61, 0x44, 0x49, + 0x44, 0x67, 0xc4, 0x74, 0x8c, 0x73, 0xfc, 0x3d, 0xad, 0x5e, 0x32, 0x8a, 0xc5, 0xa1, 0xa3, 0x24, + 0x9d, 0x80, 0xb4, 0xd1, 0x55, 0x4d, 0x1f, 0x5d, 0x95, 0x3d, 0x0e, 0xce, 0x61, 0x6e, 0xbf, 0xd7, + 0x6b, 0xb5, 0x8f, 0xdd, 0x81, 0x1b, 0x96, 0xb2, 0x9d, 0xb5, 0xc0, 0x57, 0x6c, 0xb5, 0x94, 0x6e, + 0x29, 0xc2, 0x3a, 0x82, 0x79, 0x59, 0x40, 0xf9, 0xdd, 0xdd, 0x84, 0x45, 0x1b, 0x0f, 0xfc, 0x1b, + 0x7c, 0x17, 0x65, 0xad, 0xe7, 0xb0, 0xa4, 0x71, 0x29, 0xaf, 0xd1, 0x97, 0x60, 0xf2, 0x98, 0x8b, + 0x39, 0x49, 0xc4, 0xf0, 0x3d, 0x46, 0xed, 0x43, 0xee, 0x5b, 0xd6, 0x19, 0xcc, 0x70, 0x96, 0x82, + 0xa1, 0x44, 0x66, 0x28, 0x3b, 0x56, 0x8f, 0x83, 0x5a, 0x15, 0xaa, 0x7a, 0x55, 0xb0, 0xfe, 0x60, + 0xc0, 0x83, 0xa1, 0xfa, 0x52, 0x82, 0xbe, 0x80, 0x59, 0x49, 0x6c, 0xbc, 0x97, 0x57, 0xb5, 0x8b, + 0x5b, 0xec, 0x37, 0x85, 0xb6, 0xec, 0x9d, 0xe1, 0x15, 0xac, 0x46, 0x53, 0x65, 0xdd, 0x7b, 0xc3, + 0x8c, 0x1e, 0x7b, 0x3f, 0x8b, 0xdc, 0x52, 0x4d, 0x22, 0xde, 0x86, 0xfb, 0xb9, 0x32, 0xca, 0xc7, + 0xfd, 0x77, 0xb0, 0x22, 0x72, 0x48, 0xf6, 0xc7, 0x07, 0xd5, 0xf9, 0x14, 0xee, 0xe5, 0x48, 0x28, + 0xaf, 0xf1, 0x17, 0xbc, 0x86, 0x1f, 0xf0, 0x21, 0x5c, 0xcb, 0x73, 0xc3, 0x03, 0xdf, 0xbb, 0x70, + 0xfb, 0x85, 0xb2, 0x94, 0xf9, 0x2f, 0x77, 0x6d, 0x79, 0x6d, 0x7a, 0xb0, 0xda, 0x29, 0xa9, 0x0d, + 0x6b, 0x15, 0x7b, 0x2e, 0xed, 0xfa, 0x37, 0x38, 0x68, 0x3b, 0x7d, 0x3e, 0x7c, 0x13, 0xfe, 0xd4, + 0xd1, 0x4c, 0xef, 0xce, 0x87, 0xd5, 0xfb, 0x9d, 0xc1, 0x27, 0x0e, 0x2c, 0x26, 0x62, 0x48, 0x4e, + 0xef, 0xf6, 0xaa, 0x64, 0xc1, 0xec, 0x05, 0xe7, 0x13, 0x0d, 0x5e, 0x45, 0xfc, 0x15, 0x1c, 0x6b, + 0x09, 0x52, 0x98, 0x0f, 0x19, 0xc4, 0xb1, 0xad, 0x61, 0xb5, 0x9e, 0xa4, 0x5e, 0xb2, 0x27, 0xf9, + 0x9f, 0xc1, 0xe7, 0x07, 0x8a, 0x85, 0x94, 0x68, 0xb3, 0x38, 0xa3, 0xec, 0x2c, 0xee, 0x59, 0x6c, + 0x4b, 0xf2, 0x94, 0x50, 0xe1, 0x25, 0xe6, 0xd3, 0x1c, 0x56, 0x87, 0x09, 0xa1, 0xad, 0x2d, 0x62, + 0x75, 0x4e, 0x60, 0x4e, 0xaf, 0x07, 0xf1, 0x29, 0x29, 0x61, 0xca, 0x8e, 0x4e, 0xbe, 0x4b, 0x9e, + 0x66, 0x5a, 0xcd, 0xa7, 0xb7, 0xcf, 0x06, 0x8e, 0x7b, 0xb5, 0xef, 0xf5, 0xda, 0xaf, 0x7d, 0x8f, + 0x75, 0xac, 0xaf, 0x8a, 0x76, 0x06, 0x2b, 0x50, 0xc7, 0x6c, 0x6d, 0xfc, 0x7e, 0xc7, 0x01, 0xb6, + 0x8e, 0xa4, 0x9c, 0xa2, 0x48, 0xcb, 0x28, 0xeb, 0xdb, 0xe4, 0x2d, 0x66, 0xa8, 0x78, 0x4a, 0xb4, + 0x2e, 0xc0, 0x18, 0xd3, 0x05, 0x14, 0xad, 0xc3, 0x7b, 0xef, 0x16, 0x61, 0x8a, 0x13, 0x1d, 0x9c, + 0x74, 0xd0, 0x3e, 0x40, 0xfa, 0x9c, 0x8b, 0xe4, 0x0b, 0xa0, 0xf2, 0x96, 0x6c, 0xae, 0x0d, 0xf9, + 0x42, 0x09, 0xfa, 0x0e, 0xd6, 0x47, 0xbf, 0x16, 0xa2, 0xcf, 0x95, 0xc5, 0x63, 0xde, 0x2f, 0xcd, + 0x47, 0xef, 0x41, 0x4d, 0x09, 0xfa, 0xde, 0x80, 0xcd, 0xb1, 0xef, 0x78, 0x68, 0x57, 0x62, 0x5a, + 0xe4, 0xf5, 0xd1, 0xfc, 0xe9, 0xfb, 0x2d, 0x10, 0x7e, 0x18, 0xfd, 0xc0, 0xa6, 0xf8, 0x61, 0xec, + 0xcb, 0xa0, 0xe2, 0x87, 0x02, 0x2f, 0x77, 0x4d, 0x98, 0x91, 0xc6, 0xf0, 0x68, 0x4d, 0x5d, 0x2d, + 0xbd, 0x88, 0x99, 0xe6, 0xb0, 0x4f, 0x94, 0xa0, 0xe7, 0x30, 0xa7, 0x8c, 0x77, 0xd1, 0x03, 0x95, + 0x58, 0x19, 0x67, 0x9b, 0x9f, 0x0c, 0xff, 0x48, 0x09, 0x3a, 0xe1, 0x6f, 0x71, 0xd2, 0x7c, 0x12, + 0xe5, 0xd2, 0xc7, 0xe3, 0x5c, 0xf3, 0xd3, 0x11, 0x5f, 0x29, 0x41, 0xe7, 0x7c, 0x98, 0x91, 0x19, + 0xe0, 0x21, 0x4b, 0x5d, 0x96, 0x37, 0x5f, 0x34, 0x7f, 0x38, 0x96, 0x86, 0x12, 0xf4, 0x6b, 0x5e, + 0x0f, 0xb5, 0x11, 0x13, 0xda, 0x50, 0x97, 0x66, 0xa7, 0x5f, 0xe6, 0xe6, 0x18, 0x0a, 0x4a, 0xd0, + 0x97, 0xc9, 0x61, 0x22, 0x71, 0xfe, 0x41, 0x36, 0xc0, 0x2a, 0xe3, 0x8d, 0xd1, 0x04, 0x94, 0x20, + 0xcc, 0xce, 0xfa, 0xbc, 0xab, 0x35, 0x7a, 0xa8, 0xac, 0x1d, 0x72, 0xe1, 0x37, 0xb7, 0x0a, 0x50, + 0x25, 0x9e, 0xd1, 0xae, 0x85, 0xba, 0x67, 0xb2, 0x57, 0x71, 0xdd, 0x33, 0x79, 0xf7, 0xca, 0x36, + 0x2c, 0x68, 0x77, 0x29, 0x24, 0xe7, 0x41, 0xf6, 0xc2, 0x66, 0xae, 0x8f, 0xfa, 0x4c, 0x89, 0x28, + 0x69, 0xf1, 0x25, 0x44, 0x2b, 0x69, 0xd2, 0xe5, 0x47, 0x2b, 0x69, 0xca, 0xad, 0xe5, 0x39, 0xcc, + 0x29, 0x17, 0x07, 0x65, 0x17, 0xe8, 0x17, 0x13, 0x65, 0x17, 0x64, 0xef, 0x1b, 0xaf, 0xe1, 0xfe, + 0x90, 0x46, 0x1c, 0x6d, 0xe9, 0x96, 0xe4, 0x5e, 0x2e, 0xcc, 0xcf, 0x8a, 0x90, 0x51, 0x82, 0xbe, + 0x82, 0xe5, 0x9c, 0xe6, 0x17, 0x6d, 0x66, 0xeb, 0xa9, 0x2e, 0xc1, 0x1a, 0x47, 0x22, 0x52, 0x38, + 0xd3, 0xa6, 0x2a, 0x29, 0x9c, 0xd7, 0x26, 0x2b, 0x29, 0x9c, 0xdf, 0xe5, 0x7e, 0x05, 0xcb, 0x39, + 0x2d, 0x27, 0xd2, 0x52, 0x27, 0xa7, 0x81, 0x34, 0xad, 0x71, 0x24, 0x82, 0x7b, 0x67, 0x0c, 0xf7, + 0xce, 0x78, 0xee, 0xc3, 0x7a, 0x4b, 0x51, 0xe1, 0xa4, 0x0e, 0x4a, 0xaf, 0x70, 0x6a, 0xfb, 0xa8, + 0x57, 0x38, 0xbd, 0xf5, 0x4a, 0x4f, 0x90, 0x21, 0x6d, 0x41, 0xde, 0x09, 0x32, 0xbc, 0x81, 0xc9, + 0x3b, 0x41, 0x46, 0xf5, 0x1b, 0x47, 0x30, 0x2b, 0xff, 0xb1, 0x09, 0x99, 0xd9, 0xe5, 0xf1, 0xdf, + 0xab, 0xcc, 0x07, 0x43, 0xbf, 0x51, 0xf2, 0xf4, 0x47, 0xbf, 0xd9, 0x7a, 0x41, 0xb0, 0x77, 0xde, + 0x3a, 0x91, 0xfe, 0xee, 0x96, 0xd0, 0xff, 0x3c, 0xf9, 0xf5, 0x6a, 0x82, 0x7f, 0x7a, 0xfc, 0xff, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x3f, 0x1c, 0xab, 0x91, 0x4b, 0x27, 0x00, 0x00, } From 1f7e7885851c2d1be158c2dc81c7460b629a8706 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 21 Dec 2022 17:30:49 +0800 Subject: [PATCH 118/176] push --- internal/push/logic/push_to_client.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/push/logic/push_to_client.go b/internal/push/logic/push_to_client.go index a096e4eb4..9b3475248 100644 --- a/internal/push/logic/push_to_client.go +++ b/internal/push/logic/push_to_client.go @@ -237,7 +237,7 @@ func MsgToSuperGroupUser(pushMsg *pbPush.PushMsgReq) { if err != nil { log.NewError(pushMsg.OperationID, utils.GetSelfFuncName(), "GetOfflinePushOpts failed", pushMsg, err.Error()) } - log.NewInfo(pushMsg.OperationID, utils.GetSelfFuncName(), onlineFailedUserIDList, title, detailContent, "opts:", opts) + log.NewInfo(pushMsg.OperationID, utils.GetSelfFuncName(), needOfflinePushUserIDList, title, detailContent, "opts:", opts) if title == "" { switch pushMsg.MsgData.ContentType { case constant.Text: From 49b21fb5776d4677a5c556f9f425a40f7766e546 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 21 Dec 2022 17:39:48 +0800 Subject: [PATCH 119/176] push --- internal/push/getui/push.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/push/getui/push.go b/internal/push/getui/push.go index ef179231f..bf940c74b 100644 --- a/internal/push/getui/push.go +++ b/internal/push/getui/push.go @@ -130,7 +130,7 @@ func newGetuiClient() *Getui { func (g *Getui) Push(userIDList []string, title, detailContent, operationID string, opts push.PushOpts) (resp string, err error) { token, err := db.DB.GetGetuiToken() - log.NewDebug(operationID, utils.GetSelfFuncName(), "token:", token) + log.NewDebug(operationID, utils.GetSelfFuncName(), "token:", token, userIDList) if err != nil { log.NewError(operationID, utils.GetSelfFuncName(), "GetGetuiToken failed", err.Error()) } @@ -153,7 +153,7 @@ func (g *Getui) Push(userIDList []string, title, detailContent, operationID stri } if len(userIDList) > 1 { taskID, err := db.DB.GetGetuiTaskID() - log.NewDebug(operationID, utils.GetSelfFuncName(), "token:", token) + log.NewDebug(operationID, utils.GetSelfFuncName(), "taskID", taskID) if err != nil { log.NewError(operationID, utils.GetSelfFuncName(), "GetGetuiTaskID failed", err.Error()) } From fa5be03fc3ebdb13aba9dcf17a6f73b8ad219795 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 21 Dec 2022 17:41:35 +0800 Subject: [PATCH 120/176] push --- internal/cron_task/clear_msg.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/cron_task/clear_msg.go b/internal/cron_task/clear_msg.go index 51d0af7fc..6e7db12d1 100644 --- a/internal/cron_task/clear_msg.go +++ b/internal/cron_task/clear_msg.go @@ -106,7 +106,7 @@ func deleteMongoMsg(operationID string, ID string, index int64, delStruct *delMs if len(msgs.Msg) > db.GetSingleGocMsgNum() { log.NewWarn(operationID, utils.GetSelfFuncName(), "msgs too large", len(msgs.Msg), msgs.UID) } - lastMsgSendTime := msgs.Msg[len(msgs.Msg)-1].SendTime + // lastMsgSendTime := msgs.Msg[len(msgs.Msg)-1].SendTime var hasMsgDoNotNeedDel bool for i, msg := range msgs.Msg { From 7445b847569d66040690c1fe16c26206d6d9c142 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 21 Dec 2022 18:03:39 +0800 Subject: [PATCH 121/176] push --- internal/push/getui/push.go | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/internal/push/getui/push.go b/internal/push/getui/push.go index bf940c74b..8f2351d29 100644 --- a/internal/push/getui/push.go +++ b/internal/push/getui/push.go @@ -60,23 +60,23 @@ type TaskResp struct { } type PushReq struct { - RequestID string `json:"request_id"` + RequestID *string `json:"request_id"` Settings struct { - TTL int32 `json:"ttl"` + TTL *int64 `json:"ttl"` } `json:"settings"` Audience struct { Alias []string `json:"alias"` } `json:"audience"` PushMessage struct { - Notification Notification `json:"notification,omitempty"` - Transmission string `json:"transmission,omitempty"` + Notification *Notification `json:"notification,omitempty"` + Transmission *string `json:"transmission,omitempty"` } `json:"push_message"` PushChannel struct { - Ios Ios `json:"ios"` - Android Android `json:"android"` + Ios *Ios `json:"ios"` + Android *Android `json:"android"` } `json:"push_channel"` - IsAsync bool `json:"is_async"` - Taskid string `json:"taskid"` + IsAsync *bool `json:"is_async"` + Taskid *string `json:"taskid"` } type Ios struct { @@ -144,7 +144,7 @@ func (g *Getui) Push(userIDList []string, title, detailContent, operationID stri var pushReq PushReq pushResp := PushResp{} - pushReq.PushMessage.Notification = Notification{ + pushReq.PushMessage.Notification = &Notification{ Title: title, Body: detailContent, ClickType: "startapp", @@ -153,9 +153,10 @@ func (g *Getui) Push(userIDList []string, title, detailContent, operationID stri } if len(userIDList) > 1 { taskID, err := db.DB.GetGetuiTaskID() - log.NewDebug(operationID, utils.GetSelfFuncName(), "taskID", taskID) if err != nil { log.NewError(operationID, utils.GetSelfFuncName(), "GetGetuiTaskID failed", err.Error()) + } else { + log.NewDebug(operationID, utils.GetSelfFuncName(), "taskID", taskID) } if taskID == "" || err != nil { taskID, err = g.GetTaskIDAndSave2Redis(operationID, token, pushReq) @@ -164,12 +165,14 @@ func (g *Getui) Push(userIDList []string, title, detailContent, operationID stri return "", utils.Wrap(err, "") } } - pushReq.IsAsync = true - pushReq.Taskid = taskID + var IsAsync = true + pushReq.IsAsync = &IsAsync + pushReq.Taskid = &taskID err = g.request(BatchPushURL, pushReq, token, &pushResp, operationID) } else { + reqID := utils.OperationIDGenerator() pushReq := PushReq{ - RequestID: utils.OperationIDGenerator(), + RequestID: &reqID, Audience: struct { Alias []string `json:"alias"` }{Alias: []string{userIDList[0]}}, @@ -299,7 +302,8 @@ func (g *Getui) getTokenAndSave2Redis(operationID string) (token string, err err } func (g *Getui) GetTaskIDAndSave2Redis(operationID, token string, pushReq PushReq) (taskID string, err error) { - pushReq.Settings.TTL = 1000 * 60 * 60 * 24 + ttl := int64(1000 * 60 * 60 * 24) + pushReq.Settings.TTL = &ttl taskID, err = g.GetTaskID(operationID, token, pushReq) if err != nil { return "", utils.Wrap(err, "GetTaskIDAndSave2Redis failed") From 428e5a7a4ec163ac60cc4a895e1974c1d1c2dfab Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 21 Dec 2022 18:15:25 +0800 Subject: [PATCH 122/176] push --- internal/push/getui/push.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/internal/push/getui/push.go b/internal/push/getui/push.go index 8f2351d29..e5aab97e7 100644 --- a/internal/push/getui/push.go +++ b/internal/push/getui/push.go @@ -168,6 +168,9 @@ func (g *Getui) Push(userIDList []string, title, detailContent, operationID stri var IsAsync = true pushReq.IsAsync = &IsAsync pushReq.Taskid = &taskID + pushReq.Audience = struct { + Alias []string `json:"alias"` + }{Alias: userIDList} err = g.request(BatchPushURL, pushReq, token, &pushResp, operationID) } else { reqID := utils.OperationIDGenerator() From 9a3373a43d7ca9448db945bd20573821d447983e Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 21 Dec 2022 18:29:31 +0800 Subject: [PATCH 123/176] push --- internal/push/getui/push.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/internal/push/getui/push.go b/internal/push/getui/push.go index e5aab97e7..9a6403c52 100644 --- a/internal/push/getui/push.go +++ b/internal/push/getui/push.go @@ -168,6 +168,8 @@ func (g *Getui) Push(userIDList []string, title, detailContent, operationID stri var IsAsync = true pushReq.IsAsync = &IsAsync pushReq.Taskid = &taskID + pushReq.PushMessage.Notification = nil + pushReq.PushMessage.Transmission = nil pushReq.Audience = struct { Alias []string `json:"alias"` }{Alias: userIDList} From 36e37052e0a91a7eb46bdf58838ff81756875cd3 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 21 Dec 2022 18:37:58 +0800 Subject: [PATCH 124/176] push --- internal/push/getui/push.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/internal/push/getui/push.go b/internal/push/getui/push.go index 9a6403c52..69875a23d 100644 --- a/internal/push/getui/push.go +++ b/internal/push/getui/push.go @@ -182,11 +182,13 @@ func (g *Getui) Push(userIDList []string, title, detailContent, operationID stri Alias []string `json:"alias"` }{Alias: []string{userIDList[0]}}, } + pushReq.PushChannel.Ios = &Ios{} pushReq.PushChannel.Ios.Aps.Sound = "default" pushReq.PushChannel.Ios.Aps.Alert = Alert{ Title: title, Body: title, } + pushReq.PushChannel.Android = &Android{} pushReq.PushChannel.Android.Ups.Notification = Notification{ Title: title, Body: title, From 0b4b40855226da20b9dc1c4e10ab0c3be00fe3de Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 21 Dec 2022 18:58:36 +0800 Subject: [PATCH 125/176] push --- internal/push/getui/push.go | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/internal/push/getui/push.go b/internal/push/getui/push.go index 69875a23d..21176b466 100644 --- a/internal/push/getui/push.go +++ b/internal/push/getui/push.go @@ -152,18 +152,9 @@ func (g *Getui) Push(userIDList []string, title, detailContent, operationID stri ChannelName: config.Config.Push.Getui.ChannelName, } if len(userIDList) > 1 { - taskID, err := db.DB.GetGetuiTaskID() + taskID, err := g.GetTaskID(operationID, token, pushReq) if err != nil { - log.NewError(operationID, utils.GetSelfFuncName(), "GetGetuiTaskID failed", err.Error()) - } else { - log.NewDebug(operationID, utils.GetSelfFuncName(), "taskID", taskID) - } - if taskID == "" || err != nil { - taskID, err = g.GetTaskIDAndSave2Redis(operationID, token, pushReq) - if err != nil { - log.NewError(operationID, utils.GetSelfFuncName(), "GetTaskIDAndSave2Redis failed", err.Error()) - return "", utils.Wrap(err, "") - } + return "", utils.Wrap(err, "GetTaskIDAndSave2Redis failed") } var IsAsync = true pushReq.IsAsync = &IsAsync @@ -176,7 +167,7 @@ func (g *Getui) Push(userIDList []string, title, detailContent, operationID stri err = g.request(BatchPushURL, pushReq, token, &pushResp, operationID) } else { reqID := utils.OperationIDGenerator() - pushReq := PushReq{ + pushReq = PushReq{ RequestID: &reqID, Audience: struct { Alias []string `json:"alias"` From b08936c27e4ce38b3d82de624dcae63eee4a1165 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 21 Dec 2022 19:56:25 +0800 Subject: [PATCH 126/176] push --- internal/push/getui/push.go | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/internal/push/getui/push.go b/internal/push/getui/push.go index 21176b466..759ce2a24 100644 --- a/internal/push/getui/push.go +++ b/internal/push/getui/push.go @@ -167,12 +167,11 @@ func (g *Getui) Push(userIDList []string, title, detailContent, operationID stri err = g.request(BatchPushURL, pushReq, token, &pushResp, operationID) } else { reqID := utils.OperationIDGenerator() - pushReq = PushReq{ - RequestID: &reqID, - Audience: struct { - Alias []string `json:"alias"` - }{Alias: []string{userIDList[0]}}, - } + pushReq.RequestID = &reqID + pushReq.Audience = struct { + Alias []string `json:"alias"` + }{Alias: []string{userIDList[0]}} + pushReq.PushChannel.Ios = &Ios{} pushReq.PushChannel.Ios.Aps.Sound = "default" pushReq.PushChannel.Ios.Aps.Alert = Alert{ From 07c300f35f1d853d3c9704c818607efcc467c6de Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Thu, 22 Dec 2022 11:10:19 +0800 Subject: [PATCH 127/176] push --- internal/push/getui/push.go | 62 ++++++++++++++++++++----------------- 1 file changed, 33 insertions(+), 29 deletions(-) diff --git a/internal/push/getui/push.go b/internal/push/getui/push.go index 759ce2a24..acd868e11 100644 --- a/internal/push/getui/push.go +++ b/internal/push/getui/push.go @@ -59,24 +59,32 @@ type TaskResp struct { TaskID string `json:"taskID"` } +type Settings struct { + TTL *int64 `json:"ttl"` +} + +type Audience struct { + Alias []string `json:"alias"` +} + +type PushMessage struct { + Notification *Notification `json:"notification,omitempty"` + Transmission *string `json:"transmission,omitempty"` +} + +type PushChannel struct { + Ios *Ios `json:"ios"` + Android *Android `json:"android"` +} + type PushReq struct { - RequestID *string `json:"request_id"` - Settings struct { - TTL *int64 `json:"ttl"` - } `json:"settings"` - Audience struct { - Alias []string `json:"alias"` - } `json:"audience"` - PushMessage struct { - Notification *Notification `json:"notification,omitempty"` - Transmission *string `json:"transmission,omitempty"` - } `json:"push_message"` - PushChannel struct { - Ios *Ios `json:"ios"` - Android *Android `json:"android"` - } `json:"push_channel"` - IsAsync *bool `json:"is_async"` - Taskid *string `json:"taskid"` + RequestID *string `json:"request_id"` + Settings *Settings `json:"settings"` + Audience *Audience `json:"audience"` + PushMessage *PushMessage `json:"push_message"` + PushChannel *PushChannel `json:"push_channel"` + IsAsync *bool `json:"is_async"` + Taskid *string `json:"taskid"` } type Ios struct { @@ -142,15 +150,14 @@ func (g *Getui) Push(userIDList []string, title, detailContent, operationID stri } } - var pushReq PushReq - pushResp := PushResp{} - pushReq.PushMessage.Notification = &Notification{ + pushReq := PushReq{PushMessage: &PushMessage{Notification: &Notification{ Title: title, Body: detailContent, ClickType: "startapp", ChannelID: config.Config.Push.Getui.ChannelID, ChannelName: config.Config.Push.Getui.ChannelName, - } + }}} + pushResp := PushResp{} if len(userIDList) > 1 { taskID, err := g.GetTaskID(operationID, token, pushReq) if err != nil { @@ -161,17 +168,12 @@ func (g *Getui) Push(userIDList []string, title, detailContent, operationID stri pushReq.Taskid = &taskID pushReq.PushMessage.Notification = nil pushReq.PushMessage.Transmission = nil - pushReq.Audience = struct { - Alias []string `json:"alias"` - }{Alias: userIDList} + pushReq.Audience = &Audience{Alias: userIDList} err = g.request(BatchPushURL, pushReq, token, &pushResp, operationID) } else { reqID := utils.OperationIDGenerator() pushReq.RequestID = &reqID - pushReq.Audience = struct { - Alias []string `json:"alias"` - }{Alias: []string{userIDList[0]}} - + pushReq.Audience = &Audience{Alias: []string{userIDList[0]}} pushReq.PushChannel.Ios = &Ios{} pushReq.PushChannel.Ios.Aps.Sound = "default" pushReq.PushChannel.Ios.Aps.Alert = Alert{ @@ -242,6 +244,8 @@ func (g *Getui) Auth(operationID string, timeStamp int64) (token string, expireT func (g *Getui) GetTaskID(operationID, token string, pushReq PushReq) (string, error) { respTask := TaskResp{} + ttl := int64(1000 * 60 * 5) + pushReq.Settings = &Settings{TTL: &ttl} err := g.request(TaskURL, pushReq, token, &respTask, operationID) if err != nil { return "", utils.Wrap(err, "") @@ -300,7 +304,7 @@ func (g *Getui) getTokenAndSave2Redis(operationID string) (token string, err err func (g *Getui) GetTaskIDAndSave2Redis(operationID, token string, pushReq PushReq) (taskID string, err error) { ttl := int64(1000 * 60 * 60 * 24) - pushReq.Settings.TTL = &ttl + pushReq.Settings = &Settings{TTL: &ttl} taskID, err = g.GetTaskID(operationID, token, pushReq) if err != nil { return "", utils.Wrap(err, "GetTaskIDAndSave2Redis failed") From e86e8820f3149314b730fe0813a14aeb6e59da54 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Thu, 22 Dec 2022 11:30:19 +0800 Subject: [PATCH 128/176] push --- internal/push/getui/push.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/push/getui/push.go b/internal/push/getui/push.go index acd868e11..899a2b90a 100644 --- a/internal/push/getui/push.go +++ b/internal/push/getui/push.go @@ -174,6 +174,7 @@ func (g *Getui) Push(userIDList []string, title, detailContent, operationID stri reqID := utils.OperationIDGenerator() pushReq.RequestID = &reqID pushReq.Audience = &Audience{Alias: []string{userIDList[0]}} + pushReq.PushChannel = &PushChannel{} pushReq.PushChannel.Ios = &Ios{} pushReq.PushChannel.Ios.Aps.Sound = "default" pushReq.PushChannel.Ios.Aps.Alert = Alert{ From 8ca6584299d9d2d66504f1e5b78a20d1695daf7a Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Thu, 22 Dec 2022 15:23:46 +0800 Subject: [PATCH 129/176] push --- internal/push/getui/push.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/push/getui/push.go b/internal/push/getui/push.go index 899a2b90a..a9b54e6d1 100644 --- a/internal/push/getui/push.go +++ b/internal/push/getui/push.go @@ -163,7 +163,7 @@ func (g *Getui) Push(userIDList []string, title, detailContent, operationID stri if err != nil { return "", utils.Wrap(err, "GetTaskIDAndSave2Redis failed") } - var IsAsync = true + var IsAsync = false pushReq.IsAsync = &IsAsync pushReq.Taskid = &taskID pushReq.PushMessage.Notification = nil From 4bcaa5eaca68a51400e8a7a1c2e733f271677b28 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Thu, 22 Dec 2022 15:42:16 +0800 Subject: [PATCH 130/176] push --- internal/push/getui/push.go | 63 ++++++++++++++++++++----------------- 1 file changed, 34 insertions(+), 29 deletions(-) diff --git a/internal/push/getui/push.go b/internal/push/getui/push.go index a9b54e6d1..7b63b988b 100644 --- a/internal/push/getui/push.go +++ b/internal/push/getui/push.go @@ -169,40 +169,13 @@ func (g *Getui) Push(userIDList []string, title, detailContent, operationID stri pushReq.PushMessage.Notification = nil pushReq.PushMessage.Transmission = nil pushReq.Audience = &Audience{Alias: userIDList} + pushReq.setPushChannel(title, detailContent) err = g.request(BatchPushURL, pushReq, token, &pushResp, operationID) } else { reqID := utils.OperationIDGenerator() pushReq.RequestID = &reqID pushReq.Audience = &Audience{Alias: []string{userIDList[0]}} - pushReq.PushChannel = &PushChannel{} - pushReq.PushChannel.Ios = &Ios{} - pushReq.PushChannel.Ios.Aps.Sound = "default" - pushReq.PushChannel.Ios.Aps.Alert = Alert{ - Title: title, - Body: title, - } - pushReq.PushChannel.Android = &Android{} - pushReq.PushChannel.Android.Ups.Notification = Notification{ - Title: title, - Body: title, - ClickType: "startapp", - } - pushReq.PushChannel.Android.Ups.Options = Options{ - HW: struct { - DefaultSound bool `json:"/message/android/notification/default_sound"` - ChannelID string `json:"/message/android/notification/channel_id"` - Sound string `json:"/message/android/notification/sound"` - Importance string `json:"/message/android/notification/importance"` - }{ChannelID: "RingRing4", Sound: "/raw/ring001", Importance: "NORMAL"}, - XM: struct { - ChannelID string `json:"/extra.channel_id"` - }{ChannelID: "high_system"}, - VV: struct { - Classification int "json:\"/classification\"" - }{ - Classification: 1, - }, - } + pushReq.setPushChannel(title, detailContent) err = g.request(PushURL, pushReq, token, &pushResp, operationID) } switch err { @@ -290,6 +263,38 @@ func (g *Getui) request(url string, content interface{}, token string, returnStr return nil } +func (pushReq *PushReq) setPushChannel(title string, body string) { + pushReq.PushChannel = &PushChannel{} + pushReq.PushChannel.Ios = &Ios{} + pushReq.PushChannel.Ios.Aps.Sound = "default" + pushReq.PushChannel.Ios.Aps.Alert = Alert{ + Title: title, + Body: body, + } + pushReq.PushChannel.Android = &Android{} + pushReq.PushChannel.Android.Ups.Notification = Notification{ + Title: title, + Body: body, + ClickType: "startapp", + } + pushReq.PushChannel.Android.Ups.Options = Options{ + HW: struct { + DefaultSound bool `json:"/message/android/notification/default_sound"` + ChannelID string `json:"/message/android/notification/channel_id"` + Sound string `json:"/message/android/notification/sound"` + Importance string `json:"/message/android/notification/importance"` + }{ChannelID: "RingRing4", Sound: "/raw/ring001", Importance: "NORMAL"}, + XM: struct { + ChannelID string `json:"/extra.channel_id"` + }{ChannelID: "high_system"}, + VV: struct { + Classification int "json:\"/classification\"" + }{ + Classification: 1, + }, + } +} + func (g *Getui) getTokenAndSave2Redis(operationID string) (token string, err error) { token, expireTime, err := g.Auth(operationID, time.Now().UnixNano()/1e6) if err != nil { From 6bf0a3a8043a4292b9195f6a9e5fbf58b86cb968 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Thu, 22 Dec 2022 16:28:36 +0800 Subject: [PATCH 131/176] push --- internal/push/getui/push.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/internal/push/getui/push.go b/internal/push/getui/push.go index 7b63b988b..565d62df0 100644 --- a/internal/push/getui/push.go +++ b/internal/push/getui/push.go @@ -88,7 +88,8 @@ type PushReq struct { } type Ios struct { - Aps struct { + NotiType *string `json:"type"` + Aps struct { Sound string `json:"sound"` Alert Alert `json:"alert"` } `json:"aps"` @@ -166,8 +167,7 @@ func (g *Getui) Push(userIDList []string, title, detailContent, operationID stri var IsAsync = false pushReq.IsAsync = &IsAsync pushReq.Taskid = &taskID - pushReq.PushMessage.Notification = nil - pushReq.PushMessage.Transmission = nil + pushReq.PushMessage = nil pushReq.Audience = &Audience{Alias: userIDList} pushReq.setPushChannel(title, detailContent) err = g.request(BatchPushURL, pushReq, token, &pushResp, operationID) @@ -176,6 +176,8 @@ func (g *Getui) Push(userIDList []string, title, detailContent, operationID stri pushReq.RequestID = &reqID pushReq.Audience = &Audience{Alias: []string{userIDList[0]}} pushReq.setPushChannel(title, detailContent) + notify := "notify" + pushReq.PushChannel.Ios.NotiType = ¬ify err = g.request(PushURL, pushReq, token, &pushResp, operationID) } switch err { From fb72f4b1ae703d2cff9ceda8fd80c994589bc7a3 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Thu, 22 Dec 2022 17:17:28 +0800 Subject: [PATCH 132/176] push --- internal/push/getui/push.go | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/internal/push/getui/push.go b/internal/push/getui/push.go index 565d62df0..cd86d64ae 100644 --- a/internal/push/getui/push.go +++ b/internal/push/getui/push.go @@ -88,8 +88,9 @@ type PushReq struct { } type Ios struct { - NotiType *string `json:"type"` - Aps struct { + NotiType *string `json:"type"` + AutoBadge *string `json:"auto_badge"` + Aps struct { Sound string `json:"sound"` Alert Alert `json:"alert"` } `json:"aps"` @@ -158,26 +159,22 @@ func (g *Getui) Push(userIDList []string, title, detailContent, operationID stri ChannelID: config.Config.Push.Getui.ChannelID, ChannelName: config.Config.Push.Getui.ChannelName, }}} + pushReq.setPushChannel(title, detailContent) pushResp := PushResp{} if len(userIDList) > 1 { taskID, err := g.GetTaskID(operationID, token, pushReq) if err != nil { return "", utils.Wrap(err, "GetTaskIDAndSave2Redis failed") } + pushReq = PushReq{Audience: &Audience{Alias: userIDList}} var IsAsync = false pushReq.IsAsync = &IsAsync pushReq.Taskid = &taskID - pushReq.PushMessage = nil - pushReq.Audience = &Audience{Alias: userIDList} - pushReq.setPushChannel(title, detailContent) err = g.request(BatchPushURL, pushReq, token, &pushResp, operationID) } else { reqID := utils.OperationIDGenerator() pushReq.RequestID = &reqID pushReq.Audience = &Audience{Alias: []string{userIDList[0]}} - pushReq.setPushChannel(title, detailContent) - notify := "notify" - pushReq.PushChannel.Ios.NotiType = ¬ify err = g.request(PushURL, pushReq, token, &pushResp, operationID) } switch err { @@ -267,7 +264,10 @@ func (g *Getui) request(url string, content interface{}, token string, returnStr func (pushReq *PushReq) setPushChannel(title string, body string) { pushReq.PushChannel = &PushChannel{} - pushReq.PushChannel.Ios = &Ios{} + autoBadge := "+1" + pushReq.PushChannel.Ios = &Ios{AutoBadge: &autoBadge} + notify := "notify" + pushReq.PushChannel.Ios.NotiType = ¬ify pushReq.PushChannel.Ios.Aps.Sound = "default" pushReq.PushChannel.Ios.Aps.Alert = Alert{ Title: title, From 86fc0e41015f82dda4d3ad36ed2663aee8b4842b Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Thu, 22 Dec 2022 17:23:14 +0800 Subject: [PATCH 133/176] reaction message update --- internal/rpc/msg/extend_msg_callback.go | 60 ++++++++++++++++++- pkg/call_back_struct/message.go | 38 ++++++++++++- pkg/common/constant/constant.go | 30 +++++----- pkg/proto/msg/msg.pb.go | 76 ++++++++++++------------- 4 files changed, 149 insertions(+), 55 deletions(-) diff --git a/internal/rpc/msg/extend_msg_callback.go b/internal/rpc/msg/extend_msg_callback.go index 5c1fd6e49..6e7b1a991 100644 --- a/internal/rpc/msg/extend_msg_callback.go +++ b/internal/rpc/msg/extend_msg_callback.go @@ -1,11 +1,67 @@ package msg -import "Open_IM/pkg/proto/msg" +import ( + cbApi "Open_IM/pkg/call_back_struct" + "Open_IM/pkg/common/constant" + "Open_IM/pkg/common/http" + "Open_IM/pkg/common/log" + "Open_IM/pkg/proto/msg" + "Open_IM/pkg/utils" + http2 "net/http" +) -func callbackSetMessageReactionExtensions(req *msg.ModifyMessageReactionExtensionsReq) { +func callbackSetMessageReactionExtensions(req *msg.SetMessageReactionExtensionsReq) cbApi.CommonCallbackResp { + callbackResp := cbApi.CommonCallbackResp{OperationID: req.OperationID} + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), req.String()) } func callbackDeleteMessageReactionExtensions(req *msg.DeleteMessageListReactionExtensionsReq) { } +func callbackAfterSendGroupMsg(msg *pbChat.SendMsgReq) cbApi.CommonCallbackResp { + callbackResp := cbApi.CommonCallbackResp{OperationID: msg.OperationID} + if !config.Config.Callback.CallbackAfterSendGroupMsg.Enable { + return callbackResp + } + log.NewDebug(msg.OperationID, utils.GetSelfFuncName(), msg) + commonCallbackReq := copyCallbackCommonReqStruct(msg) + commonCallbackReq.CallbackCommand = constant.CallbackAfterSendGroupMsgCommand + req := cbApi.CallbackAfterSendGroupMsgReq{ + CommonCallbackReq: commonCallbackReq, + GroupID: msg.MsgData.GroupID, + } + resp := &cbApi.CallbackAfterSendGroupMsgResp{CommonCallbackResp: &callbackResp} + defer log.NewDebug(msg.OperationID, utils.GetSelfFuncName(), req, *resp) + if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackAfterSendGroupMsgCommand, req, resp, config.Config.Callback.CallbackAfterSendGroupMsg.CallbackTimeOut); err != nil { + callbackResp.ErrCode = http2.StatusInternalServerError + callbackResp.ErrMsg = err.Error() + return callbackResp + } + return callbackResp +} +func callbackBeforeSendSingleMsg(msg *pbChat.SendMsgReq) cbApi.CommonCallbackResp { + + commonCallbackReq.CallbackCommand = constant.CallbackBeforeSendSingleMsgCommand + req := cbApi.CallbackBeforeSendSingleMsgReq{ + CommonCallbackReq: commonCallbackReq, + RecvID: msg.MsgData.RecvID, + } + resp := &cbApi.CallbackBeforeSendSingleMsgResp{ + CommonCallbackResp: &callbackResp, + } + //utils.CopyStructFields(req, msg.MsgData) + defer log.NewDebug(msg.OperationID, utils.GetSelfFuncName(), req, *resp) + if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackBeforeSendSingleMsgCommand, req, resp, config.Config.Callback.CallbackBeforeSendSingleMsg.CallbackTimeOut); err != nil { + callbackResp.ErrCode = http2.StatusInternalServerError + callbackResp.ErrMsg = err.Error() + if !config.Config.Callback.CallbackBeforeSendSingleMsg.CallbackFailedContinue { + callbackResp.ActionCode = constant.ActionForbidden + return callbackResp + } else { + callbackResp.ActionCode = constant.ActionAllow + return callbackResp + } + } + return callbackResp +} diff --git a/pkg/call_back_struct/message.go b/pkg/call_back_struct/message.go index b28615030..00e142878 100644 --- a/pkg/call_back_struct/message.go +++ b/pkg/call_back_struct/message.go @@ -1,6 +1,9 @@ package call_back_struct -import sdk_ws "Open_IM/pkg/proto/sdk_ws" +import ( + "Open_IM/pkg/proto/msg" + sdk_ws "Open_IM/pkg/proto/sdk_ws" +) type CallbackBeforeSendSingleMsgReq struct { CommonCallbackReq @@ -63,3 +66,36 @@ type CallbackMsgModifyCommandResp struct { AttachedInfo *string `json:"attachedInfo"` Ex *string `json:"ex"` } +type CallbackBeforeSetMessageReactionExtReq struct { + OperationID string `json:"operationID"` + CallbackCommand string `json:"callbackCommand"` + SourceID string `json:"sourceID"` + OpUserID string `json:"opUserID"` + SessionType int32 `json:"sessionType"` + ReactionExtensionList map[string]*sdk_ws.KeyValue `json:"reactionExtensionList"` + ClientMsgID string `json:"clientMsgID"` + IsReact bool `json:"isReact"` + IsExternalExtensions bool `json:"isExternalExtensions"` + MsgFirstModifyTime int64 `json:"msgFirstModifyTime"` +} +type CallbackBeforeSetMessageReactionExtResp struct { + *CommonCallbackResp + ResultReactionExtensionList []*msg.KeyValueResp `json:"resultReactionExtensionList"` + MsgFirstModifyTime int64 `json:"msgFirstModifyTime"` +} +type CallbackDeleteMessageReactionExtReq struct { + OperationID string `json:"operationID"` + CallbackCommand string `json:"callbackCommand"` + SourceID string `json:"sourceID"` + OpUserID string `json:"opUserID"` + SessionType int32 `json:"sessionType"` + ReactionExtensionList []*sdk_ws.KeyValue `json:"reactionExtensionList"` + ClientMsgID string `json:"clientMsgID"` + IsExternalExtensions bool `json:"isExternalExtensions"` + MsgFirstModifyTime int64 `json:"msgFirstModifyTime"` +} +type CallbackDeleteMessageReactionExtResp struct { + *CommonCallbackResp + ResultReactionExtensionList []*msg.KeyValueResp `json:"resultReactionExtensionList"` + MsgFirstModifyTime int64 `json:"msgFirstModifyTime"` +} diff --git a/pkg/common/constant/constant.go b/pkg/common/constant/constant.go index 9ca71ea19..d586760bf 100644 --- a/pkg/common/constant/constant.go +++ b/pkg/common/constant/constant.go @@ -205,20 +205,22 @@ const ( VerificationCodeForResetSuffix = "_forReset" //callbackCommand - CallbackBeforeSendSingleMsgCommand = "callbackBeforeSendSingleMsgCommand" - CallbackAfterSendSingleMsgCommand = "callbackAfterSendSingleMsgCommand" - CallbackBeforeSendGroupMsgCommand = "callbackBeforeSendGroupMsgCommand" - CallbackAfterSendGroupMsgCommand = "callbackAfterSendGroupMsgCommand" - CallbackMsgModifyCommand = "callbackMsgModifyCommand" - CallbackUserOnlineCommand = "callbackUserOnlineCommand" - CallbackUserOfflineCommand = "callbackUserOfflineCommand" - CallbackUserKickOffCommand = "callbackUserKickOffCommand" - CallbackOfflinePushCommand = "callbackOfflinePushCommand" - CallbackOnlinePushCommand = "callbackOnlinePushCommand" - CallbackSuperGroupOnlinePushCommand = "callbackSuperGroupOnlinePushCommand" - CallbackBeforeAddFriendCommand = "callbackBeforeAddFriendCommand" - CallbackBeforeCreateGroupCommand = "callbackBeforeCreateGroupCommand" - CallbackBeforeMemberJoinGroupCommand = "callbackBeforeMemberJoinGroupCommand" + CallbackBeforeSendSingleMsgCommand = "callbackBeforeSendSingleMsgCommand" + CallbackAfterSendSingleMsgCommand = "callbackAfterSendSingleMsgCommand" + CallbackBeforeSendGroupMsgCommand = "callbackBeforeSendGroupMsgCommand" + CallbackAfterSendGroupMsgCommand = "callbackAfterSendGroupMsgCommand" + CallbackMsgModifyCommand = "callbackMsgModifyCommand" + CallbackUserOnlineCommand = "callbackUserOnlineCommand" + CallbackUserOfflineCommand = "callbackUserOfflineCommand" + CallbackUserKickOffCommand = "callbackUserKickOffCommand" + CallbackOfflinePushCommand = "callbackOfflinePushCommand" + CallbackOnlinePushCommand = "callbackOnlinePushCommand" + CallbackSuperGroupOnlinePushCommand = "callbackSuperGroupOnlinePushCommand" + CallbackBeforeAddFriendCommand = "callbackBeforeAddFriendCommand" + CallbackBeforeCreateGroupCommand = "callbackBeforeCreateGroupCommand" + CallbackBeforeMemberJoinGroupCommand = "callbackBeforeMemberJoinGroupCommand" + CallbackBeforeSetMessageReactionExtensionCommand = "callbackBeforeSetMessageReactionExtensionCommand" + CallbackBeforeDeleteMessageReactionExtensionsCommand = "callbackBeforeDeleteMessageReactionExtensionsCommand" //callback actionCode ActionAllow = 0 diff --git a/pkg/proto/msg/msg.pb.go b/pkg/proto/msg/msg.pb.go index fa4b87ab9..a71fff6d8 100644 --- a/pkg/proto/msg/msg.pb.go +++ b/pkg/proto/msg/msg.pb.go @@ -38,7 +38,7 @@ func (m *MsgDataToMQ) Reset() { *m = MsgDataToMQ{} } func (m *MsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMQ) ProtoMessage() {} func (*MsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{0} + return fileDescriptor_msg_6246423db34ea762, []int{0} } func (m *MsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMQ.Unmarshal(m, b) @@ -91,7 +91,7 @@ func (m *MsgDataToDB) Reset() { *m = MsgDataToDB{} } func (m *MsgDataToDB) String() string { return proto.CompactTextString(m) } func (*MsgDataToDB) ProtoMessage() {} func (*MsgDataToDB) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{1} + return fileDescriptor_msg_6246423db34ea762, []int{1} } func (m *MsgDataToDB) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToDB.Unmarshal(m, b) @@ -138,7 +138,7 @@ func (m *PushMsgDataToMQ) Reset() { *m = PushMsgDataToMQ{} } func (m *PushMsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*PushMsgDataToMQ) ProtoMessage() {} func (*PushMsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{2} + return fileDescriptor_msg_6246423db34ea762, []int{2} } func (m *PushMsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PushMsgDataToMQ.Unmarshal(m, b) @@ -193,7 +193,7 @@ func (m *MsgDataToMongoByMQ) Reset() { *m = MsgDataToMongoByMQ{} } func (m *MsgDataToMongoByMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMongoByMQ) ProtoMessage() {} func (*MsgDataToMongoByMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{3} + return fileDescriptor_msg_6246423db34ea762, []int{3} } func (m *MsgDataToMongoByMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMongoByMQ.Unmarshal(m, b) @@ -273,7 +273,7 @@ func (m *GetMaxAndMinSeqReq) Reset() { *m = GetMaxAndMinSeqReq{} } func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqReq) ProtoMessage() {} func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{4} + return fileDescriptor_msg_6246423db34ea762, []int{4} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -321,7 +321,7 @@ func (m *GetMaxAndMinSeqResp) Reset() { *m = GetMaxAndMinSeqResp{} } func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqResp) ProtoMessage() {} func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{5} + return fileDescriptor_msg_6246423db34ea762, []int{5} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -382,7 +382,7 @@ func (m *SendMsgReq) Reset() { *m = SendMsgReq{} } func (m *SendMsgReq) String() string { return proto.CompactTextString(m) } func (*SendMsgReq) ProtoMessage() {} func (*SendMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{6} + return fileDescriptor_msg_6246423db34ea762, []int{6} } func (m *SendMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgReq.Unmarshal(m, b) @@ -438,7 +438,7 @@ func (m *SendMsgResp) Reset() { *m = SendMsgResp{} } func (m *SendMsgResp) String() string { return proto.CompactTextString(m) } func (*SendMsgResp) ProtoMessage() {} func (*SendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{7} + return fileDescriptor_msg_6246423db34ea762, []int{7} } func (m *SendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgResp.Unmarshal(m, b) @@ -506,7 +506,7 @@ func (m *ClearMsgReq) Reset() { *m = ClearMsgReq{} } func (m *ClearMsgReq) String() string { return proto.CompactTextString(m) } func (*ClearMsgReq) ProtoMessage() {} func (*ClearMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{8} + return fileDescriptor_msg_6246423db34ea762, []int{8} } func (m *ClearMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgReq.Unmarshal(m, b) @@ -559,7 +559,7 @@ func (m *ClearMsgResp) Reset() { *m = ClearMsgResp{} } func (m *ClearMsgResp) String() string { return proto.CompactTextString(m) } func (*ClearMsgResp) ProtoMessage() {} func (*ClearMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{9} + return fileDescriptor_msg_6246423db34ea762, []int{9} } func (m *ClearMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgResp.Unmarshal(m, b) @@ -608,7 +608,7 @@ func (m *SetMsgMinSeqReq) Reset() { *m = SetMsgMinSeqReq{} } func (m *SetMsgMinSeqReq) String() string { return proto.CompactTextString(m) } func (*SetMsgMinSeqReq) ProtoMessage() {} func (*SetMsgMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{10} + return fileDescriptor_msg_6246423db34ea762, []int{10} } func (m *SetMsgMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqReq.Unmarshal(m, b) @@ -675,7 +675,7 @@ func (m *SetMsgMinSeqResp) Reset() { *m = SetMsgMinSeqResp{} } func (m *SetMsgMinSeqResp) String() string { return proto.CompactTextString(m) } func (*SetMsgMinSeqResp) ProtoMessage() {} func (*SetMsgMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{11} + return fileDescriptor_msg_6246423db34ea762, []int{11} } func (m *SetMsgMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqResp.Unmarshal(m, b) @@ -721,7 +721,7 @@ func (m *SetSendMsgStatusReq) Reset() { *m = SetSendMsgStatusReq{} } func (m *SetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (*SetSendMsgStatusReq) ProtoMessage() {} func (*SetSendMsgStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{12} + return fileDescriptor_msg_6246423db34ea762, []int{12} } func (m *SetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgStatusReq.Unmarshal(m, b) @@ -767,7 +767,7 @@ func (m *SetSendMsgStatusResp) Reset() { *m = SetSendMsgStatusResp{} } func (m *SetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (*SetSendMsgStatusResp) ProtoMessage() {} func (*SetSendMsgStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{13} + return fileDescriptor_msg_6246423db34ea762, []int{13} } func (m *SetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgStatusResp.Unmarshal(m, b) @@ -812,7 +812,7 @@ func (m *GetSendMsgStatusReq) Reset() { *m = GetSendMsgStatusReq{} } func (m *GetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (*GetSendMsgStatusReq) ProtoMessage() {} func (*GetSendMsgStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{14} + return fileDescriptor_msg_6246423db34ea762, []int{14} } func (m *GetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusReq.Unmarshal(m, b) @@ -852,7 +852,7 @@ func (m *GetSendMsgStatusResp) Reset() { *m = GetSendMsgStatusResp{} } func (m *GetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (*GetSendMsgStatusResp) ProtoMessage() {} func (*GetSendMsgStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{15} + return fileDescriptor_msg_6246423db34ea762, []int{15} } func (m *GetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusResp.Unmarshal(m, b) @@ -907,7 +907,7 @@ func (m *DelSuperGroupMsgReq) Reset() { *m = DelSuperGroupMsgReq{} } func (m *DelSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (*DelSuperGroupMsgReq) ProtoMessage() {} func (*DelSuperGroupMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{16} + return fileDescriptor_msg_6246423db34ea762, []int{16} } func (m *DelSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelSuperGroupMsgReq.Unmarshal(m, b) @@ -967,7 +967,7 @@ func (m *DelSuperGroupMsgResp) Reset() { *m = DelSuperGroupMsgResp{} } func (m *DelSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (*DelSuperGroupMsgResp) ProtoMessage() {} func (*DelSuperGroupMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{17} + return fileDescriptor_msg_6246423db34ea762, []int{17} } func (m *DelSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelSuperGroupMsgResp.Unmarshal(m, b) @@ -1014,7 +1014,7 @@ func (m *GetSuperGroupMsgReq) Reset() { *m = GetSuperGroupMsgReq{} } func (m *GetSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupMsgReq) ProtoMessage() {} func (*GetSuperGroupMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{18} + return fileDescriptor_msg_6246423db34ea762, []int{18} } func (m *GetSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupMsgReq.Unmarshal(m, b) @@ -1068,7 +1068,7 @@ func (m *GetSuperGroupMsgResp) Reset() { *m = GetSuperGroupMsgResp{} } func (m *GetSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupMsgResp) ProtoMessage() {} func (*GetSuperGroupMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{19} + return fileDescriptor_msg_6246423db34ea762, []int{19} } func (m *GetSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupMsgResp.Unmarshal(m, b) @@ -1121,7 +1121,7 @@ func (m *GetWriteDiffMsgReq) Reset() { *m = GetWriteDiffMsgReq{} } func (m *GetWriteDiffMsgReq) String() string { return proto.CompactTextString(m) } func (*GetWriteDiffMsgReq) ProtoMessage() {} func (*GetWriteDiffMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{20} + return fileDescriptor_msg_6246423db34ea762, []int{20} } func (m *GetWriteDiffMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetWriteDiffMsgReq.Unmarshal(m, b) @@ -1168,7 +1168,7 @@ func (m *GetWriteDiffMsgResp) Reset() { *m = GetWriteDiffMsgResp{} } func (m *GetWriteDiffMsgResp) String() string { return proto.CompactTextString(m) } func (*GetWriteDiffMsgResp) ProtoMessage() {} func (*GetWriteDiffMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{21} + return fileDescriptor_msg_6246423db34ea762, []int{21} } func (m *GetWriteDiffMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetWriteDiffMsgResp.Unmarshal(m, b) @@ -1230,7 +1230,7 @@ func (m *ModifyMessageReactionExtensionsReq) Reset() { *m = ModifyMessag func (m *ModifyMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*ModifyMessageReactionExtensionsReq) ProtoMessage() {} func (*ModifyMessageReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{22} + return fileDescriptor_msg_6246423db34ea762, []int{22} } func (m *ModifyMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyMessageReactionExtensionsReq.Unmarshal(m, b) @@ -1348,7 +1348,7 @@ func (m *SetMessageReactionExtensionsReq) Reset() { *m = SetMessageReact func (m *SetMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*SetMessageReactionExtensionsReq) ProtoMessage() {} func (*SetMessageReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{23} + return fileDescriptor_msg_6246423db34ea762, []int{23} } func (m *SetMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMessageReactionExtensionsReq.Unmarshal(m, b) @@ -1461,7 +1461,7 @@ func (m *SetMessageReactionExtensionsResp) Reset() { *m = SetMessageReac func (m *SetMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*SetMessageReactionExtensionsResp) ProtoMessage() {} func (*SetMessageReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{24} + return fileDescriptor_msg_6246423db34ea762, []int{24} } func (m *SetMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMessageReactionExtensionsResp.Unmarshal(m, b) @@ -1538,7 +1538,7 @@ func (m *GetMessageListReactionExtensionsReq) Reset() { *m = GetMessageL func (m *GetMessageListReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*GetMessageListReactionExtensionsReq) ProtoMessage() {} func (*GetMessageListReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{25} + return fileDescriptor_msg_6246423db34ea762, []int{25} } func (m *GetMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMessageListReactionExtensionsReq.Unmarshal(m, b) @@ -1609,7 +1609,7 @@ func (m *GetMessageListReactionExtensionsReq_MessageReactionKey) String() string } func (*GetMessageListReactionExtensionsReq_MessageReactionKey) ProtoMessage() {} func (*GetMessageListReactionExtensionsReq_MessageReactionKey) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{25, 0} + return fileDescriptor_msg_6246423db34ea762, []int{25, 0} } func (m *GetMessageListReactionExtensionsReq_MessageReactionKey) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMessageListReactionExtensionsReq_MessageReactionKey.Unmarshal(m, b) @@ -1656,7 +1656,7 @@ func (m *GetMessageListReactionExtensionsResp) Reset() { *m = GetMessage func (m *GetMessageListReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*GetMessageListReactionExtensionsResp) ProtoMessage() {} func (*GetMessageListReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{26} + return fileDescriptor_msg_6246423db34ea762, []int{26} } func (m *GetMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMessageListReactionExtensionsResp.Unmarshal(m, b) @@ -1711,7 +1711,7 @@ func (m *SingleMessageExtensionResult) Reset() { *m = SingleMessageExten func (m *SingleMessageExtensionResult) String() string { return proto.CompactTextString(m) } func (*SingleMessageExtensionResult) ProtoMessage() {} func (*SingleMessageExtensionResult) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{27} + return fileDescriptor_msg_6246423db34ea762, []int{27} } func (m *SingleMessageExtensionResult) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SingleMessageExtensionResult.Unmarshal(m, b) @@ -1773,7 +1773,7 @@ func (m *ModifyMessageReactionExtensionsResp) Reset() { *m = ModifyMessa func (m *ModifyMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*ModifyMessageReactionExtensionsResp) ProtoMessage() {} func (*ModifyMessageReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{28} + return fileDescriptor_msg_6246423db34ea762, []int{28} } func (m *ModifyMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyMessageReactionExtensionsResp.Unmarshal(m, b) @@ -1840,7 +1840,7 @@ func (m *DeleteMessageListReactionExtensionsReq) Reset() { func (m *DeleteMessageListReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*DeleteMessageListReactionExtensionsReq) ProtoMessage() {} func (*DeleteMessageListReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{29} + return fileDescriptor_msg_6246423db34ea762, []int{29} } func (m *DeleteMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteMessageListReactionExtensionsReq.Unmarshal(m, b) @@ -1924,7 +1924,7 @@ func (m *DeleteMessageListReactionExtensionsResp) Reset() { func (m *DeleteMessageListReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*DeleteMessageListReactionExtensionsResp) ProtoMessage() {} func (*DeleteMessageListReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{30} + return fileDescriptor_msg_6246423db34ea762, []int{30} } func (m *DeleteMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteMessageListReactionExtensionsResp.Unmarshal(m, b) @@ -1978,7 +1978,7 @@ func (m *ExtendMsgResp) Reset() { *m = ExtendMsgResp{} } func (m *ExtendMsgResp) String() string { return proto.CompactTextString(m) } func (*ExtendMsgResp) ProtoMessage() {} func (*ExtendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{31} + return fileDescriptor_msg_6246423db34ea762, []int{31} } func (m *ExtendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExtendMsgResp.Unmarshal(m, b) @@ -2034,7 +2034,7 @@ func (m *ExtendMsg) Reset() { *m = ExtendMsg{} } func (m *ExtendMsg) String() string { return proto.CompactTextString(m) } func (*ExtendMsg) ProtoMessage() {} func (*ExtendMsg) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{32} + return fileDescriptor_msg_6246423db34ea762, []int{32} } func (m *ExtendMsg) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExtendMsg.Unmarshal(m, b) @@ -2102,7 +2102,7 @@ func (m *KeyValueResp) Reset() { *m = KeyValueResp{} } func (m *KeyValueResp) String() string { return proto.CompactTextString(m) } func (*KeyValueResp) ProtoMessage() {} func (*KeyValueResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{33} + return fileDescriptor_msg_6246423db34ea762, []int{33} } func (m *KeyValueResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_KeyValueResp.Unmarshal(m, b) @@ -2156,7 +2156,7 @@ func (m *MsgDataToModifyByMQ) Reset() { *m = MsgDataToModifyByMQ{} } func (m *MsgDataToModifyByMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToModifyByMQ) ProtoMessage() {} func (*MsgDataToModifyByMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{34} + return fileDescriptor_msg_6246423db34ea762, []int{34} } func (m *MsgDataToModifyByMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToModifyByMQ.Unmarshal(m, b) @@ -2776,9 +2776,9 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ Metadata: "msg/msg.proto", } -func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_c38567e4d3a35fd0) } +func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_6246423db34ea762) } -var fileDescriptor_msg_c38567e4d3a35fd0 = []byte{ +var fileDescriptor_msg_6246423db34ea762 = []byte{ // 1668 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x59, 0xcd, 0x6e, 0xdb, 0xc6, 0x16, 0x06, 0x49, 0x4b, 0xb6, 0x8f, 0xec, 0xd8, 0x19, 0x3b, 0xbe, 0x0a, 0x63, 0x20, 0x0a, 0xf3, From edb09f208167bd1773c5e160769896d5814dc52b Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Thu, 22 Dec 2022 17:25:14 +0800 Subject: [PATCH 134/176] callback update --- internal/msg_gateway/gate/ws_server.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/msg_gateway/gate/ws_server.go b/internal/msg_gateway/gate/ws_server.go index 0d5869e11..129e638db 100644 --- a/internal/msg_gateway/gate/ws_server.go +++ b/internal/msg_gateway/gate/ws_server.go @@ -388,7 +388,7 @@ func (ws *WServer) delUserConn(conn *UserConn) { if err != nil { log.Error(operationID, " close err", "", "uid", uid, "platform", platform) } - callbackResp := callbackUserOffline(operationID, conn.userID, platform, conn.connID) + callbackResp := callbackUserOffline(operationID, conn.userID, int(conn.PlatformID), conn.connID) if callbackResp.ErrCode != 0 { log.NewError(operationID, utils.GetSelfFuncName(), "callbackUserOffline failed", callbackResp) } From e8dc5ce08530eebae1f1c94bf1b9d03ed1a9ebe9 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Thu, 22 Dec 2022 17:35:09 +0800 Subject: [PATCH 135/176] push --- internal/push/getui/push.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/push/getui/push.go b/internal/push/getui/push.go index cd86d64ae..0c337dba8 100644 --- a/internal/push/getui/push.go +++ b/internal/push/getui/push.go @@ -167,7 +167,7 @@ func (g *Getui) Push(userIDList []string, title, detailContent, operationID stri return "", utils.Wrap(err, "GetTaskIDAndSave2Redis failed") } pushReq = PushReq{Audience: &Audience{Alias: userIDList}} - var IsAsync = false + var IsAsync = true pushReq.IsAsync = &IsAsync pushReq.Taskid = &taskID err = g.request(BatchPushURL, pushReq, token, &pushResp, operationID) From 16a7bc63f2a3f93467fa1e750d88933d920424b0 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Thu, 22 Dec 2022 17:37:34 +0800 Subject: [PATCH 136/176] callback update --- internal/msg_gateway/gate/ws_server.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/internal/msg_gateway/gate/ws_server.go b/internal/msg_gateway/gate/ws_server.go index 129e638db..e442443f9 100644 --- a/internal/msg_gateway/gate/ws_server.go +++ b/internal/msg_gateway/gate/ws_server.go @@ -388,6 +388,9 @@ func (ws *WServer) delUserConn(conn *UserConn) { if err != nil { log.Error(operationID, " close err", "", "uid", uid, "platform", platform) } + if conn.PlatformID == 0 || conn.connID == "" { + log.NewWarn(operationID, utils.GetSelfFuncName(), "PlatformID or connID is null", conn.PlatformID, conn.connID) + } callbackResp := callbackUserOffline(operationID, conn.userID, int(conn.PlatformID), conn.connID) if callbackResp.ErrCode != 0 { log.NewError(operationID, utils.GetSelfFuncName(), "callbackUserOffline failed", callbackResp) From a7f44b6ce7ce15e0d247595fa7b8aa4e9d594af5 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Fri, 23 Dec 2022 16:05:51 +0800 Subject: [PATCH 137/176] callback update --- internal/rpc/msg/extend_msg.go | 67 +++++ internal/rpc/msg/extend_msg.notification.go | 8 + internal/rpc/msg/extend_msg_callback.go | 83 +++--- pkg/base_info/msg.go | 1 + pkg/proto/msg/msg.pb.go | 288 ++++++++++---------- pkg/proto/msg/msg.proto | 5 +- 6 files changed, 265 insertions(+), 187 deletions(-) diff --git a/internal/rpc/msg/extend_msg.go b/internal/rpc/msg/extend_msg.go index 6be933548..a7ba9ddd1 100644 --- a/internal/rpc/msg/extend_msg.go +++ b/internal/rpc/msg/extend_msg.go @@ -1,6 +1,7 @@ package msg import ( + "Open_IM/pkg/common/constant" "Open_IM/pkg/common/db" "Open_IM/pkg/common/log" "Open_IM/pkg/proto/msg" @@ -17,6 +18,40 @@ func (rpc *rpcChat) SetMessageReactionExtensions(ctx context.Context, req *msg.S var rResp msg.SetMessageReactionExtensionsResp rResp.ClientMsgID = req.ClientMsgID rResp.MsgFirstModifyTime = req.MsgFirstModifyTime + callbackResp := callbackSetMessageReactionExtensions(req) + if callbackResp.ActionCode != constant.ActionAllow || callbackResp.ErrCode != 0 { + rResp.ErrCode = int32(callbackResp.ErrCode) + rResp.ErrMsg = callbackResp.ErrMsg + for _, value := range req.ReactionExtensionList { + temp := new(msg.KeyValueResp) + temp.KeyValue = value + temp.ErrMsg = callbackResp.ErrMsg + temp.ErrCode = 100 + rResp.Result = append(rResp.Result, temp) + } + return &rResp, nil + } + //if ExternalExtension + if req.IsExternalExtensions { + var isHistory bool + if req.IsReact { + isHistory = false + } else { + isHistory = true + } + rResp.MsgFirstModifyTime = callbackResp.MsgFirstModifyTime + rResp.Result = callbackResp.ResultReactionExtensionList + ExtendMessageUpdatedNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, isHistory, false) + return &rResp, nil + } + for _, v := range callbackResp.ResultReactionExtensionList { + if v.ErrCode == 0 { + req.ReactionExtensionList[v.KeyValue.TypeKey] = v.KeyValue + } else { + delete(req.ReactionExtensionList, v.KeyValue.TypeKey) + rResp.Result = append(rResp.Result, v) + } + } isExists, err := db.DB.JudgeMessageReactionEXISTS(req.ClientMsgID, req.SessionType) if err != nil { rResp.ErrCode = 100 @@ -243,6 +278,38 @@ func (rpc *rpcChat) AddMessageReactionExtensions(ctx context.Context, req *msg.M func (rpc *rpcChat) DeleteMessageReactionExtensions(ctx context.Context, req *msg.DeleteMessageListReactionExtensionsReq) (resp *msg.DeleteMessageListReactionExtensionsResp, err error) { log.Debug(req.OperationID, utils.GetSelfFuncName(), "rpc args is:", req.String()) var rResp msg.DeleteMessageListReactionExtensionsResp + callbackResp := callbackDeleteMessageReactionExtensions(req) + if callbackResp.ActionCode != constant.ActionAllow || callbackResp.ErrCode != 0 { + rResp.ErrCode = int32(callbackResp.ErrCode) + rResp.ErrMsg = callbackResp.ErrMsg + for _, value := range req.ReactionExtensionList { + temp := new(msg.KeyValueResp) + temp.KeyValue = value + temp.ErrMsg = callbackResp.ErrMsg + temp.ErrCode = 100 + rResp.Result = append(rResp.Result, temp) + } + return &rResp, nil + } + //if ExternalExtension + if req.IsExternalExtensions { + rResp.Result = callbackResp.ResultReactionExtensionList + ExtendMessageDeleteNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, false, false) + return &rResp, nil + + } + for _, v := range callbackResp.ResultReactionExtensionList { + if v.ErrCode != 0 { + func(req *[]*server_api_params.KeyValue, typeKey string) { + for i := 0; i < len(*req); i++ { + if (*req)[i].TypeKey == typeKey { + *req = append((*req)[:i], (*req)[i+1:]...) + } + } + }(&req.ReactionExtensionList, v.KeyValue.TypeKey) + rResp.Result = append(rResp.Result, v) + } + } isExists, err := db.DB.JudgeMessageReactionEXISTS(req.ClientMsgID, req.SessionType) if err != nil { rResp.ErrCode = 100 diff --git a/internal/rpc/msg/extend_msg.notification.go b/internal/rpc/msg/extend_msg.notification.go index 6867de511..971f2f797 100644 --- a/internal/rpc/msg/extend_msg.notification.go +++ b/internal/rpc/msg/extend_msg.notification.go @@ -25,6 +25,10 @@ func ExtendMessageUpdatedNotification(operationID, sendID string, sourceID strin keyMap[valueResp.KeyValue.TypeKey] = valueResp.KeyValue } } + if len(keyMap) == 0 { + log.NewWarn(operationID, "all key set failed can not send notification", *req) + return + } m.SuccessReactionExtensionList = keyMap m.ClientMsgID = req.ClientMsgID m.IsReact = resp.IsReact @@ -44,6 +48,10 @@ func ExtendMessageDeleteNotification(operationID, sendID string, sourceID string keyMap[valueResp.KeyValue.TypeKey] = valueResp.KeyValue } } + if len(keyMap) == 0 { + log.NewWarn(operationID, "all key set failed can not send notification", *req) + return + } m.SuccessReactionExtensionList = keyMap m.ClientMsgID = req.ClientMsgID m.MsgFirstModifyTime = req.MsgFirstModifyTime diff --git a/internal/rpc/msg/extend_msg_callback.go b/internal/rpc/msg/extend_msg_callback.go index 6e7b1a991..65ae8d7b3 100644 --- a/internal/rpc/msg/extend_msg_callback.go +++ b/internal/rpc/msg/extend_msg_callback.go @@ -2,6 +2,7 @@ package msg import ( cbApi "Open_IM/pkg/call_back_struct" + "Open_IM/pkg/common/config" "Open_IM/pkg/common/constant" "Open_IM/pkg/common/http" "Open_IM/pkg/common/log" @@ -10,58 +11,50 @@ import ( http2 "net/http" ) -func callbackSetMessageReactionExtensions(req *msg.SetMessageReactionExtensionsReq) cbApi.CommonCallbackResp { - callbackResp := cbApi.CommonCallbackResp{OperationID: req.OperationID} - log.NewDebug(req.OperationID, utils.GetSelfFuncName(), req.String()) - -} - -func callbackDeleteMessageReactionExtensions(req *msg.DeleteMessageListReactionExtensionsReq) { - -} -func callbackAfterSendGroupMsg(msg *pbChat.SendMsgReq) cbApi.CommonCallbackResp { - callbackResp := cbApi.CommonCallbackResp{OperationID: msg.OperationID} - if !config.Config.Callback.CallbackAfterSendGroupMsg.Enable { - return callbackResp +func callbackSetMessageReactionExtensions(setReq *msg.SetMessageReactionExtensionsReq) *cbApi.CallbackBeforeSetMessageReactionExtResp { + callbackResp := cbApi.CommonCallbackResp{OperationID: setReq.OperationID} + log.NewDebug(setReq.OperationID, utils.GetSelfFuncName(), setReq.String()) + req := cbApi.CallbackBeforeSetMessageReactionExtReq{ + OperationID: setReq.OperationID, + CallbackCommand: constant.CallbackBeforeSetMessageReactionExtensionCommand, + SourceID: setReq.SourceID, + OpUserID: setReq.OpUserID, + SessionType: setReq.SessionType, + ReactionExtensionList: setReq.ReactionExtensionList, + ClientMsgID: setReq.ClientMsgID, + IsReact: setReq.IsReact, + IsExternalExtensions: setReq.IsExternalExtensions, + MsgFirstModifyTime: setReq.MsgFirstModifyTime, } - log.NewDebug(msg.OperationID, utils.GetSelfFuncName(), msg) - commonCallbackReq := copyCallbackCommonReqStruct(msg) - commonCallbackReq.CallbackCommand = constant.CallbackAfterSendGroupMsgCommand - req := cbApi.CallbackAfterSendGroupMsgReq{ - CommonCallbackReq: commonCallbackReq, - GroupID: msg.MsgData.GroupID, - } - resp := &cbApi.CallbackAfterSendGroupMsgResp{CommonCallbackResp: &callbackResp} - defer log.NewDebug(msg.OperationID, utils.GetSelfFuncName(), req, *resp) - if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackAfterSendGroupMsgCommand, req, resp, config.Config.Callback.CallbackAfterSendGroupMsg.CallbackTimeOut); err != nil { + resp := &cbApi.CallbackBeforeSetMessageReactionExtResp{CommonCallbackResp: &callbackResp} + defer log.NewDebug(setReq.OperationID, utils.GetSelfFuncName(), req, *resp) + if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackBeforeSetMessageReactionExtensionCommand, req, resp, config.Config.Callback.CallbackAfterSendGroupMsg.CallbackTimeOut); err != nil { callbackResp.ErrCode = http2.StatusInternalServerError callbackResp.ErrMsg = err.Error() - return callbackResp } - return callbackResp -} -func callbackBeforeSendSingleMsg(msg *pbChat.SendMsgReq) cbApi.CommonCallbackResp { + return resp - commonCallbackReq.CallbackCommand = constant.CallbackBeforeSendSingleMsgCommand - req := cbApi.CallbackBeforeSendSingleMsgReq{ - CommonCallbackReq: commonCallbackReq, - RecvID: msg.MsgData.RecvID, +} + +func callbackDeleteMessageReactionExtensions(setReq *msg.DeleteMessageListReactionExtensionsReq) *cbApi.CallbackDeleteMessageReactionExtResp { + callbackResp := cbApi.CommonCallbackResp{OperationID: setReq.OperationID} + log.NewDebug(setReq.OperationID, utils.GetSelfFuncName(), setReq.String()) + req := cbApi.CallbackDeleteMessageReactionExtReq{ + OperationID: setReq.OperationID, + CallbackCommand: constant.CallbackBeforeDeleteMessageReactionExtensionsCommand, + SourceID: setReq.SourceID, + OpUserID: setReq.OpUserID, + SessionType: setReq.SessionType, + ReactionExtensionList: setReq.ReactionExtensionList, + ClientMsgID: setReq.ClientMsgID, + IsExternalExtensions: setReq.IsExternalExtensions, + MsgFirstModifyTime: setReq.MsgFirstModifyTime, } - resp := &cbApi.CallbackBeforeSendSingleMsgResp{ - CommonCallbackResp: &callbackResp, - } - //utils.CopyStructFields(req, msg.MsgData) - defer log.NewDebug(msg.OperationID, utils.GetSelfFuncName(), req, *resp) - if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackBeforeSendSingleMsgCommand, req, resp, config.Config.Callback.CallbackBeforeSendSingleMsg.CallbackTimeOut); err != nil { + resp := &cbApi.CallbackDeleteMessageReactionExtResp{CommonCallbackResp: &callbackResp} + defer log.NewDebug(setReq.OperationID, utils.GetSelfFuncName(), req, *resp) + if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackBeforeDeleteMessageReactionExtensionsCommand, req, resp, config.Config.Callback.CallbackAfterSendGroupMsg.CallbackTimeOut); err != nil { callbackResp.ErrCode = http2.StatusInternalServerError callbackResp.ErrMsg = err.Error() - if !config.Config.Callback.CallbackBeforeSendSingleMsg.CallbackFailedContinue { - callbackResp.ActionCode = constant.ActionForbidden - return callbackResp - } else { - callbackResp.ActionCode = constant.ActionAllow - return callbackResp - } } - return callbackResp + return resp } diff --git a/pkg/base_info/msg.go b/pkg/base_info/msg.go index 61a94ef72..5a7c7f538 100644 --- a/pkg/base_info/msg.go +++ b/pkg/base_info/msg.go @@ -110,6 +110,7 @@ type DeleteMessageReactionExtensionsReq struct { SourceID string `json:"sourceID" binding:"required"` SessionType int32 `json:"sessionType" binding:"required"` ClientMsgID string `json:"clientMsgID" binding:"required"` + IsExternalExtensions bool `json:"isExternalExtensions"` MsgFirstModifyTime int64 `json:"msgFirstModifyTime" binding:"required"` ReactionExtensionList []*sdk_ws.KeyValue `json:"reactionExtensionList" binding:"required"` } diff --git a/pkg/proto/msg/msg.pb.go b/pkg/proto/msg/msg.pb.go index a71fff6d8..bdb1e3464 100644 --- a/pkg/proto/msg/msg.pb.go +++ b/pkg/proto/msg/msg.pb.go @@ -38,7 +38,7 @@ func (m *MsgDataToMQ) Reset() { *m = MsgDataToMQ{} } func (m *MsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMQ) ProtoMessage() {} func (*MsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{0} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{0} } func (m *MsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMQ.Unmarshal(m, b) @@ -91,7 +91,7 @@ func (m *MsgDataToDB) Reset() { *m = MsgDataToDB{} } func (m *MsgDataToDB) String() string { return proto.CompactTextString(m) } func (*MsgDataToDB) ProtoMessage() {} func (*MsgDataToDB) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{1} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{1} } func (m *MsgDataToDB) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToDB.Unmarshal(m, b) @@ -138,7 +138,7 @@ func (m *PushMsgDataToMQ) Reset() { *m = PushMsgDataToMQ{} } func (m *PushMsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*PushMsgDataToMQ) ProtoMessage() {} func (*PushMsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{2} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{2} } func (m *PushMsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PushMsgDataToMQ.Unmarshal(m, b) @@ -193,7 +193,7 @@ func (m *MsgDataToMongoByMQ) Reset() { *m = MsgDataToMongoByMQ{} } func (m *MsgDataToMongoByMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMongoByMQ) ProtoMessage() {} func (*MsgDataToMongoByMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{3} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{3} } func (m *MsgDataToMongoByMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMongoByMQ.Unmarshal(m, b) @@ -273,7 +273,7 @@ func (m *GetMaxAndMinSeqReq) Reset() { *m = GetMaxAndMinSeqReq{} } func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqReq) ProtoMessage() {} func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{4} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{4} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -321,7 +321,7 @@ func (m *GetMaxAndMinSeqResp) Reset() { *m = GetMaxAndMinSeqResp{} } func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqResp) ProtoMessage() {} func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{5} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{5} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -382,7 +382,7 @@ func (m *SendMsgReq) Reset() { *m = SendMsgReq{} } func (m *SendMsgReq) String() string { return proto.CompactTextString(m) } func (*SendMsgReq) ProtoMessage() {} func (*SendMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{6} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{6} } func (m *SendMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgReq.Unmarshal(m, b) @@ -438,7 +438,7 @@ func (m *SendMsgResp) Reset() { *m = SendMsgResp{} } func (m *SendMsgResp) String() string { return proto.CompactTextString(m) } func (*SendMsgResp) ProtoMessage() {} func (*SendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{7} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{7} } func (m *SendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgResp.Unmarshal(m, b) @@ -506,7 +506,7 @@ func (m *ClearMsgReq) Reset() { *m = ClearMsgReq{} } func (m *ClearMsgReq) String() string { return proto.CompactTextString(m) } func (*ClearMsgReq) ProtoMessage() {} func (*ClearMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{8} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{8} } func (m *ClearMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgReq.Unmarshal(m, b) @@ -559,7 +559,7 @@ func (m *ClearMsgResp) Reset() { *m = ClearMsgResp{} } func (m *ClearMsgResp) String() string { return proto.CompactTextString(m) } func (*ClearMsgResp) ProtoMessage() {} func (*ClearMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{9} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{9} } func (m *ClearMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgResp.Unmarshal(m, b) @@ -608,7 +608,7 @@ func (m *SetMsgMinSeqReq) Reset() { *m = SetMsgMinSeqReq{} } func (m *SetMsgMinSeqReq) String() string { return proto.CompactTextString(m) } func (*SetMsgMinSeqReq) ProtoMessage() {} func (*SetMsgMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{10} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{10} } func (m *SetMsgMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqReq.Unmarshal(m, b) @@ -675,7 +675,7 @@ func (m *SetMsgMinSeqResp) Reset() { *m = SetMsgMinSeqResp{} } func (m *SetMsgMinSeqResp) String() string { return proto.CompactTextString(m) } func (*SetMsgMinSeqResp) ProtoMessage() {} func (*SetMsgMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{11} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{11} } func (m *SetMsgMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqResp.Unmarshal(m, b) @@ -721,7 +721,7 @@ func (m *SetSendMsgStatusReq) Reset() { *m = SetSendMsgStatusReq{} } func (m *SetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (*SetSendMsgStatusReq) ProtoMessage() {} func (*SetSendMsgStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{12} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{12} } func (m *SetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgStatusReq.Unmarshal(m, b) @@ -767,7 +767,7 @@ func (m *SetSendMsgStatusResp) Reset() { *m = SetSendMsgStatusResp{} } func (m *SetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (*SetSendMsgStatusResp) ProtoMessage() {} func (*SetSendMsgStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{13} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{13} } func (m *SetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgStatusResp.Unmarshal(m, b) @@ -812,7 +812,7 @@ func (m *GetSendMsgStatusReq) Reset() { *m = GetSendMsgStatusReq{} } func (m *GetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (*GetSendMsgStatusReq) ProtoMessage() {} func (*GetSendMsgStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{14} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{14} } func (m *GetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusReq.Unmarshal(m, b) @@ -852,7 +852,7 @@ func (m *GetSendMsgStatusResp) Reset() { *m = GetSendMsgStatusResp{} } func (m *GetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (*GetSendMsgStatusResp) ProtoMessage() {} func (*GetSendMsgStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{15} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{15} } func (m *GetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusResp.Unmarshal(m, b) @@ -907,7 +907,7 @@ func (m *DelSuperGroupMsgReq) Reset() { *m = DelSuperGroupMsgReq{} } func (m *DelSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (*DelSuperGroupMsgReq) ProtoMessage() {} func (*DelSuperGroupMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{16} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{16} } func (m *DelSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelSuperGroupMsgReq.Unmarshal(m, b) @@ -967,7 +967,7 @@ func (m *DelSuperGroupMsgResp) Reset() { *m = DelSuperGroupMsgResp{} } func (m *DelSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (*DelSuperGroupMsgResp) ProtoMessage() {} func (*DelSuperGroupMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{17} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{17} } func (m *DelSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelSuperGroupMsgResp.Unmarshal(m, b) @@ -1014,7 +1014,7 @@ func (m *GetSuperGroupMsgReq) Reset() { *m = GetSuperGroupMsgReq{} } func (m *GetSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupMsgReq) ProtoMessage() {} func (*GetSuperGroupMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{18} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{18} } func (m *GetSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupMsgReq.Unmarshal(m, b) @@ -1068,7 +1068,7 @@ func (m *GetSuperGroupMsgResp) Reset() { *m = GetSuperGroupMsgResp{} } func (m *GetSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupMsgResp) ProtoMessage() {} func (*GetSuperGroupMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{19} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{19} } func (m *GetSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupMsgResp.Unmarshal(m, b) @@ -1121,7 +1121,7 @@ func (m *GetWriteDiffMsgReq) Reset() { *m = GetWriteDiffMsgReq{} } func (m *GetWriteDiffMsgReq) String() string { return proto.CompactTextString(m) } func (*GetWriteDiffMsgReq) ProtoMessage() {} func (*GetWriteDiffMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{20} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{20} } func (m *GetWriteDiffMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetWriteDiffMsgReq.Unmarshal(m, b) @@ -1168,7 +1168,7 @@ func (m *GetWriteDiffMsgResp) Reset() { *m = GetWriteDiffMsgResp{} } func (m *GetWriteDiffMsgResp) String() string { return proto.CompactTextString(m) } func (*GetWriteDiffMsgResp) ProtoMessage() {} func (*GetWriteDiffMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{21} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{21} } func (m *GetWriteDiffMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetWriteDiffMsgResp.Unmarshal(m, b) @@ -1230,7 +1230,7 @@ func (m *ModifyMessageReactionExtensionsReq) Reset() { *m = ModifyMessag func (m *ModifyMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*ModifyMessageReactionExtensionsReq) ProtoMessage() {} func (*ModifyMessageReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{22} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{22} } func (m *ModifyMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyMessageReactionExtensionsReq.Unmarshal(m, b) @@ -1348,7 +1348,7 @@ func (m *SetMessageReactionExtensionsReq) Reset() { *m = SetMessageReact func (m *SetMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*SetMessageReactionExtensionsReq) ProtoMessage() {} func (*SetMessageReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{23} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{23} } func (m *SetMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMessageReactionExtensionsReq.Unmarshal(m, b) @@ -1461,7 +1461,7 @@ func (m *SetMessageReactionExtensionsResp) Reset() { *m = SetMessageReac func (m *SetMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*SetMessageReactionExtensionsResp) ProtoMessage() {} func (*SetMessageReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{24} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{24} } func (m *SetMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMessageReactionExtensionsResp.Unmarshal(m, b) @@ -1538,7 +1538,7 @@ func (m *GetMessageListReactionExtensionsReq) Reset() { *m = GetMessageL func (m *GetMessageListReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*GetMessageListReactionExtensionsReq) ProtoMessage() {} func (*GetMessageListReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{25} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{25} } func (m *GetMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMessageListReactionExtensionsReq.Unmarshal(m, b) @@ -1609,7 +1609,7 @@ func (m *GetMessageListReactionExtensionsReq_MessageReactionKey) String() string } func (*GetMessageListReactionExtensionsReq_MessageReactionKey) ProtoMessage() {} func (*GetMessageListReactionExtensionsReq_MessageReactionKey) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{25, 0} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{25, 0} } func (m *GetMessageListReactionExtensionsReq_MessageReactionKey) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMessageListReactionExtensionsReq_MessageReactionKey.Unmarshal(m, b) @@ -1656,7 +1656,7 @@ func (m *GetMessageListReactionExtensionsResp) Reset() { *m = GetMessage func (m *GetMessageListReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*GetMessageListReactionExtensionsResp) ProtoMessage() {} func (*GetMessageListReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{26} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{26} } func (m *GetMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMessageListReactionExtensionsResp.Unmarshal(m, b) @@ -1711,7 +1711,7 @@ func (m *SingleMessageExtensionResult) Reset() { *m = SingleMessageExten func (m *SingleMessageExtensionResult) String() string { return proto.CompactTextString(m) } func (*SingleMessageExtensionResult) ProtoMessage() {} func (*SingleMessageExtensionResult) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{27} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{27} } func (m *SingleMessageExtensionResult) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SingleMessageExtensionResult.Unmarshal(m, b) @@ -1773,7 +1773,7 @@ func (m *ModifyMessageReactionExtensionsResp) Reset() { *m = ModifyMessa func (m *ModifyMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*ModifyMessageReactionExtensionsResp) ProtoMessage() {} func (*ModifyMessageReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{28} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{28} } func (m *ModifyMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyMessageReactionExtensionsResp.Unmarshal(m, b) @@ -1827,8 +1827,9 @@ type DeleteMessageListReactionExtensionsReq struct { SourceID string `protobuf:"bytes,3,opt,name=sourceID" json:"sourceID,omitempty"` SessionType int32 `protobuf:"varint,4,opt,name=sessionType" json:"sessionType,omitempty"` ClientMsgID string `protobuf:"bytes,5,opt,name=clientMsgID" json:"clientMsgID,omitempty"` - MsgFirstModifyTime int64 `protobuf:"varint,6,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"` - ReactionExtensionList []*sdk_ws.KeyValue `protobuf:"bytes,7,rep,name=reactionExtensionList" json:"reactionExtensionList,omitempty"` + IsExternalExtensions bool `protobuf:"varint,6,opt,name=isExternalExtensions" json:"isExternalExtensions,omitempty"` + MsgFirstModifyTime int64 `protobuf:"varint,7,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"` + ReactionExtensionList []*sdk_ws.KeyValue `protobuf:"bytes,8,rep,name=reactionExtensionList" json:"reactionExtensionList,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -1840,7 +1841,7 @@ func (m *DeleteMessageListReactionExtensionsReq) Reset() { func (m *DeleteMessageListReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*DeleteMessageListReactionExtensionsReq) ProtoMessage() {} func (*DeleteMessageListReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{29} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{29} } func (m *DeleteMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteMessageListReactionExtensionsReq.Unmarshal(m, b) @@ -1895,6 +1896,13 @@ func (m *DeleteMessageListReactionExtensionsReq) GetClientMsgID() string { return "" } +func (m *DeleteMessageListReactionExtensionsReq) GetIsExternalExtensions() bool { + if m != nil { + return m.IsExternalExtensions + } + return false +} + func (m *DeleteMessageListReactionExtensionsReq) GetMsgFirstModifyTime() int64 { if m != nil { return m.MsgFirstModifyTime @@ -1924,7 +1932,7 @@ func (m *DeleteMessageListReactionExtensionsResp) Reset() { func (m *DeleteMessageListReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*DeleteMessageListReactionExtensionsResp) ProtoMessage() {} func (*DeleteMessageListReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{30} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{30} } func (m *DeleteMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteMessageListReactionExtensionsResp.Unmarshal(m, b) @@ -1978,7 +1986,7 @@ func (m *ExtendMsgResp) Reset() { *m = ExtendMsgResp{} } func (m *ExtendMsgResp) String() string { return proto.CompactTextString(m) } func (*ExtendMsgResp) ProtoMessage() {} func (*ExtendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{31} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{31} } func (m *ExtendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExtendMsgResp.Unmarshal(m, b) @@ -2034,7 +2042,7 @@ func (m *ExtendMsg) Reset() { *m = ExtendMsg{} } func (m *ExtendMsg) String() string { return proto.CompactTextString(m) } func (*ExtendMsg) ProtoMessage() {} func (*ExtendMsg) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{32} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{32} } func (m *ExtendMsg) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExtendMsg.Unmarshal(m, b) @@ -2102,7 +2110,7 @@ func (m *KeyValueResp) Reset() { *m = KeyValueResp{} } func (m *KeyValueResp) String() string { return proto.CompactTextString(m) } func (*KeyValueResp) ProtoMessage() {} func (*KeyValueResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{33} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{33} } func (m *KeyValueResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_KeyValueResp.Unmarshal(m, b) @@ -2156,7 +2164,7 @@ func (m *MsgDataToModifyByMQ) Reset() { *m = MsgDataToModifyByMQ{} } func (m *MsgDataToModifyByMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToModifyByMQ) ProtoMessage() {} func (*MsgDataToModifyByMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{34} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{34} } func (m *MsgDataToModifyByMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToModifyByMQ.Unmarshal(m, b) @@ -2776,113 +2784,113 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ Metadata: "msg/msg.proto", } -func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_6246423db34ea762) } +func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_4f5a59ae8be91efc) } -var fileDescriptor_msg_6246423db34ea762 = []byte{ - // 1668 bytes of a gzipped FileDescriptorProto +var fileDescriptor_msg_4f5a59ae8be91efc = []byte{ + // 1672 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x59, 0xcd, 0x6e, 0xdb, 0xc6, 0x16, 0x06, 0x49, 0x4b, 0xb6, 0x8f, 0xec, 0xd8, 0x19, 0x3b, 0xbe, 0x0a, 0x63, 0x20, 0x0a, 0xf3, 0xa7, 0xdc, 0x24, 0x32, 0xae, 0xef, 0x05, 0x72, 0xd1, 0x14, 0x68, 0xe2, 0xc8, 0x55, 0x8c, 0x94, 0x75, 0x4c, 0xb9, 0x2d, 0xd0, 0x2e, 0x1c, 0x46, 0x1a, 0x33, 0x84, 0x25, 0x92, 0xe6, 0x50, 0xb1, - 0xd5, 0xbf, 0x5d, 0x8b, 0x02, 0x45, 0x16, 0x5d, 0x76, 0xd5, 0x5d, 0x77, 0x7d, 0x88, 0x2e, 0xbb, - 0x28, 0xfa, 0x20, 0x7d, 0x87, 0xa2, 0x98, 0x19, 0x4a, 0x1a, 0xfe, 0x59, 0xb4, 0x5c, 0x04, 0x29, - 0xd0, 0x9d, 0xce, 0xf0, 0xcc, 0x99, 0xef, 0x3b, 0xe7, 0x9b, 0xe1, 0xf0, 0x08, 0xe6, 0xbb, 0xc4, - 0x5a, 0xeb, 0x12, 0xab, 0xe6, 0xf9, 0x6e, 0xe0, 0x22, 0xa5, 0x4b, 0x2c, 0xb5, 0xba, 0xed, 0x61, - 0xe7, 0xee, 0x96, 0x7e, 0xb7, 0x89, 0xfd, 0x97, 0xd8, 0x5f, 0xf3, 0x0e, 0xac, 0x35, 0xf6, 0x78, - 0x8d, 0xb4, 0x0f, 0xf6, 0x8e, 0xc8, 0xda, 0x11, 0xe1, 0xee, 0x6a, 0x6d, 0xac, 0xa7, 0x6f, 0x7a, - 0x1e, 0xf6, 0x43, 0x7f, 0xed, 0x33, 0x28, 0xe9, 0xc4, 0xaa, 0x9b, 0x81, 0xb9, 0xeb, 0xea, 0x3b, - 0x68, 0x19, 0x0a, 0x81, 0x7b, 0x80, 0x9d, 0xb2, 0x54, 0x91, 0xaa, 0xb3, 0x06, 0x37, 0x50, 0x05, - 0x4a, 0xae, 0x87, 0x7d, 0x33, 0xb0, 0x5d, 0x67, 0xab, 0x5e, 0x96, 0xd9, 0x33, 0x71, 0x08, 0xfd, - 0x0f, 0xa6, 0xbb, 0x3c, 0x4c, 0x59, 0xa9, 0x48, 0xd5, 0xd2, 0xba, 0x5a, 0x23, 0x0c, 0xc0, 0x9e, - 0xe9, 0xd9, 0x7b, 0x9e, 0xe9, 0x9b, 0x5d, 0x52, 0x0b, 0x17, 0x32, 0x06, 0xae, 0x1a, 0x16, 0x16, - 0xaf, 0x6f, 0x88, 0x41, 0xa4, 0xdc, 0x41, 0xc6, 0x83, 0xd3, 0x5e, 0x49, 0xb0, 0xf0, 0xb4, 0x47, - 0x5e, 0x88, 0x44, 0x2b, 0x50, 0xda, 0x16, 0x66, 0x71, 0xba, 0xe2, 0x90, 0x88, 0x46, 0xce, 0x8f, - 0x46, 0x83, 0x39, 0xaf, 0x47, 0x5e, 0xec, 0xba, 0x1f, 0x10, 0xec, 0x6f, 0xd5, 0x59, 0x36, 0x66, - 0x8d, 0xc8, 0x98, 0xf6, 0xa3, 0x04, 0x68, 0x84, 0xc5, 0x75, 0x2c, 0x77, 0xa3, 0xaf, 0xef, 0xa0, - 0x32, 0x4c, 0x77, 0x4c, 0x12, 0x34, 0xf1, 0x21, 0x83, 0x33, 0x65, 0x0c, 0x4c, 0x74, 0x0d, 0xe6, - 0x4d, 0xcb, 0xf2, 0xb1, 0x15, 0x25, 0x19, 0x1d, 0x44, 0xeb, 0x50, 0xea, 0x62, 0x42, 0x4c, 0x0b, - 0xbf, 0x67, 0x93, 0xa0, 0xac, 0x54, 0x94, 0x6a, 0x69, 0x7d, 0xb1, 0x46, 0xa5, 0x24, 0x30, 0x37, - 0x44, 0x27, 0xb4, 0x0a, 0xb3, 0x81, 0x6f, 0x5b, 0x16, 0xc3, 0x3a, 0xc5, 0xa2, 0x8e, 0x06, 0xb4, - 0xf7, 0x01, 0x35, 0x70, 0xa0, 0x9b, 0xc7, 0x0f, 0x9d, 0xb6, 0x6e, 0x3b, 0x4d, 0x7c, 0x68, 0xe0, - 0x43, 0xb4, 0x02, 0xc5, 0x90, 0x1c, 0xcf, 0x5a, 0x68, 0xc5, 0x53, 0x2a, 0x27, 0x52, 0xaa, 0x1d, - 0xc1, 0x52, 0x22, 0x1e, 0xf1, 0x28, 0xf1, 0x4d, 0xdf, 0x7f, 0xe4, 0xb6, 0x31, 0x8b, 0x58, 0x30, - 0x06, 0x26, 0x5d, 0x6a, 0xd3, 0xf7, 0x75, 0x62, 0x85, 0xd1, 0x42, 0x8b, 0x8e, 0xeb, 0xe6, 0x31, - 0xcd, 0x14, 0xcd, 0xef, 0xbc, 0x11, 0x5a, 0x6c, 0x9c, 0xc5, 0x65, 0x5c, 0xe8, 0x38, 0xb3, 0xb4, + 0xd5, 0xbf, 0x5d, 0x8b, 0x02, 0x45, 0x16, 0x5d, 0x76, 0xd5, 0x5d, 0x77, 0x7d, 0x88, 0x3e, 0x40, + 0xd1, 0x07, 0xe9, 0x33, 0xb4, 0x28, 0x66, 0x86, 0x92, 0x86, 0x7f, 0x16, 0x2d, 0x17, 0x41, 0x0a, + 0x74, 0xa7, 0x99, 0x39, 0x73, 0xe6, 0xfb, 0xce, 0xf9, 0xe6, 0x87, 0x47, 0x30, 0xdf, 0x25, 0xd6, + 0x5a, 0x97, 0x58, 0x35, 0xcf, 0x77, 0x03, 0x17, 0x29, 0x5d, 0x62, 0xa9, 0xd5, 0x6d, 0x0f, 0x3b, + 0x77, 0xb7, 0xf4, 0xbb, 0x4d, 0xec, 0xbf, 0xc4, 0xfe, 0x9a, 0x77, 0x60, 0xad, 0xb1, 0xe1, 0x35, + 0xd2, 0x3e, 0xd8, 0x3b, 0x22, 0x6b, 0x47, 0x84, 0x9b, 0xab, 0xb5, 0xb1, 0x96, 0xbe, 0xe9, 0x79, + 0xd8, 0x0f, 0xed, 0xb5, 0xcf, 0xa0, 0xa4, 0x13, 0xab, 0x6e, 0x06, 0xe6, 0xae, 0xab, 0xef, 0xa0, + 0x65, 0x28, 0x04, 0xee, 0x01, 0x76, 0xca, 0x52, 0x45, 0xaa, 0xce, 0x1a, 0xbc, 0x81, 0x2a, 0x50, + 0x72, 0x3d, 0xec, 0x9b, 0x81, 0xed, 0x3a, 0x5b, 0xf5, 0xb2, 0xcc, 0xc6, 0xc4, 0x2e, 0xf4, 0x3f, + 0x98, 0xee, 0x72, 0x37, 0x65, 0xa5, 0x22, 0x55, 0x4b, 0xeb, 0x6a, 0x8d, 0x30, 0x00, 0x7b, 0xa6, + 0x67, 0xef, 0x79, 0xa6, 0x6f, 0x76, 0x49, 0x2d, 0x5c, 0xc8, 0x18, 0x98, 0x6a, 0x58, 0x58, 0xbc, + 0xbe, 0x21, 0x3a, 0x91, 0x72, 0x3b, 0x19, 0x0f, 0x4e, 0x7b, 0x25, 0xc1, 0xc2, 0xd3, 0x1e, 0x79, + 0x21, 0x12, 0xad, 0x40, 0x69, 0x5b, 0x98, 0xc5, 0xe9, 0x8a, 0x5d, 0x22, 0x1a, 0x39, 0x3f, 0x1a, + 0x0d, 0xe6, 0xbc, 0x1e, 0x79, 0xb1, 0xeb, 0x7e, 0x40, 0xb0, 0xbf, 0x55, 0x67, 0xd1, 0x98, 0x35, + 0x22, 0x7d, 0xda, 0x8f, 0x12, 0xa0, 0x11, 0x16, 0xd7, 0xb1, 0xdc, 0x8d, 0xbe, 0xbe, 0x83, 0xca, + 0x30, 0xdd, 0x31, 0x49, 0xd0, 0xc4, 0x87, 0x0c, 0xce, 0x94, 0x31, 0x68, 0xa2, 0x6b, 0x30, 0x6f, + 0x5a, 0x96, 0x8f, 0xad, 0x28, 0xc9, 0x68, 0x27, 0x5a, 0x87, 0x52, 0x17, 0x13, 0x62, 0x5a, 0xf8, + 0x3d, 0x9b, 0x04, 0x65, 0xa5, 0xa2, 0x54, 0x4b, 0xeb, 0x8b, 0x35, 0x2a, 0x25, 0x81, 0xb9, 0x21, + 0x1a, 0xa1, 0x55, 0x98, 0x0d, 0x7c, 0xdb, 0xb2, 0x18, 0xd6, 0x29, 0xe6, 0x75, 0xd4, 0xa1, 0xbd, + 0x0f, 0xa8, 0x81, 0x03, 0xdd, 0x3c, 0x7e, 0xe8, 0xb4, 0x75, 0xdb, 0x69, 0xe2, 0x43, 0x03, 0x1f, + 0xa2, 0x15, 0x28, 0x86, 0xe4, 0x78, 0xd4, 0xc2, 0x56, 0x3c, 0xa4, 0x72, 0x22, 0xa4, 0xda, 0x11, + 0x2c, 0x25, 0xfc, 0x11, 0x8f, 0x12, 0xdf, 0xf4, 0xfd, 0x47, 0x6e, 0x1b, 0x33, 0x8f, 0x05, 0x63, + 0xd0, 0xa4, 0x4b, 0x6d, 0xfa, 0xbe, 0x4e, 0xac, 0xd0, 0x5b, 0xd8, 0xa2, 0xfd, 0xba, 0x79, 0x4c, + 0x23, 0x45, 0xe3, 0x3b, 0x6f, 0x84, 0x2d, 0xd6, 0xcf, 0xfc, 0x32, 0x2e, 0xb4, 0x9f, 0xb5, 0xb4, 0x4f, 0x01, 0x9a, 0xd8, 0x69, 0xeb, 0xc4, 0xa2, 0x04, 0x5e, 0xaf, 0xc8, 0x7f, 0x90, 0xa0, 0x34, - 0x5c, 0x9c, 0xb3, 0xc5, 0x51, 0xb6, 0x78, 0xc4, 0x16, 0x47, 0xd8, 0x72, 0x8b, 0x22, 0xe3, 0xeb, - 0xe8, 0xc4, 0x1a, 0x96, 0x49, 0x1c, 0xa2, 0x1e, 0xad, 0x8e, 0x8d, 0x9d, 0x80, 0x7b, 0x14, 0xb8, - 0x87, 0x30, 0x84, 0x54, 0x98, 0x21, 0xd8, 0x69, 0xef, 0xda, 0x5d, 0x5c, 0x2e, 0x56, 0xa4, 0xaa, - 0x62, 0x0c, 0x6d, 0xad, 0x05, 0xa5, 0x47, 0x1d, 0x6c, 0xfa, 0x61, 0x7a, 0x56, 0xa0, 0xd8, 0x8b, - 0xd4, 0x97, 0x5b, 0x34, 0x84, 0xeb, 0x85, 0x95, 0xe7, 0x00, 0x87, 0x76, 0x3c, 0x79, 0x4a, 0x72, - 0x13, 0x3e, 0x80, 0xb9, 0xd1, 0x22, 0x93, 0xa4, 0x41, 0xfb, 0x5e, 0x82, 0x85, 0x26, 0xa6, 0x7c, - 0x22, 0x5a, 0x4c, 0xc5, 0x5a, 0x86, 0x69, 0xcb, 0x77, 0x7b, 0xde, 0x10, 0xea, 0xc0, 0xa4, 0x33, - 0xba, 0x5c, 0x22, 0xa1, 0x74, 0xb8, 0x15, 0x67, 0x30, 0x95, 0x2c, 0xbf, 0xc8, 0xbf, 0x10, 0xe5, - 0xaf, 0xd5, 0x61, 0x31, 0x0a, 0x6d, 0x22, 0x86, 0xdb, 0xb0, 0xd4, 0xc4, 0x41, 0x28, 0x96, 0x66, - 0x60, 0x06, 0x3d, 0x62, 0x24, 0xa1, 0x49, 0x49, 0x68, 0x2b, 0x50, 0x24, 0xcc, 0x9d, 0x05, 0x2c, - 0x18, 0xa1, 0xa5, 0x3d, 0x86, 0xe5, 0x64, 0xc0, 0x89, 0xa0, 0xdd, 0x63, 0x5b, 0xf7, 0xf4, 0xd0, - 0xb4, 0x67, 0xb0, 0xdc, 0xf8, 0x4b, 0x20, 0x08, 0x24, 0x95, 0x08, 0xc9, 0xaf, 0x24, 0x58, 0xaa, - 0xe3, 0x4e, 0xb3, 0xe7, 0x61, 0xbf, 0x41, 0xab, 0x1c, 0xea, 0x58, 0xac, 0x97, 0x14, 0xd3, 0xeb, - 0x48, 0x37, 0x72, 0x96, 0x6e, 0x94, 0xa8, 0x6e, 0xc6, 0xea, 0x83, 0x26, 0x3b, 0x09, 0x63, 0xa2, - 0x64, 0xb7, 0x78, 0xb2, 0xe3, 0x84, 0xc6, 0xeb, 0x60, 0x11, 0x14, 0xaa, 0x6c, 0x99, 0x29, 0x9b, - 0xfe, 0xcc, 0x26, 0xa4, 0x7d, 0xc9, 0x0b, 0x73, 0x76, 0xb8, 0x13, 0x9e, 0x8b, 0x8f, 0xd9, 0xcb, - 0xe5, 0x23, 0xdf, 0x0e, 0x70, 0xdd, 0xde, 0xdf, 0x9f, 0x9c, 0xa3, 0xf6, 0x05, 0x4b, 0x57, 0x34, - 0xd2, 0x6b, 0x24, 0xf2, 0x5d, 0x01, 0x34, 0xdd, 0x6d, 0xdb, 0xfb, 0x7d, 0x9d, 0xbf, 0x59, 0x0d, - 0x6c, 0xb6, 0x28, 0xd8, 0xcd, 0xe3, 0x00, 0x3b, 0xc4, 0x76, 0x9d, 0x9c, 0xbb, 0x98, 0x9e, 0xd1, - 0x6e, 0xcf, 0x6f, 0xe1, 0xd1, 0x01, 0x3b, 0xb0, 0x23, 0x62, 0x56, 0x92, 0x87, 0x2f, 0xc1, 0x84, - 0x2e, 0xb4, 0xdb, 0xf7, 0x30, 0x93, 0x66, 0xc1, 0x10, 0x87, 0xd0, 0x31, 0x5c, 0xf0, 0xe3, 0xa0, - 0xd8, 0x25, 0xa1, 0xc0, 0x2e, 0x09, 0x1b, 0xfc, 0x92, 0x30, 0x96, 0x43, 0xcd, 0x48, 0x0b, 0xb2, - 0xe9, 0x04, 0x7e, 0xdf, 0x48, 0x5f, 0x20, 0xfe, 0x66, 0x2a, 0x26, 0xdf, 0x4c, 0x77, 0x40, 0xc6, - 0xc7, 0xe5, 0x69, 0x96, 0xef, 0xd5, 0x9a, 0xe5, 0xba, 0x56, 0x07, 0xf3, 0xcb, 0xe9, 0xf3, 0xde, - 0x7e, 0xad, 0x19, 0xf8, 0xb6, 0x63, 0x7d, 0x68, 0x76, 0x7a, 0xd8, 0x90, 0xf1, 0x31, 0x7a, 0x00, - 0x73, 0x66, 0x10, 0x98, 0xad, 0x17, 0xb8, 0xbd, 0xe5, 0xec, 0xbb, 0xe5, 0x99, 0x1c, 0xf3, 0x22, - 0x33, 0xa8, 0x2c, 0x6c, 0xc2, 0x88, 0x94, 0x67, 0x2b, 0x52, 0x75, 0xc6, 0x18, 0x98, 0x68, 0x1d, - 0x96, 0x6d, 0x42, 0xe1, 0xfb, 0x8e, 0xd9, 0x19, 0x11, 0x2f, 0x03, 0x73, 0x4b, 0x7d, 0x86, 0x6a, - 0x80, 0xba, 0xc4, 0x7a, 0xd7, 0xf6, 0x49, 0xc0, 0xf3, 0xc7, 0xde, 0xb0, 0x25, 0xf6, 0x86, 0x4d, - 0x79, 0xa2, 0x62, 0x50, 0xb3, 0x93, 0x48, 0xb5, 0x7d, 0x80, 0xfb, 0xa1, 0x36, 0xe8, 0x4f, 0xf4, - 0x1f, 0x28, 0xbc, 0xa4, 0x24, 0xc2, 0x3b, 0xe8, 0xa5, 0x14, 0x41, 0x3e, 0xc1, 0x7d, 0xce, 0x93, - 0x7b, 0xbe, 0x25, 0xff, 0x5f, 0xd2, 0xbe, 0x2d, 0xc0, 0x65, 0xfa, 0x42, 0x7a, 0x53, 0x05, 0xd9, - 0x3b, 0x59, 0x90, 0xef, 0x30, 0x41, 0x8e, 0x21, 0xf0, 0x8f, 0x1a, 0xff, 0x2e, 0x6a, 0xfc, 0x5d, - 0x82, 0xca, 0xc9, 0xc5, 0x9c, 0xf4, 0x5e, 0x2c, 0x56, 0x53, 0x49, 0x56, 0x33, 0x3d, 0x1f, 0x53, - 0x59, 0xf9, 0x10, 0xab, 0x51, 0x88, 0x56, 0xe3, 0x16, 0x14, 0x7d, 0x4c, 0x7a, 0x9d, 0xa0, 0x5c, - 0x64, 0x0a, 0x3d, 0xcf, 0x14, 0x3a, 0x24, 0x8b, 0x89, 0x67, 0x84, 0x0e, 0xda, 0x1f, 0x32, 0x5c, - 0x6d, 0x0c, 0xd9, 0xd2, 0x74, 0x9e, 0x61, 0xff, 0x65, 0xde, 0xb8, 0xc5, 0xbd, 0xa9, 0xc4, 0xf6, - 0xe6, 0xf8, 0xfd, 0x47, 0x60, 0xa5, 0x1b, 0xad, 0xc6, 0x13, 0xdc, 0x17, 0x36, 0xe0, 0x7d, 0x46, - 0x2f, 0x07, 0x8b, 0x9a, 0x9e, 0x08, 0x63, 0x64, 0x84, 0x56, 0xf7, 0x01, 0x25, 0xbd, 0xe3, 0x55, - 0x94, 0xf2, 0x56, 0x51, 0xce, 0xaa, 0xa2, 0xf6, 0x93, 0x04, 0xd7, 0xc6, 0x43, 0x9f, 0x48, 0x72, + 0x5c, 0x9c, 0xb3, 0xc5, 0x51, 0xb6, 0x78, 0xc4, 0x16, 0x47, 0xd8, 0xf2, 0x16, 0x45, 0xc6, 0xd7, + 0xd1, 0x89, 0x35, 0x4c, 0x93, 0xd8, 0x45, 0x2d, 0x5a, 0x1d, 0x1b, 0x3b, 0x01, 0xb7, 0x28, 0x70, + 0x0b, 0xa1, 0x0b, 0xa9, 0x30, 0x43, 0xb0, 0xd3, 0xde, 0xb5, 0xbb, 0xb8, 0x5c, 0xac, 0x48, 0x55, + 0xc5, 0x18, 0xb6, 0xb5, 0x16, 0x94, 0x1e, 0x75, 0xb0, 0xe9, 0x87, 0xe1, 0x59, 0x81, 0x62, 0x2f, + 0x92, 0x5f, 0xde, 0xa2, 0x2e, 0x5c, 0x2f, 0xcc, 0x3c, 0x07, 0x38, 0x6c, 0xc7, 0x83, 0xa7, 0x24, + 0x37, 0xe1, 0x03, 0x98, 0x1b, 0x2d, 0x32, 0x49, 0x18, 0xb4, 0xef, 0x25, 0x58, 0x68, 0x62, 0xca, + 0x27, 0xa2, 0xc5, 0x54, 0xac, 0x65, 0x98, 0xb6, 0x7c, 0xb7, 0xe7, 0x0d, 0xa1, 0x0e, 0x9a, 0x74, + 0x46, 0x97, 0x4b, 0x24, 0x94, 0x0e, 0x6f, 0xc5, 0x19, 0x4c, 0x25, 0xd3, 0x2f, 0xf2, 0x2f, 0x44, + 0xf9, 0x6b, 0x75, 0x58, 0x8c, 0x42, 0x9b, 0x88, 0xe1, 0x36, 0x2c, 0x35, 0x71, 0x10, 0x8a, 0xa5, + 0x19, 0x98, 0x41, 0x8f, 0x18, 0x49, 0x68, 0x52, 0x12, 0xda, 0x0a, 0x14, 0x09, 0x33, 0x67, 0x0e, + 0x0b, 0x46, 0xd8, 0xd2, 0x1e, 0xc3, 0x72, 0xd2, 0xe1, 0x44, 0xd0, 0xee, 0xb1, 0xad, 0x7b, 0x7a, + 0x68, 0xda, 0x33, 0x58, 0x6e, 0xfc, 0x25, 0x10, 0x04, 0x92, 0x4a, 0x84, 0xe4, 0x57, 0x12, 0x2c, + 0xd5, 0x71, 0xa7, 0xd9, 0xf3, 0xb0, 0xdf, 0xa0, 0x59, 0x0e, 0x75, 0x2c, 0xe6, 0x4b, 0x8a, 0xe9, + 0x75, 0xa4, 0x1b, 0x39, 0x4b, 0x37, 0x4a, 0x54, 0x37, 0x63, 0xf5, 0x41, 0x83, 0x9d, 0x84, 0x31, + 0x51, 0xb0, 0x5b, 0x3c, 0xd8, 0x71, 0x42, 0xe3, 0x75, 0xb0, 0x08, 0x0a, 0x55, 0xb6, 0xcc, 0x94, + 0x4d, 0x7f, 0x66, 0x13, 0xd2, 0xbe, 0xe4, 0x89, 0x39, 0x3b, 0xdc, 0x09, 0xcf, 0xc5, 0xc7, 0xec, + 0x72, 0xf9, 0xc8, 0xb7, 0x03, 0x5c, 0xb7, 0xf7, 0xf7, 0x27, 0xe7, 0xa8, 0x7d, 0xc1, 0xc2, 0x15, + 0xf5, 0xf4, 0x1a, 0x89, 0x7c, 0x57, 0x00, 0x4d, 0x77, 0xdb, 0xf6, 0x7e, 0x5f, 0xe7, 0x37, 0xab, + 0x81, 0xcd, 0x16, 0x05, 0xbb, 0x79, 0x1c, 0x60, 0x87, 0xd8, 0xae, 0x93, 0x73, 0x17, 0xd3, 0x33, + 0xda, 0xed, 0xf9, 0x2d, 0x3c, 0x3a, 0x60, 0x07, 0xed, 0x88, 0x98, 0x95, 0xe4, 0xe1, 0x4b, 0x30, + 0xa1, 0x0b, 0xed, 0xf6, 0x3d, 0xcc, 0xa4, 0x59, 0x30, 0xc4, 0x2e, 0x74, 0x0c, 0x17, 0xfc, 0x38, + 0x28, 0xf6, 0x48, 0x28, 0xb0, 0x47, 0xc2, 0x06, 0x7f, 0x24, 0x8c, 0xe5, 0x50, 0x33, 0xd2, 0x9c, + 0x6c, 0x3a, 0x81, 0xdf, 0x37, 0xd2, 0x17, 0x88, 0xdf, 0x4c, 0xc5, 0xe4, 0xcd, 0x74, 0x07, 0x64, + 0x7c, 0x5c, 0x9e, 0x66, 0xf1, 0x5e, 0xad, 0x59, 0xae, 0x6b, 0x75, 0x30, 0x7f, 0x9c, 0x3e, 0xef, + 0xed, 0xd7, 0x9a, 0x81, 0x6f, 0x3b, 0xd6, 0x87, 0x66, 0xa7, 0x87, 0x0d, 0x19, 0x1f, 0xa3, 0x07, + 0x30, 0x67, 0x06, 0x81, 0xd9, 0x7a, 0x81, 0xdb, 0x5b, 0xce, 0xbe, 0x5b, 0x9e, 0xc9, 0x31, 0x2f, + 0x32, 0x83, 0xca, 0xc2, 0x26, 0x8c, 0x48, 0x79, 0xb6, 0x22, 0x55, 0x67, 0x8c, 0x41, 0x13, 0xad, + 0xc3, 0xb2, 0x4d, 0x28, 0x7c, 0xdf, 0x31, 0x3b, 0x23, 0xe2, 0x65, 0x60, 0x66, 0xa9, 0x63, 0xa8, + 0x06, 0xa8, 0x4b, 0xac, 0x77, 0x6d, 0x9f, 0x04, 0x3c, 0x7e, 0xec, 0x86, 0x2d, 0xb1, 0x1b, 0x36, + 0x65, 0x44, 0xc5, 0xa0, 0x66, 0x07, 0x91, 0x6a, 0xfb, 0x00, 0xf7, 0x43, 0x6d, 0xd0, 0x9f, 0xe8, + 0x3f, 0x50, 0x78, 0x49, 0x49, 0x84, 0x6f, 0xd0, 0x4b, 0x29, 0x82, 0x7c, 0x82, 0xfb, 0x9c, 0x27, + 0xb7, 0x7c, 0x4b, 0xfe, 0xbf, 0xa4, 0x7d, 0x5b, 0x80, 0xcb, 0xf4, 0x42, 0x7a, 0x53, 0x05, 0xd9, + 0x3b, 0x59, 0x90, 0xef, 0x30, 0x41, 0x8e, 0x21, 0xf0, 0x8f, 0x1a, 0xff, 0x2e, 0x6a, 0xfc, 0x4d, + 0x82, 0xca, 0xc9, 0xc9, 0x9c, 0xf4, 0x5d, 0x2c, 0x66, 0x53, 0x49, 0x66, 0x33, 0x3d, 0x1e, 0x53, + 0x59, 0xf1, 0x10, 0xb3, 0x51, 0x88, 0x66, 0xe3, 0x16, 0x14, 0x7d, 0x4c, 0x7a, 0x9d, 0xa0, 0x5c, + 0x64, 0x0a, 0x3d, 0xcf, 0x14, 0x3a, 0x24, 0x8b, 0x89, 0x67, 0x84, 0x06, 0xda, 0x1f, 0x32, 0x5c, + 0x6d, 0x0c, 0xd9, 0xd2, 0x70, 0x9e, 0x61, 0xff, 0x65, 0xbe, 0xb8, 0xc5, 0xbd, 0xa9, 0xc4, 0xf6, + 0xe6, 0xf8, 0xfd, 0x47, 0x60, 0xa5, 0x1b, 0xcd, 0xc6, 0x13, 0xdc, 0x17, 0x36, 0xe0, 0x7d, 0x46, + 0x2f, 0x07, 0x8b, 0x9a, 0x9e, 0x70, 0x63, 0x64, 0xb8, 0x56, 0xf7, 0x01, 0x25, 0xad, 0xe3, 0x59, + 0x94, 0xf2, 0x66, 0x51, 0xce, 0xca, 0xa2, 0xf6, 0x93, 0x04, 0xd7, 0xc6, 0x43, 0x9f, 0x48, 0x72, 0x4d, 0x58, 0x22, 0xb6, 0x63, 0x75, 0xf0, 0x90, 0x08, 0xd3, 0x04, 0xff, 0xd6, 0xbe, 0xc2, 0x4f, - 0x2d, 0xf1, 0xf9, 0x70, 0x41, 0xee, 0x68, 0xa4, 0xcd, 0xd6, 0x7e, 0x95, 0x61, 0xf5, 0xa4, 0x59, - 0x13, 0xe0, 0xf4, 0xb3, 0xce, 0x57, 0x8e, 0xf4, 0xed, 0xb1, 0x48, 0xcf, 0x7e, 0xb8, 0x4e, 0x25, - 0x0a, 0xf9, 0xba, 0x8e, 0x9b, 0x9f, 0x25, 0xb8, 0x3a, 0xf6, 0x32, 0x33, 0xe1, 0x05, 0xb1, 0x44, - 0x7a, 0xad, 0x16, 0x26, 0x44, 0x48, 0x26, 0x62, 0xc9, 0x64, 0xb1, 0x07, 0x1f, 0xf9, 0x86, 0xe8, - 0x86, 0xd6, 0x01, 0xf6, 0x4d, 0xbb, 0x83, 0xdb, 0x6c, 0xd2, 0x54, 0xe6, 0x24, 0xc1, 0x4b, 0xfb, - 0x45, 0x86, 0x1b, 0x75, 0xdc, 0xc1, 0x01, 0x7e, 0xa3, 0xcf, 0x91, 0xf1, 0x8d, 0x87, 0xf4, 0xcd, - 0x5b, 0xcc, 0x3c, 0x82, 0x77, 0xb2, 0x94, 0x3b, 0xcd, 0xf2, 0x76, 0xa2, 0x06, 0xd2, 0x67, 0x6a, - 0x5f, 0x4b, 0x70, 0x33, 0x57, 0x2e, 0x27, 0xd2, 0xc4, 0x29, 0xde, 0x0c, 0x2e, 0xcc, 0x47, 0x2a, - 0x8e, 0xee, 0xc0, 0x2c, 0x1e, 0x0c, 0x84, 0x3d, 0xcf, 0x73, 0x31, 0x61, 0x8c, 0x1c, 0x44, 0x6c, - 0x72, 0x16, 0x36, 0x25, 0xf2, 0x21, 0xf9, 0x9b, 0x0c, 0xb3, 0xc3, 0x50, 0x68, 0x2f, 0x2b, 0xb5, - 0x12, 0x03, 0x7e, 0x2b, 0xba, 0xf2, 0xd9, 0x4f, 0x00, 0x39, 0xaf, 0x1a, 0x94, 0x4c, 0x35, 0x68, - 0xb1, 0x0b, 0x16, 0x3f, 0x54, 0xa2, 0x57, 0xa8, 0x73, 0xec, 0xca, 0xc6, 0xa5, 0x27, 0xe3, 0x63, - 0xf5, 0x93, 0x53, 0x9e, 0x32, 0x37, 0xa3, 0xa7, 0x4c, 0x4a, 0xfd, 0x84, 0xb3, 0xa5, 0x0f, 0x73, - 0xe2, 0x23, 0x74, 0x0f, 0x66, 0x0e, 0x42, 0x3b, 0x2c, 0xe0, 0x89, 0x0a, 0x1d, 0x3a, 0x4f, 0x50, - 0xcc, 0x57, 0x12, 0x2c, 0x09, 0x6d, 0x63, 0x9a, 0x23, 0xd6, 0x37, 0x4e, 0x74, 0x87, 0xa5, 0x1c, - 0xdd, 0x61, 0xf9, 0xd4, 0xdd, 0x61, 0x25, 0xd6, 0x1d, 0x5e, 0xff, 0x06, 0x40, 0xe9, 0x12, 0x0b, - 0x3d, 0x83, 0x85, 0x58, 0x57, 0x17, 0x5d, 0x4f, 0xc9, 0x41, 0xb2, 0x93, 0xac, 0xde, 0xc8, 0xe3, - 0x46, 0x3c, 0xe4, 0xc2, 0xf2, 0xd3, 0x5e, 0xa7, 0x13, 0xee, 0xde, 0x8d, 0x7e, 0x13, 0x1f, 0x32, - 0x7c, 0xff, 0x4e, 0x99, 0x9f, 0xe6, 0x48, 0xd7, 0xba, 0x9d, 0xdb, 0x97, 0xed, 0xcb, 0xe9, 0xb0, - 0x63, 0x85, 0x16, 0xc2, 0x4f, 0x91, 0x41, 0xf7, 0x58, 0x5d, 0x8c, 0x0e, 0x10, 0x0f, 0xed, 0x00, - 0xd4, 0x71, 0x47, 0x27, 0x16, 0xdf, 0x04, 0x29, 0x0b, 0x8d, 0x1e, 0xd3, 0x08, 0x57, 0xc6, 0x78, - 0x10, 0x0f, 0x35, 0x60, 0x31, 0xde, 0x4b, 0x42, 0x65, 0xb6, 0x70, 0x4a, 0xa7, 0x4b, 0xbd, 0x98, - 0xf1, 0x84, 0x78, 0x68, 0x0d, 0x66, 0x06, 0x6d, 0x57, 0xc4, 0x91, 0x0b, 0xad, 0x5e, 0xf5, 0x7c, - 0x6c, 0x84, 0x78, 0xe8, 0x3e, 0xcc, 0x89, 0x9d, 0x4c, 0xb4, 0x3c, 0xfc, 0x14, 0x13, 0xfa, 0xae, - 0xea, 0x85, 0x94, 0x51, 0x0e, 0x3b, 0xde, 0x6f, 0x0c, 0x61, 0xa7, 0xf4, 0x35, 0x43, 0xd8, 0xa9, - 0x0d, 0xca, 0x06, 0x2c, 0x36, 0xd2, 0x03, 0x35, 0x32, 0x03, 0x35, 0x4e, 0x08, 0x94, 0x92, 0xc8, - 0x94, 0x0e, 0x9b, 0x10, 0x28, 0x91, 0xc8, 0x3a, 0x53, 0xb9, 0xd8, 0x64, 0x42, 0xff, 0x1a, 0x78, - 0xc7, 0x9a, 0x58, 0x6a, 0x39, 0xfd, 0x01, 0xf1, 0xd0, 0x01, 0xac, 0x9e, 0xf4, 0x21, 0x84, 0xae, - 0xe5, 0xf9, 0xf0, 0x55, 0xaf, 0xe7, 0xf0, 0x22, 0x1e, 0x3a, 0x82, 0xca, 0xb8, 0x6b, 0x30, 0xaa, - 0xe6, 0xbd, 0xe8, 0xab, 0xb7, 0x72, 0x7a, 0x12, 0x0f, 0x1d, 0xc2, 0xea, 0xc3, 0x76, 0x3b, 0x9b, - 0xe5, 0xcd, 0x9c, 0xfd, 0x26, 0xb5, 0x9a, 0xcf, 0x91, 0x78, 0xe8, 0x73, 0xb8, 0x1c, 0x79, 0xc5, - 0xa7, 0xac, 0x7a, 0x7b, 0xb0, 0x4b, 0x72, 0x5c, 0xaa, 0xd4, 0x3b, 0xf9, 0x9d, 0x89, 0xb7, 0x71, - 0xe9, 0xe3, 0x8b, 0xdb, 0x1e, 0x76, 0xf6, 0xb6, 0x74, 0xe1, 0x0f, 0xd7, 0x2e, 0xb1, 0xee, 0x77, - 0x89, 0xf5, 0xbc, 0xc8, 0xcc, 0xff, 0xfe, 0x19, 0x00, 0x00, 0xff, 0xff, 0xdf, 0x17, 0x83, 0x0e, - 0xd9, 0x1d, 0x00, 0x00, + 0x2d, 0x71, 0x7c, 0xb8, 0x20, 0x37, 0x34, 0xd2, 0x66, 0x6b, 0xbf, 0xc8, 0xb0, 0x7a, 0xd2, 0xac, + 0x09, 0x70, 0xfa, 0x59, 0xe7, 0x2b, 0x47, 0xfa, 0xf6, 0x58, 0xa4, 0x67, 0x3f, 0x5c, 0xa7, 0x12, + 0x89, 0x7c, 0x5d, 0xc7, 0xcd, 0xcf, 0x12, 0x5c, 0x1d, 0xfb, 0x98, 0x99, 0xf0, 0x81, 0x58, 0x22, + 0xbd, 0x56, 0x0b, 0x13, 0x22, 0x04, 0x13, 0xb1, 0x60, 0x32, 0xdf, 0x83, 0x8f, 0x7c, 0x43, 0x34, + 0x43, 0xeb, 0x00, 0xfb, 0xa6, 0xdd, 0xc1, 0x6d, 0x36, 0x69, 0x2a, 0x73, 0x92, 0x60, 0xa5, 0xfd, + 0x2e, 0xc3, 0x8d, 0x3a, 0xee, 0xe0, 0x00, 0xbf, 0xd1, 0xe7, 0xc8, 0xf8, 0xc2, 0x43, 0xd6, 0x35, + 0x56, 0x3c, 0xf5, 0x35, 0x36, 0x9d, 0x79, 0x6c, 0xef, 0x64, 0xa9, 0x7d, 0x86, 0xc5, 0xfa, 0x44, + 0xdd, 0xa4, 0xcf, 0xd4, 0xbe, 0x96, 0xe0, 0x66, 0xae, 0xf8, 0x4f, 0xa4, 0xa3, 0x53, 0xdc, 0x26, + 0x2e, 0xcc, 0x47, 0x54, 0x82, 0xee, 0xc0, 0x2c, 0x1e, 0x74, 0x84, 0x75, 0xd2, 0x73, 0x31, 0x31, + 0x8d, 0x0c, 0x44, 0x6c, 0x72, 0x16, 0x36, 0x25, 0xf2, 0xf1, 0xf9, 0xab, 0x0c, 0xb3, 0x43, 0x57, + 0x68, 0x2f, 0x2b, 0xb4, 0x12, 0x03, 0x7e, 0x2b, 0xba, 0xf2, 0xd9, 0x4f, 0x0d, 0x39, 0xef, 0xf1, + 0xaf, 0x64, 0xaa, 0x41, 0x8b, 0x3d, 0xca, 0xf8, 0x41, 0x14, 0x7d, 0x76, 0x9d, 0x63, 0xcf, 0x3c, + 0x2e, 0x57, 0x19, 0x1f, 0xab, 0x9f, 0x9c, 0xf2, 0x64, 0xba, 0x19, 0x3d, 0x99, 0x52, 0xf2, 0x27, + 0x9c, 0x47, 0x7d, 0x98, 0x13, 0x87, 0xd0, 0x3d, 0x98, 0x39, 0x08, 0xdb, 0x61, 0x02, 0x4f, 0x54, + 0xe8, 0xd0, 0x78, 0x82, 0x64, 0xbe, 0x92, 0x60, 0x49, 0x28, 0x35, 0xd3, 0x18, 0xb1, 0x5a, 0x73, + 0xa2, 0xa2, 0x2c, 0xe5, 0xa8, 0x28, 0xcb, 0xa7, 0xae, 0x28, 0x2b, 0xb1, 0x8a, 0xf2, 0xfa, 0x37, + 0x00, 0x4a, 0x97, 0x58, 0xe8, 0x19, 0x2c, 0xc4, 0x2a, 0xc1, 0xe8, 0x7a, 0x4a, 0x0c, 0x92, 0xd5, + 0x67, 0xf5, 0x46, 0x1e, 0x33, 0xe2, 0x21, 0x17, 0x96, 0x9f, 0xf6, 0x3a, 0x9d, 0x70, 0xf7, 0x6e, + 0xf4, 0x9b, 0xf8, 0x90, 0xe1, 0xfb, 0x77, 0xca, 0xfc, 0x34, 0x43, 0xba, 0xd6, 0xed, 0xdc, 0xb6, + 0x6c, 0x5f, 0x4e, 0x87, 0x55, 0x2e, 0xb4, 0x10, 0x7e, 0xbe, 0x0c, 0x2a, 0xce, 0xea, 0x62, 0xb4, + 0x83, 0x78, 0x68, 0x07, 0xa0, 0x8e, 0x3b, 0x3a, 0xb1, 0xf8, 0x26, 0x48, 0x59, 0x68, 0x34, 0x4c, + 0x3d, 0x5c, 0x19, 0x63, 0x41, 0x3c, 0xd4, 0x80, 0xc5, 0x78, 0xfd, 0x09, 0x95, 0xd9, 0xc2, 0x29, + 0xd5, 0x31, 0xf5, 0x62, 0xc6, 0x08, 0xf1, 0xd0, 0x1a, 0xcc, 0x0c, 0x4a, 0xb5, 0x88, 0x23, 0x17, + 0xca, 0xc3, 0xea, 0xf9, 0x58, 0x0f, 0xf1, 0xd0, 0x7d, 0x98, 0x13, 0xab, 0x9f, 0x68, 0x79, 0xf8, + 0xf9, 0x26, 0xd4, 0x6a, 0xd5, 0x0b, 0x29, 0xbd, 0x1c, 0x76, 0xbc, 0x46, 0x19, 0xc2, 0x4e, 0xa9, + 0x85, 0x86, 0xb0, 0x53, 0x8b, 0x9a, 0x0d, 0x58, 0x6c, 0xa4, 0x3b, 0x6a, 0x64, 0x3a, 0x6a, 0x9c, + 0xe0, 0x28, 0x25, 0x90, 0x29, 0x55, 0x39, 0xc1, 0x51, 0x22, 0x90, 0x75, 0xa6, 0x72, 0xb1, 0x30, + 0x85, 0xfe, 0x35, 0xb0, 0x8e, 0x15, 0xbe, 0xd4, 0x72, 0xfa, 0x00, 0xf1, 0xd0, 0x01, 0xac, 0x9e, + 0xf4, 0xf1, 0x84, 0xae, 0xe5, 0xf9, 0x58, 0x56, 0xaf, 0xe7, 0xb0, 0x22, 0x1e, 0x3a, 0x82, 0xca, + 0xb8, 0xa7, 0x33, 0xaa, 0xe6, 0xfd, 0x38, 0x50, 0x6f, 0xe5, 0xb4, 0x24, 0x1e, 0x3a, 0x84, 0xd5, + 0x87, 0xed, 0x76, 0x36, 0xcb, 0x9b, 0x39, 0x6b, 0x54, 0x6a, 0x35, 0x9f, 0x21, 0xf1, 0xd0, 0xe7, + 0x70, 0x39, 0x72, 0xc5, 0xa7, 0xac, 0x7a, 0x7b, 0xb0, 0x4b, 0x72, 0x3c, 0xc4, 0xd4, 0x3b, 0xf9, + 0x8d, 0x89, 0xb7, 0x71, 0xe9, 0xe3, 0x8b, 0xdb, 0x1e, 0x76, 0xf6, 0xb6, 0x74, 0xe1, 0x4f, 0xda, + 0x2e, 0xb1, 0xee, 0x77, 0x89, 0xf5, 0xbc, 0xc8, 0x9a, 0xff, 0xfd, 0x33, 0x00, 0x00, 0xff, 0xff, + 0xd4, 0xae, 0xa9, 0xee, 0x0d, 0x1e, 0x00, 0x00, } diff --git a/pkg/proto/msg/msg.proto b/pkg/proto/msg/msg.proto index cb29be40e..287340517 100644 --- a/pkg/proto/msg/msg.proto +++ b/pkg/proto/msg/msg.proto @@ -228,8 +228,9 @@ message DeleteMessageListReactionExtensionsReq { string sourceID = 3; int32 sessionType = 4; string clientMsgID = 5; - int64 msgFirstModifyTime = 6; - repeated server_api_params.KeyValue reactionExtensionList = 7; + bool isExternalExtensions = 6; + int64 msgFirstModifyTime = 7; + repeated server_api_params.KeyValue reactionExtensionList = 8; } message DeleteMessageListReactionExtensionsResp { From f5ed0be023a9df7d6e9eaa25b2056aa6cd9a471b Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Fri, 23 Dec 2022 16:09:59 +0800 Subject: [PATCH 138/176] callback update --- internal/msg_transfer/logic/modify_msg_handler.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/internal/msg_transfer/logic/modify_msg_handler.go b/internal/msg_transfer/logic/modify_msg_handler.go index 27764095c..782c6fcc0 100644 --- a/internal/msg_transfer/logic/modify_msg_handler.go +++ b/internal/msg_transfer/logic/modify_msg_handler.go @@ -9,6 +9,7 @@ import ( "Open_IM/pkg/common/log" pbMsg "Open_IM/pkg/proto/msg" server_api_params "Open_IM/pkg/proto/sdk_ws" + "Open_IM/pkg/utils" "encoding/json" "github.com/Shopify/sarama" @@ -54,6 +55,10 @@ func (mmc *ModifyMsgConsumerHandler) ModifyMsg(cMsg *sarama.ConsumerMessage, msg } log.Debug(msgFromMQ.TriggerID, "proto.Unmarshal MsgDataToMQ", msgFromMQ.String()) for _, msgDataToMQ := range msgFromMQ.MessageList { + isReactionFromCache := utils.GetSwitchFromOptions(msgDataToMQ.MsgData.Options, constant.IsReactionFromCache) + if !isReactionFromCache { + continue + } if msgDataToMQ.MsgData.ContentType == constant.ReactionMessageModifier { notification := &base_info.ReactionMessageModifierNotification{} if err := json.Unmarshal(msgDataToMQ.MsgData.Content, notification); err != nil { From aaad0c03a65a32dd9aacfc77f5fb47fb9134d304 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Fri, 23 Dec 2022 16:31:37 +0800 Subject: [PATCH 139/176] callback update --- pkg/proto/sdk_ws/ws.pb.go | 844 +++++++++++++++++++++----------------- 1 file changed, 462 insertions(+), 382 deletions(-) diff --git a/pkg/proto/sdk_ws/ws.pb.go b/pkg/proto/sdk_ws/ws.pb.go index 6042dec52..1665fff79 100644 --- a/pkg/proto/sdk_ws/ws.pb.go +++ b/pkg/proto/sdk_ws/ws.pb.go @@ -46,7 +46,7 @@ func (m *GroupInfo) Reset() { *m = GroupInfo{} } func (m *GroupInfo) String() string { return proto.CompactTextString(m) } func (*GroupInfo) ProtoMessage() {} func (*GroupInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{0} + return fileDescriptor_ws_73169a3998a579bb, []int{0} } func (m *GroupInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfo.Unmarshal(m, b) @@ -204,7 +204,7 @@ func (m *GroupInfoForSet) Reset() { *m = GroupInfoForSet{} } func (m *GroupInfoForSet) String() string { return proto.CompactTextString(m) } func (*GroupInfoForSet) ProtoMessage() {} func (*GroupInfoForSet) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{1} + return fileDescriptor_ws_73169a3998a579bb, []int{1} } func (m *GroupInfoForSet) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfoForSet.Unmarshal(m, b) @@ -309,7 +309,7 @@ func (m *GroupMemberFullInfo) Reset() { *m = GroupMemberFullInfo{} } func (m *GroupMemberFullInfo) String() string { return proto.CompactTextString(m) } func (*GroupMemberFullInfo) ProtoMessage() {} func (*GroupMemberFullInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{2} + return fileDescriptor_ws_73169a3998a579bb, []int{2} } func (m *GroupMemberFullInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMemberFullInfo.Unmarshal(m, b) @@ -428,7 +428,7 @@ func (m *PublicUserInfo) Reset() { *m = PublicUserInfo{} } func (m *PublicUserInfo) String() string { return proto.CompactTextString(m) } func (*PublicUserInfo) ProtoMessage() {} func (*PublicUserInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{3} + return fileDescriptor_ws_73169a3998a579bb, []int{3} } func (m *PublicUserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PublicUserInfo.Unmarshal(m, b) @@ -505,7 +505,7 @@ func (m *UserInfo) Reset() { *m = UserInfo{} } func (m *UserInfo) String() string { return proto.CompactTextString(m) } func (*UserInfo) ProtoMessage() {} func (*UserInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{4} + return fileDescriptor_ws_73169a3998a579bb, []int{4} } func (m *UserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfo.Unmarshal(m, b) @@ -626,7 +626,7 @@ func (m *FriendInfo) Reset() { *m = FriendInfo{} } func (m *FriendInfo) String() string { return proto.CompactTextString(m) } func (*FriendInfo) ProtoMessage() {} func (*FriendInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{5} + return fileDescriptor_ws_73169a3998a579bb, []int{5} } func (m *FriendInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendInfo.Unmarshal(m, b) @@ -711,7 +711,7 @@ func (m *BlackInfo) Reset() { *m = BlackInfo{} } func (m *BlackInfo) String() string { return proto.CompactTextString(m) } func (*BlackInfo) ProtoMessage() {} func (*BlackInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{6} + return fileDescriptor_ws_73169a3998a579bb, []int{6} } func (m *BlackInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackInfo.Unmarshal(m, b) @@ -794,7 +794,7 @@ func (m *GroupRequest) Reset() { *m = GroupRequest{} } func (m *GroupRequest) String() string { return proto.CompactTextString(m) } func (*GroupRequest) ProtoMessage() {} func (*GroupRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{7} + return fileDescriptor_ws_73169a3998a579bb, []int{7} } func (m *GroupRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupRequest.Unmarshal(m, b) @@ -916,7 +916,7 @@ func (m *FriendRequest) Reset() { *m = FriendRequest{} } func (m *FriendRequest) String() string { return proto.CompactTextString(m) } func (*FriendRequest) ProtoMessage() {} func (*FriendRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{8} + return fileDescriptor_ws_73169a3998a579bb, []int{8} } func (m *FriendRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendRequest.Unmarshal(m, b) @@ -1061,7 +1061,7 @@ func (m *Department) Reset() { *m = Department{} } func (m *Department) String() string { return proto.CompactTextString(m) } func (*Department) ProtoMessage() {} func (*Department) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{9} + return fileDescriptor_ws_73169a3998a579bb, []int{9} } func (m *Department) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Department.Unmarshal(m, b) @@ -1173,7 +1173,7 @@ func (m *OrganizationUser) Reset() { *m = OrganizationUser{} } func (m *OrganizationUser) String() string { return proto.CompactTextString(m) } func (*OrganizationUser) ProtoMessage() {} func (*OrganizationUser) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{10} + return fileDescriptor_ws_73169a3998a579bb, []int{10} } func (m *OrganizationUser) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OrganizationUser.Unmarshal(m, b) @@ -1294,7 +1294,7 @@ func (m *DepartmentMember) Reset() { *m = DepartmentMember{} } func (m *DepartmentMember) String() string { return proto.CompactTextString(m) } func (*DepartmentMember) ProtoMessage() {} func (*DepartmentMember) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{11} + return fileDescriptor_ws_73169a3998a579bb, []int{11} } func (m *DepartmentMember) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DepartmentMember.Unmarshal(m, b) @@ -1375,7 +1375,7 @@ func (m *UserDepartmentMember) Reset() { *m = UserDepartmentMember{} } func (m *UserDepartmentMember) String() string { return proto.CompactTextString(m) } func (*UserDepartmentMember) ProtoMessage() {} func (*UserDepartmentMember) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{12} + return fileDescriptor_ws_73169a3998a579bb, []int{12} } func (m *UserDepartmentMember) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserDepartmentMember.Unmarshal(m, b) @@ -1421,7 +1421,7 @@ func (m *UserInDepartment) Reset() { *m = UserInDepartment{} } func (m *UserInDepartment) String() string { return proto.CompactTextString(m) } func (*UserInDepartment) ProtoMessage() {} func (*UserInDepartment) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{13} + return fileDescriptor_ws_73169a3998a579bb, []int{13} } func (m *UserInDepartment) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInDepartment.Unmarshal(m, b) @@ -1470,7 +1470,7 @@ func (m *PullMessageBySeqListReq) Reset() { *m = PullMessageBySeqListReq func (m *PullMessageBySeqListReq) String() string { return proto.CompactTextString(m) } func (*PullMessageBySeqListReq) ProtoMessage() {} func (*PullMessageBySeqListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{14} + return fileDescriptor_ws_73169a3998a579bb, []int{14} } func (m *PullMessageBySeqListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListReq.Unmarshal(m, b) @@ -1529,7 +1529,7 @@ func (m *SeqList) Reset() { *m = SeqList{} } func (m *SeqList) String() string { return proto.CompactTextString(m) } func (*SeqList) ProtoMessage() {} func (*SeqList) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{15} + return fileDescriptor_ws_73169a3998a579bb, []int{15} } func (m *SeqList) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SeqList.Unmarshal(m, b) @@ -1567,7 +1567,7 @@ func (m *MsgDataList) Reset() { *m = MsgDataList{} } func (m *MsgDataList) String() string { return proto.CompactTextString(m) } func (*MsgDataList) ProtoMessage() {} func (*MsgDataList) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{16} + return fileDescriptor_ws_73169a3998a579bb, []int{16} } func (m *MsgDataList) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataList.Unmarshal(m, b) @@ -1608,7 +1608,7 @@ func (m *PullMessageBySeqListResp) Reset() { *m = PullMessageBySeqListRe func (m *PullMessageBySeqListResp) String() string { return proto.CompactTextString(m) } func (*PullMessageBySeqListResp) ProtoMessage() {} func (*PullMessageBySeqListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{17} + return fileDescriptor_ws_73169a3998a579bb, []int{17} } func (m *PullMessageBySeqListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListResp.Unmarshal(m, b) @@ -1669,7 +1669,7 @@ func (m *GetMaxAndMinSeqReq) Reset() { *m = GetMaxAndMinSeqReq{} } func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqReq) ProtoMessage() {} func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{18} + return fileDescriptor_ws_73169a3998a579bb, []int{18} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -1722,7 +1722,7 @@ func (m *MaxAndMinSeq) Reset() { *m = MaxAndMinSeq{} } func (m *MaxAndMinSeq) String() string { return proto.CompactTextString(m) } func (*MaxAndMinSeq) ProtoMessage() {} func (*MaxAndMinSeq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{19} + return fileDescriptor_ws_73169a3998a579bb, []int{19} } func (m *MaxAndMinSeq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MaxAndMinSeq.Unmarshal(m, b) @@ -1771,7 +1771,7 @@ func (m *GetMaxAndMinSeqResp) Reset() { *m = GetMaxAndMinSeqResp{} } func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqResp) ProtoMessage() {} func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{20} + return fileDescriptor_ws_73169a3998a579bb, []int{20} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -1839,7 +1839,7 @@ func (m *UserSendMsgResp) Reset() { *m = UserSendMsgResp{} } func (m *UserSendMsgResp) String() string { return proto.CompactTextString(m) } func (*UserSendMsgResp) ProtoMessage() {} func (*UserSendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{21} + return fileDescriptor_ws_73169a3998a579bb, []int{21} } func (m *UserSendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserSendMsgResp.Unmarshal(m, b) @@ -1912,7 +1912,7 @@ func (m *MsgData) Reset() { *m = MsgData{} } func (m *MsgData) String() string { return proto.CompactTextString(m) } func (*MsgData) ProtoMessage() {} func (*MsgData) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{22} + return fileDescriptor_ws_73169a3998a579bb, []int{22} } func (m *MsgData) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgData.Unmarshal(m, b) @@ -2101,7 +2101,7 @@ func (m *OfflinePushInfo) Reset() { *m = OfflinePushInfo{} } func (m *OfflinePushInfo) String() string { return proto.CompactTextString(m) } func (*OfflinePushInfo) ProtoMessage() {} func (*OfflinePushInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{23} + return fileDescriptor_ws_73169a3998a579bb, []int{23} } func (m *OfflinePushInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OfflinePushInfo.Unmarshal(m, b) @@ -2169,7 +2169,7 @@ func (m *TipsComm) Reset() { *m = TipsComm{} } func (m *TipsComm) String() string { return proto.CompactTextString(m) } func (*TipsComm) ProtoMessage() {} func (*TipsComm) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{24} + return fileDescriptor_ws_73169a3998a579bb, []int{24} } func (m *TipsComm) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TipsComm.Unmarshal(m, b) @@ -2226,7 +2226,7 @@ func (m *GroupCreatedTips) Reset() { *m = GroupCreatedTips{} } func (m *GroupCreatedTips) String() string { return proto.CompactTextString(m) } func (*GroupCreatedTips) ProtoMessage() {} func (*GroupCreatedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{25} + return fileDescriptor_ws_73169a3998a579bb, []int{25} } func (m *GroupCreatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupCreatedTips.Unmarshal(m, b) @@ -2295,7 +2295,7 @@ func (m *GroupInfoSetTips) Reset() { *m = GroupInfoSetTips{} } func (m *GroupInfoSetTips) String() string { return proto.CompactTextString(m) } func (*GroupInfoSetTips) ProtoMessage() {} func (*GroupInfoSetTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{26} + return fileDescriptor_ws_73169a3998a579bb, []int{26} } func (m *GroupInfoSetTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfoSetTips.Unmarshal(m, b) @@ -2350,7 +2350,7 @@ func (m *JoinGroupApplicationTips) Reset() { *m = JoinGroupApplicationTi func (m *JoinGroupApplicationTips) String() string { return proto.CompactTextString(m) } func (*JoinGroupApplicationTips) ProtoMessage() {} func (*JoinGroupApplicationTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{27} + return fileDescriptor_ws_73169a3998a579bb, []int{27} } func (m *JoinGroupApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_JoinGroupApplicationTips.Unmarshal(m, b) @@ -2406,7 +2406,7 @@ func (m *MemberQuitTips) Reset() { *m = MemberQuitTips{} } func (m *MemberQuitTips) String() string { return proto.CompactTextString(m) } func (*MemberQuitTips) ProtoMessage() {} func (*MemberQuitTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{28} + return fileDescriptor_ws_73169a3998a579bb, []int{28} } func (m *MemberQuitTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberQuitTips.Unmarshal(m, b) @@ -2462,7 +2462,7 @@ func (m *GroupApplicationAcceptedTips) Reset() { *m = GroupApplicationAc func (m *GroupApplicationAcceptedTips) String() string { return proto.CompactTextString(m) } func (*GroupApplicationAcceptedTips) ProtoMessage() {} func (*GroupApplicationAcceptedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{29} + return fileDescriptor_ws_73169a3998a579bb, []int{29} } func (m *GroupApplicationAcceptedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationAcceptedTips.Unmarshal(m, b) @@ -2525,7 +2525,7 @@ func (m *GroupApplicationRejectedTips) Reset() { *m = GroupApplicationRe func (m *GroupApplicationRejectedTips) String() string { return proto.CompactTextString(m) } func (*GroupApplicationRejectedTips) ProtoMessage() {} func (*GroupApplicationRejectedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{30} + return fileDescriptor_ws_73169a3998a579bb, []int{30} } func (m *GroupApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationRejectedTips.Unmarshal(m, b) @@ -2588,7 +2588,7 @@ func (m *GroupOwnerTransferredTips) Reset() { *m = GroupOwnerTransferred func (m *GroupOwnerTransferredTips) String() string { return proto.CompactTextString(m) } func (*GroupOwnerTransferredTips) ProtoMessage() {} func (*GroupOwnerTransferredTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{31} + return fileDescriptor_ws_73169a3998a579bb, []int{31} } func (m *GroupOwnerTransferredTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupOwnerTransferredTips.Unmarshal(m, b) @@ -2651,7 +2651,7 @@ func (m *MemberKickedTips) Reset() { *m = MemberKickedTips{} } func (m *MemberKickedTips) String() string { return proto.CompactTextString(m) } func (*MemberKickedTips) ProtoMessage() {} func (*MemberKickedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{32} + return fileDescriptor_ws_73169a3998a579bb, []int{32} } func (m *MemberKickedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberKickedTips.Unmarshal(m, b) @@ -2714,7 +2714,7 @@ func (m *MemberInvitedTips) Reset() { *m = MemberInvitedTips{} } func (m *MemberInvitedTips) String() string { return proto.CompactTextString(m) } func (*MemberInvitedTips) ProtoMessage() {} func (*MemberInvitedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{33} + return fileDescriptor_ws_73169a3998a579bb, []int{33} } func (m *MemberInvitedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberInvitedTips.Unmarshal(m, b) @@ -2776,7 +2776,7 @@ func (m *MemberEnterTips) Reset() { *m = MemberEnterTips{} } func (m *MemberEnterTips) String() string { return proto.CompactTextString(m) } func (*MemberEnterTips) ProtoMessage() {} func (*MemberEnterTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{34} + return fileDescriptor_ws_73169a3998a579bb, []int{34} } func (m *MemberEnterTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberEnterTips.Unmarshal(m, b) @@ -2830,7 +2830,7 @@ func (m *GroupDismissedTips) Reset() { *m = GroupDismissedTips{} } func (m *GroupDismissedTips) String() string { return proto.CompactTextString(m) } func (*GroupDismissedTips) ProtoMessage() {} func (*GroupDismissedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{35} + return fileDescriptor_ws_73169a3998a579bb, []int{35} } func (m *GroupDismissedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupDismissedTips.Unmarshal(m, b) @@ -2886,7 +2886,7 @@ func (m *GroupMemberMutedTips) Reset() { *m = GroupMemberMutedTips{} } func (m *GroupMemberMutedTips) String() string { return proto.CompactTextString(m) } func (*GroupMemberMutedTips) ProtoMessage() {} func (*GroupMemberMutedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{36} + return fileDescriptor_ws_73169a3998a579bb, []int{36} } func (m *GroupMemberMutedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMemberMutedTips.Unmarshal(m, b) @@ -2955,7 +2955,7 @@ func (m *GroupMemberCancelMutedTips) Reset() { *m = GroupMemberCancelMut func (m *GroupMemberCancelMutedTips) String() string { return proto.CompactTextString(m) } func (*GroupMemberCancelMutedTips) ProtoMessage() {} func (*GroupMemberCancelMutedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{37} + return fileDescriptor_ws_73169a3998a579bb, []int{37} } func (m *GroupMemberCancelMutedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMemberCancelMutedTips.Unmarshal(m, b) @@ -3016,7 +3016,7 @@ func (m *GroupMutedTips) Reset() { *m = GroupMutedTips{} } func (m *GroupMutedTips) String() string { return proto.CompactTextString(m) } func (*GroupMutedTips) ProtoMessage() {} func (*GroupMutedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{38} + return fileDescriptor_ws_73169a3998a579bb, []int{38} } func (m *GroupMutedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMutedTips.Unmarshal(m, b) @@ -3070,7 +3070,7 @@ func (m *GroupCancelMutedTips) Reset() { *m = GroupCancelMutedTips{} } func (m *GroupCancelMutedTips) String() string { return proto.CompactTextString(m) } func (*GroupCancelMutedTips) ProtoMessage() {} func (*GroupCancelMutedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{39} + return fileDescriptor_ws_73169a3998a579bb, []int{39} } func (m *GroupCancelMutedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupCancelMutedTips.Unmarshal(m, b) @@ -3125,7 +3125,7 @@ func (m *GroupMemberInfoSetTips) Reset() { *m = GroupMemberInfoSetTips{} func (m *GroupMemberInfoSetTips) String() string { return proto.CompactTextString(m) } func (*GroupMemberInfoSetTips) ProtoMessage() {} func (*GroupMemberInfoSetTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{40} + return fileDescriptor_ws_73169a3998a579bb, []int{40} } func (m *GroupMemberInfoSetTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMemberInfoSetTips.Unmarshal(m, b) @@ -3185,7 +3185,7 @@ func (m *OrganizationChangedTips) Reset() { *m = OrganizationChangedTips func (m *OrganizationChangedTips) String() string { return proto.CompactTextString(m) } func (*OrganizationChangedTips) ProtoMessage() {} func (*OrganizationChangedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{41} + return fileDescriptor_ws_73169a3998a579bb, []int{41} } func (m *OrganizationChangedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OrganizationChangedTips.Unmarshal(m, b) @@ -3232,7 +3232,7 @@ func (m *FriendApplication) Reset() { *m = FriendApplication{} } func (m *FriendApplication) String() string { return proto.CompactTextString(m) } func (*FriendApplication) ProtoMessage() {} func (*FriendApplication) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{42} + return fileDescriptor_ws_73169a3998a579bb, []int{42} } func (m *FriendApplication) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplication.Unmarshal(m, b) @@ -3285,7 +3285,7 @@ func (m *FromToUserID) Reset() { *m = FromToUserID{} } func (m *FromToUserID) String() string { return proto.CompactTextString(m) } func (*FromToUserID) ProtoMessage() {} func (*FromToUserID) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{43} + return fileDescriptor_ws_73169a3998a579bb, []int{43} } func (m *FromToUserID) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FromToUserID.Unmarshal(m, b) @@ -3331,7 +3331,7 @@ func (m *FriendApplicationTips) Reset() { *m = FriendApplicationTips{} } func (m *FriendApplicationTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationTips) ProtoMessage() {} func (*FriendApplicationTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{44} + return fileDescriptor_ws_73169a3998a579bb, []int{44} } func (m *FriendApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationTips.Unmarshal(m, b) @@ -3371,7 +3371,7 @@ func (m *FriendApplicationApprovedTips) Reset() { *m = FriendApplication func (m *FriendApplicationApprovedTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationApprovedTips) ProtoMessage() {} func (*FriendApplicationApprovedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{45} + return fileDescriptor_ws_73169a3998a579bb, []int{45} } func (m *FriendApplicationApprovedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationApprovedTips.Unmarshal(m, b) @@ -3418,7 +3418,7 @@ func (m *FriendApplicationRejectedTips) Reset() { *m = FriendApplication func (m *FriendApplicationRejectedTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationRejectedTips) ProtoMessage() {} func (*FriendApplicationRejectedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{46} + return fileDescriptor_ws_73169a3998a579bb, []int{46} } func (m *FriendApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationRejectedTips.Unmarshal(m, b) @@ -3466,7 +3466,7 @@ func (m *FriendAddedTips) Reset() { *m = FriendAddedTips{} } func (m *FriendAddedTips) String() string { return proto.CompactTextString(m) } func (*FriendAddedTips) ProtoMessage() {} func (*FriendAddedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{47} + return fileDescriptor_ws_73169a3998a579bb, []int{47} } func (m *FriendAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendAddedTips.Unmarshal(m, b) @@ -3519,7 +3519,7 @@ func (m *FriendDeletedTips) Reset() { *m = FriendDeletedTips{} } func (m *FriendDeletedTips) String() string { return proto.CompactTextString(m) } func (*FriendDeletedTips) ProtoMessage() {} func (*FriendDeletedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{48} + return fileDescriptor_ws_73169a3998a579bb, []int{48} } func (m *FriendDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendDeletedTips.Unmarshal(m, b) @@ -3557,7 +3557,7 @@ func (m *BlackAddedTips) Reset() { *m = BlackAddedTips{} } func (m *BlackAddedTips) String() string { return proto.CompactTextString(m) } func (*BlackAddedTips) ProtoMessage() {} func (*BlackAddedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{49} + return fileDescriptor_ws_73169a3998a579bb, []int{49} } func (m *BlackAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackAddedTips.Unmarshal(m, b) @@ -3595,7 +3595,7 @@ func (m *BlackDeletedTips) Reset() { *m = BlackDeletedTips{} } func (m *BlackDeletedTips) String() string { return proto.CompactTextString(m) } func (*BlackDeletedTips) ProtoMessage() {} func (*BlackDeletedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{50} + return fileDescriptor_ws_73169a3998a579bb, []int{50} } func (m *BlackDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackDeletedTips.Unmarshal(m, b) @@ -3633,7 +3633,7 @@ func (m *FriendInfoChangedTips) Reset() { *m = FriendInfoChangedTips{} } func (m *FriendInfoChangedTips) String() string { return proto.CompactTextString(m) } func (*FriendInfoChangedTips) ProtoMessage() {} func (*FriendInfoChangedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{51} + return fileDescriptor_ws_73169a3998a579bb, []int{51} } func (m *FriendInfoChangedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendInfoChangedTips.Unmarshal(m, b) @@ -3672,7 +3672,7 @@ func (m *UserInfoUpdatedTips) Reset() { *m = UserInfoUpdatedTips{} } func (m *UserInfoUpdatedTips) String() string { return proto.CompactTextString(m) } func (*UserInfoUpdatedTips) ProtoMessage() {} func (*UserInfoUpdatedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{52} + return fileDescriptor_ws_73169a3998a579bb, []int{52} } func (m *UserInfoUpdatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfoUpdatedTips.Unmarshal(m, b) @@ -3713,7 +3713,7 @@ func (m *ConversationUpdateTips) Reset() { *m = ConversationUpdateTips{} func (m *ConversationUpdateTips) String() string { return proto.CompactTextString(m) } func (*ConversationUpdateTips) ProtoMessage() {} func (*ConversationUpdateTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{53} + return fileDescriptor_ws_73169a3998a579bb, []int{53} } func (m *ConversationUpdateTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConversationUpdateTips.Unmarshal(m, b) @@ -3767,7 +3767,7 @@ func (m *ConversationSetPrivateTips) Reset() { *m = ConversationSetPriva func (m *ConversationSetPrivateTips) String() string { return proto.CompactTextString(m) } func (*ConversationSetPrivateTips) ProtoMessage() {} func (*ConversationSetPrivateTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{54} + return fileDescriptor_ws_73169a3998a579bb, []int{54} } func (m *ConversationSetPrivateTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConversationSetPrivateTips.Unmarshal(m, b) @@ -3822,7 +3822,7 @@ func (m *DeleteMessageTips) Reset() { *m = DeleteMessageTips{} } func (m *DeleteMessageTips) String() string { return proto.CompactTextString(m) } func (*DeleteMessageTips) ProtoMessage() {} func (*DeleteMessageTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{55} + return fileDescriptor_ws_73169a3998a579bb, []int{55} } func (m *DeleteMessageTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteMessageTips.Unmarshal(m, b) @@ -3876,7 +3876,7 @@ func (m *RequestPagination) Reset() { *m = RequestPagination{} } func (m *RequestPagination) String() string { return proto.CompactTextString(m) } func (*RequestPagination) ProtoMessage() {} func (*RequestPagination) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{56} + return fileDescriptor_ws_73169a3998a579bb, []int{56} } func (m *RequestPagination) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RequestPagination.Unmarshal(m, b) @@ -3922,7 +3922,7 @@ func (m *ResponsePagination) Reset() { *m = ResponsePagination{} } func (m *ResponsePagination) String() string { return proto.CompactTextString(m) } func (*ResponsePagination) ProtoMessage() {} func (*ResponsePagination) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{57} + return fileDescriptor_ws_73169a3998a579bb, []int{57} } func (m *ResponsePagination) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ResponsePagination.Unmarshal(m, b) @@ -3979,7 +3979,7 @@ func (m *SignalReq) Reset() { *m = SignalReq{} } func (m *SignalReq) String() string { return proto.CompactTextString(m) } func (*SignalReq) ProtoMessage() {} func (*SignalReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{58} + return fileDescriptor_ws_73169a3998a579bb, []int{58} } func (m *SignalReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalReq.Unmarshal(m, b) @@ -4368,7 +4368,7 @@ func (m *SignalResp) Reset() { *m = SignalResp{} } func (m *SignalResp) String() string { return proto.CompactTextString(m) } func (*SignalResp) ProtoMessage() {} func (*SignalResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{59} + return fileDescriptor_ws_73169a3998a579bb, []int{59} } func (m *SignalResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalResp.Unmarshal(m, b) @@ -4698,7 +4698,7 @@ func (m *InvitationInfo) Reset() { *m = InvitationInfo{} } func (m *InvitationInfo) String() string { return proto.CompactTextString(m) } func (*InvitationInfo) ProtoMessage() {} func (*InvitationInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{60} + return fileDescriptor_ws_73169a3998a579bb, []int{60} } func (m *InvitationInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_InvitationInfo.Unmarshal(m, b) @@ -4808,7 +4808,7 @@ func (m *ParticipantMetaData) Reset() { *m = ParticipantMetaData{} } func (m *ParticipantMetaData) String() string { return proto.CompactTextString(m) } func (*ParticipantMetaData) ProtoMessage() {} func (*ParticipantMetaData) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{61} + return fileDescriptor_ws_73169a3998a579bb, []int{61} } func (m *ParticipantMetaData) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ParticipantMetaData.Unmarshal(m, b) @@ -4863,7 +4863,7 @@ func (m *SignalInviteReq) Reset() { *m = SignalInviteReq{} } func (m *SignalInviteReq) String() string { return proto.CompactTextString(m) } func (*SignalInviteReq) ProtoMessage() {} func (*SignalInviteReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{62} + return fileDescriptor_ws_73169a3998a579bb, []int{62} } func (m *SignalInviteReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteReq.Unmarshal(m, b) @@ -4925,7 +4925,7 @@ func (m *SignalInviteReply) Reset() { *m = SignalInviteReply{} } func (m *SignalInviteReply) String() string { return proto.CompactTextString(m) } func (*SignalInviteReply) ProtoMessage() {} func (*SignalInviteReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{63} + return fileDescriptor_ws_73169a3998a579bb, []int{63} } func (m *SignalInviteReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteReply.Unmarshal(m, b) @@ -4987,7 +4987,7 @@ func (m *SignalInviteInGroupReq) Reset() { *m = SignalInviteInGroupReq{} func (m *SignalInviteInGroupReq) String() string { return proto.CompactTextString(m) } func (*SignalInviteInGroupReq) ProtoMessage() {} func (*SignalInviteInGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{64} + return fileDescriptor_ws_73169a3998a579bb, []int{64} } func (m *SignalInviteInGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteInGroupReq.Unmarshal(m, b) @@ -5049,7 +5049,7 @@ func (m *SignalInviteInGroupReply) Reset() { *m = SignalInviteInGroupRep func (m *SignalInviteInGroupReply) String() string { return proto.CompactTextString(m) } func (*SignalInviteInGroupReply) ProtoMessage() {} func (*SignalInviteInGroupReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{65} + return fileDescriptor_ws_73169a3998a579bb, []int{65} } func (m *SignalInviteInGroupReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteInGroupReply.Unmarshal(m, b) @@ -5111,7 +5111,7 @@ func (m *SignalCancelReq) Reset() { *m = SignalCancelReq{} } func (m *SignalCancelReq) String() string { return proto.CompactTextString(m) } func (*SignalCancelReq) ProtoMessage() {} func (*SignalCancelReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{66} + return fileDescriptor_ws_73169a3998a579bb, []int{66} } func (m *SignalCancelReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalCancelReq.Unmarshal(m, b) @@ -5169,7 +5169,7 @@ func (m *SignalCancelReply) Reset() { *m = SignalCancelReply{} } func (m *SignalCancelReply) String() string { return proto.CompactTextString(m) } func (*SignalCancelReply) ProtoMessage() {} func (*SignalCancelReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{67} + return fileDescriptor_ws_73169a3998a579bb, []int{67} } func (m *SignalCancelReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalCancelReply.Unmarshal(m, b) @@ -5204,7 +5204,7 @@ func (m *SignalAcceptReq) Reset() { *m = SignalAcceptReq{} } func (m *SignalAcceptReq) String() string { return proto.CompactTextString(m) } func (*SignalAcceptReq) ProtoMessage() {} func (*SignalAcceptReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{68} + return fileDescriptor_ws_73169a3998a579bb, []int{68} } func (m *SignalAcceptReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalAcceptReq.Unmarshal(m, b) @@ -5272,7 +5272,7 @@ func (m *SignalAcceptReply) Reset() { *m = SignalAcceptReply{} } func (m *SignalAcceptReply) String() string { return proto.CompactTextString(m) } func (*SignalAcceptReply) ProtoMessage() {} func (*SignalAcceptReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{69} + return fileDescriptor_ws_73169a3998a579bb, []int{69} } func (m *SignalAcceptReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalAcceptReply.Unmarshal(m, b) @@ -5326,7 +5326,7 @@ func (m *SignalHungUpReq) Reset() { *m = SignalHungUpReq{} } func (m *SignalHungUpReq) String() string { return proto.CompactTextString(m) } func (*SignalHungUpReq) ProtoMessage() {} func (*SignalHungUpReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{70} + return fileDescriptor_ws_73169a3998a579bb, []int{70} } func (m *SignalHungUpReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalHungUpReq.Unmarshal(m, b) @@ -5377,7 +5377,7 @@ func (m *SignalHungUpReply) Reset() { *m = SignalHungUpReply{} } func (m *SignalHungUpReply) String() string { return proto.CompactTextString(m) } func (*SignalHungUpReply) ProtoMessage() {} func (*SignalHungUpReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{71} + return fileDescriptor_ws_73169a3998a579bb, []int{71} } func (m *SignalHungUpReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalHungUpReply.Unmarshal(m, b) @@ -5412,7 +5412,7 @@ func (m *SignalRejectReq) Reset() { *m = SignalRejectReq{} } func (m *SignalRejectReq) String() string { return proto.CompactTextString(m) } func (*SignalRejectReq) ProtoMessage() {} func (*SignalRejectReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{72} + return fileDescriptor_ws_73169a3998a579bb, []int{72} } func (m *SignalRejectReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalRejectReq.Unmarshal(m, b) @@ -5477,7 +5477,7 @@ func (m *SignalRejectReply) Reset() { *m = SignalRejectReply{} } func (m *SignalRejectReply) String() string { return proto.CompactTextString(m) } func (*SignalRejectReply) ProtoMessage() {} func (*SignalRejectReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{73} + return fileDescriptor_ws_73169a3998a579bb, []int{73} } func (m *SignalRejectReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalRejectReply.Unmarshal(m, b) @@ -5510,7 +5510,7 @@ func (m *SignalGetRoomByGroupIDReq) Reset() { *m = SignalGetRoomByGroupI func (m *SignalGetRoomByGroupIDReq) String() string { return proto.CompactTextString(m) } func (*SignalGetRoomByGroupIDReq) ProtoMessage() {} func (*SignalGetRoomByGroupIDReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{74} + return fileDescriptor_ws_73169a3998a579bb, []int{74} } func (m *SignalGetRoomByGroupIDReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalGetRoomByGroupIDReq.Unmarshal(m, b) @@ -5564,7 +5564,7 @@ func (m *SignalGetRoomByGroupIDReply) Reset() { *m = SignalGetRoomByGrou func (m *SignalGetRoomByGroupIDReply) String() string { return proto.CompactTextString(m) } func (*SignalGetRoomByGroupIDReply) ProtoMessage() {} func (*SignalGetRoomByGroupIDReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{75} + return fileDescriptor_ws_73169a3998a579bb, []int{75} } func (m *SignalGetRoomByGroupIDReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalGetRoomByGroupIDReply.Unmarshal(m, b) @@ -5618,7 +5618,7 @@ func (m *SignalOnRoomParticipantConnectedReq) Reset() { *m = SignalOnRoo func (m *SignalOnRoomParticipantConnectedReq) String() string { return proto.CompactTextString(m) } func (*SignalOnRoomParticipantConnectedReq) ProtoMessage() {} func (*SignalOnRoomParticipantConnectedReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{76} + return fileDescriptor_ws_73169a3998a579bb, []int{76} } func (m *SignalOnRoomParticipantConnectedReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalOnRoomParticipantConnectedReq.Unmarshal(m, b) @@ -5674,7 +5674,7 @@ func (m *SignalOnRoomParticipantDisconnectedReq) Reset() { func (m *SignalOnRoomParticipantDisconnectedReq) String() string { return proto.CompactTextString(m) } func (*SignalOnRoomParticipantDisconnectedReq) ProtoMessage() {} func (*SignalOnRoomParticipantDisconnectedReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{77} + return fileDescriptor_ws_73169a3998a579bb, []int{77} } func (m *SignalOnRoomParticipantDisconnectedReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalOnRoomParticipantDisconnectedReq.Unmarshal(m, b) @@ -5729,7 +5729,7 @@ func (m *SignalGetTokenByRoomIDReq) Reset() { *m = SignalGetTokenByRoomI func (m *SignalGetTokenByRoomIDReq) String() string { return proto.CompactTextString(m) } func (*SignalGetTokenByRoomIDReq) ProtoMessage() {} func (*SignalGetTokenByRoomIDReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{78} + return fileDescriptor_ws_73169a3998a579bb, []int{78} } func (m *SignalGetTokenByRoomIDReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalGetTokenByRoomIDReq.Unmarshal(m, b) @@ -5789,7 +5789,7 @@ func (m *SignalGetTokenByRoomIDReply) Reset() { *m = SignalGetTokenByRoo func (m *SignalGetTokenByRoomIDReply) String() string { return proto.CompactTextString(m) } func (*SignalGetTokenByRoomIDReply) ProtoMessage() {} func (*SignalGetTokenByRoomIDReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{79} + return fileDescriptor_ws_73169a3998a579bb, []int{79} } func (m *SignalGetTokenByRoomIDReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalGetTokenByRoomIDReply.Unmarshal(m, b) @@ -5837,7 +5837,7 @@ func (m *DelMsgListReq) Reset() { *m = DelMsgListReq{} } func (m *DelMsgListReq) String() string { return proto.CompactTextString(m) } func (*DelMsgListReq) ProtoMessage() {} func (*DelMsgListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{80} + return fileDescriptor_ws_73169a3998a579bb, []int{80} } func (m *DelMsgListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelMsgListReq.Unmarshal(m, b) @@ -5897,7 +5897,7 @@ func (m *DelMsgListResp) Reset() { *m = DelMsgListResp{} } func (m *DelMsgListResp) String() string { return proto.CompactTextString(m) } func (*DelMsgListResp) ProtoMessage() {} func (*DelMsgListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{81} + return fileDescriptor_ws_73169a3998a579bb, []int{81} } func (m *DelMsgListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelMsgListResp.Unmarshal(m, b) @@ -5943,7 +5943,7 @@ func (m *SetAppBackgroundStatusReq) Reset() { *m = SetAppBackgroundStatu func (m *SetAppBackgroundStatusReq) String() string { return proto.CompactTextString(m) } func (*SetAppBackgroundStatusReq) ProtoMessage() {} func (*SetAppBackgroundStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{82} + return fileDescriptor_ws_73169a3998a579bb, []int{82} } func (m *SetAppBackgroundStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetAppBackgroundStatusReq.Unmarshal(m, b) @@ -5989,7 +5989,7 @@ func (m *SetAppBackgroundStatusResp) Reset() { *m = SetAppBackgroundStat func (m *SetAppBackgroundStatusResp) String() string { return proto.CompactTextString(m) } func (*SetAppBackgroundStatusResp) ProtoMessage() {} func (*SetAppBackgroundStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{83} + return fileDescriptor_ws_73169a3998a579bb, []int{83} } func (m *SetAppBackgroundStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetAppBackgroundStatusResp.Unmarshal(m, b) @@ -6024,23 +6024,22 @@ func (m *SetAppBackgroundStatusResp) GetErrMsg() string { } type ExtendMsgSet struct { - ID string `protobuf:"bytes,1,opt,name=ID" json:"ID,omitempty"` - // repeated ExtendMsg extendMsgs = 2; - LatestUpdateTime int32 `protobuf:"varint,3,opt,name=latestUpdateTime" json:"latestUpdateTime,omitempty"` - AttachedInfo string `protobuf:"bytes,4,opt,name=attachedInfo" json:"attachedInfo,omitempty"` - Ex string `protobuf:"bytes,5,opt,name=ex" json:"ex,omitempty"` - ExtendMsgNum int32 `protobuf:"varint,6,opt,name=extendMsgNum" json:"extendMsgNum,omitempty"` - CreateTime int32 `protobuf:"varint,7,opt,name=createTime" json:"createTime,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + SourceID string `protobuf:"bytes,1,opt,name=sourceID" json:"sourceID,omitempty"` + SessionType int32 `protobuf:"varint,2,opt,name=sessionType" json:"sessionType,omitempty"` + ExtendMsgs map[string]*ExtendMsg `protobuf:"bytes,3,rep,name=extendMsgs" json:"extendMsgs,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + MaxMsgUpdateTime int64 `protobuf:"varint,4,opt,name=MaxMsgUpdateTime" json:"MaxMsgUpdateTime,omitempty"` + ExtendMsgNum int32 `protobuf:"varint,5,opt,name=extendMsgNum" json:"extendMsgNum,omitempty"` + CreateTime int64 `protobuf:"varint,6,opt,name=createTime" json:"createTime,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *ExtendMsgSet) Reset() { *m = ExtendMsgSet{} } func (m *ExtendMsgSet) String() string { return proto.CompactTextString(m) } func (*ExtendMsgSet) ProtoMessage() {} func (*ExtendMsgSet) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{84} + return fileDescriptor_ws_73169a3998a579bb, []int{84} } func (m *ExtendMsgSet) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExtendMsgSet.Unmarshal(m, b) @@ -6060,32 +6059,32 @@ func (m *ExtendMsgSet) XXX_DiscardUnknown() { var xxx_messageInfo_ExtendMsgSet proto.InternalMessageInfo -func (m *ExtendMsgSet) GetID() string { +func (m *ExtendMsgSet) GetSourceID() string { if m != nil { - return m.ID + return m.SourceID } return "" } -func (m *ExtendMsgSet) GetLatestUpdateTime() int32 { +func (m *ExtendMsgSet) GetSessionType() int32 { if m != nil { - return m.LatestUpdateTime + return m.SessionType } return 0 } -func (m *ExtendMsgSet) GetAttachedInfo() string { +func (m *ExtendMsgSet) GetExtendMsgs() map[string]*ExtendMsg { if m != nil { - return m.AttachedInfo + return m.ExtendMsgs } - return "" + return nil } -func (m *ExtendMsgSet) GetEx() string { +func (m *ExtendMsgSet) GetMaxMsgUpdateTime() int64 { if m != nil { - return m.Ex + return m.MaxMsgUpdateTime } - return "" + return 0 } func (m *ExtendMsgSet) GetExtendMsgNum() int32 { @@ -6095,61 +6094,131 @@ func (m *ExtendMsgSet) GetExtendMsgNum() int32 { return 0 } -func (m *ExtendMsgSet) GetCreateTime() int32 { +func (m *ExtendMsgSet) GetCreateTime() int64 { if m != nil { return m.CreateTime } return 0 } -type ReactionExtendMsgSet struct { - UserKey string `protobuf:"bytes,1,opt,name=userKey" json:"userKey,omitempty"` +type ExtendMsg struct { + ReactionExtensionList map[string]*KeyValue `protobuf:"bytes,1,rep,name=reactionExtensionList" json:"reactionExtensionList,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + ClientMsgID string `protobuf:"bytes,2,opt,name=clientMsgID" json:"clientMsgID,omitempty"` + MsgFirstModifyTime int64 `protobuf:"varint,3,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"` + AttachedInfo string `protobuf:"bytes,4,opt,name=attachedInfo" json:"attachedInfo,omitempty"` + Ex string `protobuf:"bytes,5,opt,name=ex" json:"ex,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ExtendMsg) Reset() { *m = ExtendMsg{} } +func (m *ExtendMsg) String() string { return proto.CompactTextString(m) } +func (*ExtendMsg) ProtoMessage() {} +func (*ExtendMsg) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_73169a3998a579bb, []int{85} +} +func (m *ExtendMsg) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ExtendMsg.Unmarshal(m, b) +} +func (m *ExtendMsg) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ExtendMsg.Marshal(b, m, deterministic) +} +func (dst *ExtendMsg) XXX_Merge(src proto.Message) { + xxx_messageInfo_ExtendMsg.Merge(dst, src) +} +func (m *ExtendMsg) XXX_Size() int { + return xxx_messageInfo_ExtendMsg.Size(m) +} +func (m *ExtendMsg) XXX_DiscardUnknown() { + xxx_messageInfo_ExtendMsg.DiscardUnknown(m) +} + +var xxx_messageInfo_ExtendMsg proto.InternalMessageInfo + +func (m *ExtendMsg) GetReactionExtensionList() map[string]*KeyValue { + if m != nil { + return m.ReactionExtensionList + } + return nil +} + +func (m *ExtendMsg) GetClientMsgID() string { + if m != nil { + return m.ClientMsgID + } + return "" +} + +func (m *ExtendMsg) GetMsgFirstModifyTime() int64 { + if m != nil { + return m.MsgFirstModifyTime + } + return 0 +} + +func (m *ExtendMsg) GetAttachedInfo() string { + if m != nil { + return m.AttachedInfo + } + return "" +} + +func (m *ExtendMsg) GetEx() string { + if m != nil { + return m.Ex + } + return "" +} + +type KeyValue struct { + TypeKey string `protobuf:"bytes,1,opt,name=typeKey" json:"typeKey,omitempty"` Value string `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"` - LatestUpdateTime int32 `protobuf:"varint,3,opt,name=latestUpdateTime" json:"latestUpdateTime,omitempty"` + LatestUpdateTime int64 `protobuf:"varint,3,opt,name=latestUpdateTime" json:"latestUpdateTime,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } -func (m *ReactionExtendMsgSet) Reset() { *m = ReactionExtendMsgSet{} } -func (m *ReactionExtendMsgSet) String() string { return proto.CompactTextString(m) } -func (*ReactionExtendMsgSet) ProtoMessage() {} -func (*ReactionExtendMsgSet) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d54a5080f0ac6b4f, []int{85} +func (m *KeyValue) Reset() { *m = KeyValue{} } +func (m *KeyValue) String() string { return proto.CompactTextString(m) } +func (*KeyValue) ProtoMessage() {} +func (*KeyValue) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_73169a3998a579bb, []int{86} } -func (m *ReactionExtendMsgSet) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ReactionExtendMsgSet.Unmarshal(m, b) +func (m *KeyValue) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_KeyValue.Unmarshal(m, b) } -func (m *ReactionExtendMsgSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ReactionExtendMsgSet.Marshal(b, m, deterministic) +func (m *KeyValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_KeyValue.Marshal(b, m, deterministic) } -func (dst *ReactionExtendMsgSet) XXX_Merge(src proto.Message) { - xxx_messageInfo_ReactionExtendMsgSet.Merge(dst, src) +func (dst *KeyValue) XXX_Merge(src proto.Message) { + xxx_messageInfo_KeyValue.Merge(dst, src) } -func (m *ReactionExtendMsgSet) XXX_Size() int { - return xxx_messageInfo_ReactionExtendMsgSet.Size(m) +func (m *KeyValue) XXX_Size() int { + return xxx_messageInfo_KeyValue.Size(m) } -func (m *ReactionExtendMsgSet) XXX_DiscardUnknown() { - xxx_messageInfo_ReactionExtendMsgSet.DiscardUnknown(m) +func (m *KeyValue) XXX_DiscardUnknown() { + xxx_messageInfo_KeyValue.DiscardUnknown(m) } -var xxx_messageInfo_ReactionExtendMsgSet proto.InternalMessageInfo +var xxx_messageInfo_KeyValue proto.InternalMessageInfo -func (m *ReactionExtendMsgSet) GetUserKey() string { +func (m *KeyValue) GetTypeKey() string { if m != nil { - return m.UserKey + return m.TypeKey } return "" } -func (m *ReactionExtendMsgSet) GetValue() string { +func (m *KeyValue) GetValue() string { if m != nil { return m.Value } return "" } -func (m *ReactionExtendMsgSet) GetLatestUpdateTime() int32 { +func (m *KeyValue) GetLatestUpdateTime() int64 { if m != nil { return m.LatestUpdateTime } @@ -6246,260 +6315,271 @@ func init() { proto.RegisterType((*SetAppBackgroundStatusReq)(nil), "server_api_params.SetAppBackgroundStatusReq") proto.RegisterType((*SetAppBackgroundStatusResp)(nil), "server_api_params.SetAppBackgroundStatusResp") proto.RegisterType((*ExtendMsgSet)(nil), "server_api_params.ExtendMsgSet") - proto.RegisterType((*ReactionExtendMsgSet)(nil), "server_api_params.ReactionExtendMsgSet") + proto.RegisterMapType((map[string]*ExtendMsg)(nil), "server_api_params.ExtendMsgSet.ExtendMsgsEntry") + proto.RegisterType((*ExtendMsg)(nil), "server_api_params.ExtendMsg") + proto.RegisterMapType((map[string]*KeyValue)(nil), "server_api_params.ExtendMsg.ReactionExtensionListEntry") + proto.RegisterType((*KeyValue)(nil), "server_api_params.KeyValue") } -func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_d54a5080f0ac6b4f) } +func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_73169a3998a579bb) } -var fileDescriptor_ws_d54a5080f0ac6b4f = []byte{ - // 3977 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x3c, 0x5b, 0x6f, 0x1d, 0x57, - 0x57, 0x9d, 0x39, 0x17, 0xfb, 0xac, 0xe3, 0xcb, 0xf1, 0x24, 0x71, 0x4f, 0xdd, 0x34, 0x98, 0x69, - 0x14, 0x4a, 0x48, 0x1d, 0x94, 0x5e, 0x44, 0x6f, 0x41, 0xbe, 0x24, 0x8e, 0xdb, 0x1c, 0xdb, 0x9d, - 0x93, 0x34, 0xa8, 0xad, 0x14, 0xc6, 0x67, 0xb6, 0x8f, 0xa7, 0x9e, 0x33, 0x33, 0x9e, 0x8b, 0x13, - 0xf3, 0x00, 0x12, 0x20, 0x40, 0xe2, 0x01, 0x09, 0x71, 0x91, 0xe0, 0x8d, 0x17, 0x04, 0x42, 0x15, - 0x42, 0x80, 0x90, 0x40, 0x08, 0x55, 0x3c, 0x20, 0x81, 0x44, 0xdf, 0x91, 0x40, 0xf0, 0xc4, 0xc3, - 0xf7, 0x07, 0x3e, 0xe9, 0x93, 0xfa, 0x69, 0xef, 0xb5, 0x67, 0x66, 0xef, 0x99, 0x39, 0x97, 0x58, - 0x56, 0x93, 0x28, 0xdf, 0x9b, 0xd7, 0x9a, 0xbd, 0xd6, 0x5e, 0xf7, 0xbd, 0xf6, 0xe5, 0x18, 0xe6, - 0x43, 0xeb, 0xf0, 0xe1, 0xa3, 0xf0, 0xfa, 0xa3, 0x70, 0xc5, 0x0f, 0xbc, 0xc8, 0xd3, 0x16, 0x42, - 0x12, 0x1c, 0x93, 0xe0, 0xa1, 0xe9, 0xdb, 0x0f, 0x7d, 0x33, 0x30, 0x07, 0xe1, 0xd2, 0xca, 0x8e, - 0x4f, 0xdc, 0x37, 0xb7, 0x3a, 0x6f, 0x76, 0xd9, 0xa7, 0xeb, 0xfe, 0x61, 0xff, 0x3a, 0x1b, 0x7c, - 0x3d, 0x21, 0x0e, 0x4c, 0xdf, 0x27, 0x01, 0x67, 0xa1, 0xff, 0x4f, 0x15, 0x1a, 0x9b, 0x81, 0x17, - 0xfb, 0x5b, 0xee, 0xbe, 0xa7, 0xb5, 0x61, 0xaa, 0xcf, 0x80, 0x8d, 0xb6, 0xb2, 0xac, 0xbc, 0xd1, - 0x30, 0x12, 0x50, 0xbb, 0x08, 0x0d, 0xf6, 0xe7, 0xb6, 0x39, 0x20, 0x6d, 0x95, 0x7d, 0xcb, 0x10, - 0x9a, 0x0e, 0x33, 0xae, 0x17, 0xd9, 0xfb, 0x76, 0xcf, 0x8c, 0x6c, 0xcf, 0x6d, 0x57, 0xd8, 0x00, - 0x09, 0x47, 0xc7, 0xd8, 0x6e, 0x14, 0x78, 0x56, 0xdc, 0x63, 0x63, 0xaa, 0x38, 0x46, 0xc4, 0xd1, - 0xf9, 0xf7, 0xcd, 0x1e, 0xb9, 0x6f, 0xdc, 0x6d, 0xd7, 0x70, 0x7e, 0x0e, 0x6a, 0xcb, 0xd0, 0xf4, - 0x1e, 0xb9, 0x24, 0xb8, 0x1f, 0x92, 0x60, 0x6b, 0xa3, 0x5d, 0x67, 0x5f, 0x45, 0x94, 0x76, 0x09, - 0xa0, 0x17, 0x10, 0x33, 0x22, 0xf7, 0xec, 0x01, 0x69, 0x4f, 0x2d, 0x2b, 0x6f, 0xcc, 0x1a, 0x02, - 0x86, 0x72, 0x18, 0x90, 0xc1, 0x1e, 0x09, 0xd6, 0xbd, 0xd8, 0x8d, 0xda, 0xd3, 0x6c, 0x80, 0x88, - 0xd2, 0xe6, 0x40, 0x25, 0x8f, 0xdb, 0x0d, 0xc6, 0x5a, 0x25, 0x8f, 0xb5, 0x45, 0xa8, 0x87, 0x91, - 0x19, 0xc5, 0x61, 0x1b, 0x96, 0x95, 0x37, 0x6a, 0x06, 0x87, 0xb4, 0xcb, 0x30, 0xcb, 0xf8, 0x7a, - 0x89, 0x34, 0x4d, 0x46, 0x22, 0x23, 0x53, 0x8b, 0xdd, 0x3b, 0xf1, 0x49, 0x7b, 0x86, 0x31, 0xc8, - 0x10, 0xda, 0x55, 0x68, 0xb9, 0x84, 0x58, 0x9f, 0x91, 0x20, 0xb3, 0xda, 0x2c, 0x1b, 0x54, 0xc0, - 0x6b, 0x57, 0x60, 0xce, 0xf1, 0xbc, 0xc3, 0x0e, 0x13, 0x95, 0xfa, 0xa9, 0x3d, 0xc7, 0x46, 0xe6, - 0xb0, 0xda, 0x35, 0x58, 0x30, 0x7d, 0xdf, 0x39, 0x41, 0xd4, 0xed, 0xc0, 0x26, 0xae, 0xd5, 0x9e, - 0x67, 0x43, 0x8b, 0x1f, 0xb4, 0x77, 0x61, 0x51, 0xf4, 0xcf, 0x7d, 0xdf, 0x4a, 0x6c, 0xd7, 0x62, - 0xa6, 0x19, 0xf2, 0x55, 0x5b, 0x01, 0x4d, 0xfa, 0x82, 0x26, 0x58, 0x60, 0x26, 0x28, 0xf9, 0xa2, - 0xff, 0x41, 0x05, 0xe6, 0xd3, 0x08, 0xbb, 0xed, 0x05, 0x5d, 0x12, 0x3d, 0xc3, 0x71, 0x86, 0x31, - 0x50, 0x4f, 0x63, 0x60, 0xb3, 0xc4, 0x4f, 0x34, 0xb6, 0x9a, 0x37, 0x5e, 0x5d, 0xe9, 0x7b, 0x5e, - 0xdf, 0x21, 0x98, 0x48, 0x7b, 0xf1, 0xfe, 0xca, 0x96, 0x1b, 0xbd, 0x75, 0xe3, 0x33, 0xd3, 0x89, - 0x49, 0x89, 0x13, 0xd7, 0x0b, 0x4e, 0x9c, 0x1e, 0xcf, 0x26, 0xef, 0xe1, 0xad, 0x32, 0x0f, 0x37, - 0xc6, 0xf3, 0x29, 0x52, 0xe9, 0xdf, 0xa9, 0x70, 0x8e, 0xb9, 0x85, 0x63, 0x63, 0xc7, 0x19, 0x53, - 0x02, 0x16, 0xa1, 0x1e, 0xa3, 0xb3, 0xd1, 0x2f, 0x1c, 0xa2, 0x2e, 0x0b, 0x3c, 0x87, 0xdc, 0x25, - 0xc7, 0xc4, 0x61, 0x1e, 0xa9, 0x19, 0x19, 0x42, 0x5b, 0x82, 0xe9, 0xaf, 0x3c, 0xdb, 0x65, 0x81, - 0x55, 0x65, 0x1f, 0x53, 0x98, 0x7e, 0x73, 0xed, 0xde, 0xa1, 0x4b, 0x7d, 0x8d, 0x7e, 0x48, 0x61, - 0xd1, 0x45, 0x75, 0xd9, 0x45, 0x57, 0x60, 0xce, 0xf4, 0xfd, 0x8e, 0xe9, 0xf6, 0x49, 0x80, 0x93, - 0x4e, 0x61, 0x3a, 0xc8, 0x58, 0x5a, 0x10, 0xe8, 0x4c, 0x5d, 0x2f, 0x0e, 0x7a, 0x84, 0x59, 0xbb, - 0x66, 0x08, 0x18, 0xca, 0xc7, 0xf3, 0x49, 0x20, 0xe4, 0x31, 0xa6, 0x7e, 0x0e, 0xcb, 0x43, 0x02, - 0xd2, 0x90, 0xa0, 0x85, 0x24, 0x8e, 0xc8, 0x2d, 0xd7, 0x62, 0x4a, 0x35, 0x79, 0x21, 0xc9, 0x50, - 0xb4, 0x40, 0xd8, 0xee, 0xb1, 0x1d, 0xa5, 0xe5, 0x6a, 0x06, 0x0b, 0x84, 0x84, 0xd4, 0x7f, 0x4b, - 0x81, 0xb9, 0xdd, 0x78, 0xcf, 0xb1, 0x7b, 0x0c, 0x41, 0x8d, 0x9f, 0x99, 0x58, 0x91, 0x4c, 0x2c, - 0x1a, 0x4a, 0x1d, 0x6e, 0xa8, 0x8a, 0x6c, 0xa8, 0x45, 0xa8, 0xf7, 0x89, 0x6b, 0x91, 0x80, 0x1b, - 0x9e, 0x43, 0x5c, 0xa1, 0x5a, 0xa2, 0x90, 0xfe, 0xdf, 0x2a, 0x4c, 0x7f, 0xcf, 0x22, 0x2c, 0x43, - 0xd3, 0x3f, 0xf0, 0x5c, 0xb2, 0x1d, 0xd3, 0xe0, 0xe3, 0xb2, 0x88, 0x28, 0xed, 0x3c, 0xd4, 0xf6, - 0xec, 0x20, 0x3a, 0x60, 0xde, 0x9f, 0x35, 0x10, 0xa0, 0x58, 0x32, 0x30, 0x6d, 0x74, 0x79, 0xc3, - 0x40, 0x80, 0x2b, 0x34, 0x9d, 0x7a, 0x48, 0x5e, 0x0a, 0x1a, 0x85, 0xa5, 0xa0, 0x18, 0x41, 0x50, - 0x1a, 0x41, 0x57, 0xa1, 0xd5, 0x77, 0xbc, 0x3d, 0xd3, 0x31, 0x48, 0xef, 0xb8, 0x13, 0xf6, 0x77, - 0xfc, 0x88, 0xb9, 0xbb, 0x66, 0x14, 0xf0, 0xd4, 0x3e, 0x4c, 0xc4, 0x6e, 0x14, 0x70, 0x77, 0xa7, - 0xb0, 0xfe, 0x43, 0x05, 0x00, 0xd3, 0x8e, 0x99, 0x38, 0xb7, 0x96, 0x29, 0xc5, 0xb5, 0x6c, 0x11, - 0xea, 0x01, 0x19, 0x98, 0xc1, 0x61, 0x92, 0x6a, 0x08, 0xe5, 0x14, 0xab, 0x14, 0x14, 0xfb, 0x00, - 0x60, 0x9f, 0xcd, 0x43, 0xf9, 0x30, 0x93, 0xd3, 0xc2, 0x50, 0xe8, 0x12, 0x56, 0x12, 0x6f, 0x1b, - 0xc2, 0x70, 0x9a, 0xc7, 0xa6, 0x65, 0xf1, 0x74, 0xa9, 0x61, 0x1e, 0xa7, 0x88, 0x92, 0x6c, 0xa9, - 0x8f, 0xc8, 0x96, 0xa9, 0x34, 0xb8, 0x7e, 0xa0, 0x40, 0x63, 0xcd, 0x31, 0x7b, 0x87, 0x13, 0xaa, - 0x2e, 0xab, 0xa8, 0x16, 0x54, 0xdc, 0x84, 0xd9, 0x3d, 0xca, 0x2e, 0x51, 0x81, 0x59, 0xa1, 0x79, - 0xe3, 0xa7, 0x4b, 0xb4, 0x94, 0x93, 0xcb, 0x90, 0xe9, 0x64, 0x75, 0xab, 0xe3, 0xd5, 0xad, 0x8d, - 0x50, 0x37, 0x5d, 0x2f, 0xf4, 0x3f, 0xae, 0xc0, 0x0c, 0x2b, 0xab, 0x06, 0x39, 0x8a, 0x49, 0x18, - 0x69, 0x1f, 0xc1, 0x74, 0x9c, 0x88, 0xaa, 0x4c, 0x2a, 0x6a, 0x4a, 0xa2, 0xbd, 0xcf, 0xd7, 0x43, - 0x46, 0xaf, 0x32, 0xfa, 0x8b, 0x25, 0xf4, 0xe9, 0x02, 0x6b, 0x64, 0xc3, 0xe9, 0x4a, 0x78, 0x60, - 0xba, 0x96, 0x43, 0x0c, 0x12, 0xc6, 0x4e, 0xc4, 0x6b, 0xb3, 0x84, 0xc3, 0x48, 0x3b, 0xea, 0x84, - 0x7d, 0xbe, 0x4e, 0x72, 0x88, 0x5a, 0x07, 0xc7, 0xd1, 0x4f, 0xa8, 0x7a, 0x86, 0xa0, 0x09, 0x1f, - 0x90, 0x23, 0xe6, 0x21, 0x4c, 0xcf, 0x04, 0xcc, 0xe6, 0xe4, 0x56, 0xc3, 0x40, 0x90, 0x70, 0xd4, - 0xc5, 0x08, 0x33, 0x06, 0xd8, 0x88, 0x09, 0x98, 0x42, 0x1f, 0x26, 0x17, 0x72, 0x28, 0x14, 0xf2, - 0x42, 0xb9, 0x6d, 0x96, 0x95, 0xdb, 0xff, 0xaa, 0xc0, 0x2c, 0x26, 0x61, 0xe2, 0x9a, 0x4b, 0x34, - 0x5b, 0xbc, 0x81, 0x14, 0x8b, 0x02, 0x86, 0xea, 0x42, 0xa1, 0x6d, 0xb9, 0xec, 0x49, 0x38, 0x1a, - 0xd0, 0x14, 0xbe, 0x2d, 0x95, 0x3f, 0x11, 0x95, 0xcc, 0xb2, 0x29, 0x96, 0x41, 0x01, 0x43, 0x0b, - 0x47, 0xe4, 0x49, 0x31, 0x96, 0xc2, 0x94, 0x36, 0xf2, 0xd2, 0xf9, 0x31, 0xca, 0x04, 0x0c, 0xf5, - 0x52, 0xe4, 0x25, 0x73, 0xa3, 0xa9, 0x33, 0x04, 0x72, 0xe6, 0xf3, 0xe2, 0xf2, 0x97, 0xc2, 0x85, - 0xd8, 0x68, 0x8c, 0x8c, 0x0d, 0x90, 0x62, 0x43, 0x4e, 0xd1, 0x66, 0x21, 0x45, 0x2f, 0xc3, 0x2c, - 0xf2, 0xc9, 0x2d, 0x7f, 0x12, 0x52, 0x8e, 0xb0, 0xd9, 0x7c, 0x84, 0xc9, 0x31, 0x32, 0x37, 0x24, - 0x46, 0xe6, 0xd3, 0xbc, 0xfb, 0x1b, 0x15, 0x60, 0x83, 0xf8, 0x66, 0x10, 0x0d, 0x88, 0x1b, 0x51, - 0xf5, 0xac, 0x14, 0x4a, 0x9d, 0x2b, 0xe1, 0xc4, 0x55, 0x4b, 0x95, 0x57, 0x2d, 0x0d, 0xaa, 0xcc, - 0xe0, 0xe8, 0x4d, 0xf6, 0x37, 0x35, 0xa6, 0x6f, 0x06, 0xc8, 0x0d, 0x53, 0x25, 0x85, 0xe9, 0xaa, - 0xe4, 0x05, 0x16, 0x5f, 0xc7, 0x6a, 0x06, 0x02, 0xb4, 0x84, 0x64, 0xf3, 0xb1, 0x5d, 0x40, 0x1d, - 0x57, 0x19, 0x19, 0x3b, 0x76, 0xe3, 0x72, 0x15, 0x5a, 0x61, 0xbc, 0x97, 0x29, 0xb7, 0x1d, 0x0f, - 0x78, 0xd2, 0x14, 0xf0, 0xd4, 0xa8, 0xb8, 0xa3, 0xa1, 0x83, 0x70, 0xe1, 0xcb, 0x10, 0xf9, 0x4e, - 0x46, 0xff, 0x37, 0x15, 0x5a, 0x3b, 0x41, 0xdf, 0x74, 0xed, 0x5f, 0x49, 0x3b, 0xf6, 0x53, 0x35, - 0x00, 0xcb, 0xd0, 0x24, 0x6e, 0xdf, 0xb1, 0xc3, 0x83, 0xed, 0xcc, 0x6e, 0x22, 0x4a, 0x34, 0x76, - 0x75, 0x58, 0x8b, 0x50, 0x93, 0x5a, 0x84, 0x45, 0xa8, 0x0f, 0xbc, 0x3d, 0xdb, 0x49, 0xe2, 0x9e, - 0x43, 0x2c, 0xe6, 0x89, 0x43, 0x58, 0xaf, 0x90, 0xc6, 0x7c, 0x82, 0xc8, 0xda, 0x86, 0xe9, 0xd2, - 0xb6, 0xa1, 0x21, 0xb6, 0x0d, 0xb2, 0xe1, 0xa1, 0x60, 0x78, 0x34, 0x57, 0x33, 0xad, 0x43, 0xa3, - 0x96, 0xf8, 0x7f, 0x51, 0xa0, 0x95, 0xb9, 0x02, 0x7b, 0xea, 0xa1, 0xa6, 0xcc, 0x47, 0xa7, 0x5a, - 0x12, 0x9d, 0x69, 0x4c, 0x55, 0xc4, 0x98, 0xa2, 0x51, 0xe8, 0x85, 0xb6, 0xb0, 0xb1, 0x49, 0x61, - 0x3a, 0x9b, 0x43, 0x4c, 0xc1, 0x90, 0x08, 0x09, 0xdb, 0xd8, 0xba, 0xb4, 0x8d, 0xcd, 0xaf, 0xd4, - 0xff, 0xa0, 0xc0, 0x79, 0x1a, 0x01, 0x05, 0x35, 0x76, 0xa0, 0xe5, 0xe5, 0xa2, 0x84, 0x2f, 0x65, - 0xaf, 0x97, 0x2c, 0x45, 0xf9, 0x80, 0x32, 0x0a, 0xc4, 0x94, 0xa1, 0x95, 0x9b, 0x84, 0xaf, 0x6d, - 0x65, 0x0c, 0xf3, 0xf2, 0x18, 0x05, 0x62, 0xfd, 0x9f, 0x14, 0x68, 0xe1, 0xe2, 0x29, 0xd4, 0x80, - 0x33, 0x17, 0xfb, 0x01, 0x9c, 0xcf, 0xcf, 0x7c, 0xd7, 0x0e, 0xa3, 0xb6, 0xba, 0x5c, 0x99, 0x54, - 0xf4, 0x52, 0x06, 0xfa, 0x5f, 0xa9, 0xf0, 0xf2, 0x6e, 0xec, 0x38, 0x1d, 0x12, 0x86, 0x66, 0x9f, - 0xac, 0x9d, 0x74, 0xc9, 0x11, 0xfd, 0x60, 0x90, 0xa3, 0xa1, 0x31, 0x44, 0x3b, 0x29, 0xd6, 0x8a, - 0xd8, 0x9e, 0x9b, 0x86, 0x90, 0x88, 0xa2, 0x29, 0x17, 0x22, 0x9f, 0x76, 0x65, 0xb9, 0x42, 0x17, - 0x69, 0x0e, 0x6a, 0xbf, 0x0c, 0x33, 0xac, 0x4b, 0xe0, 0xd3, 0xb4, 0xab, 0x4c, 0x81, 0x0f, 0x4b, - 0xfb, 0x92, 0x52, 0xa9, 0xb0, 0xdf, 0xe0, 0xf0, 0x2d, 0x37, 0x0a, 0x4e, 0x0c, 0x89, 0xe3, 0xd2, - 0x17, 0xb0, 0x50, 0x18, 0xa2, 0xb5, 0xa0, 0x72, 0x48, 0x4e, 0xb8, 0x1e, 0xf4, 0x4f, 0xed, 0xe7, - 0xa1, 0x76, 0x4c, 0x37, 0xa8, 0xdc, 0xfb, 0x4b, 0x25, 0x12, 0x70, 0x99, 0x0d, 0x1c, 0xf8, 0xbe, - 0xfa, 0x0b, 0x8a, 0xfe, 0x7a, 0xaa, 0x98, 0xa8, 0xa3, 0x22, 0xe9, 0xa8, 0x7f, 0x02, 0xcd, 0x4e, - 0xd8, 0xdf, 0x30, 0x23, 0x93, 0x0d, 0xfc, 0x10, 0x9a, 0x83, 0x0c, 0x64, 0x83, 0xcb, 0xe7, 0xe3, - 0x44, 0x86, 0x38, 0x5c, 0xff, 0x56, 0x85, 0x76, 0xb9, 0x29, 0x42, 0x9f, 0xca, 0x40, 0x82, 0x60, - 0xdd, 0xb3, 0x08, 0x53, 0xad, 0x66, 0x24, 0x20, 0xf5, 0x1d, 0x09, 0x02, 0xba, 0xbe, 0xf1, 0x36, - 0x1e, 0x21, 0x6d, 0x05, 0xaa, 0x4e, 0xe2, 0x96, 0xd1, 0x52, 0xb0, 0x71, 0xda, 0x00, 0x5a, 0xcc, - 0xba, 0x82, 0x42, 0xdc, 0x67, 0xab, 0x13, 0xfb, 0x2c, 0xf4, 0xd1, 0x69, 0x02, 0x0f, 0x74, 0x5c, - 0x81, 0xf5, 0x52, 0x0f, 0x2e, 0x94, 0x0e, 0x2d, 0x71, 0xe0, 0xdb, 0xb2, 0x03, 0x2f, 0x0d, 0x57, - 0x25, 0xef, 0x44, 0x1f, 0xb4, 0x4d, 0x12, 0x75, 0xcc, 0xc7, 0xab, 0xae, 0xd5, 0xb1, 0xdd, 0x2e, - 0x39, 0xa2, 0xd1, 0xbe, 0x0c, 0x4d, 0x7e, 0xdc, 0x90, 0xba, 0xa9, 0x61, 0x88, 0xa8, 0xa1, 0xa7, - 0x10, 0xb9, 0x7c, 0xa8, 0x14, 0xf2, 0x41, 0xbf, 0x09, 0x33, 0xe2, 0x74, 0x6c, 0x81, 0x31, 0x1f, - 0x77, 0xc9, 0x11, 0x53, 0x68, 0xd6, 0xe0, 0x10, 0xc3, 0xb3, 0x11, 0x7c, 0xf7, 0xc1, 0x21, 0xfd, - 0xdf, 0x55, 0x38, 0x57, 0x10, 0x39, 0xf4, 0x9f, 0x94, 0x8f, 0x18, 0x2f, 0x95, 0x61, 0xf1, 0x52, - 0x95, 0xe2, 0xe5, 0x10, 0x16, 0xd0, 0x49, 0xc2, 0xd4, 0xed, 0x1a, 0x0b, 0x80, 0x8f, 0xca, 0x36, - 0x03, 0x45, 0x21, 0xb9, 0xef, 0x05, 0x2c, 0x3a, 0xbf, 0xc8, 0x77, 0x89, 0xc0, 0x62, 0xf9, 0xe0, - 0x12, 0xf7, 0xbf, 0x23, 0xbb, 0xff, 0xa7, 0xca, 0xdc, 0x2f, 0x4a, 0x22, 0xf8, 0xff, 0x08, 0xe6, - 0x69, 0x51, 0xed, 0x12, 0xd7, 0xea, 0x84, 0x7d, 0x66, 0xc8, 0x65, 0x68, 0x22, 0x7d, 0x27, 0xec, - 0x67, 0x9b, 0x43, 0x01, 0x45, 0x47, 0xf4, 0x1c, 0x9b, 0x16, 0x4f, 0x36, 0x82, 0x17, 0x3d, 0x01, - 0x45, 0x17, 0xc8, 0x90, 0xf0, 0x93, 0x19, 0x6a, 0xdd, 0x8a, 0x91, 0xc2, 0xfa, 0xdf, 0xd7, 0x61, - 0x8a, 0x47, 0x23, 0x5b, 0x14, 0xe9, 0x7e, 0x3c, 0x2d, 0xab, 0x08, 0x61, 0xcf, 0xdb, 0x3b, 0xce, - 0xc2, 0x0b, 0x21, 0xf1, 0x58, 0xac, 0x22, 0x1f, 0x8b, 0xe5, 0x64, 0xaa, 0x16, 0x65, 0xca, 0xe9, - 0x55, 0x2b, 0xea, 0x45, 0x5b, 0x3c, 0xd6, 0xf5, 0xec, 0x3a, 0x66, 0xb4, 0xef, 0x05, 0x03, 0xbe, - 0xbd, 0xae, 0x19, 0x05, 0x3c, 0x6d, 0x2b, 0x11, 0x97, 0xee, 0x0b, 0x70, 0x09, 0xcf, 0x61, 0x69, - 0x17, 0x8e, 0x98, 0x64, 0x7f, 0x80, 0xe7, 0x23, 0x32, 0x12, 0x65, 0x0b, 0x43, 0xdb, 0x73, 0x59, - 0x87, 0x8a, 0xdb, 0x00, 0x11, 0x45, 0x35, 0x1f, 0x84, 0xfd, 0xdb, 0x81, 0x37, 0xe0, 0x5b, 0xaf, - 0x04, 0x64, 0x9a, 0x7b, 0x6e, 0x94, 0x74, 0xb7, 0x78, 0x32, 0x22, 0xa2, 0x28, 0x2d, 0x07, 0x59, - 0xc3, 0x34, 0x63, 0x24, 0x20, 0x8d, 0xa5, 0x90, 0x1c, 0xf1, 0xc6, 0x9e, 0xfe, 0x29, 0x79, 0x6e, - 0x5e, 0xf6, 0x5c, 0xae, 0x53, 0x6b, 0xb1, 0xaf, 0x62, 0xa7, 0x96, 0xb5, 0x38, 0x0b, 0x52, 0x8b, - 0xb3, 0x0a, 0x53, 0x9e, 0x4f, 0xd3, 0x3f, 0x6c, 0x6b, 0x2c, 0x5d, 0x7e, 0x66, 0x78, 0x81, 0x5a, - 0xd9, 0xc1, 0x91, 0x98, 0x18, 0x09, 0x9d, 0x76, 0x17, 0xe6, 0xbd, 0xfd, 0x7d, 0xc7, 0x76, 0xc9, - 0x6e, 0x1c, 0x1e, 0xb0, 0x6d, 0xf8, 0x39, 0x16, 0xec, 0x7a, 0x59, 0x13, 0x21, 0x8f, 0x34, 0xf2, - 0xa4, 0xb4, 0xf3, 0x33, 0x23, 0xdc, 0x00, 0xb1, 0x02, 0x77, 0x9e, 0x15, 0x38, 0x09, 0xc7, 0xce, - 0x17, 0x85, 0x42, 0x7f, 0x81, 0x19, 0x4e, 0x44, 0x21, 0x97, 0xc8, 0xec, 0x1d, 0x10, 0x76, 0xa0, - 0xd4, 0x5e, 0xc4, 0xfe, 0x51, 0xc4, 0xf1, 0xee, 0xee, 0xe5, 0xa4, 0xbb, 0x5b, 0x7a, 0x1f, 0x66, - 0x44, 0x05, 0x4b, 0x92, 0xf9, 0xbc, 0x98, 0xcc, 0xd3, 0x62, 0xae, 0xfe, 0xa1, 0x02, 0xf3, 0x39, - 0xd5, 0xe8, 0xe8, 0xc8, 0x8e, 0x1c, 0xc2, 0x39, 0x20, 0x40, 0x77, 0x4e, 0x16, 0x09, 0x7b, 0x3c, - 0x79, 0xd8, 0xdf, 0x5c, 0x92, 0x4a, 0xda, 0x46, 0xeb, 0x30, 0x63, 0xef, 0x74, 0x29, 0xa3, 0xae, - 0x17, 0xbb, 0x56, 0x7a, 0x40, 0x2f, 0xe0, 0xd8, 0x96, 0x7e, 0xa7, 0xbb, 0x66, 0x5a, 0x7d, 0x82, - 0xd7, 0x35, 0x35, 0x26, 0x93, 0x8c, 0xd4, 0x2d, 0x98, 0xbe, 0x67, 0xfb, 0xe1, 0xba, 0x37, 0x18, - 0xd0, 0x10, 0xb0, 0x48, 0x44, 0x7b, 0x7c, 0x85, 0x19, 0x8c, 0x43, 0xd4, 0x9a, 0x16, 0xd9, 0x37, - 0x63, 0x27, 0xa2, 0x43, 0x93, 0x92, 0x21, 0xa0, 0xd8, 0xf1, 0x42, 0xe8, 0xb9, 0x1b, 0x48, 0x8d, - 0x72, 0x0a, 0x18, 0xfd, 0x5f, 0x55, 0x68, 0xb1, 0x8a, 0xb8, 0xce, 0x02, 0xce, 0x62, 0x44, 0x37, - 0xa0, 0xc6, 0x0a, 0x00, 0xef, 0x28, 0x47, 0x9f, 0xc9, 0xe0, 0x50, 0xed, 0x26, 0xd4, 0x3d, 0x9f, - 0xb5, 0xa1, 0x58, 0x2e, 0xaf, 0x0c, 0x23, 0x92, 0x8f, 0xe4, 0x0d, 0x4e, 0xa5, 0xdd, 0x06, 0x18, - 0x64, 0x5d, 0x27, 0x36, 0x0f, 0x93, 0xf2, 0x10, 0x28, 0xa9, 0x71, 0xd3, 0x75, 0x31, 0x3d, 0x97, - 0xaf, 0x18, 0x32, 0x52, 0xdb, 0x86, 0x39, 0x26, 0xf6, 0x4e, 0x72, 0x38, 0xc7, 0x7c, 0x30, 0xf9, - 0x8c, 0x39, 0x6a, 0xfd, 0xcf, 0x14, 0x6e, 0x46, 0xfa, 0xb5, 0x4b, 0xd0, 0xf6, 0x99, 0x49, 0x94, - 0x53, 0x99, 0x64, 0x09, 0xa6, 0x07, 0xb1, 0x70, 0x56, 0x58, 0x31, 0x52, 0x38, 0x73, 0x51, 0x65, - 0x62, 0x17, 0xe9, 0x7f, 0xae, 0x40, 0xfb, 0x63, 0xcf, 0x76, 0xd9, 0x87, 0x55, 0xdf, 0x77, 0xf8, - 0xf5, 0xcd, 0xa9, 0x7d, 0xfe, 0x8b, 0xd0, 0x30, 0x91, 0x8d, 0x1b, 0x71, 0xb7, 0x4f, 0x70, 0xfe, - 0x97, 0xd1, 0x08, 0x87, 0x30, 0x15, 0xf1, 0x10, 0x46, 0xff, 0x5a, 0x81, 0x39, 0x34, 0xca, 0xa7, - 0xb1, 0x1d, 0x9d, 0x5a, 0xbe, 0x35, 0x98, 0x3e, 0x8a, 0xed, 0xe8, 0x14, 0x51, 0x99, 0xd2, 0x15, - 0xe3, 0xa9, 0x52, 0x12, 0x4f, 0xfa, 0xb7, 0x0a, 0x5c, 0xcc, 0x9b, 0x75, 0xb5, 0xd7, 0x23, 0xfe, - 0xd3, 0x4c, 0x29, 0xe9, 0x10, 0xaa, 0x5a, 0x72, 0x08, 0x15, 0x90, 0x1e, 0xb1, 0x8f, 0x49, 0xb0, - 0x1a, 0xf2, 0x5d, 0xb5, 0x80, 0x29, 0x55, 0xc9, 0x20, 0x5f, 0x91, 0xde, 0xf3, 0xab, 0xd2, 0x6f, - 0xa8, 0xf0, 0xca, 0x66, 0x9a, 0xb8, 0xf7, 0x02, 0xd3, 0x0d, 0xf7, 0x49, 0x10, 0x3c, 0x45, 0x7d, - 0xee, 0xc2, 0xac, 0x4b, 0x1e, 0x65, 0x32, 0xf1, 0x74, 0x9e, 0x94, 0x8d, 0x4c, 0x3c, 0x59, 0xed, - 0xd3, 0x7f, 0xa4, 0x40, 0x0b, 0xf9, 0x7c, 0x62, 0xf7, 0x0e, 0x9f, 0xa2, 0xf2, 0xdb, 0x30, 0x77, - 0xc8, 0x24, 0xa0, 0xd0, 0x29, 0xca, 0x7e, 0x8e, 0x7a, 0x42, 0xf5, 0xbf, 0x53, 0x60, 0x21, 0xb9, - 0x75, 0x3e, 0xb6, 0x9f, 0x66, 0x30, 0xef, 0xc2, 0x3c, 0x9e, 0xe2, 0x9f, 0xd6, 0x00, 0x79, 0xf2, - 0x09, 0x2d, 0xf0, 0x77, 0x0a, 0xcc, 0x23, 0xa7, 0x5b, 0x6e, 0x44, 0x82, 0x53, 0xeb, 0x7f, 0x07, - 0x9a, 0xc4, 0x8d, 0x02, 0xd3, 0x3d, 0x4d, 0x85, 0x15, 0x49, 0x27, 0x2c, 0xb2, 0x5f, 0x2b, 0xa0, - 0x31, 0x56, 0x1b, 0x76, 0x38, 0xb0, 0xc3, 0xf0, 0x29, 0xba, 0x6e, 0x32, 0x81, 0xff, 0x44, 0x85, - 0xf3, 0x02, 0x97, 0x4e, 0x1c, 0x3d, 0xeb, 0x22, 0x6b, 0x1b, 0xd0, 0xa0, 0x3d, 0x86, 0x78, 0xc7, - 0x3a, 0xe9, 0x44, 0x19, 0x21, 0xed, 0x82, 0x19, 0xd0, 0x25, 0x3d, 0xcf, 0xb5, 0xb0, 0x14, 0xcf, - 0x1a, 0x12, 0x8e, 0x96, 0xa1, 0x25, 0x81, 0xcd, 0xba, 0xe9, 0xf6, 0x88, 0xf3, 0xc2, 0x98, 0x48, - 0xff, 0x4b, 0x05, 0xe6, 0x70, 0xc8, 0xb3, 0xaf, 0xb2, 0xfe, 0xd7, 0x0a, 0x0f, 0xe4, 0xe7, 0xc6, - 0x4b, 0x34, 0xbc, 0x16, 0x05, 0x2e, 0x62, 0x5f, 0xfe, 0xec, 0x86, 0xd6, 0x1d, 0x68, 0xf6, 0x0e, - 0x4c, 0xb7, 0x7f, 0xaa, 0xe0, 0x12, 0x49, 0xf5, 0x08, 0x5e, 0x16, 0x0f, 0xfd, 0xd7, 0xf1, 0x13, - 0x53, 0xff, 0xad, 0x9c, 0x2a, 0x23, 0xdf, 0x50, 0x3c, 0x99, 0xd1, 0x0f, 0x61, 0x01, 0x6f, 0xa1, - 0x85, 0x9e, 0x51, 0x6b, 0xc3, 0x94, 0x69, 0xe1, 0xd1, 0x87, 0xc2, 0x88, 0x12, 0x50, 0x7e, 0xa5, - 0xc0, 0xdf, 0xc3, 0x65, 0xaf, 0x14, 0x2e, 0x01, 0x98, 0x96, 0xf5, 0xc0, 0x0b, 0x2c, 0xdb, 0x4d, - 0x36, 0x08, 0x02, 0x46, 0xff, 0x18, 0x66, 0x6e, 0x07, 0xde, 0xe0, 0x9e, 0x70, 0x9f, 0x3c, 0xf2, - 0xc6, 0x5b, 0xbc, 0x8b, 0x56, 0xe5, 0xbb, 0x68, 0xfd, 0x4b, 0xb8, 0x50, 0x10, 0x9c, 0x19, 0x6b, - 0x1d, 0xaf, 0xc9, 0x93, 0x49, 0x78, 0xc8, 0x94, 0x9d, 0x05, 0x8a, 0xb2, 0x18, 0x12, 0x91, 0xfe, - 0xeb, 0x0a, 0xbc, 0x56, 0x60, 0xbf, 0xea, 0xfb, 0x81, 0x77, 0xcc, 0x7d, 0x72, 0x16, 0xd3, 0xc8, - 0xcd, 0xb1, 0x9a, 0x6b, 0x8e, 0xcb, 0x85, 0x90, 0x1a, 0xfa, 0xef, 0x41, 0x88, 0xbf, 0x50, 0x60, - 0x9e, 0x0b, 0x61, 0x59, 0x7c, 0xda, 0x77, 0xa0, 0x8e, 0x0f, 0x75, 0xf8, 0x84, 0xaf, 0x95, 0x4e, - 0x98, 0x3c, 0x30, 0x32, 0xf8, 0xe0, 0x62, 0x44, 0xaa, 0x65, 0x19, 0xf5, 0x5e, 0x1a, 0xec, 0x13, - 0x3f, 0xa5, 0xe1, 0x04, 0xfa, 0x2f, 0x25, 0xc1, 0xbc, 0x41, 0x1c, 0x72, 0x96, 0x36, 0xd2, 0xef, - 0xc3, 0x1c, 0x7b, 0x35, 0x94, 0xd9, 0xe0, 0x4c, 0xd8, 0x3e, 0x80, 0x16, 0x63, 0x7b, 0xe6, 0xf2, - 0xa6, 0xd9, 0x41, 0xed, 0x23, 0x96, 0x92, 0x33, 0xe1, 0xfe, 0x26, 0x9c, 0x4b, 0x6c, 0x8f, 0x2f, - 0x71, 0x91, 0xf7, 0x90, 0xbb, 0x41, 0xfd, 0x8f, 0x14, 0x58, 0x5c, 0xf7, 0xdc, 0x63, 0x12, 0x84, - 0xd2, 0xeb, 0x5d, 0x24, 0x91, 0xb2, 0x9f, 0x43, 0xda, 0x0a, 0x68, 0x3d, 0x81, 0x82, 0x1f, 0x4f, - 0xaa, 0xec, 0x78, 0xb2, 0xe4, 0x8b, 0xf6, 0x36, 0x5c, 0x88, 0x19, 0xd7, 0xfb, 0x6e, 0x40, 0x4c, - 0x8b, 0x9d, 0xc7, 0x09, 0x45, 0xaf, 0xfc, 0xa3, 0xfe, 0x15, 0x2c, 0x89, 0x72, 0x75, 0x49, 0xb4, - 0x1b, 0xd8, 0xc7, 0x82, 0x6c, 0xfc, 0xec, 0x5d, 0x91, 0xce, 0xde, 0xb3, 0xb3, 0x7a, 0x55, 0x3a, - 0xab, 0xbf, 0x08, 0x0d, 0x3b, 0xe4, 0x0c, 0xd8, 0xbc, 0xd3, 0x46, 0x86, 0xd0, 0x4d, 0x58, 0x40, - 0x2f, 0xf3, 0xbb, 0x30, 0x36, 0xc5, 0x12, 0x4c, 0x63, 0xe8, 0xa6, 0x93, 0xa4, 0xf0, 0xd0, 0x9b, - 0xa5, 0xa1, 0xf7, 0xa8, 0x7a, 0x17, 0x16, 0xf8, 0x5b, 0xa2, 0x5d, 0xb3, 0x6f, 0xbb, 0x58, 0xcb, - 0x2f, 0x01, 0xf8, 0x66, 0x3f, 0x79, 0xd9, 0x88, 0x37, 0x82, 0x02, 0x86, 0x7e, 0x0f, 0x0f, 0xbc, - 0x47, 0xfc, 0xbb, 0x8a, 0xdf, 0x33, 0x8c, 0xfe, 0x19, 0x68, 0x06, 0x09, 0x7d, 0xcf, 0x0d, 0x89, - 0xc0, 0x75, 0x19, 0x9a, 0xeb, 0x71, 0x10, 0x10, 0x97, 0x4e, 0x95, 0x3c, 0xcf, 0x13, 0x51, 0x94, - 0x6f, 0x37, 0xe3, 0x8b, 0xb7, 0x07, 0x02, 0x46, 0xff, 0xdf, 0x3a, 0x34, 0xba, 0x76, 0xdf, 0x35, - 0x1d, 0x83, 0x1c, 0x69, 0x1f, 0x42, 0x1d, 0x77, 0x46, 0x3c, 0x20, 0xcb, 0x4e, 0xb3, 0x71, 0x34, - 0x6e, 0x01, 0x0d, 0x72, 0x74, 0xe7, 0x25, 0x83, 0xd3, 0x68, 0x9f, 0x26, 0x2f, 0xae, 0xb6, 0xf0, - 0xa4, 0x8c, 0x2f, 0x93, 0x3f, 0x3b, 0x86, 0x09, 0x1f, 0x8d, 0xbc, 0x64, 0x0e, 0x54, 0xa0, 0x1e, - 0xeb, 0x9c, 0x78, 0x15, 0x1a, 0x2e, 0x10, 0x36, 0x58, 0x5c, 0x20, 0xa4, 0xa1, 0xd4, 0x26, 0x3b, - 0x4b, 0xe2, 0x0d, 0xc1, 0x70, 0x6a, 0x3c, 0x72, 0xe2, 0xd4, 0x48, 0x43, 0xa9, 0x0f, 0x62, 0xb7, - 0x7f, 0xdf, 0xe7, 0x47, 0x9c, 0xc3, 0xa9, 0xef, 0xb0, 0x61, 0x9c, 0x1a, 0x69, 0x28, 0x75, 0xc0, - 0xd6, 0x08, 0x66, 0xf4, 0x51, 0xd4, 0xb8, 0x94, 0x70, 0x6a, 0xa4, 0xd1, 0x3e, 0x87, 0x56, 0x9f, - 0x44, 0x86, 0xe7, 0x0d, 0xd6, 0x4e, 0x36, 0xf9, 0x0d, 0x13, 0x3e, 0x30, 0xbf, 0x36, 0x94, 0xcf, - 0x66, 0x8e, 0x00, 0x39, 0x16, 0xf8, 0x68, 0xbf, 0x0a, 0xaf, 0x79, 0x2e, 0x45, 0xed, 0x9a, 0x41, - 0x64, 0xf7, 0x6c, 0xdf, 0x74, 0xa3, 0x75, 0xcf, 0x75, 0xd9, 0x7a, 0x66, 0x90, 0x23, 0xfe, 0x04, - 0xfd, 0xdd, 0xa1, 0x13, 0xed, 0x8c, 0xa2, 0xbe, 0xf3, 0x92, 0x31, 0x9a, 0xbd, 0xf6, 0xdb, 0x0a, - 0x2c, 0x17, 0x46, 0x6c, 0xd8, 0x61, 0x4f, 0x94, 0x01, 0x9f, 0xaf, 0xbf, 0x37, 0xb9, 0x0c, 0x39, - 0x06, 0x77, 0x5e, 0x32, 0xc6, 0x4e, 0xc2, 0xad, 0x7c, 0xcf, 0x3b, 0x24, 0xee, 0xda, 0x09, 0x1d, - 0xbb, 0xb5, 0xc1, 0x6e, 0xb3, 0xc6, 0x58, 0x59, 0x22, 0xc8, 0xac, 0x2c, 0xa1, 0xd7, 0x1a, 0x30, - 0xe5, 0x9b, 0x27, 0x8e, 0x67, 0x5a, 0xfa, 0xff, 0x57, 0x01, 0x12, 0x57, 0x87, 0xac, 0x23, 0x96, - 0x92, 0xec, 0xf2, 0xd8, 0x24, 0xf3, 0x9d, 0x13, 0x21, 0xcd, 0xba, 0xe5, 0x69, 0xf6, 0x73, 0x93, - 0xa6, 0x19, 0x72, 0xcb, 0x25, 0xda, 0xcd, 0x5c, 0xa2, 0x5d, 0x1e, 0x9b, 0x68, 0x5c, 0x28, 0x9e, - 0x6a, 0x37, 0x73, 0xa9, 0x76, 0x79, 0x6c, 0xaa, 0x71, 0x7a, 0x9e, 0x6c, 0x37, 0x73, 0xc9, 0x76, - 0x79, 0x6c, 0xb2, 0x71, 0x7a, 0x9e, 0x6e, 0x37, 0x73, 0xe9, 0x76, 0x79, 0x6c, 0xba, 0x71, 0x7a, - 0x9e, 0x70, 0x5f, 0x0e, 0x4d, 0xb8, 0x95, 0x27, 0x48, 0x38, 0xe4, 0x59, 0x4c, 0xb9, 0x2f, 0x4b, - 0x02, 0x6d, 0x7a, 0x3c, 0xf7, 0x5c, 0xa0, 0x65, 0xdc, 0x87, 0x86, 0xda, 0x6f, 0x56, 0x60, 0x8e, - 0xb9, 0x1b, 0x57, 0x65, 0x77, 0xdf, 0x2b, 0xbe, 0x83, 0x55, 0x4a, 0xde, 0xc1, 0x6a, 0xd7, 0x60, - 0x01, 0x11, 0x44, 0xb8, 0x87, 0xc4, 0x85, 0xbe, 0xf8, 0x81, 0xdd, 0xbc, 0xc6, 0x61, 0xe4, 0x0d, - 0x36, 0xcc, 0xc8, 0x4c, 0x76, 0x18, 0x19, 0x46, 0xbc, 0x17, 0xaf, 0x16, 0x7e, 0x2e, 0x12, 0xa0, - 0xfe, 0x35, 0xbe, 0x9a, 0x33, 0x88, 0x52, 0x44, 0xf6, 0x80, 0x78, 0x71, 0xc4, 0x17, 0xa9, 0x04, - 0xc4, 0xc7, 0x8b, 0x96, 0x6d, 0xb2, 0xdb, 0x64, 0xfe, 0xb2, 0x2f, 0x45, 0xb0, 0x75, 0x35, 0xbb, - 0x1d, 0xe7, 0x3f, 0xe7, 0xc8, 0x30, 0x13, 0xdc, 0x64, 0xb3, 0x5f, 0x06, 0xd9, 0x91, 0x2d, 0xbe, - 0xf8, 0xab, 0x19, 0x12, 0x8e, 0xf6, 0x41, 0x7b, 0x71, 0x78, 0x72, 0xd7, 0x76, 0x45, 0xf3, 0x34, - 0xb1, 0x0f, 0x2a, 0x7e, 0xd1, 0xff, 0x4f, 0x81, 0x73, 0x42, 0xdd, 0xe9, 0x90, 0xc8, 0x64, 0x76, - 0x91, 0xde, 0x6d, 0x2b, 0x4f, 0xf6, 0x6e, 0x7b, 0x17, 0xe6, 0xfb, 0xf2, 0xb6, 0xfc, 0x09, 0x77, - 0xd4, 0x79, 0x72, 0xe9, 0x11, 0x7a, 0xe5, 0x89, 0x1f, 0xa1, 0xeb, 0xbf, 0xa3, 0xc2, 0x7c, 0xae, - 0x19, 0x18, 0xd9, 0x49, 0xad, 0x02, 0xd8, 0x69, 0x68, 0x8e, 0xb8, 0xf5, 0x92, 0xe3, 0xd7, 0x10, - 0x88, 0xca, 0xae, 0xdd, 0x2b, 0xa7, 0xbf, 0x76, 0xbf, 0x03, 0x4d, 0x3f, 0x73, 0xd2, 0x88, 0x43, - 0x83, 0x12, 0x57, 0x1a, 0x22, 0xa9, 0xfe, 0xbb, 0x0a, 0x2c, 0x14, 0x4a, 0x36, 0xbb, 0x0c, 0xa7, - 0x89, 0x9a, 0x5e, 0x86, 0x53, 0x40, 0xc8, 0x00, 0x35, 0x9f, 0x01, 0x8e, 0x7d, 0x2c, 0xfe, 0x5c, - 0x86, 0x83, 0x43, 0xa2, 0xaf, 0x3a, 0x34, 0xfa, 0x7e, 0x4f, 0x85, 0xc5, 0xf2, 0x06, 0xeb, 0x45, - 0xf5, 0xcf, 0xef, 0x2b, 0xd0, 0x1e, 0xb6, 0x16, 0x3e, 0x35, 0x37, 0x65, 0xf9, 0x93, 0xf6, 0xae, - 0x2f, 0xaa, 0x7f, 0xce, 0x25, 0xe9, 0x23, 0x34, 0x17, 0xfa, 0xdf, 0xa6, 0xf6, 0x49, 0xbb, 0xf3, - 0x17, 0xd4, 0x3e, 0xda, 0x55, 0x68, 0xa1, 0x9a, 0xc2, 0x4b, 0x30, 0xdc, 0xec, 0x15, 0xf0, 0xfa, - 0x17, 0x89, 0x2d, 0x85, 0x46, 0xeb, 0xac, 0x62, 0x5c, 0xff, 0x67, 0x25, 0xf1, 0x49, 0xba, 0xe7, - 0x79, 0xae, 0x7c, 0x92, 0x45, 0x9a, 0xd0, 0x46, 0x0a, 0x91, 0x96, 0xee, 0xc5, 0x7e, 0x12, 0x69, - 0xe3, 0x23, 0x2d, 0xb5, 0xa5, 0xd0, 0x52, 0xeb, 0x7f, 0xaa, 0xc0, 0x2b, 0x43, 0xf7, 0xa3, 0x23, - 0xad, 0x2a, 0x34, 0x8d, 0xaa, 0xdc, 0x34, 0xe6, 0xd4, 0xab, 0x9c, 0xbe, 0xd0, 0x7c, 0xa3, 0xc0, - 0xab, 0x23, 0x9a, 0xf7, 0x9c, 0x67, 0x95, 0xd3, 0x78, 0x36, 0x27, 0xac, 0x3a, 0xf4, 0x62, 0x7a, - 0xac, 0x2f, 0xb2, 0xf4, 0xac, 0x88, 0xe9, 0xa9, 0xff, 0x87, 0x02, 0xaf, 0x4f, 0xb0, 0x13, 0x7f, - 0xb6, 0x94, 0x19, 0xfa, 0x54, 0x56, 0xff, 0x4f, 0x05, 0xae, 0x4c, 0xb6, 0xa9, 0x7f, 0x5e, 0x34, - 0xfa, 0x47, 0x31, 0x07, 0xf2, 0xa7, 0x05, 0x82, 0x5b, 0x15, 0xa9, 0xea, 0x8a, 0xb9, 0xa1, 0xe6, - 0x72, 0xe3, 0xcc, 0x32, 0x20, 0xff, 0x22, 0xbe, 0x5a, 0x7c, 0x11, 0xdf, 0x11, 0x52, 0xa4, 0xb8, - 0x03, 0x1d, 0xb2, 0x94, 0x08, 0x4b, 0x86, 0x2a, 0x2f, 0x19, 0xbf, 0x06, 0xb3, 0x1b, 0xc4, 0xe9, - 0x84, 0xfd, 0xe4, 0xb7, 0x2b, 0x67, 0x7a, 0xda, 0x3a, 0x81, 0x3e, 0x6b, 0x30, 0x27, 0x0a, 0x70, - 0x9a, 0xdf, 0x66, 0xe8, 0x0f, 0xe0, 0x95, 0x2e, 0x89, 0x56, 0x7d, 0x7f, 0xcd, 0xec, 0x1d, 0x52, - 0x37, 0xbb, 0x56, 0x97, 0x3d, 0x26, 0x1e, 0xf5, 0x63, 0x1c, 0xba, 0xb3, 0x0c, 0x33, 0x02, 0xfe, - 0x82, 0x56, 0xc2, 0xe9, 0xdb, 0xb0, 0x34, 0x8c, 0xf1, 0xa9, 0x04, 0xfd, 0x46, 0x81, 0x99, 0x5b, - 0x8f, 0x23, 0x7c, 0x3f, 0xdf, 0x25, 0xec, 0xdf, 0x97, 0xa4, 0x82, 0xa9, 0xf8, 0xa8, 0xdc, 0x31, - 0x23, 0x12, 0x46, 0xc2, 0xbf, 0xf6, 0xc0, 0x1f, 0x1c, 0x14, 0xf0, 0x85, 0x17, 0xc5, 0xd5, 0xa1, - 0x2f, 0x8a, 0x6b, 0xe2, 0x3b, 0x5e, 0x92, 0xcc, 0xbf, 0x1d, 0x0f, 0xf8, 0x6e, 0x5e, 0xc2, 0x95, - 0xfc, 0xb6, 0xb1, 0x26, 0x3e, 0xdc, 0xd6, 0x03, 0x38, 0x6f, 0x10, 0x93, 0xfd, 0x53, 0x0e, 0x49, - 0x97, 0x36, 0x4c, 0x51, 0xd3, 0x7e, 0x92, 0xbe, 0x50, 0x4e, 0x40, 0xf9, 0x95, 0x72, 0x83, 0xbf, - 0x52, 0x7e, 0x12, 0x5d, 0xd7, 0xae, 0x7d, 0x7e, 0x75, 0xc7, 0x27, 0xee, 0xc3, 0xad, 0x4e, 0xe1, - 0xbf, 0xe3, 0x7c, 0x50, 0x48, 0xb3, 0xbd, 0x3a, 0xfb, 0xfe, 0xd6, 0x8f, 0x03, 0x00, 0x00, 0xff, - 0xff, 0x21, 0x79, 0xd9, 0x13, 0x7d, 0x47, 0x00, 0x00, +var fileDescriptor_ws_73169a3998a579bb = []byte{ + // 4104 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x3c, 0x5b, 0x6f, 0x1c, 0x57, + 0x58, 0x9d, 0xd9, 0x8b, 0xbd, 0xdf, 0xfa, 0xb2, 0x9e, 0x24, 0xee, 0xd6, 0x4d, 0x83, 0x99, 0x46, + 0xa1, 0x84, 0xd4, 0x81, 0xf4, 0x02, 0xbd, 0x05, 0xf9, 0x92, 0x38, 0x6e, 0xb2, 0xb6, 0x3b, 0x9b, + 0x34, 0xa8, 0xad, 0x14, 0xc6, 0x3b, 0xc7, 0xeb, 0xa9, 0x67, 0x67, 0xc6, 0x73, 0x71, 0x62, 0x1e, + 0x40, 0x02, 0x04, 0x48, 0x3c, 0x20, 0x21, 0x2e, 0x12, 0xbc, 0xf1, 0x82, 0x40, 0xa8, 0x42, 0x08, + 0x10, 0x12, 0x08, 0x21, 0xc4, 0x03, 0x12, 0x48, 0xf4, 0x1d, 0x09, 0x04, 0x2f, 0x20, 0xc4, 0x1f, + 0x40, 0x42, 0x2a, 0x3a, 0xe7, 0x3b, 0x33, 0x73, 0xce, 0xcc, 0xec, 0x25, 0x96, 0xd5, 0x24, 0x0a, + 0x6f, 0xfe, 0xbe, 0x39, 0xdf, 0x77, 0xbe, 0xfb, 0xf9, 0xce, 0x65, 0x0d, 0xf3, 0xa1, 0x75, 0xf8, + 0xe8, 0x71, 0x78, 0xfd, 0x71, 0xb8, 0xe2, 0x07, 0x5e, 0xe4, 0x69, 0x0b, 0x21, 0x09, 0x8e, 0x49, + 0xf0, 0xc8, 0xf4, 0xed, 0x47, 0xbe, 0x19, 0x98, 0x83, 0x70, 0x69, 0x65, 0xc7, 0x27, 0xee, 0xdb, + 0x5b, 0x9d, 0xb7, 0xbb, 0xec, 0xd3, 0x75, 0xff, 0xb0, 0x7f, 0x9d, 0x0d, 0xbe, 0x9e, 0x10, 0x07, + 0xa6, 0xef, 0x93, 0x80, 0xb3, 0xd0, 0xff, 0xb5, 0x0a, 0x8d, 0xcd, 0xc0, 0x8b, 0xfd, 0x2d, 0x77, + 0xdf, 0xd3, 0xda, 0x30, 0xd5, 0x67, 0xc0, 0x46, 0x5b, 0x59, 0x56, 0xde, 0x6a, 0x18, 0x09, 0xa8, + 0x5d, 0x84, 0x06, 0xfb, 0x73, 0xdb, 0x1c, 0x90, 0xb6, 0xca, 0xbe, 0x65, 0x08, 0x4d, 0x87, 0x19, + 0xd7, 0x8b, 0xec, 0x7d, 0xbb, 0x67, 0x46, 0xb6, 0xe7, 0xb6, 0x2b, 0x6c, 0x80, 0x84, 0xa3, 0x63, + 0x6c, 0x37, 0x0a, 0x3c, 0x2b, 0xee, 0xb1, 0x31, 0x55, 0x1c, 0x23, 0xe2, 0xe8, 0xfc, 0xfb, 0x66, + 0x8f, 0x3c, 0x30, 0xee, 0xb5, 0x6b, 0x38, 0x3f, 0x07, 0xb5, 0x65, 0x68, 0x7a, 0x8f, 0x5d, 0x12, + 0x3c, 0x08, 0x49, 0xb0, 0xb5, 0xd1, 0xae, 0xb3, 0xaf, 0x22, 0x4a, 0xbb, 0x04, 0xd0, 0x0b, 0x88, + 0x19, 0x91, 0xfb, 0xf6, 0x80, 0xb4, 0xa7, 0x96, 0x95, 0xb7, 0x66, 0x0d, 0x01, 0x43, 0x39, 0x0c, + 0xc8, 0x60, 0x8f, 0x04, 0xeb, 0x5e, 0xec, 0x46, 0xed, 0x69, 0x36, 0x40, 0x44, 0x69, 0x73, 0xa0, + 0x92, 0x27, 0xed, 0x06, 0x63, 0xad, 0x92, 0x27, 0xda, 0x22, 0xd4, 0xc3, 0xc8, 0x8c, 0xe2, 0xb0, + 0x0d, 0xcb, 0xca, 0x5b, 0x35, 0x83, 0x43, 0xda, 0x65, 0x98, 0x65, 0x7c, 0xbd, 0x44, 0x9a, 0x26, + 0x23, 0x91, 0x91, 0xa9, 0xc5, 0xee, 0x9f, 0xf8, 0xa4, 0x3d, 0xc3, 0x18, 0x64, 0x08, 0xed, 0x2a, + 0xb4, 0x5c, 0x42, 0xac, 0xcf, 0x49, 0x90, 0x59, 0x6d, 0x96, 0x0d, 0x2a, 0xe0, 0xb5, 0x2b, 0x30, + 0xe7, 0x78, 0xde, 0x61, 0x87, 0x89, 0x4a, 0xfd, 0xd4, 0x9e, 0x63, 0x23, 0x73, 0x58, 0xed, 0x1a, + 0x2c, 0x98, 0xbe, 0xef, 0x9c, 0x20, 0xea, 0x76, 0x60, 0x13, 0xd7, 0x6a, 0xcf, 0xb3, 0xa1, 0xc5, + 0x0f, 0xda, 0xfb, 0xb0, 0x28, 0xfa, 0xe7, 0x81, 0x6f, 0x25, 0xb6, 0x6b, 0x31, 0xd3, 0x0c, 0xf9, + 0xaa, 0xad, 0x80, 0x26, 0x7d, 0x41, 0x13, 0x2c, 0x30, 0x13, 0x94, 0x7c, 0xd1, 0x7f, 0xa3, 0x02, + 0xf3, 0x69, 0x84, 0xdd, 0xf6, 0x82, 0x2e, 0x89, 0x9e, 0xe3, 0x38, 0xc3, 0x18, 0xa8, 0xa7, 0x31, + 0xb0, 0x59, 0xe2, 0x27, 0x1a, 0x5b, 0xcd, 0x1b, 0xaf, 0xaf, 0xf4, 0x3d, 0xaf, 0xef, 0x10, 0x4c, + 0xa4, 0xbd, 0x78, 0x7f, 0x65, 0xcb, 0x8d, 0xde, 0xb9, 0xf1, 0xb9, 0xe9, 0xc4, 0xa4, 0xc4, 0x89, + 0xeb, 0x05, 0x27, 0x4e, 0x8f, 0x67, 0x93, 0xf7, 0xf0, 0x56, 0x99, 0x87, 0x1b, 0xe3, 0xf9, 0x14, + 0xa9, 0xf4, 0xef, 0x54, 0x38, 0xc7, 0xdc, 0xc2, 0xb1, 0xb1, 0xe3, 0x8c, 0x29, 0x01, 0x8b, 0x50, + 0x8f, 0xd1, 0xd9, 0xe8, 0x17, 0x0e, 0x51, 0x97, 0x05, 0x9e, 0x43, 0xee, 0x91, 0x63, 0xe2, 0x30, + 0x8f, 0xd4, 0x8c, 0x0c, 0xa1, 0x2d, 0xc1, 0xf4, 0xd7, 0x9e, 0xed, 0xb2, 0xc0, 0xaa, 0xb2, 0x8f, + 0x29, 0x4c, 0xbf, 0xb9, 0x76, 0xef, 0xd0, 0xa5, 0xbe, 0x46, 0x3f, 0xa4, 0xb0, 0xe8, 0xa2, 0xba, + 0xec, 0xa2, 0x2b, 0x30, 0x67, 0xfa, 0x7e, 0xc7, 0x74, 0xfb, 0x24, 0xc0, 0x49, 0xa7, 0x30, 0x1d, + 0x64, 0x2c, 0x2d, 0x08, 0x74, 0xa6, 0xae, 0x17, 0x07, 0x3d, 0xc2, 0xac, 0x5d, 0x33, 0x04, 0x0c, + 0xe5, 0xe3, 0xf9, 0x24, 0x10, 0xf2, 0x18, 0x53, 0x3f, 0x87, 0xe5, 0x21, 0x01, 0x69, 0x48, 0xd0, + 0x42, 0x12, 0x47, 0xe4, 0x96, 0x6b, 0x31, 0xa5, 0x9a, 0xbc, 0x90, 0x64, 0x28, 0x5a, 0x20, 0x6c, + 0xf7, 0xd8, 0x8e, 0xd2, 0x72, 0x35, 0x83, 0x05, 0x42, 0x42, 0xea, 0xbf, 0xa4, 0xc0, 0xdc, 0x6e, + 0xbc, 0xe7, 0xd8, 0x3d, 0x86, 0xa0, 0xc6, 0xcf, 0x4c, 0xac, 0x48, 0x26, 0x16, 0x0d, 0xa5, 0x0e, + 0x37, 0x54, 0x45, 0x36, 0xd4, 0x22, 0xd4, 0xfb, 0xc4, 0xb5, 0x48, 0xc0, 0x0d, 0xcf, 0x21, 0xae, + 0x50, 0x2d, 0x51, 0x48, 0xff, 0x17, 0x15, 0xa6, 0xbf, 0x67, 0x11, 0x96, 0xa1, 0xe9, 0x1f, 0x78, + 0x2e, 0xd9, 0x8e, 0x69, 0xf0, 0x71, 0x59, 0x44, 0x94, 0x76, 0x1e, 0x6a, 0x7b, 0x76, 0x10, 0x1d, + 0x30, 0xef, 0xcf, 0x1a, 0x08, 0x50, 0x2c, 0x19, 0x98, 0x36, 0xba, 0xbc, 0x61, 0x20, 0xc0, 0x15, + 0x9a, 0x4e, 0x3d, 0x24, 0x2f, 0x05, 0x8d, 0xc2, 0x52, 0x50, 0x8c, 0x20, 0x28, 0x8d, 0xa0, 0xab, + 0xd0, 0xea, 0x3b, 0xde, 0x9e, 0xe9, 0x18, 0xa4, 0x77, 0xdc, 0x09, 0xfb, 0x3b, 0x7e, 0xc4, 0xdc, + 0x5d, 0x33, 0x0a, 0x78, 0x6a, 0x1f, 0x26, 0x62, 0x37, 0x0a, 0xb8, 0xbb, 0x53, 0x58, 0xff, 0x1f, + 0x05, 0x00, 0xd3, 0x8e, 0x99, 0x38, 0xb7, 0x96, 0x29, 0xc5, 0xb5, 0x6c, 0x11, 0xea, 0x01, 0x19, + 0x98, 0xc1, 0x61, 0x92, 0x6a, 0x08, 0xe5, 0x14, 0xab, 0x14, 0x14, 0xfb, 0x08, 0x60, 0x9f, 0xcd, + 0x43, 0xf9, 0x30, 0x93, 0xd3, 0xc2, 0x50, 0xe8, 0x12, 0x56, 0x12, 0x6f, 0x1b, 0xc2, 0x70, 0x9a, + 0xc7, 0xa6, 0x65, 0xf1, 0x74, 0xa9, 0x61, 0x1e, 0xa7, 0x88, 0x92, 0x6c, 0xa9, 0x8f, 0xc8, 0x96, + 0xa9, 0x34, 0xb8, 0xfe, 0x5b, 0x81, 0xc6, 0x9a, 0x63, 0xf6, 0x0e, 0x27, 0x54, 0x5d, 0x56, 0x51, + 0x2d, 0xa8, 0xb8, 0x09, 0xb3, 0x7b, 0x94, 0x5d, 0xa2, 0x02, 0xb3, 0x42, 0xf3, 0xc6, 0x0f, 0x96, + 0x68, 0x29, 0x27, 0x97, 0x21, 0xd3, 0xc9, 0xea, 0x56, 0xc7, 0xab, 0x5b, 0x1b, 0xa1, 0x6e, 0xba, + 0x5e, 0xe8, 0xbf, 0x5d, 0x81, 0x19, 0x56, 0x56, 0x0d, 0x72, 0x14, 0x93, 0x30, 0xd2, 0x3e, 0x81, + 0xe9, 0x38, 0x11, 0x55, 0x99, 0x54, 0xd4, 0x94, 0x44, 0xfb, 0x90, 0xaf, 0x87, 0x8c, 0x5e, 0x65, + 0xf4, 0x17, 0x4b, 0xe8, 0xd3, 0x05, 0xd6, 0xc8, 0x86, 0xd3, 0x95, 0xf0, 0xc0, 0x74, 0x2d, 0x87, + 0x18, 0x24, 0x8c, 0x9d, 0x88, 0xd7, 0x66, 0x09, 0x87, 0x91, 0x76, 0xd4, 0x09, 0xfb, 0x7c, 0x9d, + 0xe4, 0x10, 0xb5, 0x0e, 0x8e, 0xa3, 0x9f, 0x50, 0xf5, 0x0c, 0x41, 0x13, 0x3e, 0x20, 0x47, 0xcc, + 0x43, 0x98, 0x9e, 0x09, 0x98, 0xcd, 0xc9, 0xad, 0x86, 0x81, 0x20, 0xe1, 0xa8, 0x8b, 0x11, 0x66, + 0x0c, 0xb0, 0x11, 0x13, 0x30, 0x85, 0x3e, 0x4c, 0x2e, 0xe4, 0x50, 0x28, 0xe4, 0x85, 0x72, 0xdb, + 0x2c, 0x2b, 0xb7, 0xff, 0x5c, 0x81, 0x59, 0x4c, 0xc2, 0xc4, 0x35, 0x97, 0x68, 0xb6, 0x78, 0x03, + 0x29, 0x16, 0x05, 0x0c, 0xd5, 0x85, 0x42, 0xdb, 0x72, 0xd9, 0x93, 0x70, 0x34, 0xa0, 0x29, 0x7c, + 0x5b, 0x2a, 0x7f, 0x22, 0x2a, 0x99, 0x65, 0x53, 0x2c, 0x83, 0x02, 0x86, 0x16, 0x8e, 0xc8, 0x93, + 0x62, 0x2c, 0x85, 0x29, 0x6d, 0xe4, 0xa5, 0xf3, 0x63, 0x94, 0x09, 0x18, 0xea, 0xa5, 0xc8, 0x4b, + 0xe6, 0x46, 0x53, 0x67, 0x08, 0xe4, 0xcc, 0xe7, 0xc5, 0xe5, 0x2f, 0x85, 0x0b, 0xb1, 0xd1, 0x18, + 0x19, 0x1b, 0x20, 0xc5, 0x86, 0x9c, 0xa2, 0xcd, 0x42, 0x8a, 0x5e, 0x86, 0x59, 0xe4, 0x93, 0x5b, + 0xfe, 0x24, 0xa4, 0x1c, 0x61, 0xb3, 0xf9, 0x08, 0x93, 0x63, 0x64, 0x6e, 0x48, 0x8c, 0xcc, 0xa7, + 0x79, 0xf7, 0x27, 0x2a, 0xc0, 0x06, 0xf1, 0xcd, 0x20, 0x1a, 0x10, 0x37, 0xa2, 0xea, 0x59, 0x29, + 0x94, 0x3a, 0x57, 0xc2, 0x89, 0xab, 0x96, 0x2a, 0xaf, 0x5a, 0x1a, 0x54, 0x99, 0xc1, 0xd1, 0x9b, + 0xec, 0x6f, 0x6a, 0x4c, 0xdf, 0x0c, 0x90, 0x1b, 0xa6, 0x4a, 0x0a, 0xd3, 0x55, 0xc9, 0x0b, 0x2c, + 0xbe, 0x8e, 0xd5, 0x0c, 0x04, 0x68, 0x09, 0xc9, 0xe6, 0x63, 0xbb, 0x80, 0x3a, 0xae, 0x32, 0x32, + 0x76, 0xec, 0xc6, 0xe5, 0x2a, 0xb4, 0xc2, 0x78, 0x2f, 0x53, 0x6e, 0x3b, 0x1e, 0xf0, 0xa4, 0x29, + 0xe0, 0xa9, 0x51, 0x71, 0x47, 0x43, 0x07, 0xe1, 0xc2, 0x97, 0x21, 0xf2, 0x9d, 0x8c, 0xfe, 0xf7, + 0x2a, 0xb4, 0x76, 0x82, 0xbe, 0xe9, 0xda, 0x3f, 0x93, 0x76, 0xec, 0xa7, 0x6a, 0x00, 0x96, 0xa1, + 0x49, 0xdc, 0xbe, 0x63, 0x87, 0x07, 0xdb, 0x99, 0xdd, 0x44, 0x94, 0x68, 0xec, 0xea, 0xb0, 0x16, + 0xa1, 0x26, 0xb5, 0x08, 0x8b, 0x50, 0x1f, 0x78, 0x7b, 0xb6, 0x93, 0xc4, 0x3d, 0x87, 0x58, 0xcc, + 0x13, 0x87, 0xb0, 0x5e, 0x21, 0x8d, 0xf9, 0x04, 0x91, 0xb5, 0x0d, 0xd3, 0xa5, 0x6d, 0x43, 0x43, + 0x6c, 0x1b, 0x64, 0xc3, 0x43, 0xc1, 0xf0, 0x68, 0xae, 0x66, 0x5a, 0x87, 0x46, 0x2d, 0xf1, 0x7f, + 0xa3, 0x40, 0x2b, 0x73, 0x05, 0xf6, 0xd4, 0x43, 0x4d, 0x99, 0x8f, 0x4e, 0xb5, 0x24, 0x3a, 0xd3, + 0x98, 0xaa, 0x88, 0x31, 0x45, 0xa3, 0xd0, 0x0b, 0x6d, 0x61, 0x63, 0x93, 0xc2, 0x74, 0x36, 0x87, + 0x98, 0x82, 0x21, 0x11, 0x12, 0xb6, 0xb1, 0x75, 0x69, 0x1b, 0x9b, 0x5f, 0xa9, 0xff, 0x42, 0x81, + 0xf3, 0x34, 0x02, 0x0a, 0x6a, 0xec, 0x40, 0xcb, 0xcb, 0x45, 0x09, 0x5f, 0xca, 0xde, 0x2c, 0x59, + 0x8a, 0xf2, 0x01, 0x65, 0x14, 0x88, 0x29, 0x43, 0x2b, 0x37, 0x09, 0x5f, 0xdb, 0xca, 0x18, 0xe6, + 0xe5, 0x31, 0x0a, 0xc4, 0xfa, 0x5f, 0x29, 0xd0, 0xc2, 0xc5, 0x53, 0xa8, 0x01, 0x67, 0x2e, 0xf6, + 0x43, 0x38, 0x9f, 0x9f, 0xf9, 0x9e, 0x1d, 0x46, 0x6d, 0x75, 0xb9, 0x32, 0xa9, 0xe8, 0xa5, 0x0c, + 0xf4, 0x3f, 0x52, 0xe1, 0xd5, 0xdd, 0xd8, 0x71, 0x3a, 0x24, 0x0c, 0xcd, 0x3e, 0x59, 0x3b, 0xe9, + 0x92, 0x23, 0xfa, 0xc1, 0x20, 0x47, 0x43, 0x63, 0x88, 0x76, 0x52, 0xac, 0x15, 0xb1, 0x3d, 0x37, + 0x0d, 0x21, 0x11, 0x45, 0x53, 0x2e, 0x44, 0x3e, 0xed, 0xca, 0x72, 0x85, 0x2e, 0xd2, 0x1c, 0xd4, + 0x7e, 0x1a, 0x66, 0x58, 0x97, 0xc0, 0xa7, 0x69, 0x57, 0x99, 0x02, 0x1f, 0x97, 0xf6, 0x25, 0xa5, + 0x52, 0x61, 0xbf, 0xc1, 0xe1, 0x5b, 0x6e, 0x14, 0x9c, 0x18, 0x12, 0xc7, 0xa5, 0x2f, 0x61, 0xa1, + 0x30, 0x44, 0x6b, 0x41, 0xe5, 0x90, 0x9c, 0x70, 0x3d, 0xe8, 0x9f, 0xda, 0x8f, 0x42, 0xed, 0x98, + 0x6e, 0x50, 0xb9, 0xf7, 0x97, 0x4a, 0x24, 0xe0, 0x32, 0x1b, 0x38, 0xf0, 0x43, 0xf5, 0x27, 0x14, + 0xfd, 0xcd, 0x54, 0x31, 0x51, 0x47, 0x45, 0xd2, 0x51, 0xbf, 0x0b, 0xcd, 0x4e, 0xd8, 0xdf, 0x30, + 0x23, 0x93, 0x0d, 0xfc, 0x18, 0x9a, 0x83, 0x0c, 0x64, 0x83, 0xcb, 0xe7, 0xe3, 0x44, 0x86, 0x38, + 0x5c, 0xff, 0x56, 0x85, 0x76, 0xb9, 0x29, 0x42, 0x9f, 0xca, 0x40, 0x82, 0x60, 0xdd, 0xb3, 0x08, + 0x53, 0xad, 0x66, 0x24, 0x20, 0xf5, 0x1d, 0x09, 0x02, 0xba, 0xbe, 0xf1, 0x36, 0x1e, 0x21, 0x6d, + 0x05, 0xaa, 0x4e, 0xe2, 0x96, 0xd1, 0x52, 0xb0, 0x71, 0xda, 0x00, 0x5a, 0xcc, 0xba, 0x82, 0x42, + 0xdc, 0x67, 0xab, 0x13, 0xfb, 0x2c, 0xf4, 0xd1, 0x69, 0x02, 0x0f, 0x74, 0x5c, 0x81, 0xf5, 0x52, + 0x0f, 0x2e, 0x94, 0x0e, 0x2d, 0x71, 0xe0, 0xbb, 0xb2, 0x03, 0x2f, 0x0d, 0x57, 0x25, 0xef, 0x44, + 0x1f, 0xb4, 0x4d, 0x12, 0x75, 0xcc, 0x27, 0xab, 0xae, 0xd5, 0xb1, 0xdd, 0x2e, 0x39, 0xa2, 0xd1, + 0xbe, 0x0c, 0x4d, 0x7e, 0xdc, 0x90, 0xba, 0xa9, 0x61, 0x88, 0xa8, 0xa1, 0xa7, 0x10, 0xb9, 0x7c, + 0xa8, 0x14, 0xf2, 0x41, 0xbf, 0x09, 0x33, 0xe2, 0x74, 0x6c, 0x81, 0x31, 0x9f, 0x74, 0xc9, 0x11, + 0x53, 0x68, 0xd6, 0xe0, 0x10, 0xc3, 0xb3, 0x11, 0x7c, 0xf7, 0xc1, 0x21, 0xfd, 0x1f, 0x54, 0x38, + 0x57, 0x10, 0x39, 0xf4, 0x9f, 0x96, 0x8f, 0x18, 0x2f, 0x95, 0x61, 0xf1, 0x52, 0x95, 0xe2, 0xe5, + 0x10, 0x16, 0xd0, 0x49, 0xc2, 0xd4, 0xed, 0x1a, 0x0b, 0x80, 0x4f, 0xca, 0x36, 0x03, 0x45, 0x21, + 0xb9, 0xef, 0x05, 0x2c, 0x3a, 0xbf, 0xc8, 0x77, 0x89, 0xc0, 0x62, 0xf9, 0xe0, 0x12, 0xf7, 0xbf, + 0x27, 0xbb, 0xff, 0x07, 0xca, 0xdc, 0x2f, 0x4a, 0x22, 0xf8, 0xff, 0x08, 0xe6, 0x69, 0x51, 0xed, + 0x12, 0xd7, 0xea, 0x84, 0x7d, 0x66, 0xc8, 0x65, 0x68, 0x22, 0x7d, 0x27, 0xec, 0x67, 0x9b, 0x43, + 0x01, 0x45, 0x47, 0xf4, 0x1c, 0x9b, 0x16, 0x4f, 0x36, 0x82, 0x17, 0x3d, 0x01, 0x45, 0x17, 0xc8, + 0x90, 0xf0, 0x93, 0x19, 0x6a, 0xdd, 0x8a, 0x91, 0xc2, 0xfa, 0x9f, 0xd7, 0x61, 0x8a, 0x47, 0x23, + 0x5b, 0x14, 0xe9, 0x7e, 0x3c, 0x2d, 0xab, 0x08, 0x61, 0xcf, 0xdb, 0x3b, 0xce, 0xc2, 0x0b, 0x21, + 0xf1, 0x58, 0xac, 0x22, 0x1f, 0x8b, 0xe5, 0x64, 0xaa, 0x16, 0x65, 0xca, 0xe9, 0x55, 0x2b, 0xea, + 0x45, 0x5b, 0x3c, 0xd6, 0xf5, 0xec, 0x3a, 0x66, 0xb4, 0xef, 0x05, 0x03, 0xbe, 0xbd, 0xae, 0x19, + 0x05, 0x3c, 0x6d, 0x2b, 0x11, 0x97, 0xee, 0x0b, 0x70, 0x09, 0xcf, 0x61, 0x69, 0x17, 0x8e, 0x98, + 0x64, 0x7f, 0x80, 0xe7, 0x23, 0x32, 0x12, 0x65, 0x0b, 0x43, 0xdb, 0x73, 0x59, 0x87, 0x8a, 0xdb, + 0x00, 0x11, 0x45, 0x35, 0x1f, 0x84, 0xfd, 0xdb, 0x81, 0x37, 0xe0, 0x5b, 0xaf, 0x04, 0x64, 0x9a, + 0x7b, 0x6e, 0x94, 0x74, 0xb7, 0x78, 0x32, 0x22, 0xa2, 0x28, 0x2d, 0x07, 0x59, 0xc3, 0x34, 0x63, + 0x24, 0x20, 0x8d, 0xa5, 0x90, 0x1c, 0xf1, 0xc6, 0x9e, 0xfe, 0x29, 0x79, 0x6e, 0x5e, 0xf6, 0x5c, + 0xae, 0x53, 0x6b, 0xb1, 0xaf, 0x62, 0xa7, 0x96, 0xb5, 0x38, 0x0b, 0x52, 0x8b, 0xb3, 0x0a, 0x53, + 0x9e, 0x4f, 0xd3, 0x3f, 0x6c, 0x6b, 0x2c, 0x5d, 0x7e, 0x68, 0x78, 0x81, 0x5a, 0xd9, 0xc1, 0x91, + 0x98, 0x18, 0x09, 0x9d, 0x76, 0x0f, 0xe6, 0xbd, 0xfd, 0x7d, 0xc7, 0x76, 0xc9, 0x6e, 0x1c, 0x1e, + 0xb0, 0x6d, 0xf8, 0x39, 0x16, 0xec, 0x7a, 0x59, 0x13, 0x21, 0x8f, 0x34, 0xf2, 0xa4, 0xb4, 0xf3, + 0x33, 0x23, 0xdc, 0x00, 0xb1, 0x02, 0x77, 0x9e, 0x15, 0x38, 0x09, 0xc7, 0xce, 0x17, 0x85, 0x42, + 0x7f, 0x81, 0x19, 0x4e, 0x44, 0x21, 0x97, 0xc8, 0xec, 0x1d, 0x10, 0x76, 0xa0, 0xd4, 0x5e, 0xc4, + 0xfe, 0x51, 0xc4, 0xf1, 0xee, 0xee, 0xd5, 0xa4, 0xbb, 0x5b, 0xfa, 0x10, 0x66, 0x44, 0x05, 0x4b, + 0x92, 0xf9, 0xbc, 0x98, 0xcc, 0xd3, 0x62, 0xae, 0xfe, 0xa6, 0x02, 0xf3, 0x39, 0xd5, 0xe8, 0xe8, + 0xc8, 0x8e, 0x1c, 0xc2, 0x39, 0x20, 0x40, 0x77, 0x4e, 0x16, 0x09, 0x7b, 0x3c, 0x79, 0xd8, 0xdf, + 0x5c, 0x92, 0x4a, 0xda, 0x46, 0xeb, 0x30, 0x63, 0xef, 0x74, 0x29, 0xa3, 0xae, 0x17, 0xbb, 0x56, + 0x7a, 0x40, 0x2f, 0xe0, 0xd8, 0x96, 0x7e, 0xa7, 0xbb, 0x66, 0x5a, 0x7d, 0x82, 0xd7, 0x35, 0x35, + 0x26, 0x93, 0x8c, 0xd4, 0x2d, 0x98, 0xbe, 0x6f, 0xfb, 0xe1, 0xba, 0x37, 0x18, 0xd0, 0x10, 0xb0, + 0x48, 0x44, 0x7b, 0x7c, 0x85, 0x19, 0x8c, 0x43, 0xd4, 0x9a, 0x16, 0xd9, 0x37, 0x63, 0x27, 0xa2, + 0x43, 0x93, 0x92, 0x21, 0xa0, 0xd8, 0xf1, 0x42, 0xe8, 0xb9, 0x1b, 0x48, 0x8d, 0x72, 0x0a, 0x18, + 0xfd, 0xef, 0x54, 0x68, 0xb1, 0x8a, 0xb8, 0xce, 0x02, 0xce, 0x62, 0x44, 0x37, 0xa0, 0xc6, 0x0a, + 0x00, 0xef, 0x28, 0x47, 0x9f, 0xc9, 0xe0, 0x50, 0xed, 0x26, 0xd4, 0x3d, 0x9f, 0xb5, 0xa1, 0x58, + 0x2e, 0xaf, 0x0c, 0x23, 0x92, 0x8f, 0xe4, 0x0d, 0x4e, 0xa5, 0xdd, 0x06, 0x18, 0x64, 0x5d, 0x27, + 0x36, 0x0f, 0x93, 0xf2, 0x10, 0x28, 0xa9, 0x71, 0xd3, 0x75, 0x31, 0x3d, 0x97, 0xaf, 0x18, 0x32, + 0x52, 0xdb, 0x86, 0x39, 0x26, 0xf6, 0x4e, 0x72, 0x38, 0xc7, 0x7c, 0x30, 0xf9, 0x8c, 0x39, 0x6a, + 0xfd, 0xf7, 0x14, 0x6e, 0x46, 0xfa, 0xb5, 0x4b, 0xd0, 0xf6, 0x99, 0x49, 0x94, 0x53, 0x99, 0x64, + 0x09, 0xa6, 0x07, 0xb1, 0x70, 0x56, 0x58, 0x31, 0x52, 0x38, 0x73, 0x51, 0x65, 0x62, 0x17, 0xe9, + 0xbf, 0xaf, 0x40, 0xfb, 0x53, 0xcf, 0x76, 0xd9, 0x87, 0x55, 0xdf, 0x77, 0xf8, 0xf5, 0xcd, 0xa9, + 0x7d, 0xfe, 0x93, 0xd0, 0x30, 0x91, 0x8d, 0x1b, 0x71, 0xb7, 0x4f, 0x70, 0xfe, 0x97, 0xd1, 0x08, + 0x87, 0x30, 0x15, 0xf1, 0x10, 0x46, 0xff, 0x46, 0x81, 0x39, 0x34, 0xca, 0x67, 0xb1, 0x1d, 0x9d, + 0x5a, 0xbe, 0x35, 0x98, 0x3e, 0x8a, 0xed, 0xe8, 0x14, 0x51, 0x99, 0xd2, 0x15, 0xe3, 0xa9, 0x52, + 0x12, 0x4f, 0xfa, 0xb7, 0x0a, 0x5c, 0xcc, 0x9b, 0x75, 0xb5, 0xd7, 0x23, 0xfe, 0xb3, 0x4c, 0x29, + 0xe9, 0x10, 0xaa, 0x5a, 0x72, 0x08, 0x15, 0x90, 0x1e, 0xb1, 0x8f, 0x49, 0xb0, 0x1a, 0xf2, 0x5d, + 0xb5, 0x80, 0x29, 0x55, 0xc9, 0x20, 0x5f, 0x93, 0xde, 0x8b, 0xab, 0xd2, 0x2f, 0xa8, 0xf0, 0xda, + 0x66, 0x9a, 0xb8, 0xf7, 0x03, 0xd3, 0x0d, 0xf7, 0x49, 0x10, 0x3c, 0x43, 0x7d, 0xee, 0xc1, 0xac, + 0x4b, 0x1e, 0x67, 0x32, 0xf1, 0x74, 0x9e, 0x94, 0x8d, 0x4c, 0x3c, 0x59, 0xed, 0xd3, 0xff, 0x57, + 0x81, 0x16, 0xf2, 0xb9, 0x6b, 0xf7, 0x0e, 0x9f, 0xa1, 0xf2, 0xdb, 0x30, 0x77, 0xc8, 0x24, 0xa0, + 0xd0, 0x29, 0xca, 0x7e, 0x8e, 0x7a, 0x42, 0xf5, 0xbf, 0x53, 0x60, 0x21, 0xb9, 0x75, 0x3e, 0xb6, + 0x9f, 0x65, 0x30, 0xef, 0xc2, 0x3c, 0x9e, 0xe2, 0x9f, 0xd6, 0x00, 0x79, 0xf2, 0x09, 0x2d, 0xf0, + 0x67, 0x0a, 0xcc, 0x23, 0xa7, 0x5b, 0x6e, 0x44, 0x82, 0x53, 0xeb, 0x7f, 0x07, 0x9a, 0xc4, 0x8d, + 0x02, 0xd3, 0x3d, 0x4d, 0x85, 0x15, 0x49, 0x27, 0x2c, 0xb2, 0xdf, 0x28, 0xa0, 0x31, 0x56, 0x1b, + 0x76, 0x38, 0xb0, 0xc3, 0xf0, 0x19, 0xba, 0x6e, 0x32, 0x81, 0x7f, 0x47, 0x85, 0xf3, 0x02, 0x97, + 0x4e, 0x1c, 0x3d, 0xef, 0x22, 0x6b, 0x1b, 0xd0, 0xa0, 0x3d, 0x86, 0x78, 0xc7, 0x3a, 0xe9, 0x44, + 0x19, 0x21, 0xed, 0x82, 0x19, 0xd0, 0x25, 0x3d, 0xcf, 0xb5, 0xb0, 0x14, 0xcf, 0x1a, 0x12, 0x8e, + 0x96, 0xa1, 0x25, 0x81, 0xcd, 0xba, 0xe9, 0xf6, 0x88, 0xf3, 0xd2, 0x98, 0x48, 0xff, 0x43, 0x05, + 0xe6, 0x70, 0xc8, 0xf3, 0xaf, 0xb2, 0xfe, 0xc7, 0x0a, 0x0f, 0xe4, 0x17, 0xc6, 0x4b, 0x34, 0xbc, + 0x16, 0x05, 0x2e, 0x62, 0x5f, 0xfe, 0xfc, 0x86, 0xd6, 0x1d, 0x68, 0xf6, 0x0e, 0x4c, 0xb7, 0x7f, + 0xaa, 0xe0, 0x12, 0x49, 0xf5, 0x08, 0x5e, 0x15, 0x0f, 0xfd, 0xd7, 0xf1, 0x13, 0x53, 0xff, 0x9d, + 0x9c, 0x2a, 0x23, 0xdf, 0x50, 0x3c, 0x9d, 0xd1, 0x0f, 0x61, 0x01, 0x6f, 0xa1, 0x85, 0x9e, 0x51, + 0x6b, 0xc3, 0x94, 0x69, 0xe1, 0xd1, 0x87, 0xc2, 0x88, 0x12, 0x50, 0x7e, 0xa5, 0xc0, 0xdf, 0xc3, + 0x65, 0xaf, 0x14, 0x2e, 0x01, 0x98, 0x96, 0xf5, 0xd0, 0x0b, 0x2c, 0xdb, 0x4d, 0x36, 0x08, 0x02, + 0x46, 0xff, 0x14, 0x66, 0x6e, 0x07, 0xde, 0xe0, 0xbe, 0x70, 0x9f, 0x3c, 0xf2, 0xc6, 0x5b, 0xbc, + 0x8b, 0x56, 0xe5, 0xbb, 0x68, 0xfd, 0x2b, 0xb8, 0x50, 0x10, 0x9c, 0x19, 0x6b, 0x1d, 0xaf, 0xc9, + 0x93, 0x49, 0x78, 0xc8, 0x94, 0x9d, 0x05, 0x8a, 0xb2, 0x18, 0x12, 0x91, 0xfe, 0xf3, 0x0a, 0xbc, + 0x51, 0x60, 0xbf, 0xea, 0xfb, 0x81, 0x77, 0xcc, 0x7d, 0x72, 0x16, 0xd3, 0xc8, 0xcd, 0xb1, 0x9a, + 0x6b, 0x8e, 0xcb, 0x85, 0x90, 0x1a, 0xfa, 0xef, 0x41, 0x88, 0x3f, 0x50, 0x60, 0x9e, 0x0b, 0x61, + 0x59, 0x7c, 0xda, 0xf7, 0xa0, 0x8e, 0x0f, 0x75, 0xf8, 0x84, 0x6f, 0x94, 0x4e, 0x98, 0x3c, 0x30, + 0x32, 0xf8, 0xe0, 0x62, 0x44, 0xaa, 0x65, 0x19, 0xf5, 0x41, 0x1a, 0xec, 0x13, 0x3f, 0xa5, 0xe1, + 0x04, 0xfa, 0x4f, 0x25, 0xc1, 0xbc, 0x41, 0x1c, 0x72, 0x96, 0x36, 0xd2, 0x1f, 0xc0, 0x1c, 0x7b, + 0x35, 0x94, 0xd9, 0xe0, 0x4c, 0xd8, 0x3e, 0x84, 0x16, 0x63, 0x7b, 0xe6, 0xf2, 0xa6, 0xd9, 0x41, + 0xed, 0x23, 0x96, 0x92, 0x33, 0xe1, 0xfe, 0x36, 0x9c, 0x4b, 0x6c, 0x8f, 0x2f, 0x71, 0x91, 0xf7, + 0x90, 0xbb, 0x41, 0xfd, 0xb7, 0x14, 0x58, 0x5c, 0xf7, 0xdc, 0x63, 0x12, 0x84, 0xd2, 0xeb, 0x5d, + 0x24, 0x91, 0xb2, 0x9f, 0x43, 0xda, 0x0a, 0x68, 0x3d, 0x81, 0x82, 0x1f, 0x4f, 0xaa, 0xec, 0x78, + 0xb2, 0xe4, 0x8b, 0xf6, 0x2e, 0x5c, 0x88, 0x19, 0xd7, 0x07, 0x6e, 0x40, 0x4c, 0x8b, 0x9d, 0xc7, + 0x09, 0x45, 0xaf, 0xfc, 0xa3, 0xfe, 0x35, 0x2c, 0x89, 0x72, 0x75, 0x49, 0xb4, 0x1b, 0xd8, 0xc7, + 0x82, 0x6c, 0xfc, 0xec, 0x5d, 0x91, 0xce, 0xde, 0xb3, 0xb3, 0x7a, 0x55, 0x3a, 0xab, 0xbf, 0x08, + 0x0d, 0x3b, 0xe4, 0x0c, 0xd8, 0xbc, 0xd3, 0x46, 0x86, 0xd0, 0x4d, 0x58, 0x40, 0x2f, 0xf3, 0xbb, + 0x30, 0x36, 0xc5, 0x12, 0x4c, 0x63, 0xe8, 0xa6, 0x93, 0xa4, 0xf0, 0xd0, 0x9b, 0xa5, 0xa1, 0xf7, + 0xa8, 0x7a, 0x17, 0x16, 0xf8, 0x5b, 0xa2, 0x5d, 0xb3, 0x6f, 0xbb, 0x58, 0xcb, 0x2f, 0x01, 0xf8, + 0x66, 0x3f, 0x79, 0xd9, 0x88, 0x37, 0x82, 0x02, 0x86, 0x7e, 0x0f, 0x0f, 0xbc, 0xc7, 0xfc, 0xbb, + 0x8a, 0xdf, 0x33, 0x8c, 0xfe, 0x39, 0x68, 0x06, 0x09, 0x7d, 0xcf, 0x0d, 0x89, 0xc0, 0x75, 0x19, + 0x9a, 0xeb, 0x71, 0x10, 0x10, 0x97, 0x4e, 0x95, 0x3c, 0xcf, 0x13, 0x51, 0x94, 0x6f, 0x37, 0xe3, + 0x8b, 0xb7, 0x07, 0x02, 0x46, 0xff, 0xb7, 0x3a, 0x34, 0xba, 0x76, 0xdf, 0x35, 0x1d, 0x83, 0x1c, + 0x69, 0x1f, 0x43, 0x1d, 0x77, 0x46, 0x3c, 0x20, 0xcb, 0x4e, 0xb3, 0x71, 0x34, 0x6e, 0x01, 0x0d, + 0x72, 0x74, 0xe7, 0x15, 0x83, 0xd3, 0x68, 0x9f, 0x25, 0x2f, 0xae, 0xb6, 0xf0, 0xa4, 0x8c, 0x2f, + 0x93, 0x3f, 0x3c, 0x86, 0x09, 0x1f, 0x8d, 0xbc, 0x64, 0x0e, 0x54, 0xa0, 0x1e, 0xeb, 0x9c, 0x78, + 0x15, 0x1a, 0x2e, 0x10, 0x36, 0x58, 0x5c, 0x20, 0xa4, 0xa1, 0xd4, 0x26, 0x3b, 0x4b, 0xe2, 0x0d, + 0xc1, 0x70, 0x6a, 0x3c, 0x72, 0xe2, 0xd4, 0x48, 0x43, 0xa9, 0x0f, 0x62, 0xb7, 0xff, 0xc0, 0xe7, + 0x47, 0x9c, 0xc3, 0xa9, 0xef, 0xb0, 0x61, 0x9c, 0x1a, 0x69, 0x28, 0x75, 0xc0, 0xd6, 0x08, 0x66, + 0xf4, 0x51, 0xd4, 0xb8, 0x94, 0x70, 0x6a, 0xa4, 0xd1, 0xbe, 0x80, 0x56, 0x9f, 0x44, 0x86, 0xe7, + 0x0d, 0xd6, 0x4e, 0x36, 0xf9, 0x0d, 0x13, 0x3e, 0x30, 0xbf, 0x36, 0x94, 0xcf, 0x66, 0x8e, 0x00, + 0x39, 0x16, 0xf8, 0x68, 0x3f, 0x0b, 0x6f, 0x78, 0x2e, 0x45, 0xed, 0x9a, 0x41, 0x64, 0xf7, 0x6c, + 0xdf, 0x74, 0xa3, 0x75, 0xcf, 0x75, 0xd9, 0x7a, 0x66, 0x90, 0x23, 0xfe, 0x04, 0xfd, 0xfd, 0xa1, + 0x13, 0xed, 0x8c, 0xa2, 0xbe, 0xf3, 0x8a, 0x31, 0x9a, 0xbd, 0xf6, 0xcb, 0x0a, 0x2c, 0x17, 0x46, + 0x6c, 0xd8, 0x61, 0x4f, 0x94, 0x01, 0x9f, 0xaf, 0x7f, 0x30, 0xb9, 0x0c, 0x39, 0x06, 0x77, 0x5e, + 0x31, 0xc6, 0x4e, 0xc2, 0xad, 0x7c, 0xdf, 0x3b, 0x24, 0xee, 0xda, 0x09, 0x1d, 0xbb, 0xb5, 0xc1, + 0x6e, 0xb3, 0xc6, 0x58, 0x59, 0x22, 0xc8, 0xac, 0x2c, 0xa1, 0xd7, 0x1a, 0x30, 0xe5, 0x9b, 0x27, + 0x8e, 0x67, 0x5a, 0xfa, 0x7f, 0x56, 0x01, 0x12, 0x57, 0x87, 0xac, 0x23, 0x96, 0x92, 0xec, 0xf2, + 0xd8, 0x24, 0xf3, 0x9d, 0x13, 0x21, 0xcd, 0xba, 0xe5, 0x69, 0xf6, 0x23, 0x93, 0xa6, 0x19, 0x72, + 0xcb, 0x25, 0xda, 0xcd, 0x5c, 0xa2, 0x5d, 0x1e, 0x9b, 0x68, 0x5c, 0x28, 0x9e, 0x6a, 0x37, 0x73, + 0xa9, 0x76, 0x79, 0x6c, 0xaa, 0x71, 0x7a, 0x9e, 0x6c, 0x37, 0x73, 0xc9, 0x76, 0x79, 0x6c, 0xb2, + 0x71, 0x7a, 0x9e, 0x6e, 0x37, 0x73, 0xe9, 0x76, 0x79, 0x6c, 0xba, 0x71, 0x7a, 0x9e, 0x70, 0x5f, + 0x0d, 0x4d, 0xb8, 0x95, 0xa7, 0x48, 0x38, 0xe4, 0x59, 0x4c, 0xb9, 0xaf, 0x4a, 0x02, 0x6d, 0x7a, + 0x3c, 0xf7, 0x5c, 0xa0, 0x65, 0xdc, 0x87, 0x86, 0xda, 0x2f, 0x56, 0x60, 0x8e, 0xb9, 0x1b, 0x57, + 0x65, 0x77, 0xdf, 0x2b, 0xbe, 0x83, 0x55, 0x4a, 0xde, 0xc1, 0x6a, 0xd7, 0x60, 0x01, 0x11, 0x44, + 0xb8, 0x87, 0xc4, 0x85, 0xbe, 0xf8, 0x81, 0xdd, 0xbc, 0xc6, 0x61, 0xe4, 0x0d, 0x36, 0xcc, 0xc8, + 0x4c, 0x76, 0x18, 0x19, 0x46, 0xbc, 0x17, 0xaf, 0x16, 0x7e, 0x2e, 0x12, 0xa0, 0xfe, 0x35, 0xbe, + 0x9a, 0x33, 0x88, 0x52, 0x44, 0xf6, 0x80, 0x78, 0x71, 0xc4, 0x17, 0xa9, 0x04, 0xc4, 0xc7, 0x8b, + 0x96, 0x6d, 0xb2, 0xdb, 0x64, 0xfe, 0xb2, 0x2f, 0x45, 0xb0, 0x75, 0x35, 0xbb, 0x1d, 0xe7, 0x3f, + 0xe7, 0xc8, 0x30, 0x13, 0xdc, 0x64, 0xb3, 0x5f, 0x06, 0xd9, 0x91, 0x2d, 0xbe, 0xf8, 0xab, 0x19, + 0x12, 0x8e, 0xf6, 0x41, 0x7b, 0x71, 0x78, 0x72, 0xcf, 0x76, 0x45, 0xf3, 0x34, 0xb1, 0x0f, 0x2a, + 0x7e, 0xd1, 0xff, 0x5d, 0x81, 0x73, 0x42, 0xdd, 0xe9, 0x90, 0xc8, 0x64, 0x76, 0x91, 0xde, 0x6d, + 0x2b, 0x4f, 0xf7, 0x6e, 0x7b, 0x17, 0xe6, 0xfb, 0xf2, 0xb6, 0xfc, 0x29, 0x77, 0xd4, 0x79, 0x72, + 0xe9, 0x11, 0x7a, 0xe5, 0xa9, 0x1f, 0xa1, 0xeb, 0xbf, 0xa2, 0xc2, 0x7c, 0xae, 0x19, 0x18, 0xd9, + 0x49, 0xad, 0x02, 0xd8, 0x69, 0x68, 0x8e, 0xb8, 0xf5, 0x92, 0xe3, 0xd7, 0x10, 0x88, 0xca, 0xae, + 0xdd, 0x2b, 0xa7, 0xbf, 0x76, 0xbf, 0x03, 0x4d, 0x3f, 0x73, 0xd2, 0x88, 0x43, 0x83, 0x12, 0x57, + 0x1a, 0x22, 0xa9, 0xfe, 0xab, 0x0a, 0x2c, 0x14, 0x4a, 0x36, 0xbb, 0x0c, 0xa7, 0x89, 0x9a, 0x5e, + 0x86, 0x53, 0x40, 0xc8, 0x00, 0x35, 0x9f, 0x01, 0x8e, 0x7d, 0x2c, 0xfe, 0x5c, 0x86, 0x83, 0x43, + 0xa2, 0xaf, 0x3a, 0x34, 0xfa, 0x7e, 0x4d, 0x85, 0xc5, 0xf2, 0x06, 0xeb, 0x65, 0xf5, 0xcf, 0xaf, + 0x2b, 0xd0, 0x1e, 0xb6, 0x16, 0x3e, 0x33, 0x37, 0x65, 0xf9, 0x93, 0xf6, 0xae, 0x2f, 0xab, 0x7f, + 0xce, 0x25, 0xe9, 0x23, 0x34, 0x17, 0xfa, 0x9f, 0xa6, 0xf6, 0x49, 0xbb, 0xf3, 0x97, 0xd4, 0x3e, + 0xda, 0x55, 0x68, 0xa1, 0x9a, 0xc2, 0x4b, 0x30, 0xdc, 0xec, 0x15, 0xf0, 0xfa, 0x97, 0x89, 0x2d, + 0x85, 0x46, 0xeb, 0xac, 0x62, 0x5c, 0xff, 0x6b, 0x25, 0xf1, 0x49, 0xba, 0xe7, 0x79, 0xa1, 0x7c, + 0x92, 0x45, 0x9a, 0xd0, 0x46, 0x0a, 0x91, 0x96, 0xee, 0xc5, 0xfe, 0x3f, 0xd2, 0xc6, 0x47, 0x5a, + 0x6a, 0x4b, 0xa1, 0xa5, 0xd6, 0x7f, 0x57, 0x81, 0xd7, 0x86, 0xee, 0x47, 0x47, 0x5a, 0x55, 0x68, + 0x1a, 0x55, 0xb9, 0x69, 0xcc, 0xa9, 0x57, 0x39, 0x7d, 0xa1, 0xf9, 0x5b, 0x05, 0x5e, 0x1f, 0xd1, + 0xbc, 0xe7, 0x3c, 0xab, 0x9c, 0xc6, 0xb3, 0x39, 0x61, 0xd5, 0xa1, 0x17, 0xd3, 0x63, 0x7d, 0x91, + 0xa5, 0x67, 0x45, 0x4c, 0x4f, 0xfd, 0x1f, 0x15, 0x78, 0x73, 0x82, 0x9d, 0xf8, 0xf3, 0xa5, 0xcc, + 0xd0, 0xa7, 0xb2, 0xfa, 0x3f, 0x29, 0x70, 0x65, 0xb2, 0x4d, 0xfd, 0x8b, 0xa2, 0xd1, 0x5f, 0x8a, + 0x39, 0x90, 0x3f, 0x2d, 0x10, 0xdc, 0xaa, 0x48, 0x55, 0x57, 0xcc, 0x0d, 0x35, 0x97, 0x1b, 0x67, + 0x96, 0x01, 0xf9, 0x17, 0xf1, 0xd5, 0xe2, 0x8b, 0xf8, 0x8e, 0x90, 0x22, 0xc5, 0x1d, 0xe8, 0x90, + 0xa5, 0x44, 0x58, 0x32, 0x54, 0x79, 0xc9, 0xf8, 0x39, 0x98, 0xdd, 0x20, 0x4e, 0x27, 0xec, 0x27, + 0xbf, 0x5d, 0x39, 0xd3, 0xd3, 0xd6, 0x09, 0xf4, 0x59, 0x83, 0x39, 0x51, 0x80, 0xd3, 0xfc, 0x36, + 0x43, 0x7f, 0x08, 0xaf, 0x75, 0x49, 0xb4, 0xea, 0xfb, 0x6b, 0x66, 0xef, 0x90, 0xba, 0xd9, 0xb5, + 0xba, 0xec, 0x31, 0xf1, 0xa8, 0x1f, 0xe3, 0xd0, 0x9d, 0x65, 0x98, 0x11, 0xf0, 0x17, 0xb4, 0x12, + 0x4e, 0xdf, 0x86, 0xa5, 0x61, 0x8c, 0x4f, 0x25, 0xe8, 0x7f, 0xa9, 0x30, 0x73, 0xeb, 0x49, 0x84, + 0xef, 0xe7, 0xbb, 0x84, 0xfd, 0x02, 0x3d, 0x64, 0xd7, 0x82, 0x99, 0xb5, 0x13, 0x38, 0xbf, 0x39, + 0x56, 0x8b, 0x9b, 0xe3, 0x1d, 0x00, 0x92, 0x70, 0x0b, 0xf9, 0x23, 0x9b, 0xeb, 0x25, 0x61, 0x27, + 0x4e, 0x99, 0x01, 0xfc, 0xd5, 0xb4, 0xc0, 0x82, 0xae, 0x2f, 0x1d, 0xf3, 0x49, 0x27, 0xec, 0x0b, + 0xff, 0x59, 0x04, 0xdf, 0xda, 0x14, 0xf0, 0xd4, 0x7e, 0x29, 0xe5, 0x76, 0x3c, 0xe0, 0xeb, 0x90, + 0x84, 0xcb, 0xbd, 0x01, 0xaf, 0xe7, 0xdf, 0x80, 0x2f, 0x7d, 0x09, 0xf3, 0x39, 0x71, 0x4a, 0xde, + 0x38, 0xdf, 0x90, 0x7f, 0xb0, 0x70, 0x71, 0x94, 0x82, 0xe2, 0x0b, 0xe8, 0xff, 0x50, 0xa1, 0x91, + 0x7e, 0xd0, 0x06, 0x70, 0x21, 0x20, 0x26, 0xfb, 0x57, 0x22, 0x0c, 0x49, 0x8d, 0x28, 0xfc, 0xac, + 0xe8, 0xc7, 0x47, 0x71, 0x5d, 0x31, 0xca, 0x28, 0xd1, 0x7c, 0xe5, 0x5c, 0x27, 0xf8, 0xd5, 0xc3, + 0x0a, 0x68, 0x83, 0xb0, 0x7f, 0xdb, 0x0e, 0xc2, 0xa8, 0xe3, 0x59, 0xf6, 0xfe, 0x89, 0x70, 0x15, + 0x53, 0xf2, 0xa5, 0xf0, 0x80, 0xbc, 0x3a, 0xf4, 0x01, 0x79, 0xfa, 0x5f, 0x22, 0x96, 0x08, 0x2c, + 0x0d, 0x17, 0xbd, 0xc4, 0xd4, 0x3f, 0x26, 0x9b, 0xba, 0xec, 0x0a, 0xfd, 0x2e, 0x39, 0xc1, 0xff, + 0x4f, 0x22, 0x58, 0x7a, 0x1f, 0xa6, 0x13, 0x34, 0x3b, 0x2a, 0x3a, 0xf1, 0xc9, 0xdd, 0x94, 0x71, + 0x02, 0xca, 0x6f, 0xd5, 0x1b, 0x9c, 0x9e, 0x86, 0x9c, 0x63, 0x46, 0x24, 0x8c, 0x84, 0x90, 0x43, + 0x23, 0x14, 0xf0, 0x6b, 0xd7, 0xbe, 0xb8, 0xba, 0xe3, 0x13, 0xf7, 0xd1, 0x56, 0xa7, 0xf0, 0x3f, + 0x92, 0x3e, 0x2a, 0x48, 0xba, 0x57, 0x67, 0xdf, 0xdf, 0xf9, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xc4, 0xf7, 0xcb, 0xba, 0x83, 0x49, 0x00, 0x00, } From 4fd31e436767888dfa88a19be4cd11394160799b Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 26 Dec 2022 10:25:42 +0800 Subject: [PATCH 140/176] getui --- internal/cron_task/clear_msg.go | 87 ++++++--------- internal/cron_task/clear_msg_test.go | 156 ++++++++++++++------------- internal/cron_task/cron_task.go | 12 +-- internal/push/getui/push.go | 4 +- 4 files changed, 115 insertions(+), 144 deletions(-) diff --git a/internal/cron_task/clear_msg.go b/internal/cron_task/clear_msg.go index 6e7db12d1..ae491734a 100644 --- a/internal/cron_task/clear_msg.go +++ b/internal/cron_task/clear_msg.go @@ -100,63 +100,46 @@ func deleteMongoMsg(operationID string, ID string, index int64, delStruct *delMs if err != nil { return 0, err } - return delStruct.getSetMinSeq(), nil + return delStruct.getSetMinSeq() + 1, nil } log.NewDebug(operationID, "ID:", ID, "index:", index, "uid:", msgs.UID, "len:", len(msgs.Msg)) if len(msgs.Msg) > db.GetSingleGocMsgNum() { log.NewWarn(operationID, utils.GetSelfFuncName(), "msgs too large", len(msgs.Msg), msgs.UID) } - // lastMsgSendTime := msgs.Msg[len(msgs.Msg)-1].SendTime - - var hasMsgDoNotNeedDel bool - for i, msg := range msgs.Msg { - // 找到列表中不需要删除的消息了, 表示为递归到最后一个块 - if utils.GetCurrentTimestampByMill() < msg.SendTime+(int64(config.Config.Mongo.DBRetainChatRecords)*24*60*60*1000) { - log.NewDebug(operationID, ID, "find uid", msgs.UID) - // 删除块失败 递归结束 返回0 - hasMsgDoNotNeedDel = true - if err := delMongoMsgsPhysical(delStruct.delUidList); err != nil { - return 0, err - } - // unMarshall失败 块删除成功 设置为最小seq - msgPb := &server_api_params.MsgData{} - if err = proto.Unmarshal(msg.Msg, msgPb); err != nil { - return delStruct.getSetMinSeq(), utils.Wrap(err, "") - } - // 如果不是块中第一个,就把前面比他早插入的全部设置空 seq字段除外。 - if i > 0 { - delStruct.minSeq, err = db.DB.ReplaceMsgToBlankByIndex(msgs.UID, i-1) - if err != nil { - log.NewError(operationID, utils.GetSelfFuncName(), err.Error(), msgs.UID, i) - return delStruct.getSetMinSeq(), utils.Wrap(err, "") - } - } - // 递归结束 - return msgPb.Seq, nil - } - } - // 该列表中消息全部为老消息并且列表满了, 加入删除列表继续递归 - // lastMsgPb := &server_api_params.MsgData{} - // err = proto.Unmarshal(msgs.Msg[len(msgs.Msg)-1].Msg, lastMsgPb) - // if err != nil { - // log.NewError(operationID, utils.GetSelfFuncName(), err.Error(), len(msgs.Msg)-1, msgs.UID) - // return 0, utils.Wrap(err, "proto.Unmarshal failed") - // } - // delStruct.minSeq = lastMsgPb.Seq - if msgListIsFull(msgs) { - log.NewDebug(operationID, "msg list is full", msgs.UID) + if msgs.Msg[len(msgs.Msg)-1].SendTime+(int64(config.Config.Mongo.DBRetainChatRecords)*24*60*60*1000) > utils.GetCurrentTimestampByMill() && msgListIsFull(msgs) { delStruct.delUidList = append(delStruct.delUidList, msgs.UID) + lastMsgPb := &server_api_params.MsgData{} + err = proto.Unmarshal(msgs.Msg[len(msgs.Msg)-1].Msg, lastMsgPb) + if err != nil { + log.NewError(operationID, utils.GetSelfFuncName(), err.Error(), len(msgs.Msg)-1, msgs.UID) + return 0, utils.Wrap(err, "proto.Unmarshal failed") + } + delStruct.minSeq = lastMsgPb.Seq } else { - // 列表没有满且没有不需要被删除的消息 代表他是最新的消息块 - if !hasMsgDoNotNeedDel { - delStruct.minSeq, err = db.DB.ReplaceMsgToBlankByIndex(msgs.UID, len(msgs.Msg)-1) + var hasMarkDelFlag bool + for _, msg := range msgs.Msg { + msgPb := &server_api_params.MsgData{} + err = proto.Unmarshal(msg.Msg, msgPb) if err != nil { - log.NewError(operationID, utils.GetSelfFuncName(), err.Error(), msgs.UID, "Index:", len(msgs.Msg)-1) - err = delMongoMsgsPhysical(delStruct.delUidList) - if err != nil { - return delStruct.getSetMinSeq(), err + log.NewError(operationID, utils.GetSelfFuncName(), err.Error(), len(msgs.Msg)-1, msgs.UID) + return 0, utils.Wrap(err, "proto.Unmarshal failed") + } + if utils.GetCurrentTimestampByMill() > msg.SendTime+(int64(config.Config.Mongo.DBRetainChatRecords)*24*60*60*1000) { + msgPb.Status = constant.MsgDeleted + bytes, _ := proto.Marshal(msgPb) + msg.Msg = bytes + msg.SendTime = 0 + hasMarkDelFlag = true + } else { + if err := delMongoMsgsPhysical(delStruct.delUidList); err != nil { + return 0, err } - return delStruct.getSetMinSeq(), nil + if hasMarkDelFlag { + if err := db.DB.UpdateOneMsgList(msgs); err != nil { + return delStruct.getSetMinSeq(), utils.Wrap(err, "") + } + } + return msgPb.Seq + 1, nil } } } @@ -179,14 +162,6 @@ func msgListIsFull(chat *db.UserChat) bool { return false } -func CheckGroupUserMinSeq(operationID, groupID, userID string) error { - return nil -} - -func CheckUserMinSeqWithMongo(operationID, userID string) error { - return nil -} - func checkMaxSeqWithMongo(operationID, ID string, diffusionType int) error { var seqRedis uint64 var err error diff --git a/internal/cron_task/clear_msg_test.go b/internal/cron_task/clear_msg_test.go index 0a2ba7071..88eac2df9 100644 --- a/internal/cron_task/clear_msg_test.go +++ b/internal/cron_task/clear_msg_test.go @@ -3,100 +3,102 @@ package cronTask import ( "Open_IM/pkg/common/constant" "Open_IM/pkg/common/db" - "Open_IM/pkg/common/log" - pbMsg "Open_IM/pkg/proto/msg" server_api_params "Open_IM/pkg/proto/sdk_ws" - "Open_IM/pkg/utils" - "os/exec" + "context" + "fmt" + "strconv" + + "github.com/go-redis/redis/v8" + "github.com/golang/protobuf/proto" + "go.mongodb.org/mongo-driver/mongo" + "go.mongodb.org/mongo-driver/mongo/options" + "testing" "time" ) -func getMsgListFake(num int) []*pbMsg.MsgDataToMQ { - var msgList []*pbMsg.MsgDataToMQ - for i := 1; i < num; i++ { - msgList = append(msgList, &pbMsg.MsgDataToMQ{ - Token: "tk", - OperationID: "operationID", - MsgData: &server_api_params.MsgData{ - SendID: "sendID1", - RecvID: "recvID1", - GroupID: "", - ClientMsgID: "xxx", - ServerMsgID: "xxx", - SenderPlatformID: 1, - SenderNickname: "testNickName", - SenderFaceURL: "testFaceURL", - SessionType: 1, - MsgFrom: 100, - ContentType: 101, - Content: []byte("testFaceURL"), - Seq: uint32(i), - SendTime: time.Now().Unix(), - CreateTime: time.Now().Unix(), - Status: 1, - }, - }) +var ( + redisClient *redis.Client + mongoClient *mongo.Collection +) + +func GenUserChat(startSeq, stopSeq, delSeq, index uint32, userID string) *db.UserChat { + chat := &db.UserChat{UID: userID + strconv.Itoa(int(index))} + for i := startSeq; i <= stopSeq; i++ { + msg := server_api_params.MsgData{ + SendID: "sendID1", + RecvID: "recvID1", + GroupID: "", + ClientMsgID: "xxx", + ServerMsgID: "xxx", + SenderPlatformID: 1, + SenderNickname: "testNickName", + SenderFaceURL: "testFaceURL", + SessionType: 1, + MsgFrom: 100, + ContentType: 101, + Content: []byte("testFaceURL"), + Seq: uint32(i), + SendTime: time.Now().Unix(), + CreateTime: time.Now().Unix(), + Status: 1, + } + bytes, _ := proto.Marshal(&msg) + sendTime := 0 + chat.Msg = append(chat.Msg, db.MsgInfo{SendTime: int64(sendTime), Msg: bytes}) } - return msgList + return chat +} + +func SetUserMaxSeq(userID string, seq int) error { + return redisClient.Set(context.Background(), "REDIS_USER_INCR_SEQ"+userID, seq, 0).Err() +} + +func CreateChat(userChat *db.UserChat) error { + _, err := mongoClient.InsertOne(context.Background(), userChat) + return err } func TestDeleteMongoMsgAndResetRedisSeq(t *testing.T) { - operationID := getCronTaskOperationID() + redisClient = redis.NewClient(&redis.Options{ + Addr: "127.0.0.1:16379", + Password: "openIM123", // no password set + DB: 13, // use default DB + }) + mongoUri := fmt.Sprintf("mongodb://%s:%s@%s/%s?maxPoolSize=%d&authSource=admin", + "root", "openIM123", "127.0.0.1:37017", + "openIM", 100) + client, err := mongo.Connect(context.TODO(), options.Client().ApplyURI(mongoUri)) + mongoClient = client.Database("openIM").Collection("msg") testUID1 := "test_del_id1" //testUID2 := "test_del_id2" //testUID3 := "test_del_id3" //testUID4 := "test_del_id4" //testUID5 := "test_del_id5" //testUID6 := "test_del_id6" - testUserIDList := []string{testUID1} + err = SetUserMaxSeq(testUID1, 600) + userChat := GenUserChat(1, 500, 200, 0, testUID1) + err = CreateChat(userChat) - err := db.DB.SetUserMaxSeq(testUID1, 500) - err = db.DB.BatchInsertChat2DB(testUID1, getMsgListFake(500), testUID1+"-"+operationID, 500) + if err := DeleteMongoMsgAndResetRedisSeq(operationID, testUID1); err != nil { + t.Error("checkMaxSeqWithMongo failed", testUID1) + } + if err := checkMaxSeqWithMongo(operationID, testUID1, constant.WriteDiffusion); err != nil { + t.Error("checkMaxSeqWithMongo failed", testUID1) + } if err != nil { - t.Error(err.Error(), testUID1) - } - //db.DB.SetUserMaxSeq(testUID1, 6000) - //db.DB.BatchInsertChat2DB() - // - //db.DB.SetUserMaxSeq(testUID1, 4999) - //db.DB.BatchInsertChat2DB() - // - //db.DB.SetUserMaxSeq(testUID1, 30000) - //db.DB.BatchInsertChat2DB() - // - //db.DB.SetUserMaxSeq(testUID1, 9999) - //db.DB.BatchInsertChat2DB() - cmd := exec.Command("/bin/bash", "unset $CONFIG_NAME") - _, err = cmd.StdoutPipe() - if err != nil { - return - } - - //执行命令 - if err := cmd.Start(); err != nil { - return - } - for _, userID := range testUserIDList { - operationID = userID + "-" + operationID - if err := DeleteMongoMsgAndResetRedisSeq(operationID, userID); err != nil { - t.Error("checkMaxSeqWithMongo failed", userID) - } - if err := checkMaxSeqWithMongo(operationID, userID, constant.WriteDiffusion); err != nil { - t.Error("checkMaxSeqWithMongo failed", userID) - } - } - - testWorkingGroupIDList := []string{"test_del_id1", "test_del_id2", "test_del_id3", "test_del_id4", "test_del_id5"} - for _, groupID := range testWorkingGroupIDList { - operationID = groupID + "-" + operationID - log.NewDebug(operationID, utils.GetSelfFuncName(), "groupID:", groupID, "userIDList:", testUserIDList) - if err := ResetUserGroupMinSeq(operationID, groupID, testUserIDList); err != nil { - t.Error("checkMaxSeqWithMongo failed", groupID) - } - if err := checkMaxSeqWithMongo(operationID, groupID, constant.ReadDiffusion); err != nil { - t.Error("checkMaxSeqWithMongo failed", groupID) - } + t.Error("err is not nil", testUID1, err.Error()) } + // testWorkingGroupIDList := []string{"test_del_id1", "test_del_id2", "test_del_id3", "test_del_id4", "test_del_id5"} + // for _, groupID := range testWorkingGroupIDList { + // operationID = groupID + "-" + operationID + // log.NewDebug(operationID, utils.GetSelfFuncName(), "groupID:", groupID, "userIDList:", testUserIDList) + // if err := ResetUserGroupMinSeq(operationID, groupID, testUserIDList); err != nil { + // t.Error("checkMaxSeqWithMongo failed", groupID) + // } + // if err := checkMaxSeqWithMongo(operationID, groupID, constant.ReadDiffusion); err != nil { + // t.Error("checkMaxSeqWithMongo failed", groupID) + // } + // } } diff --git a/internal/cron_task/cron_task.go b/internal/cron_task/cron_task.go index 9e4bcbfd4..484def4f5 100644 --- a/internal/cron_task/cron_task.go +++ b/internal/cron_task/cron_task.go @@ -8,8 +8,9 @@ import ( "Open_IM/pkg/common/log" "Open_IM/pkg/utils" "fmt" - "github.com/robfig/cron/v3" "time" + + "github.com/robfig/cron/v3" ) const cronTaskOperationID = "cronTaskOperationID-" @@ -57,6 +58,7 @@ func ClearAll() { } else { log.NewError(operationID, utils.GetSelfFuncName(), err.Error()) } + // working group msg clear workingGroupIDList, err := im_mysql_model.GetGroupIDListByGroupType(constant.WorkingGroup) if err == nil { @@ -77,9 +79,6 @@ func StartClearMsg(operationID string, userIDList []string) { if err := checkMaxSeqWithMongo(operationID, userID, constant.WriteDiffusion); err != nil { log.NewError(operationID, utils.GetSelfFuncName(), userID, err) } - if err := CheckUserMinSeqWithMongo(operationID, userID); err != nil { - log.NewError(operationID, utils.GetSelfFuncName(), userID, err) - } } } @@ -98,10 +97,5 @@ func StartClearWorkingGroupMsg(operationID string, workingGroupIDList []string) if err := checkMaxSeqWithMongo(operationID, groupID, constant.ReadDiffusion); err != nil { log.NewError(operationID, utils.GetSelfFuncName(), groupID, err) } - for _, userID := range userIDList { - if err := CheckGroupUserMinSeq(operationID, groupID, userID); err != nil { - log.NewError(operationID, utils.GetSelfFuncName(), groupID, err) - } - } } } diff --git a/internal/push/getui/push.go b/internal/push/getui/push.go index 0c337dba8..783f62f54 100644 --- a/internal/push/getui/push.go +++ b/internal/push/getui/push.go @@ -264,8 +264,8 @@ func (g *Getui) request(url string, content interface{}, token string, returnStr func (pushReq *PushReq) setPushChannel(title string, body string) { pushReq.PushChannel = &PushChannel{} - autoBadge := "+1" - pushReq.PushChannel.Ios = &Ios{AutoBadge: &autoBadge} + // autoBadge := "+1" + pushReq.PushChannel.Ios = &Ios{} notify := "notify" pushReq.PushChannel.Ios.NotiType = ¬ify pushReq.PushChannel.Ios.Aps.Sound = "default" From e588091bf6d060a934a11f08361165e948460de7 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 27 Dec 2022 11:01:21 +0800 Subject: [PATCH 141/176] mongodb --- pkg/common/db/mongoModel.go | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/pkg/common/db/mongoModel.go b/pkg/common/db/mongoModel.go index 8ae026522..4d7d01f80 100644 --- a/pkg/common/db/mongoModel.go +++ b/pkg/common/db/mongoModel.go @@ -10,13 +10,14 @@ import ( "context" "errors" "fmt" + "math/rand" + "sync" + "github.com/go-redis/redis/v8" "github.com/gogo/protobuf/sortkeys" "go.mongodb.org/mongo-driver/bson/primitive" "go.mongodb.org/mongo-driver/mongo" "go.mongodb.org/mongo-driver/mongo/options" - "math/rand" - "sync" //"github.com/garyburd/redigo/redis" "github.com/golang/protobuf/proto" @@ -206,6 +207,13 @@ func (d *DataBases) ReplaceMsgBySeq(uid string, msg *open_im_sdk.MsgData, operat return nil } +func (d *DataBases) UpdateOneMsgList(msg *UserChat) error { + ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) + c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cChat) + _, err := c.UpdateOne(ctx, bson.M{"uid": msg.UID}, bson.M{"$set": bson.M{"msg": msg.Msg}}) + return err +} + func (d *DataBases) GetMsgBySeqList(uid string, seqList []uint32, operationID string) (seqMsg []*open_im_sdk.MsgData, err error) { log.NewInfo(operationID, utils.GetSelfFuncName(), uid, seqList) var hasSeqList []uint32 From 0e62deed0a0a6fe96e8618f7de4616aaa6371a7e Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 27 Dec 2022 22:27:44 +0800 Subject: [PATCH 142/176] test cron --- internal/cron_task/clear_msg_test.go | 32 ++++++++++++++++------------ internal/cron_task/test/main.go | 6 ------ internal/push/getui/push.go | 4 ++-- 3 files changed, 20 insertions(+), 22 deletions(-) delete mode 100644 internal/cron_task/test/main.go diff --git a/internal/cron_task/clear_msg_test.go b/internal/cron_task/clear_msg_test.go index 88eac2df9..e70436875 100644 --- a/internal/cron_task/clear_msg_test.go +++ b/internal/cron_task/clear_msg_test.go @@ -4,6 +4,7 @@ import ( "Open_IM/pkg/common/constant" "Open_IM/pkg/common/db" server_api_params "Open_IM/pkg/proto/sdk_ws" + "Open_IM/pkg/utils" "context" "fmt" "strconv" @@ -24,7 +25,7 @@ var ( func GenUserChat(startSeq, stopSeq, delSeq, index uint32, userID string) *db.UserChat { chat := &db.UserChat{UID: userID + strconv.Itoa(int(index))} - for i := startSeq; i <= stopSeq; i++ { + for i := startSeq; i < stopSeq; i++ { msg := server_api_params.MsgData{ SendID: "sendID1", RecvID: "recvID1", @@ -44,7 +45,12 @@ func GenUserChat(startSeq, stopSeq, delSeq, index uint32, userID string) *db.Use Status: 1, } bytes, _ := proto.Marshal(&msg) - sendTime := 0 + var sendTime int64 + if i <= delSeq { + sendTime = 10000 + } else { + sendTime = utils.GetCurrentTimestampByMill() + } chat.Msg = append(chat.Msg, db.MsgInfo{SendTime: int64(sendTime), Msg: bytes}) } return chat @@ -54,6 +60,12 @@ func SetUserMaxSeq(userID string, seq int) error { return redisClient.Set(context.Background(), "REDIS_USER_INCR_SEQ"+userID, seq, 0).Err() } +func GetUserMinSeq(userID string) (uint64, error) { + key := "REDIS_USER_MIN_SEQ:" + userID + seq, err := redisClient.Get(context.Background(), key).Result() + return uint64(utils.StringToInt(seq)), err +} + func CreateChat(userChat *db.UserChat) error { _, err := mongoClient.InsertOne(context.Background(), userChat) return err @@ -80,25 +92,17 @@ func TestDeleteMongoMsgAndResetRedisSeq(t *testing.T) { err = SetUserMaxSeq(testUID1, 600) userChat := GenUserChat(1, 500, 200, 0, testUID1) err = CreateChat(userChat) - if err := DeleteMongoMsgAndResetRedisSeq(operationID, testUID1); err != nil { t.Error("checkMaxSeqWithMongo failed", testUID1) } if err := checkMaxSeqWithMongo(operationID, testUID1, constant.WriteDiffusion); err != nil { t.Error("checkMaxSeqWithMongo failed", testUID1) } + minSeq, err := GetUserMinSeq(testUID1) if err != nil { t.Error("err is not nil", testUID1, err.Error()) } - // testWorkingGroupIDList := []string{"test_del_id1", "test_del_id2", "test_del_id3", "test_del_id4", "test_del_id5"} - // for _, groupID := range testWorkingGroupIDList { - // operationID = groupID + "-" + operationID - // log.NewDebug(operationID, utils.GetSelfFuncName(), "groupID:", groupID, "userIDList:", testUserIDList) - // if err := ResetUserGroupMinSeq(operationID, groupID, testUserIDList); err != nil { - // t.Error("checkMaxSeqWithMongo failed", groupID) - // } - // if err := checkMaxSeqWithMongo(operationID, groupID, constant.ReadDiffusion); err != nil { - // t.Error("checkMaxSeqWithMongo failed", groupID) - // } - // } + if minSeq != 201 { + t.Error("is not the same") + } } diff --git a/internal/cron_task/test/main.go b/internal/cron_task/test/main.go deleted file mode 100644 index 5a2b3f44a..000000000 --- a/internal/cron_task/test/main.go +++ /dev/null @@ -1,6 +0,0 @@ -package main - -// -//func main() { -// db.DB.BatchInsertChat() -//} diff --git a/internal/push/getui/push.go b/internal/push/getui/push.go index 783f62f54..0c337dba8 100644 --- a/internal/push/getui/push.go +++ b/internal/push/getui/push.go @@ -264,8 +264,8 @@ func (g *Getui) request(url string, content interface{}, token string, returnStr func (pushReq *PushReq) setPushChannel(title string, body string) { pushReq.PushChannel = &PushChannel{} - // autoBadge := "+1" - pushReq.PushChannel.Ios = &Ios{} + autoBadge := "+1" + pushReq.PushChannel.Ios = &Ios{AutoBadge: &autoBadge} notify := "notify" pushReq.PushChannel.Ios.NotiType = ¬ify pushReq.PushChannel.Ios.Aps.Sound = "default" From 2608ae58df7528d5268f744fd0f58d2eedd780e7 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 28 Dec 2022 10:55:00 +0800 Subject: [PATCH 143/176] test cron --- internal/cron_task/clear_msg_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/cron_task/clear_msg_test.go b/internal/cron_task/clear_msg_test.go index e70436875..60a01d2e2 100644 --- a/internal/cron_task/clear_msg_test.go +++ b/internal/cron_task/clear_msg_test.go @@ -24,8 +24,8 @@ var ( ) func GenUserChat(startSeq, stopSeq, delSeq, index uint32, userID string) *db.UserChat { - chat := &db.UserChat{UID: userID + strconv.Itoa(int(index))} - for i := startSeq; i < stopSeq; i++ { + chat := &db.UserChat{UID: userID + ":" + strconv.Itoa(int(index))} + for i := startSeq; i <= stopSeq; i++ { msg := server_api_params.MsgData{ SendID: "sendID1", RecvID: "recvID1", From 40fc3e6c08f70de451a0304215a68cf1803bf88b Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 28 Dec 2022 10:58:30 +0800 Subject: [PATCH 144/176] test cron --- internal/cron_task/clear_msg_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/cron_task/clear_msg_test.go b/internal/cron_task/clear_msg_test.go index 60a01d2e2..ff9cac5ae 100644 --- a/internal/cron_task/clear_msg_test.go +++ b/internal/cron_task/clear_msg_test.go @@ -76,7 +76,7 @@ func TestDeleteMongoMsgAndResetRedisSeq(t *testing.T) { redisClient = redis.NewClient(&redis.Options{ Addr: "127.0.0.1:16379", Password: "openIM123", // no password set - DB: 13, // use default DB + DB: 0, // use default DB }) mongoUri := fmt.Sprintf("mongodb://%s:%s@%s/%s?maxPoolSize=%d&authSource=admin", "root", "openIM123", "127.0.0.1:37017", From 1706f5df07b30b36952f3ff6b2a850ddcc30718a Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 28 Dec 2022 11:02:14 +0800 Subject: [PATCH 145/176] test cron --- internal/cron_task/clear_msg.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/internal/cron_task/clear_msg.go b/internal/cron_task/clear_msg.go index ae491734a..afed8e585 100644 --- a/internal/cron_task/clear_msg.go +++ b/internal/cron_task/clear_msg.go @@ -117,7 +117,7 @@ func deleteMongoMsg(operationID string, ID string, index int64, delStruct *delMs delStruct.minSeq = lastMsgPb.Seq } else { var hasMarkDelFlag bool - for _, msg := range msgs.Msg { + for index, msg := range msgs.Msg { msgPb := &server_api_params.MsgData{} err = proto.Unmarshal(msg.Msg, msgPb) if err != nil { @@ -135,6 +135,7 @@ func deleteMongoMsg(operationID string, ID string, index int64, delStruct *delMs return 0, err } if hasMarkDelFlag { + log.NewInfo(operationID, ID, "hasMarkDelFlag", "index:", index, "msgPb:", msgPb) if err := db.DB.UpdateOneMsgList(msgs); err != nil { return delStruct.getSetMinSeq(), utils.Wrap(err, "") } From f9fdd540f958f336e799e3f8517a5a5c16f985df Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 28 Dec 2022 11:03:12 +0800 Subject: [PATCH 146/176] test cron --- internal/cron_task/clear_msg_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/cron_task/clear_msg_test.go b/internal/cron_task/clear_msg_test.go index ff9cac5ae..87d735438 100644 --- a/internal/cron_task/clear_msg_test.go +++ b/internal/cron_task/clear_msg_test.go @@ -103,6 +103,6 @@ func TestDeleteMongoMsgAndResetRedisSeq(t *testing.T) { t.Error("err is not nil", testUID1, err.Error()) } if minSeq != 201 { - t.Error("is not the same") + t.Error("is not the same", "minSeq:", minSeq, "targetSeq", 201) } } From a6bd8e5205917d1e1d8b616036f00281f63ca9db Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 28 Dec 2022 11:15:15 +0800 Subject: [PATCH 147/176] test cron --- internal/cron_task/clear_msg.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/cron_task/clear_msg.go b/internal/cron_task/clear_msg.go index afed8e585..27954ce59 100644 --- a/internal/cron_task/clear_msg.go +++ b/internal/cron_task/clear_msg.go @@ -140,7 +140,7 @@ func deleteMongoMsg(operationID string, ID string, index int64, delStruct *delMs return delStruct.getSetMinSeq(), utils.Wrap(err, "") } } - return msgPb.Seq + 1, nil + return msgPb.Seq, nil } } } From ac99da044a2dda3a0e6bbf8877a253cd1d2d2712 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 28 Dec 2022 11:33:49 +0800 Subject: [PATCH 148/176] test cron --- internal/cron_task/clear_msg.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/cron_task/clear_msg.go b/internal/cron_task/clear_msg.go index 27954ce59..f764b792b 100644 --- a/internal/cron_task/clear_msg.go +++ b/internal/cron_task/clear_msg.go @@ -135,7 +135,7 @@ func deleteMongoMsg(operationID string, ID string, index int64, delStruct *delMs return 0, err } if hasMarkDelFlag { - log.NewInfo(operationID, ID, "hasMarkDelFlag", "index:", index, "msgPb:", msgPb) + log.NewInfo(operationID, ID, "hasMarkDelFlag", "index:", index, "msgPb:", msgPb, msgs.UID) if err := db.DB.UpdateOneMsgList(msgs); err != nil { return delStruct.getSetMinSeq(), utils.Wrap(err, "") } From 458f872fe3f8ce6d2b38ee49e5c859101850c1f1 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 28 Dec 2022 11:47:39 +0800 Subject: [PATCH 149/176] test cron --- internal/cron_task/clear_msg.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/cron_task/clear_msg.go b/internal/cron_task/clear_msg.go index f764b792b..c08dbf0e3 100644 --- a/internal/cron_task/clear_msg.go +++ b/internal/cron_task/clear_msg.go @@ -130,6 +130,7 @@ func deleteMongoMsg(operationID string, ID string, index int64, delStruct *delMs msg.Msg = bytes msg.SendTime = 0 hasMarkDelFlag = true + log.NewDebug(operationID, ID, msgPb.Seq) } else { if err := delMongoMsgsPhysical(delStruct.delUidList); err != nil { return 0, err From cff9ee39be6212c7c3e5900492182f1f83d7bbd8 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 28 Dec 2022 12:02:56 +0800 Subject: [PATCH 150/176] test cron --- internal/cron_task/clear_msg.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/internal/cron_task/clear_msg.go b/internal/cron_task/clear_msg.go index c08dbf0e3..06a279de7 100644 --- a/internal/cron_task/clear_msg.go +++ b/internal/cron_task/clear_msg.go @@ -130,13 +130,12 @@ func deleteMongoMsg(operationID string, ID string, index int64, delStruct *delMs msg.Msg = bytes msg.SendTime = 0 hasMarkDelFlag = true - log.NewDebug(operationID, ID, msgPb.Seq) } else { if err := delMongoMsgsPhysical(delStruct.delUidList); err != nil { return 0, err } if hasMarkDelFlag { - log.NewInfo(operationID, ID, "hasMarkDelFlag", "index:", index, "msgPb:", msgPb, msgs.UID) + log.NewInfo(operationID, ID, "hasMarkDelFlag", "index:", index, "msgPb:", msgPb, msgs.UID, msgs.Msg) if err := db.DB.UpdateOneMsgList(msgs); err != nil { return delStruct.getSetMinSeq(), utils.Wrap(err, "") } From 1fdc4d06d1c5bf3ae7f4a6d9022e22892a02d5cb Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 28 Dec 2022 12:10:10 +0800 Subject: [PATCH 151/176] test cron --- internal/cron_task/clear_msg.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/cron_task/clear_msg.go b/internal/cron_task/clear_msg.go index 06a279de7..944183b08 100644 --- a/internal/cron_task/clear_msg.go +++ b/internal/cron_task/clear_msg.go @@ -135,7 +135,7 @@ func deleteMongoMsg(operationID string, ID string, index int64, delStruct *delMs return 0, err } if hasMarkDelFlag { - log.NewInfo(operationID, ID, "hasMarkDelFlag", "index:", index, "msgPb:", msgPb, msgs.UID, msgs.Msg) + log.NewInfo(operationID, ID, "hasMarkDelFlag", "index:", index, "msgPb:", msgPb, msgs.UID, msgs.Msg[0].SendTime) if err := db.DB.UpdateOneMsgList(msgs); err != nil { return delStruct.getSetMinSeq(), utils.Wrap(err, "") } From 71ad683614c33eebce14a526dec5550da51b8435 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 28 Dec 2022 12:42:17 +0800 Subject: [PATCH 152/176] test cron --- internal/cron_task/clear_msg.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/internal/cron_task/clear_msg.go b/internal/cron_task/clear_msg.go index 944183b08..f6ea7cd1f 100644 --- a/internal/cron_task/clear_msg.go +++ b/internal/cron_task/clear_msg.go @@ -124,18 +124,18 @@ func deleteMongoMsg(operationID string, ID string, index int64, delStruct *delMs log.NewError(operationID, utils.GetSelfFuncName(), err.Error(), len(msgs.Msg)-1, msgs.UID) return 0, utils.Wrap(err, "proto.Unmarshal failed") } - if utils.GetCurrentTimestampByMill() > msg.SendTime+(int64(config.Config.Mongo.DBRetainChatRecords)*24*60*60*1000) { + if utils.GetCurrentTimestampByMill() > msg.SendTime+(int64(config.Config.Mongo.DBRetainChatRecords)*24*60*60*1000) && msg.SendTime != 0 { msgPb.Status = constant.MsgDeleted bytes, _ := proto.Marshal(msgPb) - msg.Msg = bytes - msg.SendTime = 0 + msgs.Msg[index].Msg = bytes + msgs.Msg[index].SendTime = 0 hasMarkDelFlag = true } else { if err := delMongoMsgsPhysical(delStruct.delUidList); err != nil { return 0, err } if hasMarkDelFlag { - log.NewInfo(operationID, ID, "hasMarkDelFlag", "index:", index, "msgPb:", msgPb, msgs.UID, msgs.Msg[0].SendTime) + log.NewInfo(operationID, ID, "hasMarkDelFlag", "index:", index, "msgPb:", msgPb, msgs.UID) if err := db.DB.UpdateOneMsgList(msgs); err != nil { return delStruct.getSetMinSeq(), utils.Wrap(err, "") } From 7033b603ca07e493cdf3bb28b2a905bd674703e7 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 28 Dec 2022 13:56:07 +0800 Subject: [PATCH 153/176] test cron --- internal/cron_task/clear_msg.go | 4 +-- internal/cron_task/clear_msg_test.go | 44 +++++++++++++++++++++++++--- 2 files changed, 42 insertions(+), 6 deletions(-) diff --git a/internal/cron_task/clear_msg.go b/internal/cron_task/clear_msg.go index f6ea7cd1f..36239c8fb 100644 --- a/internal/cron_task/clear_msg.go +++ b/internal/cron_task/clear_msg.go @@ -114,7 +114,7 @@ func deleteMongoMsg(operationID string, ID string, index int64, delStruct *delMs log.NewError(operationID, utils.GetSelfFuncName(), err.Error(), len(msgs.Msg)-1, msgs.UID) return 0, utils.Wrap(err, "proto.Unmarshal failed") } - delStruct.minSeq = lastMsgPb.Seq + delStruct.minSeq = lastMsgPb.Seq + 1 } else { var hasMarkDelFlag bool for index, msg := range msgs.Msg { @@ -124,7 +124,7 @@ func deleteMongoMsg(operationID string, ID string, index int64, delStruct *delMs log.NewError(operationID, utils.GetSelfFuncName(), err.Error(), len(msgs.Msg)-1, msgs.UID) return 0, utils.Wrap(err, "proto.Unmarshal failed") } - if utils.GetCurrentTimestampByMill() > msg.SendTime+(int64(config.Config.Mongo.DBRetainChatRecords)*24*60*60*1000) && msg.SendTime != 0 { + if utils.GetCurrentTimestampByMill() > msg.SendTime+(int64(config.Config.Mongo.DBRetainChatRecords)*24*60*60*1000) { msgPb.Status = constant.MsgDeleted bytes, _ := proto.Marshal(msgPb) msgs.Msg[index].Msg = bytes diff --git a/internal/cron_task/clear_msg_test.go b/internal/cron_task/clear_msg_test.go index 87d735438..678bfe1f4 100644 --- a/internal/cron_task/clear_msg_test.go +++ b/internal/cron_task/clear_msg_test.go @@ -84,13 +84,12 @@ func TestDeleteMongoMsgAndResetRedisSeq(t *testing.T) { client, err := mongo.Connect(context.TODO(), options.Client().ApplyURI(mongoUri)) mongoClient = client.Database("openIM").Collection("msg") testUID1 := "test_del_id1" - //testUID2 := "test_del_id2" - //testUID3 := "test_del_id3" + //testUID4 := "test_del_id4" //testUID5 := "test_del_id5" //testUID6 := "test_del_id6" err = SetUserMaxSeq(testUID1, 600) - userChat := GenUserChat(1, 500, 200, 0, testUID1) + userChat := GenUserChat(1, 600, 200, 0, testUID1) err = CreateChat(userChat) if err := DeleteMongoMsgAndResetRedisSeq(operationID, testUID1); err != nil { t.Error("checkMaxSeqWithMongo failed", testUID1) @@ -103,6 +102,43 @@ func TestDeleteMongoMsgAndResetRedisSeq(t *testing.T) { t.Error("err is not nil", testUID1, err.Error()) } if minSeq != 201 { - t.Error("is not the same", "minSeq:", minSeq, "targetSeq", 201) + t.Error("test1 is not the same", "minSeq:", minSeq, "targetSeq", 201) + } + + testUID2 := "test_del_id2" + err = SetUserMaxSeq(testUID2, 7000) + userChat = GenUserChat(1, 4999, 5000, 0, testUID2) + userChat2 := GenUserChat(5000, 7000, 6000, 1, testUID2) + err = CreateChat(userChat) + err = CreateChat(userChat2) + if err := DeleteMongoMsgAndResetRedisSeq(operationID, testUID2); err != nil { + t.Error("checkMaxSeqWithMongo failed", testUID2) + } + if err := checkMaxSeqWithMongo(operationID, testUID2, constant.WriteDiffusion); err != nil { + t.Error("checkMaxSeqWithMongo failed", testUID2) + } + minSeq, err = GetUserMinSeq(testUID2) + if err != nil { + t.Error("err is not nil", testUID2, err.Error()) + } + if minSeq != 6001 { + t.Error("test2 is not the same", "minSeq:", minSeq, "targetSeq", 201) + } + + testUID3 := "test_del_id3" + err = SetUserMaxSeq(testUID3, 4999) + userChat = GenUserChat(1, 4999, 5000, 0, testUID3) + if err := DeleteMongoMsgAndResetRedisSeq(operationID, testUID3); err != nil { + t.Error("checkMaxSeqWithMongo failed", testUID3) + } + if err := checkMaxSeqWithMongo(operationID, testUID3, constant.WriteDiffusion); err != nil { + t.Error("checkMaxSeqWithMongo failed", testUID3) + } + minSeq, err = GetUserMinSeq(testUID3) + if err != nil { + t.Error("err is not nil", testUID3, err.Error()) + } + if minSeq != 5000 { + t.Error("test2 is not the same", "minSeq:", minSeq, "targetSeq", 201) } } From 3d9355848b4f92430cbabb9dbaa3bcb570eb75e8 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 28 Dec 2022 14:13:16 +0800 Subject: [PATCH 154/176] test cron --- internal/cron_task/clear_msg_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/cron_task/clear_msg_test.go b/internal/cron_task/clear_msg_test.go index 678bfe1f4..1c730d322 100644 --- a/internal/cron_task/clear_msg_test.go +++ b/internal/cron_task/clear_msg_test.go @@ -122,7 +122,7 @@ func TestDeleteMongoMsgAndResetRedisSeq(t *testing.T) { t.Error("err is not nil", testUID2, err.Error()) } if minSeq != 6001 { - t.Error("test2 is not the same", "minSeq:", minSeq, "targetSeq", 201) + t.Error("test2 is not the same", "minSeq:", minSeq, "targetSeq", 6001) } testUID3 := "test_del_id3" @@ -139,6 +139,6 @@ func TestDeleteMongoMsgAndResetRedisSeq(t *testing.T) { t.Error("err is not nil", testUID3, err.Error()) } if minSeq != 5000 { - t.Error("test2 is not the same", "minSeq:", minSeq, "targetSeq", 201) + t.Error("test3 is not the same", "minSeq:", minSeq, "targetSeq", 201) } } From 5888dc3b5dd86d3ad112be4f910ac6f70ebf92a0 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 28 Dec 2022 14:20:17 +0800 Subject: [PATCH 155/176] test cron --- internal/cron_task/clear_msg_test.go | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/internal/cron_task/clear_msg_test.go b/internal/cron_task/clear_msg_test.go index 1c730d322..627ba1431 100644 --- a/internal/cron_task/clear_msg_test.go +++ b/internal/cron_task/clear_msg_test.go @@ -128,6 +128,7 @@ func TestDeleteMongoMsgAndResetRedisSeq(t *testing.T) { testUID3 := "test_del_id3" err = SetUserMaxSeq(testUID3, 4999) userChat = GenUserChat(1, 4999, 5000, 0, testUID3) + err = CreateChat(userChat) if err := DeleteMongoMsgAndResetRedisSeq(operationID, testUID3); err != nil { t.Error("checkMaxSeqWithMongo failed", testUID3) } @@ -139,6 +140,28 @@ func TestDeleteMongoMsgAndResetRedisSeq(t *testing.T) { t.Error("err is not nil", testUID3, err.Error()) } if minSeq != 5000 { - t.Error("test3 is not the same", "minSeq:", minSeq, "targetSeq", 201) + t.Error("test3 is not the same", "minSeq:", minSeq, "targetSeq", 5000) + } + + testUID4 := "test_del_id4" + err = SetUserMaxSeq(testUID4, 12000) + userChat = GenUserChat(1, 4999, 5000, 0, testUID4) + userChat2 = GenUserChat(5000, 9999, 10000, 1, testUID4) + userChat3 := GenUserChat(10000, 12000, 11000, 2, testUID4) + err = CreateChat(userChat) + err = CreateChat(userChat2) + err = CreateChat(userChat3) + if err := DeleteMongoMsgAndResetRedisSeq(operationID, testUID4); err != nil { + t.Error("checkMaxSeqWithMongo failed", testUID4) + } + if err := checkMaxSeqWithMongo(operationID, testUID4, constant.WriteDiffusion); err != nil { + t.Error("checkMaxSeqWithMongo failed", testUID4) + } + minSeq, err = GetUserMinSeq(testUID4) + if err != nil { + t.Error("err is not nil", testUID4, err.Error()) + } + if minSeq != 11001 { + t.Error("test3 is not the same", "minSeq:", minSeq, "targetSeq", 11001) } } From 7bf7686314eacdcaab7ae3a95f039fec212554de Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 28 Dec 2022 14:54:22 +0800 Subject: [PATCH 156/176] test cron --- internal/cron_task/clear_msg.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/cron_task/clear_msg.go b/internal/cron_task/clear_msg.go index 36239c8fb..a2240396c 100644 --- a/internal/cron_task/clear_msg.go +++ b/internal/cron_task/clear_msg.go @@ -115,6 +115,7 @@ func deleteMongoMsg(operationID string, ID string, index int64, delStruct *delMs return 0, utils.Wrap(err, "proto.Unmarshal failed") } delStruct.minSeq = lastMsgPb.Seq + 1 + log.NewDebug(operationID, utils.GetSelfFuncName(), msgs.UID, "add to delUidList", "minSeq", lastMsgPb.Seq+1) } else { var hasMarkDelFlag bool for index, msg := range msgs.Msg { From 45293152bb8503cbece188c4374d9ab0b8ec6a24 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 28 Dec 2022 15:20:04 +0800 Subject: [PATCH 157/176] test cron --- internal/cron_task/clear_msg.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/cron_task/clear_msg.go b/internal/cron_task/clear_msg.go index a2240396c..60812b074 100644 --- a/internal/cron_task/clear_msg.go +++ b/internal/cron_task/clear_msg.go @@ -106,7 +106,7 @@ func deleteMongoMsg(operationID string, ID string, index int64, delStruct *delMs if len(msgs.Msg) > db.GetSingleGocMsgNum() { log.NewWarn(operationID, utils.GetSelfFuncName(), "msgs too large", len(msgs.Msg), msgs.UID) } - if msgs.Msg[len(msgs.Msg)-1].SendTime+(int64(config.Config.Mongo.DBRetainChatRecords)*24*60*60*1000) > utils.GetCurrentTimestampByMill() && msgListIsFull(msgs) { + if msgs.Msg[len(msgs.Msg)-1].SendTime+(int64(config.Config.Mongo.DBRetainChatRecords)*24*60*60*1000) < utils.GetCurrentTimestampByMill() && msgListIsFull(msgs) { delStruct.delUidList = append(delStruct.delUidList, msgs.UID) lastMsgPb := &server_api_params.MsgData{} err = proto.Unmarshal(msgs.Msg[len(msgs.Msg)-1].Msg, lastMsgPb) From cdd86349d073a54e9d15e69f1046496c7cb662aa Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 28 Dec 2022 15:27:04 +0800 Subject: [PATCH 158/176] test cron --- internal/cron_task/clear_msg.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/cron_task/clear_msg.go b/internal/cron_task/clear_msg.go index 60812b074..5ae3b16c6 100644 --- a/internal/cron_task/clear_msg.go +++ b/internal/cron_task/clear_msg.go @@ -100,7 +100,7 @@ func deleteMongoMsg(operationID string, ID string, index int64, delStruct *delMs if err != nil { return 0, err } - return delStruct.getSetMinSeq() + 1, nil + return delStruct.getSetMinSeq(), nil } log.NewDebug(operationID, "ID:", ID, "index:", index, "uid:", msgs.UID, "len:", len(msgs.Msg)) if len(msgs.Msg) > db.GetSingleGocMsgNum() { From 01b2de80ae732c898dbcf61227858526d283bd92 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 28 Dec 2022 15:33:53 +0800 Subject: [PATCH 159/176] test cron --- internal/cron_task/clear_msg_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/cron_task/clear_msg_test.go b/internal/cron_task/clear_msg_test.go index 627ba1431..ec63e1abe 100644 --- a/internal/cron_task/clear_msg_test.go +++ b/internal/cron_task/clear_msg_test.go @@ -162,6 +162,6 @@ func TestDeleteMongoMsgAndResetRedisSeq(t *testing.T) { t.Error("err is not nil", testUID4, err.Error()) } if minSeq != 11001 { - t.Error("test3 is not the same", "minSeq:", minSeq, "targetSeq", 11001) + t.Error("test3 is not the same", "minSeq:", minSeq, "targetSeq", 11002) } } From e420871e1f3828ddb0ebdcd1484e5079cbef05c7 Mon Sep 17 00:00:00 2001 From: withchao <993506633@qq.com> Date: Wed, 28 Dec 2022 15:38:27 +0800 Subject: [PATCH 160/176] agree user join group --- internal/rpc/group/group.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index 4d68582e5..8ac6960e2 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -862,6 +862,10 @@ func (s *groupServer) GroupApplicationResponse(_ context.Context, req *pbGroup.G log.NewError(req.OperationID, "GroupApplicationResponse failed ", err.Error(), req.FromUserID) return &pbGroup.GroupApplicationResponseResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil } + if imdb.IsExistGroupMember(req.GroupID, req.FromUserID) { + log.NewInfo(req.OperationID, "GroupApplicationResponse user in group", req.GroupID, req.FromUserID) + return &pbGroup.GroupApplicationResponseResp{CommonResp: &pbGroup.CommonResp{}}, nil + } member := db.GroupMember{} member.GroupID = req.GroupID member.UserID = req.FromUserID From 71a2090363508b344a1daf4ec6223d40e82be4cb Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 28 Dec 2022 15:41:04 +0800 Subject: [PATCH 161/176] test cron --- internal/cron_task/clear_msg_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/cron_task/clear_msg_test.go b/internal/cron_task/clear_msg_test.go index ec63e1abe..a68ac7125 100644 --- a/internal/cron_task/clear_msg_test.go +++ b/internal/cron_task/clear_msg_test.go @@ -161,7 +161,7 @@ func TestDeleteMongoMsgAndResetRedisSeq(t *testing.T) { if err != nil { t.Error("err is not nil", testUID4, err.Error()) } - if minSeq != 11001 { + if minSeq != 11002 { t.Error("test3 is not the same", "minSeq:", minSeq, "targetSeq", 11002) } } From 0a5783092510cff952ce13babfc6a7a1e4924ef2 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 28 Dec 2022 15:42:52 +0800 Subject: [PATCH 162/176] test cron --- internal/cron_task/clear_msg_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/cron_task/clear_msg_test.go b/internal/cron_task/clear_msg_test.go index a68ac7125..627ba1431 100644 --- a/internal/cron_task/clear_msg_test.go +++ b/internal/cron_task/clear_msg_test.go @@ -161,7 +161,7 @@ func TestDeleteMongoMsgAndResetRedisSeq(t *testing.T) { if err != nil { t.Error("err is not nil", testUID4, err.Error()) } - if minSeq != 11002 { - t.Error("test3 is not the same", "minSeq:", minSeq, "targetSeq", 11002) + if minSeq != 11001 { + t.Error("test3 is not the same", "minSeq:", minSeq, "targetSeq", 11001) } } From 4618bf990dbe3a84ee0e9d78628471289ce58a9c Mon Sep 17 00:00:00 2001 From: withchao <993506633@qq.com> Date: Wed, 28 Dec 2022 16:17:54 +0800 Subject: [PATCH 163/176] invite user to group --- internal/rpc/group/group.go | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index 8ac6960e2..9f0d8716b 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -365,6 +365,14 @@ func (s *groupServer) InviteUserToGroup(ctx context.Context, req *pbGroup.Invite var resp pbGroup.InviteUserToGroupResp joinReq := pbGroup.JoinGroupReq{} for _, v := range req.InvitedUserIDList { + if imdb.IsExistGroupMember(req.GroupID, v) { + log.NewError(req.OperationID, "IsExistGroupMember ", req.GroupID, v) + var resultNode pbGroup.Id2Result + resultNode.Result = -1 + resultNode.UserID = v + resp.Id2ResultList = append(resp.Id2ResultList, &resultNode) + continue + } var groupRequest db.GroupRequest groupRequest.UserID = v groupRequest.GroupID = req.GroupID @@ -452,8 +460,19 @@ func (s *groupServer) InviteUserToGroup(ctx context.Context, req *pbGroup.Invite resp.Id2ResultList = append(resp.Id2ResultList, &resultNode) } } else { - okUserIDList = req.InvitedUserIDList - if err := db.DB.AddUserToSuperGroup(req.GroupID, req.InvitedUserIDList); err != nil { + for _, v := range req.InvitedUserIDList { + if imdb.IsExistGroupMember(req.GroupID, v) { + log.NewError(req.OperationID, "IsExistGroupMember ", req.GroupID, v) + var resultNode pbGroup.Id2Result + resultNode.Result = -1 + resp.Id2ResultList = append(resp.Id2ResultList, &resultNode) + continue + } else { + okUserIDList = append(okUserIDList, v) + } + } + //okUserIDList = req.InvitedUserIDList + if err := db.DB.AddUserToSuperGroup(req.GroupID, okUserIDList); err != nil { log.NewError(req.OperationID, "AddUserToSuperGroup failed ", req.GroupID, err) return &pbGroup.InviteUserToGroupResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: err.Error()}, nil } From 235be5da0cf900532011e06e46491fb0ed740878 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 28 Dec 2022 17:26:53 +0800 Subject: [PATCH 164/176] cron --- script/check_all.sh | 20 ++++++++++---------- script/start_all.sh | 2 +- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/script/check_all.sh b/script/check_all.sh index 76535c79f..af3d44ceb 100644 --- a/script/check_all.sh +++ b/script/check_all.sh @@ -54,13 +54,13 @@ else fi -#check=$(ps aux | grep -w ./${cron_task_name} | grep -v grep | wc -l) -#if [ $check -ge 1 ]; then -# echo -e ${GREEN_PREFIX}"none port has been listening,belongs service is openImCronTask"${COLOR_SUFFIX} -#else -# echo -e ${RED_PREFIX}"cron_task_name service does not start normally"${COLOR_SUFFIX} -# echo -e ${RED_PREFIX}"please check ../logs/openIM.log "${COLOR_SUFFIX} -# exit -1 -#fi -# -#echo -e ${YELLOW_PREFIX}"all services launch success"${COLOR_SUFFIX} +check=$(ps aux | grep -w ./${cron_task_name} | grep -v grep | wc -l) +if [ $check -ge 1 ]; then + echo -e ${GREEN_PREFIX}"none port has been listening,belongs service is openImCronTask"${COLOR_SUFFIX} +else + echo -e ${RED_PREFIX}"cron_task_name service does not start normally"${COLOR_SUFFIX} + echo -e ${RED_PREFIX}"please check ../logs/openIM.log "${COLOR_SUFFIX} + exit -1 +fi + +echo -e ${YELLOW_PREFIX}"all services launch success"${COLOR_SUFFIX} diff --git a/script/start_all.sh b/script/start_all.sh index 223187973..4a5f7d65e 100644 --- a/script/start_all.sh +++ b/script/start_all.sh @@ -10,7 +10,7 @@ need_to_start_server_shell=( sdk_svr_start.sh msg_gateway_start.sh demo_svr_start.sh -# start_cron.sh + start_cron.sh ) time=`date +"%Y-%m-%d %H:%M:%S"` echo "==========================================================">>../logs/openIM.log 2>&1 & From ee9c3cbde3807e678fe11eb7ee3f56410ff0a839 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 28 Dec 2022 17:49:41 +0800 Subject: [PATCH 165/176] cron --- internal/cron_task/clear_msg_test.go | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/internal/cron_task/clear_msg_test.go b/internal/cron_task/clear_msg_test.go index 627ba1431..539547f41 100644 --- a/internal/cron_task/clear_msg_test.go +++ b/internal/cron_task/clear_msg_test.go @@ -164,4 +164,24 @@ func TestDeleteMongoMsgAndResetRedisSeq(t *testing.T) { if minSeq != 11001 { t.Error("test3 is not the same", "minSeq:", minSeq, "targetSeq", 11001) } + + testUID5 := "test_del_id5" + err = SetUserMaxSeq(testUID4, 9999) + userChat = GenUserChat(1, 4999, 5000, 0, testUID5) + userChat2 = GenUserChat(5000, 9999, 10000, 1, testUID5) + err = CreateChat(userChat) + err = CreateChat(userChat2) + if err := DeleteMongoMsgAndResetRedisSeq(operationID, testUID5); err != nil { + t.Error("checkMaxSeqWithMongo failed", testUID4) + } + if err := checkMaxSeqWithMongo(operationID, testUID5, constant.WriteDiffusion); err != nil { + t.Error("checkMaxSeqWithMongo failed", testUID5) + } + minSeq, err = GetUserMinSeq(testUID5) + if err != nil { + t.Error("err is not nil", testUID5, err.Error()) + } + if minSeq != 10000 { + t.Error("test3 is not the same", "minSeq:", minSeq, "targetSeq", 10000) + } } From 1e2a60c802347ef228bfb8eaba25db659a949568 Mon Sep 17 00:00:00 2001 From: withchao <993506633@qq.com> Date: Wed, 28 Dec 2022 17:56:13 +0800 Subject: [PATCH 166/176] join group --- internal/rpc/group/group.go | 5 ++++- .../db/mysql_model/im_mysql_model/group_request_model.go | 6 ++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index 9f0d8716b..bc623c0d8 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -1000,12 +1000,15 @@ func (s *groupServer) GroupApplicationResponse(_ context.Context, req *pbGroup.G func (s *groupServer) JoinGroup(ctx context.Context, req *pbGroup.JoinGroupReq) (*pbGroup.JoinGroupResp, error) { log.NewInfo(req.OperationID, "JoinGroup args ", req.String()) + if imdb.IsExistGroupMember(req.GroupID, req.OpUserID) { + log.NewInfo(req.OperationID, "IsExistGroupMember", req.GroupID, req.OpUserID) + return &pbGroup.JoinGroupResp{CommonResp: &pbGroup.CommonResp{}}, nil + } _, err := imdb.GetUserByUserID(req.OpUserID) if err != nil { log.NewError(req.OperationID, "GetUserByUserID failed ", err.Error(), req.OpUserID) return &pbGroup.JoinGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil } - groupInfo, err := rocksCache.GetGroupInfoFromCache(req.GroupID) if err != nil { log.NewError(req.OperationID, "GetGroupInfoByGroupID failed ", req.GroupID, err) diff --git a/pkg/common/db/mysql_model/im_mysql_model/group_request_model.go b/pkg/common/db/mysql_model/im_mysql_model/group_request_model.go index a9dd6d98e..f6f5b2637 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/group_request_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/group_request_model.go @@ -27,7 +27,9 @@ func UpdateGroupRequest(groupRequest db.GroupRequest) error { } func InsertIntoGroupRequest(toInsertInfo db.GroupRequest) error { - DelGroupRequestByGroupIDAndUserID(toInsertInfo.GroupID, toInsertInfo.UserID) + if err := DelGroupRequestByGroupIDAndUserID(toInsertInfo.GroupID, toInsertInfo.UserID); err != nil { + return err + } if toInsertInfo.HandledTime.Unix() < 0 { toInsertInfo.HandledTime = utils.UnixSecondToTime(0) } @@ -70,7 +72,7 @@ func GetGroupRequestByGroupID(groupID string) ([]db.GroupRequest, error) { return groupRequestList, nil } -//received +// received func GetGroupApplicationList(userID string) ([]db.GroupRequest, error) { var groupRequestList []db.GroupRequest memberList, err := GetGroupMemberListByUserID(userID) From d1f3266383ae261ef9f929863539d7999ce8ddab Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 28 Dec 2022 18:00:09 +0800 Subject: [PATCH 167/176] cron --- internal/cron_task/clear_msg_test.go | 53 ++++++++++++++++++++++++---- 1 file changed, 46 insertions(+), 7 deletions(-) diff --git a/internal/cron_task/clear_msg_test.go b/internal/cron_task/clear_msg_test.go index 539547f41..465216ce9 100644 --- a/internal/cron_task/clear_msg_test.go +++ b/internal/cron_task/clear_msg_test.go @@ -13,6 +13,7 @@ import ( "github.com/golang/protobuf/proto" "go.mongodb.org/mongo-driver/mongo" "go.mongodb.org/mongo-driver/mongo/options" + "gopkg.in/mgo.v2/bson" "testing" "time" @@ -71,6 +72,11 @@ func CreateChat(userChat *db.UserChat) error { return err } +func DelChat(uid string, index int) error { + _, err := mongoClient.DeleteOne(context.Background(), bson.M{"uid": uid + ":" + strconv.Itoa(index)}) + return err +} + func TestDeleteMongoMsgAndResetRedisSeq(t *testing.T) { operationID := getCronTaskOperationID() redisClient = redis.NewClient(&redis.Options{ @@ -84,10 +90,7 @@ func TestDeleteMongoMsgAndResetRedisSeq(t *testing.T) { client, err := mongo.Connect(context.TODO(), options.Client().ApplyURI(mongoUri)) mongoClient = client.Database("openIM").Collection("msg") testUID1 := "test_del_id1" - - //testUID4 := "test_del_id4" - //testUID5 := "test_del_id5" - //testUID6 := "test_del_id6" + err = DelChat(testUID1, 0) err = SetUserMaxSeq(testUID1, 600) userChat := GenUserChat(1, 600, 200, 0, testUID1) err = CreateChat(userChat) @@ -106,11 +109,14 @@ func TestDeleteMongoMsgAndResetRedisSeq(t *testing.T) { } testUID2 := "test_del_id2" + err = DelChat(testUID2, 0) + err = DelChat(testUID2, 1) err = SetUserMaxSeq(testUID2, 7000) userChat = GenUserChat(1, 4999, 5000, 0, testUID2) userChat2 := GenUserChat(5000, 7000, 6000, 1, testUID2) err = CreateChat(userChat) err = CreateChat(userChat2) + if err := DeleteMongoMsgAndResetRedisSeq(operationID, testUID2); err != nil { t.Error("checkMaxSeqWithMongo failed", testUID2) } @@ -126,6 +132,7 @@ func TestDeleteMongoMsgAndResetRedisSeq(t *testing.T) { } testUID3 := "test_del_id3" + err = DelChat(testUID3, 0) err = SetUserMaxSeq(testUID3, 4999) userChat = GenUserChat(1, 4999, 5000, 0, testUID3) err = CreateChat(userChat) @@ -144,6 +151,9 @@ func TestDeleteMongoMsgAndResetRedisSeq(t *testing.T) { } testUID4 := "test_del_id4" + err = DelChat(testUID4, 0) + err = DelChat(testUID4, 1) + err = DelChat(testUID4, 2) err = SetUserMaxSeq(testUID4, 12000) userChat = GenUserChat(1, 4999, 5000, 0, testUID4) userChat2 = GenUserChat(5000, 9999, 10000, 1, testUID4) @@ -162,11 +172,13 @@ func TestDeleteMongoMsgAndResetRedisSeq(t *testing.T) { t.Error("err is not nil", testUID4, err.Error()) } if minSeq != 11001 { - t.Error("test3 is not the same", "minSeq:", minSeq, "targetSeq", 11001) + t.Error("test4 is not the same", "minSeq:", minSeq, "targetSeq", 11001) } testUID5 := "test_del_id5" - err = SetUserMaxSeq(testUID4, 9999) + err = DelChat(testUID5, 0) + err = DelChat(testUID5, 1) + err = SetUserMaxSeq(testUID5, 9999) userChat = GenUserChat(1, 4999, 5000, 0, testUID5) userChat2 = GenUserChat(5000, 9999, 10000, 1, testUID5) err = CreateChat(userChat) @@ -182,6 +194,33 @@ func TestDeleteMongoMsgAndResetRedisSeq(t *testing.T) { t.Error("err is not nil", testUID5, err.Error()) } if minSeq != 10000 { - t.Error("test3 is not the same", "minSeq:", minSeq, "targetSeq", 10000) + t.Error("test5 is not the same", "minSeq:", minSeq, "targetSeq", 10000) + } + + testUID6 := "test_del_id6" + err = DelChat(testUID5, 0) + err = DelChat(testUID5, 1) + err = DelChat(testUID5, 2) + err = DelChat(testUID5, 3) + userChat = GenUserChat(1, 4999, 5000, 0, testUID6) + userChat2 = GenUserChat(5000, 9999, 10000, 1, testUID6) + userChat3 = GenUserChat(10000, 14999, 13000, 2, testUID6) + userChat4 := GenUserChat(15000, 19999, 0, 3, testUID6) + err = CreateChat(userChat) + err = CreateChat(userChat2) + err = CreateChat(userChat3) + err = CreateChat(userChat4) + if err := DeleteMongoMsgAndResetRedisSeq(operationID, testUID6); err != nil { + t.Error("checkMaxSeqWithMongo failed", testUID6) + } + if err := checkMaxSeqWithMongo(operationID, testUID6, constant.WriteDiffusion); err != nil { + t.Error("checkMaxSeqWithMongo failed", testUID6) + } + minSeq, err = GetUserMinSeq(testUID6) + if err != nil { + t.Error("err is not nil", testUID6, err.Error()) + } + if minSeq != 13001 { + t.Error("test3 is not the same", "minSeq:", minSeq, "targetSeq", 13001) } } From 9dac12cf2bcdf8d35e32853d69e2ff0dfb6799ef Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 28 Dec 2022 18:56:49 +0800 Subject: [PATCH 168/176] cron --- config/config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/config.yaml b/config/config.yaml index 61aadf2b3..7980eaa6f 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -36,7 +36,7 @@ mongo: dbPassword: #mongo密码,建议先不设置 dbMaxPoolSize: 100 dbRetainChatRecords: 3650 #mongo保存离线消息时间(天),根据需求修改 - chatRecordsClearTime: "* * * * *" # 每天凌晨3点清除消息,该配置和linux定时任务一样, 清理操作建议设置在用户活跃少的时候 # 0 3 * * * + chatRecordsClearTime: "0 3 * * *" # 每天凌晨3点清除消息,该配置和linux定时任务一样, 清理操作建议设置在用户活跃少的时候 # 0 3 * * * redis: dbAddress: [ 127.0.0.1:16379 ] #redis地址 单机时,填写一个地址即可,使用redis集群时候,填写集群中多个节点地址(主从地址都可以填写,增加容灾能力),默认即可 From 2aa49f080e61e48e1c398bf455fe6f367dec1b14 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 28 Dec 2022 19:19:26 +0800 Subject: [PATCH 169/176] cron --- internal/cron_task/clear_msg.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/internal/cron_task/clear_msg.go b/internal/cron_task/clear_msg.go index 5ae3b16c6..08ef74cef 100644 --- a/internal/cron_task/clear_msg.go +++ b/internal/cron_task/clear_msg.go @@ -119,6 +119,9 @@ func deleteMongoMsg(operationID string, ID string, index int64, delStruct *delMs } else { var hasMarkDelFlag bool for index, msg := range msgs.Msg { + if msg.SendTime == 0 { + continue + } msgPb := &server_api_params.MsgData{} err = proto.Unmarshal(msg.Msg, msgPb) if err != nil { From 972dd5f5312b5136bf6f653e0947a98690cb556b Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Thu, 29 Dec 2022 11:00:41 +0800 Subject: [PATCH 170/176] fix bug --- internal/push/logic/push_to_client.go | 6 ++++++ internal/rpc/msg/send_msg.go | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/internal/push/logic/push_to_client.go b/internal/push/logic/push_to_client.go index 9b3475248..7872a2d4d 100644 --- a/internal/push/logic/push_to_client.go +++ b/internal/push/logic/push_to_client.go @@ -79,6 +79,9 @@ func MsgToUser(pushMsg *pbPush.PushMsgReq) { return } } + if pushMsg.MsgData.ContentType > constant.NotificationBegin && pushMsg.MsgData.ContentType < constant.NotificationEnd && pushMsg.MsgData.ContentType != constant.SignalingNotification { + return + } if pushMsg.MsgData.ContentType == constant.SignalingNotification { isSend, err := db.DB.HandleSignalInfo(pushMsg.OperationID, pushMsg.MsgData, pushMsg.PushToUserID) if err != nil { @@ -198,6 +201,9 @@ func MsgToSuperGroupUser(pushMsg *pbPush.PushMsgReq) { log.Debug(pushMsg.OperationID, "push_result", wsResult, "sendData", pushMsg.MsgData) successCount++ if isOfflinePush { + if pushMsg.MsgData.ContentType > constant.NotificationBegin && pushMsg.MsgData.ContentType < constant.NotificationEnd && pushMsg.MsgData.ContentType != constant.SignalingNotification { + return + } var onlineSuccessUserIDList []string onlineSuccessUserIDList = append(onlineSuccessUserIDList, pushMsg.MsgData.SendID) for _, v := range wsResult { diff --git a/internal/rpc/msg/send_msg.go b/internal/rpc/msg/send_msg.go index b3a3cb745..39380b003 100644 --- a/internal/rpc/msg/send_msg.go +++ b/internal/rpc/msg/send_msg.go @@ -25,6 +25,7 @@ import ( "time" promePkg "Open_IM/pkg/common/prometheus" + go_redis "github.com/go-redis/redis/v8" "github.com/golang/protobuf/proto" ) @@ -125,7 +126,7 @@ func (rpc *rpcChat) messageVerification(data *pbChat.SendMsgReq) (bool, int32, s if utils.IsContain(data.MsgData.SendID, config.Config.Manager.AppManagerUid) { return true, 0, "", nil } - if data.MsgData.ContentType <= constant.NotificationEnd && data.MsgData.ContentType >= constant.NotificationBegin { + if data.MsgData.ContentType <= constant.NotificationEnd && data.MsgData.ContentType >= constant.NotificationBegin && data.MsgData.ContentType != constant.SignalingNotification { return true, 0, "", nil } log.NewDebug(data.OperationID, *config.Config.MessageVerify.FriendVerify) From 78d7588af7ea8262e785c6d91456253636dc4e83 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Thu, 29 Dec 2022 19:10:43 +0800 Subject: [PATCH 171/176] kfk log --- pkg/common/kafka/consumer_group.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkg/common/kafka/consumer_group.go b/pkg/common/kafka/consumer_group.go index 97a0f5d6e..57017136c 100644 --- a/pkg/common/kafka/consumer_group.go +++ b/pkg/common/kafka/consumer_group.go @@ -8,6 +8,8 @@ package kafka import ( "context" + "fmt" + "github.com/Shopify/sarama" ) @@ -31,6 +33,7 @@ func NewMConsumerGroup(consumerConfig *MConsumerGroupConfig, topics, addrs []str //fmt.Println("init address is ", addrs, "topics is ", topics) consumerGroup, err := sarama.NewConsumerGroup(addrs, groupID, config) if err != nil { + fmt.Println("args:", addrs, groupID, config) panic(err.Error()) } return &MConsumerGroup{ From 955bfe3f40a91adfb19e0e50dc01c87dcab234a0 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Fri, 30 Dec 2022 11:44:17 +0800 Subject: [PATCH 172/176] callback update --- internal/rpc/msg/extend_msg.go | 11 + internal/rpc/msg/extend_msg_callback.go | 19 ++ pkg/base_info/msg.go | 1 + pkg/call_back_struct/message.go | 12 + pkg/common/constant/constant.go | 31 +-- pkg/proto/msg/msg.pb.go | 299 ++++++++++++------------ pkg/proto/msg/msg.proto | 3 +- 7 files changed, 215 insertions(+), 161 deletions(-) diff --git a/internal/rpc/msg/extend_msg.go b/internal/rpc/msg/extend_msg.go index a7ba9ddd1..2dd2d7999 100644 --- a/internal/rpc/msg/extend_msg.go +++ b/internal/rpc/msg/extend_msg.go @@ -218,6 +218,17 @@ func setDeleteKeyResultInfo(r *msg.DeleteMessageListReactionExtensionsResp, errC func (rpc *rpcChat) GetMessageListReactionExtensions(ctx context.Context, req *msg.GetMessageListReactionExtensionsReq) (resp *msg.GetMessageListReactionExtensionsResp, err error) { log.Debug(req.OperationID, utils.GetSelfFuncName(), "rpc args is:", req.String()) var rResp msg.GetMessageListReactionExtensionsResp + if req.IsExternalExtensions { + callbackResp := callbackGetMessageListReactionExtensions(req) + if callbackResp.ActionCode != constant.ActionAllow || callbackResp.ErrCode != 0 { + rResp.ErrCode = int32(callbackResp.ErrCode) + rResp.ErrMsg = callbackResp.ErrMsg + return &rResp, nil + } else { + rResp.SingleMessageResult = callbackResp.SingleMessageResult + return &rResp, nil + } + } for _, messageValue := range req.MessageReactionKeyList { var oneMessage msg.SingleMessageExtensionResult oneMessage.ClientMsgID = messageValue.ClientMsgID diff --git a/internal/rpc/msg/extend_msg_callback.go b/internal/rpc/msg/extend_msg_callback.go index 65ae8d7b3..eb2595456 100644 --- a/internal/rpc/msg/extend_msg_callback.go +++ b/internal/rpc/msg/extend_msg_callback.go @@ -58,3 +58,22 @@ func callbackDeleteMessageReactionExtensions(setReq *msg.DeleteMessageListReacti } return resp } +func callbackGetMessageListReactionExtensions(setReq *msg.GetMessageListReactionExtensionsReq) *cbApi.CallbackGetMessageListReactionExtResp { + callbackResp := cbApi.CommonCallbackResp{OperationID: setReq.OperationID} + log.NewDebug(setReq.OperationID, utils.GetSelfFuncName(), setReq.String()) + req := cbApi.CallbackGetMessageListReactionExtReq{ + OperationID: setReq.OperationID, + CallbackCommand: constant.CallbackGetMessageListReactionExtensionsCommand, + SourceID: setReq.SourceID, + OpUserID: setReq.OpUserID, + SessionType: setReq.SessionType, + MessageKeyList: setReq.MessageReactionKeyList, + } + resp := &cbApi.CallbackGetMessageListReactionExtResp{CommonCallbackResp: &callbackResp} + defer log.NewDebug(setReq.OperationID, utils.GetSelfFuncName(), req, *resp) + if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackGetMessageListReactionExtensionsCommand, req, resp, config.Config.Callback.CallbackAfterSendGroupMsg.CallbackTimeOut); err != nil { + callbackResp.ErrCode = http2.StatusInternalServerError + callbackResp.ErrMsg = err.Error() + } + return resp +} diff --git a/pkg/base_info/msg.go b/pkg/base_info/msg.go index 5a7c7f538..56a539b52 100644 --- a/pkg/base_info/msg.go +++ b/pkg/base_info/msg.go @@ -79,6 +79,7 @@ type OperateMessageListReactionExtensionsReq struct { OperationID string `json:"operationID" binding:"required"` SourceID string `json:"sourceID" binding:"required"` SessionType string `json:"sessionType" binding:"required"` + IsExternalExtensions bool `json:"isExternalExtensions"` MessageReactionKeyList []*msg.GetMessageListReactionExtensionsReq_MessageReactionKey `json:"messageReactionKeyList" binding:"required"` } diff --git a/pkg/call_back_struct/message.go b/pkg/call_back_struct/message.go index 00e142878..9e1d689da 100644 --- a/pkg/call_back_struct/message.go +++ b/pkg/call_back_struct/message.go @@ -99,3 +99,15 @@ type CallbackDeleteMessageReactionExtResp struct { ResultReactionExtensionList []*msg.KeyValueResp `json:"resultReactionExtensionList"` MsgFirstModifyTime int64 `json:"msgFirstModifyTime"` } +type CallbackGetMessageListReactionExtReq struct { + OperationID string `json:"operationID"` + CallbackCommand string `json:"callbackCommand"` + SourceID string `json:"sourceID"` + OpUserID string `json:"opUserID"` + SessionType int32 `json:"sessionType"` + MessageKeyList []*msg.GetMessageListReactionExtensionsReq_MessageReactionKey `json:"messageKeyList"` +} +type CallbackGetMessageListReactionExtResp struct { + *CommonCallbackResp + SingleMessageResult []*msg.SingleMessageExtensionResult `json:"singleMessageResult"` +} diff --git a/pkg/common/constant/constant.go b/pkg/common/constant/constant.go index 12541e639..87d796ab0 100644 --- a/pkg/common/constant/constant.go +++ b/pkg/common/constant/constant.go @@ -205,23 +205,24 @@ const ( VerificationCodeForResetSuffix = "_forReset" //callbackCommand - CallbackBeforeSendSingleMsgCommand = "callbackBeforeSendSingleMsgCommand" - CallbackAfterSendSingleMsgCommand = "callbackAfterSendSingleMsgCommand" - CallbackBeforeSendGroupMsgCommand = "callbackBeforeSendGroupMsgCommand" - CallbackAfterSendGroupMsgCommand = "callbackAfterSendGroupMsgCommand" - CallbackMsgModifyCommand = "callbackMsgModifyCommand" - CallbackUserOnlineCommand = "callbackUserOnlineCommand" - CallbackUserOfflineCommand = "callbackUserOfflineCommand" - CallbackUserKickOffCommand = "callbackUserKickOffCommand" - CallbackOfflinePushCommand = "callbackOfflinePushCommand" - CallbackOnlinePushCommand = "callbackOnlinePushCommand" - CallbackSuperGroupOnlinePushCommand = "callbackSuperGroupOnlinePushCommand" - CallbackBeforeAddFriendCommand = "callbackBeforeAddFriendCommand" - CallbackBeforeCreateGroupCommand = "callbackBeforeCreateGroupCommand" - CallbackBeforeMemberJoinGroupCommand = "callbackBeforeMemberJoinGroupCommand" - CallbackBeforeSetGroupMemberInfoCommand = "CallbackBeforeSetGroupMemberInfoCommand" + CallbackBeforeSendSingleMsgCommand = "callbackBeforeSendSingleMsgCommand" + CallbackAfterSendSingleMsgCommand = "callbackAfterSendSingleMsgCommand" + CallbackBeforeSendGroupMsgCommand = "callbackBeforeSendGroupMsgCommand" + CallbackAfterSendGroupMsgCommand = "callbackAfterSendGroupMsgCommand" + CallbackMsgModifyCommand = "callbackMsgModifyCommand" + CallbackUserOnlineCommand = "callbackUserOnlineCommand" + CallbackUserOfflineCommand = "callbackUserOfflineCommand" + CallbackUserKickOffCommand = "callbackUserKickOffCommand" + CallbackOfflinePushCommand = "callbackOfflinePushCommand" + CallbackOnlinePushCommand = "callbackOnlinePushCommand" + CallbackSuperGroupOnlinePushCommand = "callbackSuperGroupOnlinePushCommand" + CallbackBeforeAddFriendCommand = "callbackBeforeAddFriendCommand" + CallbackBeforeCreateGroupCommand = "callbackBeforeCreateGroupCommand" + CallbackBeforeMemberJoinGroupCommand = "callbackBeforeMemberJoinGroupCommand" + CallbackBeforeSetGroupMemberInfoCommand = "CallbackBeforeSetGroupMemberInfoCommand" CallbackBeforeSetMessageReactionExtensionCommand = "callbackBeforeSetMessageReactionExtensionCommand" CallbackBeforeDeleteMessageReactionExtensionsCommand = "callbackBeforeDeleteMessageReactionExtensionsCommand" + CallbackGetMessageListReactionExtensionsCommand = "callbackGetMessageListReactionExtensionsCommand" //callback actionCode ActionAllow = 0 diff --git a/pkg/proto/msg/msg.pb.go b/pkg/proto/msg/msg.pb.go index bdb1e3464..7d1bfa68f 100644 --- a/pkg/proto/msg/msg.pb.go +++ b/pkg/proto/msg/msg.pb.go @@ -38,7 +38,7 @@ func (m *MsgDataToMQ) Reset() { *m = MsgDataToMQ{} } func (m *MsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMQ) ProtoMessage() {} func (*MsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_4f5a59ae8be91efc, []int{0} + return fileDescriptor_msg_24cf87b309a51053, []int{0} } func (m *MsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMQ.Unmarshal(m, b) @@ -91,7 +91,7 @@ func (m *MsgDataToDB) Reset() { *m = MsgDataToDB{} } func (m *MsgDataToDB) String() string { return proto.CompactTextString(m) } func (*MsgDataToDB) ProtoMessage() {} func (*MsgDataToDB) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_4f5a59ae8be91efc, []int{1} + return fileDescriptor_msg_24cf87b309a51053, []int{1} } func (m *MsgDataToDB) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToDB.Unmarshal(m, b) @@ -138,7 +138,7 @@ func (m *PushMsgDataToMQ) Reset() { *m = PushMsgDataToMQ{} } func (m *PushMsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*PushMsgDataToMQ) ProtoMessage() {} func (*PushMsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_4f5a59ae8be91efc, []int{2} + return fileDescriptor_msg_24cf87b309a51053, []int{2} } func (m *PushMsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PushMsgDataToMQ.Unmarshal(m, b) @@ -193,7 +193,7 @@ func (m *MsgDataToMongoByMQ) Reset() { *m = MsgDataToMongoByMQ{} } func (m *MsgDataToMongoByMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMongoByMQ) ProtoMessage() {} func (*MsgDataToMongoByMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_4f5a59ae8be91efc, []int{3} + return fileDescriptor_msg_24cf87b309a51053, []int{3} } func (m *MsgDataToMongoByMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMongoByMQ.Unmarshal(m, b) @@ -273,7 +273,7 @@ func (m *GetMaxAndMinSeqReq) Reset() { *m = GetMaxAndMinSeqReq{} } func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqReq) ProtoMessage() {} func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_4f5a59ae8be91efc, []int{4} + return fileDescriptor_msg_24cf87b309a51053, []int{4} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -321,7 +321,7 @@ func (m *GetMaxAndMinSeqResp) Reset() { *m = GetMaxAndMinSeqResp{} } func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqResp) ProtoMessage() {} func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_4f5a59ae8be91efc, []int{5} + return fileDescriptor_msg_24cf87b309a51053, []int{5} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -382,7 +382,7 @@ func (m *SendMsgReq) Reset() { *m = SendMsgReq{} } func (m *SendMsgReq) String() string { return proto.CompactTextString(m) } func (*SendMsgReq) ProtoMessage() {} func (*SendMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_4f5a59ae8be91efc, []int{6} + return fileDescriptor_msg_24cf87b309a51053, []int{6} } func (m *SendMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgReq.Unmarshal(m, b) @@ -438,7 +438,7 @@ func (m *SendMsgResp) Reset() { *m = SendMsgResp{} } func (m *SendMsgResp) String() string { return proto.CompactTextString(m) } func (*SendMsgResp) ProtoMessage() {} func (*SendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_4f5a59ae8be91efc, []int{7} + return fileDescriptor_msg_24cf87b309a51053, []int{7} } func (m *SendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgResp.Unmarshal(m, b) @@ -506,7 +506,7 @@ func (m *ClearMsgReq) Reset() { *m = ClearMsgReq{} } func (m *ClearMsgReq) String() string { return proto.CompactTextString(m) } func (*ClearMsgReq) ProtoMessage() {} func (*ClearMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_4f5a59ae8be91efc, []int{8} + return fileDescriptor_msg_24cf87b309a51053, []int{8} } func (m *ClearMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgReq.Unmarshal(m, b) @@ -559,7 +559,7 @@ func (m *ClearMsgResp) Reset() { *m = ClearMsgResp{} } func (m *ClearMsgResp) String() string { return proto.CompactTextString(m) } func (*ClearMsgResp) ProtoMessage() {} func (*ClearMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_4f5a59ae8be91efc, []int{9} + return fileDescriptor_msg_24cf87b309a51053, []int{9} } func (m *ClearMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgResp.Unmarshal(m, b) @@ -608,7 +608,7 @@ func (m *SetMsgMinSeqReq) Reset() { *m = SetMsgMinSeqReq{} } func (m *SetMsgMinSeqReq) String() string { return proto.CompactTextString(m) } func (*SetMsgMinSeqReq) ProtoMessage() {} func (*SetMsgMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_4f5a59ae8be91efc, []int{10} + return fileDescriptor_msg_24cf87b309a51053, []int{10} } func (m *SetMsgMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqReq.Unmarshal(m, b) @@ -675,7 +675,7 @@ func (m *SetMsgMinSeqResp) Reset() { *m = SetMsgMinSeqResp{} } func (m *SetMsgMinSeqResp) String() string { return proto.CompactTextString(m) } func (*SetMsgMinSeqResp) ProtoMessage() {} func (*SetMsgMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_4f5a59ae8be91efc, []int{11} + return fileDescriptor_msg_24cf87b309a51053, []int{11} } func (m *SetMsgMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqResp.Unmarshal(m, b) @@ -721,7 +721,7 @@ func (m *SetSendMsgStatusReq) Reset() { *m = SetSendMsgStatusReq{} } func (m *SetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (*SetSendMsgStatusReq) ProtoMessage() {} func (*SetSendMsgStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_4f5a59ae8be91efc, []int{12} + return fileDescriptor_msg_24cf87b309a51053, []int{12} } func (m *SetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgStatusReq.Unmarshal(m, b) @@ -767,7 +767,7 @@ func (m *SetSendMsgStatusResp) Reset() { *m = SetSendMsgStatusResp{} } func (m *SetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (*SetSendMsgStatusResp) ProtoMessage() {} func (*SetSendMsgStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_4f5a59ae8be91efc, []int{13} + return fileDescriptor_msg_24cf87b309a51053, []int{13} } func (m *SetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgStatusResp.Unmarshal(m, b) @@ -812,7 +812,7 @@ func (m *GetSendMsgStatusReq) Reset() { *m = GetSendMsgStatusReq{} } func (m *GetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (*GetSendMsgStatusReq) ProtoMessage() {} func (*GetSendMsgStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_4f5a59ae8be91efc, []int{14} + return fileDescriptor_msg_24cf87b309a51053, []int{14} } func (m *GetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusReq.Unmarshal(m, b) @@ -852,7 +852,7 @@ func (m *GetSendMsgStatusResp) Reset() { *m = GetSendMsgStatusResp{} } func (m *GetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (*GetSendMsgStatusResp) ProtoMessage() {} func (*GetSendMsgStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_4f5a59ae8be91efc, []int{15} + return fileDescriptor_msg_24cf87b309a51053, []int{15} } func (m *GetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusResp.Unmarshal(m, b) @@ -907,7 +907,7 @@ func (m *DelSuperGroupMsgReq) Reset() { *m = DelSuperGroupMsgReq{} } func (m *DelSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (*DelSuperGroupMsgReq) ProtoMessage() {} func (*DelSuperGroupMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_4f5a59ae8be91efc, []int{16} + return fileDescriptor_msg_24cf87b309a51053, []int{16} } func (m *DelSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelSuperGroupMsgReq.Unmarshal(m, b) @@ -967,7 +967,7 @@ func (m *DelSuperGroupMsgResp) Reset() { *m = DelSuperGroupMsgResp{} } func (m *DelSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (*DelSuperGroupMsgResp) ProtoMessage() {} func (*DelSuperGroupMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_4f5a59ae8be91efc, []int{17} + return fileDescriptor_msg_24cf87b309a51053, []int{17} } func (m *DelSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelSuperGroupMsgResp.Unmarshal(m, b) @@ -1014,7 +1014,7 @@ func (m *GetSuperGroupMsgReq) Reset() { *m = GetSuperGroupMsgReq{} } func (m *GetSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupMsgReq) ProtoMessage() {} func (*GetSuperGroupMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_4f5a59ae8be91efc, []int{18} + return fileDescriptor_msg_24cf87b309a51053, []int{18} } func (m *GetSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupMsgReq.Unmarshal(m, b) @@ -1068,7 +1068,7 @@ func (m *GetSuperGroupMsgResp) Reset() { *m = GetSuperGroupMsgResp{} } func (m *GetSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupMsgResp) ProtoMessage() {} func (*GetSuperGroupMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_4f5a59ae8be91efc, []int{19} + return fileDescriptor_msg_24cf87b309a51053, []int{19} } func (m *GetSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupMsgResp.Unmarshal(m, b) @@ -1121,7 +1121,7 @@ func (m *GetWriteDiffMsgReq) Reset() { *m = GetWriteDiffMsgReq{} } func (m *GetWriteDiffMsgReq) String() string { return proto.CompactTextString(m) } func (*GetWriteDiffMsgReq) ProtoMessage() {} func (*GetWriteDiffMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_4f5a59ae8be91efc, []int{20} + return fileDescriptor_msg_24cf87b309a51053, []int{20} } func (m *GetWriteDiffMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetWriteDiffMsgReq.Unmarshal(m, b) @@ -1168,7 +1168,7 @@ func (m *GetWriteDiffMsgResp) Reset() { *m = GetWriteDiffMsgResp{} } func (m *GetWriteDiffMsgResp) String() string { return proto.CompactTextString(m) } func (*GetWriteDiffMsgResp) ProtoMessage() {} func (*GetWriteDiffMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_4f5a59ae8be91efc, []int{21} + return fileDescriptor_msg_24cf87b309a51053, []int{21} } func (m *GetWriteDiffMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetWriteDiffMsgResp.Unmarshal(m, b) @@ -1230,7 +1230,7 @@ func (m *ModifyMessageReactionExtensionsReq) Reset() { *m = ModifyMessag func (m *ModifyMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*ModifyMessageReactionExtensionsReq) ProtoMessage() {} func (*ModifyMessageReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_4f5a59ae8be91efc, []int{22} + return fileDescriptor_msg_24cf87b309a51053, []int{22} } func (m *ModifyMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyMessageReactionExtensionsReq.Unmarshal(m, b) @@ -1348,7 +1348,7 @@ func (m *SetMessageReactionExtensionsReq) Reset() { *m = SetMessageReact func (m *SetMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*SetMessageReactionExtensionsReq) ProtoMessage() {} func (*SetMessageReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_4f5a59ae8be91efc, []int{23} + return fileDescriptor_msg_24cf87b309a51053, []int{23} } func (m *SetMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMessageReactionExtensionsReq.Unmarshal(m, b) @@ -1461,7 +1461,7 @@ func (m *SetMessageReactionExtensionsResp) Reset() { *m = SetMessageReac func (m *SetMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*SetMessageReactionExtensionsResp) ProtoMessage() {} func (*SetMessageReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_4f5a59ae8be91efc, []int{24} + return fileDescriptor_msg_24cf87b309a51053, []int{24} } func (m *SetMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMessageReactionExtensionsResp.Unmarshal(m, b) @@ -1528,7 +1528,8 @@ type GetMessageListReactionExtensionsReq struct { OpUserID string `protobuf:"bytes,2,opt,name=opUserID" json:"opUserID,omitempty"` SourceID string `protobuf:"bytes,3,opt,name=sourceID" json:"sourceID,omitempty"` SessionType int32 `protobuf:"varint,4,opt,name=sessionType" json:"sessionType,omitempty"` - MessageReactionKeyList []*GetMessageListReactionExtensionsReq_MessageReactionKey `protobuf:"bytes,5,rep,name=messageReactionKeyList" json:"messageReactionKeyList,omitempty"` + IsExternalExtensions bool `protobuf:"varint,5,opt,name=isExternalExtensions" json:"isExternalExtensions,omitempty"` + MessageReactionKeyList []*GetMessageListReactionExtensionsReq_MessageReactionKey `protobuf:"bytes,6,rep,name=messageReactionKeyList" json:"messageReactionKeyList,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -1538,7 +1539,7 @@ func (m *GetMessageListReactionExtensionsReq) Reset() { *m = GetMessageL func (m *GetMessageListReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*GetMessageListReactionExtensionsReq) ProtoMessage() {} func (*GetMessageListReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_4f5a59ae8be91efc, []int{25} + return fileDescriptor_msg_24cf87b309a51053, []int{25} } func (m *GetMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMessageListReactionExtensionsReq.Unmarshal(m, b) @@ -1586,6 +1587,13 @@ func (m *GetMessageListReactionExtensionsReq) GetSessionType() int32 { return 0 } +func (m *GetMessageListReactionExtensionsReq) GetIsExternalExtensions() bool { + if m != nil { + return m.IsExternalExtensions + } + return false +} + func (m *GetMessageListReactionExtensionsReq) GetMessageReactionKeyList() []*GetMessageListReactionExtensionsReq_MessageReactionKey { if m != nil { return m.MessageReactionKeyList @@ -1609,7 +1617,7 @@ func (m *GetMessageListReactionExtensionsReq_MessageReactionKey) String() string } func (*GetMessageListReactionExtensionsReq_MessageReactionKey) ProtoMessage() {} func (*GetMessageListReactionExtensionsReq_MessageReactionKey) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_4f5a59ae8be91efc, []int{25, 0} + return fileDescriptor_msg_24cf87b309a51053, []int{25, 0} } func (m *GetMessageListReactionExtensionsReq_MessageReactionKey) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMessageListReactionExtensionsReq_MessageReactionKey.Unmarshal(m, b) @@ -1656,7 +1664,7 @@ func (m *GetMessageListReactionExtensionsResp) Reset() { *m = GetMessage func (m *GetMessageListReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*GetMessageListReactionExtensionsResp) ProtoMessage() {} func (*GetMessageListReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_4f5a59ae8be91efc, []int{26} + return fileDescriptor_msg_24cf87b309a51053, []int{26} } func (m *GetMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMessageListReactionExtensionsResp.Unmarshal(m, b) @@ -1711,7 +1719,7 @@ func (m *SingleMessageExtensionResult) Reset() { *m = SingleMessageExten func (m *SingleMessageExtensionResult) String() string { return proto.CompactTextString(m) } func (*SingleMessageExtensionResult) ProtoMessage() {} func (*SingleMessageExtensionResult) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_4f5a59ae8be91efc, []int{27} + return fileDescriptor_msg_24cf87b309a51053, []int{27} } func (m *SingleMessageExtensionResult) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SingleMessageExtensionResult.Unmarshal(m, b) @@ -1773,7 +1781,7 @@ func (m *ModifyMessageReactionExtensionsResp) Reset() { *m = ModifyMessa func (m *ModifyMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*ModifyMessageReactionExtensionsResp) ProtoMessage() {} func (*ModifyMessageReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_4f5a59ae8be91efc, []int{28} + return fileDescriptor_msg_24cf87b309a51053, []int{28} } func (m *ModifyMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyMessageReactionExtensionsResp.Unmarshal(m, b) @@ -1841,7 +1849,7 @@ func (m *DeleteMessageListReactionExtensionsReq) Reset() { func (m *DeleteMessageListReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*DeleteMessageListReactionExtensionsReq) ProtoMessage() {} func (*DeleteMessageListReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_4f5a59ae8be91efc, []int{29} + return fileDescriptor_msg_24cf87b309a51053, []int{29} } func (m *DeleteMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteMessageListReactionExtensionsReq.Unmarshal(m, b) @@ -1932,7 +1940,7 @@ func (m *DeleteMessageListReactionExtensionsResp) Reset() { func (m *DeleteMessageListReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*DeleteMessageListReactionExtensionsResp) ProtoMessage() {} func (*DeleteMessageListReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_4f5a59ae8be91efc, []int{30} + return fileDescriptor_msg_24cf87b309a51053, []int{30} } func (m *DeleteMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteMessageListReactionExtensionsResp.Unmarshal(m, b) @@ -1986,7 +1994,7 @@ func (m *ExtendMsgResp) Reset() { *m = ExtendMsgResp{} } func (m *ExtendMsgResp) String() string { return proto.CompactTextString(m) } func (*ExtendMsgResp) ProtoMessage() {} func (*ExtendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_4f5a59ae8be91efc, []int{31} + return fileDescriptor_msg_24cf87b309a51053, []int{31} } func (m *ExtendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExtendMsgResp.Unmarshal(m, b) @@ -2042,7 +2050,7 @@ func (m *ExtendMsg) Reset() { *m = ExtendMsg{} } func (m *ExtendMsg) String() string { return proto.CompactTextString(m) } func (*ExtendMsg) ProtoMessage() {} func (*ExtendMsg) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_4f5a59ae8be91efc, []int{32} + return fileDescriptor_msg_24cf87b309a51053, []int{32} } func (m *ExtendMsg) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExtendMsg.Unmarshal(m, b) @@ -2110,7 +2118,7 @@ func (m *KeyValueResp) Reset() { *m = KeyValueResp{} } func (m *KeyValueResp) String() string { return proto.CompactTextString(m) } func (*KeyValueResp) ProtoMessage() {} func (*KeyValueResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_4f5a59ae8be91efc, []int{33} + return fileDescriptor_msg_24cf87b309a51053, []int{33} } func (m *KeyValueResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_KeyValueResp.Unmarshal(m, b) @@ -2164,7 +2172,7 @@ func (m *MsgDataToModifyByMQ) Reset() { *m = MsgDataToModifyByMQ{} } func (m *MsgDataToModifyByMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToModifyByMQ) ProtoMessage() {} func (*MsgDataToModifyByMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_4f5a59ae8be91efc, []int{34} + return fileDescriptor_msg_24cf87b309a51053, []int{34} } func (m *MsgDataToModifyByMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToModifyByMQ.Unmarshal(m, b) @@ -2784,113 +2792,114 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ Metadata: "msg/msg.proto", } -func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_4f5a59ae8be91efc) } +func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_24cf87b309a51053) } -var fileDescriptor_msg_4f5a59ae8be91efc = []byte{ - // 1672 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x59, 0xcd, 0x6e, 0xdb, 0xc6, - 0x16, 0x06, 0x49, 0x4b, 0xb6, 0x8f, 0xec, 0xd8, 0x19, 0x3b, 0xbe, 0x0a, 0x63, 0x20, 0x0a, 0xf3, - 0xa7, 0xdc, 0x24, 0x32, 0xae, 0xef, 0x05, 0x72, 0xd1, 0x14, 0x68, 0xe2, 0xc8, 0x55, 0x8c, 0x94, - 0x75, 0x4c, 0xb9, 0x2d, 0xd0, 0x2e, 0x1c, 0x46, 0x1a, 0x33, 0x84, 0x25, 0x92, 0xe6, 0x50, 0xb1, - 0xd5, 0xbf, 0x5d, 0x8b, 0x02, 0x45, 0x16, 0x5d, 0x76, 0xd5, 0x5d, 0x77, 0x7d, 0x88, 0x3e, 0x40, - 0xd1, 0x07, 0xe9, 0x33, 0xb4, 0x28, 0x66, 0x86, 0x92, 0x86, 0x7f, 0x16, 0x2d, 0x17, 0x41, 0x0a, - 0x74, 0xa7, 0x99, 0x39, 0x73, 0xe6, 0xfb, 0xce, 0xf9, 0xe6, 0x87, 0x47, 0x30, 0xdf, 0x25, 0xd6, - 0x5a, 0x97, 0x58, 0x35, 0xcf, 0x77, 0x03, 0x17, 0x29, 0x5d, 0x62, 0xa9, 0xd5, 0x6d, 0x0f, 0x3b, - 0x77, 0xb7, 0xf4, 0xbb, 0x4d, 0xec, 0xbf, 0xc4, 0xfe, 0x9a, 0x77, 0x60, 0xad, 0xb1, 0xe1, 0x35, - 0xd2, 0x3e, 0xd8, 0x3b, 0x22, 0x6b, 0x47, 0x84, 0x9b, 0xab, 0xb5, 0xb1, 0x96, 0xbe, 0xe9, 0x79, - 0xd8, 0x0f, 0xed, 0xb5, 0xcf, 0xa0, 0xa4, 0x13, 0xab, 0x6e, 0x06, 0xe6, 0xae, 0xab, 0xef, 0xa0, - 0x65, 0x28, 0x04, 0xee, 0x01, 0x76, 0xca, 0x52, 0x45, 0xaa, 0xce, 0x1a, 0xbc, 0x81, 0x2a, 0x50, - 0x72, 0x3d, 0xec, 0x9b, 0x81, 0xed, 0x3a, 0x5b, 0xf5, 0xb2, 0xcc, 0xc6, 0xc4, 0x2e, 0xf4, 0x3f, - 0x98, 0xee, 0x72, 0x37, 0x65, 0xa5, 0x22, 0x55, 0x4b, 0xeb, 0x6a, 0x8d, 0x30, 0x00, 0x7b, 0xa6, - 0x67, 0xef, 0x79, 0xa6, 0x6f, 0x76, 0x49, 0x2d, 0x5c, 0xc8, 0x18, 0x98, 0x6a, 0x58, 0x58, 0xbc, - 0xbe, 0x21, 0x3a, 0x91, 0x72, 0x3b, 0x19, 0x0f, 0x4e, 0x7b, 0x25, 0xc1, 0xc2, 0xd3, 0x1e, 0x79, - 0x21, 0x12, 0xad, 0x40, 0x69, 0x5b, 0x98, 0xc5, 0xe9, 0x8a, 0x5d, 0x22, 0x1a, 0x39, 0x3f, 0x1a, - 0x0d, 0xe6, 0xbc, 0x1e, 0x79, 0xb1, 0xeb, 0x7e, 0x40, 0xb0, 0xbf, 0x55, 0x67, 0xd1, 0x98, 0x35, - 0x22, 0x7d, 0xda, 0x8f, 0x12, 0xa0, 0x11, 0x16, 0xd7, 0xb1, 0xdc, 0x8d, 0xbe, 0xbe, 0x83, 0xca, - 0x30, 0xdd, 0x31, 0x49, 0xd0, 0xc4, 0x87, 0x0c, 0xce, 0x94, 0x31, 0x68, 0xa2, 0x6b, 0x30, 0x6f, - 0x5a, 0x96, 0x8f, 0xad, 0x28, 0xc9, 0x68, 0x27, 0x5a, 0x87, 0x52, 0x17, 0x13, 0x62, 0x5a, 0xf8, - 0x3d, 0x9b, 0x04, 0x65, 0xa5, 0xa2, 0x54, 0x4b, 0xeb, 0x8b, 0x35, 0x2a, 0x25, 0x81, 0xb9, 0x21, - 0x1a, 0xa1, 0x55, 0x98, 0x0d, 0x7c, 0xdb, 0xb2, 0x18, 0xd6, 0x29, 0xe6, 0x75, 0xd4, 0xa1, 0xbd, - 0x0f, 0xa8, 0x81, 0x03, 0xdd, 0x3c, 0x7e, 0xe8, 0xb4, 0x75, 0xdb, 0x69, 0xe2, 0x43, 0x03, 0x1f, - 0xa2, 0x15, 0x28, 0x86, 0xe4, 0x78, 0xd4, 0xc2, 0x56, 0x3c, 0xa4, 0x72, 0x22, 0xa4, 0xda, 0x11, - 0x2c, 0x25, 0xfc, 0x11, 0x8f, 0x12, 0xdf, 0xf4, 0xfd, 0x47, 0x6e, 0x1b, 0x33, 0x8f, 0x05, 0x63, - 0xd0, 0xa4, 0x4b, 0x6d, 0xfa, 0xbe, 0x4e, 0xac, 0xd0, 0x5b, 0xd8, 0xa2, 0xfd, 0xba, 0x79, 0x4c, - 0x23, 0x45, 0xe3, 0x3b, 0x6f, 0x84, 0x2d, 0xd6, 0xcf, 0xfc, 0x32, 0x2e, 0xb4, 0x9f, 0xb5, 0xb4, - 0x4f, 0x01, 0x9a, 0xd8, 0x69, 0xeb, 0xc4, 0xa2, 0x04, 0x5e, 0xaf, 0xc8, 0x7f, 0x90, 0xa0, 0x34, - 0x5c, 0x9c, 0xb3, 0xc5, 0x51, 0xb6, 0x78, 0xc4, 0x16, 0x47, 0xd8, 0xf2, 0x16, 0x45, 0xc6, 0xd7, - 0xd1, 0x89, 0x35, 0x4c, 0x93, 0xd8, 0x45, 0x2d, 0x5a, 0x1d, 0x1b, 0x3b, 0x01, 0xb7, 0x28, 0x70, - 0x0b, 0xa1, 0x0b, 0xa9, 0x30, 0x43, 0xb0, 0xd3, 0xde, 0xb5, 0xbb, 0xb8, 0x5c, 0xac, 0x48, 0x55, - 0xc5, 0x18, 0xb6, 0xb5, 0x16, 0x94, 0x1e, 0x75, 0xb0, 0xe9, 0x87, 0xe1, 0x59, 0x81, 0x62, 0x2f, - 0x92, 0x5f, 0xde, 0xa2, 0x2e, 0x5c, 0x2f, 0xcc, 0x3c, 0x07, 0x38, 0x6c, 0xc7, 0x83, 0xa7, 0x24, - 0x37, 0xe1, 0x03, 0x98, 0x1b, 0x2d, 0x32, 0x49, 0x18, 0xb4, 0xef, 0x25, 0x58, 0x68, 0x62, 0xca, - 0x27, 0xa2, 0xc5, 0x54, 0xac, 0x65, 0x98, 0xb6, 0x7c, 0xb7, 0xe7, 0x0d, 0xa1, 0x0e, 0x9a, 0x74, - 0x46, 0x97, 0x4b, 0x24, 0x94, 0x0e, 0x6f, 0xc5, 0x19, 0x4c, 0x25, 0xd3, 0x2f, 0xf2, 0x2f, 0x44, - 0xf9, 0x6b, 0x75, 0x58, 0x8c, 0x42, 0x9b, 0x88, 0xe1, 0x36, 0x2c, 0x35, 0x71, 0x10, 0x8a, 0xa5, - 0x19, 0x98, 0x41, 0x8f, 0x18, 0x49, 0x68, 0x52, 0x12, 0xda, 0x0a, 0x14, 0x09, 0x33, 0x67, 0x0e, - 0x0b, 0x46, 0xd8, 0xd2, 0x1e, 0xc3, 0x72, 0xd2, 0xe1, 0x44, 0xd0, 0xee, 0xb1, 0xad, 0x7b, 0x7a, - 0x68, 0xda, 0x33, 0x58, 0x6e, 0xfc, 0x25, 0x10, 0x04, 0x92, 0x4a, 0x84, 0xe4, 0x57, 0x12, 0x2c, - 0xd5, 0x71, 0xa7, 0xd9, 0xf3, 0xb0, 0xdf, 0xa0, 0x59, 0x0e, 0x75, 0x2c, 0xe6, 0x4b, 0x8a, 0xe9, - 0x75, 0xa4, 0x1b, 0x39, 0x4b, 0x37, 0x4a, 0x54, 0x37, 0x63, 0xf5, 0x41, 0x83, 0x9d, 0x84, 0x31, - 0x51, 0xb0, 0x5b, 0x3c, 0xd8, 0x71, 0x42, 0xe3, 0x75, 0xb0, 0x08, 0x0a, 0x55, 0xb6, 0xcc, 0x94, - 0x4d, 0x7f, 0x66, 0x13, 0xd2, 0xbe, 0xe4, 0x89, 0x39, 0x3b, 0xdc, 0x09, 0xcf, 0xc5, 0xc7, 0xec, - 0x72, 0xf9, 0xc8, 0xb7, 0x03, 0x5c, 0xb7, 0xf7, 0xf7, 0x27, 0xe7, 0xa8, 0x7d, 0xc1, 0xc2, 0x15, - 0xf5, 0xf4, 0x1a, 0x89, 0x7c, 0x57, 0x00, 0x4d, 0x77, 0xdb, 0xf6, 0x7e, 0x5f, 0xe7, 0x37, 0xab, - 0x81, 0xcd, 0x16, 0x05, 0xbb, 0x79, 0x1c, 0x60, 0x87, 0xd8, 0xae, 0x93, 0x73, 0x17, 0xd3, 0x33, - 0xda, 0xed, 0xf9, 0x2d, 0x3c, 0x3a, 0x60, 0x07, 0xed, 0x88, 0x98, 0x95, 0xe4, 0xe1, 0x4b, 0x30, - 0xa1, 0x0b, 0xed, 0xf6, 0x3d, 0xcc, 0xa4, 0x59, 0x30, 0xc4, 0x2e, 0x74, 0x0c, 0x17, 0xfc, 0x38, - 0x28, 0xf6, 0x48, 0x28, 0xb0, 0x47, 0xc2, 0x06, 0x7f, 0x24, 0x8c, 0xe5, 0x50, 0x33, 0xd2, 0x9c, - 0x6c, 0x3a, 0x81, 0xdf, 0x37, 0xd2, 0x17, 0x88, 0xdf, 0x4c, 0xc5, 0xe4, 0xcd, 0x74, 0x07, 0x64, - 0x7c, 0x5c, 0x9e, 0x66, 0xf1, 0x5e, 0xad, 0x59, 0xae, 0x6b, 0x75, 0x30, 0x7f, 0x9c, 0x3e, 0xef, - 0xed, 0xd7, 0x9a, 0x81, 0x6f, 0x3b, 0xd6, 0x87, 0x66, 0xa7, 0x87, 0x0d, 0x19, 0x1f, 0xa3, 0x07, - 0x30, 0x67, 0x06, 0x81, 0xd9, 0x7a, 0x81, 0xdb, 0x5b, 0xce, 0xbe, 0x5b, 0x9e, 0xc9, 0x31, 0x2f, - 0x32, 0x83, 0xca, 0xc2, 0x26, 0x8c, 0x48, 0x79, 0xb6, 0x22, 0x55, 0x67, 0x8c, 0x41, 0x13, 0xad, - 0xc3, 0xb2, 0x4d, 0x28, 0x7c, 0xdf, 0x31, 0x3b, 0x23, 0xe2, 0x65, 0x60, 0x66, 0xa9, 0x63, 0xa8, - 0x06, 0xa8, 0x4b, 0xac, 0x77, 0x6d, 0x9f, 0x04, 0x3c, 0x7e, 0xec, 0x86, 0x2d, 0xb1, 0x1b, 0x36, - 0x65, 0x44, 0xc5, 0xa0, 0x66, 0x07, 0x91, 0x6a, 0xfb, 0x00, 0xf7, 0x43, 0x6d, 0xd0, 0x9f, 0xe8, - 0x3f, 0x50, 0x78, 0x49, 0x49, 0x84, 0x6f, 0xd0, 0x4b, 0x29, 0x82, 0x7c, 0x82, 0xfb, 0x9c, 0x27, - 0xb7, 0x7c, 0x4b, 0xfe, 0xbf, 0xa4, 0x7d, 0x5b, 0x80, 0xcb, 0xf4, 0x42, 0x7a, 0x53, 0x05, 0xd9, - 0x3b, 0x59, 0x90, 0xef, 0x30, 0x41, 0x8e, 0x21, 0xf0, 0x8f, 0x1a, 0xff, 0x2e, 0x6a, 0xfc, 0x4d, - 0x82, 0xca, 0xc9, 0xc9, 0x9c, 0xf4, 0x5d, 0x2c, 0x66, 0x53, 0x49, 0x66, 0x33, 0x3d, 0x1e, 0x53, - 0x59, 0xf1, 0x10, 0xb3, 0x51, 0x88, 0x66, 0xe3, 0x16, 0x14, 0x7d, 0x4c, 0x7a, 0x9d, 0xa0, 0x5c, - 0x64, 0x0a, 0x3d, 0xcf, 0x14, 0x3a, 0x24, 0x8b, 0x89, 0x67, 0x84, 0x06, 0xda, 0x1f, 0x32, 0x5c, - 0x6d, 0x0c, 0xd9, 0xd2, 0x70, 0x9e, 0x61, 0xff, 0x65, 0xbe, 0xb8, 0xc5, 0xbd, 0xa9, 0xc4, 0xf6, - 0xe6, 0xf8, 0xfd, 0x47, 0x60, 0xa5, 0x1b, 0xcd, 0xc6, 0x13, 0xdc, 0x17, 0x36, 0xe0, 0x7d, 0x46, - 0x2f, 0x07, 0x8b, 0x9a, 0x9e, 0x70, 0x63, 0x64, 0xb8, 0x56, 0xf7, 0x01, 0x25, 0xad, 0xe3, 0x59, - 0x94, 0xf2, 0x66, 0x51, 0xce, 0xca, 0xa2, 0xf6, 0x93, 0x04, 0xd7, 0xc6, 0x43, 0x9f, 0x48, 0x72, - 0x4d, 0x58, 0x22, 0xb6, 0x63, 0x75, 0xf0, 0x90, 0x08, 0xd3, 0x04, 0xff, 0xd6, 0xbe, 0xc2, 0x4f, - 0x2d, 0x71, 0x7c, 0xb8, 0x20, 0x37, 0x34, 0xd2, 0x66, 0x6b, 0xbf, 0xc8, 0xb0, 0x7a, 0xd2, 0xac, - 0x09, 0x70, 0xfa, 0x59, 0xe7, 0x2b, 0x47, 0xfa, 0xf6, 0x58, 0xa4, 0x67, 0x3f, 0x5c, 0xa7, 0x12, - 0x89, 0x7c, 0x5d, 0xc7, 0xcd, 0xcf, 0x12, 0x5c, 0x1d, 0xfb, 0x98, 0x99, 0xf0, 0x81, 0x58, 0x22, - 0xbd, 0x56, 0x0b, 0x13, 0x22, 0x04, 0x13, 0xb1, 0x60, 0x32, 0xdf, 0x83, 0x8f, 0x7c, 0x43, 0x34, - 0x43, 0xeb, 0x00, 0xfb, 0xa6, 0xdd, 0xc1, 0x6d, 0x36, 0x69, 0x2a, 0x73, 0x92, 0x60, 0xa5, 0xfd, - 0x2e, 0xc3, 0x8d, 0x3a, 0xee, 0xe0, 0x00, 0xbf, 0xd1, 0xe7, 0xc8, 0xf8, 0xc2, 0x43, 0xd6, 0x35, - 0x56, 0x3c, 0xf5, 0x35, 0x36, 0x9d, 0x79, 0x6c, 0xef, 0x64, 0xa9, 0x7d, 0x86, 0xc5, 0xfa, 0x44, - 0xdd, 0xa4, 0xcf, 0xd4, 0xbe, 0x96, 0xe0, 0x66, 0xae, 0xf8, 0x4f, 0xa4, 0xa3, 0x53, 0xdc, 0x26, - 0x2e, 0xcc, 0x47, 0x54, 0x82, 0xee, 0xc0, 0x2c, 0x1e, 0x74, 0x84, 0x75, 0xd2, 0x73, 0x31, 0x31, - 0x8d, 0x0c, 0x44, 0x6c, 0x72, 0x16, 0x36, 0x25, 0xf2, 0xf1, 0xf9, 0xab, 0x0c, 0xb3, 0x43, 0x57, - 0x68, 0x2f, 0x2b, 0xb4, 0x12, 0x03, 0x7e, 0x2b, 0xba, 0xf2, 0xd9, 0x4f, 0x0d, 0x39, 0xef, 0xf1, - 0xaf, 0x64, 0xaa, 0x41, 0x8b, 0x3d, 0xca, 0xf8, 0x41, 0x14, 0x7d, 0x76, 0x9d, 0x63, 0xcf, 0x3c, - 0x2e, 0x57, 0x19, 0x1f, 0xab, 0x9f, 0x9c, 0xf2, 0x64, 0xba, 0x19, 0x3d, 0x99, 0x52, 0xf2, 0x27, - 0x9c, 0x47, 0x7d, 0x98, 0x13, 0x87, 0xd0, 0x3d, 0x98, 0x39, 0x08, 0xdb, 0x61, 0x02, 0x4f, 0x54, - 0xe8, 0xd0, 0x78, 0x82, 0x64, 0xbe, 0x92, 0x60, 0x49, 0x28, 0x35, 0xd3, 0x18, 0xb1, 0x5a, 0x73, - 0xa2, 0xa2, 0x2c, 0xe5, 0xa8, 0x28, 0xcb, 0xa7, 0xae, 0x28, 0x2b, 0xb1, 0x8a, 0xf2, 0xfa, 0x37, - 0x00, 0x4a, 0x97, 0x58, 0xe8, 0x19, 0x2c, 0xc4, 0x2a, 0xc1, 0xe8, 0x7a, 0x4a, 0x0c, 0x92, 0xd5, - 0x67, 0xf5, 0x46, 0x1e, 0x33, 0xe2, 0x21, 0x17, 0x96, 0x9f, 0xf6, 0x3a, 0x9d, 0x70, 0xf7, 0x6e, - 0xf4, 0x9b, 0xf8, 0x90, 0xe1, 0xfb, 0x77, 0xca, 0xfc, 0x34, 0x43, 0xba, 0xd6, 0xed, 0xdc, 0xb6, - 0x6c, 0x5f, 0x4e, 0x87, 0x55, 0x2e, 0xb4, 0x10, 0x7e, 0xbe, 0x0c, 0x2a, 0xce, 0xea, 0x62, 0xb4, - 0x83, 0x78, 0x68, 0x07, 0xa0, 0x8e, 0x3b, 0x3a, 0xb1, 0xf8, 0x26, 0x48, 0x59, 0x68, 0x34, 0x4c, - 0x3d, 0x5c, 0x19, 0x63, 0x41, 0x3c, 0xd4, 0x80, 0xc5, 0x78, 0xfd, 0x09, 0x95, 0xd9, 0xc2, 0x29, - 0xd5, 0x31, 0xf5, 0x62, 0xc6, 0x08, 0xf1, 0xd0, 0x1a, 0xcc, 0x0c, 0x4a, 0xb5, 0x88, 0x23, 0x17, - 0xca, 0xc3, 0xea, 0xf9, 0x58, 0x0f, 0xf1, 0xd0, 0x7d, 0x98, 0x13, 0xab, 0x9f, 0x68, 0x79, 0xf8, - 0xf9, 0x26, 0xd4, 0x6a, 0xd5, 0x0b, 0x29, 0xbd, 0x1c, 0x76, 0xbc, 0x46, 0x19, 0xc2, 0x4e, 0xa9, - 0x85, 0x86, 0xb0, 0x53, 0x8b, 0x9a, 0x0d, 0x58, 0x6c, 0xa4, 0x3b, 0x6a, 0x64, 0x3a, 0x6a, 0x9c, - 0xe0, 0x28, 0x25, 0x90, 0x29, 0x55, 0x39, 0xc1, 0x51, 0x22, 0x90, 0x75, 0xa6, 0x72, 0xb1, 0x30, - 0x85, 0xfe, 0x35, 0xb0, 0x8e, 0x15, 0xbe, 0xd4, 0x72, 0xfa, 0x00, 0xf1, 0xd0, 0x01, 0xac, 0x9e, - 0xf4, 0xf1, 0x84, 0xae, 0xe5, 0xf9, 0x58, 0x56, 0xaf, 0xe7, 0xb0, 0x22, 0x1e, 0x3a, 0x82, 0xca, - 0xb8, 0xa7, 0x33, 0xaa, 0xe6, 0xfd, 0x38, 0x50, 0x6f, 0xe5, 0xb4, 0x24, 0x1e, 0x3a, 0x84, 0xd5, - 0x87, 0xed, 0x76, 0x36, 0xcb, 0x9b, 0x39, 0x6b, 0x54, 0x6a, 0x35, 0x9f, 0x21, 0xf1, 0xd0, 0xe7, - 0x70, 0x39, 0x72, 0xc5, 0xa7, 0xac, 0x7a, 0x7b, 0xb0, 0x4b, 0x72, 0x3c, 0xc4, 0xd4, 0x3b, 0xf9, - 0x8d, 0x89, 0xb7, 0x71, 0xe9, 0xe3, 0x8b, 0xdb, 0x1e, 0x76, 0xf6, 0xb6, 0x74, 0xe1, 0x4f, 0xda, - 0x2e, 0xb1, 0xee, 0x77, 0x89, 0xf5, 0xbc, 0xc8, 0x9a, 0xff, 0xfd, 0x33, 0x00, 0x00, 0xff, 0xff, - 0xd4, 0xae, 0xa9, 0xee, 0x0d, 0x1e, 0x00, 0x00, +var fileDescriptor_msg_24cf87b309a51053 = []byte{ + // 1683 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x59, 0x4f, 0x6f, 0xdb, 0x46, + 0x16, 0x07, 0x49, 0x4b, 0xb6, 0x9f, 0xec, 0xd8, 0x19, 0x3b, 0x5e, 0x85, 0x31, 0x10, 0x85, 0xf9, + 0xa7, 0x6c, 0x12, 0x19, 0xeb, 0x5d, 0x20, 0x8b, 0xcd, 0x02, 0x9b, 0x38, 0xf2, 0x2a, 0x46, 0x96, + 0xeb, 0x98, 0xf2, 0x6e, 0x81, 0xf6, 0xe0, 0x30, 0xd2, 0x98, 0x21, 0x2c, 0x91, 0x34, 0x87, 0x8a, + 0xad, 0xfe, 0xbb, 0xb5, 0x28, 0x50, 0xe4, 0xd0, 0x63, 0x4f, 0xbd, 0xf5, 0xd6, 0x4b, 0xbf, 0x41, + 0x3f, 0x40, 0xd1, 0x0f, 0xd2, 0xcf, 0x50, 0xa0, 0x98, 0x19, 0x4a, 0x1a, 0xfe, 0x93, 0x68, 0xb9, + 0x08, 0x52, 0xa0, 0x37, 0xbd, 0x99, 0x37, 0x6f, 0xde, 0xef, 0xbd, 0xdf, 0xbc, 0x19, 0x3e, 0xc1, + 0x62, 0x97, 0x58, 0x1b, 0x5d, 0x62, 0xd5, 0x3c, 0xdf, 0x0d, 0x5c, 0xa4, 0x74, 0x89, 0xa5, 0x56, + 0x77, 0x3d, 0xec, 0xdc, 0xdf, 0xd1, 0xef, 0x37, 0xb1, 0xff, 0x1a, 0xfb, 0x1b, 0xde, 0x91, 0xb5, + 0xc1, 0xa6, 0x37, 0x48, 0xfb, 0xe8, 0xe0, 0x84, 0x6c, 0x9c, 0x10, 0xae, 0xae, 0xd6, 0x26, 0x6a, + 0xfa, 0xa6, 0xe7, 0x61, 0x3f, 0xd4, 0xd7, 0x3e, 0x82, 0x92, 0x4e, 0xac, 0xba, 0x19, 0x98, 0xfb, + 0xae, 0xbe, 0x87, 0x56, 0xa1, 0x10, 0xb8, 0x47, 0xd8, 0x29, 0x4b, 0x15, 0xa9, 0x3a, 0x6f, 0x70, + 0x01, 0x55, 0xa0, 0xe4, 0x7a, 0xd8, 0x37, 0x03, 0xdb, 0x75, 0x76, 0xea, 0x65, 0x99, 0xcd, 0x89, + 0x43, 0xe8, 0x6f, 0x30, 0xdb, 0xe5, 0x66, 0xca, 0x4a, 0x45, 0xaa, 0x96, 0x36, 0xd5, 0x1a, 0x61, + 0x0e, 0x1c, 0x98, 0x9e, 0x7d, 0xe0, 0x99, 0xbe, 0xd9, 0x25, 0xb5, 0x70, 0x23, 0x63, 0xa0, 0xaa, + 0x61, 0x61, 0xf3, 0xfa, 0x96, 0x68, 0x44, 0xca, 0x6d, 0x64, 0xb2, 0x73, 0xda, 0x1b, 0x09, 0x96, + 0x9e, 0xf7, 0xc8, 0x2b, 0x11, 0x68, 0x05, 0x4a, 0xbb, 0xc2, 0x2a, 0x0e, 0x57, 0x1c, 0x12, 0xbd, + 0x91, 0xf3, 0x7b, 0xa3, 0xc1, 0x82, 0xd7, 0x23, 0xaf, 0xf6, 0xdd, 0xff, 0x11, 0xec, 0xef, 0xd4, + 0x59, 0x34, 0xe6, 0x8d, 0xc8, 0x98, 0xf6, 0xad, 0x04, 0x68, 0xe4, 0x8b, 0xeb, 0x58, 0xee, 0x56, + 0x5f, 0xdf, 0x43, 0x65, 0x98, 0xed, 0x98, 0x24, 0x68, 0xe2, 0x63, 0xe6, 0xce, 0x8c, 0x31, 0x10, + 0xd1, 0x0d, 0x58, 0x34, 0x2d, 0xcb, 0xc7, 0x56, 0x14, 0x64, 0x74, 0x10, 0x6d, 0x42, 0xa9, 0x8b, + 0x09, 0x31, 0x2d, 0xfc, 0x1f, 0x9b, 0x04, 0x65, 0xa5, 0xa2, 0x54, 0x4b, 0x9b, 0xcb, 0x35, 0x4a, + 0x25, 0x01, 0xb9, 0x21, 0x2a, 0xa1, 0x75, 0x98, 0x0f, 0x7c, 0xdb, 0xb2, 0x98, 0xaf, 0x33, 0xcc, + 0xea, 0x68, 0x40, 0xfb, 0x2f, 0xa0, 0x06, 0x0e, 0x74, 0xf3, 0xf4, 0xb1, 0xd3, 0xd6, 0x6d, 0xa7, + 0x89, 0x8f, 0x0d, 0x7c, 0x8c, 0xd6, 0xa0, 0x18, 0x82, 0xe3, 0x51, 0x0b, 0xa5, 0x78, 0x48, 0xe5, + 0x44, 0x48, 0xb5, 0x13, 0x58, 0x49, 0xd8, 0x23, 0x1e, 0x05, 0xbe, 0xed, 0xfb, 0x4f, 0xdc, 0x36, + 0x66, 0x16, 0x0b, 0xc6, 0x40, 0xa4, 0x5b, 0x6d, 0xfb, 0xbe, 0x4e, 0xac, 0xd0, 0x5a, 0x28, 0xd1, + 0x71, 0xdd, 0x3c, 0xa5, 0x91, 0xa2, 0xf1, 0x5d, 0x34, 0x42, 0x89, 0x8d, 0x33, 0xbb, 0x0c, 0x0b, + 0x1d, 0x67, 0x92, 0xf6, 0x21, 0x40, 0x13, 0x3b, 0x6d, 0x9d, 0x58, 0x14, 0xc0, 0xdb, 0x25, 0xf9, + 0x37, 0x12, 0x94, 0x86, 0x9b, 0x73, 0xb4, 0x38, 0x8a, 0x16, 0x8f, 0xd0, 0xe2, 0x08, 0x5a, 0x2e, + 0x51, 0xcf, 0xf8, 0x3e, 0x3a, 0xb1, 0x86, 0x69, 0x12, 0x87, 0xa8, 0x46, 0xab, 0x63, 0x63, 0x27, + 0xe0, 0x1a, 0x05, 0xae, 0x21, 0x0c, 0x21, 0x15, 0xe6, 0x08, 0x76, 0xda, 0xfb, 0x76, 0x17, 0x97, + 0x8b, 0x15, 0xa9, 0xaa, 0x18, 0x43, 0x59, 0x6b, 0x41, 0xe9, 0x49, 0x07, 0x9b, 0x7e, 0x18, 0x9e, + 0x35, 0x28, 0xf6, 0x22, 0xf9, 0xe5, 0x12, 0x35, 0xe1, 0x7a, 0x61, 0xe6, 0xb9, 0x83, 0x43, 0x39, + 0x1e, 0x3c, 0x25, 0x79, 0x08, 0x1f, 0xc1, 0xc2, 0x68, 0x93, 0x69, 0xc2, 0xa0, 0x7d, 0x2d, 0xc1, + 0x52, 0x13, 0x53, 0x3c, 0x11, 0x2e, 0xa6, 0xfa, 0x5a, 0x86, 0x59, 0xcb, 0x77, 0x7b, 0xde, 0xd0, + 0xd5, 0x81, 0x48, 0x57, 0x74, 0x39, 0x45, 0x42, 0xea, 0x70, 0x29, 0x8e, 0x60, 0x26, 0x99, 0x7e, + 0x11, 0x7f, 0x21, 0x8a, 0x5f, 0xab, 0xc3, 0x72, 0xd4, 0xb5, 0xa9, 0x10, 0xee, 0xc2, 0x4a, 0x13, + 0x07, 0x21, 0x59, 0x9a, 0x81, 0x19, 0xf4, 0x88, 0x91, 0x74, 0x4d, 0x4a, 0xba, 0xb6, 0x06, 0x45, + 0xc2, 0xd4, 0x99, 0xc1, 0x82, 0x11, 0x4a, 0xda, 0x53, 0x58, 0x4d, 0x1a, 0x9c, 0xca, 0xb5, 0x07, + 0xec, 0xe8, 0x9e, 0xdd, 0x35, 0xed, 0x05, 0xac, 0x36, 0x7e, 0x13, 0x17, 0x04, 0x90, 0x4a, 0x04, + 0xe4, 0x67, 0x12, 0xac, 0xd4, 0x71, 0xa7, 0xd9, 0xf3, 0xb0, 0xdf, 0xa0, 0x59, 0x0e, 0x79, 0x2c, + 0xe6, 0x4b, 0x8a, 0xf1, 0x75, 0xc4, 0x1b, 0x39, 0x8b, 0x37, 0x4a, 0x94, 0x37, 0x13, 0xf9, 0x41, + 0x83, 0x9d, 0x74, 0x63, 0xaa, 0x60, 0xb7, 0x78, 0xb0, 0xe3, 0x80, 0x26, 0xf3, 0x60, 0x19, 0x14, + 0xca, 0x6c, 0x99, 0x31, 0x9b, 0xfe, 0xcc, 0x06, 0xa4, 0x7d, 0xca, 0x13, 0x73, 0x7e, 0x77, 0xa7, + 0xac, 0x8b, 0x4f, 0xd9, 0xe5, 0xf2, 0x9e, 0x6f, 0x07, 0xb8, 0x6e, 0x1f, 0x1e, 0x4e, 0x8f, 0x51, + 0xfb, 0x84, 0x85, 0x2b, 0x6a, 0xe9, 0x2d, 0x02, 0xf9, 0xaa, 0x00, 0x9a, 0xee, 0xb6, 0xed, 0xc3, + 0xbe, 0xce, 0x6f, 0x56, 0x03, 0x9b, 0x2d, 0xea, 0xec, 0xf6, 0x69, 0x80, 0x1d, 0x62, 0xbb, 0x4e, + 0xce, 0x53, 0x4c, 0x6b, 0xb4, 0xdb, 0xf3, 0x5b, 0x78, 0x54, 0x60, 0x07, 0x72, 0x84, 0xcc, 0x4a, + 0xb2, 0xf8, 0x12, 0x4c, 0xe8, 0x46, 0xfb, 0x7d, 0x0f, 0x33, 0x6a, 0x16, 0x0c, 0x71, 0x08, 0x9d, + 0xc2, 0x25, 0x3f, 0xee, 0x14, 0x7b, 0x24, 0x14, 0xd8, 0x23, 0x61, 0x8b, 0x3f, 0x12, 0x26, 0x62, + 0xa8, 0x19, 0x69, 0x46, 0xb6, 0x9d, 0xc0, 0xef, 0x1b, 0xe9, 0x1b, 0xc4, 0x6f, 0xa6, 0x62, 0xf2, + 0x66, 0xba, 0x07, 0x32, 0x3e, 0x2d, 0xcf, 0xb2, 0x78, 0xaf, 0xd7, 0x2c, 0xd7, 0xb5, 0x3a, 0x98, + 0x3f, 0x4e, 0x5f, 0xf6, 0x0e, 0x6b, 0xcd, 0xc0, 0xb7, 0x1d, 0xeb, 0xff, 0x66, 0xa7, 0x87, 0x0d, + 0x19, 0x9f, 0xa2, 0x47, 0xb0, 0x60, 0x06, 0x81, 0xd9, 0x7a, 0x85, 0xdb, 0x3b, 0xce, 0xa1, 0x5b, + 0x9e, 0xcb, 0xb1, 0x2e, 0xb2, 0x82, 0xd2, 0xc2, 0x26, 0x0c, 0x48, 0x79, 0xbe, 0x22, 0x55, 0xe7, + 0x8c, 0x81, 0x88, 0x36, 0x61, 0xd5, 0x26, 0xd4, 0x7d, 0xdf, 0x31, 0x3b, 0x23, 0xe0, 0x65, 0x60, + 0x6a, 0xa9, 0x73, 0xa8, 0x06, 0xa8, 0x4b, 0xac, 0x7f, 0xdb, 0x3e, 0x09, 0x78, 0xfc, 0xd8, 0x0d, + 0x5b, 0x62, 0x37, 0x6c, 0xca, 0x8c, 0x8a, 0x41, 0xcd, 0x0e, 0x22, 0xe5, 0xf6, 0x11, 0xee, 0x87, + 0xdc, 0xa0, 0x3f, 0xd1, 0x5f, 0xa0, 0xf0, 0x9a, 0x82, 0x08, 0xdf, 0xa0, 0x57, 0x52, 0x08, 0xf9, + 0x0c, 0xf7, 0x39, 0x4e, 0xae, 0xf9, 0x0f, 0xf9, 0xef, 0x92, 0xf6, 0x65, 0x01, 0xae, 0xd2, 0x0b, + 0xe9, 0x5d, 0x25, 0x64, 0x6f, 0x3c, 0x21, 0xff, 0xc5, 0x08, 0x39, 0x01, 0xc0, 0x1f, 0x6c, 0xfc, + 0xbd, 0xb0, 0xf1, 0x67, 0x09, 0x2a, 0xe3, 0x93, 0x39, 0xed, 0xbb, 0x58, 0xcc, 0xa6, 0x92, 0xcc, + 0x66, 0x7a, 0x3c, 0x66, 0xb2, 0xe2, 0x21, 0x66, 0xa3, 0x10, 0xcd, 0xc6, 0x1d, 0x28, 0xfa, 0x98, + 0xf4, 0x3a, 0x41, 0xb9, 0xc8, 0x18, 0x7a, 0x91, 0x31, 0x74, 0x08, 0x16, 0x13, 0xcf, 0x08, 0x15, + 0xb4, 0xef, 0x15, 0xb8, 0xde, 0x18, 0xa2, 0xa5, 0xe1, 0x3c, 0xc7, 0xf9, 0xcb, 0x7c, 0x71, 0x8b, + 0x67, 0x53, 0x89, 0x9d, 0xcd, 0xc9, 0xe7, 0x2f, 0x8b, 0x5c, 0x85, 0x31, 0xe4, 0x22, 0xb0, 0xd6, + 0x8d, 0x66, 0xf0, 0x19, 0xee, 0xb3, 0x43, 0xcb, 0x43, 0xf2, 0x90, 0x85, 0x24, 0x07, 0xf2, 0x9a, + 0x9e, 0x30, 0x63, 0x64, 0x98, 0x56, 0x0f, 0x01, 0x25, 0xb5, 0xe3, 0x99, 0x97, 0xf2, 0x66, 0x5e, + 0xce, 0xca, 0xbc, 0xf6, 0x9d, 0x04, 0x37, 0x26, 0xbb, 0x3e, 0x15, 0x4d, 0x9b, 0xb0, 0x42, 0x6c, + 0xc7, 0xea, 0xe0, 0x21, 0x10, 0xc6, 0x23, 0xfe, 0x7d, 0x7e, 0x8d, 0x57, 0x3a, 0x71, 0x7e, 0xb8, + 0x21, 0x57, 0x34, 0xd2, 0x56, 0x6b, 0x3f, 0xca, 0xb0, 0x3e, 0x6e, 0xd5, 0x14, 0x7e, 0xfa, 0x59, + 0x35, 0x99, 0x7b, 0xfa, 0xcf, 0x89, 0x9e, 0x9e, 0xbf, 0x20, 0xcf, 0x24, 0x12, 0xf9, 0xb6, 0x4a, + 0xd4, 0x0f, 0x12, 0x5c, 0x9f, 0xf8, 0x00, 0x9a, 0xf2, 0x51, 0x59, 0x22, 0xbd, 0x56, 0x0b, 0x13, + 0x22, 0x04, 0x13, 0xb1, 0x60, 0x32, 0xdb, 0x83, 0xc6, 0x80, 0x21, 0xaa, 0xa1, 0x4d, 0x80, 0x43, + 0xd3, 0xee, 0xe0, 0x36, 0x5b, 0x34, 0x93, 0xb9, 0x48, 0xd0, 0xd2, 0x7e, 0x91, 0xe1, 0x56, 0x1d, + 0x77, 0x70, 0x80, 0xdf, 0xe9, 0xda, 0x33, 0xb9, 0x59, 0x91, 0x55, 0x9d, 0x8a, 0x67, 0xbe, 0xfa, + 0x66, 0x33, 0x4b, 0xfd, 0x5e, 0x16, 0xdb, 0xe7, 0x58, 0xac, 0xc7, 0xf2, 0x26, 0x7d, 0xa5, 0xf6, + 0xb9, 0x04, 0xb7, 0x73, 0xc5, 0x7f, 0x2a, 0x1e, 0x9d, 0xe1, 0x06, 0x72, 0x61, 0x31, 0xc2, 0x12, + 0x74, 0x0f, 0xe6, 0xf1, 0x60, 0x20, 0xec, 0xad, 0x5e, 0x88, 0x91, 0x69, 0xa4, 0x20, 0xfa, 0x26, + 0x67, 0xf9, 0xa6, 0x44, 0x3e, 0x58, 0x7f, 0x92, 0x61, 0x7e, 0x68, 0x0a, 0x1d, 0x64, 0x85, 0x56, + 0x62, 0x8e, 0xdf, 0x89, 0xee, 0x7c, 0xfe, 0xaa, 0x21, 0xe7, 0x2d, 0xff, 0x4a, 0x26, 0x1b, 0xb4, + 0xd8, 0x43, 0x8e, 0x17, 0xa2, 0xe8, 0x53, 0xed, 0x02, 0x7b, 0x1a, 0x72, 0xba, 0xca, 0xf8, 0x54, + 0xfd, 0xe0, 0x8c, 0x95, 0xe9, 0x76, 0xb4, 0x32, 0xa5, 0xe4, 0x4f, 0xa8, 0x47, 0x7d, 0x58, 0x10, + 0xa7, 0xd0, 0x03, 0x98, 0x3b, 0x0a, 0xe5, 0x30, 0x81, 0x63, 0x19, 0x3a, 0x54, 0x9e, 0x22, 0x99, + 0x6f, 0x24, 0x58, 0x11, 0xda, 0xd3, 0x34, 0x46, 0xac, 0x3f, 0x9d, 0xe8, 0x42, 0x4b, 0x39, 0xba, + 0xd0, 0xf2, 0x99, 0xbb, 0xd0, 0x4a, 0xac, 0x0b, 0xbd, 0xf9, 0x05, 0x80, 0xd2, 0x25, 0x16, 0x7a, + 0x01, 0x4b, 0xb1, 0xee, 0x31, 0xba, 0x99, 0x12, 0x83, 0x64, 0xc7, 0x5a, 0xbd, 0x95, 0x47, 0x8d, + 0x78, 0xc8, 0x85, 0xd5, 0xe7, 0xbd, 0x4e, 0x27, 0x3c, 0xbd, 0x5b, 0xfd, 0x26, 0x3e, 0x66, 0xfe, + 0xfd, 0x39, 0x65, 0x7d, 0x9a, 0x22, 0xdd, 0xeb, 0x6e, 0x6e, 0x5d, 0x76, 0x2e, 0x67, 0xc3, 0xce, + 0x18, 0x5a, 0x0a, 0x3f, 0x79, 0x06, 0x5d, 0x6a, 0x75, 0x39, 0x3a, 0x40, 0x3c, 0xb4, 0x07, 0x50, + 0xc7, 0x1d, 0x9d, 0x58, 0xfc, 0x10, 0xa4, 0x6c, 0x34, 0x9a, 0xa6, 0x16, 0xae, 0x4d, 0xd0, 0x20, + 0x1e, 0x6a, 0xc0, 0x72, 0xbc, 0x67, 0x85, 0xca, 0x6c, 0xe3, 0x94, 0x8e, 0x9a, 0x7a, 0x39, 0x63, + 0x86, 0x78, 0x68, 0x03, 0xe6, 0x06, 0xed, 0x5d, 0xc4, 0x3d, 0x17, 0x5a, 0xca, 0xea, 0xc5, 0xd8, + 0x08, 0xf1, 0xd0, 0x43, 0x58, 0x10, 0x3b, 0xa6, 0x68, 0x75, 0xf8, 0xc9, 0x27, 0xf4, 0x77, 0xd5, + 0x4b, 0x29, 0xa3, 0xdc, 0xed, 0x78, 0x5f, 0x33, 0x74, 0x3b, 0xa5, 0x7f, 0x1a, 0xba, 0x9d, 0xda, + 0x08, 0x6d, 0xc0, 0x72, 0x23, 0xdd, 0x50, 0x23, 0xd3, 0x50, 0x63, 0x8c, 0xa1, 0x94, 0x40, 0xa6, + 0x74, 0xf2, 0x04, 0x43, 0x89, 0x40, 0xd6, 0x19, 0xcb, 0xc5, 0x66, 0x16, 0xfa, 0xd3, 0x40, 0x3b, + 0xd6, 0x2c, 0x53, 0xcb, 0xe9, 0x13, 0xc4, 0x43, 0x47, 0xb0, 0x3e, 0xee, 0x83, 0x0b, 0xdd, 0xc8, + 0xf3, 0x81, 0xad, 0xde, 0xcc, 0xa1, 0x45, 0x3c, 0x74, 0x02, 0x95, 0x49, 0x4f, 0x67, 0x54, 0xcd, + 0xfb, 0x71, 0xa0, 0xde, 0xc9, 0xa9, 0x49, 0x3c, 0x74, 0x0c, 0xeb, 0x8f, 0xdb, 0xed, 0x6c, 0x94, + 0xb7, 0x73, 0xf6, 0xb5, 0xd4, 0x6a, 0x3e, 0x45, 0xe2, 0xa1, 0x8f, 0xe1, 0x6a, 0xe4, 0x8a, 0x4f, + 0xd9, 0xf5, 0xee, 0xe0, 0x94, 0xe4, 0x78, 0x88, 0xa9, 0xf7, 0xf2, 0x2b, 0x13, 0x6f, 0xeb, 0xca, + 0xfb, 0x97, 0x77, 0x3d, 0xec, 0x1c, 0xec, 0xe8, 0xc2, 0x1f, 0xbb, 0x5d, 0x62, 0x3d, 0xec, 0x12, + 0xeb, 0x65, 0x91, 0x89, 0x7f, 0xfd, 0x35, 0x00, 0x00, 0xff, 0xff, 0x33, 0xaa, 0x7d, 0xf5, 0x41, + 0x1e, 0x00, 0x00, } diff --git a/pkg/proto/msg/msg.proto b/pkg/proto/msg/msg.proto index 287340517..78025bd00 100644 --- a/pkg/proto/msg/msg.proto +++ b/pkg/proto/msg/msg.proto @@ -195,11 +195,12 @@ message GetMessageListReactionExtensionsReq { string opUserID = 2; string sourceID = 3; int32 sessionType = 4; + bool isExternalExtensions = 5; message MessageReactionKey { string clientMsgID = 1; int64 msgFirstModifyTime = 2; } - repeated MessageReactionKey messageReactionKeyList = 5; + repeated MessageReactionKey messageReactionKeyList = 6; } message GetMessageListReactionExtensionsResp{ int32 errCode = 1; From d53507b7b635b8eb99957d1411cbde4adad42633 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Fri, 30 Dec 2022 12:04:48 +0800 Subject: [PATCH 173/176] callback update --- internal/rpc/msg/extend_msg.go | 2 +- pkg/call_back_struct/message.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/rpc/msg/extend_msg.go b/internal/rpc/msg/extend_msg.go index 2dd2d7999..3d8fa83bc 100644 --- a/internal/rpc/msg/extend_msg.go +++ b/internal/rpc/msg/extend_msg.go @@ -225,7 +225,7 @@ func (rpc *rpcChat) GetMessageListReactionExtensions(ctx context.Context, req *m rResp.ErrMsg = callbackResp.ErrMsg return &rResp, nil } else { - rResp.SingleMessageResult = callbackResp.SingleMessageResult + rResp.SingleMessageResult = callbackResp.MessageResultList return &rResp, nil } } diff --git a/pkg/call_back_struct/message.go b/pkg/call_back_struct/message.go index 9e1d689da..9e6ea0697 100644 --- a/pkg/call_back_struct/message.go +++ b/pkg/call_back_struct/message.go @@ -109,5 +109,5 @@ type CallbackGetMessageListReactionExtReq struct { } type CallbackGetMessageListReactionExtResp struct { *CommonCallbackResp - SingleMessageResult []*msg.SingleMessageExtensionResult `json:"singleMessageResult"` + MessageResultList []*msg.SingleMessageExtensionResult `json:"messageResultList"` } From 1bf4fa0d87a8e4c269673face6e8c2738b7d8d34 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 2 Jan 2023 19:07:05 +0800 Subject: [PATCH 174/176] push update --- internal/msg_gateway/gate/relay_rpc_server.go | 48 + internal/push/logic/push_to_client.go | 30 + .../constant/platform_number_id_to_name.go | 16 +- pkg/proto/relay/relay.pb.go | 1113 ----------------- pkg/proto/relay/relay.proto | 1 + 5 files changed, 93 insertions(+), 1115 deletions(-) delete mode 100644 pkg/proto/relay/relay.pb.go diff --git a/internal/msg_gateway/gate/relay_rpc_server.go b/internal/msg_gateway/gate/relay_rpc_server.go index 00376a552..47889ad25 100644 --- a/internal/msg_gateway/gate/relay_rpc_server.go +++ b/internal/msg_gateway/gate/relay_rpc_server.go @@ -225,6 +225,54 @@ func (r *RPCServer) SuperGroupOnlineBatchPushOneMsg(_ context.Context, req *pbRe SinglePushResult: singleUserResult, }, nil } +func (r *RPCServer) SuperGroupBackgroundOnlinePush(_ context.Context, req *pbRelay.OnlineBatchPushOneMsgReq) (*pbRelay.OnlineBatchPushOneMsgResp, error) { + log.NewInfo(req.OperationID, "BatchPushMsgToUser is arriving", req.String()) + var singleUserResult []*pbRelay.SingelMsgToUserResultList + //r.GetBatchMsgForPush(req.OperationID,req.MsgData,req.PushToUserIDList,) + msgBytes, _ := proto.Marshal(req.MsgData) + mReply := Resp{ + ReqIdentifier: constant.WSPushMsg, + OperationID: req.OperationID, + Data: msgBytes, + } + var replyBytes bytes.Buffer + enc := gob.NewEncoder(&replyBytes) + err := enc.Encode(mReply) + if err != nil { + log.NewError(req.OperationID, "data encode err", err.Error()) + } + for _, v := range req.PushToUserIDList { + var resp []*pbRelay.SingleMsgToUserPlatform + tempT := &pbRelay.SingelMsgToUserResultList{ + UserID: v, + } + userConnMap := ws.getUserAllCons(v) + for platform, userConn := range userConnMap { + if userConn != nil && userConn.IsBackground { + temp := &pbRelay.SingleMsgToUserPlatform{ + RecvID: v, + RecvPlatFormID: int32(platform), + } + if constant.PlatformIDToClass(int(userConn.PlatformID)) == constant.TerminalPC || userConn.PlatformID == constant.WebPlatformID { + resultCode := sendMsgBatchToUser(userConn, replyBytes.Bytes(), req, platform, v) + if resultCode == 0 && utils.IsContainInt(platform, r.pushTerminal) { + tempT.OnlinePush = true + promePkg.PromeInc(promePkg.MsgOnlinePushSuccessCounter) + log.Info(req.OperationID, "PushSuperMsgToUser is success By Ws", "args", req.String(), "recvPlatForm", constant.PlatformIDToName(platform), "recvID", v) + temp.ResultCode = resultCode + resp = append(resp, temp) + } + } + } + } + tempT.Resp = resp + singleUserResult = append(singleUserResult, tempT) + } + + return &pbRelay.OnlineBatchPushOneMsgResp{ + SinglePushResult: singleUserResult, + }, nil +} func (r *RPCServer) OnlineBatchPushOneMsg(_ context.Context, req *pbRelay.OnlineBatchPushOneMsgReq) (*pbRelay.OnlineBatchPushOneMsgResp, error) { log.NewInfo(req.OperationID, "BatchPushMsgToUser is arriving", req.String()) var singleUserResult []*pbRelay.SingelMsgToUserResultList diff --git a/internal/push/logic/push_to_client.go b/internal/push/logic/push_to_client.go index 7872a2d4d..1a0076289 100644 --- a/internal/push/logic/push_to_client.go +++ b/internal/push/logic/push_to_client.go @@ -205,11 +205,25 @@ func MsgToSuperGroupUser(pushMsg *pbPush.PushMsgReq) { return } var onlineSuccessUserIDList []string + var WebAndPcBackgroundUserIDList []string onlineSuccessUserIDList = append(onlineSuccessUserIDList, pushMsg.MsgData.SendID) for _, v := range wsResult { if v.OnlinePush && v.UserID != pushMsg.MsgData.SendID { onlineSuccessUserIDList = append(onlineSuccessUserIDList, v.UserID) } + if !v.OnlinePush { + if len(v.Resp) != 0 { + for _, singleResult := range v.Resp { + if singleResult.ResultCode == -2 { + if constant.PlatformIDToClass(int(singleResult.RecvPlatFormID)) == constant.TerminalPC || + singleResult.RecvPlatFormID == constant.WebPlatformID { + WebAndPcBackgroundUserIDList = append(WebAndPcBackgroundUserIDList, v.UserID) + } + } + } + } + + } } onlineFailedUserIDList := utils.DifferenceString(onlineSuccessUserIDList, pushToUserIDList) //Use offline push messaging @@ -280,6 +294,22 @@ func MsgToSuperGroupUser(pushMsg *pbPush.PushMsgReq) { promePkg.PromeInc(promePkg.MsgOfflinePushSuccessCounter) log.NewDebug(pushMsg.OperationID, "offline push return result is ", pushResult, pushMsg.MsgData) } + needBackgroupPushUserID := utils.IntersectString(needOfflinePushUserIDList, WebAndPcBackgroundUserIDList) + grpcCons := getcdv3.GetDefaultGatewayConn4Unique(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), pushMsg.OperationID) + if len(needBackgroupPushUserID) > 0 { + //Online push message + log.Debug(pushMsg.OperationID, "len grpc", len(grpcCons), "data", pushMsg.String()) + for _, v := range grpcCons { + msgClient := pbRelay.NewRelayClient(v) + _, err := msgClient.SuperGroupBackgroundOnlinePush(context.Background(), &pbRelay.OnlineBatchPushOneMsgReq{OperationID: pushMsg.OperationID, MsgData: pushMsg.MsgData, + PushToUserIDList: needBackgroupPushUserID}) + if err != nil { + log.NewError("push data to client rpc err", pushMsg.OperationID, "err", err) + continue + } + } + } + } } } diff --git a/pkg/common/constant/platform_number_id_to_name.go b/pkg/common/constant/platform_number_id_to_name.go index 3d5ab059b..e8bb129eb 100644 --- a/pkg/common/constant/platform_number_id_to_name.go +++ b/pkg/common/constant/platform_number_id_to_name.go @@ -57,7 +57,7 @@ var PlatformName2ID = map[string]int{ IPadPlatformStr: IPadPlatformID, AdminPlatformStr: AdminPlatformID, } -var Platform2class = map[string]string{ +var PlatformName2class = map[string]string{ IOSPlatformStr: TerminalMobile, AndroidPlatformStr: TerminalMobile, MiniWebPlatformStr: WebPlatformStr, @@ -66,6 +66,15 @@ var Platform2class = map[string]string{ OSXPlatformStr: TerminalPC, LinuxPlatformStr: TerminalPC, } +var PlatformID2class = map[int]string{ + IOSPlatformID: TerminalMobile, + AndroidPlatformID: TerminalMobile, + MiniWebPlatformID: WebPlatformStr, + WebPlatformID: WebPlatformStr, + WindowsPlatformID: TerminalPC, + OSXPlatformID: TerminalPC, + LinuxPlatformID: TerminalPC, +} func PlatformIDToName(num int) string { return PlatformID2Name[num] @@ -74,5 +83,8 @@ func PlatformNameToID(name string) int { return PlatformName2ID[name] } func PlatformNameToClass(name string) string { - return Platform2class[name] + return PlatformName2class[name] +} +func PlatformIDToClass(num int) string { + return PlatformID2class[num] } diff --git a/pkg/proto/relay/relay.pb.go b/pkg/proto/relay/relay.pb.go deleted file mode 100644 index 7cf7e019c..000000000 --- a/pkg/proto/relay/relay.pb.go +++ /dev/null @@ -1,1113 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// source: relay/relay.proto - -package pbRelay // import "Open_IM/pkg/proto/relay" - -import proto "github.com/golang/protobuf/proto" -import fmt "fmt" -import math "math" -import sdk_ws "Open_IM/pkg/proto/sdk_ws" - -import ( - context "golang.org/x/net/context" - grpc "google.golang.org/grpc" -) - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package - -type OnlinePushMsgReq struct { - OperationID string `protobuf:"bytes,1,opt,name=OperationID" json:"OperationID,omitempty"` - MsgData *sdk_ws.MsgData `protobuf:"bytes,2,opt,name=msgData" json:"msgData,omitempty"` - PushToUserID string `protobuf:"bytes,3,opt,name=pushToUserID" json:"pushToUserID,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *OnlinePushMsgReq) Reset() { *m = OnlinePushMsgReq{} } -func (m *OnlinePushMsgReq) String() string { return proto.CompactTextString(m) } -func (*OnlinePushMsgReq) ProtoMessage() {} -func (*OnlinePushMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_relay_fe7346d2191b0ff8, []int{0} -} -func (m *OnlinePushMsgReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_OnlinePushMsgReq.Unmarshal(m, b) -} -func (m *OnlinePushMsgReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_OnlinePushMsgReq.Marshal(b, m, deterministic) -} -func (dst *OnlinePushMsgReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_OnlinePushMsgReq.Merge(dst, src) -} -func (m *OnlinePushMsgReq) XXX_Size() int { - return xxx_messageInfo_OnlinePushMsgReq.Size(m) -} -func (m *OnlinePushMsgReq) XXX_DiscardUnknown() { - xxx_messageInfo_OnlinePushMsgReq.DiscardUnknown(m) -} - -var xxx_messageInfo_OnlinePushMsgReq proto.InternalMessageInfo - -func (m *OnlinePushMsgReq) GetOperationID() string { - if m != nil { - return m.OperationID - } - return "" -} - -func (m *OnlinePushMsgReq) GetMsgData() *sdk_ws.MsgData { - if m != nil { - return m.MsgData - } - return nil -} - -func (m *OnlinePushMsgReq) GetPushToUserID() string { - if m != nil { - return m.PushToUserID - } - return "" -} - -type OnlinePushMsgResp struct { - Resp []*SingleMsgToUserPlatform `protobuf:"bytes,1,rep,name=resp" json:"resp,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *OnlinePushMsgResp) Reset() { *m = OnlinePushMsgResp{} } -func (m *OnlinePushMsgResp) String() string { return proto.CompactTextString(m) } -func (*OnlinePushMsgResp) ProtoMessage() {} -func (*OnlinePushMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_relay_fe7346d2191b0ff8, []int{1} -} -func (m *OnlinePushMsgResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_OnlinePushMsgResp.Unmarshal(m, b) -} -func (m *OnlinePushMsgResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_OnlinePushMsgResp.Marshal(b, m, deterministic) -} -func (dst *OnlinePushMsgResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_OnlinePushMsgResp.Merge(dst, src) -} -func (m *OnlinePushMsgResp) XXX_Size() int { - return xxx_messageInfo_OnlinePushMsgResp.Size(m) -} -func (m *OnlinePushMsgResp) XXX_DiscardUnknown() { - xxx_messageInfo_OnlinePushMsgResp.DiscardUnknown(m) -} - -var xxx_messageInfo_OnlinePushMsgResp proto.InternalMessageInfo - -func (m *OnlinePushMsgResp) GetResp() []*SingleMsgToUserPlatform { - if m != nil { - return m.Resp - } - return nil -} - -type SingelMsgToUserResultList struct { - UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` - Resp []*SingleMsgToUserPlatform `protobuf:"bytes,2,rep,name=resp" json:"resp,omitempty"` - OnlinePush bool `protobuf:"varint,3,opt,name=onlinePush" json:"onlinePush,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *SingelMsgToUserResultList) Reset() { *m = SingelMsgToUserResultList{} } -func (m *SingelMsgToUserResultList) String() string { return proto.CompactTextString(m) } -func (*SingelMsgToUserResultList) ProtoMessage() {} -func (*SingelMsgToUserResultList) Descriptor() ([]byte, []int) { - return fileDescriptor_relay_fe7346d2191b0ff8, []int{2} -} -func (m *SingelMsgToUserResultList) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SingelMsgToUserResultList.Unmarshal(m, b) -} -func (m *SingelMsgToUserResultList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SingelMsgToUserResultList.Marshal(b, m, deterministic) -} -func (dst *SingelMsgToUserResultList) XXX_Merge(src proto.Message) { - xxx_messageInfo_SingelMsgToUserResultList.Merge(dst, src) -} -func (m *SingelMsgToUserResultList) XXX_Size() int { - return xxx_messageInfo_SingelMsgToUserResultList.Size(m) -} -func (m *SingelMsgToUserResultList) XXX_DiscardUnknown() { - xxx_messageInfo_SingelMsgToUserResultList.DiscardUnknown(m) -} - -var xxx_messageInfo_SingelMsgToUserResultList proto.InternalMessageInfo - -func (m *SingelMsgToUserResultList) GetUserID() string { - if m != nil { - return m.UserID - } - return "" -} - -func (m *SingelMsgToUserResultList) GetResp() []*SingleMsgToUserPlatform { - if m != nil { - return m.Resp - } - return nil -} - -func (m *SingelMsgToUserResultList) GetOnlinePush() bool { - if m != nil { - return m.OnlinePush - } - return false -} - -type OnlineBatchPushOneMsgReq struct { - OperationID string `protobuf:"bytes,1,opt,name=OperationID" json:"OperationID,omitempty"` - MsgData *sdk_ws.MsgData `protobuf:"bytes,2,opt,name=msgData" json:"msgData,omitempty"` - PushToUserIDList []string `protobuf:"bytes,3,rep,name=pushToUserIDList" json:"pushToUserIDList,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *OnlineBatchPushOneMsgReq) Reset() { *m = OnlineBatchPushOneMsgReq{} } -func (m *OnlineBatchPushOneMsgReq) String() string { return proto.CompactTextString(m) } -func (*OnlineBatchPushOneMsgReq) ProtoMessage() {} -func (*OnlineBatchPushOneMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_relay_fe7346d2191b0ff8, []int{3} -} -func (m *OnlineBatchPushOneMsgReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_OnlineBatchPushOneMsgReq.Unmarshal(m, b) -} -func (m *OnlineBatchPushOneMsgReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_OnlineBatchPushOneMsgReq.Marshal(b, m, deterministic) -} -func (dst *OnlineBatchPushOneMsgReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_OnlineBatchPushOneMsgReq.Merge(dst, src) -} -func (m *OnlineBatchPushOneMsgReq) XXX_Size() int { - return xxx_messageInfo_OnlineBatchPushOneMsgReq.Size(m) -} -func (m *OnlineBatchPushOneMsgReq) XXX_DiscardUnknown() { - xxx_messageInfo_OnlineBatchPushOneMsgReq.DiscardUnknown(m) -} - -var xxx_messageInfo_OnlineBatchPushOneMsgReq proto.InternalMessageInfo - -func (m *OnlineBatchPushOneMsgReq) GetOperationID() string { - if m != nil { - return m.OperationID - } - return "" -} - -func (m *OnlineBatchPushOneMsgReq) GetMsgData() *sdk_ws.MsgData { - if m != nil { - return m.MsgData - } - return nil -} - -func (m *OnlineBatchPushOneMsgReq) GetPushToUserIDList() []string { - if m != nil { - return m.PushToUserIDList - } - return nil -} - -type OnlineBatchPushOneMsgResp struct { - SinglePushResult []*SingelMsgToUserResultList `protobuf:"bytes,1,rep,name=singlePushResult" json:"singlePushResult,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *OnlineBatchPushOneMsgResp) Reset() { *m = OnlineBatchPushOneMsgResp{} } -func (m *OnlineBatchPushOneMsgResp) String() string { return proto.CompactTextString(m) } -func (*OnlineBatchPushOneMsgResp) ProtoMessage() {} -func (*OnlineBatchPushOneMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_relay_fe7346d2191b0ff8, []int{4} -} -func (m *OnlineBatchPushOneMsgResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_OnlineBatchPushOneMsgResp.Unmarshal(m, b) -} -func (m *OnlineBatchPushOneMsgResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_OnlineBatchPushOneMsgResp.Marshal(b, m, deterministic) -} -func (dst *OnlineBatchPushOneMsgResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_OnlineBatchPushOneMsgResp.Merge(dst, src) -} -func (m *OnlineBatchPushOneMsgResp) XXX_Size() int { - return xxx_messageInfo_OnlineBatchPushOneMsgResp.Size(m) -} -func (m *OnlineBatchPushOneMsgResp) XXX_DiscardUnknown() { - xxx_messageInfo_OnlineBatchPushOneMsgResp.DiscardUnknown(m) -} - -var xxx_messageInfo_OnlineBatchPushOneMsgResp proto.InternalMessageInfo - -func (m *OnlineBatchPushOneMsgResp) GetSinglePushResult() []*SingelMsgToUserResultList { - if m != nil { - return m.SinglePushResult - } - return nil -} - -type SingleMsgToUserPlatform struct { - ResultCode int64 `protobuf:"varint,1,opt,name=ResultCode" json:"ResultCode,omitempty"` - RecvID string `protobuf:"bytes,2,opt,name=RecvID" json:"RecvID,omitempty"` - RecvPlatFormID int32 `protobuf:"varint,3,opt,name=RecvPlatFormID" json:"RecvPlatFormID,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *SingleMsgToUserPlatform) Reset() { *m = SingleMsgToUserPlatform{} } -func (m *SingleMsgToUserPlatform) String() string { return proto.CompactTextString(m) } -func (*SingleMsgToUserPlatform) ProtoMessage() {} -func (*SingleMsgToUserPlatform) Descriptor() ([]byte, []int) { - return fileDescriptor_relay_fe7346d2191b0ff8, []int{5} -} -func (m *SingleMsgToUserPlatform) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SingleMsgToUserPlatform.Unmarshal(m, b) -} -func (m *SingleMsgToUserPlatform) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SingleMsgToUserPlatform.Marshal(b, m, deterministic) -} -func (dst *SingleMsgToUserPlatform) XXX_Merge(src proto.Message) { - xxx_messageInfo_SingleMsgToUserPlatform.Merge(dst, src) -} -func (m *SingleMsgToUserPlatform) XXX_Size() int { - return xxx_messageInfo_SingleMsgToUserPlatform.Size(m) -} -func (m *SingleMsgToUserPlatform) XXX_DiscardUnknown() { - xxx_messageInfo_SingleMsgToUserPlatform.DiscardUnknown(m) -} - -var xxx_messageInfo_SingleMsgToUserPlatform proto.InternalMessageInfo - -func (m *SingleMsgToUserPlatform) GetResultCode() int64 { - if m != nil { - return m.ResultCode - } - return 0 -} - -func (m *SingleMsgToUserPlatform) GetRecvID() string { - if m != nil { - return m.RecvID - } - return "" -} - -func (m *SingleMsgToUserPlatform) GetRecvPlatFormID() int32 { - if m != nil { - return m.RecvPlatFormID - } - return 0 -} - -type GetUsersOnlineStatusReq struct { - UserIDList []string `protobuf:"bytes,1,rep,name=userIDList" json:"userIDList,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,omitempty"` - OpUserID string `protobuf:"bytes,3,opt,name=opUserID" json:"opUserID,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GetUsersOnlineStatusReq) Reset() { *m = GetUsersOnlineStatusReq{} } -func (m *GetUsersOnlineStatusReq) String() string { return proto.CompactTextString(m) } -func (*GetUsersOnlineStatusReq) ProtoMessage() {} -func (*GetUsersOnlineStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_relay_fe7346d2191b0ff8, []int{6} -} -func (m *GetUsersOnlineStatusReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetUsersOnlineStatusReq.Unmarshal(m, b) -} -func (m *GetUsersOnlineStatusReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetUsersOnlineStatusReq.Marshal(b, m, deterministic) -} -func (dst *GetUsersOnlineStatusReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetUsersOnlineStatusReq.Merge(dst, src) -} -func (m *GetUsersOnlineStatusReq) XXX_Size() int { - return xxx_messageInfo_GetUsersOnlineStatusReq.Size(m) -} -func (m *GetUsersOnlineStatusReq) XXX_DiscardUnknown() { - xxx_messageInfo_GetUsersOnlineStatusReq.DiscardUnknown(m) -} - -var xxx_messageInfo_GetUsersOnlineStatusReq proto.InternalMessageInfo - -func (m *GetUsersOnlineStatusReq) GetUserIDList() []string { - if m != nil { - return m.UserIDList - } - return nil -} - -func (m *GetUsersOnlineStatusReq) GetOperationID() string { - if m != nil { - return m.OperationID - } - return "" -} - -func (m *GetUsersOnlineStatusReq) GetOpUserID() string { - if m != nil { - return m.OpUserID - } - return "" -} - -type GetUsersOnlineStatusResp struct { - ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` - ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` - SuccessResult []*GetUsersOnlineStatusResp_SuccessResult `protobuf:"bytes,3,rep,name=successResult" json:"successResult,omitempty"` - FailedResult []*GetUsersOnlineStatusResp_FailedDetail `protobuf:"bytes,4,rep,name=failedResult" json:"failedResult,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GetUsersOnlineStatusResp) Reset() { *m = GetUsersOnlineStatusResp{} } -func (m *GetUsersOnlineStatusResp) String() string { return proto.CompactTextString(m) } -func (*GetUsersOnlineStatusResp) ProtoMessage() {} -func (*GetUsersOnlineStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_relay_fe7346d2191b0ff8, []int{7} -} -func (m *GetUsersOnlineStatusResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetUsersOnlineStatusResp.Unmarshal(m, b) -} -func (m *GetUsersOnlineStatusResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetUsersOnlineStatusResp.Marshal(b, m, deterministic) -} -func (dst *GetUsersOnlineStatusResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetUsersOnlineStatusResp.Merge(dst, src) -} -func (m *GetUsersOnlineStatusResp) XXX_Size() int { - return xxx_messageInfo_GetUsersOnlineStatusResp.Size(m) -} -func (m *GetUsersOnlineStatusResp) XXX_DiscardUnknown() { - xxx_messageInfo_GetUsersOnlineStatusResp.DiscardUnknown(m) -} - -var xxx_messageInfo_GetUsersOnlineStatusResp proto.InternalMessageInfo - -func (m *GetUsersOnlineStatusResp) GetErrCode() int32 { - if m != nil { - return m.ErrCode - } - return 0 -} - -func (m *GetUsersOnlineStatusResp) GetErrMsg() string { - if m != nil { - return m.ErrMsg - } - return "" -} - -func (m *GetUsersOnlineStatusResp) GetSuccessResult() []*GetUsersOnlineStatusResp_SuccessResult { - if m != nil { - return m.SuccessResult - } - return nil -} - -func (m *GetUsersOnlineStatusResp) GetFailedResult() []*GetUsersOnlineStatusResp_FailedDetail { - if m != nil { - return m.FailedResult - } - return nil -} - -type GetUsersOnlineStatusResp_SuccessDetail struct { - Platform string `protobuf:"bytes,1,opt,name=platform" json:"platform,omitempty"` - Status string `protobuf:"bytes,2,opt,name=status" json:"status,omitempty"` - ConnID string `protobuf:"bytes,3,opt,name=connID" json:"connID,omitempty"` - IsBackground bool `protobuf:"varint,4,opt,name=isBackground" json:"isBackground,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GetUsersOnlineStatusResp_SuccessDetail) Reset() { - *m = GetUsersOnlineStatusResp_SuccessDetail{} -} -func (m *GetUsersOnlineStatusResp_SuccessDetail) String() string { return proto.CompactTextString(m) } -func (*GetUsersOnlineStatusResp_SuccessDetail) ProtoMessage() {} -func (*GetUsersOnlineStatusResp_SuccessDetail) Descriptor() ([]byte, []int) { - return fileDescriptor_relay_fe7346d2191b0ff8, []int{7, 0} -} -func (m *GetUsersOnlineStatusResp_SuccessDetail) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetUsersOnlineStatusResp_SuccessDetail.Unmarshal(m, b) -} -func (m *GetUsersOnlineStatusResp_SuccessDetail) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetUsersOnlineStatusResp_SuccessDetail.Marshal(b, m, deterministic) -} -func (dst *GetUsersOnlineStatusResp_SuccessDetail) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetUsersOnlineStatusResp_SuccessDetail.Merge(dst, src) -} -func (m *GetUsersOnlineStatusResp_SuccessDetail) XXX_Size() int { - return xxx_messageInfo_GetUsersOnlineStatusResp_SuccessDetail.Size(m) -} -func (m *GetUsersOnlineStatusResp_SuccessDetail) XXX_DiscardUnknown() { - xxx_messageInfo_GetUsersOnlineStatusResp_SuccessDetail.DiscardUnknown(m) -} - -var xxx_messageInfo_GetUsersOnlineStatusResp_SuccessDetail proto.InternalMessageInfo - -func (m *GetUsersOnlineStatusResp_SuccessDetail) GetPlatform() string { - if m != nil { - return m.Platform - } - return "" -} - -func (m *GetUsersOnlineStatusResp_SuccessDetail) GetStatus() string { - if m != nil { - return m.Status - } - return "" -} - -func (m *GetUsersOnlineStatusResp_SuccessDetail) GetConnID() string { - if m != nil { - return m.ConnID - } - return "" -} - -func (m *GetUsersOnlineStatusResp_SuccessDetail) GetIsBackground() bool { - if m != nil { - return m.IsBackground - } - return false -} - -type GetUsersOnlineStatusResp_FailedDetail struct { - UserID string `protobuf:"bytes,3,opt,name=userID" json:"userID,omitempty"` - ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` - ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GetUsersOnlineStatusResp_FailedDetail) Reset() { *m = GetUsersOnlineStatusResp_FailedDetail{} } -func (m *GetUsersOnlineStatusResp_FailedDetail) String() string { return proto.CompactTextString(m) } -func (*GetUsersOnlineStatusResp_FailedDetail) ProtoMessage() {} -func (*GetUsersOnlineStatusResp_FailedDetail) Descriptor() ([]byte, []int) { - return fileDescriptor_relay_fe7346d2191b0ff8, []int{7, 1} -} -func (m *GetUsersOnlineStatusResp_FailedDetail) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetUsersOnlineStatusResp_FailedDetail.Unmarshal(m, b) -} -func (m *GetUsersOnlineStatusResp_FailedDetail) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetUsersOnlineStatusResp_FailedDetail.Marshal(b, m, deterministic) -} -func (dst *GetUsersOnlineStatusResp_FailedDetail) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetUsersOnlineStatusResp_FailedDetail.Merge(dst, src) -} -func (m *GetUsersOnlineStatusResp_FailedDetail) XXX_Size() int { - return xxx_messageInfo_GetUsersOnlineStatusResp_FailedDetail.Size(m) -} -func (m *GetUsersOnlineStatusResp_FailedDetail) XXX_DiscardUnknown() { - xxx_messageInfo_GetUsersOnlineStatusResp_FailedDetail.DiscardUnknown(m) -} - -var xxx_messageInfo_GetUsersOnlineStatusResp_FailedDetail proto.InternalMessageInfo - -func (m *GetUsersOnlineStatusResp_FailedDetail) GetUserID() string { - if m != nil { - return m.UserID - } - return "" -} - -func (m *GetUsersOnlineStatusResp_FailedDetail) GetErrCode() int32 { - if m != nil { - return m.ErrCode - } - return 0 -} - -func (m *GetUsersOnlineStatusResp_FailedDetail) GetErrMsg() string { - if m != nil { - return m.ErrMsg - } - return "" -} - -type GetUsersOnlineStatusResp_SuccessResult struct { - UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` - Status string `protobuf:"bytes,2,opt,name=status" json:"status,omitempty"` - DetailPlatformStatus []*GetUsersOnlineStatusResp_SuccessDetail `protobuf:"bytes,3,rep,name=detailPlatformStatus" json:"detailPlatformStatus,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GetUsersOnlineStatusResp_SuccessResult) Reset() { - *m = GetUsersOnlineStatusResp_SuccessResult{} -} -func (m *GetUsersOnlineStatusResp_SuccessResult) String() string { return proto.CompactTextString(m) } -func (*GetUsersOnlineStatusResp_SuccessResult) ProtoMessage() {} -func (*GetUsersOnlineStatusResp_SuccessResult) Descriptor() ([]byte, []int) { - return fileDescriptor_relay_fe7346d2191b0ff8, []int{7, 2} -} -func (m *GetUsersOnlineStatusResp_SuccessResult) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetUsersOnlineStatusResp_SuccessResult.Unmarshal(m, b) -} -func (m *GetUsersOnlineStatusResp_SuccessResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetUsersOnlineStatusResp_SuccessResult.Marshal(b, m, deterministic) -} -func (dst *GetUsersOnlineStatusResp_SuccessResult) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetUsersOnlineStatusResp_SuccessResult.Merge(dst, src) -} -func (m *GetUsersOnlineStatusResp_SuccessResult) XXX_Size() int { - return xxx_messageInfo_GetUsersOnlineStatusResp_SuccessResult.Size(m) -} -func (m *GetUsersOnlineStatusResp_SuccessResult) XXX_DiscardUnknown() { - xxx_messageInfo_GetUsersOnlineStatusResp_SuccessResult.DiscardUnknown(m) -} - -var xxx_messageInfo_GetUsersOnlineStatusResp_SuccessResult proto.InternalMessageInfo - -func (m *GetUsersOnlineStatusResp_SuccessResult) GetUserID() string { - if m != nil { - return m.UserID - } - return "" -} - -func (m *GetUsersOnlineStatusResp_SuccessResult) GetStatus() string { - if m != nil { - return m.Status - } - return "" -} - -func (m *GetUsersOnlineStatusResp_SuccessResult) GetDetailPlatformStatus() []*GetUsersOnlineStatusResp_SuccessDetail { - if m != nil { - return m.DetailPlatformStatus - } - return nil -} - -type KickUserOfflineReq struct { - OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` - PlatformID int32 `protobuf:"varint,2,opt,name=platformID" json:"platformID,omitempty"` - KickUserIDList []string `protobuf:"bytes,3,rep,name=kickUserIDList" json:"kickUserIDList,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *KickUserOfflineReq) Reset() { *m = KickUserOfflineReq{} } -func (m *KickUserOfflineReq) String() string { return proto.CompactTextString(m) } -func (*KickUserOfflineReq) ProtoMessage() {} -func (*KickUserOfflineReq) Descriptor() ([]byte, []int) { - return fileDescriptor_relay_fe7346d2191b0ff8, []int{8} -} -func (m *KickUserOfflineReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_KickUserOfflineReq.Unmarshal(m, b) -} -func (m *KickUserOfflineReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_KickUserOfflineReq.Marshal(b, m, deterministic) -} -func (dst *KickUserOfflineReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_KickUserOfflineReq.Merge(dst, src) -} -func (m *KickUserOfflineReq) XXX_Size() int { - return xxx_messageInfo_KickUserOfflineReq.Size(m) -} -func (m *KickUserOfflineReq) XXX_DiscardUnknown() { - xxx_messageInfo_KickUserOfflineReq.DiscardUnknown(m) -} - -var xxx_messageInfo_KickUserOfflineReq proto.InternalMessageInfo - -func (m *KickUserOfflineReq) GetOperationID() string { - if m != nil { - return m.OperationID - } - return "" -} - -func (m *KickUserOfflineReq) GetPlatformID() int32 { - if m != nil { - return m.PlatformID - } - return 0 -} - -func (m *KickUserOfflineReq) GetKickUserIDList() []string { - if m != nil { - return m.KickUserIDList - } - return nil -} - -type KickUserOfflineResp struct { - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *KickUserOfflineResp) Reset() { *m = KickUserOfflineResp{} } -func (m *KickUserOfflineResp) String() string { return proto.CompactTextString(m) } -func (*KickUserOfflineResp) ProtoMessage() {} -func (*KickUserOfflineResp) Descriptor() ([]byte, []int) { - return fileDescriptor_relay_fe7346d2191b0ff8, []int{9} -} -func (m *KickUserOfflineResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_KickUserOfflineResp.Unmarshal(m, b) -} -func (m *KickUserOfflineResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_KickUserOfflineResp.Marshal(b, m, deterministic) -} -func (dst *KickUserOfflineResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_KickUserOfflineResp.Merge(dst, src) -} -func (m *KickUserOfflineResp) XXX_Size() int { - return xxx_messageInfo_KickUserOfflineResp.Size(m) -} -func (m *KickUserOfflineResp) XXX_DiscardUnknown() { - xxx_messageInfo_KickUserOfflineResp.DiscardUnknown(m) -} - -var xxx_messageInfo_KickUserOfflineResp proto.InternalMessageInfo - -type MultiTerminalLoginCheckReq struct { - UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` - PlatformID int32 `protobuf:"varint,2,opt,name=platformID" json:"platformID,omitempty"` - Token string `protobuf:"bytes,3,opt,name=token" json:"token,omitempty"` - OperationID string `protobuf:"bytes,4,opt,name=operationID" json:"operationID,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *MultiTerminalLoginCheckReq) Reset() { *m = MultiTerminalLoginCheckReq{} } -func (m *MultiTerminalLoginCheckReq) String() string { return proto.CompactTextString(m) } -func (*MultiTerminalLoginCheckReq) ProtoMessage() {} -func (*MultiTerminalLoginCheckReq) Descriptor() ([]byte, []int) { - return fileDescriptor_relay_fe7346d2191b0ff8, []int{10} -} -func (m *MultiTerminalLoginCheckReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_MultiTerminalLoginCheckReq.Unmarshal(m, b) -} -func (m *MultiTerminalLoginCheckReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_MultiTerminalLoginCheckReq.Marshal(b, m, deterministic) -} -func (dst *MultiTerminalLoginCheckReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_MultiTerminalLoginCheckReq.Merge(dst, src) -} -func (m *MultiTerminalLoginCheckReq) XXX_Size() int { - return xxx_messageInfo_MultiTerminalLoginCheckReq.Size(m) -} -func (m *MultiTerminalLoginCheckReq) XXX_DiscardUnknown() { - xxx_messageInfo_MultiTerminalLoginCheckReq.DiscardUnknown(m) -} - -var xxx_messageInfo_MultiTerminalLoginCheckReq proto.InternalMessageInfo - -func (m *MultiTerminalLoginCheckReq) GetUserID() string { - if m != nil { - return m.UserID - } - return "" -} - -func (m *MultiTerminalLoginCheckReq) GetPlatformID() int32 { - if m != nil { - return m.PlatformID - } - return 0 -} - -func (m *MultiTerminalLoginCheckReq) GetToken() string { - if m != nil { - return m.Token - } - return "" -} - -func (m *MultiTerminalLoginCheckReq) GetOperationID() string { - if m != nil { - return m.OperationID - } - return "" -} - -type MultiTerminalLoginCheckResp struct { - ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` - ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *MultiTerminalLoginCheckResp) Reset() { *m = MultiTerminalLoginCheckResp{} } -func (m *MultiTerminalLoginCheckResp) String() string { return proto.CompactTextString(m) } -func (*MultiTerminalLoginCheckResp) ProtoMessage() {} -func (*MultiTerminalLoginCheckResp) Descriptor() ([]byte, []int) { - return fileDescriptor_relay_fe7346d2191b0ff8, []int{11} -} -func (m *MultiTerminalLoginCheckResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_MultiTerminalLoginCheckResp.Unmarshal(m, b) -} -func (m *MultiTerminalLoginCheckResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_MultiTerminalLoginCheckResp.Marshal(b, m, deterministic) -} -func (dst *MultiTerminalLoginCheckResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_MultiTerminalLoginCheckResp.Merge(dst, src) -} -func (m *MultiTerminalLoginCheckResp) XXX_Size() int { - return xxx_messageInfo_MultiTerminalLoginCheckResp.Size(m) -} -func (m *MultiTerminalLoginCheckResp) XXX_DiscardUnknown() { - xxx_messageInfo_MultiTerminalLoginCheckResp.DiscardUnknown(m) -} - -var xxx_messageInfo_MultiTerminalLoginCheckResp proto.InternalMessageInfo - -func (m *MultiTerminalLoginCheckResp) GetErrCode() int32 { - if m != nil { - return m.ErrCode - } - return 0 -} - -func (m *MultiTerminalLoginCheckResp) GetErrMsg() string { - if m != nil { - return m.ErrMsg - } - return "" -} - -func init() { - proto.RegisterType((*OnlinePushMsgReq)(nil), "relay.OnlinePushMsgReq") - proto.RegisterType((*OnlinePushMsgResp)(nil), "relay.OnlinePushMsgResp") - proto.RegisterType((*SingelMsgToUserResultList)(nil), "relay.SingelMsgToUserResultList") - proto.RegisterType((*OnlineBatchPushOneMsgReq)(nil), "relay.OnlineBatchPushOneMsgReq") - proto.RegisterType((*OnlineBatchPushOneMsgResp)(nil), "relay.OnlineBatchPushOneMsgResp") - proto.RegisterType((*SingleMsgToUserPlatform)(nil), "relay.SingleMsgToUserPlatform") - proto.RegisterType((*GetUsersOnlineStatusReq)(nil), "relay.GetUsersOnlineStatusReq") - proto.RegisterType((*GetUsersOnlineStatusResp)(nil), "relay.GetUsersOnlineStatusResp") - proto.RegisterType((*GetUsersOnlineStatusResp_SuccessDetail)(nil), "relay.GetUsersOnlineStatusResp.SuccessDetail") - proto.RegisterType((*GetUsersOnlineStatusResp_FailedDetail)(nil), "relay.GetUsersOnlineStatusResp.FailedDetail") - proto.RegisterType((*GetUsersOnlineStatusResp_SuccessResult)(nil), "relay.GetUsersOnlineStatusResp.SuccessResult") - proto.RegisterType((*KickUserOfflineReq)(nil), "relay.KickUserOfflineReq") - proto.RegisterType((*KickUserOfflineResp)(nil), "relay.KickUserOfflineResp") - proto.RegisterType((*MultiTerminalLoginCheckReq)(nil), "relay.MultiTerminalLoginCheckReq") - proto.RegisterType((*MultiTerminalLoginCheckResp)(nil), "relay.MultiTerminalLoginCheckResp") -} - -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConn - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion4 - -// Client API for Relay service - -type RelayClient interface { - OnlinePushMsg(ctx context.Context, in *OnlinePushMsgReq, opts ...grpc.CallOption) (*OnlinePushMsgResp, error) - GetUsersOnlineStatus(ctx context.Context, in *GetUsersOnlineStatusReq, opts ...grpc.CallOption) (*GetUsersOnlineStatusResp, error) - OnlineBatchPushOneMsg(ctx context.Context, in *OnlineBatchPushOneMsgReq, opts ...grpc.CallOption) (*OnlineBatchPushOneMsgResp, error) - SuperGroupOnlineBatchPushOneMsg(ctx context.Context, in *OnlineBatchPushOneMsgReq, opts ...grpc.CallOption) (*OnlineBatchPushOneMsgResp, error) - KickUserOffline(ctx context.Context, in *KickUserOfflineReq, opts ...grpc.CallOption) (*KickUserOfflineResp, error) - MultiTerminalLoginCheck(ctx context.Context, in *MultiTerminalLoginCheckReq, opts ...grpc.CallOption) (*MultiTerminalLoginCheckResp, error) -} - -type relayClient struct { - cc *grpc.ClientConn -} - -func NewRelayClient(cc *grpc.ClientConn) RelayClient { - return &relayClient{cc} -} - -func (c *relayClient) OnlinePushMsg(ctx context.Context, in *OnlinePushMsgReq, opts ...grpc.CallOption) (*OnlinePushMsgResp, error) { - out := new(OnlinePushMsgResp) - err := grpc.Invoke(ctx, "/relay.relay/OnlinePushMsg", in, out, c.cc, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *relayClient) GetUsersOnlineStatus(ctx context.Context, in *GetUsersOnlineStatusReq, opts ...grpc.CallOption) (*GetUsersOnlineStatusResp, error) { - out := new(GetUsersOnlineStatusResp) - err := grpc.Invoke(ctx, "/relay.relay/GetUsersOnlineStatus", in, out, c.cc, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *relayClient) OnlineBatchPushOneMsg(ctx context.Context, in *OnlineBatchPushOneMsgReq, opts ...grpc.CallOption) (*OnlineBatchPushOneMsgResp, error) { - out := new(OnlineBatchPushOneMsgResp) - err := grpc.Invoke(ctx, "/relay.relay/OnlineBatchPushOneMsg", in, out, c.cc, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *relayClient) SuperGroupOnlineBatchPushOneMsg(ctx context.Context, in *OnlineBatchPushOneMsgReq, opts ...grpc.CallOption) (*OnlineBatchPushOneMsgResp, error) { - out := new(OnlineBatchPushOneMsgResp) - err := grpc.Invoke(ctx, "/relay.relay/SuperGroupOnlineBatchPushOneMsg", in, out, c.cc, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *relayClient) KickUserOffline(ctx context.Context, in *KickUserOfflineReq, opts ...grpc.CallOption) (*KickUserOfflineResp, error) { - out := new(KickUserOfflineResp) - err := grpc.Invoke(ctx, "/relay.relay/KickUserOffline", in, out, c.cc, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *relayClient) MultiTerminalLoginCheck(ctx context.Context, in *MultiTerminalLoginCheckReq, opts ...grpc.CallOption) (*MultiTerminalLoginCheckResp, error) { - out := new(MultiTerminalLoginCheckResp) - err := grpc.Invoke(ctx, "/relay.relay/MultiTerminalLoginCheck", in, out, c.cc, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// Server API for Relay service - -type RelayServer interface { - OnlinePushMsg(context.Context, *OnlinePushMsgReq) (*OnlinePushMsgResp, error) - GetUsersOnlineStatus(context.Context, *GetUsersOnlineStatusReq) (*GetUsersOnlineStatusResp, error) - OnlineBatchPushOneMsg(context.Context, *OnlineBatchPushOneMsgReq) (*OnlineBatchPushOneMsgResp, error) - SuperGroupOnlineBatchPushOneMsg(context.Context, *OnlineBatchPushOneMsgReq) (*OnlineBatchPushOneMsgResp, error) - KickUserOffline(context.Context, *KickUserOfflineReq) (*KickUserOfflineResp, error) - MultiTerminalLoginCheck(context.Context, *MultiTerminalLoginCheckReq) (*MultiTerminalLoginCheckResp, error) -} - -func RegisterRelayServer(s *grpc.Server, srv RelayServer) { - s.RegisterService(&_Relay_serviceDesc, srv) -} - -func _Relay_OnlinePushMsg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(OnlinePushMsgReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(RelayServer).OnlinePushMsg(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/relay.relay/OnlinePushMsg", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(RelayServer).OnlinePushMsg(ctx, req.(*OnlinePushMsgReq)) - } - return interceptor(ctx, in, info, handler) -} - -func _Relay_GetUsersOnlineStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetUsersOnlineStatusReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(RelayServer).GetUsersOnlineStatus(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/relay.relay/GetUsersOnlineStatus", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(RelayServer).GetUsersOnlineStatus(ctx, req.(*GetUsersOnlineStatusReq)) - } - return interceptor(ctx, in, info, handler) -} - -func _Relay_OnlineBatchPushOneMsg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(OnlineBatchPushOneMsgReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(RelayServer).OnlineBatchPushOneMsg(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/relay.relay/OnlineBatchPushOneMsg", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(RelayServer).OnlineBatchPushOneMsg(ctx, req.(*OnlineBatchPushOneMsgReq)) - } - return interceptor(ctx, in, info, handler) -} - -func _Relay_SuperGroupOnlineBatchPushOneMsg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(OnlineBatchPushOneMsgReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(RelayServer).SuperGroupOnlineBatchPushOneMsg(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/relay.relay/SuperGroupOnlineBatchPushOneMsg", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(RelayServer).SuperGroupOnlineBatchPushOneMsg(ctx, req.(*OnlineBatchPushOneMsgReq)) - } - return interceptor(ctx, in, info, handler) -} - -func _Relay_KickUserOffline_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(KickUserOfflineReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(RelayServer).KickUserOffline(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/relay.relay/KickUserOffline", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(RelayServer).KickUserOffline(ctx, req.(*KickUserOfflineReq)) - } - return interceptor(ctx, in, info, handler) -} - -func _Relay_MultiTerminalLoginCheck_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MultiTerminalLoginCheckReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(RelayServer).MultiTerminalLoginCheck(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/relay.relay/MultiTerminalLoginCheck", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(RelayServer).MultiTerminalLoginCheck(ctx, req.(*MultiTerminalLoginCheckReq)) - } - return interceptor(ctx, in, info, handler) -} - -var _Relay_serviceDesc = grpc.ServiceDesc{ - ServiceName: "relay.relay", - HandlerType: (*RelayServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "OnlinePushMsg", - Handler: _Relay_OnlinePushMsg_Handler, - }, - { - MethodName: "GetUsersOnlineStatus", - Handler: _Relay_GetUsersOnlineStatus_Handler, - }, - { - MethodName: "OnlineBatchPushOneMsg", - Handler: _Relay_OnlineBatchPushOneMsg_Handler, - }, - { - MethodName: "SuperGroupOnlineBatchPushOneMsg", - Handler: _Relay_SuperGroupOnlineBatchPushOneMsg_Handler, - }, - { - MethodName: "KickUserOffline", - Handler: _Relay_KickUserOffline_Handler, - }, - { - MethodName: "MultiTerminalLoginCheck", - Handler: _Relay_MultiTerminalLoginCheck_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "relay/relay.proto", -} - -func init() { proto.RegisterFile("relay/relay.proto", fileDescriptor_relay_fe7346d2191b0ff8) } - -var fileDescriptor_relay_fe7346d2191b0ff8 = []byte{ - // 844 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0x4f, 0x6f, 0xe3, 0x44, - 0x14, 0x97, 0x37, 0xc9, 0xee, 0xf6, 0xb5, 0x85, 0xee, 0xd0, 0x25, 0xae, 0x91, 0x92, 0xac, 0x0f, - 0x28, 0x42, 0x34, 0x91, 0x02, 0x37, 0x6e, 0xd9, 0x68, 0x4b, 0x44, 0xa3, 0x54, 0x93, 0x45, 0xa0, - 0xbd, 0x04, 0xd7, 0x99, 0x38, 0x56, 0x1c, 0xcf, 0x74, 0xc6, 0x6e, 0xd5, 0x0b, 0x1c, 0xb9, 0x20, - 0x0e, 0x7c, 0x00, 0x0e, 0x7c, 0x45, 0xbe, 0x00, 0x9a, 0x3f, 0x31, 0x76, 0x12, 0x37, 0x14, 0xa9, - 0x97, 0x36, 0xef, 0xe7, 0xf7, 0xef, 0xf7, 0x7b, 0x6f, 0xc6, 0x86, 0x57, 0x9c, 0x44, 0xde, 0x7d, - 0x57, 0xfd, 0xed, 0x30, 0x4e, 0x13, 0x8a, 0x6a, 0xca, 0x70, 0xda, 0x63, 0x46, 0xe2, 0xf3, 0xe1, - 0xe8, 0x7c, 0x42, 0xf8, 0x2d, 0xe1, 0x5d, 0xb6, 0x0c, 0xba, 0xca, 0xa1, 0x2b, 0x66, 0xcb, 0xe9, - 0x9d, 0xe8, 0xde, 0x09, 0x1d, 0xe0, 0xfe, 0x6e, 0xc1, 0xc9, 0x38, 0x8e, 0xc2, 0x98, 0x5c, 0xa5, - 0x62, 0x31, 0x12, 0x01, 0x26, 0x37, 0xa8, 0x05, 0x87, 0x63, 0x46, 0xb8, 0x97, 0x84, 0x34, 0x1e, - 0x0e, 0x6c, 0xab, 0x65, 0xb5, 0x0f, 0x70, 0x1e, 0x42, 0x5f, 0xc3, 0x8b, 0x95, 0x08, 0x06, 0x5e, - 0xe2, 0xd9, 0xcf, 0x5a, 0x56, 0xfb, 0xb0, 0xe7, 0x74, 0x84, 0x2a, 0x35, 0xf5, 0x58, 0x38, 0x65, - 0x1e, 0xf7, 0x56, 0xa2, 0x33, 0xd2, 0x1e, 0x78, 0xed, 0x8a, 0x5c, 0x38, 0x62, 0xa9, 0x58, 0xbc, - 0xa7, 0xdf, 0x0b, 0xc2, 0x87, 0x03, 0xbb, 0xa2, 0x12, 0x17, 0x30, 0xf7, 0x02, 0x5e, 0x6d, 0xf4, - 0x23, 0x18, 0xea, 0x41, 0x95, 0x13, 0xc1, 0x6c, 0xab, 0x55, 0x69, 0x1f, 0xf6, 0x1a, 0x1d, 0x4d, - 0x79, 0x12, 0xc6, 0x41, 0x44, 0x46, 0x22, 0xd0, 0xc1, 0x57, 0x91, 0x97, 0xcc, 0x29, 0x5f, 0x61, - 0xe5, 0xeb, 0xfe, 0x6a, 0xc1, 0x99, 0xf4, 0x20, 0x51, 0xe6, 0x81, 0x89, 0x48, 0xa3, 0xe4, 0x32, - 0x14, 0x09, 0xfa, 0x14, 0x9e, 0xa7, 0xba, 0x09, 0xcd, 0xce, 0x58, 0x59, 0xa5, 0x67, 0xff, 0xbd, - 0x12, 0x6a, 0x00, 0xd0, 0xac, 0x65, 0x45, 0xea, 0x25, 0xce, 0x21, 0xee, 0x9f, 0x16, 0xd8, 0x9a, - 0x53, 0xdf, 0x4b, 0xfc, 0x85, 0xc4, 0xc6, 0x31, 0x79, 0x62, 0xad, 0xbf, 0x80, 0x93, 0xbc, 0xae, - 0x92, 0xb4, 0x5d, 0x69, 0x55, 0xda, 0x07, 0x78, 0x0b, 0x77, 0x43, 0x38, 0x2b, 0xe9, 0x4f, 0x30, - 0x74, 0x09, 0x27, 0x42, 0xd1, 0x97, 0xb8, 0x56, 0xd0, 0xcc, 0xa1, 0x95, 0x53, 0x67, 0xa7, 0xca, - 0x78, 0x2b, 0xd2, 0xbd, 0x87, 0x7a, 0x89, 0x98, 0x52, 0x46, 0xed, 0xf4, 0x96, 0xce, 0x88, 0x12, - 0xa2, 0x82, 0x73, 0x88, 0x1c, 0x19, 0x26, 0xfe, 0xed, 0x70, 0xa0, 0x64, 0x38, 0xc0, 0xc6, 0x42, - 0x9f, 0xc3, 0x47, 0xf2, 0x97, 0xcc, 0xf3, 0x8e, 0xf2, 0x95, 0xd9, 0xab, 0x1a, 0xde, 0x40, 0xdd, - 0x3b, 0xa8, 0x5f, 0x90, 0x44, 0x96, 0x14, 0x9a, 0xed, 0x24, 0xf1, 0x92, 0x54, 0xc8, 0x21, 0x34, - 0x00, 0xd2, 0x7f, 0x65, 0xb2, 0x94, 0x4c, 0x39, 0x44, 0x0e, 0x89, 0xe6, 0x86, 0xa4, 0xeb, 0xe7, - 0x21, 0xe4, 0xc0, 0x4b, 0xca, 0x0a, 0x6b, 0x9d, 0xd9, 0xee, 0xdf, 0x55, 0xb0, 0x77, 0x57, 0x16, - 0x0c, 0xd9, 0xf0, 0x82, 0x70, 0x9e, 0x51, 0xae, 0xe1, 0xb5, 0x29, 0xf9, 0x12, 0xce, 0x47, 0x22, - 0x58, 0xf3, 0xd5, 0x16, 0x9a, 0xc0, 0xb1, 0x48, 0x7d, 0x9f, 0x08, 0x61, 0xa6, 0x51, 0x51, 0xd3, - 0x38, 0x37, 0xd3, 0x28, 0xab, 0xd4, 0x99, 0xe4, 0x83, 0x70, 0x31, 0x07, 0xba, 0x82, 0xa3, 0xb9, - 0x17, 0x46, 0x64, 0x66, 0x72, 0x56, 0x55, 0xce, 0x2f, 0xf7, 0xe5, 0x7c, 0xa7, 0x62, 0x06, 0x24, - 0xf1, 0xc2, 0x08, 0x17, 0x32, 0x38, 0xbf, 0xc0, 0xb1, 0xa9, 0xa8, 0x1f, 0x4b, 0x89, 0x98, 0x99, - 0xb5, 0x59, 0xf3, 0xcc, 0x96, 0x5c, 0x85, 0xca, 0xba, 0xe6, 0xaa, 0x2d, 0x89, 0xfb, 0x34, 0x8e, - 0x33, 0x51, 0x8d, 0x25, 0x6f, 0x92, 0x50, 0xf4, 0x3d, 0x7f, 0x19, 0x70, 0x9a, 0xc6, 0x33, 0xbb, - 0xaa, 0x0e, 0x5d, 0x01, 0x73, 0x7e, 0x84, 0xa3, 0x7c, 0x7b, 0xb9, 0x23, 0x5f, 0x29, 0x1c, 0xf9, - 0x47, 0x4f, 0xc0, 0xf9, 0xcb, 0xca, 0xb8, 0x19, 0xf9, 0xca, 0xae, 0x93, 0x32, 0x5e, 0x1e, 0x9c, - 0xce, 0x54, 0x57, 0xeb, 0xed, 0xd7, 0x9a, 0x3e, 0x72, 0x94, 0x46, 0xf7, 0x9d, 0xa9, 0xdc, 0x9f, - 0x01, 0x7d, 0x17, 0xfa, 0x4b, 0x99, 0x60, 0x3c, 0x9f, 0xcb, 0x04, 0xe6, 0xba, 0xa1, 0xdb, 0xd7, - 0x4d, 0x7e, 0x93, 0x1b, 0x00, 0xeb, 0xb1, 0x98, 0x55, 0xaf, 0xe1, 0x1c, 0x22, 0x8f, 0xdb, 0xd2, - 0xe4, 0x2d, 0x5c, 0x2b, 0x1b, 0xa8, 0xfb, 0x1a, 0x3e, 0xd9, 0xaa, 0x2f, 0x98, 0xfb, 0x9b, 0x05, - 0xce, 0x28, 0x8d, 0x92, 0xf0, 0x3d, 0xe1, 0xab, 0x30, 0xf6, 0xa2, 0x4b, 0x1a, 0x84, 0xf1, 0xdb, - 0x05, 0xf1, 0x97, 0xb2, 0xbf, 0x32, 0x21, 0xf7, 0x75, 0x75, 0x0a, 0xb5, 0x84, 0x2e, 0x49, 0x6c, - 0x66, 0xab, 0x8d, 0x4d, 0xb6, 0xd5, 0x2d, 0xb6, 0xee, 0x18, 0x3e, 0x2b, 0xed, 0xe6, 0xff, 0x9c, - 0xce, 0xde, 0x1f, 0x55, 0xd0, 0x2f, 0x61, 0xd4, 0x87, 0xe3, 0xc2, 0x9b, 0x0c, 0xd5, 0xcd, 0x58, - 0x37, 0xdf, 0xb7, 0x8e, 0xbd, 0xfb, 0x81, 0x60, 0xe8, 0x07, 0x38, 0xdd, 0xb5, 0x04, 0xa8, 0xf1, - 0xe0, 0x86, 0xdc, 0x38, 0xcd, 0x3d, 0x1b, 0x84, 0x3e, 0xc0, 0xeb, 0x9d, 0x57, 0x3e, 0x6a, 0x16, - 0x7a, 0xd9, 0x7e, 0x61, 0x39, 0xad, 0x87, 0x1d, 0x04, 0x43, 0x33, 0x68, 0x4e, 0x52, 0x46, 0xf8, - 0x05, 0xa7, 0x29, 0x7b, 0xb2, 0x2a, 0xdf, 0xc2, 0xc7, 0x1b, 0xfb, 0x85, 0xce, 0x4c, 0xd0, 0xf6, - 0xde, 0x3b, 0x4e, 0xd9, 0x23, 0xc1, 0xd0, 0x4f, 0x50, 0x2f, 0xd9, 0x01, 0xf4, 0xc6, 0x84, 0x95, - 0x6f, 0xac, 0xe3, 0xee, 0x73, 0x11, 0xac, 0xff, 0xe6, 0x43, 0x53, 0x7e, 0x91, 0x4d, 0x87, 0xa3, - 0xdc, 0xa7, 0x98, 0x0a, 0xfb, 0x86, 0x5d, 0x63, 0xf9, 0xff, 0xfa, 0xb9, 0x02, 0xbf, 0xfa, 0x27, - 0x00, 0x00, 0xff, 0xff, 0xcb, 0xed, 0x6a, 0xe8, 0xd5, 0x09, 0x00, 0x00, -} diff --git a/pkg/proto/relay/relay.proto b/pkg/proto/relay/relay.proto index ee1c926cf..8dbd80548 100644 --- a/pkg/proto/relay/relay.proto +++ b/pkg/proto/relay/relay.proto @@ -98,5 +98,6 @@ service relay { rpc SuperGroupOnlineBatchPushOneMsg(OnlineBatchPushOneMsgReq) returns(OnlineBatchPushOneMsgResp); rpc KickUserOffline(KickUserOfflineReq) returns(KickUserOfflineResp); rpc MultiTerminalLoginCheck(MultiTerminalLoginCheckReq) returns(MultiTerminalLoginCheckResp); + rpc SuperGroupBackgroundOnlinePush(OnlineBatchPushOneMsgReq) returns(OnlineBatchPushOneMsgResp); } From 6b8b5f7896f7dd981eff2145419151f606003559 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 2 Jan 2023 19:07:24 +0800 Subject: [PATCH 175/176] push update --- pkg/proto/relay/relay.pb.go | 1147 +++++++++++++++++++++++++++++++++++ 1 file changed, 1147 insertions(+) create mode 100644 pkg/proto/relay/relay.pb.go diff --git a/pkg/proto/relay/relay.pb.go b/pkg/proto/relay/relay.pb.go new file mode 100644 index 000000000..8da60edd5 --- /dev/null +++ b/pkg/proto/relay/relay.pb.go @@ -0,0 +1,1147 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: relay/relay.proto + +package pbRelay // import "Open_IM/pkg/proto/relay" + +import proto "github.com/golang/protobuf/proto" +import fmt "fmt" +import math "math" +import sdk_ws "Open_IM/pkg/proto/sdk_ws" + +import ( + context "golang.org/x/net/context" + grpc "google.golang.org/grpc" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package + +type OnlinePushMsgReq struct { + OperationID string `protobuf:"bytes,1,opt,name=OperationID" json:"OperationID,omitempty"` + MsgData *sdk_ws.MsgData `protobuf:"bytes,2,opt,name=msgData" json:"msgData,omitempty"` + PushToUserID string `protobuf:"bytes,3,opt,name=pushToUserID" json:"pushToUserID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *OnlinePushMsgReq) Reset() { *m = OnlinePushMsgReq{} } +func (m *OnlinePushMsgReq) String() string { return proto.CompactTextString(m) } +func (*OnlinePushMsgReq) ProtoMessage() {} +func (*OnlinePushMsgReq) Descriptor() ([]byte, []int) { + return fileDescriptor_relay_8a2a5bc32d9acd54, []int{0} +} +func (m *OnlinePushMsgReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OnlinePushMsgReq.Unmarshal(m, b) +} +func (m *OnlinePushMsgReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OnlinePushMsgReq.Marshal(b, m, deterministic) +} +func (dst *OnlinePushMsgReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_OnlinePushMsgReq.Merge(dst, src) +} +func (m *OnlinePushMsgReq) XXX_Size() int { + return xxx_messageInfo_OnlinePushMsgReq.Size(m) +} +func (m *OnlinePushMsgReq) XXX_DiscardUnknown() { + xxx_messageInfo_OnlinePushMsgReq.DiscardUnknown(m) +} + +var xxx_messageInfo_OnlinePushMsgReq proto.InternalMessageInfo + +func (m *OnlinePushMsgReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *OnlinePushMsgReq) GetMsgData() *sdk_ws.MsgData { + if m != nil { + return m.MsgData + } + return nil +} + +func (m *OnlinePushMsgReq) GetPushToUserID() string { + if m != nil { + return m.PushToUserID + } + return "" +} + +type OnlinePushMsgResp struct { + Resp []*SingleMsgToUserPlatform `protobuf:"bytes,1,rep,name=resp" json:"resp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *OnlinePushMsgResp) Reset() { *m = OnlinePushMsgResp{} } +func (m *OnlinePushMsgResp) String() string { return proto.CompactTextString(m) } +func (*OnlinePushMsgResp) ProtoMessage() {} +func (*OnlinePushMsgResp) Descriptor() ([]byte, []int) { + return fileDescriptor_relay_8a2a5bc32d9acd54, []int{1} +} +func (m *OnlinePushMsgResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OnlinePushMsgResp.Unmarshal(m, b) +} +func (m *OnlinePushMsgResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OnlinePushMsgResp.Marshal(b, m, deterministic) +} +func (dst *OnlinePushMsgResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_OnlinePushMsgResp.Merge(dst, src) +} +func (m *OnlinePushMsgResp) XXX_Size() int { + return xxx_messageInfo_OnlinePushMsgResp.Size(m) +} +func (m *OnlinePushMsgResp) XXX_DiscardUnknown() { + xxx_messageInfo_OnlinePushMsgResp.DiscardUnknown(m) +} + +var xxx_messageInfo_OnlinePushMsgResp proto.InternalMessageInfo + +func (m *OnlinePushMsgResp) GetResp() []*SingleMsgToUserPlatform { + if m != nil { + return m.Resp + } + return nil +} + +type SingelMsgToUserResultList struct { + UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` + Resp []*SingleMsgToUserPlatform `protobuf:"bytes,2,rep,name=resp" json:"resp,omitempty"` + OnlinePush bool `protobuf:"varint,3,opt,name=onlinePush" json:"onlinePush,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SingelMsgToUserResultList) Reset() { *m = SingelMsgToUserResultList{} } +func (m *SingelMsgToUserResultList) String() string { return proto.CompactTextString(m) } +func (*SingelMsgToUserResultList) ProtoMessage() {} +func (*SingelMsgToUserResultList) Descriptor() ([]byte, []int) { + return fileDescriptor_relay_8a2a5bc32d9acd54, []int{2} +} +func (m *SingelMsgToUserResultList) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SingelMsgToUserResultList.Unmarshal(m, b) +} +func (m *SingelMsgToUserResultList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SingelMsgToUserResultList.Marshal(b, m, deterministic) +} +func (dst *SingelMsgToUserResultList) XXX_Merge(src proto.Message) { + xxx_messageInfo_SingelMsgToUserResultList.Merge(dst, src) +} +func (m *SingelMsgToUserResultList) XXX_Size() int { + return xxx_messageInfo_SingelMsgToUserResultList.Size(m) +} +func (m *SingelMsgToUserResultList) XXX_DiscardUnknown() { + xxx_messageInfo_SingelMsgToUserResultList.DiscardUnknown(m) +} + +var xxx_messageInfo_SingelMsgToUserResultList proto.InternalMessageInfo + +func (m *SingelMsgToUserResultList) GetUserID() string { + if m != nil { + return m.UserID + } + return "" +} + +func (m *SingelMsgToUserResultList) GetResp() []*SingleMsgToUserPlatform { + if m != nil { + return m.Resp + } + return nil +} + +func (m *SingelMsgToUserResultList) GetOnlinePush() bool { + if m != nil { + return m.OnlinePush + } + return false +} + +type OnlineBatchPushOneMsgReq struct { + OperationID string `protobuf:"bytes,1,opt,name=OperationID" json:"OperationID,omitempty"` + MsgData *sdk_ws.MsgData `protobuf:"bytes,2,opt,name=msgData" json:"msgData,omitempty"` + PushToUserIDList []string `protobuf:"bytes,3,rep,name=pushToUserIDList" json:"pushToUserIDList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *OnlineBatchPushOneMsgReq) Reset() { *m = OnlineBatchPushOneMsgReq{} } +func (m *OnlineBatchPushOneMsgReq) String() string { return proto.CompactTextString(m) } +func (*OnlineBatchPushOneMsgReq) ProtoMessage() {} +func (*OnlineBatchPushOneMsgReq) Descriptor() ([]byte, []int) { + return fileDescriptor_relay_8a2a5bc32d9acd54, []int{3} +} +func (m *OnlineBatchPushOneMsgReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OnlineBatchPushOneMsgReq.Unmarshal(m, b) +} +func (m *OnlineBatchPushOneMsgReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OnlineBatchPushOneMsgReq.Marshal(b, m, deterministic) +} +func (dst *OnlineBatchPushOneMsgReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_OnlineBatchPushOneMsgReq.Merge(dst, src) +} +func (m *OnlineBatchPushOneMsgReq) XXX_Size() int { + return xxx_messageInfo_OnlineBatchPushOneMsgReq.Size(m) +} +func (m *OnlineBatchPushOneMsgReq) XXX_DiscardUnknown() { + xxx_messageInfo_OnlineBatchPushOneMsgReq.DiscardUnknown(m) +} + +var xxx_messageInfo_OnlineBatchPushOneMsgReq proto.InternalMessageInfo + +func (m *OnlineBatchPushOneMsgReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *OnlineBatchPushOneMsgReq) GetMsgData() *sdk_ws.MsgData { + if m != nil { + return m.MsgData + } + return nil +} + +func (m *OnlineBatchPushOneMsgReq) GetPushToUserIDList() []string { + if m != nil { + return m.PushToUserIDList + } + return nil +} + +type OnlineBatchPushOneMsgResp struct { + SinglePushResult []*SingelMsgToUserResultList `protobuf:"bytes,1,rep,name=singlePushResult" json:"singlePushResult,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *OnlineBatchPushOneMsgResp) Reset() { *m = OnlineBatchPushOneMsgResp{} } +func (m *OnlineBatchPushOneMsgResp) String() string { return proto.CompactTextString(m) } +func (*OnlineBatchPushOneMsgResp) ProtoMessage() {} +func (*OnlineBatchPushOneMsgResp) Descriptor() ([]byte, []int) { + return fileDescriptor_relay_8a2a5bc32d9acd54, []int{4} +} +func (m *OnlineBatchPushOneMsgResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OnlineBatchPushOneMsgResp.Unmarshal(m, b) +} +func (m *OnlineBatchPushOneMsgResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OnlineBatchPushOneMsgResp.Marshal(b, m, deterministic) +} +func (dst *OnlineBatchPushOneMsgResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_OnlineBatchPushOneMsgResp.Merge(dst, src) +} +func (m *OnlineBatchPushOneMsgResp) XXX_Size() int { + return xxx_messageInfo_OnlineBatchPushOneMsgResp.Size(m) +} +func (m *OnlineBatchPushOneMsgResp) XXX_DiscardUnknown() { + xxx_messageInfo_OnlineBatchPushOneMsgResp.DiscardUnknown(m) +} + +var xxx_messageInfo_OnlineBatchPushOneMsgResp proto.InternalMessageInfo + +func (m *OnlineBatchPushOneMsgResp) GetSinglePushResult() []*SingelMsgToUserResultList { + if m != nil { + return m.SinglePushResult + } + return nil +} + +type SingleMsgToUserPlatform struct { + ResultCode int64 `protobuf:"varint,1,opt,name=ResultCode" json:"ResultCode,omitempty"` + RecvID string `protobuf:"bytes,2,opt,name=RecvID" json:"RecvID,omitempty"` + RecvPlatFormID int32 `protobuf:"varint,3,opt,name=RecvPlatFormID" json:"RecvPlatFormID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SingleMsgToUserPlatform) Reset() { *m = SingleMsgToUserPlatform{} } +func (m *SingleMsgToUserPlatform) String() string { return proto.CompactTextString(m) } +func (*SingleMsgToUserPlatform) ProtoMessage() {} +func (*SingleMsgToUserPlatform) Descriptor() ([]byte, []int) { + return fileDescriptor_relay_8a2a5bc32d9acd54, []int{5} +} +func (m *SingleMsgToUserPlatform) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SingleMsgToUserPlatform.Unmarshal(m, b) +} +func (m *SingleMsgToUserPlatform) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SingleMsgToUserPlatform.Marshal(b, m, deterministic) +} +func (dst *SingleMsgToUserPlatform) XXX_Merge(src proto.Message) { + xxx_messageInfo_SingleMsgToUserPlatform.Merge(dst, src) +} +func (m *SingleMsgToUserPlatform) XXX_Size() int { + return xxx_messageInfo_SingleMsgToUserPlatform.Size(m) +} +func (m *SingleMsgToUserPlatform) XXX_DiscardUnknown() { + xxx_messageInfo_SingleMsgToUserPlatform.DiscardUnknown(m) +} + +var xxx_messageInfo_SingleMsgToUserPlatform proto.InternalMessageInfo + +func (m *SingleMsgToUserPlatform) GetResultCode() int64 { + if m != nil { + return m.ResultCode + } + return 0 +} + +func (m *SingleMsgToUserPlatform) GetRecvID() string { + if m != nil { + return m.RecvID + } + return "" +} + +func (m *SingleMsgToUserPlatform) GetRecvPlatFormID() int32 { + if m != nil { + return m.RecvPlatFormID + } + return 0 +} + +type GetUsersOnlineStatusReq struct { + UserIDList []string `protobuf:"bytes,1,rep,name=userIDList" json:"userIDList,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,omitempty"` + OpUserID string `protobuf:"bytes,3,opt,name=opUserID" json:"opUserID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetUsersOnlineStatusReq) Reset() { *m = GetUsersOnlineStatusReq{} } +func (m *GetUsersOnlineStatusReq) String() string { return proto.CompactTextString(m) } +func (*GetUsersOnlineStatusReq) ProtoMessage() {} +func (*GetUsersOnlineStatusReq) Descriptor() ([]byte, []int) { + return fileDescriptor_relay_8a2a5bc32d9acd54, []int{6} +} +func (m *GetUsersOnlineStatusReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUsersOnlineStatusReq.Unmarshal(m, b) +} +func (m *GetUsersOnlineStatusReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUsersOnlineStatusReq.Marshal(b, m, deterministic) +} +func (dst *GetUsersOnlineStatusReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUsersOnlineStatusReq.Merge(dst, src) +} +func (m *GetUsersOnlineStatusReq) XXX_Size() int { + return xxx_messageInfo_GetUsersOnlineStatusReq.Size(m) +} +func (m *GetUsersOnlineStatusReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetUsersOnlineStatusReq.DiscardUnknown(m) +} + +var xxx_messageInfo_GetUsersOnlineStatusReq proto.InternalMessageInfo + +func (m *GetUsersOnlineStatusReq) GetUserIDList() []string { + if m != nil { + return m.UserIDList + } + return nil +} + +func (m *GetUsersOnlineStatusReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *GetUsersOnlineStatusReq) GetOpUserID() string { + if m != nil { + return m.OpUserID + } + return "" +} + +type GetUsersOnlineStatusResp struct { + ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` + SuccessResult []*GetUsersOnlineStatusResp_SuccessResult `protobuf:"bytes,3,rep,name=successResult" json:"successResult,omitempty"` + FailedResult []*GetUsersOnlineStatusResp_FailedDetail `protobuf:"bytes,4,rep,name=failedResult" json:"failedResult,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetUsersOnlineStatusResp) Reset() { *m = GetUsersOnlineStatusResp{} } +func (m *GetUsersOnlineStatusResp) String() string { return proto.CompactTextString(m) } +func (*GetUsersOnlineStatusResp) ProtoMessage() {} +func (*GetUsersOnlineStatusResp) Descriptor() ([]byte, []int) { + return fileDescriptor_relay_8a2a5bc32d9acd54, []int{7} +} +func (m *GetUsersOnlineStatusResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUsersOnlineStatusResp.Unmarshal(m, b) +} +func (m *GetUsersOnlineStatusResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUsersOnlineStatusResp.Marshal(b, m, deterministic) +} +func (dst *GetUsersOnlineStatusResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUsersOnlineStatusResp.Merge(dst, src) +} +func (m *GetUsersOnlineStatusResp) XXX_Size() int { + return xxx_messageInfo_GetUsersOnlineStatusResp.Size(m) +} +func (m *GetUsersOnlineStatusResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetUsersOnlineStatusResp.DiscardUnknown(m) +} + +var xxx_messageInfo_GetUsersOnlineStatusResp proto.InternalMessageInfo + +func (m *GetUsersOnlineStatusResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode + } + return 0 +} + +func (m *GetUsersOnlineStatusResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg + } + return "" +} + +func (m *GetUsersOnlineStatusResp) GetSuccessResult() []*GetUsersOnlineStatusResp_SuccessResult { + if m != nil { + return m.SuccessResult + } + return nil +} + +func (m *GetUsersOnlineStatusResp) GetFailedResult() []*GetUsersOnlineStatusResp_FailedDetail { + if m != nil { + return m.FailedResult + } + return nil +} + +type GetUsersOnlineStatusResp_SuccessDetail struct { + Platform string `protobuf:"bytes,1,opt,name=platform" json:"platform,omitempty"` + Status string `protobuf:"bytes,2,opt,name=status" json:"status,omitempty"` + ConnID string `protobuf:"bytes,3,opt,name=connID" json:"connID,omitempty"` + IsBackground bool `protobuf:"varint,4,opt,name=isBackground" json:"isBackground,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetUsersOnlineStatusResp_SuccessDetail) Reset() { + *m = GetUsersOnlineStatusResp_SuccessDetail{} +} +func (m *GetUsersOnlineStatusResp_SuccessDetail) String() string { return proto.CompactTextString(m) } +func (*GetUsersOnlineStatusResp_SuccessDetail) ProtoMessage() {} +func (*GetUsersOnlineStatusResp_SuccessDetail) Descriptor() ([]byte, []int) { + return fileDescriptor_relay_8a2a5bc32d9acd54, []int{7, 0} +} +func (m *GetUsersOnlineStatusResp_SuccessDetail) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUsersOnlineStatusResp_SuccessDetail.Unmarshal(m, b) +} +func (m *GetUsersOnlineStatusResp_SuccessDetail) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUsersOnlineStatusResp_SuccessDetail.Marshal(b, m, deterministic) +} +func (dst *GetUsersOnlineStatusResp_SuccessDetail) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUsersOnlineStatusResp_SuccessDetail.Merge(dst, src) +} +func (m *GetUsersOnlineStatusResp_SuccessDetail) XXX_Size() int { + return xxx_messageInfo_GetUsersOnlineStatusResp_SuccessDetail.Size(m) +} +func (m *GetUsersOnlineStatusResp_SuccessDetail) XXX_DiscardUnknown() { + xxx_messageInfo_GetUsersOnlineStatusResp_SuccessDetail.DiscardUnknown(m) +} + +var xxx_messageInfo_GetUsersOnlineStatusResp_SuccessDetail proto.InternalMessageInfo + +func (m *GetUsersOnlineStatusResp_SuccessDetail) GetPlatform() string { + if m != nil { + return m.Platform + } + return "" +} + +func (m *GetUsersOnlineStatusResp_SuccessDetail) GetStatus() string { + if m != nil { + return m.Status + } + return "" +} + +func (m *GetUsersOnlineStatusResp_SuccessDetail) GetConnID() string { + if m != nil { + return m.ConnID + } + return "" +} + +func (m *GetUsersOnlineStatusResp_SuccessDetail) GetIsBackground() bool { + if m != nil { + return m.IsBackground + } + return false +} + +type GetUsersOnlineStatusResp_FailedDetail struct { + UserID string `protobuf:"bytes,3,opt,name=userID" json:"userID,omitempty"` + ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetUsersOnlineStatusResp_FailedDetail) Reset() { *m = GetUsersOnlineStatusResp_FailedDetail{} } +func (m *GetUsersOnlineStatusResp_FailedDetail) String() string { return proto.CompactTextString(m) } +func (*GetUsersOnlineStatusResp_FailedDetail) ProtoMessage() {} +func (*GetUsersOnlineStatusResp_FailedDetail) Descriptor() ([]byte, []int) { + return fileDescriptor_relay_8a2a5bc32d9acd54, []int{7, 1} +} +func (m *GetUsersOnlineStatusResp_FailedDetail) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUsersOnlineStatusResp_FailedDetail.Unmarshal(m, b) +} +func (m *GetUsersOnlineStatusResp_FailedDetail) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUsersOnlineStatusResp_FailedDetail.Marshal(b, m, deterministic) +} +func (dst *GetUsersOnlineStatusResp_FailedDetail) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUsersOnlineStatusResp_FailedDetail.Merge(dst, src) +} +func (m *GetUsersOnlineStatusResp_FailedDetail) XXX_Size() int { + return xxx_messageInfo_GetUsersOnlineStatusResp_FailedDetail.Size(m) +} +func (m *GetUsersOnlineStatusResp_FailedDetail) XXX_DiscardUnknown() { + xxx_messageInfo_GetUsersOnlineStatusResp_FailedDetail.DiscardUnknown(m) +} + +var xxx_messageInfo_GetUsersOnlineStatusResp_FailedDetail proto.InternalMessageInfo + +func (m *GetUsersOnlineStatusResp_FailedDetail) GetUserID() string { + if m != nil { + return m.UserID + } + return "" +} + +func (m *GetUsersOnlineStatusResp_FailedDetail) GetErrCode() int32 { + if m != nil { + return m.ErrCode + } + return 0 +} + +func (m *GetUsersOnlineStatusResp_FailedDetail) GetErrMsg() string { + if m != nil { + return m.ErrMsg + } + return "" +} + +type GetUsersOnlineStatusResp_SuccessResult struct { + UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` + Status string `protobuf:"bytes,2,opt,name=status" json:"status,omitempty"` + DetailPlatformStatus []*GetUsersOnlineStatusResp_SuccessDetail `protobuf:"bytes,3,rep,name=detailPlatformStatus" json:"detailPlatformStatus,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetUsersOnlineStatusResp_SuccessResult) Reset() { + *m = GetUsersOnlineStatusResp_SuccessResult{} +} +func (m *GetUsersOnlineStatusResp_SuccessResult) String() string { return proto.CompactTextString(m) } +func (*GetUsersOnlineStatusResp_SuccessResult) ProtoMessage() {} +func (*GetUsersOnlineStatusResp_SuccessResult) Descriptor() ([]byte, []int) { + return fileDescriptor_relay_8a2a5bc32d9acd54, []int{7, 2} +} +func (m *GetUsersOnlineStatusResp_SuccessResult) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUsersOnlineStatusResp_SuccessResult.Unmarshal(m, b) +} +func (m *GetUsersOnlineStatusResp_SuccessResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUsersOnlineStatusResp_SuccessResult.Marshal(b, m, deterministic) +} +func (dst *GetUsersOnlineStatusResp_SuccessResult) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUsersOnlineStatusResp_SuccessResult.Merge(dst, src) +} +func (m *GetUsersOnlineStatusResp_SuccessResult) XXX_Size() int { + return xxx_messageInfo_GetUsersOnlineStatusResp_SuccessResult.Size(m) +} +func (m *GetUsersOnlineStatusResp_SuccessResult) XXX_DiscardUnknown() { + xxx_messageInfo_GetUsersOnlineStatusResp_SuccessResult.DiscardUnknown(m) +} + +var xxx_messageInfo_GetUsersOnlineStatusResp_SuccessResult proto.InternalMessageInfo + +func (m *GetUsersOnlineStatusResp_SuccessResult) GetUserID() string { + if m != nil { + return m.UserID + } + return "" +} + +func (m *GetUsersOnlineStatusResp_SuccessResult) GetStatus() string { + if m != nil { + return m.Status + } + return "" +} + +func (m *GetUsersOnlineStatusResp_SuccessResult) GetDetailPlatformStatus() []*GetUsersOnlineStatusResp_SuccessDetail { + if m != nil { + return m.DetailPlatformStatus + } + return nil +} + +type KickUserOfflineReq struct { + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + PlatformID int32 `protobuf:"varint,2,opt,name=platformID" json:"platformID,omitempty"` + KickUserIDList []string `protobuf:"bytes,3,rep,name=kickUserIDList" json:"kickUserIDList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *KickUserOfflineReq) Reset() { *m = KickUserOfflineReq{} } +func (m *KickUserOfflineReq) String() string { return proto.CompactTextString(m) } +func (*KickUserOfflineReq) ProtoMessage() {} +func (*KickUserOfflineReq) Descriptor() ([]byte, []int) { + return fileDescriptor_relay_8a2a5bc32d9acd54, []int{8} +} +func (m *KickUserOfflineReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_KickUserOfflineReq.Unmarshal(m, b) +} +func (m *KickUserOfflineReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_KickUserOfflineReq.Marshal(b, m, deterministic) +} +func (dst *KickUserOfflineReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_KickUserOfflineReq.Merge(dst, src) +} +func (m *KickUserOfflineReq) XXX_Size() int { + return xxx_messageInfo_KickUserOfflineReq.Size(m) +} +func (m *KickUserOfflineReq) XXX_DiscardUnknown() { + xxx_messageInfo_KickUserOfflineReq.DiscardUnknown(m) +} + +var xxx_messageInfo_KickUserOfflineReq proto.InternalMessageInfo + +func (m *KickUserOfflineReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *KickUserOfflineReq) GetPlatformID() int32 { + if m != nil { + return m.PlatformID + } + return 0 +} + +func (m *KickUserOfflineReq) GetKickUserIDList() []string { + if m != nil { + return m.KickUserIDList + } + return nil +} + +type KickUserOfflineResp struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *KickUserOfflineResp) Reset() { *m = KickUserOfflineResp{} } +func (m *KickUserOfflineResp) String() string { return proto.CompactTextString(m) } +func (*KickUserOfflineResp) ProtoMessage() {} +func (*KickUserOfflineResp) Descriptor() ([]byte, []int) { + return fileDescriptor_relay_8a2a5bc32d9acd54, []int{9} +} +func (m *KickUserOfflineResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_KickUserOfflineResp.Unmarshal(m, b) +} +func (m *KickUserOfflineResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_KickUserOfflineResp.Marshal(b, m, deterministic) +} +func (dst *KickUserOfflineResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_KickUserOfflineResp.Merge(dst, src) +} +func (m *KickUserOfflineResp) XXX_Size() int { + return xxx_messageInfo_KickUserOfflineResp.Size(m) +} +func (m *KickUserOfflineResp) XXX_DiscardUnknown() { + xxx_messageInfo_KickUserOfflineResp.DiscardUnknown(m) +} + +var xxx_messageInfo_KickUserOfflineResp proto.InternalMessageInfo + +type MultiTerminalLoginCheckReq struct { + UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` + PlatformID int32 `protobuf:"varint,2,opt,name=platformID" json:"platformID,omitempty"` + Token string `protobuf:"bytes,3,opt,name=token" json:"token,omitempty"` + OperationID string `protobuf:"bytes,4,opt,name=operationID" json:"operationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MultiTerminalLoginCheckReq) Reset() { *m = MultiTerminalLoginCheckReq{} } +func (m *MultiTerminalLoginCheckReq) String() string { return proto.CompactTextString(m) } +func (*MultiTerminalLoginCheckReq) ProtoMessage() {} +func (*MultiTerminalLoginCheckReq) Descriptor() ([]byte, []int) { + return fileDescriptor_relay_8a2a5bc32d9acd54, []int{10} +} +func (m *MultiTerminalLoginCheckReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MultiTerminalLoginCheckReq.Unmarshal(m, b) +} +func (m *MultiTerminalLoginCheckReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MultiTerminalLoginCheckReq.Marshal(b, m, deterministic) +} +func (dst *MultiTerminalLoginCheckReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_MultiTerminalLoginCheckReq.Merge(dst, src) +} +func (m *MultiTerminalLoginCheckReq) XXX_Size() int { + return xxx_messageInfo_MultiTerminalLoginCheckReq.Size(m) +} +func (m *MultiTerminalLoginCheckReq) XXX_DiscardUnknown() { + xxx_messageInfo_MultiTerminalLoginCheckReq.DiscardUnknown(m) +} + +var xxx_messageInfo_MultiTerminalLoginCheckReq proto.InternalMessageInfo + +func (m *MultiTerminalLoginCheckReq) GetUserID() string { + if m != nil { + return m.UserID + } + return "" +} + +func (m *MultiTerminalLoginCheckReq) GetPlatformID() int32 { + if m != nil { + return m.PlatformID + } + return 0 +} + +func (m *MultiTerminalLoginCheckReq) GetToken() string { + if m != nil { + return m.Token + } + return "" +} + +func (m *MultiTerminalLoginCheckReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +type MultiTerminalLoginCheckResp struct { + ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MultiTerminalLoginCheckResp) Reset() { *m = MultiTerminalLoginCheckResp{} } +func (m *MultiTerminalLoginCheckResp) String() string { return proto.CompactTextString(m) } +func (*MultiTerminalLoginCheckResp) ProtoMessage() {} +func (*MultiTerminalLoginCheckResp) Descriptor() ([]byte, []int) { + return fileDescriptor_relay_8a2a5bc32d9acd54, []int{11} +} +func (m *MultiTerminalLoginCheckResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MultiTerminalLoginCheckResp.Unmarshal(m, b) +} +func (m *MultiTerminalLoginCheckResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MultiTerminalLoginCheckResp.Marshal(b, m, deterministic) +} +func (dst *MultiTerminalLoginCheckResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_MultiTerminalLoginCheckResp.Merge(dst, src) +} +func (m *MultiTerminalLoginCheckResp) XXX_Size() int { + return xxx_messageInfo_MultiTerminalLoginCheckResp.Size(m) +} +func (m *MultiTerminalLoginCheckResp) XXX_DiscardUnknown() { + xxx_messageInfo_MultiTerminalLoginCheckResp.DiscardUnknown(m) +} + +var xxx_messageInfo_MultiTerminalLoginCheckResp proto.InternalMessageInfo + +func (m *MultiTerminalLoginCheckResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode + } + return 0 +} + +func (m *MultiTerminalLoginCheckResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg + } + return "" +} + +func init() { + proto.RegisterType((*OnlinePushMsgReq)(nil), "relay.OnlinePushMsgReq") + proto.RegisterType((*OnlinePushMsgResp)(nil), "relay.OnlinePushMsgResp") + proto.RegisterType((*SingelMsgToUserResultList)(nil), "relay.SingelMsgToUserResultList") + proto.RegisterType((*OnlineBatchPushOneMsgReq)(nil), "relay.OnlineBatchPushOneMsgReq") + proto.RegisterType((*OnlineBatchPushOneMsgResp)(nil), "relay.OnlineBatchPushOneMsgResp") + proto.RegisterType((*SingleMsgToUserPlatform)(nil), "relay.SingleMsgToUserPlatform") + proto.RegisterType((*GetUsersOnlineStatusReq)(nil), "relay.GetUsersOnlineStatusReq") + proto.RegisterType((*GetUsersOnlineStatusResp)(nil), "relay.GetUsersOnlineStatusResp") + proto.RegisterType((*GetUsersOnlineStatusResp_SuccessDetail)(nil), "relay.GetUsersOnlineStatusResp.SuccessDetail") + proto.RegisterType((*GetUsersOnlineStatusResp_FailedDetail)(nil), "relay.GetUsersOnlineStatusResp.FailedDetail") + proto.RegisterType((*GetUsersOnlineStatusResp_SuccessResult)(nil), "relay.GetUsersOnlineStatusResp.SuccessResult") + proto.RegisterType((*KickUserOfflineReq)(nil), "relay.KickUserOfflineReq") + proto.RegisterType((*KickUserOfflineResp)(nil), "relay.KickUserOfflineResp") + proto.RegisterType((*MultiTerminalLoginCheckReq)(nil), "relay.MultiTerminalLoginCheckReq") + proto.RegisterType((*MultiTerminalLoginCheckResp)(nil), "relay.MultiTerminalLoginCheckResp") +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConn + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion4 + +// Client API for Relay service + +type RelayClient interface { + OnlinePushMsg(ctx context.Context, in *OnlinePushMsgReq, opts ...grpc.CallOption) (*OnlinePushMsgResp, error) + GetUsersOnlineStatus(ctx context.Context, in *GetUsersOnlineStatusReq, opts ...grpc.CallOption) (*GetUsersOnlineStatusResp, error) + OnlineBatchPushOneMsg(ctx context.Context, in *OnlineBatchPushOneMsgReq, opts ...grpc.CallOption) (*OnlineBatchPushOneMsgResp, error) + SuperGroupOnlineBatchPushOneMsg(ctx context.Context, in *OnlineBatchPushOneMsgReq, opts ...grpc.CallOption) (*OnlineBatchPushOneMsgResp, error) + KickUserOffline(ctx context.Context, in *KickUserOfflineReq, opts ...grpc.CallOption) (*KickUserOfflineResp, error) + MultiTerminalLoginCheck(ctx context.Context, in *MultiTerminalLoginCheckReq, opts ...grpc.CallOption) (*MultiTerminalLoginCheckResp, error) + SuperGroupBackgroundOnlinePush(ctx context.Context, in *OnlineBatchPushOneMsgReq, opts ...grpc.CallOption) (*OnlineBatchPushOneMsgResp, error) +} + +type relayClient struct { + cc *grpc.ClientConn +} + +func NewRelayClient(cc *grpc.ClientConn) RelayClient { + return &relayClient{cc} +} + +func (c *relayClient) OnlinePushMsg(ctx context.Context, in *OnlinePushMsgReq, opts ...grpc.CallOption) (*OnlinePushMsgResp, error) { + out := new(OnlinePushMsgResp) + err := grpc.Invoke(ctx, "/relay.relay/OnlinePushMsg", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *relayClient) GetUsersOnlineStatus(ctx context.Context, in *GetUsersOnlineStatusReq, opts ...grpc.CallOption) (*GetUsersOnlineStatusResp, error) { + out := new(GetUsersOnlineStatusResp) + err := grpc.Invoke(ctx, "/relay.relay/GetUsersOnlineStatus", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *relayClient) OnlineBatchPushOneMsg(ctx context.Context, in *OnlineBatchPushOneMsgReq, opts ...grpc.CallOption) (*OnlineBatchPushOneMsgResp, error) { + out := new(OnlineBatchPushOneMsgResp) + err := grpc.Invoke(ctx, "/relay.relay/OnlineBatchPushOneMsg", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *relayClient) SuperGroupOnlineBatchPushOneMsg(ctx context.Context, in *OnlineBatchPushOneMsgReq, opts ...grpc.CallOption) (*OnlineBatchPushOneMsgResp, error) { + out := new(OnlineBatchPushOneMsgResp) + err := grpc.Invoke(ctx, "/relay.relay/SuperGroupOnlineBatchPushOneMsg", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *relayClient) KickUserOffline(ctx context.Context, in *KickUserOfflineReq, opts ...grpc.CallOption) (*KickUserOfflineResp, error) { + out := new(KickUserOfflineResp) + err := grpc.Invoke(ctx, "/relay.relay/KickUserOffline", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *relayClient) MultiTerminalLoginCheck(ctx context.Context, in *MultiTerminalLoginCheckReq, opts ...grpc.CallOption) (*MultiTerminalLoginCheckResp, error) { + out := new(MultiTerminalLoginCheckResp) + err := grpc.Invoke(ctx, "/relay.relay/MultiTerminalLoginCheck", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *relayClient) SuperGroupBackgroundOnlinePush(ctx context.Context, in *OnlineBatchPushOneMsgReq, opts ...grpc.CallOption) (*OnlineBatchPushOneMsgResp, error) { + out := new(OnlineBatchPushOneMsgResp) + err := grpc.Invoke(ctx, "/relay.relay/SuperGroupBackgroundOnlinePush", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// Server API for Relay service + +type RelayServer interface { + OnlinePushMsg(context.Context, *OnlinePushMsgReq) (*OnlinePushMsgResp, error) + GetUsersOnlineStatus(context.Context, *GetUsersOnlineStatusReq) (*GetUsersOnlineStatusResp, error) + OnlineBatchPushOneMsg(context.Context, *OnlineBatchPushOneMsgReq) (*OnlineBatchPushOneMsgResp, error) + SuperGroupOnlineBatchPushOneMsg(context.Context, *OnlineBatchPushOneMsgReq) (*OnlineBatchPushOneMsgResp, error) + KickUserOffline(context.Context, *KickUserOfflineReq) (*KickUserOfflineResp, error) + MultiTerminalLoginCheck(context.Context, *MultiTerminalLoginCheckReq) (*MultiTerminalLoginCheckResp, error) + SuperGroupBackgroundOnlinePush(context.Context, *OnlineBatchPushOneMsgReq) (*OnlineBatchPushOneMsgResp, error) +} + +func RegisterRelayServer(s *grpc.Server, srv RelayServer) { + s.RegisterService(&_Relay_serviceDesc, srv) +} + +func _Relay_OnlinePushMsg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(OnlinePushMsgReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(RelayServer).OnlinePushMsg(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/relay.relay/OnlinePushMsg", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(RelayServer).OnlinePushMsg(ctx, req.(*OnlinePushMsgReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Relay_GetUsersOnlineStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetUsersOnlineStatusReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(RelayServer).GetUsersOnlineStatus(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/relay.relay/GetUsersOnlineStatus", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(RelayServer).GetUsersOnlineStatus(ctx, req.(*GetUsersOnlineStatusReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Relay_OnlineBatchPushOneMsg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(OnlineBatchPushOneMsgReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(RelayServer).OnlineBatchPushOneMsg(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/relay.relay/OnlineBatchPushOneMsg", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(RelayServer).OnlineBatchPushOneMsg(ctx, req.(*OnlineBatchPushOneMsgReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Relay_SuperGroupOnlineBatchPushOneMsg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(OnlineBatchPushOneMsgReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(RelayServer).SuperGroupOnlineBatchPushOneMsg(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/relay.relay/SuperGroupOnlineBatchPushOneMsg", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(RelayServer).SuperGroupOnlineBatchPushOneMsg(ctx, req.(*OnlineBatchPushOneMsgReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Relay_KickUserOffline_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(KickUserOfflineReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(RelayServer).KickUserOffline(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/relay.relay/KickUserOffline", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(RelayServer).KickUserOffline(ctx, req.(*KickUserOfflineReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Relay_MultiTerminalLoginCheck_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MultiTerminalLoginCheckReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(RelayServer).MultiTerminalLoginCheck(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/relay.relay/MultiTerminalLoginCheck", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(RelayServer).MultiTerminalLoginCheck(ctx, req.(*MultiTerminalLoginCheckReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Relay_SuperGroupBackgroundOnlinePush_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(OnlineBatchPushOneMsgReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(RelayServer).SuperGroupBackgroundOnlinePush(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/relay.relay/SuperGroupBackgroundOnlinePush", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(RelayServer).SuperGroupBackgroundOnlinePush(ctx, req.(*OnlineBatchPushOneMsgReq)) + } + return interceptor(ctx, in, info, handler) +} + +var _Relay_serviceDesc = grpc.ServiceDesc{ + ServiceName: "relay.relay", + HandlerType: (*RelayServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "OnlinePushMsg", + Handler: _Relay_OnlinePushMsg_Handler, + }, + { + MethodName: "GetUsersOnlineStatus", + Handler: _Relay_GetUsersOnlineStatus_Handler, + }, + { + MethodName: "OnlineBatchPushOneMsg", + Handler: _Relay_OnlineBatchPushOneMsg_Handler, + }, + { + MethodName: "SuperGroupOnlineBatchPushOneMsg", + Handler: _Relay_SuperGroupOnlineBatchPushOneMsg_Handler, + }, + { + MethodName: "KickUserOffline", + Handler: _Relay_KickUserOffline_Handler, + }, + { + MethodName: "MultiTerminalLoginCheck", + Handler: _Relay_MultiTerminalLoginCheck_Handler, + }, + { + MethodName: "SuperGroupBackgroundOnlinePush", + Handler: _Relay_SuperGroupBackgroundOnlinePush_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "relay/relay.proto", +} + +func init() { proto.RegisterFile("relay/relay.proto", fileDescriptor_relay_8a2a5bc32d9acd54) } + +var fileDescriptor_relay_8a2a5bc32d9acd54 = []byte{ + // 857 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0xcf, 0x6f, 0xe3, 0x44, + 0x14, 0x96, 0x37, 0xc9, 0xee, 0xf6, 0xb5, 0x85, 0xee, 0xd0, 0x25, 0xae, 0x91, 0x92, 0xac, 0x0f, + 0x28, 0x42, 0x34, 0x91, 0x02, 0x37, 0x6e, 0xd9, 0x68, 0x4b, 0x44, 0xa3, 0x54, 0x93, 0x45, 0xa0, + 0xbd, 0x04, 0xaf, 0x33, 0x71, 0xac, 0x38, 0x9e, 0xd9, 0x19, 0x7b, 0xab, 0xbd, 0xc0, 0x91, 0x0b, + 0xe2, 0x4f, 0xe0, 0xc0, 0xbf, 0xc8, 0x81, 0x2b, 0x9a, 0x1f, 0x71, 0xec, 0x24, 0x6e, 0x28, 0xa2, + 0x97, 0x36, 0xef, 0xf9, 0xfd, 0xfa, 0xbe, 0xef, 0xcd, 0xd8, 0xf0, 0x8c, 0x93, 0xc8, 0xfb, 0xd0, + 0x55, 0x7f, 0x3b, 0x8c, 0xd3, 0x84, 0xa2, 0x9a, 0x32, 0x9c, 0xf6, 0x98, 0x91, 0xf8, 0x72, 0x38, + 0xba, 0x9c, 0x10, 0xfe, 0x9e, 0xf0, 0x2e, 0x5b, 0x06, 0x5d, 0x15, 0xd0, 0x15, 0xb3, 0xe5, 0xf4, + 0x56, 0x74, 0x6f, 0x85, 0x4e, 0x70, 0x7f, 0xb7, 0xe0, 0x6c, 0x1c, 0x47, 0x61, 0x4c, 0x6e, 0x52, + 0xb1, 0x18, 0x89, 0x00, 0x93, 0x77, 0xa8, 0x05, 0xc7, 0x63, 0x46, 0xb8, 0x97, 0x84, 0x34, 0x1e, + 0x0e, 0x6c, 0xab, 0x65, 0xb5, 0x8f, 0x70, 0xde, 0x85, 0xbe, 0x86, 0x27, 0x2b, 0x11, 0x0c, 0xbc, + 0xc4, 0xb3, 0x1f, 0xb5, 0xac, 0xf6, 0x71, 0xcf, 0xe9, 0x08, 0xd5, 0x6a, 0xea, 0xb1, 0x70, 0xca, + 0x3c, 0xee, 0xad, 0x44, 0x67, 0xa4, 0x23, 0xf0, 0x3a, 0x14, 0xb9, 0x70, 0xc2, 0x52, 0xb1, 0x78, + 0x4d, 0xbf, 0x17, 0x84, 0x0f, 0x07, 0x76, 0x45, 0x15, 0x2e, 0xf8, 0xdc, 0x2b, 0x78, 0xb6, 0x35, + 0x8f, 0x60, 0xa8, 0x07, 0x55, 0x4e, 0x04, 0xb3, 0xad, 0x56, 0xa5, 0x7d, 0xdc, 0x6b, 0x74, 0x34, + 0xe4, 0x49, 0x18, 0x07, 0x11, 0x19, 0x89, 0x40, 0x27, 0xdf, 0x44, 0x5e, 0x32, 0xa7, 0x7c, 0x85, + 0x55, 0xac, 0xfb, 0xab, 0x05, 0x17, 0x32, 0x82, 0x44, 0x59, 0x04, 0x26, 0x22, 0x8d, 0x92, 0xeb, + 0x50, 0x24, 0xe8, 0x53, 0x78, 0x9c, 0xea, 0x21, 0x34, 0x3a, 0x63, 0x65, 0x9d, 0x1e, 0xfd, 0xfb, + 0x4e, 0xa8, 0x01, 0x40, 0xb3, 0x91, 0x15, 0xa8, 0xa7, 0x38, 0xe7, 0x71, 0xff, 0xb0, 0xc0, 0xd6, + 0x98, 0xfa, 0x5e, 0xe2, 0x2f, 0xa4, 0x6f, 0x1c, 0x93, 0x07, 0xe6, 0xfa, 0x0b, 0x38, 0xcb, 0xf3, + 0x2a, 0x41, 0xdb, 0x95, 0x56, 0xa5, 0x7d, 0x84, 0x77, 0xfc, 0x6e, 0x08, 0x17, 0x25, 0xf3, 0x09, + 0x86, 0xae, 0xe1, 0x4c, 0x28, 0xf8, 0xd2, 0xaf, 0x19, 0x34, 0x3a, 0xb4, 0x72, 0xec, 0xec, 0x65, + 0x19, 0xef, 0x64, 0xba, 0x1f, 0xa0, 0x5e, 0x42, 0xa6, 0xa4, 0x51, 0x07, 0xbd, 0xa4, 0x33, 0xa2, + 0x88, 0xa8, 0xe0, 0x9c, 0x47, 0x4a, 0x86, 0x89, 0xff, 0x7e, 0x38, 0x50, 0x34, 0x1c, 0x61, 0x63, + 0xa1, 0xcf, 0xe1, 0x23, 0xf9, 0x4b, 0xd6, 0x79, 0x45, 0xf9, 0xca, 0xec, 0x55, 0x0d, 0x6f, 0x79, + 0xdd, 0x5b, 0xa8, 0x5f, 0x91, 0x44, 0xb6, 0x14, 0x1a, 0xed, 0x24, 0xf1, 0x92, 0x54, 0x48, 0x11, + 0x1a, 0x00, 0xe9, 0x86, 0x26, 0x4b, 0xd1, 0x94, 0xf3, 0x48, 0x91, 0x68, 0x4e, 0x24, 0xdd, 0x3f, + 0xef, 0x42, 0x0e, 0x3c, 0xa5, 0xac, 0xb0, 0xd6, 0x99, 0xed, 0xfe, 0x55, 0x05, 0x7b, 0x7f, 0x67, + 0xc1, 0x90, 0x0d, 0x4f, 0x08, 0xe7, 0x19, 0xe4, 0x1a, 0x5e, 0x9b, 0x12, 0x2f, 0xe1, 0x7c, 0x24, + 0x82, 0x35, 0x5e, 0x6d, 0xa1, 0x09, 0x9c, 0x8a, 0xd4, 0xf7, 0x89, 0x10, 0x46, 0x8d, 0x8a, 0x52, + 0xe3, 0xd2, 0xa8, 0x51, 0xd6, 0xa9, 0x33, 0xc9, 0x27, 0xe1, 0x62, 0x0d, 0x74, 0x03, 0x27, 0x73, + 0x2f, 0x8c, 0xc8, 0xcc, 0xd4, 0xac, 0xaa, 0x9a, 0x5f, 0x1e, 0xaa, 0xf9, 0x4a, 0xe5, 0x0c, 0x48, + 0xe2, 0x85, 0x11, 0x2e, 0x54, 0x70, 0x7e, 0x81, 0x53, 0xd3, 0x51, 0x3f, 0x96, 0x14, 0x31, 0xa3, + 0xb5, 0x59, 0xf3, 0xcc, 0x96, 0x58, 0x85, 0xaa, 0xba, 0xc6, 0xaa, 0x2d, 0xe9, 0xf7, 0x69, 0x1c, + 0x67, 0xa4, 0x1a, 0x4b, 0xde, 0x24, 0xa1, 0xe8, 0x7b, 0xfe, 0x32, 0xe0, 0x34, 0x8d, 0x67, 0x76, + 0x55, 0x1d, 0xba, 0x82, 0xcf, 0xf9, 0x11, 0x4e, 0xf2, 0xe3, 0xe5, 0x8e, 0x7c, 0xa5, 0x70, 0xe4, + 0xef, 0xad, 0x80, 0xf3, 0xa7, 0x95, 0x61, 0x33, 0xf4, 0x95, 0x5d, 0x27, 0x65, 0xb8, 0x3c, 0x38, + 0x9f, 0xa9, 0xa9, 0xd6, 0xdb, 0xaf, 0x39, 0xbd, 0xa7, 0x94, 0x86, 0xf7, 0xbd, 0xa5, 0xdc, 0x9f, + 0x01, 0x7d, 0x17, 0xfa, 0x4b, 0x59, 0x60, 0x3c, 0x9f, 0xcb, 0x02, 0xe6, 0xba, 0xa1, 0xbb, 0xd7, + 0x4d, 0x7e, 0x93, 0x1b, 0x00, 0x6b, 0x59, 0xcc, 0xaa, 0xd7, 0x70, 0xce, 0x23, 0x8f, 0xdb, 0xd2, + 0xd4, 0x2d, 0x5c, 0x2b, 0x5b, 0x5e, 0xf7, 0x39, 0x7c, 0xb2, 0xd3, 0x5f, 0x30, 0xf7, 0x37, 0x0b, + 0x9c, 0x51, 0x1a, 0x25, 0xe1, 0x6b, 0xc2, 0x57, 0x61, 0xec, 0x45, 0xd7, 0x34, 0x08, 0xe3, 0x97, + 0x0b, 0xe2, 0x2f, 0xe5, 0x7c, 0x65, 0x44, 0x1e, 0x9a, 0xea, 0x1c, 0x6a, 0x09, 0x5d, 0x92, 0xd8, + 0x68, 0xab, 0x8d, 0x6d, 0xb4, 0xd5, 0x1d, 0xb4, 0xee, 0x18, 0x3e, 0x2b, 0x9d, 0xe6, 0xbf, 0x9c, + 0xce, 0xde, 0xdf, 0x55, 0xd0, 0x2f, 0x61, 0xd4, 0x87, 0xd3, 0xc2, 0x9b, 0x0c, 0xd5, 0x8d, 0xac, + 0xdb, 0xef, 0x5b, 0xc7, 0xde, 0xff, 0x40, 0x30, 0xf4, 0x03, 0x9c, 0xef, 0x5b, 0x02, 0xd4, 0xb8, + 0x73, 0x43, 0xde, 0x39, 0xcd, 0x03, 0x1b, 0x84, 0xde, 0xc0, 0xf3, 0xbd, 0x57, 0x3e, 0x6a, 0x16, + 0x66, 0xd9, 0x7d, 0x61, 0x39, 0xad, 0xbb, 0x03, 0x04, 0x43, 0x33, 0x68, 0x4e, 0x52, 0x46, 0xf8, + 0x15, 0xa7, 0x29, 0x7b, 0xb0, 0x2e, 0xdf, 0xc2, 0xc7, 0x5b, 0xfb, 0x85, 0x2e, 0x4c, 0xd2, 0xee, + 0xde, 0x3b, 0x4e, 0xd9, 0x23, 0xc1, 0xd0, 0x4f, 0x50, 0x2f, 0xd9, 0x01, 0xf4, 0xc2, 0xa4, 0x95, + 0x6f, 0xac, 0xe3, 0x1e, 0x0a, 0x11, 0x0c, 0xf9, 0xd0, 0xd8, 0x30, 0xb2, 0xb9, 0xa2, 0x36, 0x7a, + 0xff, 0x0f, 0x84, 0xf4, 0x5f, 0xbc, 0x69, 0xca, 0xcf, 0xbe, 0xe9, 0x70, 0x94, 0xfb, 0xde, 0x53, + 0x49, 0xdf, 0xb0, 0xb7, 0x58, 0xfe, 0x7f, 0xfb, 0x58, 0x39, 0xbf, 0xfa, 0x27, 0x00, 0x00, 0xff, + 0xff, 0x6b, 0x3f, 0x3b, 0x05, 0x3a, 0x0a, 0x00, 0x00, +} From 0732fe61716f0c63873f2ad0eb6521f9de2ff228 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 3 Jan 2023 17:01:39 +0800 Subject: [PATCH 176/176] update version for docker --- docker-compose.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker-compose.yaml b/docker-compose.yaml index 4188bbdf8..37d704349 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -115,7 +115,7 @@ services: open_im_server: - image: openim/open_im_server:v2.3.6 + image: openim/open_im_server:v2.3.7 container_name: open_im_server volumes: - ./logs:/Open-IM-Server/logs @@ -139,7 +139,7 @@ services: max-file: "2" open_im_enterprise: - image: openim/open_im_enterprise:v1.0.2 + image: openim/open_im_enterprise:v1.0.3 container_name: open_im_enterprise volumes: - ./logs:/Open-IM-Enterprise/logs