From 15df8e0a086ca71a07f2cee3b8a5a97b1a4e5a49 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 11 Nov 2022 12:17:04 +0800 Subject: [PATCH 001/313] k8s version update --- deploy_k8s/admin_cms/deployment.yaml | 10 +++++++++- deploy_k8s/api/deployment.yaml | 10 +++++++++- deploy_k8s/auth/deployment.yaml | 10 +++++++++- deploy_k8s/cache/deployment.yaml | 10 +++++++++- deploy_k8s/cms_api/deployment.yaml | 10 +++++++++- deploy_k8s/conversation/deployment.yaml | 12 ++++++++++-- deploy_k8s/demo/deployment.yaml | 10 +++++++++- deploy_k8s/friend/deployment.yaml | 10 +++++++++- deploy_k8s/group/deployment.yaml | 10 +++++++++- deploy_k8s/k8s_openim_deploy.md | 1 + deploy_k8s/msg/deployment.yaml | 10 +++++++++- deploy_k8s/msg_gateway/deployment.yaml | 10 +++++++++- deploy_k8s/msg_transfer/deployment.yaml | 10 +++++++++- deploy_k8s/office/deployment.yaml | 10 +++++++++- deploy_k8s/organization/deployment.yaml | 10 +++++++++- deploy_k8s/push/deployment.yaml | 10 +++++++++- deploy_k8s/user/deployment.yaml | 10 +++++++++- 17 files changed, 146 insertions(+), 17 deletions(-) diff --git a/deploy_k8s/admin_cms/deployment.yaml b/deploy_k8s/admin_cms/deployment.yaml index 07a167cf8..ea02fd80c 100644 --- a/deploy_k8s/admin_cms/deployment.yaml +++ b/deploy_k8s/admin_cms/deployment.yaml @@ -23,13 +23,21 @@ spec: - name: config mountPath: /Open-IM-Server/config readOnly: true + - name: usualConfig + mountPath: /Open-IM-Server/config + readOnly: true env: - name: CONFIG_NAME - value: "/Open-IM-Server" + value: "/Open-IM-Server" + - name: USUAL_CONFIG_NAME + value: "/Open-IM-Server" volumes: - name: config configMap: name: openim-config + - name: usualConfig + configMap: + name: openim-usualConfig strategy: #更新策略 type: RollingUpdate # 滚动更新 diff --git a/deploy_k8s/api/deployment.yaml b/deploy_k8s/api/deployment.yaml index 42ef4e158..4359a9062 100644 --- a/deploy_k8s/api/deployment.yaml +++ b/deploy_k8s/api/deployment.yaml @@ -23,13 +23,21 @@ spec: - name: config mountPath: /Open-IM-Server/config readOnly: true + - name: usualConfig + mountPath: /Open-IM-Server/config + readOnly: true env: - name: CONFIG_NAME - value: "/Open-IM-Server" + value: "/Open-IM-Server" + - name: USUAL_CONFIG_NAME + value: "/Open-IM-Server" volumes: - name: config configMap: name: openim-config + - name: usualConfig + configMap: + name: openim-usualConfig strategy: #更新策略 type: RollingUpdate # 滚动更新 --- diff --git a/deploy_k8s/auth/deployment.yaml b/deploy_k8s/auth/deployment.yaml index c95cd7480..3df74836a 100644 --- a/deploy_k8s/auth/deployment.yaml +++ b/deploy_k8s/auth/deployment.yaml @@ -23,12 +23,20 @@ spec: - name: config mountPath: /Open-IM-Server/config readOnly: true + - name: usualConfig + mountPath: /Open-IM-Server/config + readOnly: true env: - name: CONFIG_NAME - value: "/Open-IM-Server" + value: "/Open-IM-Server" + - name: USUAL_CONFIG_NAME + value: "/Open-IM-Server" volumes: - name: config configMap: name: openim-config + - name: usualConfig + configMap: + name: openim-usualConfig strategy: #更新策略 type: RollingUpdate # 滚动更新 \ No newline at end of file diff --git a/deploy_k8s/cache/deployment.yaml b/deploy_k8s/cache/deployment.yaml index 51a6ec51c..9dd2129da 100644 --- a/deploy_k8s/cache/deployment.yaml +++ b/deploy_k8s/cache/deployment.yaml @@ -23,12 +23,20 @@ spec: - name: config mountPath: /Open-IM-Server/config readOnly: true + - name: usualConfig + mountPath: /Open-IM-Server/config + readOnly: true env: - name: CONFIG_NAME - value: "/Open-IM-Server" + value: "/Open-IM-Server" + - name: USUAL_CONFIG_NAME + value: "/Open-IM-Server" volumes: - name: config configMap: name: openim-config + - name: usualConfig + configMap: + name: openim-usualConfig strategy: #更新策略 type: RollingUpdate # 滚动更新 \ No newline at end of file diff --git a/deploy_k8s/cms_api/deployment.yaml b/deploy_k8s/cms_api/deployment.yaml index edd185103..b55c0b4f7 100644 --- a/deploy_k8s/cms_api/deployment.yaml +++ b/deploy_k8s/cms_api/deployment.yaml @@ -23,13 +23,21 @@ spec: - name: config mountPath: /Open-IM-Server/config readOnly: true + - name: usualConfig + mountPath: /Open-IM-Server/config + readOnly: true env: - name: CONFIG_NAME - value: "/Open-IM-Server" + value: "/Open-IM-Server" + - name: USUAL_CONFIG_NAME + value: "/Open-IM-Server" volumes: - name: config configMap: name: openim-config + - name: usualConfig + configMap: + name: openim-usualConfig strategy: #更新策略 type: RollingUpdate # 滚动更新 --- diff --git a/deploy_k8s/conversation/deployment.yaml b/deploy_k8s/conversation/deployment.yaml index 7d60d1e4f..b64ced25c 100644 --- a/deploy_k8s/conversation/deployment.yaml +++ b/deploy_k8s/conversation/deployment.yaml @@ -23,14 +23,22 @@ spec: - name: config mountPath: /Open-IM-Server/config readOnly: true + - name: usualConfig + mountPath: /Open-IM-Server/config + readOnly: true env: - - name: CONFIG_NAME - value: "/Open-IM-Server" + - name: CONFIG_NAME + value: "/Open-IM-Server" + - name: USUAL_CONFIG_NAME + value: "/Open-IM-Server" volumes: - name: config configMap: name: openim-config + - name: usualConfig + configMap: + name: openim-usualConfig strategy: #更新策略 type: RollingUpdate # 滚动更新 diff --git a/deploy_k8s/demo/deployment.yaml b/deploy_k8s/demo/deployment.yaml index 65f4000c4..205bb0d51 100644 --- a/deploy_k8s/demo/deployment.yaml +++ b/deploy_k8s/demo/deployment.yaml @@ -23,13 +23,21 @@ spec: - name: config mountPath: /Open-IM-Server/config readOnly: true + - name: usualConfig + mountPath: /Open-IM-Server/config + readOnly: true env: - name: CONFIG_NAME - value: "/Open-IM-Server" + value: "/Open-IM-Server" + - name: USUAL_CONFIG_NAME + value: "/Open-IM-Server" volumes: - name: config configMap: name: openim-config + - name: usualConfig + configMap: + name: openim-usualConfig strategy: #更新策略 type: RollingUpdate # 滚动更新 --- diff --git a/deploy_k8s/friend/deployment.yaml b/deploy_k8s/friend/deployment.yaml index 1c5766c67..9d8db0e87 100644 --- a/deploy_k8s/friend/deployment.yaml +++ b/deploy_k8s/friend/deployment.yaml @@ -23,13 +23,21 @@ spec: - name: config mountPath: /Open-IM-Server/config readOnly: true + - name: usualConfig + mountPath: /Open-IM-Server/config + readOnly: true env: - name: CONFIG_NAME - value: "/Open-IM-Server" + value: "/Open-IM-Server" + - name: USUAL_CONFIG_NAME + value: "/Open-IM-Server" volumes: - name: config configMap: name: openim-config + - name: usualConfig + configMap: + name: openim-usualConfig strategy: #更新策略 type: RollingUpdate # 滚动更新 diff --git a/deploy_k8s/group/deployment.yaml b/deploy_k8s/group/deployment.yaml index 6d0611b41..dc9ccebee 100644 --- a/deploy_k8s/group/deployment.yaml +++ b/deploy_k8s/group/deployment.yaml @@ -23,12 +23,20 @@ spec: - name: config mountPath: /Open-IM-Server/config readOnly: true + - name: usualConfig + mountPath: /Open-IM-Server/config + readOnly: true env: - name: CONFIG_NAME - value: "/Open-IM-Server" + value: "/Open-IM-Server" + - name: USUAL_CONFIG_NAME + value: "/Open-IM-Server" volumes: - name: config configMap: name: openim-config + - name: usualConfig + configMap: + name: openim-usualConfig strategy: #更新策略 type: RollingUpdate # 滚动更新 \ No newline at end of file diff --git a/deploy_k8s/k8s_openim_deploy.md b/deploy_k8s/k8s_openim_deploy.md index aef9aecda..114a43c0b 100644 --- a/deploy_k8s/k8s_openim_deploy.md +++ b/deploy_k8s/k8s_openim_deploy.md @@ -20,6 +20,7 @@ 2. 在项目根目录通过config/config.yaml ``` kubectl -n openim create configmap config --from-file=config/config.yaml + kubectl -n openim create configmap usualConfig --from-file=config/usualConfig.yaml ``` 查看configmap ``` diff --git a/deploy_k8s/msg/deployment.yaml b/deploy_k8s/msg/deployment.yaml index a0648b713..e8b3d6775 100644 --- a/deploy_k8s/msg/deployment.yaml +++ b/deploy_k8s/msg/deployment.yaml @@ -23,12 +23,20 @@ spec: - name: config mountPath: /Open-IM-Server/config readOnly: true + - name: usualConfig + mountPath: /Open-IM-Server/config + readOnly: true env: - name: CONFIG_NAME - value: "/Open-IM-Server" + value: "/Open-IM-Server" + - name: USUAL_CONFIG_NAME + value: "/Open-IM-Server" volumes: - name: config configMap: name: openim-config + - name: usualConfig + configMap: + name: openim-usualConfig strategy: #更新策略 type: RollingUpdate # 滚动更新 \ No newline at end of file diff --git a/deploy_k8s/msg_gateway/deployment.yaml b/deploy_k8s/msg_gateway/deployment.yaml index 6b0e3bc79..e73070946 100644 --- a/deploy_k8s/msg_gateway/deployment.yaml +++ b/deploy_k8s/msg_gateway/deployment.yaml @@ -26,13 +26,21 @@ spec: - name: config mountPath: /Open-IM-Server/config readOnly: true + - name: usualConfig + mountPath: /Open-IM-Server/config + readOnly: true env: - name: CONFIG_NAME - value: "/Open-IM-Server" + value: "/Open-IM-Server" + - name: USUAL_CONFIG_NAME + value: "/Open-IM-Server" volumes: - name: config configMap: name: openim-config + - name: usualConfig + configMap: + name: openim-usualConfig strategy: #更新策略 type: RollingUpdate # 滚动更新 --- diff --git a/deploy_k8s/msg_transfer/deployment.yaml b/deploy_k8s/msg_transfer/deployment.yaml index 98771c91b..a0d63a0d5 100644 --- a/deploy_k8s/msg_transfer/deployment.yaml +++ b/deploy_k8s/msg_transfer/deployment.yaml @@ -21,12 +21,20 @@ spec: - name: config mountPath: /Open-IM-Server/config readOnly: true + - name: usualConfig + mountPath: /Open-IM-Server/config + readOnly: true env: - name: CONFIG_NAME - value: "/Open-IM-Server" + value: "/Open-IM-Server" + - name: USUAL_CONFIG_NAME + value: "/Open-IM-Server" volumes: - name: config configMap: name: openim-config + - name: usualConfig + configMap: + name: openim-usualConfig strategy: #更新策略 type: RollingUpdate # 滚动更新 diff --git a/deploy_k8s/office/deployment.yaml b/deploy_k8s/office/deployment.yaml index f78a55420..e95b46a76 100644 --- a/deploy_k8s/office/deployment.yaml +++ b/deploy_k8s/office/deployment.yaml @@ -23,12 +23,20 @@ spec: - name: config mountPath: /Open-IM-Server/config readOnly: true + - name: usualConfig + mountPath: /Open-IM-Server/config + readOnly: true env: - name: CONFIG_NAME - value: "/Open-IM-Server" + value: "/Open-IM-Server" + - name: USUAL_CONFIG_NAME + value: "/Open-IM-Server" volumes: - name: config configMap: name: openim-config + - name: usualConfig + configMap: + name: openim-usualConfig strategy: #更新策略 type: RollingUpdate # 滚动更新 \ No newline at end of file diff --git a/deploy_k8s/organization/deployment.yaml b/deploy_k8s/organization/deployment.yaml index 39db90257..7a5174cd0 100644 --- a/deploy_k8s/organization/deployment.yaml +++ b/deploy_k8s/organization/deployment.yaml @@ -23,12 +23,20 @@ spec: - name: config mountPath: /Open-IM-Server/config readOnly: true + - name: usualConfig + mountPath: /Open-IM-Server/config + readOnly: true env: - name: CONFIG_NAME - value: "/Open-IM-Server" + value: "/Open-IM-Server" + - name: USUAL_CONFIG_NAME + value: "/Open-IM-Server" volumes: - name: config configMap: name: openim-config + - name: usualConfig + configMap: + name: openim-usualConfig strategy: #更新策略 type: RollingUpdate # 滚动更新 \ No newline at end of file diff --git a/deploy_k8s/push/deployment.yaml b/deploy_k8s/push/deployment.yaml index 22e7d5d5b..a3c03b974 100644 --- a/deploy_k8s/push/deployment.yaml +++ b/deploy_k8s/push/deployment.yaml @@ -23,12 +23,20 @@ spec: - name: config mountPath: /Open-IM-Server/config readOnly: true + - name: usualConfig + mountPath: /Open-IM-Server/config + readOnly: true env: - name: CONFIG_NAME - value: "/Open-IM-Server" + value: "/Open-IM-Server" + - name: USUAL_CONFIG_NAME + value: "/Open-IM-Server" volumes: - name: config configMap: name: openim-config + - name: usualConfig + configMap: + name: openim-usualConfig strategy: #更新策略 type: RollingUpdate # 滚动更新 \ No newline at end of file diff --git a/deploy_k8s/user/deployment.yaml b/deploy_k8s/user/deployment.yaml index f712b9a57..6212524f1 100644 --- a/deploy_k8s/user/deployment.yaml +++ b/deploy_k8s/user/deployment.yaml @@ -21,12 +21,20 @@ spec: - name: config mountPath: /Open-IM-Server/config readOnly: true + - name: usualConfig + mountPath: /Open-IM-Server/config + readOnly: true env: - name: CONFIG_NAME - value: "/Open-IM-Server" + value: "/Open-IM-Server" + - name: USUAL_CONFIG_NAME + value: "/Open-IM-Server" volumes: - name: config configMap: name: openim-config + - name: usualConfig + configMap: + name: openim-usualConfig strategy: #更新策略 type: RollingUpdate # 滚动更新 From d6e14eafefb720ecc2098a38af664cf945c6216f Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 11 Nov 2022 15:18:04 +0800 Subject: [PATCH 002/313] k8s version update --- config/config.yaml | 2 +- config/usualConfig.yaml | 1 + pkg/common/config/config.go | 6 ++++++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/config/config.yaml b/config/config.yaml index b82e75f71..6fb781604 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -225,7 +225,7 @@ push: pushIntent: "intent:#Intent;component=io.openim.app.enterprisechat/io.openim.app.enterprisechat.MainActivity;end" enable: false # true or false (bool) getui: #个推推送 - pushUrl: "https://restapi.getui.com/v2/$appId" + pushUrl: masterSecret: "" appKey: "" intent: "" diff --git a/config/usualConfig.yaml b/config/usualConfig.yaml index 0c9388e0f..e2c720d2b 100644 --- a/config/usualConfig.yaml +++ b/config/usualConfig.yaml @@ -35,6 +35,7 @@ messageverify: push: getui: #个推推送 + pushUrl: "https://restapi.getui.com/v2/$appId" masterSecret: "" appKey: "" enable: false diff --git a/pkg/common/config/config.go b/pkg/common/config/config.go index 6ec806e0b..1afebfa52 100644 --- a/pkg/common/config/config.go +++ b/pkg/common/config/config.go @@ -602,6 +602,7 @@ type usualConfig struct { Push struct { Getui struct { + PushUrl string `yaml:"pushUrl"` MasterSecret string `yaml:"masterSecret"` AppKey string `yaml:"appKey"` Enable bool `yaml:"enable"` @@ -698,8 +699,13 @@ func init() { if Config.Push.Getui.MasterSecret == "" { Config.Push.Getui.MasterSecret = UsualConfig.Push.Getui.MasterSecret + } + if Config.Push.Getui.AppKey == "" { Config.Push.Getui.AppKey = UsualConfig.Push.Getui.AppKey } + if Config.Push.Getui.PushUrl == "" { + Config.Push.Getui.PushUrl = UsualConfig.Push.Getui.PushUrl + } if Config.Push.Getui.Enable == nil { Config.Push.Getui.Enable = &UsualConfig.Push.Getui.Enable } From 3c8a0bb0119b02920fce0638baa5beb2e1de3b59 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 11 Nov 2022 15:24:37 +0800 Subject: [PATCH 003/313] k8s version update --- docker-compose.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yaml b/docker-compose.yaml index 4f0a38455..f36161942 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -115,7 +115,7 @@ services: open_im_server: - image: openim/open_im_server:v2.3.4 + image: openim/open_im_server:v2.3.5 container_name: open_im_server volumes: - ./logs:/Open-IM-Server/logs From 08a4b92f3a279d7978a212c6e1a36b42d3c547e3 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 11 Nov 2022 18:06:15 +0800 Subject: [PATCH 004/313] mute member cant send msg --- internal/rpc/msg/send_msg.go | 27 +++++++++++++++++++++++++++ pkg/common/config/config.go | 2 +- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/internal/rpc/msg/send_msg.go b/internal/rpc/msg/send_msg.go index 9a6ed9592..035043de1 100644 --- a/internal/rpc/msg/send_msg.go +++ b/internal/rpc/msg/send_msg.go @@ -96,6 +96,17 @@ func isMessageHasReadEnabled(pb *pbChat.SendMsgReq) (bool, int32, string) { return true, 0, "" } +func userIsMuteInGroup(groupID, userID string) (bool, error) { + groupMemberInfo, err := rocksCache.GetGroupMemberInfoFromCache(groupID, userID) + if err != nil { + return false, utils.Wrap(err, "") + } + if groupMemberInfo.MuteEndTime.Unix() >= time.Now().Unix() { + return true, nil + } + return false, nil +} + func (rpc *rpcChat) messageVerification(data *pbChat.SendMsgReq) (bool, int32, string, []string) { switch data.MsgData.SessionType { case constant.SingleChatType: @@ -169,6 +180,14 @@ 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) + if err != nil { + errMsg := data.OperationID + err.Error() + return false, 223, errMsg, nil + } + if isMute { + return false, 224, "you are muted", nil + } return true, 0, "", userIDList case constant.SuperGroupChatType: groupInfo, err := rocksCache.GetGroupInfoFromCache(data.MsgData.GroupID) @@ -222,6 +241,14 @@ 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) + if err != nil { + errMsg := data.OperationID + err.Error() + return false, 223, errMsg, nil + } + if isMute { + return false, 224, "you are muted", nil + } return true, 0, "", userIDList } default: diff --git a/pkg/common/config/config.go b/pkg/common/config/config.go index 1afebfa52..3d290e0d6 100644 --- a/pkg/common/config/config.go +++ b/pkg/common/config/config.go @@ -585,7 +585,7 @@ type usualConfig struct { Minio struct { AccessKeyID string `yaml:"accessKeyID"` SecretAccessKey string `yaml:"secretAccessKey"` - Endpoint string `yaml:"endPoint"` + Endpoint string `yaml:"endpoint"` } `yaml:"minio"` } `yaml:"credential"` From 5b816b095ddf7adaae5c8dd31b16fe99be1402df Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 11 Nov 2022 19:01:23 +0800 Subject: [PATCH 005/313] fix conf --- config/config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/config.yaml b/config/config.yaml index 6fb781604..3e1f54bdc 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -120,7 +120,7 @@ credential: #腾讯cos,发送图片、视频、文件时需要,请自行申 bucket: openim # 存储内容桶 appBucket: app # 存储app的桶 location: us-east-1 - endpoint: http://127.0.0.1:10005 #minio外网ip 这个ip是给客户端访问的 + endpoint: #minio外网ip 这个ip是给客户端访问的 endpointInner: http://127.0.0.1:10005 #minio内网地址 如果im server 可以通过内网访问到 minio就可以 endpointInnerEnable: true #是否启用minio内网地址 启用可以让桶初始化,IM server连接minio走内网地址访问 accessKeyID: From 7364dc1989d598152cc1edc4d47524fdf66b5190 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Sat, 12 Nov 2022 17:12:06 +0800 Subject: [PATCH 006/313] fix config --- config/usualConfig.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/usualConfig.yaml b/config/usualConfig.yaml index e2c720d2b..6e4ab0ce0 100644 --- a/config/usualConfig.yaml +++ b/config/usualConfig.yaml @@ -20,7 +20,7 @@ kafka: credential: minio: - endpoint: 127.0.0.1:10005 #发图片视频文件需要填写 + endpoint: http://127.0.0.1:10005 #发图片视频文件需要填写 accessKeyID: root secretAccessKey: openIM123 From ccad06b7b60a748d07b1e7541fc6c12ac108f803 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 14 Nov 2022 15:37:32 +0800 Subject: [PATCH 007/313] conf script --- cmd/open_im_api/main.go | 2 +- config/config.yaml | 1 + config/usualConfig.yaml | 1 + pkg/common/config/config.go | 22 +++++++++++++++++++- pkg/grpc-etcdv3/getcdv3/register.go | 23 +++++++++++++++++++++ pkg/utils/{encryption .go => encryption.go} | 0 script/init_pwd.sh | 14 +++++++++++++ 7 files changed, 61 insertions(+), 2 deletions(-) rename pkg/utils/{encryption .go => encryption.go} (100%) create mode 100644 script/init_pwd.sh diff --git a/cmd/open_im_api/main.go b/cmd/open_im_api/main.go index 97aa9f3ef..b9b0e2373 100644 --- a/cmd/open_im_api/main.go +++ b/cmd/open_im_api/main.go @@ -222,7 +222,7 @@ func main() { initGroup.POST("/set_client_config", clientInit.SetClientInitConfig) initGroup.POST("/get_client_config", clientInit.GetClientInitConfig) } - + go config.RegisterConf() go apiThird.MinioInit() defaultPorts := config.Config.Api.GinPort ginPort := flag.Int("port", defaultPorts[0], "get ginServerPort from cmd,default 10002 as port") diff --git a/config/config.yaml b/config/config.yaml index 3e1f54bdc..a25b39fd8 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -9,6 +9,7 @@ etcd: etcdAddr: [ 127.0.0.1:2379 ] #单机部署时,默认即可 userName: password: + secret: mysql: dbMysqlAddress: [ 127.0.0.1:13306 ] #mysql地址 目前仅支持单机,默认即可 diff --git a/config/usualConfig.yaml b/config/usualConfig.yaml index e2c720d2b..ab4483211 100644 --- a/config/usualConfig.yaml +++ b/config/usualConfig.yaml @@ -1,6 +1,7 @@ etcd: userName: password: + secret: # etcd 配置密钥 mysql: dbMysqlUserName: root #mysql用户名,建议修改 diff --git a/pkg/common/config/config.go b/pkg/common/config/config.go index 3d290e0d6..64ca6d727 100644 --- a/pkg/common/config/config.go +++ b/pkg/common/config/config.go @@ -1,6 +1,8 @@ package config import ( + "Open_IM/pkg/grpc-etcdv3/getcdv3" + "Open_IM/pkg/utils" "fmt" "io/ioutil" "os" @@ -16,6 +18,8 @@ var ( Root = filepath.Join(filepath.Dir(b), "../../..") ) +const confName = "openIMConf" + var Config config type callBackConfig struct { @@ -157,6 +161,7 @@ type config struct { EtcdAddr []string `yaml:"etcdAddr"` UserName string `yaml:"userName"` Password string `yaml:"password"` + Secret string `yaml:"secret"` } Log struct { StorageLocation string `yaml:"storageLocation"` @@ -563,6 +568,7 @@ type usualConfig struct { Etcd struct { UserName string `yaml:"userName"` Password string `yaml:"password"` + Secret string `yaml:"secret"` } `yaml:"etcd"` Mysql struct { DBUserName string `yaml:"dbMysqlUserName"` @@ -647,13 +653,15 @@ func unmarshalConfig(config interface{}, configName string) { func init() { unmarshalConfig(&Config, "config.yaml") unmarshalConfig(&UsualConfig, "usualConfig.yaml") - fmt.Println(UsualConfig) if Config.Etcd.UserName == "" { Config.Etcd.UserName = UsualConfig.Etcd.UserName } if Config.Etcd.Password == "" { Config.Etcd.Password = UsualConfig.Etcd.Password } + if Config.Etcd.Secret == "" { + Config.Etcd.Secret = UsualConfig.Etcd.Secret + } if Config.Mysql.DBUserName == "" { Config.Mysql.DBUserName = UsualConfig.Mysql.DBUserName @@ -720,5 +728,17 @@ func init() { if Config.TokenPolicy.AccessSecret == "" { Config.TokenPolicy.AccessSecret = UsualConfig.Tokenpolicy.AccessSecret } +} +func RegisterConf() { + bytes, err := yaml.Marshal(Config) + if err != nil { + panic(err.Error()) + } + secretMD5 := utils.Md5(Config.Etcd.Secret) + confBytes, err := utils.AesEncrypt(bytes, []byte(secretMD5[0:16])) + if err != nil { + panic(err.Error()) + } + getcdv3.RegisterConf(getcdv3.GetPrefix(Config.Etcd.EtcdSchema, confName), string(confBytes)) } diff --git a/pkg/grpc-etcdv3/getcdv3/register.go b/pkg/grpc-etcdv3/getcdv3/register.go index aa3ba3072..6884dc465 100644 --- a/pkg/grpc-etcdv3/getcdv3/register.go +++ b/pkg/grpc-etcdv3/getcdv3/register.go @@ -1,6 +1,7 @@ package getcdv3 import ( + "Open_IM/pkg/common/config" "Open_IM/pkg/common/log" "Open_IM/pkg/utils" "context" @@ -127,3 +128,25 @@ func UnRegisterEtcd() { rEtcd.cancel() rEtcd.cli.Delete(rEtcd.ctx, rEtcd.key) } + +func RegisterConf(key, conf string) { + etcdAddr := strings.Join(config.Config.Etcd.EtcdAddr, ",") + cli, err := clientv3.New(clientv3.Config{ + Endpoints: strings.Split(etcdAddr, ","), DialTimeout: 5 * time.Second}) + + if err != nil { + panic(err.Error()) + } + //lease + ctx, cancel := context.WithCancel(context.Background()) + defer cancel() + resp, err := cli.Grant(ctx, 10) + if err != nil { + panic(err.Error()) + } + if _, err := cli.Put(ctx, key, conf, clientv3.WithLease(resp.ID)); err != nil { + fmt.Println("panic, params: ") + panic(err.Error()) + } + +} diff --git a/pkg/utils/encryption .go b/pkg/utils/encryption.go similarity index 100% rename from pkg/utils/encryption .go rename to pkg/utils/encryption.go diff --git a/script/init_pwd.sh b/script/init_pwd.sh new file mode 100644 index 000000000..c0b222a87 --- /dev/null +++ b/script/init_pwd.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +source ../.env + +nameList=(dbMysqlUserName, dbUserName, dbUserName, accessKeyID) +pwdList=(dbMysqlPassword, dbPassword, dbPassWord, secretAccessKey) + +for i in ${nameList[*]}; do + sed -i 's/{$i}: [a-z]/{$i}: {$USER}/g' ../config/usualConfig.yaml +done + +for i in ${pwdList[*]}; do + sed -i 's/{$i}: [a-z]/{$i}: {$PASSWORD}/g' ../config/usualConfig.yaml +done \ No newline at end of file From 99e1c53a41098478bea19041e5d3a3f1fe27d07c Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 14 Nov 2022 15:41:24 +0800 Subject: [PATCH 008/313] conf script --- script/init_pwd.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/script/init_pwd.sh b/script/init_pwd.sh index c0b222a87..31eedba82 100644 --- a/script/init_pwd.sh +++ b/script/init_pwd.sh @@ -1,14 +1,18 @@ #!/usr/bin/env bash source ../.env +echo "user:{$USER}" +echo "password:{$PASSWORD}" nameList=(dbMysqlUserName, dbUserName, dbUserName, accessKeyID) pwdList=(dbMysqlPassword, dbPassword, dbPassWord, secretAccessKey) for i in ${nameList[*]}; do + echo {$i} sed -i 's/{$i}: [a-z]/{$i}: {$USER}/g' ../config/usualConfig.yaml done for i in ${pwdList[*]}; do + echo {$i} sed -i 's/{$i}: [a-z]/{$i}: {$PASSWORD}/g' ../config/usualConfig.yaml done \ No newline at end of file From a314f2d1cb84b103ed1450638ed18072e835cbb5 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 14 Nov 2022 15:42:50 +0800 Subject: [PATCH 009/313] conf script --- script/init_pwd.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/script/init_pwd.sh b/script/init_pwd.sh index 31eedba82..926502105 100644 --- a/script/init_pwd.sh +++ b/script/init_pwd.sh @@ -4,8 +4,8 @@ source ../.env echo "user:{$USER}" echo "password:{$PASSWORD}" -nameList=(dbMysqlUserName, dbUserName, dbUserName, accessKeyID) -pwdList=(dbMysqlPassword, dbPassword, dbPassWord, secretAccessKey) +nameList=(dbMysqlUserName dbUserName dbUserName accessKeyID) +pwdList=(dbMysqlPassword dbPassword dbPassWord secretAccessKey) for i in ${nameList[*]}; do echo {$i} From 7101ba472da2469a1cc3e6cddad13d89094cf2d1 Mon Sep 17 00:00:00 2001 From: skiffer-git <44203734@qq.com> Date: Mon, 14 Nov 2022 16:02:00 +0800 Subject: [PATCH 010/313] config --- config/usualConfig.yaml | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/config/usualConfig.yaml b/config/usualConfig.yaml index 6f93c147a..eb68cb56e 100644 --- a/config/usualConfig.yaml +++ b/config/usualConfig.yaml @@ -1,19 +1,19 @@ etcd: userName: password: - secret: # etcd 配置密钥 + secret: # etcd 配置加密秘钥 mysql: - dbMysqlUserName: root #mysql用户名,建议修改 - dbMysqlPassword: openIM123 # mysql密码,建议修改 + dbMysqlUserName: root #mysql用户名 + dbMysqlPassword: openIM123 # mysql密码 mongo: - dbUserName: root #mongo用户名,建议先不设置 - dbPassword: openIM123 #mongo密码,建议先不设置 + dbUserName: root #mongo用户名 + dbPassword: openIM123 #mongo密码 redis: dbUserName: - dbPassWord: openIM123 #redis密码 建议修改 + dbPassWord: openIM123 #redis密码 kafka: SASLUserName: @@ -25,19 +25,19 @@ credential: accessKeyID: root secretAccessKey: openIM123 -secret: tuoyun +secret: tuoyun #建议修改 tokenpolicy: - accessSecret: "open_im_server" #token生成相关,默认即可 + accessSecret: "open_im_server" #token生成相关 建议修改 accessExpire: 90 #token过期时间(天) 默认即可 messageverify: - friendVerify: false + friendVerify: false #发送消息是否验证好友关系 false表示不验证好友关系 push: - getui: #个推推送 + getui: pushUrl: "https://restapi.getui.com/v2/$appId" - masterSecret: "" - appKey: "" - enable: false + masterSecret: "" #需添加 + appKey: "" #需添加 + enable: false #true启动个推推送 From bfeb4349200720ab1249cec3a4add3cc87193343 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 14 Nov 2022 18:03:44 +0800 Subject: [PATCH 011/313] conf script --- config/usualConfig.yaml | 2 +- script/init_pwd.sh | 18 ++++-------------- 2 files changed, 5 insertions(+), 15 deletions(-) diff --git a/config/usualConfig.yaml b/config/usualConfig.yaml index 6f93c147a..4d49866ed 100644 --- a/config/usualConfig.yaml +++ b/config/usualConfig.yaml @@ -1,7 +1,7 @@ etcd: userName: password: - secret: # etcd 配置密钥 + secret: openIM123 # etcd 配置密钥 mysql: dbMysqlUserName: root #mysql用户名,建议修改 diff --git a/script/init_pwd.sh b/script/init_pwd.sh index 926502105..8f289aae1 100644 --- a/script/init_pwd.sh +++ b/script/init_pwd.sh @@ -1,18 +1,8 @@ #!/usr/bin/env bash source ../.env -echo "user:{$USER}" -echo "password:{$PASSWORD}" +echo "your user is:$USER" +echo "your password is:$PASSWORD" -nameList=(dbMysqlUserName dbUserName dbUserName accessKeyID) -pwdList=(dbMysqlPassword dbPassword dbPassWord secretAccessKey) - -for i in ${nameList[*]}; do - echo {$i} - sed -i 's/{$i}: [a-z]/{$i}: {$USER}/g' ../config/usualConfig.yaml -done - -for i in ${pwdList[*]}; do - echo {$i} - sed -i 's/{$i}: [a-z]/{$i}: {$PASSWORD}/g' ../config/usualConfig.yaml -done \ No newline at end of file +sed -i "/^\([[:space:]]*dbMysqlUserName: *\).*/s//\1$USER/;/\([[:space:]]*dbUserName: *\).*/s//\1 $USER/;/\([[:space:]]*accessKeyID: *\).*/s//\1$USER/;" ../config/usualConfig.yaml +sed -i "/^\([[:space:]]*dbMysqlPassword: *\).*/s//\1$PASSWORD/;/\([[:space:]]*dbPassword: *\).*/s//\1$PASSWORD/;/\([[:space:]]*dbPassWord: *\).*/s//\1$PASSWORD/;/\([[:space:]]*secretAccessKey: *\).*/s//\1$PASSWORD/;" ../config/usualConfig.yaml \ No newline at end of file From ea0365b9da18850277917fa83af9ee8aae6de665 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 14 Nov 2022 18:17:41 +0800 Subject: [PATCH 012/313] Merge branch 'v2.3.0release' of github.com:OpenIMSDK/Open-IM-Server into v2.3.0release # Conflicts: # config/usualConfig.yaml --- .env | 2 +- script/init_pwd.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.env b/.env index e8d8fd818..7fdf0e3b3 100644 --- a/.env +++ b/.env @@ -1,4 +1,4 @@ USER=root PASSWORD=openIM123 -MINIO_ENDPOINT=127.0.0.1:10005 +MINIO_ENDPOINT=http://127.0.0.1:10005 DATA_DIR=./ \ No newline at end of file diff --git a/script/init_pwd.sh b/script/init_pwd.sh index 0944766a3..388c3e660 100644 --- a/script/init_pwd.sh +++ b/script/init_pwd.sh @@ -5,5 +5,5 @@ echo "your user is:$USER" echo "your password is:$PASSWORD" echo "your minio endPoint:$MINIO_ENDPOINT" -sed -i "/^\([[:space:]]*dbMysqlUserName: *\).*/s//\1$USER/;/\([[:space:]]*dbUserName: *\).*/s//\1$USER/;/\([[:space:]]*accessKeyID: *\).*/s//\1$USER/;/\([[:space:]]*endpoint: *\).*/s//\1$MINIO_ENDPOINT/;" ../config/usualConfig.yaml +sed -i "/^\([[:space:]]*dbMysqlUserName: *\).*/s//\1$USER/;/\([[:space:]]*dbUserName: *\).*/s//\1$USER/;/\([[:space:]]*accessKeyID: *\).*/s//\1$USER/;/\([[:space:]]*endpoint: *\).*/s//\1\"$MINIO_ENDPOINT\"/;" ../config/usualConfig.yaml sed -i "/^\([[:space:]]*dbMysqlPassword: *\).*/s//\1$PASSWORD/;/\([[:space:]]*dbPassword: *\).*/s//\1$PASSWORD/;/\([[:space:]]*dbPassWord: *\).*/s//\1$PASSWORD/;/\([[:space:]]*secretAccessKey: *\).*/s//\1$PASSWORD/;" ../config/usualConfig.yaml \ No newline at end of file From de528270a2217f6df668e6e25d3c461ef9ece067 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 14 Nov 2022 18:18:48 +0800 Subject: [PATCH 013/313] Merge branch 'v2.3.0release' of github.com:OpenIMSDK/Open-IM-Server into v2.3.0release # Conflicts: # config/usualConfig.yaml --- script/init_pwd.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/init_pwd.sh b/script/init_pwd.sh index 388c3e660..96b153a4d 100644 --- a/script/init_pwd.sh +++ b/script/init_pwd.sh @@ -5,5 +5,5 @@ echo "your user is:$USER" echo "your password is:$PASSWORD" echo "your minio endPoint:$MINIO_ENDPOINT" -sed -i "/^\([[:space:]]*dbMysqlUserName: *\).*/s//\1$USER/;/\([[:space:]]*dbUserName: *\).*/s//\1$USER/;/\([[:space:]]*accessKeyID: *\).*/s//\1$USER/;/\([[:space:]]*endpoint: *\).*/s//\1\"$MINIO_ENDPOINT\"/;" ../config/usualConfig.yaml +sed -i "/^\([[:space:]]*dbMysqlUserName: *\).*/s//\1$USER/;/\([[:space:]]*dbUserName: *\).*/s//\1 $USER/;/\([[:space:]]*accessKeyID: *\).*/s//\1$USER/;/\([[:space:]]*endpoint: *\).*/s//\1\"$MINIO_ENDPOINT\"/;" ../config/usualConfig.yaml sed -i "/^\([[:space:]]*dbMysqlPassword: *\).*/s//\1$PASSWORD/;/\([[:space:]]*dbPassword: *\).*/s//\1$PASSWORD/;/\([[:space:]]*dbPassWord: *\).*/s//\1$PASSWORD/;/\([[:space:]]*secretAccessKey: *\).*/s//\1$PASSWORD/;" ../config/usualConfig.yaml \ No newline at end of file From 405a60c4f8abf9d1112c3a0ef6a087ef603ef783 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 14 Nov 2022 18:35:53 +0800 Subject: [PATCH 014/313] Merge branch 'v2.3.0release' of github.com:OpenIMSDK/Open-IM-Server into v2.3.0release # Conflicts: # config/usualConfig.yaml --- pkg/common/config/config.go | 17 +---------------- pkg/grpc-etcdv3/getcdv3/register.go | 16 +++++++++++++++- 2 files changed, 16 insertions(+), 17 deletions(-) diff --git a/pkg/common/config/config.go b/pkg/common/config/config.go index 64ca6d727..4fce63c19 100644 --- a/pkg/common/config/config.go +++ b/pkg/common/config/config.go @@ -1,8 +1,6 @@ package config import ( - "Open_IM/pkg/grpc-etcdv3/getcdv3" - "Open_IM/pkg/utils" "fmt" "io/ioutil" "os" @@ -18,7 +16,7 @@ var ( Root = filepath.Join(filepath.Dir(b), "../../..") ) -const confName = "openIMConf" +const ConfName = "openIMConf" var Config config @@ -729,16 +727,3 @@ func init() { Config.TokenPolicy.AccessSecret = UsualConfig.Tokenpolicy.AccessSecret } } - -func RegisterConf() { - bytes, err := yaml.Marshal(Config) - if err != nil { - panic(err.Error()) - } - secretMD5 := utils.Md5(Config.Etcd.Secret) - confBytes, err := utils.AesEncrypt(bytes, []byte(secretMD5[0:16])) - if err != nil { - panic(err.Error()) - } - getcdv3.RegisterConf(getcdv3.GetPrefix(Config.Etcd.EtcdSchema, confName), string(confBytes)) -} diff --git a/pkg/grpc-etcdv3/getcdv3/register.go b/pkg/grpc-etcdv3/getcdv3/register.go index 6884dc465..3416fca18 100644 --- a/pkg/grpc-etcdv3/getcdv3/register.go +++ b/pkg/grpc-etcdv3/getcdv3/register.go @@ -7,6 +7,7 @@ import ( "context" "fmt" clientv3 "go.etcd.io/etcd/client/v3" + "gopkg.in/yaml.v3" "net" "strconv" "strings" @@ -129,7 +130,7 @@ func UnRegisterEtcd() { rEtcd.cli.Delete(rEtcd.ctx, rEtcd.key) } -func RegisterConf(key, conf string) { +func registerConf(key, conf string) { etcdAddr := strings.Join(config.Config.Etcd.EtcdAddr, ",") cli, err := clientv3.New(clientv3.Config{ Endpoints: strings.Split(etcdAddr, ","), DialTimeout: 5 * time.Second}) @@ -150,3 +151,16 @@ func RegisterConf(key, conf string) { } } + +func init() { + bytes, err := yaml.Marshal(config.Config) + if err != nil { + panic(err.Error()) + } + secretMD5 := utils.Md5(config.Config.Etcd.Secret) + confBytes, err := utils.AesEncrypt(bytes, []byte(secretMD5[0:16])) + if err != nil { + panic(err.Error()) + } + registerConf(GetPrefix(config.Config.Etcd.EtcdSchema, config.ConfName), string(confBytes)) +} From a556cfcd4092ac9ffda0df9b6c09527dfc3f5ff5 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 14 Nov 2022 18:37:42 +0800 Subject: [PATCH 015/313] etcd conf --- cmd/open_im_api/main.go | 3 ++- pkg/grpc-etcdv3/getcdv3/register.go | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/cmd/open_im_api/main.go b/cmd/open_im_api/main.go index b9b0e2373..94cb88831 100644 --- a/cmd/open_im_api/main.go +++ b/cmd/open_im_api/main.go @@ -15,6 +15,7 @@ import ( "Open_IM/internal/api/user" "Open_IM/pkg/common/config" "Open_IM/pkg/common/log" + "Open_IM/pkg/grpc-etcdv3/getcdv3" "Open_IM/pkg/utils" "flag" "fmt" @@ -222,7 +223,7 @@ func main() { initGroup.POST("/set_client_config", clientInit.SetClientInitConfig) initGroup.POST("/get_client_config", clientInit.GetClientInitConfig) } - go config.RegisterConf() + go getcdv3.RegisterConf() go apiThird.MinioInit() defaultPorts := config.Config.Api.GinPort ginPort := flag.Int("port", defaultPorts[0], "get ginServerPort from cmd,default 10002 as port") diff --git a/pkg/grpc-etcdv3/getcdv3/register.go b/pkg/grpc-etcdv3/getcdv3/register.go index 3416fca18..c9498a6bd 100644 --- a/pkg/grpc-etcdv3/getcdv3/register.go +++ b/pkg/grpc-etcdv3/getcdv3/register.go @@ -152,7 +152,7 @@ func registerConf(key, conf string) { } -func init() { +func RegisterConf() { bytes, err := yaml.Marshal(config.Config) if err != nil { panic(err.Error()) From 5d54225f9dbed108c451f5406b7dea8232508a16 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 14 Nov 2022 19:04:34 +0800 Subject: [PATCH 016/313] etcd conf --- pkg/grpc-etcdv3/getcdv3/register.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkg/grpc-etcdv3/getcdv3/register.go b/pkg/grpc-etcdv3/getcdv3/register.go index c9498a6bd..a61615b53 100644 --- a/pkg/grpc-etcdv3/getcdv3/register.go +++ b/pkg/grpc-etcdv3/getcdv3/register.go @@ -139,8 +139,7 @@ func registerConf(key, conf string) { panic(err.Error()) } //lease - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() + ctx, _ := context.WithCancel(context.Background()) resp, err := cli.Grant(ctx, 10) if err != nil { panic(err.Error()) @@ -162,5 +161,7 @@ func RegisterConf() { if err != nil { panic(err.Error()) } + fmt.Println("start register", secretMD5) registerConf(GetPrefix(config.Config.Etcd.EtcdSchema, config.ConfName), string(confBytes)) + fmt.Println("etcd register conf ok") } From de90205b662ce4ad84d3aaff1223f0d24faf1c64 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 14 Nov 2022 19:07:34 +0800 Subject: [PATCH 017/313] etcd conf --- pkg/grpc-etcdv3/getcdv3/register.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/grpc-etcdv3/getcdv3/register.go b/pkg/grpc-etcdv3/getcdv3/register.go index a61615b53..a6fe5f196 100644 --- a/pkg/grpc-etcdv3/getcdv3/register.go +++ b/pkg/grpc-etcdv3/getcdv3/register.go @@ -161,7 +161,7 @@ func RegisterConf() { if err != nil { panic(err.Error()) } - fmt.Println("start register", secretMD5) + fmt.Println("start register", secretMD5, GetPrefix(config.Config.Etcd.EtcdSchema, config.ConfName) registerConf(GetPrefix(config.Config.Etcd.EtcdSchema, config.ConfName), string(confBytes)) fmt.Println("etcd register conf ok") } From d3751da0e4a2ff0cea025b2c29d1f9f640ab5e1e Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 14 Nov 2022 19:07:44 +0800 Subject: [PATCH 018/313] etcd conf --- pkg/grpc-etcdv3/getcdv3/register.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/grpc-etcdv3/getcdv3/register.go b/pkg/grpc-etcdv3/getcdv3/register.go index a6fe5f196..e01b6544f 100644 --- a/pkg/grpc-etcdv3/getcdv3/register.go +++ b/pkg/grpc-etcdv3/getcdv3/register.go @@ -161,7 +161,7 @@ func RegisterConf() { if err != nil { panic(err.Error()) } - fmt.Println("start register", secretMD5, GetPrefix(config.Config.Etcd.EtcdSchema, config.ConfName) + fmt.Println("start register", secretMD5, GetPrefix(config.Config.Etcd.EtcdSchema, config.ConfName)) registerConf(GetPrefix(config.Config.Etcd.EtcdSchema, config.ConfName), string(confBytes)) fmt.Println("etcd register conf ok") } From 4eb5df3f28cb47a0a470a997e16a67a91082e06d Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 14 Nov 2022 19:14:51 +0800 Subject: [PATCH 019/313] etcd conf --- pkg/grpc-etcdv3/getcdv3/register.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/grpc-etcdv3/getcdv3/register.go b/pkg/grpc-etcdv3/getcdv3/register.go index e01b6544f..d2be7dbf0 100644 --- a/pkg/grpc-etcdv3/getcdv3/register.go +++ b/pkg/grpc-etcdv3/getcdv3/register.go @@ -162,6 +162,6 @@ func RegisterConf() { panic(err.Error()) } fmt.Println("start register", secretMD5, GetPrefix(config.Config.Etcd.EtcdSchema, config.ConfName)) - registerConf(GetPrefix(config.Config.Etcd.EtcdSchema, config.ConfName), string(confBytes)) + registerConf(config.ConfName, string(confBytes)) fmt.Println("etcd register conf ok") } From 4709e536ee02fe8b70b036b576abb02896487964 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 14 Nov 2022 19:19:56 +0800 Subject: [PATCH 020/313] etcd conf --- pkg/grpc-etcdv3/getcdv3/register.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/grpc-etcdv3/getcdv3/register.go b/pkg/grpc-etcdv3/getcdv3/register.go index d2be7dbf0..4c18872ef 100644 --- a/pkg/grpc-etcdv3/getcdv3/register.go +++ b/pkg/grpc-etcdv3/getcdv3/register.go @@ -161,7 +161,7 @@ func RegisterConf() { if err != nil { panic(err.Error()) } - fmt.Println("start register", secretMD5, GetPrefix(config.Config.Etcd.EtcdSchema, config.ConfName)) - registerConf(config.ConfName, string(confBytes)) + fmt.Println("start register", secretMD5, GetPrefix(config.Config.Etcd.EtcdSchema, config.ConfName), confBytes) + registerConf(config.ConfName, "xxxx") fmt.Println("etcd register conf ok") } From 7a5a308c9b95560af24830577c6e93c8a468088a Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 14 Nov 2022 19:21:56 +0800 Subject: [PATCH 021/313] etcd conf --- pkg/grpc-etcdv3/getcdv3/register.go | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/pkg/grpc-etcdv3/getcdv3/register.go b/pkg/grpc-etcdv3/getcdv3/register.go index 4c18872ef..2e83e621f 100644 --- a/pkg/grpc-etcdv3/getcdv3/register.go +++ b/pkg/grpc-etcdv3/getcdv3/register.go @@ -139,12 +139,7 @@ func registerConf(key, conf string) { panic(err.Error()) } //lease - ctx, _ := context.WithCancel(context.Background()) - resp, err := cli.Grant(ctx, 10) - if err != nil { - panic(err.Error()) - } - if _, err := cli.Put(ctx, key, conf, clientv3.WithLease(resp.ID)); err != nil { + if _, err := cli.Put(context.Background(), key, conf); err != nil { fmt.Println("panic, params: ") panic(err.Error()) } From 6484b796cd575636d8281bcc01aac91160ba4d57 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 14 Nov 2022 19:24:20 +0800 Subject: [PATCH 022/313] etcd conf --- pkg/grpc-etcdv3/getcdv3/register.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/grpc-etcdv3/getcdv3/register.go b/pkg/grpc-etcdv3/getcdv3/register.go index 2e83e621f..31af79b4a 100644 --- a/pkg/grpc-etcdv3/getcdv3/register.go +++ b/pkg/grpc-etcdv3/getcdv3/register.go @@ -156,7 +156,7 @@ func RegisterConf() { if err != nil { panic(err.Error()) } - fmt.Println("start register", secretMD5, GetPrefix(config.Config.Etcd.EtcdSchema, config.ConfName), confBytes) - registerConf(config.ConfName, "xxxx") + fmt.Println("start register", secretMD5, GetPrefix(config.Config.Etcd.EtcdSchema, config.ConfName)) + registerConf(GetPrefix(config.Config.Etcd.EtcdSchema, config.ConfName), string(confBytes)) fmt.Println("etcd register conf ok") } From 051f73013cddacfd82804b2b0cca3e4e4e6acf56 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 14 Nov 2022 19:36:49 +0800 Subject: [PATCH 023/313] etcd conf --- script/.env | 3 --- script/init_pwd.sh | 10 +++++----- 2 files changed, 5 insertions(+), 8 deletions(-) delete mode 100644 script/.env diff --git a/script/.env b/script/.env deleted file mode 100644 index fbe982494..000000000 --- a/script/.env +++ /dev/null @@ -1,3 +0,0 @@ -USER=root -PASSWORD=openIM123 -DATA_DIR=./ \ No newline at end of file diff --git a/script/init_pwd.sh b/script/init_pwd.sh index 96b153a4d..c2a7256d4 100644 --- a/script/init_pwd.sh +++ b/script/init_pwd.sh @@ -1,9 +1,9 @@ -#!/usr/bin/env bash - source ../.env echo "your user is:$USER" echo "your password is:$PASSWORD" -echo "your minio endPoint:$MINIO_ENDPOINT" +echo "your minio endPoint is:$MINIO_ENDPOINT" + +sed -i "/^\([[:space:]]*dbMysqlUserName: *\).*/s//\1$USER/;/\([[:space:]]*dbUserName: *\).*/s//\1 $USER/;/\([[:space:]]*accessKeyID: *\).*/s//\1$USER/;/\([[:space:]]*endpoint: *\).*/s//\1\"abc\"/;" ../config/usualConfig.yaml +sed -i "/^\([[:space:]]*dbMysqlPassword: *\).*/s//\1$PASSWORD/;/\([[:space:]]*dbPassword: *\).*/s//\1$PASSWORD/;/\([[:space:]]*dbPassWord: *\).*/s//\1$PASSWORD/;/\([[:space:]]*secretAccessKey: *\).*/s//\1$PASSWORD/;" ../config/usualConfig.yaml -sed -i "/^\([[:space:]]*dbMysqlUserName: *\).*/s//\1$USER/;/\([[:space:]]*dbUserName: *\).*/s//\1 $USER/;/\([[:space:]]*accessKeyID: *\).*/s//\1$USER/;/\([[:space:]]*endpoint: *\).*/s//\1\"$MINIO_ENDPOINT\"/;" ../config/usualConfig.yaml -sed -i "/^\([[:space:]]*dbMysqlPassword: *\).*/s//\1$PASSWORD/;/\([[:space:]]*dbPassword: *\).*/s//\1$PASSWORD/;/\([[:space:]]*dbPassWord: *\).*/s//\1$PASSWORD/;/\([[:space:]]*secretAccessKey: *\).*/s//\1$PASSWORD/;" ../config/usualConfig.yaml \ No newline at end of file +sed -i "/\([[:space:]]*endpoint: *\).*/s##\1$MINIO_ENDPOINT#;" ../config/usualConfig.yaml From bd7009732faae39a663b95c463dab11936c68d89 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 14 Nov 2022 19:45:05 +0800 Subject: [PATCH 024/313] etcd conf --- script/init_pwd.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/script/init_pwd.sh b/script/init_pwd.sh index c2a7256d4..2a732272c 100644 --- a/script/init_pwd.sh +++ b/script/init_pwd.sh @@ -4,6 +4,7 @@ echo "your password is:$PASSWORD" echo "your minio endPoint is:$MINIO_ENDPOINT" sed -i "/^\([[:space:]]*dbMysqlUserName: *\).*/s//\1$USER/;/\([[:space:]]*dbUserName: *\).*/s//\1 $USER/;/\([[:space:]]*accessKeyID: *\).*/s//\1$USER/;/\([[:space:]]*endpoint: *\).*/s//\1\"abc\"/;" ../config/usualConfig.yaml -sed -i "/^\([[:space:]]*dbMysqlPassword: *\).*/s//\1$PASSWORD/;/\([[:space:]]*dbPassword: *\).*/s//\1$PASSWORD/;/\([[:space:]]*dbPassWord: *\).*/s//\1$PASSWORD/;/\([[:space:]]*secretAccessKey: *\).*/s//\1$PASSWORD/;" ../config/usualConfig.yaml +sed -i "/^\([[:space:]]*dbMysqlPassword: *\).*/s//\1$PASSWORD/;/\([[:space:]]*dbPassword: *\).*/s//\1$PASSWORD/;/\([[:space:]]*secret: *\).*/s//\1$PASSWORD/;/\([[:space:]]*secretAccessKey: *\).*/s//\1$PASSWORD/;" ../config/usualConfig.yaml sed -i "/\([[:space:]]*endpoint: *\).*/s##\1$MINIO_ENDPOINT#;" ../config/usualConfig.yaml +sed -i "/\([[:space:]]*dbPassWord: *\).*/s//\1$PASSWORD/;" ../config/usualConfig.yaml From bafd2f3b865fd414205a57b0b81fd3b5e7781ef3 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 14 Nov 2022 19:58:57 +0800 Subject: [PATCH 025/313] etcd conf --- install_im_server.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/install_im_server.sh b/install_im_server.sh index aa188d65f..b2b9b9649 100644 --- a/install_im_server.sh +++ b/install_im_server.sh @@ -2,6 +2,7 @@ cd script ; chmod +x *.sh ; +./init_pwd.sh ./env_check.sh; cd .. ; docker-compose up -d; From ea856283898d1eca5ae0596e6ba96a8ea92009b4 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 14 Nov 2022 20:03:09 +0800 Subject: [PATCH 026/313] etcd conf --- script/init_pwd.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/init_pwd.sh b/script/init_pwd.sh index 2a732272c..1cc51c9a4 100644 --- a/script/init_pwd.sh +++ b/script/init_pwd.sh @@ -3,7 +3,7 @@ echo "your user is:$USER" echo "your password is:$PASSWORD" echo "your minio endPoint is:$MINIO_ENDPOINT" -sed -i "/^\([[:space:]]*dbMysqlUserName: *\).*/s//\1$USER/;/\([[:space:]]*dbUserName: *\).*/s//\1 $USER/;/\([[:space:]]*accessKeyID: *\).*/s//\1$USER/;/\([[:space:]]*endpoint: *\).*/s//\1\"abc\"/;" ../config/usualConfig.yaml +sed -i "/^\([[:space:]]*dbMysqlUserName: *\).*/s//\1$USER/;0,/\([[:space:]]*dbUserName: *\).*/s//\1 $USER/;/\([[:space:]]*accessKeyID: *\).*/s//\1$USER/;/\([[:space:]]*endpoint: *\).*/s//\1\"abc\"/;" ../config/usualConfig.yaml sed -i "/^\([[:space:]]*dbMysqlPassword: *\).*/s//\1$PASSWORD/;/\([[:space:]]*dbPassword: *\).*/s//\1$PASSWORD/;/\([[:space:]]*secret: *\).*/s//\1$PASSWORD/;/\([[:space:]]*secretAccessKey: *\).*/s//\1$PASSWORD/;" ../config/usualConfig.yaml sed -i "/\([[:space:]]*endpoint: *\).*/s##\1$MINIO_ENDPOINT#;" ../config/usualConfig.yaml From a85bbc8ce8cbcc5697b9bc676c18734df14e8f4a Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 15 Nov 2022 11:21:51 +0800 Subject: [PATCH 027/313] docker --- docker-compose.yaml | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/docker-compose.yaml b/docker-compose.yaml index f36161942..2818972fb 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -138,11 +138,29 @@ services: max-size: "1g" max-file: "2" + open_im_enterprise: + image: openim/open_im_enterprise:v1.0.0 + container_name: open_im_enterprise + volumes: + - ./logs:/Open-IM-Enterprise/logs + restart: always + depends_on: + - mysql + - mongodb + - redis + - etcd + - minio + network_mode: "host" + logging: + driver: json-file + options: + max-size: "1g" + max-file: "2" + prometheus: image: prom/prometheus volumes: - ${DATA_DIR}/docker-compose_cfg/prometheus-compose.yml:/etc/prometheus/prometheus.yml - # - ${DATA_DIR}/components/prometheus_data:/prometheus container_name: prometheus # ports: # - 9091:9091 From 99b445e7bcee2cb35c8caf5e33d928cf3a3d87f9 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 15 Nov 2022 14:09:39 +0800 Subject: [PATCH 028/313] docker --- docker-compose.yaml | 9 ++--- docker-compose_cfg/config.yaml | 61 ++++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+), 4 deletions(-) create mode 100644 docker-compose_cfg/config.yaml diff --git a/docker-compose.yaml b/docker-compose.yaml index 2818972fb..a4cf9df7a 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -143,6 +143,7 @@ services: container_name: open_im_enterprise volumes: - ./logs:/Open-IM-Enterprise/logs + - ./docker-compose_cfg/config.yaml:/Open-IM-Enterprise/config/config.yaml restart: always depends_on: - mysql @@ -160,7 +161,7 @@ services: prometheus: image: prom/prometheus volumes: - - ${DATA_DIR}/docker-compose_cfg/prometheus-compose.yml:/etc/prometheus/prometheus.yml + - ./docker-compose_cfg/prometheus-compose.yml:/etc/prometheus/prometheus.yml container_name: prometheus # ports: # - 9091:9091 @@ -174,9 +175,9 @@ services: volumes: # - ./grafana/dashboards/dashboard.json:/var/lib/grafana/dashboards/dashboard.json # - ./grafana/provisioning/dashboard.yaml:/etc/grafana/provisioning/dashboards/dashboard.yaml - - ${DATA_DIR}/docker-compose_cfg/datasource-compose.yaml:/etc/grafana/provisioning/datasources/datasource.yaml - - ${DATA_DIR}/docker-compose_cfg/grafana.ini:/etc/grafana/grafana.ini - - ${DATA_DIR}/docker-compose_cfg/node-exporter-full_rev1.json:/var/lib/grafana/dashboards/node-exporter-full_rev1.json + - ./docker-compose_cfg/datasource-compose.yaml:/etc/grafana/provisioning/datasources/datasource.yaml + - ./docker-compose_cfg/grafana.ini:/etc/grafana/grafana.ini + - ./docker-compose_cfg/node-exporter-full_rev1.json:/var/lib/grafana/dashboards/node-exporter-full_rev1.json container_name: grafana # ports: # - 10007:10007 diff --git a/docker-compose_cfg/config.yaml b/docker-compose_cfg/config.yaml new file mode 100644 index 000000000..ee3c7c811 --- /dev/null +++ b/docker-compose_cfg/config.yaml @@ -0,0 +1,61 @@ +#---------------Infrastructure configuration---------------------# +etcd: + etcdSchema: openim #默认即可 + etcdAddr: [ 127.0.0.1:2379 ] #单机部署时,默认即可 + userName: + password: + secret: openIM123 + +# 默认管理员账号 +admin: + defaultAccount: + account: [ "admin1", "admin2" ] + defaultPassword: [ "password1", "password2" ] + openIMUserID: [ "openIM123456", "openIMAdmin" ] + faceURL: [ "", "" ] + nickname: [ "admin1", "admin2" ] + level: [ 1, 100 ] + + +adminapi: + openImAdminApiPort: [ 10009 ] #管理后台api服务端口,默认即可,需要开放此端口或做nginx转发 + listenIP: 0.0.0.0 + +chatapi: + openImChatApiPort: [ 10008 ] #登录注册,默认即可,需要开放此端口或做nginx转发 + listenIP: 0.0.0.0 + +rpcport: # rpc服务端口 默认即可 + openImAdminPort: [ 30200 ] + openImChatPort: [ 30300 ] + + +rpcregistername: #rpc注册服务名,默认即可 + openImChatName: Chat + + +chat: + codeTTL: 300 # 短信验证码有效时间(秒) + needInvitationCode: false # 注册是否需要邀请码 + alismsverify: #阿里云短信配置,在阿里云申请成功后修改以下四项,enable为true则必须修改,阿里云为默认短信验证方式 + accessKeyId: LTAI5tJPkn4HuuePdiLdGqe7 + accessKeySecret: 4n9OJ7ZCVN1U6KeHDAtOyNeVZcjOuV + signName: 托云信息技术 + verificationCodeTemplateCode: SMS_255305047 + +oss: + tempDir: enterprise-temp # 临时密钥上传的目录 + dataDir: enterprise-data # 最终存放目录 + aliyun: + endpoint: https://oss-cn-chengdu.aliyuncs.com + accessKeyID: "" + accessKeySecret: "" + bucket: "" + tencent: + BucketURL: "" + serviceURL: https://cos.COS_REGION.myqcloud.com + secretID: "" + secretKey: "" + sessionToken: "" + bucket: "" + use: "" \ No newline at end of file From 9b69a5c8f2bd31249b25cf0a524d3ad4954d3385 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 15 Nov 2022 14:27:29 +0800 Subject: [PATCH 029/313] docker --- docker-compose.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docker-compose.yaml b/docker-compose.yaml index a4cf9df7a..026755912 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -139,7 +139,7 @@ services: max-file: "2" open_im_enterprise: - image: openim/open_im_enterprise:v1.0.0 + image: openim/open_im_enterprise:v1.0.1 container_name: open_im_enterprise volumes: - ./logs:/Open-IM-Enterprise/logs @@ -157,6 +157,8 @@ services: options: max-size: "1g" max-file: "2" + environment: + CONFIG_NAME: "/Open-IM-Enterprise" prometheus: image: prom/prometheus From e7f0979c9e4c028fb1e5b074fe69527ff59abdee Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 15 Nov 2022 14:30:31 +0800 Subject: [PATCH 030/313] docker --- docker-compose.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yaml b/docker-compose.yaml index 026755912..a8727428b 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -139,7 +139,7 @@ services: max-file: "2" open_im_enterprise: - image: openim/open_im_enterprise:v1.0.1 + image: openim/open_im_enterprise:v1.0.0 container_name: open_im_enterprise volumes: - ./logs:/Open-IM-Enterprise/logs From 603f0d289a5abf5ce33f55e2002ac8b9c93570b8 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 15 Nov 2022 14:49:50 +0800 Subject: [PATCH 031/313] docker --- docker-compose.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/docker-compose.yaml b/docker-compose.yaml index a8727428b..dac735657 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -151,6 +151,7 @@ services: - redis - etcd - minio + - open_im_server network_mode: "host" logging: driver: json-file From f3e5b03af25e065cd16fe139bbf7c92e07f5c8b2 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 15 Nov 2022 14:55:03 +0800 Subject: [PATCH 032/313] docker --- docker-compose_cfg/config.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docker-compose_cfg/config.yaml b/docker-compose_cfg/config.yaml index ee3c7c811..2767a5f52 100644 --- a/docker-compose_cfg/config.yaml +++ b/docker-compose_cfg/config.yaml @@ -6,6 +6,9 @@ etcd: password: secret: openIM123 +mysql: + dbMysqlDatabaseName: admin_chat # 数据库名字 默认即可 + # 默认管理员账号 admin: defaultAccount: @@ -33,7 +36,6 @@ rpcport: # rpc服务端口 默认即可 rpcregistername: #rpc注册服务名,默认即可 openImChatName: Chat - chat: codeTTL: 300 # 短信验证码有效时间(秒) needInvitationCode: false # 注册是否需要邀请码 From d6f8f9704ce8f5cb02ed0a6cb067f29429a3b8b1 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 15 Nov 2022 15:55:02 +0800 Subject: [PATCH 033/313] docker --- script/.env | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 script/.env diff --git a/script/.env b/script/.env new file mode 100644 index 000000000..7fdf0e3b3 --- /dev/null +++ b/script/.env @@ -0,0 +1,4 @@ +USER=root +PASSWORD=openIM123 +MINIO_ENDPOINT=http://127.0.0.1:10005 +DATA_DIR=./ \ No newline at end of file From 298763a4a7c57bd072a97bdf1cdef044e0add6e1 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 15 Nov 2022 18:28:27 +0800 Subject: [PATCH 034/313] docker --- script/init_pwd.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/script/init_pwd.sh b/script/init_pwd.sh index 1cc51c9a4..63af606c1 100644 --- a/script/init_pwd.sh +++ b/script/init_pwd.sh @@ -8,3 +8,4 @@ sed -i "/^\([[:space:]]*dbMysqlPassword: *\).*/s//\1$PASSWORD/;/\([[:space:]]*db sed -i "/\([[:space:]]*endpoint: *\).*/s##\1$MINIO_ENDPOINT#;" ../config/usualConfig.yaml sed -i "/\([[:space:]]*dbPassWord: *\).*/s//\1$PASSWORD/;" ../config/usualConfig.yaml +sed -i "/\([[:space:]]*secret: *\).*/s//\1$PASSWORD/;" ../docker-compose_cfg/config.yaml" From 3e21c841be7598b3fecfbd1d6738680de2820113 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 15 Nov 2022 18:29:33 +0800 Subject: [PATCH 035/313] docker --- script/init_pwd.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/init_pwd.sh b/script/init_pwd.sh index 63af606c1..dfe02a959 100644 --- a/script/init_pwd.sh +++ b/script/init_pwd.sh @@ -8,4 +8,4 @@ sed -i "/^\([[:space:]]*dbMysqlPassword: *\).*/s//\1$PASSWORD/;/\([[:space:]]*db sed -i "/\([[:space:]]*endpoint: *\).*/s##\1$MINIO_ENDPOINT#;" ../config/usualConfig.yaml sed -i "/\([[:space:]]*dbPassWord: *\).*/s//\1$PASSWORD/;" ../config/usualConfig.yaml -sed -i "/\([[:space:]]*secret: *\).*/s//\1$PASSWORD/;" ../docker-compose_cfg/config.yaml" +sed -i "/\([[:space:]]*secret: *\).*/s//\1$PASSWORD/;" ../docker-compose_cfg/config.yaml From 56c63fb1a157415a722548284e0f05205701a676 Mon Sep 17 00:00:00 2001 From: skiffer-git <44203734@qq.com> Date: Tue, 15 Nov 2022 19:07:31 +0800 Subject: [PATCH 036/313] config --- docker-compose_cfg/config.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docker-compose_cfg/config.yaml b/docker-compose_cfg/config.yaml index 2767a5f52..48631c0f0 100644 --- a/docker-compose_cfg/config.yaml +++ b/docker-compose_cfg/config.yaml @@ -35,15 +35,15 @@ rpcport: # rpc服务端口 默认即可 rpcregistername: #rpc注册服务名,默认即可 openImChatName: Chat + openImAdminCMSName: Admin chat: - codeTTL: 300 # 短信验证码有效时间(秒) - needInvitationCode: false # 注册是否需要邀请码 - alismsverify: #阿里云短信配置,在阿里云申请成功后修改以下四项,enable为true则必须修改,阿里云为默认短信验证方式 - accessKeyId: LTAI5tJPkn4HuuePdiLdGqe7 - accessKeySecret: 4n9OJ7ZCVN1U6KeHDAtOyNeVZcjOuV + codeTTL: 300 #短信验证码有效时间(秒) + alismsverify: #阿里云短信配置,在阿里云申请成功后修改以下四项 + accessKeyId: LTAI5tJPkn4HuuePdiLdGqe71 + accessKeySecret: 4n9OJ7ZCVN1U6KeHDAtOyNeVZcjOuV1 signName: 托云信息技术 - verificationCodeTemplateCode: SMS_255305047 + verificationCodeTemplateCode: SMS_2553050471 oss: tempDir: enterprise-temp # 临时密钥上传的目录 @@ -60,4 +60,4 @@ oss: secretKey: "" sessionToken: "" bucket: "" - use: "" \ No newline at end of file + use: "minio" \ No newline at end of file From 710d37c64086d51e870a4573163106d36674d026 Mon Sep 17 00:00:00 2001 From: skiffer-git <44203734@qq.com> Date: Tue, 15 Nov 2022 19:08:58 +0800 Subject: [PATCH 037/313] config --- docker-compose_cfg/config.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docker-compose_cfg/config.yaml b/docker-compose_cfg/config.yaml index 2767a5f52..48631c0f0 100644 --- a/docker-compose_cfg/config.yaml +++ b/docker-compose_cfg/config.yaml @@ -35,15 +35,15 @@ rpcport: # rpc服务端口 默认即可 rpcregistername: #rpc注册服务名,默认即可 openImChatName: Chat + openImAdminCMSName: Admin chat: - codeTTL: 300 # 短信验证码有效时间(秒) - needInvitationCode: false # 注册是否需要邀请码 - alismsverify: #阿里云短信配置,在阿里云申请成功后修改以下四项,enable为true则必须修改,阿里云为默认短信验证方式 - accessKeyId: LTAI5tJPkn4HuuePdiLdGqe7 - accessKeySecret: 4n9OJ7ZCVN1U6KeHDAtOyNeVZcjOuV + codeTTL: 300 #短信验证码有效时间(秒) + alismsverify: #阿里云短信配置,在阿里云申请成功后修改以下四项 + accessKeyId: LTAI5tJPkn4HuuePdiLdGqe71 + accessKeySecret: 4n9OJ7ZCVN1U6KeHDAtOyNeVZcjOuV1 signName: 托云信息技术 - verificationCodeTemplateCode: SMS_255305047 + verificationCodeTemplateCode: SMS_2553050471 oss: tempDir: enterprise-temp # 临时密钥上传的目录 @@ -60,4 +60,4 @@ oss: secretKey: "" sessionToken: "" bucket: "" - use: "" \ No newline at end of file + use: "minio" \ No newline at end of file From df58abfcdb129f0a16571e146586f2a73d9ea311 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 15 Nov 2022 19:13:53 +0800 Subject: [PATCH 038/313] check script --- script/docker_check_service.sh | 3 ++- script/enterprise/check_all.sh | 28 ++++++++++++++++++++++++++++ script/enterprise/function.sh | 15 +++++++++++++++ script/enterprise/path_info.cfg | 29 +++++++++++++++++++++++++++++ 4 files changed, 74 insertions(+), 1 deletion(-) create mode 100644 script/enterprise/check_all.sh create mode 100644 script/enterprise/function.sh create mode 100644 script/enterprise/path_info.cfg diff --git a/script/docker_check_service.sh b/script/docker_check_service.sh index 6236712ba..c1cca764a 100644 --- a/script/docker_check_service.sh +++ b/script/docker_check_service.sh @@ -7,5 +7,6 @@ sleep 30 echo "check OpenIM................................" ./check_all.sh - +chmod +x ./enterprise/*.sh +./enterprise/check_all.sh diff --git a/script/enterprise/check_all.sh b/script/enterprise/check_all.sh new file mode 100644 index 000000000..844b978a5 --- /dev/null +++ b/script/enterprise/check_all.sh @@ -0,0 +1,28 @@ +#!/usr/bin/env bash + +source ./style_info.cfg +source ./enterprise/path_info.cfg +source ./enterprise/function.sh +service_port_name=( + openImChatApiPort + openImAdminApiPort + #api port name + openImAdminPort + openImChatPort +) +switch=$(cat $config_path | grep demoswitch |awk -F '[:]' '{print $NF}') +for i in ${service_port_name[*]}; do + list=$(cat $config_path | grep -w ${i} | awk -F '[:]' '{print $NF}') + list_to_string $list + for j in ${ports_array}; do + port=$(ss -tunlp| grep open_im | awk '{print $5}' | grep -w ${j} | awk -F '[:]' '{print $NF}') + if [[ ${port} -ne ${j} ]]; then + echo -e ${YELLOW_PREFIX}${i}${COLOR_SUFFIX}${RED_PREFIX}" service does not start normally,not initiated port is "${COLOR_SUFFIX}${YELLOW_PREFIX}${j}${COLOR_SUFFIX} + echo -e ${RED_PREFIX}"please check ../logs/openIM.log "${COLOR_SUFFIX} + exit -1 + else + echo -e ${j}${GREEN_PREFIX}" port has been listening,belongs service is "${i}${COLOR_SUFFIX} + fi + done +done + diff --git a/script/enterprise/function.sh b/script/enterprise/function.sh new file mode 100644 index 000000000..97f19187a --- /dev/null +++ b/script/enterprise/function.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash +#input:[10023,2323,3434] +#output:10023 2323 3434 +list_to_string(){ +ports_list=$* +sub_s1=`echo $ports_list | sed 's/ //g'` +sub_s2=${sub_s1//,/ } +sub_s3=${sub_s2#*[} +sub_s4=${sub_s3%]*} +ports_array=$sub_s4 +} +remove_space(){ + value=$* + result=`echo $value | sed 's/ //g'` +} \ No newline at end of file diff --git a/script/enterprise/path_info.cfg b/script/enterprise/path_info.cfg new file mode 100644 index 000000000..c3bf17d97 --- /dev/null +++ b/script/enterprise/path_info.cfg @@ -0,0 +1,29 @@ +#Don't put the space between "=" + + +demo_server_name="open_im_chat_api" +demo_server_binary_root="../bin/" + + + +#Global configuration file default dir +config_path="../docker-compose_cfg/config.yaml" + +#servicefile dir path +service_source_root=( + #api service file + ../cmd/api/chat/ + ../cmd/api/admin/ + #rpc service file + ../cmd/rpc/admin/ + ../cmd/rpc/chat/ +) +#service filename +service_names=( + #api service filename + open_im_chat_api + open_im_admin_api + #rpc service filename + open_im_admin + open_im_chat +) From e53a895471cf0b5d183bec14857b18118988959b Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 15 Nov 2022 19:31:43 +0800 Subject: [PATCH 039/313] check script --- docker-compose_cfg/config.yaml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/docker-compose_cfg/config.yaml b/docker-compose_cfg/config.yaml index 48631c0f0..4ea03d854 100644 --- a/docker-compose_cfg/config.yaml +++ b/docker-compose_cfg/config.yaml @@ -39,11 +39,13 @@ rpcregistername: #rpc注册服务名,默认即可 chat: codeTTL: 300 #短信验证码有效时间(秒) + superVerificationCode: 666666 # 超级验证码 alismsverify: #阿里云短信配置,在阿里云申请成功后修改以下四项 - accessKeyId: LTAI5tJPkn4HuuePdiLdGqe71 - accessKeySecret: 4n9OJ7ZCVN1U6KeHDAtOyNeVZcjOuV1 - signName: 托云信息技术 - verificationCodeTemplateCode: SMS_2553050471 + accessKeyId: + accessKeySecret: + signName: + verificationCodeTemplateCode: + oss: tempDir: enterprise-temp # 临时密钥上传的目录 From 3f5dd5bad88f0a4bc3024d98350509fc94b98569 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 16 Nov 2022 11:54:24 +0800 Subject: [PATCH 040/313] read after burn time --- internal/rpc/conversation/conversaion.go | 2 + pkg/base_info/conversation_api_struct.go | 1 + pkg/common/constant/constant.go | 1 + pkg/common/db/model_struct.go | 1 + pkg/proto/conversation/conversation.pb.go | 686 ++++++++-------------- pkg/proto/conversation/conversation.proto | 1 + 6 files changed, 264 insertions(+), 428 deletions(-) diff --git a/internal/rpc/conversation/conversaion.go b/internal/rpc/conversation/conversaion.go index be51e770f..c6ffb8580 100644 --- a/internal/rpc/conversation/conversaion.go +++ b/internal/rpc/conversation/conversaion.go @@ -78,6 +78,8 @@ func (rpc *rpcConversation) ModifyConversationField(c context.Context, req *pbCo case constant.FieldUnread: isSyncConversation = false err = imdb.UpdateColumnsConversations(haveUserID, req.Conversation.ConversationID, map[string]interface{}{"update_unread_count_time": conversation.UpdateUnreadCountTime}) + case constant.FieldBurnDuration: + err = imdb.UpdateColumnsConversations(haveUserID, req.Conversation.ConversationID, map[string]interface{}{"burn_duration": conversation.BurnDuration}) } if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "UpdateColumnsConversations error", err.Error()) diff --git a/pkg/base_info/conversation_api_struct.go b/pkg/base_info/conversation_api_struct.go index be913a3c0..08353e2ed 100644 --- a/pkg/base_info/conversation_api_struct.go +++ b/pkg/base_info/conversation_api_struct.go @@ -43,6 +43,7 @@ type Conversation struct { DraftTextTime int64 `json:"draftTextTime"` IsPinned bool `json:"isPinned" binding:"omitempty"` IsPrivateChat bool `json:"isPrivateChat"` + BurnDuration int32 `json:"burnDuration"` GroupAtType int32 `json:"groupAtType"` IsNotInGroup bool `json:"isNotInGroup"` UpdateUnreadCountTime int64 `json:"updateUnreadCountTime"` diff --git a/pkg/common/constant/constant.go b/pkg/common/constant/constant.go index 48b0cfca6..a817ab02c 100644 --- a/pkg/common/constant/constant.go +++ b/pkg/common/constant/constant.go @@ -275,6 +275,7 @@ const ( FieldIsNotInGroup = 6 FieldEx = 7 FieldUnread = 8 + FieldBurnDuration = 9 ) const ( diff --git a/pkg/common/db/model_struct.go b/pkg/common/db/model_struct.go index 6b767b6dc..882ae6b46 100644 --- a/pkg/common/db/model_struct.go +++ b/pkg/common/db/model_struct.go @@ -263,6 +263,7 @@ type Conversation struct { DraftTextTime int64 `gorm:"column:draft_text_time" json:"draftTextTime"` IsPinned bool `gorm:"column:is_pinned" json:"isPinned"` IsPrivateChat bool `gorm:"column:is_private_chat" json:"isPrivateChat"` + BurnDuration int32 `gorm:"column:burn_duration;default:30" json:"burnDuration"` GroupAtType int32 `gorm:"column:group_at_type" json:"groupAtType"` IsNotInGroup bool `gorm:"column:is_not_in_group" json:"isNotInGroup"` UpdateUnreadCountTime int64 `gorm:"column:update_unread_count_time" json:"updateUnreadCountTime"` diff --git a/pkg/proto/conversation/conversation.pb.go b/pkg/proto/conversation/conversation.pb.go index ae7a03c16..ddb265d42 100644 --- a/pkg/proto/conversation/conversation.pb.go +++ b/pkg/proto/conversation/conversation.pb.go @@ -1,587 +1,376 @@ // Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.27.1 -// protoc v3.15.5 // source: conversation/conversation.proto -package conversation +package conversation // import "Open_IM/pkg/proto/conversation" + +import proto "github.com/golang/protobuf/proto" +import fmt "fmt" +import math "math" import ( - 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 -type CommonResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +// 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 - ErrCode int32 `protobuf:"varint,1,opt,name=errCode,proto3" json:"errCode,omitempty"` - ErrMsg string `protobuf:"bytes,2,opt,name=errMsg,proto3" json:"errMsg,omitempty"` +type CommonResp 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 (x *CommonResp) Reset() { - *x = CommonResp{} - if protoimpl.UnsafeEnabled { - mi := &file_conversation_conversation_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +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_conversation_7438d6c35155b4e4, []int{0} } - -func (x *CommonResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *CommonResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CommonResp.Unmarshal(m, b) } - -func (*CommonResp) ProtoMessage() {} - -func (x *CommonResp) ProtoReflect() protoreflect.Message { - mi := &file_conversation_conversation_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) +func (m *CommonResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CommonResp.Marshal(b, m, deterministic) } - -// Deprecated: Use CommonResp.ProtoReflect.Descriptor instead. -func (*CommonResp) Descriptor() ([]byte, []int) { - return file_conversation_conversation_proto_rawDescGZIP(), []int{0} +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) +} + +var xxx_messageInfo_CommonResp proto.InternalMessageInfo -func (x *CommonResp) GetErrCode() int32 { - if x != nil { - return x.ErrCode +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 Conversation struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OwnerUserID string `protobuf:"bytes,1,opt,name=ownerUserID,proto3" json:"ownerUserID,omitempty"` - ConversationID string `protobuf:"bytes,2,opt,name=conversationID,proto3" json:"conversationID,omitempty"` - RecvMsgOpt int32 `protobuf:"varint,3,opt,name=recvMsgOpt,proto3" json:"recvMsgOpt,omitempty"` - ConversationType int32 `protobuf:"varint,4,opt,name=conversationType,proto3" json:"conversationType,omitempty"` - UserID string `protobuf:"bytes,5,opt,name=userID,proto3" json:"userID,omitempty"` - GroupID string `protobuf:"bytes,6,opt,name=groupID,proto3" json:"groupID,omitempty"` - UnreadCount int32 `protobuf:"varint,7,opt,name=unreadCount,proto3" json:"unreadCount,omitempty"` - DraftTextTime int64 `protobuf:"varint,8,opt,name=draftTextTime,proto3" json:"draftTextTime,omitempty"` - IsPinned bool `protobuf:"varint,9,opt,name=isPinned,proto3" json:"isPinned,omitempty"` - AttachedInfo string `protobuf:"bytes,10,opt,name=attachedInfo,proto3" json:"attachedInfo,omitempty"` - IsPrivateChat bool `protobuf:"varint,11,opt,name=isPrivateChat,proto3" json:"isPrivateChat,omitempty"` - GroupAtType int32 `protobuf:"varint,12,opt,name=groupAtType,proto3" json:"groupAtType,omitempty"` - IsNotInGroup bool `protobuf:"varint,13,opt,name=isNotInGroup,proto3" json:"isNotInGroup,omitempty"` - Ex string `protobuf:"bytes,14,opt,name=ex,proto3" json:"ex,omitempty"` - UpdateUnreadCountTime int64 `protobuf:"varint,15,opt,name=updateUnreadCountTime,proto3" json:"updateUnreadCountTime,omitempty"` -} - -func (x *Conversation) Reset() { - *x = Conversation{} - if protoimpl.UnsafeEnabled { - mi := &file_conversation_conversation_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + OwnerUserID string `protobuf:"bytes,1,opt,name=ownerUserID" json:"ownerUserID,omitempty"` + ConversationID string `protobuf:"bytes,2,opt,name=conversationID" json:"conversationID,omitempty"` + RecvMsgOpt int32 `protobuf:"varint,3,opt,name=recvMsgOpt" json:"recvMsgOpt,omitempty"` + ConversationType int32 `protobuf:"varint,4,opt,name=conversationType" json:"conversationType,omitempty"` + UserID string `protobuf:"bytes,5,opt,name=userID" json:"userID,omitempty"` + GroupID string `protobuf:"bytes,6,opt,name=groupID" json:"groupID,omitempty"` + UnreadCount int32 `protobuf:"varint,7,opt,name=unreadCount" json:"unreadCount,omitempty"` + DraftTextTime int64 `protobuf:"varint,8,opt,name=draftTextTime" json:"draftTextTime,omitempty"` + IsPinned bool `protobuf:"varint,9,opt,name=isPinned" json:"isPinned,omitempty"` + AttachedInfo string `protobuf:"bytes,10,opt,name=attachedInfo" json:"attachedInfo,omitempty"` + IsPrivateChat bool `protobuf:"varint,11,opt,name=isPrivateChat" json:"isPrivateChat,omitempty"` + GroupAtType int32 `protobuf:"varint,12,opt,name=groupAtType" json:"groupAtType,omitempty"` + IsNotInGroup bool `protobuf:"varint,13,opt,name=isNotInGroup" json:"isNotInGroup,omitempty"` + Ex string `protobuf:"bytes,14,opt,name=ex" json:"ex,omitempty"` + UpdateUnreadCountTime int64 `protobuf:"varint,15,opt,name=updateUnreadCountTime" json:"updateUnreadCountTime,omitempty"` + BurnDuration int32 `protobuf:"varint,16,opt,name=burnDuration" json:"burnDuration,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Conversation) Reset() { *m = Conversation{} } +func (m *Conversation) String() string { return proto.CompactTextString(m) } +func (*Conversation) ProtoMessage() {} +func (*Conversation) Descriptor() ([]byte, []int) { + return fileDescriptor_conversation_7438d6c35155b4e4, []int{1} } - -func (x *Conversation) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *Conversation) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Conversation.Unmarshal(m, b) } - -func (*Conversation) ProtoMessage() {} - -func (x *Conversation) ProtoReflect() protoreflect.Message { - mi := &file_conversation_conversation_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) +func (m *Conversation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Conversation.Marshal(b, m, deterministic) } - -// Deprecated: Use Conversation.ProtoReflect.Descriptor instead. -func (*Conversation) Descriptor() ([]byte, []int) { - return file_conversation_conversation_proto_rawDescGZIP(), []int{1} +func (dst *Conversation) XXX_Merge(src proto.Message) { + xxx_messageInfo_Conversation.Merge(dst, src) +} +func (m *Conversation) XXX_Size() int { + return xxx_messageInfo_Conversation.Size(m) +} +func (m *Conversation) XXX_DiscardUnknown() { + xxx_messageInfo_Conversation.DiscardUnknown(m) } -func (x *Conversation) GetOwnerUserID() string { - if x != nil { - return x.OwnerUserID +var xxx_messageInfo_Conversation proto.InternalMessageInfo + +func (m *Conversation) GetOwnerUserID() string { + if m != nil { + return m.OwnerUserID } return "" } -func (x *Conversation) GetConversationID() string { - if x != nil { - return x.ConversationID +func (m *Conversation) GetConversationID() string { + if m != nil { + return m.ConversationID } return "" } -func (x *Conversation) GetRecvMsgOpt() int32 { - if x != nil { - return x.RecvMsgOpt +func (m *Conversation) GetRecvMsgOpt() int32 { + if m != nil { + return m.RecvMsgOpt } return 0 } -func (x *Conversation) GetConversationType() int32 { - if x != nil { - return x.ConversationType +func (m *Conversation) GetConversationType() int32 { + if m != nil { + return m.ConversationType } return 0 } -func (x *Conversation) GetUserID() string { - if x != nil { - return x.UserID +func (m *Conversation) GetUserID() string { + if m != nil { + return m.UserID } return "" } -func (x *Conversation) GetGroupID() string { - if x != nil { - return x.GroupID +func (m *Conversation) GetGroupID() string { + if m != nil { + return m.GroupID } return "" } -func (x *Conversation) GetUnreadCount() int32 { - if x != nil { - return x.UnreadCount +func (m *Conversation) GetUnreadCount() int32 { + if m != nil { + return m.UnreadCount } return 0 } -func (x *Conversation) GetDraftTextTime() int64 { - if x != nil { - return x.DraftTextTime +func (m *Conversation) GetDraftTextTime() int64 { + if m != nil { + return m.DraftTextTime } return 0 } -func (x *Conversation) GetIsPinned() bool { - if x != nil { - return x.IsPinned +func (m *Conversation) GetIsPinned() bool { + if m != nil { + return m.IsPinned } return false } -func (x *Conversation) GetAttachedInfo() string { - if x != nil { - return x.AttachedInfo +func (m *Conversation) GetAttachedInfo() string { + if m != nil { + return m.AttachedInfo } return "" } -func (x *Conversation) GetIsPrivateChat() bool { - if x != nil { - return x.IsPrivateChat +func (m *Conversation) GetIsPrivateChat() bool { + if m != nil { + return m.IsPrivateChat } return false } -func (x *Conversation) GetGroupAtType() int32 { - if x != nil { - return x.GroupAtType +func (m *Conversation) GetGroupAtType() int32 { + if m != nil { + return m.GroupAtType } return 0 } -func (x *Conversation) GetIsNotInGroup() bool { - if x != nil { - return x.IsNotInGroup +func (m *Conversation) GetIsNotInGroup() bool { + if m != nil { + return m.IsNotInGroup } return false } -func (x *Conversation) GetEx() string { - if x != nil { - return x.Ex +func (m *Conversation) GetEx() string { + if m != nil { + return m.Ex } return "" } -func (x *Conversation) GetUpdateUnreadCountTime() int64 { - if x != nil { - return x.UpdateUnreadCountTime +func (m *Conversation) GetUpdateUnreadCountTime() int64 { + if m != nil { + return m.UpdateUnreadCountTime } return 0 } -type ModifyConversationFieldReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Conversation *Conversation `protobuf:"bytes,1,opt,name=conversation,proto3" json:"conversation,omitempty"` - FieldType int32 `protobuf:"varint,2,opt,name=fieldType,proto3" json:"fieldType,omitempty"` - UserIDList []string `protobuf:"bytes,3,rep,name=userIDList,proto3" json:"userIDList,omitempty"` - OperationID string `protobuf:"bytes,4,opt,name=operationID,proto3" json:"operationID,omitempty"` -} - -func (x *ModifyConversationFieldReq) Reset() { - *x = ModifyConversationFieldReq{} - if protoimpl.UnsafeEnabled { - mi := &file_conversation_conversation_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (m *Conversation) GetBurnDuration() int32 { + if m != nil { + return m.BurnDuration } + return 0 } -func (x *ModifyConversationFieldReq) String() string { - return protoimpl.X.MessageStringOf(x) +type ModifyConversationFieldReq struct { + Conversation *Conversation `protobuf:"bytes,1,opt,name=conversation" json:"conversation,omitempty"` + FieldType int32 `protobuf:"varint,2,opt,name=fieldType" json:"fieldType,omitempty"` + UserIDList []string `protobuf:"bytes,3,rep,name=userIDList" json:"userIDList,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 *ModifyConversationFieldReq) Reset() { *m = ModifyConversationFieldReq{} } +func (m *ModifyConversationFieldReq) String() string { return proto.CompactTextString(m) } +func (*ModifyConversationFieldReq) ProtoMessage() {} +func (*ModifyConversationFieldReq) Descriptor() ([]byte, []int) { + return fileDescriptor_conversation_7438d6c35155b4e4, []int{2} } - -func (*ModifyConversationFieldReq) ProtoMessage() {} - -func (x *ModifyConversationFieldReq) ProtoReflect() protoreflect.Message { - mi := &file_conversation_conversation_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) +func (m *ModifyConversationFieldReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ModifyConversationFieldReq.Unmarshal(m, b) } - -// Deprecated: Use ModifyConversationFieldReq.ProtoReflect.Descriptor instead. -func (*ModifyConversationFieldReq) Descriptor() ([]byte, []int) { - return file_conversation_conversation_proto_rawDescGZIP(), []int{2} +func (m *ModifyConversationFieldReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ModifyConversationFieldReq.Marshal(b, m, deterministic) +} +func (dst *ModifyConversationFieldReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_ModifyConversationFieldReq.Merge(dst, src) +} +func (m *ModifyConversationFieldReq) XXX_Size() int { + return xxx_messageInfo_ModifyConversationFieldReq.Size(m) +} +func (m *ModifyConversationFieldReq) XXX_DiscardUnknown() { + xxx_messageInfo_ModifyConversationFieldReq.DiscardUnknown(m) } -func (x *ModifyConversationFieldReq) GetConversation() *Conversation { - if x != nil { - return x.Conversation +var xxx_messageInfo_ModifyConversationFieldReq proto.InternalMessageInfo + +func (m *ModifyConversationFieldReq) GetConversation() *Conversation { + if m != nil { + return m.Conversation } return nil } -func (x *ModifyConversationFieldReq) GetFieldType() int32 { - if x != nil { - return x.FieldType +func (m *ModifyConversationFieldReq) GetFieldType() int32 { + if m != nil { + return m.FieldType } return 0 } -func (x *ModifyConversationFieldReq) GetUserIDList() []string { - if x != nil { - return x.UserIDList +func (m *ModifyConversationFieldReq) GetUserIDList() []string { + if m != nil { + return m.UserIDList } return nil } -func (x *ModifyConversationFieldReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *ModifyConversationFieldReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } type ModifyConversationFieldResp 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 *ModifyConversationFieldResp) Reset() { - *x = ModifyConversationFieldResp{} - if protoimpl.UnsafeEnabled { - mi := &file_conversation_conversation_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *ModifyConversationFieldResp) Reset() { *m = ModifyConversationFieldResp{} } +func (m *ModifyConversationFieldResp) String() string { return proto.CompactTextString(m) } +func (*ModifyConversationFieldResp) ProtoMessage() {} +func (*ModifyConversationFieldResp) Descriptor() ([]byte, []int) { + return fileDescriptor_conversation_7438d6c35155b4e4, []int{3} } - -func (x *ModifyConversationFieldResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *ModifyConversationFieldResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ModifyConversationFieldResp.Unmarshal(m, b) } - -func (*ModifyConversationFieldResp) ProtoMessage() {} - -func (x *ModifyConversationFieldResp) ProtoReflect() protoreflect.Message { - mi := &file_conversation_conversation_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) +func (m *ModifyConversationFieldResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ModifyConversationFieldResp.Marshal(b, m, deterministic) } - -// Deprecated: Use ModifyConversationFieldResp.ProtoReflect.Descriptor instead. -func (*ModifyConversationFieldResp) Descriptor() ([]byte, []int) { - return file_conversation_conversation_proto_rawDescGZIP(), []int{3} +func (dst *ModifyConversationFieldResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_ModifyConversationFieldResp.Merge(dst, src) +} +func (m *ModifyConversationFieldResp) XXX_Size() int { + return xxx_messageInfo_ModifyConversationFieldResp.Size(m) +} +func (m *ModifyConversationFieldResp) XXX_DiscardUnknown() { + xxx_messageInfo_ModifyConversationFieldResp.DiscardUnknown(m) } -func (x *ModifyConversationFieldResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +var xxx_messageInfo_ModifyConversationFieldResp proto.InternalMessageInfo + +func (m *ModifyConversationFieldResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } return nil } -var File_conversation_conversation_proto protoreflect.FileDescriptor - -var file_conversation_conversation_proto_rawDesc = []byte{ - 0x0a, 0x1f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x63, - 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x12, 0x0c, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, - 0x90, 0x04, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, - 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x76, - 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, - 0x63, 0x76, 0x4d, 0x73, 0x67, 0x4f, 0x70, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, - 0x72, 0x65, 0x63, 0x76, 0x4d, 0x73, 0x67, 0x4f, 0x70, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x63, 0x6f, - 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x18, - 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x6e, 0x72, 0x65, - 0x61, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x75, - 0x6e, 0x72, 0x65, 0x61, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x72, - 0x61, 0x66, 0x74, 0x54, 0x65, 0x78, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x0d, 0x64, 0x72, 0x61, 0x66, 0x74, 0x54, 0x65, 0x78, 0x74, 0x54, 0x69, 0x6d, 0x65, - 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x50, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x50, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x12, 0x22, 0x0a, 0x0c, - 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, - 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x73, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, - 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x50, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x41, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x41, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x73, 0x4e, 0x6f, - 0x74, 0x49, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, - 0x69, 0x73, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x0e, 0x0a, 0x02, - 0x65, 0x78, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x65, 0x78, 0x12, 0x34, 0x0a, 0x15, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x15, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x69, - 0x6d, 0x65, 0x22, 0xbc, 0x01, 0x0a, 0x1a, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6e, - 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x65, - 0x71, 0x12, 0x3e, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, - 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x54, 0x79, 0x70, 0x65, 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, 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, 0x57, 0x0a, 0x1b, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6e, 0x76, 0x65, - 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x38, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, - 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x32, 0x7e, 0x0a, 0x0c, 0x63, 0x6f, - 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6e, 0x0a, 0x17, 0x4d, 0x6f, - 0x64, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x28, 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6e, 0x76, 0x65, - 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x1a, - 0x29, 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4d, - 0x6f, 0x64, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x65, 0x73, 0x70, 0x42, 0x2d, 0x5a, 0x2b, 0x4f, 0x70, - 0x65, 0x6e, 0x5f, 0x49, 0x4d, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, - 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3b, 0x63, 0x6f, 0x6e, - 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, -} - -var ( - file_conversation_conversation_proto_rawDescOnce sync.Once - file_conversation_conversation_proto_rawDescData = file_conversation_conversation_proto_rawDesc -) - -func file_conversation_conversation_proto_rawDescGZIP() []byte { - file_conversation_conversation_proto_rawDescOnce.Do(func() { - file_conversation_conversation_proto_rawDescData = protoimpl.X.CompressGZIP(file_conversation_conversation_proto_rawDescData) - }) - return file_conversation_conversation_proto_rawDescData -} - -var file_conversation_conversation_proto_msgTypes = make([]protoimpl.MessageInfo, 4) -var file_conversation_conversation_proto_goTypes = []interface{}{ - (*CommonResp)(nil), // 0: conversation.CommonResp - (*Conversation)(nil), // 1: conversation.Conversation - (*ModifyConversationFieldReq)(nil), // 2: conversation.ModifyConversationFieldReq - (*ModifyConversationFieldResp)(nil), // 3: conversation.ModifyConversationFieldResp -} -var file_conversation_conversation_proto_depIdxs = []int32{ - 1, // 0: conversation.ModifyConversationFieldReq.conversation:type_name -> conversation.Conversation - 0, // 1: conversation.ModifyConversationFieldResp.commonResp:type_name -> conversation.CommonResp - 2, // 2: conversation.conversation.ModifyConversationField:input_type -> conversation.ModifyConversationFieldReq - 3, // 3: conversation.conversation.ModifyConversationField:output_type -> conversation.ModifyConversationFieldResp - 3, // [3:4] is the sub-list for method output_type - 2, // [2:3] is the sub-list for method input_type - 2, // [2:2] is the sub-list for extension type_name - 2, // [2:2] is the sub-list for extension extendee - 0, // [0:2] is the sub-list for field type_name -} - -func init() { file_conversation_conversation_proto_init() } -func file_conversation_conversation_proto_init() { - if File_conversation_conversation_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_conversation_conversation_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_conversation_conversation_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Conversation); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_conversation_conversation_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ModifyConversationFieldReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_conversation_conversation_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ModifyConversationFieldResp); 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_conversation_conversation_proto_rawDesc, - NumEnums: 0, - NumMessages: 4, - NumExtensions: 0, - NumServices: 1, - }, - GoTypes: file_conversation_conversation_proto_goTypes, - DependencyIndexes: file_conversation_conversation_proto_depIdxs, - MessageInfos: file_conversation_conversation_proto_msgTypes, - }.Build() - File_conversation_conversation_proto = out.File - file_conversation_conversation_proto_rawDesc = nil - file_conversation_conversation_proto_goTypes = nil - file_conversation_conversation_proto_depIdxs = nil +func init() { + proto.RegisterType((*CommonResp)(nil), "conversation.CommonResp") + proto.RegisterType((*Conversation)(nil), "conversation.Conversation") + proto.RegisterType((*ModifyConversationFieldReq)(nil), "conversation.ModifyConversationFieldReq") + proto.RegisterType((*ModifyConversationFieldResp)(nil), "conversation.ModifyConversationFieldResp") } // 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 Conversation service -// ConversationClient is the client API for Conversation service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type ConversationClient interface { ModifyConversationField(ctx context.Context, in *ModifyConversationFieldReq, opts ...grpc.CallOption) (*ModifyConversationFieldResp, error) } type conversationClient struct { - cc grpc.ClientConnInterface + cc *grpc.ClientConn } -func NewConversationClient(cc grpc.ClientConnInterface) ConversationClient { +func NewConversationClient(cc *grpc.ClientConn) ConversationClient { return &conversationClient{cc} } func (c *conversationClient) ModifyConversationField(ctx context.Context, in *ModifyConversationFieldReq, opts ...grpc.CallOption) (*ModifyConversationFieldResp, error) { out := new(ModifyConversationFieldResp) - err := c.cc.Invoke(ctx, "/conversation.conversation/ModifyConversationField", in, out, opts...) + err := grpc.Invoke(ctx, "/conversation.conversation/ModifyConversationField", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } -// ConversationServer is the server API for Conversation service. +// Server API for Conversation service + type ConversationServer interface { ModifyConversationField(context.Context, *ModifyConversationFieldReq) (*ModifyConversationFieldResp, error) } -// UnimplementedConversationServer can be embedded to have forward compatible implementations. -type UnimplementedConversationServer struct { -} - -func (*UnimplementedConversationServer) ModifyConversationField(context.Context, *ModifyConversationFieldReq) (*ModifyConversationFieldResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method ModifyConversationField not implemented") -} - func RegisterConversationServer(s *grpc.Server, srv ConversationServer) { s.RegisterService(&_Conversation_serviceDesc, srv) } @@ -616,3 +405,44 @@ var _Conversation_serviceDesc = grpc.ServiceDesc{ Streams: []grpc.StreamDesc{}, Metadata: "conversation/conversation.proto", } + +func init() { + proto.RegisterFile("conversation/conversation.proto", fileDescriptor_conversation_7438d6c35155b4e4) +} + +var fileDescriptor_conversation_7438d6c35155b4e4 = []byte{ + // 520 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x94, 0xd1, 0x6b, 0x13, 0x41, + 0x10, 0xc6, 0xb9, 0xb4, 0x4d, 0x93, 0x49, 0x1a, 0xcb, 0x82, 0xba, 0x44, 0xd1, 0x10, 0x44, 0x4e, + 0xc5, 0x06, 0xaa, 0x0f, 0x82, 0x50, 0xd0, 0x04, 0xe5, 0xc0, 0xd8, 0x72, 0xa4, 0x08, 0xbe, 0xc8, + 0x35, 0x37, 0x49, 0x0f, 0xcd, 0xee, 0xba, 0xbb, 0x17, 0xd3, 0x17, 0xff, 0x2a, 0x1f, 0xfd, 0xe3, + 0x64, 0x27, 0x49, 0xb3, 0x5b, 0x0d, 0xf8, 0x38, 0xbf, 0x9d, 0xfb, 0xe6, 0x9b, 0xcd, 0x97, 0x85, + 0x87, 0x63, 0x29, 0xe6, 0xa8, 0x4d, 0x66, 0x0b, 0x29, 0x7a, 0x7e, 0x71, 0xa4, 0xb4, 0xb4, 0x92, + 0x35, 0x7d, 0xd6, 0x3d, 0x01, 0xe8, 0xcb, 0xd9, 0x4c, 0x8a, 0x14, 0x8d, 0x62, 0x1c, 0xf6, 0x51, + 0xeb, 0xbe, 0xcc, 0x91, 0x47, 0x9d, 0x28, 0xde, 0x4b, 0xd7, 0x25, 0xbb, 0x03, 0x55, 0xd4, 0x7a, + 0x68, 0xa6, 0xbc, 0xd2, 0x89, 0xe2, 0x7a, 0xba, 0xaa, 0xba, 0xbf, 0x76, 0xa1, 0xd9, 0xf7, 0x04, + 0x59, 0x07, 0x1a, 0xf2, 0x87, 0x40, 0x7d, 0x6e, 0x50, 0x27, 0x03, 0x92, 0xa9, 0xa7, 0x3e, 0x62, + 0x8f, 0xa1, 0xe5, 0x5b, 0x48, 0x06, 0x2b, 0xc9, 0x1b, 0x94, 0x3d, 0x00, 0xd0, 0x38, 0x9e, 0x0f, + 0xcd, 0xf4, 0x54, 0x59, 0xbe, 0x43, 0x7e, 0x3c, 0xc2, 0x9e, 0xc2, 0xa1, 0xff, 0xc5, 0xe8, 0x4a, + 0x21, 0xdf, 0xa5, 0xae, 0xbf, 0xb8, 0xb3, 0x5f, 0x2e, 0x0d, 0xed, 0x2d, 0xed, 0x2f, 0x2b, 0xb7, + 0xf0, 0x54, 0xcb, 0x52, 0x25, 0x03, 0x5e, 0xa5, 0x83, 0x75, 0xe9, 0xf6, 0x28, 0x85, 0xc6, 0x2c, + 0xef, 0xcb, 0x52, 0x58, 0xbe, 0x4f, 0xc2, 0x3e, 0x62, 0x8f, 0xe0, 0x20, 0xd7, 0xd9, 0xc4, 0x8e, + 0x70, 0x61, 0x47, 0xc5, 0x0c, 0x79, 0xad, 0x13, 0xc5, 0x3b, 0x69, 0x08, 0x59, 0x1b, 0x6a, 0x85, + 0x39, 0x2b, 0x84, 0xc0, 0x9c, 0xd7, 0x3b, 0x51, 0x5c, 0x4b, 0xaf, 0x6b, 0xd6, 0x85, 0x66, 0x66, + 0x6d, 0x36, 0xbe, 0xc4, 0x3c, 0x11, 0x13, 0xc9, 0x81, 0x2c, 0x04, 0xcc, 0x4d, 0x29, 0xcc, 0x99, + 0x2e, 0xe6, 0x99, 0xc5, 0xfe, 0x65, 0x66, 0x79, 0x83, 0x44, 0x42, 0xe8, 0xdc, 0x92, 0xf1, 0x37, + 0x96, 0xae, 0xa1, 0xb9, 0x74, 0xeb, 0x21, 0x37, 0xab, 0x30, 0x1f, 0xa5, 0x4d, 0xc4, 0x7b, 0x47, + 0xf9, 0x01, 0xc9, 0x04, 0x8c, 0xb5, 0xa0, 0x82, 0x0b, 0xde, 0x22, 0x17, 0x15, 0x5c, 0xb0, 0x97, + 0x70, 0xbb, 0x54, 0x79, 0x66, 0xf1, 0x7c, 0xb3, 0x36, 0x6d, 0x7a, 0x8b, 0x36, 0xfd, 0xf7, 0xa1, + 0x9b, 0x74, 0x51, 0x6a, 0x31, 0x28, 0x35, 0xdd, 0x3f, 0x3f, 0x24, 0x33, 0x01, 0xeb, 0xfe, 0x8e, + 0xa0, 0x3d, 0x94, 0x79, 0x31, 0xb9, 0xf2, 0xc3, 0xf3, 0xae, 0xc0, 0x6f, 0x79, 0x8a, 0xdf, 0xd9, + 0x09, 0x04, 0x29, 0xa5, 0x14, 0x35, 0x8e, 0xdb, 0x47, 0x41, 0x9c, 0xfd, 0x2f, 0xd3, 0xa0, 0x9f, + 0xdd, 0x87, 0xfa, 0xc4, 0x69, 0xd1, 0x65, 0x54, 0x68, 0xfe, 0x06, 0xb8, 0x60, 0x2d, 0x7f, 0xfe, + 0x0f, 0x85, 0x71, 0xc1, 0xda, 0x89, 0xeb, 0xa9, 0x47, 0x28, 0xc2, 0x0a, 0xf5, 0x3a, 0x9d, 0xbb, + 0xab, 0x08, 0x6f, 0x50, 0xf7, 0x13, 0xdc, 0xdb, 0xea, 0xde, 0x28, 0xf6, 0x0a, 0x60, 0x7c, 0xfd, + 0xa7, 0x5a, 0x99, 0xe7, 0x37, 0xcd, 0xaf, 0xcf, 0x53, 0xaf, 0xf7, 0xf8, 0x67, 0xb8, 0x38, 0x13, + 0x70, 0x77, 0xcb, 0x20, 0x16, 0x87, 0x82, 0xdb, 0x6f, 0xb3, 0xfd, 0xe4, 0x3f, 0x3b, 0x8d, 0x7a, + 0xfb, 0xfc, 0xf3, 0xb3, 0x53, 0x85, 0xe2, 0x4b, 0x32, 0xec, 0xa9, 0xaf, 0xd3, 0x1e, 0xbd, 0x18, + 0xc1, 0x23, 0xf2, 0xda, 0x2f, 0x2e, 0xaa, 0xd4, 0xf0, 0xe2, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xb3, 0xd2, 0x40, 0x56, 0x75, 0x04, 0x00, 0x00, +} diff --git a/pkg/proto/conversation/conversation.proto b/pkg/proto/conversation/conversation.proto index e8447f1b0..ec10bfd2f 100644 --- a/pkg/proto/conversation/conversation.proto +++ b/pkg/proto/conversation/conversation.proto @@ -22,6 +22,7 @@ message Conversation{ bool isNotInGroup = 13; string ex = 14; int64 updateUnreadCountTime = 15; + int32 burnDuration = 16; } message ModifyConversationFieldReq{ From 9aaee04a692891644a0c8c8d342b674c8dffab6d Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 16 Nov 2022 12:40:44 +0800 Subject: [PATCH 041/313] read after burn time --- pkg/common/db/mysql_model/im_mysql_model/conversation_model.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/common/db/mysql_model/im_mysql_model/conversation_model.go b/pkg/common/db/mysql_model/im_mysql_model/conversation_model.go index 52fe1dcb9..dd1a143ee 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/conversation_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/conversation_model.go @@ -23,7 +23,7 @@ func SetConversation(conversation db.Conversation) (bool, error) { } } func SetOneConversation(conversation db.Conversation) error { - return db.DB.MysqlDB.DefaultGormDB().Model(&db.Conversation{}).Create(conversation).Error + return db.DB.MysqlDB.DefaultGormDB().Model(&db.Conversation{}).Create(&conversation).Error } From 05d83ebe8b6fa3215a8554f9f2a81e36b16ba1a1 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 16 Nov 2022 18:55:42 +0800 Subject: [PATCH 042/313] gzip msg --- internal/msg_gateway/gate/ws_server.go | 37 +++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/internal/msg_gateway/gate/ws_server.go b/internal/msg_gateway/gate/ws_server.go index eb101f2ff..53f2807cd 100644 --- a/internal/msg_gateway/gate/ws_server.go +++ b/internal/msg_gateway/gate/ws_server.go @@ -11,8 +11,10 @@ import ( pbRelay "Open_IM/pkg/proto/relay" "Open_IM/pkg/utils" "bytes" + "compress/gzip" "context" "encoding/gob" + "io/ioutil" "strings" go_redis "github.com/go-redis/redis/v8" @@ -31,6 +33,7 @@ type UserConn struct { w *sync.Mutex platformID int32 PushedMaxSeq uint32 + IsCompress bool } type WServer struct { wsAddr string @@ -75,7 +78,11 @@ 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} + var isCompress = false + if r.Header.Get("compression") == "gzip" { + isCompress = true + } + newConn := &UserConn{conn, new(sync.Mutex), utils.StringToInt32(query["platformID"][0]), 0, isCompress} userCount++ ws.addUserConn(query["sendID"][0], utils.StringToInt(query["platformID"][0]), newConn, query["token"][0], operationID) go ws.readMsg(newConn) @@ -97,6 +104,23 @@ func (ws *WServer) readMsg(conn *UserConn) { ws.delUserConn(conn) return } + if conn.IsCompress { + buff := bytes.NewBuffer(msg) + reader, err := gzip.NewReader(buff) + if err != nil { + log.NewWarn("", "un gzip read failed") + continue + } + msg, err = ioutil.ReadAll(reader) + if err != nil { + log.NewWarn("", "ReadAll failed") + continue + } + err = reader.Close() + if err != nil { + log.NewWarn("", "reader close failed") + } + } ws.msgParse(conn, msg) } } @@ -110,6 +134,17 @@ func (ws *WServer) SetWriteTimeout(conn *UserConn, timeout int) { func (ws *WServer) writeMsg(conn *UserConn, a int, msg []byte) error { conn.w.Lock() defer conn.w.Unlock() + if conn.IsCompress { + buff := bytes.NewBuffer(msg) + gz := gzip.NewWriter(buff) + if _, err := gz.Write(buff.Bytes()); err != nil { + return utils.Wrap(err, "") + } + if err := gz.Close(); err != nil { + return utils.Wrap(err, "") + } + msg = buff.Bytes() + } conn.SetWriteDeadline(time.Now().Add(time.Duration(60) * time.Second)) return conn.WriteMessage(a, msg) } From 4a3f168720208e2180fee91828c460ffd13ad52d Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 16 Nov 2022 19:26:49 +0800 Subject: [PATCH 043/313] gzip msg --- internal/msg_gateway/gate/ws_server.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/internal/msg_gateway/gate/ws_server.go b/internal/msg_gateway/gate/ws_server.go index 53f2807cd..076d88d6b 100644 --- a/internal/msg_gateway/gate/ws_server.go +++ b/internal/msg_gateway/gate/ws_server.go @@ -135,15 +135,15 @@ func (ws *WServer) writeMsg(conn *UserConn, a int, msg []byte) error { conn.w.Lock() defer conn.w.Unlock() if conn.IsCompress { - buff := bytes.NewBuffer(msg) - gz := gzip.NewWriter(buff) - if _, err := gz.Write(buff.Bytes()); err != nil { + var buffer bytes.Buffer + gz := gzip.NewWriter(&buffer) + if _, err := gz.Write(msg); err != nil { return utils.Wrap(err, "") } if err := gz.Close(); err != nil { return utils.Wrap(err, "") } - msg = buff.Bytes() + msg = buffer.Bytes() } conn.SetWriteDeadline(time.Now().Add(time.Duration(60) * time.Second)) return conn.WriteMessage(a, msg) From fdb0ba4349ae897df49aace42f219295f44c1117 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Thu, 17 Nov 2022 11:17:26 +0800 Subject: [PATCH 044/313] msg size --- internal/msg_gateway/gate/logic.go | 7 ++- internal/msg_gateway/gate/ws_server.go | 4 +- pkg/utils/file.go | 76 ++++++++++++++------------ 3 files changed, 50 insertions(+), 37 deletions(-) diff --git a/internal/msg_gateway/gate/logic.go b/internal/msg_gateway/gate/logic.go index 90ef3ce63..7fa144bd0 100644 --- a/internal/msg_gateway/gate/logic.go +++ b/internal/msg_gateway/gate/logic.go @@ -40,7 +40,12 @@ func (ws *WServer) msgParse(conn *UserConn, binaryMsg []byte) { return } log.NewInfo(m.OperationID, "Basic Info Authentication Success", m.SendID, m.MsgIncr, m.ReqIdentifier) - + if m.SendID != conn.userID { + if err = conn.Close(); err != nil { + log.NewError(m.OperationID, "close ws conn failed", conn.userID, "send id", m.SendID, err.Error()) + return + } + } switch m.ReqIdentifier { case constant.WSGetNewestSeq: log.NewInfo(m.OperationID, "getSeqReq ", m.SendID, m.MsgIncr, m.ReqIdentifier) diff --git a/internal/msg_gateway/gate/ws_server.go b/internal/msg_gateway/gate/ws_server.go index 076d88d6b..0aa66bb88 100644 --- a/internal/msg_gateway/gate/ws_server.go +++ b/internal/msg_gateway/gate/ws_server.go @@ -34,6 +34,7 @@ type UserConn struct { platformID int32 PushedMaxSeq uint32 IsCompress bool + userID string } type WServer struct { wsAddr string @@ -82,7 +83,7 @@ func (ws *WServer) wsHandler(w http.ResponseWriter, r *http.Request) { if r.Header.Get("compression") == "gzip" { isCompress = true } - newConn := &UserConn{conn, new(sync.Mutex), utils.StringToInt32(query["platformID"][0]), 0, isCompress} + newConn := &UserConn{conn, new(sync.Mutex), utils.StringToInt32(query["platformID"][0]), 0, isCompress, query["sendID"][0]} userCount++ ws.addUserConn(query["sendID"][0], utils.StringToInt(query["platformID"][0]), newConn, query["token"][0], operationID) go ws.readMsg(newConn) @@ -121,6 +122,7 @@ func (ws *WServer) readMsg(conn *UserConn) { log.NewWarn("", "reader close failed") } } + log.NewDebug("", "size", utils.ByteSize(uint64(len(msg)))) ws.msgParse(conn, msg) } } diff --git a/pkg/utils/file.go b/pkg/utils/file.go index 9108ede8f..b385c55d7 100644 --- a/pkg/utils/file.go +++ b/pkg/utils/file.go @@ -2,14 +2,25 @@ package utils import ( "Open_IM/pkg/common/constant" - "errors" "fmt" "math/rand" "os" "path" + "strconv" + "strings" "time" ) +const ( + BYTE = 1 << (10 * iota) + KILOBYTE + MEGABYTE + GIGABYTE + TERABYTE + PETABYTE + EXABYTE +) + // Determine whether the given path is a folder func IsDir(path string) bool { s, err := os.Stat(path) @@ -39,39 +50,34 @@ func GetNewFileNameAndContentType(fileName string, fileType int) (string, string return newName, contentType } -func GetUploadAppNewName(appType int, version, fileName, yamlName string) (string, string, error) { - var newFileName, newYamlName = "_" + version + "_app", "_" + version + "_yaml" - switch appType { - case constant.IOSPlatformID: - newFileName = constant.IOSPlatformStr + newFileName - newYamlName = constant.IOSPlatformStr + newYamlName - case constant.AndroidPlatformID: - newFileName = constant.AndroidPlatformStr + newFileName - newYamlName = constant.AndroidPlatformStr + newYamlName - case constant.WindowsPlatformID: - newFileName = constant.WindowsPlatformStr + newFileName - newYamlName = constant.WindowsPlatformStr + newYamlName - case constant.OSXPlatformID: - newFileName = constant.OSXPlatformStr + newFileName - newYamlName = constant.OSXPlatformStr + newYamlName - case constant.WebPlatformID: - newFileName = constant.WebPlatformStr + newFileName - newYamlName = constant.WebPlatformStr + newYamlName - case constant.MiniWebPlatformID: - newFileName = constant.MiniWebPlatformStr + newFileName - newYamlName = constant.MiniWebPlatformStr + newYamlName - case constant.LinuxPlatformID: - newFileName = constant.LinuxPlatformStr + newFileName - newYamlName = constant.LinuxPlatformStr + newYamlName - default: - return "", "", errors.New("invalid app type") - } - suffixFile := path.Ext(fileName) - suffixYaml := path.Ext(yamlName) - newFileName = fmt.Sprintf("%s%s", newFileName, suffixFile) - newYamlName = fmt.Sprintf("%s%s", newYamlName, suffixYaml) - if yamlName == "" { - newYamlName = "" +func ByteSize(bytes uint64) string { + unit := "" + value := float64(bytes) + switch { + case bytes >= EXABYTE: + unit = "E" + value = value / EXABYTE + case bytes >= PETABYTE: + unit = "P" + value = value / PETABYTE + case bytes >= TERABYTE: + unit = "T" + value = value / TERABYTE + case bytes >= GIGABYTE: + unit = "G" + value = value / GIGABYTE + case bytes >= MEGABYTE: + unit = "M" + value = value / MEGABYTE + case bytes >= KILOBYTE: + unit = "K" + value = value / KILOBYTE + case bytes >= BYTE: + unit = "B" + case bytes == 0: + return "0" } - return newFileName, newYamlName, nil + result := strconv.FormatFloat(value, 'f', 1, 64) + result = strings.TrimSuffix(result, ".0") + return result + unit } From 4b0a95fc1bdebbf1eb8f0456e388e8f1f0d43bf1 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Thu, 17 Nov 2022 16:18:13 +0800 Subject: [PATCH 045/313] fix bug --- internal/msg_gateway/gate/ws_server.go | 1 + .../db/mysql_model/im_mysql_model/conversation_model.go | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/internal/msg_gateway/gate/ws_server.go b/internal/msg_gateway/gate/ws_server.go index 0aa66bb88..27c067eef 100644 --- a/internal/msg_gateway/gate/ws_server.go +++ b/internal/msg_gateway/gate/ws_server.go @@ -81,6 +81,7 @@ func (ws *WServer) wsHandler(w http.ResponseWriter, r *http.Request) { } 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]} diff --git a/pkg/common/db/mysql_model/im_mysql_model/conversation_model.go b/pkg/common/db/mysql_model/im_mysql_model/conversation_model.go index dd1a143ee..ac1be495f 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/conversation_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/conversation_model.go @@ -11,7 +11,7 @@ func SetConversation(conversation db.Conversation) (bool, error) { newConversation := conversation if db.DB.MysqlDB.DefaultGormDB().Model(&db.Conversation{}).Find(&newConversation).RowsAffected == 0 { log.NewDebug("", utils.GetSelfFuncName(), "conversation", conversation, "not exist in db, create") - return isUpdate, db.DB.MysqlDB.DefaultGormDB().Model(&db.Conversation{}).Create(conversation).Error + return isUpdate, db.DB.MysqlDB.DefaultGormDB().Model(&db.Conversation{}).Create(&conversation).Error // if exist, then update record } else { log.NewDebug("", utils.GetSelfFuncName(), "conversation", conversation, "exist in db, update") @@ -31,7 +31,7 @@ func PeerUserSetConversation(conversation db.Conversation) error { newConversation := conversation if db.DB.MysqlDB.DefaultGormDB().Model(&db.Conversation{}).Find(&newConversation).RowsAffected == 0 { log.NewDebug("", utils.GetSelfFuncName(), "conversation", conversation, "not exist in db, create") - return db.DB.MysqlDB.DefaultGormDB().Model(&db.Conversation{}).Create(conversation).Error + return db.DB.MysqlDB.DefaultGormDB().Model(&db.Conversation{}).Create(&conversation).Error // if exist, then update record } log.NewDebug("", utils.GetSelfFuncName(), "conversation", conversation, "exist in db, update") @@ -46,7 +46,7 @@ func SetRecvMsgOpt(conversation db.Conversation) (bool, error) { newConversation := conversation if db.DB.MysqlDB.DefaultGormDB().Model(&db.Conversation{}).Find(&newConversation).RowsAffected == 0 { log.NewDebug("", utils.GetSelfFuncName(), "conversation", conversation, "not exist in db, create") - return isUpdate, db.DB.MysqlDB.DefaultGormDB().Model(&db.Conversation{}).Create(conversation).Error + return isUpdate, db.DB.MysqlDB.DefaultGormDB().Model(&db.Conversation{}).Create(&conversation).Error // if exist, then update record } else { log.NewDebug("", utils.GetSelfFuncName(), "conversation", conversation, "exist in db, update") From 68ad1e9645650e4eead75d0177e441c2111ad196 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 18 Nov 2022 10:45:48 +0800 Subject: [PATCH 046/313] log print size --- 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 27c067eef..5994bb793 100644 --- a/internal/msg_gateway/gate/ws_server.go +++ b/internal/msg_gateway/gate/ws_server.go @@ -106,6 +106,7 @@ func (ws *WServer) readMsg(conn *UserConn) { ws.delUserConn(conn) return } + log.NewDebug("", "size", utils.ByteSize(uint64(len(msg)))) if conn.IsCompress { buff := bytes.NewBuffer(msg) reader, err := gzip.NewReader(buff) @@ -123,7 +124,6 @@ func (ws *WServer) readMsg(conn *UserConn) { log.NewWarn("", "reader close failed") } } - log.NewDebug("", "size", utils.ByteSize(uint64(len(msg)))) ws.msgParse(conn, msg) } } From c0d7f0f5fd78746045a2adbfe59c9a4824ff1a2f Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 18 Nov 2022 16:59:31 +0800 Subject: [PATCH 047/313] 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 048/313] 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 049/313] 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 050/313] 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 051/313] 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 052/313] 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 053/313] 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 054/313] 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 055/313] 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 056/313] 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) - 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 + callbackResp := CallbackBeforeMemberJoinGroup(req.OperationID, &groupMember, groupInfo.Ex) + if callbackResp.ErrCode != 0 { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "callbackBeforeSendSingleMsg resp: ", callbackResp) } - 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 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 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 + + 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 = rocksCache.DelJoinedGroupIDListFromCache(req.OpUserID) + + err = imdb.InsertIntoGroupMember(groupMember) 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) + log.NewError(req.OperationID, "InsertIntoGroupMember failed ", err.Error(), groupMember) + return &pbGroup.JoinGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil } + 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 057/313] 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 058/313] 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 059/313] 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 060/313] 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 44a9724827ec42b6ba13991ee9e4338e4f00421c Mon Sep 17 00:00:00 2001 From: skiffer-git <44203734@qq.com> Date: Wed, 23 Nov 2022 09:47:24 +0800 Subject: [PATCH 061/313] readme --- README.md | 80 +++++++++++++++++++++++++------------------------------ 1 file changed, 37 insertions(+), 43 deletions(-) diff --git a/README.md b/README.md index 6a3d03465..ff6d83888 100644 --- a/README.md +++ b/README.md @@ -36,75 +36,69 @@ By deployment of the Open-IM-Server on the customer's server, developers can int > Open-IM relies on five open source high-performance components: ETCD, MySQL, MongoDB, Redis, and Kafka. Privatization deployment Before Open-IM-Server, please make sure that the above five components have been installed. If your server does not have the above components, you must first install Missing components. If you have the above components, it is recommended to use them directly. If not, it is recommended to use Docker-compose, no To install dependencies, one-click deployment, faster and more convenient. -#### Source code deployment +#### Deploy using Docker -1. Install [Go environment](https://golang.org/doc/install). Make sure Go version is at least 1.15. +1. Install [Go environment](https://golang.org/doc/install). Make sure Go version is at least 1.17 -2. Clone the Open-IM project to your server. +2. Clone the Open-IM project to your server ``` git clone https://github.com/OpenIMSDK/Open-IM-Server.git --recursive ``` -3. Build and start Service. +3. Deploy - 1. Shell authorization + 1. Modify env ``` - #cd Open-IM-server/script - - chmod +x *.sh - ``` - - 2. Execute the build shell - - ``` - ./build_all_service.sh + #cd Open-IM-server + USER=root + PASSWORD=openIM123 #Password with more than 8 digits, excluding special characters + ENDPOINT=http://127.0.0.1:10005 #Replace 127.0.0.1 with Internet IP + DATA_DIR=./ ``` - 3. Start service - + 2. Deploy && Start + ``` - ./start_all.sh + chmod +x install_im_server.sh; + ./install_im_server.sh; ``` - + 4. Check service - + ``` - ./check_all.sh + cd script; + ./docker_check_service.sh./check_all.sh ``` - + ![OpenIMServersonSystempng](https://github.com/OpenIMSDK/Open-IM-Server/blob/main/docs/Open-IM-Servers-on-System.png) -#### Docker deployment +#### Deploy using source code -All images are available at https://hub.docker.com/r/lyt1123/open_im_server +1. Go 1.17 or above。 +2. Clone -1. [Install Docker](https://docs.docker.com/install/) 1.13 or above. +```shell +git clone https://github.com/OpenIMSDK/Open-IM-Server.git --recursive +cd cmd/Open-IM-SDK-Core +git checkout mainCopy to clipboardErrorCopied +``` -2. [Install Docker Compose](https://docs.docker.com/compose/install/) 1.22 or above. +1. Set executable permissions -3. Clone the Open-IM project to your server. +```shell +cd ../../script/ +chmod +x *.shCopy to clipboardErrorCopied +``` - ``` - git clone https://github.com/OpenIMSDK/Open-IM-Server.git --recursive - ``` - -4. Start docker-compose with one click(Docker automatically pulls all images) - - ``` - cd Open-IM-Server - docker-compose up -d - ``` - -5. Check service +1. build - ``` - ./docker_check_service.sh - ./check_all.sh - ``` +```shell +./batch_build_all_service.shCopy +``` - ![OpenIMServersondockerpng](https://github.com/OpenIMSDK/Open-IM-Server/blob/main/docs/Open-IM-Servers-on-docker.png) +all services build success ### CONFIGURATION INSTRUCTIONS From 9be70d640e3d0b63ecf35e416a0c2bf7759c8f08 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 23 Nov 2022 11:08:44 +0800 Subject: [PATCH 062/313] 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 | 5979 +++++++++-------------- pkg/proto/admin_cms/admin_cms.proto | 15 + 7 files changed, 2262 insertions(+), 3803 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 -type CommonResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +// 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 - ErrCode int32 `protobuf:"varint,1,opt,name=errCode,proto3" json:"errCode,omitempty"` - ErrMsg string `protobuf:"bytes,2,opt,name=errMsg,proto3" json:"errMsg,omitempty"` +type CommonResp 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 (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 (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} } - -func (x *CommonResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *CommonResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CommonResp.Unmarshal(m, b) } - -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) +func (m *CommonResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CommonResp.Marshal(b, m, deterministic) } - -// Deprecated: Use CommonResp.ProtoReflect.Descriptor instead. -func (*CommonResp) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{0} +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) +} + +var xxx_messageInfo_CommonResp proto.InternalMessageInfo -func (x *CommonResp) GetErrCode() int32 { - if x != nil { - return x.ErrCode +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 (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} } - -func (x *AdminLoginReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *AdminLoginReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AdminLoginReq.Unmarshal(m, b) } - -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) +func (m *AdminLoginReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AdminLoginReq.Marshal(b, m, deterministic) } - -// Deprecated: Use AdminLoginReq.ProtoReflect.Descriptor instead. -func (*AdminLoginReq) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{1} +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) +} + +var xxx_messageInfo_AdminLoginReq proto.InternalMessageInfo -func (x *AdminLoginReq) GetOperationID() string { - if x != nil { - return x.OperationID +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 (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} } - -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 (m *AdminLoginResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AdminLoginResp.Unmarshal(m, b) } - -func (x *AdminLoginResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *AdminLoginResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AdminLoginResp.Marshal(b, m, deterministic) } - -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) +func (dst *AdminLoginResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_AdminLoginResp.Merge(dst, src) } - -// Deprecated: Use AdminLoginResp.ProtoReflect.Descriptor instead. -func (*AdminLoginResp) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{2} +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 (x *AddUserRegisterAddFriendIDListReq) String() string { - return protoimpl.X.MessageStringOf(x) +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 (*AddUserRegisterAddFriendIDListReq) ProtoMessage() {} +var xxx_messageInfo_GetUserTokenReq proto.InternalMessageInfo -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 +func (m *GetUserTokenReq) GetOperationID() string { + if m != nil { + return m.OperationID } - 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} + return "" } -func (x *AddUserRegisterAddFriendIDListReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *GetUserTokenReq) GetUserID() string { + if m != nil { + return m.UserID } return "" } -func (x *AddUserRegisterAddFriendIDListReq) GetUserIDList() []string { - if x != nil { - return x.UserIDList +func (m *GetUserTokenReq) GetPlatformID() int32 { + if m != nil { + return m.PlatformID } - return nil + return 0 } -type AddUserRegisterAddFriendIDListResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +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:"-"` +} - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp,proto3" json:"commonResp,omitempty"` +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 (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 (m *GetUserTokenResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } + return nil } -func (x *AddUserRegisterAddFriendIDListResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetUserTokenResp) GetToken() string { + if m != nil { + return m.Token + } + return "" } -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 +func (m *GetUserTokenResp) GetExpTime() int64 { + if m != nil { + return m.ExpTime } - return mi.MessageOf(x) + return 0 } -// Deprecated: Use AddUserRegisterAddFriendIDListResp.ProtoReflect.Descriptor instead. -func (*AddUserRegisterAddFriendIDListResp) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{4} +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 (x *AddUserRegisterAddFriendIDListResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp - } - return nil +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) } -type ReduceUserRegisterAddFriendIDListReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +var xxx_messageInfo_AddUserRegisterAddFriendIDListReq proto.InternalMessageInfo - 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"` +func (m *AddUserRegisterAddFriendIDListReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" } -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 (m *AddUserRegisterAddFriendIDListReq) GetUserIDList() []string { + if m != nil { + return m.UserIDList } + return nil +} + +type AddUserRegisterAddFriendIDListResp struct { + 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 *ReduceUserRegisterAddFriendIDListReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *AddUserRegisterAddFriendIDListResp) Reset() { *m = AddUserRegisterAddFriendIDListResp{} } +func (m *AddUserRegisterAddFriendIDListResp) String() string { return proto.CompactTextString(m) } +func (*AddUserRegisterAddFriendIDListResp) ProtoMessage() {} +func (*AddUserRegisterAddFriendIDListResp) Descriptor() ([]byte, []int) { + 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 (*ReduceUserRegisterAddFriendIDListReq) ProtoMessage() {} +var xxx_messageInfo_AddUserRegisterAddFriendIDListResp proto.InternalMessageInfo -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 +func (m *AddUserRegisterAddFriendIDListResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } - return mi.MessageOf(x) + return nil } -// Deprecated: Use ReduceUserRegisterAddFriendIDListReq.ProtoReflect.Descriptor instead. +type ReduceUserRegisterAddFriendIDListReq struct { + 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 (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) +} + +var xxx_messageInfo_ReduceUserRegisterAddFriendIDListReq proto.InternalMessageInfo -func (x *ReduceUserRegisterAddFriendIDListReq) GetOperationID() string { - if x != nil { - return x.OperationID +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 (m *ReduceUserRegisterAddFriendIDListResp) Reset() { *m = ReduceUserRegisterAddFriendIDListResp{} } +func (m *ReduceUserRegisterAddFriendIDListResp) String() string { return proto.CompactTextString(m) } +func (*ReduceUserRegisterAddFriendIDListResp) ProtoMessage() {} +func (*ReduceUserRegisterAddFriendIDListResp) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_f23e453f07b40171, []int{8} } - -func (x *ReduceUserRegisterAddFriendIDListResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *ReduceUserRegisterAddFriendIDListResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ReduceUserRegisterAddFriendIDListResp.Unmarshal(m, b) } - -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) +func (m *ReduceUserRegisterAddFriendIDListResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ReduceUserRegisterAddFriendIDListResp.Marshal(b, m, deterministic) } - -// Deprecated: Use ReduceUserRegisterAddFriendIDListResp.ProtoReflect.Descriptor instead. -func (*ReduceUserRegisterAddFriendIDListResp) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{6} +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) +} + +var xxx_messageInfo_ReduceUserRegisterAddFriendIDListResp proto.InternalMessageInfo -func (x *ReduceUserRegisterAddFriendIDListResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +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 (m *GetUserRegisterAddFriendIDListReq) Reset() { *m = GetUserRegisterAddFriendIDListReq{} } +func (m *GetUserRegisterAddFriendIDListReq) String() string { return proto.CompactTextString(m) } +func (*GetUserRegisterAddFriendIDListReq) ProtoMessage() {} +func (*GetUserRegisterAddFriendIDListReq) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_f23e453f07b40171, []int{9} } - -func (x *GetUserRegisterAddFriendIDListReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetUserRegisterAddFriendIDListReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUserRegisterAddFriendIDListReq.Unmarshal(m, b) } - -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) +func (m *GetUserRegisterAddFriendIDListReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUserRegisterAddFriendIDListReq.Marshal(b, m, deterministic) } - -// Deprecated: Use GetUserRegisterAddFriendIDListReq.ProtoReflect.Descriptor instead. -func (*GetUserRegisterAddFriendIDListReq) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{7} +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 (m *GetUserRegisterAddFriendIDListResp) Reset() { *m = GetUserRegisterAddFriendIDListResp{} } +func (m *GetUserRegisterAddFriendIDListResp) String() string { return proto.CompactTextString(m) } +func (*GetUserRegisterAddFriendIDListResp) ProtoMessage() {} +func (*GetUserRegisterAddFriendIDListResp) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_f23e453f07b40171, []int{10} } - -func (x *GetUserRegisterAddFriendIDListResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetUserRegisterAddFriendIDListResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUserRegisterAddFriendIDListResp.Unmarshal(m, b) } - -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) +func (m *GetUserRegisterAddFriendIDListResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUserRegisterAddFriendIDListResp.Marshal(b, m, deterministic) } - -// Deprecated: Use GetUserRegisterAddFriendIDListResp.ProtoReflect.Descriptor instead. -func (*GetUserRegisterAddFriendIDListResp) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{8} +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 (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} } - -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 (m *GetChatLogsReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetChatLogsReq.Unmarshal(m, b) } - -func (x *GetChatLogsReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetChatLogsReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetChatLogsReq.Marshal(b, m, deterministic) } - -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) +func (dst *GetChatLogsReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetChatLogsReq.Merge(dst, src) } - -// Deprecated: Use GetChatLogsReq.ProtoReflect.Descriptor instead. -func (*GetChatLogsReq) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{9} +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"` -} - -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. + 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 (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) +} + +var xxx_messageInfo_ChatLog proto.InternalMessageInfo -func (x *ChatLog) GetServerMsgID() string { - if x != nil { - return x.ServerMsgID +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 (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} } - -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 (m *GetChatLogsResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetChatLogsResp.Unmarshal(m, b) } - -func (x *GetChatLogsResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetChatLogsResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetChatLogsResp.Marshal(b, m, deterministic) } - -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) +func (dst *GetChatLogsResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetChatLogsResp.Merge(dst, src) } - -// Deprecated: Use GetChatLogsResp.ProtoReflect.Descriptor instead. -func (*GetChatLogsResp) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{11} +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 (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} } - -func (x *StatisticsReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *StatisticsReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_StatisticsReq.Unmarshal(m, b) } - -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) +func (m *StatisticsReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_StatisticsReq.Marshal(b, m, deterministic) } - -// Deprecated: Use StatisticsReq.ProtoReflect.Descriptor instead. -func (*StatisticsReq) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{12} +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 (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} } - -func (x *GetActiveUserReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetActiveUserReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetActiveUserReq.Unmarshal(m, b) } - -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) +func (m *GetActiveUserReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetActiveUserReq.Marshal(b, m, deterministic) } - -// Deprecated: Use GetActiveUserReq.ProtoReflect.Descriptor instead. -func (*GetActiveUserReq) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{13} +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 (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} } - -func (x *UserResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *UserResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UserResp.Unmarshal(m, b) } - -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) +func (m *UserResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UserResp.Marshal(b, m, deterministic) } - -// Deprecated: Use UserResp.ProtoReflect.Descriptor instead. -func (*UserResp) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{14} +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) +} + +var xxx_messageInfo_UserResp proto.InternalMessageInfo -func (x *UserResp) GetNickName() string { - if x != nil { - return x.NickName +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 (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} } - -func (x *GetActiveUserResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetActiveUserResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetActiveUserResp.Unmarshal(m, b) } - -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) +func (m *GetActiveUserResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetActiveUserResp.Marshal(b, m, deterministic) } - -// Deprecated: Use GetActiveUserResp.ProtoReflect.Descriptor instead. -func (*GetActiveUserResp) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{15} +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) +} + +var xxx_messageInfo_GetActiveUserResp proto.InternalMessageInfo -func (x *GetActiveUserResp) GetUsers() []*UserResp { - if x != nil { - return x.Users +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 (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} } - -func (x *GetActiveGroupReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetActiveGroupReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetActiveGroupReq.Unmarshal(m, b) } - -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) +func (m *GetActiveGroupReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetActiveGroupReq.Marshal(b, m, deterministic) } - -// Deprecated: Use GetActiveGroupReq.ProtoReflect.Descriptor instead. -func (*GetActiveGroupReq) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{16} +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) +} + +var xxx_messageInfo_GetActiveGroupReq proto.InternalMessageInfo -func (x *GetActiveGroupReq) GetStatisticsReq() *StatisticsReq { - if x != nil { - return x.StatisticsReq +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 (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} } - -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 (m *GroupResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GroupResp.Unmarshal(m, b) } - -func (x *GroupResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GroupResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GroupResp.Marshal(b, m, deterministic) } - -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) +func (dst *GroupResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GroupResp.Merge(dst, src) } - -// Deprecated: Use GroupResp.ProtoReflect.Descriptor instead. -func (*GroupResp) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{17} +func (m *GroupResp) XXX_Size() int { + return xxx_messageInfo_GroupResp.Size(m) } +func (m *GroupResp) XXX_DiscardUnknown() { + xxx_messageInfo_GroupResp.DiscardUnknown(m) +} + +var xxx_messageInfo_GroupResp proto.InternalMessageInfo -func (x *GroupResp) GetGroupName() string { - if x != nil { - return x.GroupName +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 (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} } - -func (x *GetActiveGroupResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetActiveGroupResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetActiveGroupResp.Unmarshal(m, b) } - -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) +func (m *GetActiveGroupResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetActiveGroupResp.Marshal(b, m, deterministic) } - -// Deprecated: Use GetActiveGroupResp.ProtoReflect.Descriptor instead. -func (*GetActiveGroupResp) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{18} +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) +} + +var xxx_messageInfo_GetActiveGroupResp proto.InternalMessageInfo -func (x *GetActiveGroupResp) GetGroups() []*GroupResp { - if x != nil { - return x.Groups +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 (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} } - -func (x *DateNumList) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *DateNumList) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DateNumList.Unmarshal(m, b) } - -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) +func (m *DateNumList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DateNumList.Marshal(b, m, deterministic) } - -// Deprecated: Use DateNumList.ProtoReflect.Descriptor instead. -func (*DateNumList) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{19} +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) +} + +var xxx_messageInfo_DateNumList proto.InternalMessageInfo -func (x *DateNumList) GetDate() string { - if x != nil { - return x.Date +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 (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} } - -func (x *GetMessageStatisticsReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetMessageStatisticsReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetMessageStatisticsReq.Unmarshal(m, b) } - -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) +func (m *GetMessageStatisticsReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetMessageStatisticsReq.Marshal(b, m, deterministic) } - -// Deprecated: Use GetMessageStatisticsReq.ProtoReflect.Descriptor instead. -func (*GetMessageStatisticsReq) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{20} +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) +} + +var xxx_messageInfo_GetMessageStatisticsReq proto.InternalMessageInfo -func (x *GetMessageStatisticsReq) GetStatisticsReq() *StatisticsReq { - if x != nil { - return x.StatisticsReq +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 (m *GetMessageStatisticsResp) Reset() { *m = GetMessageStatisticsResp{} } +func (m *GetMessageStatisticsResp) String() string { return proto.CompactTextString(m) } +func (*GetMessageStatisticsResp) ProtoMessage() {} +func (*GetMessageStatisticsResp) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_f23e453f07b40171, []int{23} } - -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 (m *GetMessageStatisticsResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetMessageStatisticsResp.Unmarshal(m, b) } - -func (x *GetMessageStatisticsResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetMessageStatisticsResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetMessageStatisticsResp.Marshal(b, m, deterministic) } - -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) +func (dst *GetMessageStatisticsResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetMessageStatisticsResp.Merge(dst, src) } - -// Deprecated: Use GetMessageStatisticsResp.ProtoReflect.Descriptor instead. -func (*GetMessageStatisticsResp) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{21} +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 (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} } - -func (x *GetGroupStatisticsReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetGroupStatisticsReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetGroupStatisticsReq.Unmarshal(m, b) } - -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) +func (m *GetGroupStatisticsReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetGroupStatisticsReq.Marshal(b, m, deterministic) } - -// Deprecated: Use GetGroupStatisticsReq.ProtoReflect.Descriptor instead. -func (*GetGroupStatisticsReq) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{22} +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 (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} } - -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 (m *GetGroupStatisticsResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetGroupStatisticsResp.Unmarshal(m, b) } - -func (x *GetGroupStatisticsResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetGroupStatisticsResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetGroupStatisticsResp.Marshal(b, m, deterministic) } - -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) +func (dst *GetGroupStatisticsResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetGroupStatisticsResp.Merge(dst, src) } - -// Deprecated: Use GetGroupStatisticsResp.ProtoReflect.Descriptor instead. -func (*GetGroupStatisticsResp) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{23} +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 (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} } - -func (x *GetUserStatisticsReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetUserStatisticsReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUserStatisticsReq.Unmarshal(m, b) } - -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) +func (m *GetUserStatisticsReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUserStatisticsReq.Marshal(b, m, deterministic) } - -// Deprecated: Use GetUserStatisticsReq.ProtoReflect.Descriptor instead. -func (*GetUserStatisticsReq) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{24} +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) +} + +var xxx_messageInfo_GetUserStatisticsReq proto.InternalMessageInfo -func (x *GetUserStatisticsReq) GetStatisticsReq() *StatisticsReq { - if x != nil { - return x.StatisticsReq +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 (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} } - -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 (m *GetUserStatisticsResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUserStatisticsResp.Unmarshal(m, b) } - -func (x *GetUserStatisticsResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetUserStatisticsResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUserStatisticsResp.Marshal(b, m, deterministic) } - -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) +func (dst *GetUserStatisticsResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUserStatisticsResp.Merge(dst, src) } - -// Deprecated: Use GetUserStatisticsResp.ProtoReflect.Descriptor instead. -func (*GetUserStatisticsResp) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{25} +func (m *GetUserStatisticsResp) XXX_Size() int { + return xxx_messageInfo_GetUserStatisticsResp.Size(m) } +func (m *GetUserStatisticsResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetUserStatisticsResp.DiscardUnknown(m) +} + +var xxx_messageInfo_GetUserStatisticsResp proto.InternalMessageInfo -func (x *GetUserStatisticsResp) GetIncreaseUserNum() int32 { - if x != nil { - return x.IncreaseUserNum +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 (m *GenerateInvitationCodeReq) Reset() { *m = GenerateInvitationCodeReq{} } +func (m *GenerateInvitationCodeReq) String() string { return proto.CompactTextString(m) } +func (*GenerateInvitationCodeReq) ProtoMessage() {} +func (*GenerateInvitationCodeReq) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_f23e453f07b40171, []int{28} } - -func (x *GenerateInvitationCodeReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GenerateInvitationCodeReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GenerateInvitationCodeReq.Unmarshal(m, b) } - -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) +func (m *GenerateInvitationCodeReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GenerateInvitationCodeReq.Marshal(b, m, deterministic) } - -// Deprecated: Use GenerateInvitationCodeReq.ProtoReflect.Descriptor instead. -func (*GenerateInvitationCodeReq) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{26} +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) +} + +var xxx_messageInfo_GenerateInvitationCodeReq proto.InternalMessageInfo -func (x *GenerateInvitationCodeReq) GetOperationID() string { - if x != nil { - return x.OperationID +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 (m *GenerateInvitationCodeResp) Reset() { *m = GenerateInvitationCodeResp{} } +func (m *GenerateInvitationCodeResp) String() string { return proto.CompactTextString(m) } +func (*GenerateInvitationCodeResp) ProtoMessage() {} +func (*GenerateInvitationCodeResp) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_f23e453f07b40171, []int{29} } - -func (x *GenerateInvitationCodeResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GenerateInvitationCodeResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GenerateInvitationCodeResp.Unmarshal(m, b) } - -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) +func (m *GenerateInvitationCodeResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GenerateInvitationCodeResp.Marshal(b, m, deterministic) } - -// Deprecated: Use GenerateInvitationCodeResp.ProtoReflect.Descriptor instead. -func (*GenerateInvitationCodeResp) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{27} +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) +} + +var xxx_messageInfo_GenerateInvitationCodeResp proto.InternalMessageInfo -func (x *GenerateInvitationCodeResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +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 (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} } - -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 (m *GetInvitationCodesReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetInvitationCodesReq.Unmarshal(m, b) } - -func (x *GetInvitationCodesReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetInvitationCodesReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetInvitationCodesReq.Marshal(b, m, deterministic) } - -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) +func (dst *GetInvitationCodesReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetInvitationCodesReq.Merge(dst, src) } - -// Deprecated: Use GetInvitationCodesReq.ProtoReflect.Descriptor instead. -func (*GetInvitationCodesReq) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{28} +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 (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} } - -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 (m *InvitationCode) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_InvitationCode.Unmarshal(m, b) } - -func (x *InvitationCode) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *InvitationCode) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_InvitationCode.Marshal(b, m, deterministic) } - -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) +func (dst *InvitationCode) XXX_Merge(src proto.Message) { + xxx_messageInfo_InvitationCode.Merge(dst, src) } - -// Deprecated: Use InvitationCode.ProtoReflect.Descriptor instead. -func (*InvitationCode) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{29} +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 (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} } - -func (x *GetInvitationCodesResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetInvitationCodesResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetInvitationCodesResp.Unmarshal(m, b) } - -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) +func (m *GetInvitationCodesResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetInvitationCodesResp.Marshal(b, m, deterministic) } - -// Deprecated: Use GetInvitationCodesResp.ProtoReflect.Descriptor instead. -func (*GetInvitationCodesResp) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{30} +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 (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} } - -func (x *QueryIPRegisterReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *QueryIPRegisterReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryIPRegisterReq.Unmarshal(m, b) } - -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) +func (m *QueryIPRegisterReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryIPRegisterReq.Marshal(b, m, deterministic) } - -// Deprecated: Use QueryIPRegisterReq.ProtoReflect.Descriptor instead. -func (*QueryIPRegisterReq) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{31} +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) +} + +var xxx_messageInfo_QueryIPRegisterReq proto.InternalMessageInfo -func (x *QueryIPRegisterReq) GetOperationID() string { - if x != nil { - return x.OperationID +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 (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} } - -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 (m *QueryIPRegisterResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryIPRegisterResp.Unmarshal(m, b) } - -func (x *QueryIPRegisterResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *QueryIPRegisterResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryIPRegisterResp.Marshal(b, m, deterministic) } - -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) +func (dst *QueryIPRegisterResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryIPRegisterResp.Merge(dst, src) } - -// Deprecated: Use QueryIPRegisterResp.ProtoReflect.Descriptor instead. -func (*QueryIPRegisterResp) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{32} +func (m *QueryIPRegisterResp) XXX_Size() int { + return xxx_messageInfo_QueryIPRegisterResp.Size(m) } +func (m *QueryIPRegisterResp) XXX_DiscardUnknown() { + xxx_messageInfo_QueryIPRegisterResp.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryIPRegisterResp proto.InternalMessageInfo -func (x *QueryIPRegisterResp) GetIP() string { - if x != nil { - return x.IP +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 (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} } - -func (x *AddIPLimitReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *AddIPLimitReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AddIPLimitReq.Unmarshal(m, b) } - -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) +func (m *AddIPLimitReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AddIPLimitReq.Marshal(b, m, deterministic) } - -// Deprecated: Use AddIPLimitReq.ProtoReflect.Descriptor instead. -func (*AddIPLimitReq) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{33} +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) +} + +var xxx_messageInfo_AddIPLimitReq proto.InternalMessageInfo -func (x *AddIPLimitReq) GetOperationID() string { - if x != nil { - return x.OperationID +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"` -} - -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) + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -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 (x *AddIPLimitResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp - } - return nil +func (m *AddIPLimitResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AddIPLimitResp.Unmarshal(m, b) } - -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"` +func (m *AddIPLimitResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AddIPLimitResp.Marshal(b, m, deterministic) } - -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 (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 (x *RemoveIPLimitReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *AddIPLimitResp) XXX_DiscardUnknown() { + xxx_messageInfo_AddIPLimitResp.DiscardUnknown(m) } -func (*RemoveIPLimitReq) ProtoMessage() {} +var xxx_messageInfo_AddIPLimitResp proto.InternalMessageInfo -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 +func (m *AddIPLimitResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } - return mi.MessageOf(x) + return nil +} + +type RemoveIPLimitReq struct { + 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:"-"` } -// 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 (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} } - -func (x *RemoveIPLimitResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *RemoveIPLimitResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_RemoveIPLimitResp.Unmarshal(m, b) } - -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) +func (m *RemoveIPLimitResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_RemoveIPLimitResp.Marshal(b, m, deterministic) } - -// Deprecated: Use RemoveIPLimitResp.ProtoReflect.Descriptor instead. -func (*RemoveIPLimitResp) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{36} +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 (m *QueryUserIDIPLimitLoginReq) Reset() { *m = QueryUserIDIPLimitLoginReq{} } +func (m *QueryUserIDIPLimitLoginReq) String() string { return proto.CompactTextString(m) } +func (*QueryUserIDIPLimitLoginReq) ProtoMessage() {} +func (*QueryUserIDIPLimitLoginReq) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_f23e453f07b40171, []int{39} } - -func (x *QueryUserIDIPLimitLoginReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *QueryUserIDIPLimitLoginReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryUserIDIPLimitLoginReq.Unmarshal(m, b) } - -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) +func (m *QueryUserIDIPLimitLoginReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryUserIDIPLimitLoginReq.Marshal(b, m, deterministic) } - -// Deprecated: Use QueryUserIDIPLimitLoginReq.ProtoReflect.Descriptor instead. -func (*QueryUserIDIPLimitLoginReq) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{37} +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 (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} } - -func (x *UserIPLimit) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *UserIPLimit) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UserIPLimit.Unmarshal(m, b) } - -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) +func (m *UserIPLimit) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UserIPLimit.Marshal(b, m, deterministic) } - -// Deprecated: Use UserIPLimit.ProtoReflect.Descriptor instead. -func (*UserIPLimit) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{38} +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 (m *QueryUserIDIPLimitLoginResp) Reset() { *m = QueryUserIDIPLimitLoginResp{} } +func (m *QueryUserIDIPLimitLoginResp) String() string { return proto.CompactTextString(m) } +func (*QueryUserIDIPLimitLoginResp) ProtoMessage() {} +func (*QueryUserIDIPLimitLoginResp) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_f23e453f07b40171, []int{41} } - -func (x *QueryUserIDIPLimitLoginResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *QueryUserIDIPLimitLoginResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryUserIDIPLimitLoginResp.Unmarshal(m, b) } - -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) +func (m *QueryUserIDIPLimitLoginResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryUserIDIPLimitLoginResp.Marshal(b, m, deterministic) } - -// Deprecated: Use QueryUserIDIPLimitLoginResp.ProtoReflect.Descriptor instead. -func (*QueryUserIDIPLimitLoginResp) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{39} +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 (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} } - -func (x *AddUserIPLimitLoginReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *AddUserIPLimitLoginReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AddUserIPLimitLoginReq.Unmarshal(m, b) } - -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) +func (m *AddUserIPLimitLoginReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AddUserIPLimitLoginReq.Marshal(b, m, deterministic) } - -// Deprecated: Use AddUserIPLimitLoginReq.ProtoReflect.Descriptor instead. -func (*AddUserIPLimitLoginReq) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{40} +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 (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} } - -func (x *AddUserIPLimitLoginResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *AddUserIPLimitLoginResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AddUserIPLimitLoginResp.Unmarshal(m, b) } - -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) +func (m *AddUserIPLimitLoginResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AddUserIPLimitLoginResp.Marshal(b, m, deterministic) } - -// Deprecated: Use AddUserIPLimitLoginResp.ProtoReflect.Descriptor instead. -func (*AddUserIPLimitLoginResp) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{41} +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 (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} } - -func (x *RemoveUserIPLimitReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *RemoveUserIPLimitReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_RemoveUserIPLimitReq.Unmarshal(m, b) } - -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) +func (m *RemoveUserIPLimitReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_RemoveUserIPLimitReq.Marshal(b, m, deterministic) } - -// Deprecated: Use RemoveUserIPLimitReq.ProtoReflect.Descriptor instead. -func (*RemoveUserIPLimitReq) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{42} +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 (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} } - -func (x *RemoveUserIPLimitResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *RemoveUserIPLimitResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_RemoveUserIPLimitResp.Unmarshal(m, b) } - -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) +func (m *RemoveUserIPLimitResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_RemoveUserIPLimitResp.Marshal(b, m, deterministic) } - -// Deprecated: Use RemoveUserIPLimitResp.ProtoReflect.Descriptor instead. -func (*RemoveUserIPLimitResp) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{43} +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 (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} } - -func (x *GetClientInitConfigReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetClientInitConfigReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetClientInitConfigReq.Unmarshal(m, b) } - -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) +func (m *GetClientInitConfigReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetClientInitConfigReq.Marshal(b, m, deterministic) } - -// Deprecated: Use GetClientInitConfigReq.ProtoReflect.Descriptor instead. -func (*GetClientInitConfigReq) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{44} +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 (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} } - -func (x *GetClientInitConfigResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetClientInitConfigResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetClientInitConfigResp.Unmarshal(m, b) } - -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) +func (m *GetClientInitConfigResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetClientInitConfigResp.Marshal(b, m, deterministic) } - -// Deprecated: Use GetClientInitConfigResp.ProtoReflect.Descriptor instead. -func (*GetClientInitConfigResp) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{45} +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 (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} } - -func (x *SetClientInitConfigReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *SetClientInitConfigReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SetClientInitConfigReq.Unmarshal(m, b) } - -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) +func (m *SetClientInitConfigReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SetClientInitConfigReq.Marshal(b, m, deterministic) } - -// Deprecated: Use SetClientInitConfigReq.ProtoReflect.Descriptor instead. -func (*SetClientInitConfigReq) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{46} +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 (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} } - -func (x *SetClientInitConfigResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *SetClientInitConfigResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SetClientInitConfigResp.Unmarshal(m, b) } - -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) +func (m *SetClientInitConfigResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SetClientInitConfigResp.Marshal(b, m, deterministic) } - -// Deprecated: Use SetClientInitConfigResp.ProtoReflect.Descriptor instead. -func (*SetClientInitConfigResp) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{47} +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 (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} } - -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 (m *GetUserFriendsReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUserFriendsReq.Unmarshal(m, b) } - -func (x *GetUserFriendsReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetUserFriendsReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUserFriendsReq.Marshal(b, m, deterministic) } - -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) +func (dst *GetUserFriendsReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUserFriendsReq.Merge(dst, src) } - -// Deprecated: Use GetUserFriendsReq.ProtoReflect.Descriptor instead. -func (*GetUserFriendsReq) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{48} +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 (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} } - -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 (m *GetUserFriendsResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUserFriendsResp.Unmarshal(m, b) } - -func (x *GetUserFriendsResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetUserFriendsResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUserFriendsResp.Marshal(b, m, deterministic) } - -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) +func (dst *GetUserFriendsResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUserFriendsResp.Merge(dst, src) } - -// Deprecated: Use GetUserFriendsResp.ProtoReflect.Descriptor instead. -func (*GetUserFriendsResp) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{49} +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 (m *GetUserIDByEmailAndPhoneNumberReq) Reset() { *m = GetUserIDByEmailAndPhoneNumberReq{} } +func (m *GetUserIDByEmailAndPhoneNumberReq) String() string { return proto.CompactTextString(m) } +func (*GetUserIDByEmailAndPhoneNumberReq) ProtoMessage() {} +func (*GetUserIDByEmailAndPhoneNumberReq) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_f23e453f07b40171, []int{52} } - -func (x *GetUserIDByEmailAndPhoneNumberReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetUserIDByEmailAndPhoneNumberReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUserIDByEmailAndPhoneNumberReq.Unmarshal(m, b) } - -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) +func (m *GetUserIDByEmailAndPhoneNumberReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUserIDByEmailAndPhoneNumberReq.Marshal(b, m, deterministic) } - -// Deprecated: Use GetUserIDByEmailAndPhoneNumberReq.ProtoReflect.Descriptor instead. -func (*GetUserIDByEmailAndPhoneNumberReq) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{50} +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 (m *GetUserIDByEmailAndPhoneNumberResp) Reset() { *m = GetUserIDByEmailAndPhoneNumberResp{} } +func (m *GetUserIDByEmailAndPhoneNumberResp) String() string { return proto.CompactTextString(m) } +func (*GetUserIDByEmailAndPhoneNumberResp) ProtoMessage() {} +func (*GetUserIDByEmailAndPhoneNumberResp) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_f23e453f07b40171, []int{53} } - -func (x *GetUserIDByEmailAndPhoneNumberResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetUserIDByEmailAndPhoneNumberResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUserIDByEmailAndPhoneNumberResp.Unmarshal(m, b) } - -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) +func (m *GetUserIDByEmailAndPhoneNumberResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUserIDByEmailAndPhoneNumberResp.Marshal(b, m, deterministic) } - -// Deprecated: Use GetUserIDByEmailAndPhoneNumberResp.ProtoReflect.Descriptor instead. -func (*GetUserIDByEmailAndPhoneNumberResp) Descriptor() ([]byte, []int) { - return file_admin_cms_admin_cms_proto_rawDescGZIP(), []int{51} +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 +} + +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 } -// AdminCMSServer is the server API for AdminCMS service. +// 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 063/313] 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 064/313] 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 065/313] 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 066/313] 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 067/313] 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 068/313] 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) - } - - 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 chatLog.Content != "" { - db = db.Where(" content like ? ", fmt.Sprintf("%%%s%%", chatLog.Content)) + mdb = mdb.Where("recv_id = ?", chatLog.RecvID) } - 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 len(contentTypeList) > 0 { + mdb = mdb.Where("content_type in (?)", contentTypeList) } - if chatLog.ContentType != 0 { - db = db.Where("content_type = ?", chatLog.ContentType) - } - if chatLog.SendID != "" { - db = db.Where("send_id = ?", chatLog.SendID) + var count int64 + if err := mdb.Count(&count).Error; err != nil { + return 0, nil, err } - if chatLog.RecvID != "" { - db = db.Where("recv_id = ?", chatLog.RecvID) + 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 } - - 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 069/313] 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 070/313] 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 10a0666de931085cc263a231dc52ede12c072287 Mon Sep 17 00:00:00 2001 From: skiffer-git <72860476+skiffer-git@users.noreply.github.com> Date: Fri, 25 Nov 2022 19:56:28 +0800 Subject: [PATCH 071/313] Update README.md --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index ff6d83888..9f9e09ebc 100644 --- a/README.md +++ b/README.md @@ -82,20 +82,20 @@ By deployment of the Open-IM-Server on the customer's server, developers can int ```shell git clone https://github.com/OpenIMSDK/Open-IM-Server.git --recursive cd cmd/Open-IM-SDK-Core -git checkout mainCopy to clipboardErrorCopied +git checkout main ``` 1. Set executable permissions ```shell cd ../../script/ -chmod +x *.shCopy to clipboardErrorCopied +chmod +x *.sh ``` 1. build ```shell -./batch_build_all_service.shCopy +./batch_build_all_service.sh ``` all services build success 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 072/313] 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 073/313] 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 | 1725 ++++++----------- pkg/proto/relay/relay.proto | 1 - pkg/proto/sdk_ws/ws.pb.go | 753 +++---- pkg/proto/sdk_ws/ws.proto | 8 + 11 files changed, 1110 insertions(+), 1464 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 -type OnlinePushMsgReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +// 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 - 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"` +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 (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 (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} } - -func (x *OnlinePushMsgReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *OnlinePushMsgReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OnlinePushMsgReq.Unmarshal(m, b) } - -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) +func (m *OnlinePushMsgReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OnlinePushMsgReq.Marshal(b, m, deterministic) } - -// Deprecated: Use OnlinePushMsgReq.ProtoReflect.Descriptor instead. -func (*OnlinePushMsgReq) Descriptor() ([]byte, []int) { - return file_relay_relay_proto_rawDescGZIP(), []int{0} +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 (x *OnlinePushMsgReq) GetOperationID() string { - if x != nil { - return x.OperationID +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 (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} } - -func (x *OnlinePushMsgResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *OnlinePushMsgResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OnlinePushMsgResp.Unmarshal(m, b) } - -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) +func (m *OnlinePushMsgResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OnlinePushMsgResp.Marshal(b, m, deterministic) } - -// Deprecated: Use OnlinePushMsgResp.ProtoReflect.Descriptor instead. -func (*OnlinePushMsgResp) Descriptor() ([]byte, []int) { - return file_relay_relay_proto_rawDescGZIP(), []int{1} +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 (x *OnlinePushMsgResp) GetResp() []*SingleMsgToUserPlatform { - if x != nil { - return x.Resp +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 (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_714521d58943e0d9, []int{2} } - -func (x *SingelMsgToUserResultList) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *SingelMsgToUserResultList) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SingelMsgToUserResultList.Unmarshal(m, b) } - -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) +func (m *SingelMsgToUserResultList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SingelMsgToUserResultList.Marshal(b, m, deterministic) } - -// Deprecated: Use SingelMsgToUserResultList.ProtoReflect.Descriptor instead. -func (*SingelMsgToUserResultList) Descriptor() ([]byte, []int) { - return file_relay_relay_proto_rawDescGZIP(), []int{2} +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 (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_714521d58943e0d9, []int{3} } - -func (x *OnlineBatchPushOneMsgReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *OnlineBatchPushOneMsgReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OnlineBatchPushOneMsgReq.Unmarshal(m, b) } - -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) +func (m *OnlineBatchPushOneMsgReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OnlineBatchPushOneMsgReq.Marshal(b, m, deterministic) } - -// Deprecated: Use OnlineBatchPushOneMsgReq.ProtoReflect.Descriptor instead. -func (*OnlineBatchPushOneMsgReq) Descriptor() ([]byte, []int) { - return file_relay_relay_proto_rawDescGZIP(), []int{3} +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 (x *OnlineBatchPushOneMsgReq) GetOperationID() string { - if x != nil { - return x.OperationID +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 (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_714521d58943e0d9, []int{4} } - -func (x *OnlineBatchPushOneMsgResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *OnlineBatchPushOneMsgResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OnlineBatchPushOneMsgResp.Unmarshal(m, b) } - -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) +func (m *OnlineBatchPushOneMsgResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OnlineBatchPushOneMsgResp.Marshal(b, m, deterministic) } - -// Deprecated: Use OnlineBatchPushOneMsgResp.ProtoReflect.Descriptor instead. -func (*OnlineBatchPushOneMsgResp) Descriptor() ([]byte, []int) { - return file_relay_relay_proto_rawDescGZIP(), []int{4} +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 (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} } - -func (x *SingleMsgToUserPlatform) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *SingleMsgToUserPlatform) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SingleMsgToUserPlatform.Unmarshal(m, b) } - -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) +func (m *SingleMsgToUserPlatform) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SingleMsgToUserPlatform.Marshal(b, m, deterministic) } - -// Deprecated: Use SingleMsgToUserPlatform.ProtoReflect.Descriptor instead. -func (*SingleMsgToUserPlatform) Descriptor() ([]byte, []int) { - return file_relay_relay_proto_rawDescGZIP(), []int{5} +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 (x *SingleMsgToUserPlatform) GetResultCode() int64 { - if x != nil { - return x.ResultCode +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 (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} } - -func (x *GetUsersOnlineStatusReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetUsersOnlineStatusReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUsersOnlineStatusReq.Unmarshal(m, b) } - -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) +func (m *GetUsersOnlineStatusReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUsersOnlineStatusReq.Marshal(b, m, deterministic) } - -// Deprecated: Use GetUsersOnlineStatusReq.ProtoReflect.Descriptor instead. -func (*GetUsersOnlineStatusReq) Descriptor() ([]byte, []int) { - return file_relay_relay_proto_rawDescGZIP(), []int{6} +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 (x *GetUsersOnlineStatusReq) GetUserIDList() []string { - if x != nil { - return x.UserIDList +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 (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_714521d58943e0d9, []int{7} } - -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 (m *GetUsersOnlineStatusResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUsersOnlineStatusResp.Unmarshal(m, b) } - -func (x *GetUsersOnlineStatusResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetUsersOnlineStatusResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUsersOnlineStatusResp.Marshal(b, m, deterministic) } - -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) +func (dst *GetUsersOnlineStatusResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUsersOnlineStatusResp.Merge(dst, src) } - -// Deprecated: Use GetUsersOnlineStatusResp.ProtoReflect.Descriptor instead. -func (*GetUsersOnlineStatusResp) Descriptor() ([]byte, []int) { - return file_relay_relay_proto_rawDescGZIP(), []int{7} +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 +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"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} - 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 (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_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) +} + +var xxx_messageInfo_GetUsersOnlineStatusResp_SuccessDetail proto.InternalMessageInfo -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 (m *GetUsersOnlineStatusResp_SuccessDetail) GetPlatform() string { + if m != nil { + return m.Platform } + return "" } -func (x *KickUserOfflineReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetUsersOnlineStatusResp_SuccessDetail) GetStatus() string { + if m != nil { + return m.Status + } + return "" } -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) +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:"-"` } -// Deprecated: Use KickUserOfflineReq.ProtoReflect.Descriptor instead. -func (*KickUserOfflineReq) Descriptor() ([]byte, []int) { - return file_relay_relay_proto_rawDescGZIP(), []int{8} +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_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 *KickUserOfflineReq) GetOperationID() string { - if x != nil { - return x.OperationID +var xxx_messageInfo_GetUsersOnlineStatusResp_FailedDetail proto.InternalMessageInfo + +func (m *GetUsersOnlineStatusResp_FailedDetail) GetUserID() string { + if m != nil { + return m.UserID } return "" } -func (x *KickUserOfflineReq) GetPlatformID() int32 { - if x != nil { - return x.PlatformID +func (m *GetUsersOnlineStatusResp_FailedDetail) GetErrCode() int32 { + if m != nil { + return m.ErrCode } return 0 } -func (x *KickUserOfflineReq) GetKickUserIDList() []string { - if x != nil { - return x.KickUserIDList +func (m *GetUsersOnlineStatusResp_FailedDetail) GetErrMsg() string { + if m != nil { + return m.ErrMsg } - return nil + return "" } -type KickUserOfflineResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +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 (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 (m *GetUsersOnlineStatusResp_SuccessResult) Reset() { + *m = GetUsersOnlineStatusResp_SuccessResult{} } - -func (x *KickUserOfflineResp) String() string { - return protoimpl.X.MessageStringOf(x) +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} } - -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) +func (m *GetUsersOnlineStatusResp_SuccessResult) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUsersOnlineStatusResp_SuccessResult.Unmarshal(m, b) } - -// Deprecated: Use KickUserOfflineResp.ProtoReflect.Descriptor instead. -func (*KickUserOfflineResp) Descriptor() ([]byte, []int) { - return file_relay_relay_proto_rawDescGZIP(), []int{9} +func (m *GetUsersOnlineStatusResp_SuccessResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUsersOnlineStatusResp_SuccessResult.Marshal(b, m, deterministic) } - -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 (dst *GetUsersOnlineStatusResp_SuccessResult) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUsersOnlineStatusResp_SuccessResult.Merge(dst, src) } - -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 (m *GetUsersOnlineStatusResp_SuccessResult) XXX_Size() int { + return xxx_messageInfo_GetUsersOnlineStatusResp_SuccessResult.Size(m) } - -func (x *MultiTerminalLoginCheckReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetUsersOnlineStatusResp_SuccessResult) XXX_DiscardUnknown() { + xxx_messageInfo_GetUsersOnlineStatusResp_SuccessResult.DiscardUnknown(m) } -func (*MultiTerminalLoginCheckReq) ProtoMessage() {} +var xxx_messageInfo_GetUsersOnlineStatusResp_SuccessResult proto.InternalMessageInfo -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 +func (m *GetUsersOnlineStatusResp_SuccessResult) GetUserID() string { + if m != nil { + return m.UserID } - return mi.MessageOf(x) -} - -// Deprecated: Use MultiTerminalLoginCheckReq.ProtoReflect.Descriptor instead. -func (*MultiTerminalLoginCheckReq) Descriptor() ([]byte, []int) { - return file_relay_relay_proto_rawDescGZIP(), []int{10} + return "" } -func (x *MultiTerminalLoginCheckReq) GetUserID() string { - if x != nil { - return x.UserID +func (m *GetUsersOnlineStatusResp_SuccessResult) GetStatus() string { + if m != nil { + return m.Status } return "" } -func (x *MultiTerminalLoginCheckReq) GetPlatformID() int32 { - if x != nil { - return x.PlatformID +func (m *GetUsersOnlineStatusResp_SuccessResult) GetDetailPlatformStatus() []*GetUsersOnlineStatusResp_SuccessDetail { + if m != nil { + return m.DetailPlatformStatus } - return 0 + return nil } -func (x *MultiTerminalLoginCheckReq) GetToken() string { - if x != nil { - return x.Token - } - return "" +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 (x *MultiTerminalLoginCheckReq) GetOperationID() string { - if x != nil { - return x.OperationID - } - return "" +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} } - -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 (m *KickUserOfflineReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_KickUserOfflineReq.Unmarshal(m, b) } - -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 (m *KickUserOfflineReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_KickUserOfflineReq.Marshal(b, m, deterministic) } - -func (x *MultiTerminalLoginCheckResp) String() string { - return protoimpl.X.MessageStringOf(x) +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) } -func (*MultiTerminalLoginCheckResp) ProtoMessage() {} +var xxx_messageInfo_KickUserOfflineReq proto.InternalMessageInfo -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 +func (m *KickUserOfflineReq) GetOperationID() string { + if m != nil { + return m.OperationID } - return mi.MessageOf(x) -} - -// Deprecated: Use MultiTerminalLoginCheckResp.ProtoReflect.Descriptor instead. -func (*MultiTerminalLoginCheckResp) Descriptor() ([]byte, []int) { - return file_relay_relay_proto_rawDescGZIP(), []int{11} + return "" } -func (x *MultiTerminalLoginCheckResp) GetErrCode() int32 { - if x != nil { - return x.ErrCode +func (m *KickUserOfflineReq) GetPlatformID() int32 { + if m != nil { + return m.PlatformID } return 0 } -func (x *MultiTerminalLoginCheckResp) GetErrMsg() string { - if x != nil { - return x.ErrMsg +func (m *KickUserOfflineReq) GetKickUserIDList() []string { + if m != nil { + return m.KickUserIDList } - return "" + return nil } -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"` +type KickUserOfflineResp struct { + 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 *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 (x *GetUsersOnlineStatusResp_SuccessDetail) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *KickUserOfflineResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_KickUserOfflineResp.Unmarshal(m, b) } - -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) +func (m *KickUserOfflineResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_KickUserOfflineResp.Marshal(b, m, deterministic) } - -// Deprecated: Use GetUsersOnlineStatusResp_SuccessDetail.ProtoReflect.Descriptor instead. -func (*GetUsersOnlineStatusResp_SuccessDetail) Descriptor() ([]byte, []int) { - return file_relay_relay_proto_rawDescGZIP(), []int{7, 0} +func (dst *KickUserOfflineResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_KickUserOfflineResp.Merge(dst, src) } - -func (x *GetUsersOnlineStatusResp_SuccessDetail) GetPlatform() string { - if x != nil { - return x.Platform - } - return "" +func (m *KickUserOfflineResp) XXX_Size() int { + return xxx_messageInfo_KickUserOfflineResp.Size(m) } - -func (x *GetUsersOnlineStatusResp_SuccessDetail) GetStatus() string { - if x != nil { - return x.Status - } - return "" +func (m *KickUserOfflineResp) XXX_DiscardUnknown() { + xxx_messageInfo_KickUserOfflineResp.DiscardUnknown(m) } -type GetUsersOnlineStatusResp_FailedDetail struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +var xxx_messageInfo_KickUserOfflineResp proto.InternalMessageInfo - 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"` +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 (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 (m *MultiTerminalLoginCheckReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MultiTerminalLoginCheckReq.Unmarshal(m, b) } - -func (x *GetUsersOnlineStatusResp_FailedDetail) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *MultiTerminalLoginCheckReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MultiTerminalLoginCheckReq.Marshal(b, m, deterministic) } - -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) +func (dst *MultiTerminalLoginCheckReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_MultiTerminalLoginCheckReq.Merge(dst, src) } - -// Deprecated: Use GetUsersOnlineStatusResp_FailedDetail.ProtoReflect.Descriptor instead. -func (*GetUsersOnlineStatusResp_FailedDetail) Descriptor() ([]byte, []int) { - return file_relay_relay_proto_rawDescGZIP(), []int{7, 1} +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 (x *GetUsersOnlineStatusResp_FailedDetail) GetUserID() string { - if x != nil { - return x.UserID +func (m *MultiTerminalLoginCheckReq) GetUserID() string { + if m != nil { + return m.UserID } return "" } -func (x *GetUsersOnlineStatusResp_FailedDetail) GetErrCode() int32 { - if x != nil { - return x.ErrCode +func (m *MultiTerminalLoginCheckReq) GetPlatformID() int32 { + if m != nil { + return m.PlatformID } return 0 } -func (x *GetUsersOnlineStatusResp_FailedDetail) GetErrMsg() string { - if x != nil { - return x.ErrMsg +func (m *MultiTerminalLoginCheckReq) GetToken() string { + if m != nil { + return m.Token } 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"` -} - -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 *MultiTerminalLoginCheckReq) GetOperationID() string { + if m != nil { + return m.OperationID } + return "" } -func (x *GetUsersOnlineStatusResp_SuccessResult) String() string { - return protoimpl.X.MessageStringOf(x) +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 (*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) +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} } - -// Deprecated: Use GetUsersOnlineStatusResp_SuccessResult.ProtoReflect.Descriptor instead. -func (*GetUsersOnlineStatusResp_SuccessResult) Descriptor() ([]byte, []int) { - return file_relay_relay_proto_rawDescGZIP(), []int{7, 2} +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) } -func (x *GetUsersOnlineStatusResp_SuccessResult) GetUserID() string { - if x != nil { - return x.UserID +var xxx_messageInfo_MultiTerminalLoginCheckResp proto.InternalMessageInfo + +func (m *MultiTerminalLoginCheckResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode } - return "" + return 0 } -func (x *GetUsersOnlineStatusResp_SuccessResult) GetStatus() string { - if x != nil { - return x.Status +func (m *MultiTerminalLoginCheckResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg } return "" } -func (x *GetUsersOnlineStatusResp_SuccessResult) GetDetailPlatformStatus() []*GetUsersOnlineStatusResp_SuccessDetail { - if x != nil { - return x.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, -} - -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 -} - -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 -} - -func init() { file_relay_relay_proto_init() } -func file_relay_relay_proto_init() { - if File_relay_relay_proto != nil { - return - } - 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 - } - } - } - 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 +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") -} - -func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_a86e2552dd17ddaa) } - -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, + 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_064f17309f8224cf) } + +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 074/313] 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 075/313] 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 076/313] 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 077/313] 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 078/313] 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 079/313] 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 080/313] 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 081/313] 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 082/313] 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 083/313] 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 084/313] 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 085/313] 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 086/313] 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 087/313] 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 088/313] 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 | 123 ++++++++++++++++------- pkg/common/db/mongoModel.go | 9 +- pkg/common/db/rocks_cache/rocks_cache.go | 62 ++++++++++++ 6 files changed, 183 insertions(+), 60 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"` -} - -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"` + 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 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)) +} + +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 +} + +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 089/313] 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 090/313] group admin send mute msg --- internal/rpc/msg/send_msg.go | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 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,21 +194,24 @@ 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) + isMute, isAdmin, err := userIsMuteAndIsAdminInGroup(data.MsgData.GroupID, data.MsgData.SendID) if err != nil { errMsg := data.OperationID + err.Error() return false, 223, errMsg, nil } if isMute { - return false, 225, "group id muted", nil + return false, 224, "you are muted", nil + } + if isAdmin { + return true, 0, "", userIDList } - 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, 224, "you are muted", nil + return false, 225, "group id muted", nil } return true, 0, "", userIDList case constant.SuperGroupChatType: @@ -264,21 +268,24 @@ 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) + isMute, isAdmin, err := userIsMuteAndIsAdminInGroup(data.MsgData.GroupID, data.MsgData.SendID) if err != nil { errMsg := data.OperationID + err.Error() return false, 223, errMsg, nil } if isMute { - return false, 225, "group id muted", nil + return false, 224, "you are muted", nil } - isMute, err = userIsMuteInGroup(data.MsgData.GroupID, data.MsgData.SendID) + 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, 224, "you are muted", nil + return false, 225, "group id muted", nil } return true, 0, "", userIDList } From f6533b2ca48a741fb03a8ebbbc308ff5b521e4e0 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 2 Dec 2022 18:39:15 +0800 Subject: [PATCH 091/313] 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 092/313] 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 093/313] 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 094/313] 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 095/313] 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 096/313] 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 097/313] 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 098/313] 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 099/313] 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 100/313] 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 101/313] 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 102/313] 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 103/313] 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 104/313] 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 105/313] 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 106/313] 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 107/313] ws connID --- internal/msg_gateway/gate/relay_rpc_server.go | 1 + pkg/proto/relay/relay.pb.go | 150 +++++++++--------- pkg/proto/relay/relay.proto | 1 + 3 files changed, 81 insertions(+), 71 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) } - -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, +func init() { proto.RegisterFile("relay/relay.proto", fileDescriptor_relay_f693b13cb6a37b62) } + +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 108/313] 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 109/313] 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 110/313] 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 111/313] ws backgroundStatus --- internal/msg_gateway/gate/relay_rpc_server.go | 1 + pkg/proto/relay/relay.pb.go | 151 ++++++++++-------- pkg/proto/relay/relay.proto | 1 + 3 files changed, 82 insertions(+), 71 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) } - -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, +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 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 112/313] 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 113/313] 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 114/313] 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 115/313] 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 116/313] 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 117/313] 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 118/313] modify --- pkg/common/db/extend_msg_mongo_model.go | 32 +- pkg/proto/msg/msg.pb.go | 711 ++++++++++++++++--- pkg/proto/msg/msg.proto | 53 +- pkg/proto/sdk_ws/ws.pb.go | 886 +++++++++++++++--------- pkg/proto/sdk_ws/ws.proto | 26 +- 5 files changed, 1247 insertions(+), 461 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) } - -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, +func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_c6fbff1b04f5a192) } + +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 ModifyMessageReactionExtensionsResp { + int32 errCode = 1; + string errMsg = 2; + 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 ModifyMsgResp { +message OperateMessageListReactionExtensionsResp { 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; } 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") -} - -func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_064f17309f8224cf) } - -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, + 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_20501d8722cdea6e) } + +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 119/313] 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 120/313] 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 121/313] 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 122/313] 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 123/313] 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 124/313] 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 125/313] modify msg --- pkg/proto/msg/msg.pb.go | 325 +++++++++++++++++++++++----------------- pkg/proto/msg/msg.proto | 4 +- 2 files changed, 193 insertions(+), 136 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) } - -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, +func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_46916c59bfcbd84e) } + +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 126/313] modify msg --- internal/api/msg/extend_msg.go | 8 +- pkg/proto/msg/msg.pb.go | 384 ++++++++++++++++++++++----------- pkg/proto/msg/msg.proto | 16 +- 3 files changed, 277 insertions(+), 131 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) } - -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, +func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_6ec0bb4bc5c02b03) } + +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 127/313] 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 128/313] 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 129/313] 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 130/313] 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 131/313] 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 132/313] 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 133/313] 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) - 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) + 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 - } 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 134/313] 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 135/313] 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 136/313] reaction message add expiration --- pkg/proto/msg/msg.pb.go | 460 ++++++++++++++++++++++++++++------------ 1 file changed, 328 insertions(+), 132 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) } - -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, +func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_e249cc2dfcfd259f) } + +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 137/313] 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 138/313] 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 139/313] reaction message add expiration --- pkg/proto/msg/msg.pb.go | 276 +++++++++++++++++++++------------------- 1 file changed, 142 insertions(+), 134 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) } - -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, +func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_489179134d252ef4) } + +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 140/313] 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 141/313] 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 142/313] reaction message add expiration --- pkg/proto/msg/msg.pb.go | 685 +++++++++++++++++++++++++++------------- 1 file changed, 466 insertions(+), 219 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) } - -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, +func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_32af573ca8e8e2bd) } + +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 143/313] 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 | 85 ++--- pkg/common/db/rocks_cache/rocks_cache.go | 4 +- pkg/proto/msg/msg.pb.go | 323 ++++++++++-------- 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 -} - -// 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) +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 - result, err := c.Find(ctx, bson.M{"source_id": primitive.Regex{Pattern: regex}, "session_type": sessionType}, findOpts) + 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 utils.Wrap(err, "") + 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) + set, err := d.GetExtendMsgSet(ctx, sourceID, sessionType, 0, c) + if 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 len(setList) == 0 { - return utils.Wrap(errors.New("InsertOrUpdateReactionExtendMsgSet failed, len(setList) == 0"), "") + if set == nil { + return errors.New(fmt.Sprintf("sourceID %s has no set", sourceID)) } - - _, 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 len(setList) == 0 { - return utils.Wrap(errors.New("InsertOrUpdateReactionExtendMsgSet failed, len(setList) == 0"), "") + if set == nil { + return errors.New(fmt.Sprintf("sourceID %s has no set", sourceID)) } - _, 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) } - -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, +func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_a1760b784e1ce32d) } + +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 144/313] 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 | 383 ++++++++++++++------------------- pkg/proto/msg/msg.proto | 12 +- 4 files changed, 183 insertions(+), 229 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) } - -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, +func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_c38567e4d3a35fd0) } + +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 145/313] 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 3013af8e622e5cce763707f504b855505fcd1bd0 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 13 Dec 2022 12:42:04 +0800 Subject: [PATCH 146/313] 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..6ba7a43ca 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -139,7 +139,7 @@ services: max-file: "2" open_im_enterprise: - image: openim/open_im_enterprise:v1.0.0 + image: openim/open_im_enterprise:v1.0.1 container_name: open_im_enterprise volumes: - ./logs:/Open-IM-Enterprise/logs From 060864996166cbadc90b7cde4de5ca59c893412b Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 13 Dec 2022 13:58:51 +0800 Subject: [PATCH 147/313] 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 d42d4308e55039405306a787716c6229c76c07ce Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 13 Dec 2022 13:59:58 +0800 Subject: [PATCH 148/313] upgrade enterprise --- docker-compose.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yaml b/docker-compose.yaml index 6ba7a43ca..18c13b274 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 149/313] Update group application list for group administrator --- internal/rpc/msg/group_notification.go | 25 + pkg/proto/sdk_ws/ws.pb.go | 896 ++++++++++++++++--------- pkg/proto/sdk_ws/ws.proto | 2 + 3 files changed, 590 insertions(+), 333 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") -} - -func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_064f17309f8224cf) } - -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, + 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 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 83f128ddcce878fa13ee267992f3adb39502277b Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 13 Dec 2022 15:11:42 +0800 Subject: [PATCH 150/313] upgrade open_im_enterprise --- docker-compose.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yaml b/docker-compose.yaml index 18c13b274..4188bbdf8 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -139,7 +139,7 @@ services: max-file: "2" open_im_enterprise: - image: openim/open_im_enterprise:v1.0.1 + image: openim/open_im_enterprise:v1.0.2 container_name: open_im_enterprise volumes: - ./logs:/Open-IM-Enterprise/logs 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 151/313] 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 152/313] 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 153/313] 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 154/313] 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 155/313] 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 156/313] proto --- cmd/open_im_api/main.go | 2 +- pkg/proto/admin_cms/admin_cms.pb.go | 549 +++++++++++----------------- pkg/proto/admin_cms/admin_cms.proto | 2 +- 3 files changed, 207 insertions(+), 346 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) -} - -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, + proto.RegisterFile("admin_cms/admin_cms.proto", fileDescriptor_admin_cms_ab5a35fab6587b8a) +} + +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 157/313] 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 158/313] 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 159/313] 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 0b9d9fa8d707acca1ba520a67420155f9817cdcb Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Thu, 15 Dec 2022 18:43:52 +0800 Subject: [PATCH 160/313] install script --- 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 161/313] 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 162/313] 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 163/313] 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 164/313] 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 165/313] 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 166/313] 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 167/313] reaction message update --- internal/rpc/msg/extend_msg.go | 167 +++++++++++++++++--- internal/rpc/msg/extend_msg.notification.go | 11 +- internal/rpc/msg/lock.go | 20 +++ pkg/common/constant/constant.go | 1 + 4 files changed, 170 insertions(+), 29 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 { - 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 + 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) } - 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 + 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 { + 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 168/313] 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, - } - 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, - }, + 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) } - 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 169/313] getui --- pkg/proto/admin_cms/admin_cms.pb.go | 541 ++++++++++++++++++---------- 1 file changed, 344 insertions(+), 197 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) -} - -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, + proto.RegisterFile("admin_cms/admin_cms.proto", fileDescriptor_admin_cms_49bc09b1772ecee1) +} + +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 170/313] 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 171/313] 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 172/313] 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 173/313] 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 174/313] 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 175/313] 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 176/313] 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 177/313] 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 178/313] 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 179/313] 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 180/313] 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 181/313] 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 182/313] 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 183/313] 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 184/313] 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 185/313] 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 186/313] 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 187/313] 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 188/313] 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 189/313] callback update --- internal/rpc/msg/extend_msg.go | 67 +++++ internal/rpc/msg/extend_msg.notification.go | 8 + internal/rpc/msg/extend_msg_callback.go | 81 +++--- pkg/base_info/msg.go | 1 + pkg/proto/msg/msg.pb.go | 288 ++++++++++---------- pkg/proto/msg/msg.proto | 5 +- 6 files changed, 264 insertions(+), 186 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 - } - log.NewDebug(msg.OperationID, utils.GetSelfFuncName(), msg) - commonCallbackReq := copyCallbackCommonReqStruct(msg) - commonCallbackReq.CallbackCommand = constant.CallbackAfterSendGroupMsgCommand - req := cbApi.CallbackAfterSendGroupMsgReq{ - CommonCallbackReq: commonCallbackReq, - GroupID: msg.MsgData.GroupID, +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, } - 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 + return resp + } -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, +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, } - //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 190/313] 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 191/313] callback update --- pkg/proto/sdk_ws/ws.pb.go | 850 +++++++++++++++++++++----------------- 1 file changed, 465 insertions(+), 385 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") -} - -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, + 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_73169a3998a579bb) } + +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 192/313] getui --- internal/cron_task/clear_msg.go | 87 ++++++--------- internal/cron_task/clear_msg_test.go | 154 ++++++++++++++------------- internal/cron_task/cron_task.go | 12 +-- internal/push/getui/push.go | 4 +- 4 files changed, 114 insertions(+), 143 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 TestDeleteMongoMsgAndResetRedisSeq(t *testing.T) { +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 != nil { - t.Error(err.Error(), testUID1) + if err := DeleteMongoMsgAndResetRedisSeq(operationID, testUID1); err != nil { + t.Error("checkMaxSeqWithMongo failed", 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) - } + if err := checkMaxSeqWithMongo(operationID, testUID1, constant.WriteDiffusion); err != nil { + t.Error("checkMaxSeqWithMongo failed", testUID1) } - - 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 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) + // } + // } } 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 193/313] 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 194/313] 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 195/313] 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 196/313] 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 197/313] 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 198/313] 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 199/313] 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 200/313] 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 201/313] 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 202/313] 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 203/313] 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 204/313] 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 205/313] 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 206/313] 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 207/313] 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 208/313] 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 209/313] 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 210/313] 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 211/313] 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 212/313] 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 213/313] 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 214/313] 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 215/313] 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 216/313] 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 217/313] 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 218/313] 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 219/313] 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 220/313] 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 221/313] 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 222/313] 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 223/313] 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 224/313] 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 | 301 ++++++++++++------------ pkg/proto/msg/msg.proto | 3 +- 7 files changed, 216 insertions(+), 162 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) } - -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, +func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_24cf87b309a51053) } + +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 225/313] 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 226/313] 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 227/313] 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 f559795ba38fbdf2faf8cc9b62430664665b01fd Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Tue, 3 Jan 2023 16:39:27 +0800 Subject: [PATCH 228/313] file add --- pkg/tools/batcher/batcher.go | 176 +++++++++++++++++++++++++++++++++++ 1 file changed, 176 insertions(+) create mode 100644 pkg/tools/batcher/batcher.go diff --git a/pkg/tools/batcher/batcher.go b/pkg/tools/batcher/batcher.go new file mode 100644 index 000000000..e6226cd41 --- /dev/null +++ b/pkg/tools/batcher/batcher.go @@ -0,0 +1,176 @@ +package batcher + +import ( + "Open_IM/pkg/common/log" + "context" + "errors" + "hash/crc32" + "sync" + "time" +) + +var ( + ErrorNotSetFunction = errors.New("not set do function") +) + +var ( + DefaultSize = 100 + DefaultBuffer = 100 + DefaultWorker = 5 + DefaultInterval = time.Second +) + +type DoFuntion func(ctx context.Context, val map[string][]interface{}) +type Option func(c *Config) +type Config struct { + size int //Number of message aggregations + buffer int //The number of caches running in a single coroutine + worker int //Number of coroutines processed in parallel + interval time.Duration //Time of message aggregations +} + +func newDefaultConfig() *Config { + return &Config{ + size: DefaultSize, + buffer: DefaultBuffer, + worker: DefaultWorker, + interval: DefaultInterval, + } +} + +type Batcher struct { + config Config + Do func(ctx context.Context, val map[string][]interface{}) + Sharding func(key string) int + chans []chan *msg + wait sync.WaitGroup +} +type msg struct { + key string + val interface{} +} + +func NewBatcher(fn DoFuntion, opts ...Option) *Batcher { + b := &Batcher{} + b.Do = fn + config := newDefaultConfig() + for _, o := range opts { + o(config) + } + b.chans = make([]chan *msg, b.config.worker) + for i := 0; i < b.config.worker; i++ { + b.chans[i] = make(chan *msg, b.config.buffer) + } + return b +} +func WithSize(s int) Option { + return func(c *Config) { + c.size = s + } +} + +func WithBuffer(b int) Option { + return func(c *Config) { + c.buffer = b + } +} + +func WithWorker(w int) Option { + return func(c *Config) { + c.worker = w + } +} + +func WithInterval(i time.Duration) Option { + return func(c *Config) { + c.interval = i + } +} +func (b *Batcher) Start() error { + if b.Do == nil { + return ErrorNotSetFunction + } + if b.Sharding == nil { + b.Sharding = func(key string) int { + hasCode := int(crc32.ChecksumIEEE([]byte(key))) + return hasCode % b.config.worker + } + } + b.wait.Add(len(b.chans)) + for i, ch := range b.chans { + go b.merge(i, ch) + } + return nil +} + +func (b *Batcher) Add(key string, val interface{}) error { + ch, msg := b.add(key, val) + select { + case ch <- msg: + default: + return ErrFull + } + return nil +} + +func (b *Batcher) add(key string, val interface{}) (chan *msg, *msg) { + sharding := b.Sharding(key) % b.opts.worker + ch := b.chans[sharding] + msg := &msg{key: key, val: val} + return ch, msg +} + +func (b *Batcher) merge(idx int, ch <-chan *msg) { + defer b.wait.Done() + + var ( + msg *msg + count int + closed bool + lastTicker = true + interval = b.opts.interval + vals = make(map[string][]interface{}, b.opts.size) + ) + if idx > 0 { + interval = time.Duration(int64(idx) * (int64(b.opts.interval) / int64(b.opts.worker))) + } + ticker := time.NewTicker(interval) + for { + select { + case msg = <-ch: + if msg == nil { + closed = true + break + } + count++ + vals[msg.key] = append(vals[msg.key], msg.val) + if count >= b.opts.size { + break + } + continue + case <-ticker.C: + if lastTicker { + ticker.Stop() + ticker = time.NewTicker(b.opts.interval) + lastTicker = false + } + } + if len(vals) > 0 { + ctx := context.Background() + b.Do(ctx, vals) + vals = make(map[string][]interface{}, b.opts.size) + count = 0 + } + if closed { + ticker.Stop() + return + } + } +} + +func (b *Batcher) Close() { + for _, ch := range b.chans { + ch <- nil + } + b.wait.Wait() +} From 0a2b6605d731528a802affb0266d1ebcf8c64859 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Tue, 3 Jan 2023 16:39:54 +0800 Subject: [PATCH 229/313] core version --- cmd/Open-IM-SDK-Core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/Open-IM-SDK-Core b/cmd/Open-IM-SDK-Core index 1667b0f4e..e731cb86e 160000 --- a/cmd/Open-IM-SDK-Core +++ b/cmd/Open-IM-SDK-Core @@ -1 +1 @@ -Subproject commit 1667b0f4e205fc4ed7c690ab55b662087d61c277 +Subproject commit e731cb86ec9314a0b30b4f8331d53854c2c9d858 From 0732fe61716f0c63873f2ad0eb6521f9de2ff228 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 3 Jan 2023 17:01:39 +0800 Subject: [PATCH 230/313] 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 From 0554778c835336b2c2466eb22043ea16538b92e7 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 3 Jan 2023 17:26:25 +0800 Subject: [PATCH 231/313] add group proto --- pkg/proto/group/group.proto | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/pkg/proto/group/group.proto b/pkg/proto/group/group.proto index 412f6c73b..89625d42a 100644 --- a/pkg/proto/group/group.proto +++ b/pkg/proto/group/group.proto @@ -375,6 +375,27 @@ message GetGroupAbstractInfoResp{ uint64 groupMemberListHash = 3; } +message GroupIsExistReq { + repeated string groupIDList = 1; + string opUserID = 2; + string operationID = 3; +} + +message GroupIsExistResp { + CommonResp CommonResp = 1; + map IsExistMap = 2; +} + +message UserIsInGroupReq { + string groupID = 1; + string userIDList = 2; + string operationID = 3; +} + +message UserIsInGroupResp { + CommonResp CommonResp = 1; + map IsExistMap = 2; +} service group{ rpc createGroup(CreateGroupReq) returns(CreateGroupResp); @@ -408,6 +429,8 @@ service group{ rpc GetSuperGroupsInfo(GetSuperGroupsInfoReq) returns (GetSuperGroupsInfoResp); rpc SetGroupMemberInfo(SetGroupMemberInfoReq) returns (SetGroupMemberInfoResp); rpc GetGroupAbstractInfo(GetGroupAbstractInfoReq) returns (GetGroupAbstractInfoResp); + rpc GroupIsExist(GroupIsExistReq) returns(GroupIsExistResp); + rpc UserIsInGroup(UserIsInGroupReq) returns(); } From 4400423fca0de18b2ea83e8851a9173f94b64ae8 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 3 Jan 2023 18:08:59 +0800 Subject: [PATCH 232/313] add group proto --- internal/rpc/group/group.go | 50 + .../im_mysql_model/group_member_model.go | 6 + .../mysql_model/im_mysql_model/group_model.go | 6 + pkg/proto/group/group.pb.go | 6832 +++++++---------- pkg/proto/group/group.proto | 4 +- 5 files changed, 2628 insertions(+), 4270 deletions(-) diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index bc623c0d8..d23f17aea 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -1981,3 +1981,53 @@ func (s *groupServer) DelGroupAndUserCache(operationID, groupID string, userIDLi } return nil } + +func (s *groupServer) GroupIsExist(c context.Context, req *pbGroup.GroupIsExistReq) (*pbGroup.GroupIsExistResp, error) { + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) + resp := &pbGroup.GroupIsExistResp{CommonResp: &pbGroup.CommonResp{}} + groups, err := imdb.GetGroupInfoByGroupIDList(req.GroupIDList) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), "args:", req.GroupIDList) + resp.CommonResp.ErrMsg = err.Error() + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + return resp, nil + } + var m = make(map[string]bool) + for _, groupID := range req.GroupIDList { + m[groupID] = false + for _, group := range groups { + if groupID == group.GroupID { + m[groupID] = true + break + } + } + } + resp.IsExistMap = m + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", req.String()) + return resp, nil +} + +func (s *groupServer) UserIsInGroup(c context.Context, req *pbGroup.UserIsInGroupReq) (*pbGroup.UserIsInGroupResp, error) { + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) + resp := &pbGroup.UserIsInGroupResp{} + groupMemberList, err := imdb.GetGroupMemberByUserIDList(req.GroupID, req.UserIDList) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), "args:", req.GroupID, req.UserIDList) + resp.CommonResp.ErrMsg = err.Error() + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + return resp, nil + } + var m = make(map[string]bool) + for _, userID := range req.UserIDList { + m[userID] = false + for _, user := range groupMemberList { + if userID == user.UserID { + m[userID] = true + break + } + } + } + resp.IsExistMap = m + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", req.String()) + return resp, nil +} diff --git a/pkg/common/db/mysql_model/im_mysql_model/group_member_model.go b/pkg/common/db/mysql_model/im_mysql_model/group_member_model.go index 25131f6a5..29ff48f17 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/group_member_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/group_member_model.go @@ -74,6 +74,12 @@ func GetGroupMemberIDListByGroupID(groupID string) ([]string, error) { return groupMemberIDList, nil } +func GetGroupMemberByUserIDList(groupID string, userIDList []string) ([]*db.GroupMember, error) { + var groupMemberList []*db.GroupMember + err := db.DB.MysqlDB.DefaultGormDB().Table("group_members").Where("group_id=? and user_id in (?)", groupID, userIDList).Find(&groupMemberList).Error + return groupMemberList, err +} + func GetGroupMemberListByGroupIDAndRoleLevel(groupID string, roleLevel int32) ([]db.GroupMember, error) { var groupMemberList []db.GroupMember err := db.DB.MysqlDB.DefaultGormDB().Table("group_members").Where("group_id=? and role_level=?", groupID, roleLevel).Find(&groupMemberList).Error diff --git a/pkg/common/db/mysql_model/im_mysql_model/group_model.go b/pkg/common/db/mysql_model/im_mysql_model/group_model.go index 6f3b230f4..ad99ed828 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/group_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/group_model.go @@ -44,6 +44,12 @@ func GetGroupInfoByGroupID(groupID string) (*db.Group, error) { return &groupInfo, err } +func GetGroupInfoByGroupIDList(groupIDList []string) ([]*db.Group, error) { + var groupInfoList []*db.Group + err := db.DB.MysqlDB.DefaultGormDB().Table("groups").Where("group_id in (?)", groupIDList).Find(&groupIDList).Error + return groupInfoList, err +} + func SetGroupInfo(groupInfo db.Group) error { return db.DB.MysqlDB.DefaultGormDB().Table("groups").Where("group_id=?", groupInfo.GroupID).Updates(&groupInfo).Error } diff --git a/pkg/proto/group/group.pb.go b/pkg/proto/group/group.pb.go index dc5d77ed0..74d28d247 100644 --- a/pkg/proto/group/group.pb.go +++ b/pkg/proto/group/group.pb.go @@ -1,5357 +1,3518 @@ // Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.27.1 -// protoc v3.15.5 // source: group/group.proto -package group +package group // import "Open_IM/pkg/proto/group" + +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 ( - 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" - wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" - 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 -type CommonResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +// 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 - ErrCode int32 `protobuf:"varint,1,opt,name=ErrCode,proto3" json:"ErrCode,omitempty"` - ErrMsg string `protobuf:"bytes,2,opt,name=ErrMsg,proto3" json:"ErrMsg,omitempty"` +type CommonResp 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 (x *CommonResp) Reset() { - *x = CommonResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +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_group_62d80c4ee8bcf1ea, []int{0} } - -func (x *CommonResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *CommonResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CommonResp.Unmarshal(m, b) } - -func (*CommonResp) ProtoMessage() {} - -func (x *CommonResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (m *CommonResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CommonResp.Marshal(b, m, deterministic) } - -// Deprecated: Use CommonResp.ProtoReflect.Descriptor instead. -func (*CommonResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{0} +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) +} + +var xxx_messageInfo_CommonResp proto.InternalMessageInfo -func (x *CommonResp) GetErrCode() int32 { - if x != nil { - return x.ErrCode +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 GroupAddMemberInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserID string `protobuf:"bytes,1,opt,name=UserID,proto3" json:"UserID,omitempty"` - RoleLevel int32 `protobuf:"varint,2,opt,name=RoleLevel,proto3" json:"RoleLevel,omitempty"` + UserID string `protobuf:"bytes,1,opt,name=UserID" json:"UserID,omitempty"` + RoleLevel int32 `protobuf:"varint,2,opt,name=RoleLevel" json:"RoleLevel,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GroupAddMemberInfo) Reset() { - *x = GroupAddMemberInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *GroupAddMemberInfo) Reset() { *m = GroupAddMemberInfo{} } +func (m *GroupAddMemberInfo) String() string { return proto.CompactTextString(m) } +func (*GroupAddMemberInfo) ProtoMessage() {} +func (*GroupAddMemberInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{1} } - -func (x *GroupAddMemberInfo) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GroupAddMemberInfo) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GroupAddMemberInfo.Unmarshal(m, b) } - -func (*GroupAddMemberInfo) ProtoMessage() {} - -func (x *GroupAddMemberInfo) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (m *GroupAddMemberInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GroupAddMemberInfo.Marshal(b, m, deterministic) } - -// Deprecated: Use GroupAddMemberInfo.ProtoReflect.Descriptor instead. -func (*GroupAddMemberInfo) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{1} +func (dst *GroupAddMemberInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_GroupAddMemberInfo.Merge(dst, src) +} +func (m *GroupAddMemberInfo) XXX_Size() int { + return xxx_messageInfo_GroupAddMemberInfo.Size(m) +} +func (m *GroupAddMemberInfo) XXX_DiscardUnknown() { + xxx_messageInfo_GroupAddMemberInfo.DiscardUnknown(m) } -func (x *GroupAddMemberInfo) GetUserID() string { - if x != nil { - return x.UserID +var xxx_messageInfo_GroupAddMemberInfo proto.InternalMessageInfo + +func (m *GroupAddMemberInfo) GetUserID() string { + if m != nil { + return m.UserID } return "" } -func (x *GroupAddMemberInfo) GetRoleLevel() int32 { - if x != nil { - return x.RoleLevel +func (m *GroupAddMemberInfo) GetRoleLevel() int32 { + if m != nil { + return m.RoleLevel } return 0 } type CreateGroupReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - InitMemberList []*GroupAddMemberInfo `protobuf:"bytes,1,rep,name=InitMemberList,proto3" json:"InitMemberList,omitempty"` - GroupInfo *sdk_ws.GroupInfo `protobuf:"bytes,2,opt,name=GroupInfo,proto3" json:"GroupInfo,omitempty"` - OperationID string `protobuf:"bytes,3,opt,name=OperationID,proto3" json:"OperationID,omitempty"` - OpUserID string `protobuf:"bytes,4,opt,name=OpUserID,proto3" json:"OpUserID,omitempty"` //app manager or group owner - OwnerUserID string `protobuf:"bytes,5,opt,name=OwnerUserID,proto3" json:"OwnerUserID,omitempty"` //owner + InitMemberList []*GroupAddMemberInfo `protobuf:"bytes,1,rep,name=InitMemberList" json:"InitMemberList,omitempty"` + GroupInfo *sdk_ws.GroupInfo `protobuf:"bytes,2,opt,name=GroupInfo" json:"GroupInfo,omitempty"` + OperationID string `protobuf:"bytes,3,opt,name=OperationID" json:"OperationID,omitempty"` + OpUserID string `protobuf:"bytes,4,opt,name=OpUserID" json:"OpUserID,omitempty"` + OwnerUserID string `protobuf:"bytes,5,opt,name=OwnerUserID" json:"OwnerUserID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CreateGroupReq) Reset() { *m = CreateGroupReq{} } +func (m *CreateGroupReq) String() string { return proto.CompactTextString(m) } +func (*CreateGroupReq) ProtoMessage() {} +func (*CreateGroupReq) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{2} } - -func (x *CreateGroupReq) Reset() { - *x = CreateGroupReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *CreateGroupReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CreateGroupReq.Unmarshal(m, b) } - -func (x *CreateGroupReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *CreateGroupReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CreateGroupReq.Marshal(b, m, deterministic) } - -func (*CreateGroupReq) ProtoMessage() {} - -func (x *CreateGroupReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (dst *CreateGroupReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_CreateGroupReq.Merge(dst, src) } - -// Deprecated: Use CreateGroupReq.ProtoReflect.Descriptor instead. -func (*CreateGroupReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{2} +func (m *CreateGroupReq) XXX_Size() int { + return xxx_messageInfo_CreateGroupReq.Size(m) +} +func (m *CreateGroupReq) XXX_DiscardUnknown() { + xxx_messageInfo_CreateGroupReq.DiscardUnknown(m) } -func (x *CreateGroupReq) GetInitMemberList() []*GroupAddMemberInfo { - if x != nil { - return x.InitMemberList +var xxx_messageInfo_CreateGroupReq proto.InternalMessageInfo + +func (m *CreateGroupReq) GetInitMemberList() []*GroupAddMemberInfo { + if m != nil { + return m.InitMemberList } return nil } -func (x *CreateGroupReq) GetGroupInfo() *sdk_ws.GroupInfo { - if x != nil { - return x.GroupInfo +func (m *CreateGroupReq) GetGroupInfo() *sdk_ws.GroupInfo { + if m != nil { + return m.GroupInfo } return nil } -func (x *CreateGroupReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *CreateGroupReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -func (x *CreateGroupReq) GetOpUserID() string { - if x != nil { - return x.OpUserID +func (m *CreateGroupReq) GetOpUserID() string { + if m != nil { + return m.OpUserID } return "" } -func (x *CreateGroupReq) GetOwnerUserID() string { - if x != nil { - return x.OwnerUserID +func (m *CreateGroupReq) GetOwnerUserID() string { + if m != nil { + return m.OwnerUserID } return "" } type CreateGroupResp 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"` - GroupInfo *sdk_ws.GroupInfo `protobuf:"bytes,3,opt,name=GroupInfo,proto3" json:"GroupInfo,omitempty"` + ErrCode int32 `protobuf:"varint,1,opt,name=ErrCode" json:"ErrCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=ErrMsg" json:"ErrMsg,omitempty"` + GroupInfo *sdk_ws.GroupInfo `protobuf:"bytes,3,opt,name=GroupInfo" json:"GroupInfo,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *CreateGroupResp) Reset() { - *x = CreateGroupResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *CreateGroupResp) Reset() { *m = CreateGroupResp{} } +func (m *CreateGroupResp) String() string { return proto.CompactTextString(m) } +func (*CreateGroupResp) ProtoMessage() {} +func (*CreateGroupResp) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{3} } - -func (x *CreateGroupResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *CreateGroupResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CreateGroupResp.Unmarshal(m, b) } - -func (*CreateGroupResp) ProtoMessage() {} - -func (x *CreateGroupResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (m *CreateGroupResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CreateGroupResp.Marshal(b, m, deterministic) } - -// Deprecated: Use CreateGroupResp.ProtoReflect.Descriptor instead. -func (*CreateGroupResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{3} +func (dst *CreateGroupResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_CreateGroupResp.Merge(dst, src) +} +func (m *CreateGroupResp) XXX_Size() int { + return xxx_messageInfo_CreateGroupResp.Size(m) +} +func (m *CreateGroupResp) XXX_DiscardUnknown() { + xxx_messageInfo_CreateGroupResp.DiscardUnknown(m) } -func (x *CreateGroupResp) GetErrCode() int32 { - if x != nil { - return x.ErrCode +var xxx_messageInfo_CreateGroupResp proto.InternalMessageInfo + +func (m *CreateGroupResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode } return 0 } -func (x *CreateGroupResp) GetErrMsg() string { - if x != nil { - return x.ErrMsg +func (m *CreateGroupResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg } return "" } -func (x *CreateGroupResp) GetGroupInfo() *sdk_ws.GroupInfo { - if x != nil { - return x.GroupInfo +func (m *CreateGroupResp) GetGroupInfo() *sdk_ws.GroupInfo { + if m != nil { + return m.GroupInfo } return nil } type GetGroupsInfoReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GroupIDList []string `protobuf:"bytes,1,rep,name=GroupIDList,proto3" json:"GroupIDList,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"` //No verification permission + GroupIDList []string `protobuf:"bytes,1,rep,name=GroupIDList" json:"GroupIDList,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 *GetGroupsInfoReq) Reset() { - *x = GetGroupsInfoReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *GetGroupsInfoReq) Reset() { *m = GetGroupsInfoReq{} } +func (m *GetGroupsInfoReq) String() string { return proto.CompactTextString(m) } +func (*GetGroupsInfoReq) ProtoMessage() {} +func (*GetGroupsInfoReq) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{4} } - -func (x *GetGroupsInfoReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetGroupsInfoReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetGroupsInfoReq.Unmarshal(m, b) } - -func (*GetGroupsInfoReq) ProtoMessage() {} - -func (x *GetGroupsInfoReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (m *GetGroupsInfoReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetGroupsInfoReq.Marshal(b, m, deterministic) } - -// Deprecated: Use GetGroupsInfoReq.ProtoReflect.Descriptor instead. -func (*GetGroupsInfoReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{4} +func (dst *GetGroupsInfoReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetGroupsInfoReq.Merge(dst, src) +} +func (m *GetGroupsInfoReq) XXX_Size() int { + return xxx_messageInfo_GetGroupsInfoReq.Size(m) +} +func (m *GetGroupsInfoReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetGroupsInfoReq.DiscardUnknown(m) } -func (x *GetGroupsInfoReq) GetGroupIDList() []string { - if x != nil { - return x.GroupIDList +var xxx_messageInfo_GetGroupsInfoReq proto.InternalMessageInfo + +func (m *GetGroupsInfoReq) GetGroupIDList() []string { + if m != nil { + return m.GroupIDList } return nil } -func (x *GetGroupsInfoReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *GetGroupsInfoReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -func (x *GetGroupsInfoReq) GetOpUserID() string { - if x != nil { - return x.OpUserID +func (m *GetGroupsInfoReq) GetOpUserID() string { + if m != nil { + return m.OpUserID } return "" } type GetGroupsInfoResp 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"` - GroupInfoList []*sdk_ws.GroupInfo `protobuf:"bytes,3,rep,name=GroupInfoList,proto3" json:"GroupInfoList,omitempty"` + ErrCode int32 `protobuf:"varint,1,opt,name=ErrCode" json:"ErrCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=ErrMsg" json:"ErrMsg,omitempty"` + GroupInfoList []*sdk_ws.GroupInfo `protobuf:"bytes,3,rep,name=GroupInfoList" json:"GroupInfoList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetGroupsInfoResp) Reset() { - *x = GetGroupsInfoResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *GetGroupsInfoResp) Reset() { *m = GetGroupsInfoResp{} } +func (m *GetGroupsInfoResp) String() string { return proto.CompactTextString(m) } +func (*GetGroupsInfoResp) ProtoMessage() {} +func (*GetGroupsInfoResp) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{5} } - -func (x *GetGroupsInfoResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetGroupsInfoResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetGroupsInfoResp.Unmarshal(m, b) } - -func (*GetGroupsInfoResp) ProtoMessage() {} - -func (x *GetGroupsInfoResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (m *GetGroupsInfoResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetGroupsInfoResp.Marshal(b, m, deterministic) } - -// Deprecated: Use GetGroupsInfoResp.ProtoReflect.Descriptor instead. -func (*GetGroupsInfoResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{5} +func (dst *GetGroupsInfoResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetGroupsInfoResp.Merge(dst, src) +} +func (m *GetGroupsInfoResp) XXX_Size() int { + return xxx_messageInfo_GetGroupsInfoResp.Size(m) } +func (m *GetGroupsInfoResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetGroupsInfoResp.DiscardUnknown(m) +} + +var xxx_messageInfo_GetGroupsInfoResp proto.InternalMessageInfo -func (x *GetGroupsInfoResp) GetErrCode() int32 { - if x != nil { - return x.ErrCode +func (m *GetGroupsInfoResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode } return 0 } -func (x *GetGroupsInfoResp) GetErrMsg() string { - if x != nil { - return x.ErrMsg +func (m *GetGroupsInfoResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg } return "" } -func (x *GetGroupsInfoResp) GetGroupInfoList() []*sdk_ws.GroupInfo { - if x != nil { - return x.GroupInfoList +func (m *GetGroupsInfoResp) GetGroupInfoList() []*sdk_ws.GroupInfo { + if m != nil { + return m.GroupInfoList } return nil } type SetGroupInfoReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GroupInfoForSet *sdk_ws.GroupInfoForSet `protobuf:"bytes,1,opt,name=groupInfoForSet,proto3" json:"groupInfoForSet,omitempty"` - OpUserID string `protobuf:"bytes,2,opt,name=OpUserID,proto3" json:"OpUserID,omitempty"` //app manager or group owner - OperationID string `protobuf:"bytes,3,opt,name=OperationID,proto3" json:"OperationID,omitempty"` + GroupInfoForSet *sdk_ws.GroupInfoForSet `protobuf:"bytes,1,opt,name=groupInfoForSet" json:"groupInfoForSet,omitempty"` + OpUserID string `protobuf:"bytes,2,opt,name=OpUserID" json:"OpUserID,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 (x *SetGroupInfoReq) Reset() { - *x = SetGroupInfoReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *SetGroupInfoReq) Reset() { *m = SetGroupInfoReq{} } +func (m *SetGroupInfoReq) String() string { return proto.CompactTextString(m) } +func (*SetGroupInfoReq) ProtoMessage() {} +func (*SetGroupInfoReq) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{6} } - -func (x *SetGroupInfoReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *SetGroupInfoReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SetGroupInfoReq.Unmarshal(m, b) } - -func (*SetGroupInfoReq) ProtoMessage() {} - -func (x *SetGroupInfoReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (m *SetGroupInfoReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SetGroupInfoReq.Marshal(b, m, deterministic) } - -// Deprecated: Use SetGroupInfoReq.ProtoReflect.Descriptor instead. -func (*SetGroupInfoReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{6} +func (dst *SetGroupInfoReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_SetGroupInfoReq.Merge(dst, src) +} +func (m *SetGroupInfoReq) XXX_Size() int { + return xxx_messageInfo_SetGroupInfoReq.Size(m) +} +func (m *SetGroupInfoReq) XXX_DiscardUnknown() { + xxx_messageInfo_SetGroupInfoReq.DiscardUnknown(m) } -func (x *SetGroupInfoReq) GetGroupInfoForSet() *sdk_ws.GroupInfoForSet { - if x != nil { - return x.GroupInfoForSet +var xxx_messageInfo_SetGroupInfoReq proto.InternalMessageInfo + +func (m *SetGroupInfoReq) GetGroupInfoForSet() *sdk_ws.GroupInfoForSet { + if m != nil { + return m.GroupInfoForSet } return nil } -func (x *SetGroupInfoReq) GetOpUserID() string { - if x != nil { - return x.OpUserID +func (m *SetGroupInfoReq) GetOpUserID() string { + if m != nil { + return m.OpUserID } return "" } -func (x *SetGroupInfoReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *SetGroupInfoReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } type SetGroupInfoResp 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 *SetGroupInfoResp) Reset() { - *x = SetGroupInfoResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *SetGroupInfoResp) Reset() { *m = SetGroupInfoResp{} } +func (m *SetGroupInfoResp) String() string { return proto.CompactTextString(m) } +func (*SetGroupInfoResp) ProtoMessage() {} +func (*SetGroupInfoResp) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{7} } - -func (x *SetGroupInfoResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *SetGroupInfoResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SetGroupInfoResp.Unmarshal(m, b) } - -func (*SetGroupInfoResp) ProtoMessage() {} - -func (x *SetGroupInfoResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (m *SetGroupInfoResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SetGroupInfoResp.Marshal(b, m, deterministic) } - -// Deprecated: Use SetGroupInfoResp.ProtoReflect.Descriptor instead. -func (*SetGroupInfoResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{7} +func (dst *SetGroupInfoResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_SetGroupInfoResp.Merge(dst, src) +} +func (m *SetGroupInfoResp) XXX_Size() int { + return xxx_messageInfo_SetGroupInfoResp.Size(m) } +func (m *SetGroupInfoResp) XXX_DiscardUnknown() { + xxx_messageInfo_SetGroupInfoResp.DiscardUnknown(m) +} + +var xxx_messageInfo_SetGroupInfoResp proto.InternalMessageInfo -func (x *SetGroupInfoResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +func (m *SetGroupInfoResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } return nil } type GetGroupApplicationListReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OpUserID string `protobuf:"bytes,1,opt,name=OpUserID,proto3" json:"OpUserID,omitempty"` //app manager or group owner(manager) - OperationID string `protobuf:"bytes,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"` - FromUserID string `protobuf:"bytes,3,opt,name=FromUserID,proto3" json:"FromUserID,omitempty"` //owner or manager + OpUserID string `protobuf:"bytes,1,opt,name=OpUserID" json:"OpUserID,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` + FromUserID string `protobuf:"bytes,3,opt,name=FromUserID" json:"FromUserID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetGroupApplicationListReq) Reset() { - *x = GetGroupApplicationListReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *GetGroupApplicationListReq) Reset() { *m = GetGroupApplicationListReq{} } +func (m *GetGroupApplicationListReq) String() string { return proto.CompactTextString(m) } +func (*GetGroupApplicationListReq) ProtoMessage() {} +func (*GetGroupApplicationListReq) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{8} } - -func (x *GetGroupApplicationListReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetGroupApplicationListReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetGroupApplicationListReq.Unmarshal(m, b) } - -func (*GetGroupApplicationListReq) ProtoMessage() {} - -func (x *GetGroupApplicationListReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (m *GetGroupApplicationListReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetGroupApplicationListReq.Marshal(b, m, deterministic) } - -// Deprecated: Use GetGroupApplicationListReq.ProtoReflect.Descriptor instead. -func (*GetGroupApplicationListReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{8} +func (dst *GetGroupApplicationListReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetGroupApplicationListReq.Merge(dst, src) +} +func (m *GetGroupApplicationListReq) XXX_Size() int { + return xxx_messageInfo_GetGroupApplicationListReq.Size(m) +} +func (m *GetGroupApplicationListReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetGroupApplicationListReq.DiscardUnknown(m) } -func (x *GetGroupApplicationListReq) GetOpUserID() string { - if x != nil { - return x.OpUserID +var xxx_messageInfo_GetGroupApplicationListReq proto.InternalMessageInfo + +func (m *GetGroupApplicationListReq) GetOpUserID() string { + if m != nil { + return m.OpUserID } return "" } -func (x *GetGroupApplicationListReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *GetGroupApplicationListReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -func (x *GetGroupApplicationListReq) GetFromUserID() string { - if x != nil { - return x.FromUserID +func (m *GetGroupApplicationListReq) GetFromUserID() string { + if m != nil { + return m.FromUserID } return "" } type GetGroupApplicationListResp 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"` - GroupRequestList []*sdk_ws.GroupRequest `protobuf:"bytes,3,rep,name=GroupRequestList,proto3" json:"GroupRequestList,omitempty"` + ErrCode int32 `protobuf:"varint,1,opt,name=ErrCode" json:"ErrCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=ErrMsg" json:"ErrMsg,omitempty"` + GroupRequestList []*sdk_ws.GroupRequest `protobuf:"bytes,3,rep,name=GroupRequestList" json:"GroupRequestList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetGroupApplicationListResp) Reset() { - *x = GetGroupApplicationListResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *GetGroupApplicationListResp) Reset() { *m = GetGroupApplicationListResp{} } +func (m *GetGroupApplicationListResp) String() string { return proto.CompactTextString(m) } +func (*GetGroupApplicationListResp) ProtoMessage() {} +func (*GetGroupApplicationListResp) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{9} } - -func (x *GetGroupApplicationListResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetGroupApplicationListResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetGroupApplicationListResp.Unmarshal(m, b) } - -func (*GetGroupApplicationListResp) ProtoMessage() {} - -func (x *GetGroupApplicationListResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (m *GetGroupApplicationListResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetGroupApplicationListResp.Marshal(b, m, deterministic) } - -// Deprecated: Use GetGroupApplicationListResp.ProtoReflect.Descriptor instead. -func (*GetGroupApplicationListResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{9} +func (dst *GetGroupApplicationListResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetGroupApplicationListResp.Merge(dst, src) } +func (m *GetGroupApplicationListResp) XXX_Size() int { + return xxx_messageInfo_GetGroupApplicationListResp.Size(m) +} +func (m *GetGroupApplicationListResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetGroupApplicationListResp.DiscardUnknown(m) +} + +var xxx_messageInfo_GetGroupApplicationListResp proto.InternalMessageInfo -func (x *GetGroupApplicationListResp) GetErrCode() int32 { - if x != nil { - return x.ErrCode +func (m *GetGroupApplicationListResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode } return 0 } -func (x *GetGroupApplicationListResp) GetErrMsg() string { - if x != nil { - return x.ErrMsg +func (m *GetGroupApplicationListResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg } return "" } -func (x *GetGroupApplicationListResp) GetGroupRequestList() []*sdk_ws.GroupRequest { - if x != nil { - return x.GroupRequestList +func (m *GetGroupApplicationListResp) GetGroupRequestList() []*sdk_ws.GroupRequest { + if m != nil { + return m.GroupRequestList } return nil } type GetUserReqApplicationListReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserID string `protobuf:"bytes,1,opt,name=UserID,proto3" json:"UserID,omitempty"` - OpUserID string `protobuf:"bytes,2,opt,name=OpUserID,proto3" json:"OpUserID,omitempty"` - OperationID string `protobuf:"bytes,3,opt,name=OperationID,proto3" json:"OperationID,omitempty"` + UserID string `protobuf:"bytes,1,opt,name=UserID" json:"UserID,omitempty"` + OpUserID string `protobuf:"bytes,2,opt,name=OpUserID" json:"OpUserID,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 (x *GetUserReqApplicationListReq) Reset() { - *x = GetUserReqApplicationListReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *GetUserReqApplicationListReq) Reset() { *m = GetUserReqApplicationListReq{} } +func (m *GetUserReqApplicationListReq) String() string { return proto.CompactTextString(m) } +func (*GetUserReqApplicationListReq) ProtoMessage() {} +func (*GetUserReqApplicationListReq) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{10} } - -func (x *GetUserReqApplicationListReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetUserReqApplicationListReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUserReqApplicationListReq.Unmarshal(m, b) } - -func (*GetUserReqApplicationListReq) ProtoMessage() {} - -func (x *GetUserReqApplicationListReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (m *GetUserReqApplicationListReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUserReqApplicationListReq.Marshal(b, m, deterministic) } - -// Deprecated: Use GetUserReqApplicationListReq.ProtoReflect.Descriptor instead. -func (*GetUserReqApplicationListReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{10} +func (dst *GetUserReqApplicationListReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUserReqApplicationListReq.Merge(dst, src) +} +func (m *GetUserReqApplicationListReq) XXX_Size() int { + return xxx_messageInfo_GetUserReqApplicationListReq.Size(m) +} +func (m *GetUserReqApplicationListReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetUserReqApplicationListReq.DiscardUnknown(m) } -func (x *GetUserReqApplicationListReq) GetUserID() string { - if x != nil { - return x.UserID +var xxx_messageInfo_GetUserReqApplicationListReq proto.InternalMessageInfo + +func (m *GetUserReqApplicationListReq) GetUserID() string { + if m != nil { + return m.UserID } return "" } -func (x *GetUserReqApplicationListReq) GetOpUserID() string { - if x != nil { - return x.OpUserID +func (m *GetUserReqApplicationListReq) GetOpUserID() string { + if m != nil { + return m.OpUserID } return "" } -func (x *GetUserReqApplicationListReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *GetUserReqApplicationListReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } type GetUserReqApplicationListResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp,proto3" json:"CommonResp,omitempty"` - GroupRequestList []*sdk_ws.GroupRequest `protobuf:"bytes,2,rep,name=GroupRequestList,proto3" json:"GroupRequestList,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp" json:"CommonResp,omitempty"` + GroupRequestList []*sdk_ws.GroupRequest `protobuf:"bytes,2,rep,name=GroupRequestList" json:"GroupRequestList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetUserReqApplicationListResp) Reset() { - *x = GetUserReqApplicationListResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *GetUserReqApplicationListResp) Reset() { *m = GetUserReqApplicationListResp{} } +func (m *GetUserReqApplicationListResp) String() string { return proto.CompactTextString(m) } +func (*GetUserReqApplicationListResp) ProtoMessage() {} +func (*GetUserReqApplicationListResp) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{11} } - -func (x *GetUserReqApplicationListResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetUserReqApplicationListResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUserReqApplicationListResp.Unmarshal(m, b) } - -func (*GetUserReqApplicationListResp) ProtoMessage() {} - -func (x *GetUserReqApplicationListResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (m *GetUserReqApplicationListResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUserReqApplicationListResp.Marshal(b, m, deterministic) } - -// Deprecated: Use GetUserReqApplicationListResp.ProtoReflect.Descriptor instead. -func (*GetUserReqApplicationListResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{11} +func (dst *GetUserReqApplicationListResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUserReqApplicationListResp.Merge(dst, src) +} +func (m *GetUserReqApplicationListResp) XXX_Size() int { + return xxx_messageInfo_GetUserReqApplicationListResp.Size(m) +} +func (m *GetUserReqApplicationListResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetUserReqApplicationListResp.DiscardUnknown(m) } -func (x *GetUserReqApplicationListResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +var xxx_messageInfo_GetUserReqApplicationListResp proto.InternalMessageInfo + +func (m *GetUserReqApplicationListResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } return nil } -func (x *GetUserReqApplicationListResp) GetGroupRequestList() []*sdk_ws.GroupRequest { - if x != nil { - return x.GroupRequestList +func (m *GetUserReqApplicationListResp) GetGroupRequestList() []*sdk_ws.GroupRequest { + if m != nil { + return m.GroupRequestList } return nil } type TransferGroupOwnerReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GroupID string `protobuf:"bytes,1,opt,name=GroupID,proto3" json:"GroupID,omitempty"` - OldOwnerUserID string `protobuf:"bytes,2,opt,name=OldOwnerUserID,proto3" json:"OldOwnerUserID,omitempty"` - NewOwnerUserID string `protobuf:"bytes,3,opt,name=NewOwnerUserID,proto3" json:"NewOwnerUserID,omitempty"` - OperationID string `protobuf:"bytes,4,opt,name=OperationID,proto3" json:"OperationID,omitempty"` - OpUserID string `protobuf:"bytes,5,opt,name=OpUserID,proto3" json:"OpUserID,omitempty"` //app manager or group owner + GroupID string `protobuf:"bytes,1,opt,name=GroupID" json:"GroupID,omitempty"` + OldOwnerUserID string `protobuf:"bytes,2,opt,name=OldOwnerUserID" json:"OldOwnerUserID,omitempty"` + NewOwnerUserID string `protobuf:"bytes,3,opt,name=NewOwnerUserID" json:"NewOwnerUserID,omitempty"` + OperationID string `protobuf:"bytes,4,opt,name=OperationID" json:"OperationID,omitempty"` + OpUserID string `protobuf:"bytes,5,opt,name=OpUserID" json:"OpUserID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *TransferGroupOwnerReq) Reset() { *m = TransferGroupOwnerReq{} } +func (m *TransferGroupOwnerReq) String() string { return proto.CompactTextString(m) } +func (*TransferGroupOwnerReq) ProtoMessage() {} +func (*TransferGroupOwnerReq) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{12} } - -func (x *TransferGroupOwnerReq) Reset() { - *x = TransferGroupOwnerReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *TransferGroupOwnerReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_TransferGroupOwnerReq.Unmarshal(m, b) } - -func (x *TransferGroupOwnerReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *TransferGroupOwnerReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_TransferGroupOwnerReq.Marshal(b, m, deterministic) } - -func (*TransferGroupOwnerReq) ProtoMessage() {} - -func (x *TransferGroupOwnerReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (dst *TransferGroupOwnerReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_TransferGroupOwnerReq.Merge(dst, src) } - -// Deprecated: Use TransferGroupOwnerReq.ProtoReflect.Descriptor instead. -func (*TransferGroupOwnerReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{12} +func (m *TransferGroupOwnerReq) XXX_Size() int { + return xxx_messageInfo_TransferGroupOwnerReq.Size(m) } +func (m *TransferGroupOwnerReq) XXX_DiscardUnknown() { + xxx_messageInfo_TransferGroupOwnerReq.DiscardUnknown(m) +} + +var xxx_messageInfo_TransferGroupOwnerReq proto.InternalMessageInfo -func (x *TransferGroupOwnerReq) GetGroupID() string { - if x != nil { - return x.GroupID +func (m *TransferGroupOwnerReq) GetGroupID() string { + if m != nil { + return m.GroupID } return "" } -func (x *TransferGroupOwnerReq) GetOldOwnerUserID() string { - if x != nil { - return x.OldOwnerUserID +func (m *TransferGroupOwnerReq) GetOldOwnerUserID() string { + if m != nil { + return m.OldOwnerUserID } return "" } -func (x *TransferGroupOwnerReq) GetNewOwnerUserID() string { - if x != nil { - return x.NewOwnerUserID +func (m *TransferGroupOwnerReq) GetNewOwnerUserID() string { + if m != nil { + return m.NewOwnerUserID } return "" } -func (x *TransferGroupOwnerReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *TransferGroupOwnerReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -func (x *TransferGroupOwnerReq) GetOpUserID() string { - if x != nil { - return x.OpUserID +func (m *TransferGroupOwnerReq) GetOpUserID() string { + if m != nil { + return m.OpUserID } return "" } type TransferGroupOwnerResp 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 *TransferGroupOwnerResp) Reset() { - *x = TransferGroupOwnerResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *TransferGroupOwnerResp) Reset() { *m = TransferGroupOwnerResp{} } +func (m *TransferGroupOwnerResp) String() string { return proto.CompactTextString(m) } +func (*TransferGroupOwnerResp) ProtoMessage() {} +func (*TransferGroupOwnerResp) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{13} } - -func (x *TransferGroupOwnerResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *TransferGroupOwnerResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_TransferGroupOwnerResp.Unmarshal(m, b) } - -func (*TransferGroupOwnerResp) ProtoMessage() {} - -func (x *TransferGroupOwnerResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (m *TransferGroupOwnerResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_TransferGroupOwnerResp.Marshal(b, m, deterministic) } - -// Deprecated: Use TransferGroupOwnerResp.ProtoReflect.Descriptor instead. -func (*TransferGroupOwnerResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{13} +func (dst *TransferGroupOwnerResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_TransferGroupOwnerResp.Merge(dst, src) +} +func (m *TransferGroupOwnerResp) XXX_Size() int { + return xxx_messageInfo_TransferGroupOwnerResp.Size(m) +} +func (m *TransferGroupOwnerResp) XXX_DiscardUnknown() { + xxx_messageInfo_TransferGroupOwnerResp.DiscardUnknown(m) } -func (x *TransferGroupOwnerResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +var xxx_messageInfo_TransferGroupOwnerResp proto.InternalMessageInfo + +func (m *TransferGroupOwnerResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } return nil } type JoinGroupReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GroupID string `protobuf:"bytes,1,opt,name=GroupID,proto3" json:"GroupID,omitempty"` - ReqMessage string `protobuf:"bytes,2,opt,name=ReqMessage,proto3" json:"ReqMessage,omitempty"` - OpUserID string `protobuf:"bytes,3,opt,name=OpUserID,proto3" json:"OpUserID,omitempty"` - OperationID string `protobuf:"bytes,4,opt,name=OperationID,proto3" json:"OperationID,omitempty"` - JoinSource int32 `protobuf:"varint,5,opt,name=JoinSource,proto3" json:"JoinSource,omitempty"` - InviterUserID string `protobuf:"bytes,6,opt,name=InviterUserID,proto3" json:"InviterUserID,omitempty"` + GroupID string `protobuf:"bytes,1,opt,name=GroupID" json:"GroupID,omitempty"` + ReqMessage string `protobuf:"bytes,2,opt,name=ReqMessage" json:"ReqMessage,omitempty"` + OpUserID string `protobuf:"bytes,3,opt,name=OpUserID" json:"OpUserID,omitempty"` + OperationID string `protobuf:"bytes,4,opt,name=OperationID" json:"OperationID,omitempty"` + JoinSource int32 `protobuf:"varint,5,opt,name=JoinSource" json:"JoinSource,omitempty"` + InviterUserID string `protobuf:"bytes,6,opt,name=InviterUserID" json:"InviterUserID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *JoinGroupReq) Reset() { *m = JoinGroupReq{} } +func (m *JoinGroupReq) String() string { return proto.CompactTextString(m) } +func (*JoinGroupReq) ProtoMessage() {} +func (*JoinGroupReq) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{14} } - -func (x *JoinGroupReq) Reset() { - *x = JoinGroupReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *JoinGroupReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_JoinGroupReq.Unmarshal(m, b) } - -func (x *JoinGroupReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *JoinGroupReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_JoinGroupReq.Marshal(b, m, deterministic) } - -func (*JoinGroupReq) ProtoMessage() {} - -func (x *JoinGroupReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (dst *JoinGroupReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_JoinGroupReq.Merge(dst, src) } - -// Deprecated: Use JoinGroupReq.ProtoReflect.Descriptor instead. -func (*JoinGroupReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{14} +func (m *JoinGroupReq) XXX_Size() int { + return xxx_messageInfo_JoinGroupReq.Size(m) } +func (m *JoinGroupReq) XXX_DiscardUnknown() { + xxx_messageInfo_JoinGroupReq.DiscardUnknown(m) +} + +var xxx_messageInfo_JoinGroupReq proto.InternalMessageInfo -func (x *JoinGroupReq) GetGroupID() string { - if x != nil { - return x.GroupID +func (m *JoinGroupReq) GetGroupID() string { + if m != nil { + return m.GroupID } return "" } -func (x *JoinGroupReq) GetReqMessage() string { - if x != nil { - return x.ReqMessage +func (m *JoinGroupReq) GetReqMessage() string { + if m != nil { + return m.ReqMessage } return "" } -func (x *JoinGroupReq) GetOpUserID() string { - if x != nil { - return x.OpUserID +func (m *JoinGroupReq) GetOpUserID() string { + if m != nil { + return m.OpUserID } return "" } -func (x *JoinGroupReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *JoinGroupReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -func (x *JoinGroupReq) GetJoinSource() int32 { - if x != nil { - return x.JoinSource +func (m *JoinGroupReq) GetJoinSource() int32 { + if m != nil { + return m.JoinSource } return 0 } -func (x *JoinGroupReq) GetInviterUserID() string { - if x != nil { - return x.InviterUserID +func (m *JoinGroupReq) GetInviterUserID() string { + if m != nil { + return m.InviterUserID } return "" } type JoinGroupResp 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 *JoinGroupResp) Reset() { - *x = JoinGroupResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *JoinGroupResp) Reset() { *m = JoinGroupResp{} } +func (m *JoinGroupResp) String() string { return proto.CompactTextString(m) } +func (*JoinGroupResp) ProtoMessage() {} +func (*JoinGroupResp) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{15} } - -func (x *JoinGroupResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *JoinGroupResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_JoinGroupResp.Unmarshal(m, b) } - -func (*JoinGroupResp) ProtoMessage() {} - -func (x *JoinGroupResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (m *JoinGroupResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_JoinGroupResp.Marshal(b, m, deterministic) } - -// Deprecated: Use JoinGroupResp.ProtoReflect.Descriptor instead. -func (*JoinGroupResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{15} +func (dst *JoinGroupResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_JoinGroupResp.Merge(dst, src) } +func (m *JoinGroupResp) XXX_Size() int { + return xxx_messageInfo_JoinGroupResp.Size(m) +} +func (m *JoinGroupResp) XXX_DiscardUnknown() { + xxx_messageInfo_JoinGroupResp.DiscardUnknown(m) +} + +var xxx_messageInfo_JoinGroupResp proto.InternalMessageInfo -func (x *JoinGroupResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +func (m *JoinGroupResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } return nil } type GroupApplicationResponseReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OperationID string `protobuf:"bytes,1,opt,name=OperationID,proto3" json:"OperationID,omitempty"` - OpUserID string `protobuf:"bytes,2,opt,name=OpUserID,proto3" json:"OpUserID,omitempty"` - GroupID string `protobuf:"bytes,3,opt,name=GroupID,proto3" json:"GroupID,omitempty"` - FromUserID string `protobuf:"bytes,4,opt,name=FromUserID,proto3" json:"FromUserID,omitempty"` // - HandledMsg string `protobuf:"bytes,5,opt,name=HandledMsg,proto3" json:"HandledMsg,omitempty"` - HandleResult int32 `protobuf:"varint,6,opt,name=HandleResult,proto3" json:"HandleResult,omitempty"` + OperationID string `protobuf:"bytes,1,opt,name=OperationID" json:"OperationID,omitempty"` + OpUserID string `protobuf:"bytes,2,opt,name=OpUserID" json:"OpUserID,omitempty"` + GroupID string `protobuf:"bytes,3,opt,name=GroupID" json:"GroupID,omitempty"` + FromUserID string `protobuf:"bytes,4,opt,name=FromUserID" json:"FromUserID,omitempty"` + HandledMsg string `protobuf:"bytes,5,opt,name=HandledMsg" json:"HandledMsg,omitempty"` + HandleResult int32 `protobuf:"varint,6,opt,name=HandleResult" json:"HandleResult,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GroupApplicationResponseReq) Reset() { *m = GroupApplicationResponseReq{} } +func (m *GroupApplicationResponseReq) String() string { return proto.CompactTextString(m) } +func (*GroupApplicationResponseReq) ProtoMessage() {} +func (*GroupApplicationResponseReq) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{16} } - -func (x *GroupApplicationResponseReq) Reset() { - *x = GroupApplicationResponseReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *GroupApplicationResponseReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GroupApplicationResponseReq.Unmarshal(m, b) } - -func (x *GroupApplicationResponseReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GroupApplicationResponseReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GroupApplicationResponseReq.Marshal(b, m, deterministic) } - -func (*GroupApplicationResponseReq) ProtoMessage() {} - -func (x *GroupApplicationResponseReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (dst *GroupApplicationResponseReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GroupApplicationResponseReq.Merge(dst, src) } - -// Deprecated: Use GroupApplicationResponseReq.ProtoReflect.Descriptor instead. -func (*GroupApplicationResponseReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{16} +func (m *GroupApplicationResponseReq) XXX_Size() int { + return xxx_messageInfo_GroupApplicationResponseReq.Size(m) } +func (m *GroupApplicationResponseReq) XXX_DiscardUnknown() { + xxx_messageInfo_GroupApplicationResponseReq.DiscardUnknown(m) +} + +var xxx_messageInfo_GroupApplicationResponseReq proto.InternalMessageInfo -func (x *GroupApplicationResponseReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *GroupApplicationResponseReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -func (x *GroupApplicationResponseReq) GetOpUserID() string { - if x != nil { - return x.OpUserID +func (m *GroupApplicationResponseReq) GetOpUserID() string { + if m != nil { + return m.OpUserID } return "" } -func (x *GroupApplicationResponseReq) GetGroupID() string { - if x != nil { - return x.GroupID +func (m *GroupApplicationResponseReq) GetGroupID() string { + if m != nil { + return m.GroupID } return "" } -func (x *GroupApplicationResponseReq) GetFromUserID() string { - if x != nil { - return x.FromUserID +func (m *GroupApplicationResponseReq) GetFromUserID() string { + if m != nil { + return m.FromUserID } return "" } -func (x *GroupApplicationResponseReq) GetHandledMsg() string { - if x != nil { - return x.HandledMsg +func (m *GroupApplicationResponseReq) GetHandledMsg() string { + if m != nil { + return m.HandledMsg } return "" } -func (x *GroupApplicationResponseReq) GetHandleResult() int32 { - if x != nil { - return x.HandleResult +func (m *GroupApplicationResponseReq) GetHandleResult() int32 { + if m != nil { + return m.HandleResult } return 0 } type GroupApplicationResponseResp 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 *GroupApplicationResponseResp) Reset() { - *x = GroupApplicationResponseResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *GroupApplicationResponseResp) Reset() { *m = GroupApplicationResponseResp{} } +func (m *GroupApplicationResponseResp) String() string { return proto.CompactTextString(m) } +func (*GroupApplicationResponseResp) ProtoMessage() {} +func (*GroupApplicationResponseResp) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{17} } - -func (x *GroupApplicationResponseResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GroupApplicationResponseResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GroupApplicationResponseResp.Unmarshal(m, b) } - -func (*GroupApplicationResponseResp) ProtoMessage() {} - -func (x *GroupApplicationResponseResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (m *GroupApplicationResponseResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GroupApplicationResponseResp.Marshal(b, m, deterministic) } - -// Deprecated: Use GroupApplicationResponseResp.ProtoReflect.Descriptor instead. -func (*GroupApplicationResponseResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{17} +func (dst *GroupApplicationResponseResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GroupApplicationResponseResp.Merge(dst, src) } +func (m *GroupApplicationResponseResp) XXX_Size() int { + return xxx_messageInfo_GroupApplicationResponseResp.Size(m) +} +func (m *GroupApplicationResponseResp) XXX_DiscardUnknown() { + xxx_messageInfo_GroupApplicationResponseResp.DiscardUnknown(m) +} + +var xxx_messageInfo_GroupApplicationResponseResp proto.InternalMessageInfo -func (x *GroupApplicationResponseResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +func (m *GroupApplicationResponseResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } return nil } type QuitGroupReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GroupID string `protobuf:"bytes,1,opt,name=GroupID,proto3" json:"GroupID,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"` + GroupID string `protobuf:"bytes,1,opt,name=GroupID" json:"GroupID,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 *QuitGroupReq) Reset() { - *x = QuitGroupReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *QuitGroupReq) Reset() { *m = QuitGroupReq{} } +func (m *QuitGroupReq) String() string { return proto.CompactTextString(m) } +func (*QuitGroupReq) ProtoMessage() {} +func (*QuitGroupReq) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{18} } - -func (x *QuitGroupReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *QuitGroupReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QuitGroupReq.Unmarshal(m, b) } - -func (*QuitGroupReq) ProtoMessage() {} - -func (x *QuitGroupReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (m *QuitGroupReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QuitGroupReq.Marshal(b, m, deterministic) } - -// Deprecated: Use QuitGroupReq.ProtoReflect.Descriptor instead. -func (*QuitGroupReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{18} +func (dst *QuitGroupReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_QuitGroupReq.Merge(dst, src) +} +func (m *QuitGroupReq) XXX_Size() int { + return xxx_messageInfo_QuitGroupReq.Size(m) } +func (m *QuitGroupReq) XXX_DiscardUnknown() { + xxx_messageInfo_QuitGroupReq.DiscardUnknown(m) +} + +var xxx_messageInfo_QuitGroupReq proto.InternalMessageInfo -func (x *QuitGroupReq) GetGroupID() string { - if x != nil { - return x.GroupID +func (m *QuitGroupReq) GetGroupID() string { + if m != nil { + return m.GroupID } return "" } -func (x *QuitGroupReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *QuitGroupReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -func (x *QuitGroupReq) GetOpUserID() string { - if x != nil { - return x.OpUserID +func (m *QuitGroupReq) GetOpUserID() string { + if m != nil { + return m.OpUserID } return "" } type QuitGroupResp 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 *QuitGroupResp) Reset() { - *x = QuitGroupResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *QuitGroupResp) Reset() { *m = QuitGroupResp{} } +func (m *QuitGroupResp) String() string { return proto.CompactTextString(m) } +func (*QuitGroupResp) ProtoMessage() {} +func (*QuitGroupResp) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{19} } - -func (x *QuitGroupResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *QuitGroupResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QuitGroupResp.Unmarshal(m, b) } - -func (*QuitGroupResp) ProtoMessage() {} - -func (x *QuitGroupResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (m *QuitGroupResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QuitGroupResp.Marshal(b, m, deterministic) } - -// Deprecated: Use QuitGroupResp.ProtoReflect.Descriptor instead. -func (*QuitGroupResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{19} +func (dst *QuitGroupResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_QuitGroupResp.Merge(dst, src) +} +func (m *QuitGroupResp) XXX_Size() int { + return xxx_messageInfo_QuitGroupResp.Size(m) +} +func (m *QuitGroupResp) XXX_DiscardUnknown() { + xxx_messageInfo_QuitGroupResp.DiscardUnknown(m) } -func (x *QuitGroupResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +var xxx_messageInfo_QuitGroupResp proto.InternalMessageInfo + +func (m *QuitGroupResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } return nil } type GetGroupMemberListReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GroupID string `protobuf:"bytes,1,opt,name=GroupID,proto3" json:"GroupID,omitempty"` - OpUserID string `protobuf:"bytes,2,opt,name=OpUserID,proto3" json:"OpUserID,omitempty"` //No verification permission - OperationID string `protobuf:"bytes,3,opt,name=OperationID,proto3" json:"OperationID,omitempty"` - Filter int32 `protobuf:"varint,4,opt,name=Filter,proto3" json:"Filter,omitempty"` - NextSeq int32 `protobuf:"varint,5,opt,name=NextSeq,proto3" json:"NextSeq,omitempty"` + GroupID string `protobuf:"bytes,1,opt,name=GroupID" json:"GroupID,omitempty"` + OpUserID string `protobuf:"bytes,2,opt,name=OpUserID" json:"OpUserID,omitempty"` + OperationID string `protobuf:"bytes,3,opt,name=OperationID" json:"OperationID,omitempty"` + Filter int32 `protobuf:"varint,4,opt,name=Filter" json:"Filter,omitempty"` + NextSeq int32 `protobuf:"varint,5,opt,name=NextSeq" json:"NextSeq,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetGroupMemberListReq) Reset() { *m = GetGroupMemberListReq{} } +func (m *GetGroupMemberListReq) String() string { return proto.CompactTextString(m) } +func (*GetGroupMemberListReq) ProtoMessage() {} +func (*GetGroupMemberListReq) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{20} } - -func (x *GetGroupMemberListReq) Reset() { - *x = GetGroupMemberListReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *GetGroupMemberListReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetGroupMemberListReq.Unmarshal(m, b) } - -func (x *GetGroupMemberListReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetGroupMemberListReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetGroupMemberListReq.Marshal(b, m, deterministic) } - -func (*GetGroupMemberListReq) ProtoMessage() {} - -func (x *GetGroupMemberListReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (dst *GetGroupMemberListReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetGroupMemberListReq.Merge(dst, src) } - -// Deprecated: Use GetGroupMemberListReq.ProtoReflect.Descriptor instead. -func (*GetGroupMemberListReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{20} +func (m *GetGroupMemberListReq) XXX_Size() int { + return xxx_messageInfo_GetGroupMemberListReq.Size(m) +} +func (m *GetGroupMemberListReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetGroupMemberListReq.DiscardUnknown(m) } -func (x *GetGroupMemberListReq) GetGroupID() string { - if x != nil { - return x.GroupID +var xxx_messageInfo_GetGroupMemberListReq proto.InternalMessageInfo + +func (m *GetGroupMemberListReq) GetGroupID() string { + if m != nil { + return m.GroupID } return "" } -func (x *GetGroupMemberListReq) GetOpUserID() string { - if x != nil { - return x.OpUserID +func (m *GetGroupMemberListReq) GetOpUserID() string { + if m != nil { + return m.OpUserID } return "" } -func (x *GetGroupMemberListReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *GetGroupMemberListReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -func (x *GetGroupMemberListReq) GetFilter() int32 { - if x != nil { - return x.Filter +func (m *GetGroupMemberListReq) GetFilter() int32 { + if m != nil { + return m.Filter } return 0 } -func (x *GetGroupMemberListReq) GetNextSeq() int32 { - if x != nil { - return x.NextSeq +func (m *GetGroupMemberListReq) GetNextSeq() int32 { + if m != nil { + return m.NextSeq } return 0 } type GetGroupMemberListResp 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"` - MemberList []*sdk_ws.GroupMemberFullInfo `protobuf:"bytes,3,rep,name=memberList,proto3" json:"memberList,omitempty"` - NextSeq int32 `protobuf:"varint,4,opt,name=nextSeq,proto3" json:"nextSeq,omitempty"` + ErrCode int32 `protobuf:"varint,1,opt,name=ErrCode" json:"ErrCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=ErrMsg" json:"ErrMsg,omitempty"` + MemberList []*sdk_ws.GroupMemberFullInfo `protobuf:"bytes,3,rep,name=memberList" json:"memberList,omitempty"` + NextSeq int32 `protobuf:"varint,4,opt,name=nextSeq" json:"nextSeq,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetGroupMemberListResp) Reset() { *m = GetGroupMemberListResp{} } +func (m *GetGroupMemberListResp) String() string { return proto.CompactTextString(m) } +func (*GetGroupMemberListResp) ProtoMessage() {} +func (*GetGroupMemberListResp) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{21} } - -func (x *GetGroupMemberListResp) Reset() { - *x = GetGroupMemberListResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *GetGroupMemberListResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetGroupMemberListResp.Unmarshal(m, b) } - -func (x *GetGroupMemberListResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetGroupMemberListResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetGroupMemberListResp.Marshal(b, m, deterministic) } - -func (*GetGroupMemberListResp) ProtoMessage() {} - -func (x *GetGroupMemberListResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (dst *GetGroupMemberListResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetGroupMemberListResp.Merge(dst, src) } - -// Deprecated: Use GetGroupMemberListResp.ProtoReflect.Descriptor instead. -func (*GetGroupMemberListResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{21} +func (m *GetGroupMemberListResp) XXX_Size() int { + return xxx_messageInfo_GetGroupMemberListResp.Size(m) +} +func (m *GetGroupMemberListResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetGroupMemberListResp.DiscardUnknown(m) } -func (x *GetGroupMemberListResp) GetErrCode() int32 { - if x != nil { - return x.ErrCode +var xxx_messageInfo_GetGroupMemberListResp proto.InternalMessageInfo + +func (m *GetGroupMemberListResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode } return 0 } -func (x *GetGroupMemberListResp) GetErrMsg() string { - if x != nil { - return x.ErrMsg +func (m *GetGroupMemberListResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg } return "" } -func (x *GetGroupMemberListResp) GetMemberList() []*sdk_ws.GroupMemberFullInfo { - if x != nil { - return x.MemberList +func (m *GetGroupMemberListResp) GetMemberList() []*sdk_ws.GroupMemberFullInfo { + if m != nil { + return m.MemberList } return nil } -func (x *GetGroupMemberListResp) GetNextSeq() int32 { - if x != nil { - return x.NextSeq +func (m *GetGroupMemberListResp) GetNextSeq() int32 { + if m != nil { + return m.NextSeq } return 0 } type GetGroupMembersInfoReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GroupID string `protobuf:"bytes,1,opt,name=GroupID,proto3" json:"GroupID,omitempty"` - MemberList []string `protobuf:"bytes,2,rep,name=memberList,proto3" json:"memberList,omitempty"` - OpUserID string `protobuf:"bytes,3,opt,name=OpUserID,proto3" json:"OpUserID,omitempty"` //No verification permission - OperationID string `protobuf:"bytes,4,opt,name=OperationID,proto3" json:"OperationID,omitempty"` + GroupID string `protobuf:"bytes,1,opt,name=GroupID" json:"GroupID,omitempty"` + MemberList []string `protobuf:"bytes,2,rep,name=memberList" json:"memberList,omitempty"` + OpUserID string `protobuf:"bytes,3,opt,name=OpUserID" json:"OpUserID,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 *GetGroupMembersInfoReq) Reset() { *m = GetGroupMembersInfoReq{} } +func (m *GetGroupMembersInfoReq) String() string { return proto.CompactTextString(m) } +func (*GetGroupMembersInfoReq) ProtoMessage() {} +func (*GetGroupMembersInfoReq) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{22} } - -func (x *GetGroupMembersInfoReq) Reset() { - *x = GetGroupMembersInfoReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[22] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *GetGroupMembersInfoReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetGroupMembersInfoReq.Unmarshal(m, b) } - -func (x *GetGroupMembersInfoReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetGroupMembersInfoReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetGroupMembersInfoReq.Marshal(b, m, deterministic) } - -func (*GetGroupMembersInfoReq) ProtoMessage() {} - -func (x *GetGroupMembersInfoReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (dst *GetGroupMembersInfoReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetGroupMembersInfoReq.Merge(dst, src) } - -// Deprecated: Use GetGroupMembersInfoReq.ProtoReflect.Descriptor instead. -func (*GetGroupMembersInfoReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{22} +func (m *GetGroupMembersInfoReq) XXX_Size() int { + return xxx_messageInfo_GetGroupMembersInfoReq.Size(m) +} +func (m *GetGroupMembersInfoReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetGroupMembersInfoReq.DiscardUnknown(m) } -func (x *GetGroupMembersInfoReq) GetGroupID() string { - if x != nil { - return x.GroupID +var xxx_messageInfo_GetGroupMembersInfoReq proto.InternalMessageInfo + +func (m *GetGroupMembersInfoReq) GetGroupID() string { + if m != nil { + return m.GroupID } return "" } -func (x *GetGroupMembersInfoReq) GetMemberList() []string { - if x != nil { - return x.MemberList +func (m *GetGroupMembersInfoReq) GetMemberList() []string { + if m != nil { + return m.MemberList } return nil } -func (x *GetGroupMembersInfoReq) GetOpUserID() string { - if x != nil { - return x.OpUserID +func (m *GetGroupMembersInfoReq) GetOpUserID() string { + if m != nil { + return m.OpUserID } return "" } -func (x *GetGroupMembersInfoReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *GetGroupMembersInfoReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } type GetGroupMembersInfoResp 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"` - MemberList []*sdk_ws.GroupMemberFullInfo `protobuf:"bytes,3,rep,name=memberList,proto3" json:"memberList,omitempty"` + ErrCode int32 `protobuf:"varint,1,opt,name=ErrCode" json:"ErrCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=ErrMsg" json:"ErrMsg,omitempty"` + MemberList []*sdk_ws.GroupMemberFullInfo `protobuf:"bytes,3,rep,name=memberList" json:"memberList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetGroupMembersInfoResp) Reset() { - *x = GetGroupMembersInfoResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[23] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *GetGroupMembersInfoResp) Reset() { *m = GetGroupMembersInfoResp{} } +func (m *GetGroupMembersInfoResp) String() string { return proto.CompactTextString(m) } +func (*GetGroupMembersInfoResp) ProtoMessage() {} +func (*GetGroupMembersInfoResp) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{23} } - -func (x *GetGroupMembersInfoResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetGroupMembersInfoResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetGroupMembersInfoResp.Unmarshal(m, b) } - -func (*GetGroupMembersInfoResp) ProtoMessage() {} - -func (x *GetGroupMembersInfoResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (m *GetGroupMembersInfoResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetGroupMembersInfoResp.Marshal(b, m, deterministic) } - -// Deprecated: Use GetGroupMembersInfoResp.ProtoReflect.Descriptor instead. -func (*GetGroupMembersInfoResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{23} +func (dst *GetGroupMembersInfoResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetGroupMembersInfoResp.Merge(dst, src) +} +func (m *GetGroupMembersInfoResp) XXX_Size() int { + return xxx_messageInfo_GetGroupMembersInfoResp.Size(m) } +func (m *GetGroupMembersInfoResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetGroupMembersInfoResp.DiscardUnknown(m) +} + +var xxx_messageInfo_GetGroupMembersInfoResp proto.InternalMessageInfo -func (x *GetGroupMembersInfoResp) GetErrCode() int32 { - if x != nil { - return x.ErrCode +func (m *GetGroupMembersInfoResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode } return 0 } -func (x *GetGroupMembersInfoResp) GetErrMsg() string { - if x != nil { - return x.ErrMsg +func (m *GetGroupMembersInfoResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg } return "" } -func (x *GetGroupMembersInfoResp) GetMemberList() []*sdk_ws.GroupMemberFullInfo { - if x != nil { - return x.MemberList +func (m *GetGroupMembersInfoResp) GetMemberList() []*sdk_ws.GroupMemberFullInfo { + if m != nil { + return m.MemberList } return nil } type KickGroupMemberReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GroupID string `protobuf:"bytes,1,opt,name=GroupID,proto3" json:"GroupID,omitempty"` - KickedUserIDList []string `protobuf:"bytes,2,rep,name=KickedUserIDList,proto3" json:"KickedUserIDList,omitempty"` - Reason string `protobuf:"bytes,3,opt,name=Reason,proto3" json:"Reason,omitempty"` - OperationID string `protobuf:"bytes,5,opt,name=OperationID,proto3" json:"OperationID,omitempty"` - OpUserID string `protobuf:"bytes,6,opt,name=OpUserID,proto3" json:"OpUserID,omitempty"` //app manger or group manager + GroupID string `protobuf:"bytes,1,opt,name=GroupID" json:"GroupID,omitempty"` + KickedUserIDList []string `protobuf:"bytes,2,rep,name=KickedUserIDList" json:"KickedUserIDList,omitempty"` + Reason string `protobuf:"bytes,3,opt,name=Reason" json:"Reason,omitempty"` + OperationID string `protobuf:"bytes,5,opt,name=OperationID" json:"OperationID,omitempty"` + OpUserID string `protobuf:"bytes,6,opt,name=OpUserID" json:"OpUserID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *KickGroupMemberReq) Reset() { *m = KickGroupMemberReq{} } +func (m *KickGroupMemberReq) String() string { return proto.CompactTextString(m) } +func (*KickGroupMemberReq) ProtoMessage() {} +func (*KickGroupMemberReq) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{24} } - -func (x *KickGroupMemberReq) Reset() { - *x = KickGroupMemberReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[24] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *KickGroupMemberReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_KickGroupMemberReq.Unmarshal(m, b) } - -func (x *KickGroupMemberReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *KickGroupMemberReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_KickGroupMemberReq.Marshal(b, m, deterministic) } - -func (*KickGroupMemberReq) ProtoMessage() {} - -func (x *KickGroupMemberReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (dst *KickGroupMemberReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_KickGroupMemberReq.Merge(dst, src) } - -// Deprecated: Use KickGroupMemberReq.ProtoReflect.Descriptor instead. -func (*KickGroupMemberReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{24} +func (m *KickGroupMemberReq) XXX_Size() int { + return xxx_messageInfo_KickGroupMemberReq.Size(m) +} +func (m *KickGroupMemberReq) XXX_DiscardUnknown() { + xxx_messageInfo_KickGroupMemberReq.DiscardUnknown(m) } -func (x *KickGroupMemberReq) GetGroupID() string { - if x != nil { - return x.GroupID +var xxx_messageInfo_KickGroupMemberReq proto.InternalMessageInfo + +func (m *KickGroupMemberReq) GetGroupID() string { + if m != nil { + return m.GroupID } return "" } -func (x *KickGroupMemberReq) GetKickedUserIDList() []string { - if x != nil { - return x.KickedUserIDList +func (m *KickGroupMemberReq) GetKickedUserIDList() []string { + if m != nil { + return m.KickedUserIDList } return nil } -func (x *KickGroupMemberReq) GetReason() string { - if x != nil { - return x.Reason +func (m *KickGroupMemberReq) GetReason() string { + if m != nil { + return m.Reason } return "" } -func (x *KickGroupMemberReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *KickGroupMemberReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -func (x *KickGroupMemberReq) GetOpUserID() string { - if x != nil { - return x.OpUserID +func (m *KickGroupMemberReq) GetOpUserID() string { + if m != nil { + return m.OpUserID } return "" } type Id2Result struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserID string `protobuf:"bytes,1,opt,name=UserID,proto3" json:"UserID,omitempty"` - Result int32 `protobuf:"varint,2,opt,name=Result,proto3" json:"Result,omitempty"` //0 ok; -1 error + UserID string `protobuf:"bytes,1,opt,name=UserID" json:"UserID,omitempty"` + Result int32 `protobuf:"varint,2,opt,name=Result" json:"Result,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *Id2Result) Reset() { - *x = Id2Result{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[25] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *Id2Result) Reset() { *m = Id2Result{} } +func (m *Id2Result) String() string { return proto.CompactTextString(m) } +func (*Id2Result) ProtoMessage() {} +func (*Id2Result) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{25} } - -func (x *Id2Result) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *Id2Result) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Id2Result.Unmarshal(m, b) } - -func (*Id2Result) ProtoMessage() {} - -func (x *Id2Result) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (m *Id2Result) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Id2Result.Marshal(b, m, deterministic) } - -// Deprecated: Use Id2Result.ProtoReflect.Descriptor instead. -func (*Id2Result) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{25} +func (dst *Id2Result) XXX_Merge(src proto.Message) { + xxx_messageInfo_Id2Result.Merge(dst, src) +} +func (m *Id2Result) XXX_Size() int { + return xxx_messageInfo_Id2Result.Size(m) } +func (m *Id2Result) XXX_DiscardUnknown() { + xxx_messageInfo_Id2Result.DiscardUnknown(m) +} + +var xxx_messageInfo_Id2Result proto.InternalMessageInfo -func (x *Id2Result) GetUserID() string { - if x != nil { - return x.UserID +func (m *Id2Result) GetUserID() string { + if m != nil { + return m.UserID } return "" } -func (x *Id2Result) GetResult() int32 { - if x != nil { - return x.Result +func (m *Id2Result) GetResult() int32 { + if m != nil { + return m.Result } return 0 } type KickGroupMemberResp 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"` - Id2ResultList []*Id2Result `protobuf:"bytes,3,rep,name=Id2ResultList,proto3" json:"Id2ResultList,omitempty"` + ErrCode int32 `protobuf:"varint,1,opt,name=ErrCode" json:"ErrCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=ErrMsg" json:"ErrMsg,omitempty"` + Id2ResultList []*Id2Result `protobuf:"bytes,3,rep,name=Id2ResultList" json:"Id2ResultList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *KickGroupMemberResp) Reset() { - *x = KickGroupMemberResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[26] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *KickGroupMemberResp) Reset() { *m = KickGroupMemberResp{} } +func (m *KickGroupMemberResp) String() string { return proto.CompactTextString(m) } +func (*KickGroupMemberResp) ProtoMessage() {} +func (*KickGroupMemberResp) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{26} } - -func (x *KickGroupMemberResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *KickGroupMemberResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_KickGroupMemberResp.Unmarshal(m, b) } - -func (*KickGroupMemberResp) ProtoMessage() {} - -func (x *KickGroupMemberResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (m *KickGroupMemberResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_KickGroupMemberResp.Marshal(b, m, deterministic) } - -// Deprecated: Use KickGroupMemberResp.ProtoReflect.Descriptor instead. -func (*KickGroupMemberResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{26} +func (dst *KickGroupMemberResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_KickGroupMemberResp.Merge(dst, src) +} +func (m *KickGroupMemberResp) XXX_Size() int { + return xxx_messageInfo_KickGroupMemberResp.Size(m) +} +func (m *KickGroupMemberResp) XXX_DiscardUnknown() { + xxx_messageInfo_KickGroupMemberResp.DiscardUnknown(m) } -func (x *KickGroupMemberResp) GetErrCode() int32 { - if x != nil { - return x.ErrCode +var xxx_messageInfo_KickGroupMemberResp proto.InternalMessageInfo + +func (m *KickGroupMemberResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode } return 0 } -func (x *KickGroupMemberResp) GetErrMsg() string { - if x != nil { - return x.ErrMsg +func (m *KickGroupMemberResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg } return "" } -func (x *KickGroupMemberResp) GetId2ResultList() []*Id2Result { - if x != nil { - return x.Id2ResultList +func (m *KickGroupMemberResp) GetId2ResultList() []*Id2Result { + if m != nil { + return m.Id2ResultList } return nil } -type GetJoinedGroupListReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - FromUserID string `protobuf:"bytes,1,opt,name=FromUserID,proto3" json:"FromUserID,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"` //app manager or FromUserID -} - -func (x *GetJoinedGroupListReq) Reset() { - *x = GetJoinedGroupListReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[27] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetJoinedGroupListReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetJoinedGroupListReq) ProtoMessage() {} - -func (x *GetJoinedGroupListReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +type GetJoinedGroupListReq struct { + FromUserID string `protobuf:"bytes,1,opt,name=FromUserID" json:"FromUserID,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:"-"` } -// Deprecated: Use GetJoinedGroupListReq.ProtoReflect.Descriptor instead. +func (m *GetJoinedGroupListReq) Reset() { *m = GetJoinedGroupListReq{} } +func (m *GetJoinedGroupListReq) String() string { return proto.CompactTextString(m) } +func (*GetJoinedGroupListReq) ProtoMessage() {} func (*GetJoinedGroupListReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{27} + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{27} +} +func (m *GetJoinedGroupListReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetJoinedGroupListReq.Unmarshal(m, b) +} +func (m *GetJoinedGroupListReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetJoinedGroupListReq.Marshal(b, m, deterministic) +} +func (dst *GetJoinedGroupListReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetJoinedGroupListReq.Merge(dst, src) +} +func (m *GetJoinedGroupListReq) XXX_Size() int { + return xxx_messageInfo_GetJoinedGroupListReq.Size(m) +} +func (m *GetJoinedGroupListReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetJoinedGroupListReq.DiscardUnknown(m) } -func (x *GetJoinedGroupListReq) GetFromUserID() string { - if x != nil { - return x.FromUserID +var xxx_messageInfo_GetJoinedGroupListReq proto.InternalMessageInfo + +func (m *GetJoinedGroupListReq) GetFromUserID() string { + if m != nil { + return m.FromUserID } return "" } -func (x *GetJoinedGroupListReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *GetJoinedGroupListReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -func (x *GetJoinedGroupListReq) GetOpUserID() string { - if x != nil { - return x.OpUserID +func (m *GetJoinedGroupListReq) GetOpUserID() string { + if m != nil { + return m.OpUserID } return "" } type GetJoinedGroupListResp 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"` - GroupList []*sdk_ws.GroupInfo `protobuf:"bytes,3,rep,name=GroupList,proto3" json:"GroupList,omitempty"` + ErrCode int32 `protobuf:"varint,1,opt,name=ErrCode" json:"ErrCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=ErrMsg" json:"ErrMsg,omitempty"` + GroupList []*sdk_ws.GroupInfo `protobuf:"bytes,3,rep,name=GroupList" json:"GroupList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetJoinedGroupListResp) Reset() { - *x = GetJoinedGroupListResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[28] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *GetJoinedGroupListResp) Reset() { *m = GetJoinedGroupListResp{} } +func (m *GetJoinedGroupListResp) String() string { return proto.CompactTextString(m) } +func (*GetJoinedGroupListResp) ProtoMessage() {} +func (*GetJoinedGroupListResp) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{28} } - -func (x *GetJoinedGroupListResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetJoinedGroupListResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetJoinedGroupListResp.Unmarshal(m, b) } - -func (*GetJoinedGroupListResp) ProtoMessage() {} - -func (x *GetJoinedGroupListResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (m *GetJoinedGroupListResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetJoinedGroupListResp.Marshal(b, m, deterministic) } - -// Deprecated: Use GetJoinedGroupListResp.ProtoReflect.Descriptor instead. -func (*GetJoinedGroupListResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{28} +func (dst *GetJoinedGroupListResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetJoinedGroupListResp.Merge(dst, src) +} +func (m *GetJoinedGroupListResp) XXX_Size() int { + return xxx_messageInfo_GetJoinedGroupListResp.Size(m) +} +func (m *GetJoinedGroupListResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetJoinedGroupListResp.DiscardUnknown(m) } -func (x *GetJoinedGroupListResp) GetErrCode() int32 { - if x != nil { - return x.ErrCode +var xxx_messageInfo_GetJoinedGroupListResp proto.InternalMessageInfo + +func (m *GetJoinedGroupListResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode } return 0 } -func (x *GetJoinedGroupListResp) GetErrMsg() string { - if x != nil { - return x.ErrMsg +func (m *GetJoinedGroupListResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg } return "" } -func (x *GetJoinedGroupListResp) GetGroupList() []*sdk_ws.GroupInfo { - if x != nil { - return x.GroupList +func (m *GetJoinedGroupListResp) GetGroupList() []*sdk_ws.GroupInfo { + if m != nil { + return m.GroupList } return nil } type InviteUserToGroupReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OperationID string `protobuf:"bytes,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"` - GroupID string `protobuf:"bytes,3,opt,name=GroupID,proto3" json:"GroupID,omitempty"` - Reason string `protobuf:"bytes,4,opt,name=Reason,proto3" json:"Reason,omitempty"` - InvitedUserIDList []string `protobuf:"bytes,5,rep,name=InvitedUserIDList,proto3" json:"InvitedUserIDList,omitempty"` - OpUserID string `protobuf:"bytes,6,opt,name=OpUserID,proto3" json:"OpUserID,omitempty"` //group member or app manager + OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` + GroupID string `protobuf:"bytes,3,opt,name=GroupID" json:"GroupID,omitempty"` + Reason string `protobuf:"bytes,4,opt,name=Reason" json:"Reason,omitempty"` + InvitedUserIDList []string `protobuf:"bytes,5,rep,name=InvitedUserIDList" json:"InvitedUserIDList,omitempty"` + OpUserID string `protobuf:"bytes,6,opt,name=OpUserID" json:"OpUserID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *InviteUserToGroupReq) Reset() { *m = InviteUserToGroupReq{} } +func (m *InviteUserToGroupReq) String() string { return proto.CompactTextString(m) } +func (*InviteUserToGroupReq) ProtoMessage() {} +func (*InviteUserToGroupReq) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{29} } - -func (x *InviteUserToGroupReq) Reset() { - *x = InviteUserToGroupReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[29] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *InviteUserToGroupReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_InviteUserToGroupReq.Unmarshal(m, b) } - -func (x *InviteUserToGroupReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *InviteUserToGroupReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_InviteUserToGroupReq.Marshal(b, m, deterministic) } - -func (*InviteUserToGroupReq) ProtoMessage() {} - -func (x *InviteUserToGroupReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (dst *InviteUserToGroupReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_InviteUserToGroupReq.Merge(dst, src) } - -// Deprecated: Use InviteUserToGroupReq.ProtoReflect.Descriptor instead. -func (*InviteUserToGroupReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{29} +func (m *InviteUserToGroupReq) XXX_Size() int { + return xxx_messageInfo_InviteUserToGroupReq.Size(m) +} +func (m *InviteUserToGroupReq) XXX_DiscardUnknown() { + xxx_messageInfo_InviteUserToGroupReq.DiscardUnknown(m) } -func (x *InviteUserToGroupReq) GetOperationID() string { - if x != nil { - return x.OperationID +var xxx_messageInfo_InviteUserToGroupReq proto.InternalMessageInfo + +func (m *InviteUserToGroupReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -func (x *InviteUserToGroupReq) GetGroupID() string { - if x != nil { - return x.GroupID +func (m *InviteUserToGroupReq) GetGroupID() string { + if m != nil { + return m.GroupID } return "" } -func (x *InviteUserToGroupReq) GetReason() string { - if x != nil { - return x.Reason +func (m *InviteUserToGroupReq) GetReason() string { + if m != nil { + return m.Reason } return "" } -func (x *InviteUserToGroupReq) GetInvitedUserIDList() []string { - if x != nil { - return x.InvitedUserIDList +func (m *InviteUserToGroupReq) GetInvitedUserIDList() []string { + if m != nil { + return m.InvitedUserIDList } return nil } -func (x *InviteUserToGroupReq) GetOpUserID() string { - if x != nil { - return x.OpUserID +func (m *InviteUserToGroupReq) GetOpUserID() string { + if m != nil { + return m.OpUserID } return "" } type InviteUserToGroupResp 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"` - Id2ResultList []*Id2Result `protobuf:"bytes,3,rep,name=Id2ResultList,proto3" json:"Id2ResultList,omitempty"` // 0 ok, -1 error + ErrCode int32 `protobuf:"varint,1,opt,name=ErrCode" json:"ErrCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=ErrMsg" json:"ErrMsg,omitempty"` + Id2ResultList []*Id2Result `protobuf:"bytes,3,rep,name=Id2ResultList" json:"Id2ResultList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *InviteUserToGroupResp) Reset() { - *x = InviteUserToGroupResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[30] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *InviteUserToGroupResp) Reset() { *m = InviteUserToGroupResp{} } +func (m *InviteUserToGroupResp) String() string { return proto.CompactTextString(m) } +func (*InviteUserToGroupResp) ProtoMessage() {} +func (*InviteUserToGroupResp) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{30} } - -func (x *InviteUserToGroupResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *InviteUserToGroupResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_InviteUserToGroupResp.Unmarshal(m, b) } - -func (*InviteUserToGroupResp) ProtoMessage() {} - -func (x *InviteUserToGroupResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (m *InviteUserToGroupResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_InviteUserToGroupResp.Marshal(b, m, deterministic) } - -// Deprecated: Use InviteUserToGroupResp.ProtoReflect.Descriptor instead. -func (*InviteUserToGroupResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{30} +func (dst *InviteUserToGroupResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_InviteUserToGroupResp.Merge(dst, src) +} +func (m *InviteUserToGroupResp) XXX_Size() int { + return xxx_messageInfo_InviteUserToGroupResp.Size(m) +} +func (m *InviteUserToGroupResp) XXX_DiscardUnknown() { + xxx_messageInfo_InviteUserToGroupResp.DiscardUnknown(m) } -func (x *InviteUserToGroupResp) GetErrCode() int32 { - if x != nil { - return x.ErrCode +var xxx_messageInfo_InviteUserToGroupResp proto.InternalMessageInfo + +func (m *InviteUserToGroupResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode } return 0 } -func (x *InviteUserToGroupResp) GetErrMsg() string { - if x != nil { - return x.ErrMsg +func (m *InviteUserToGroupResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg } return "" } -func (x *InviteUserToGroupResp) GetId2ResultList() []*Id2Result { - if x != nil { - return x.Id2ResultList +func (m *InviteUserToGroupResp) GetId2ResultList() []*Id2Result { + if m != nil { + return m.Id2ResultList } return nil } type GetGroupAllMemberReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GroupID string `protobuf:"bytes,1,opt,name=GroupID,proto3" json:"GroupID,omitempty"` - OpUserID string `protobuf:"bytes,2,opt,name=OpUserID,proto3" json:"OpUserID,omitempty"` //No verification permission - OperationID string `protobuf:"bytes,3,opt,name=OperationID,proto3" json:"OperationID,omitempty"` - Offset int32 `protobuf:"varint,4,opt,name=Offset,proto3" json:"Offset,omitempty"` - Count int32 `protobuf:"varint,5,opt,name=Count,proto3" json:"Count,omitempty"` + GroupID string `protobuf:"bytes,1,opt,name=GroupID" json:"GroupID,omitempty"` + OpUserID string `protobuf:"bytes,2,opt,name=OpUserID" json:"OpUserID,omitempty"` + OperationID string `protobuf:"bytes,3,opt,name=OperationID" json:"OperationID,omitempty"` + Offset int32 `protobuf:"varint,4,opt,name=Offset" json:"Offset,omitempty"` + Count int32 `protobuf:"varint,5,opt,name=Count" json:"Count,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetGroupAllMemberReq) Reset() { *m = GetGroupAllMemberReq{} } +func (m *GetGroupAllMemberReq) String() string { return proto.CompactTextString(m) } +func (*GetGroupAllMemberReq) ProtoMessage() {} +func (*GetGroupAllMemberReq) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{31} } - -func (x *GetGroupAllMemberReq) Reset() { - *x = GetGroupAllMemberReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[31] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *GetGroupAllMemberReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetGroupAllMemberReq.Unmarshal(m, b) } - -func (x *GetGroupAllMemberReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetGroupAllMemberReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetGroupAllMemberReq.Marshal(b, m, deterministic) } - -func (*GetGroupAllMemberReq) ProtoMessage() {} - -func (x *GetGroupAllMemberReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (dst *GetGroupAllMemberReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetGroupAllMemberReq.Merge(dst, src) } - -// Deprecated: Use GetGroupAllMemberReq.ProtoReflect.Descriptor instead. -func (*GetGroupAllMemberReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{31} +func (m *GetGroupAllMemberReq) XXX_Size() int { + return xxx_messageInfo_GetGroupAllMemberReq.Size(m) +} +func (m *GetGroupAllMemberReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetGroupAllMemberReq.DiscardUnknown(m) } -func (x *GetGroupAllMemberReq) GetGroupID() string { - if x != nil { - return x.GroupID +var xxx_messageInfo_GetGroupAllMemberReq proto.InternalMessageInfo + +func (m *GetGroupAllMemberReq) GetGroupID() string { + if m != nil { + return m.GroupID } return "" } -func (x *GetGroupAllMemberReq) GetOpUserID() string { - if x != nil { - return x.OpUserID +func (m *GetGroupAllMemberReq) GetOpUserID() string { + if m != nil { + return m.OpUserID } return "" } -func (x *GetGroupAllMemberReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *GetGroupAllMemberReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -func (x *GetGroupAllMemberReq) GetOffset() int32 { - if x != nil { - return x.Offset +func (m *GetGroupAllMemberReq) GetOffset() int32 { + if m != nil { + return m.Offset } return 0 } -func (x *GetGroupAllMemberReq) GetCount() int32 { - if x != nil { - return x.Count +func (m *GetGroupAllMemberReq) GetCount() int32 { + if m != nil { + return m.Count } return 0 } type GetGroupAllMemberResp 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"` - MemberList []*sdk_ws.GroupMemberFullInfo `protobuf:"bytes,3,rep,name=memberList,proto3" json:"memberList,omitempty"` + ErrCode int32 `protobuf:"varint,1,opt,name=ErrCode" json:"ErrCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=ErrMsg" json:"ErrMsg,omitempty"` + MemberList []*sdk_ws.GroupMemberFullInfo `protobuf:"bytes,3,rep,name=memberList" json:"memberList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetGroupAllMemberResp) Reset() { - *x = GetGroupAllMemberResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[32] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *GetGroupAllMemberResp) Reset() { *m = GetGroupAllMemberResp{} } +func (m *GetGroupAllMemberResp) String() string { return proto.CompactTextString(m) } +func (*GetGroupAllMemberResp) ProtoMessage() {} +func (*GetGroupAllMemberResp) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{32} } - -func (x *GetGroupAllMemberResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetGroupAllMemberResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetGroupAllMemberResp.Unmarshal(m, b) } - -func (*GetGroupAllMemberResp) ProtoMessage() {} - -func (x *GetGroupAllMemberResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (m *GetGroupAllMemberResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetGroupAllMemberResp.Marshal(b, m, deterministic) } - -// Deprecated: Use GetGroupAllMemberResp.ProtoReflect.Descriptor instead. -func (*GetGroupAllMemberResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{32} +func (dst *GetGroupAllMemberResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetGroupAllMemberResp.Merge(dst, src) +} +func (m *GetGroupAllMemberResp) XXX_Size() int { + return xxx_messageInfo_GetGroupAllMemberResp.Size(m) +} +func (m *GetGroupAllMemberResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetGroupAllMemberResp.DiscardUnknown(m) } -func (x *GetGroupAllMemberResp) GetErrCode() int32 { - if x != nil { - return x.ErrCode +var xxx_messageInfo_GetGroupAllMemberResp proto.InternalMessageInfo + +func (m *GetGroupAllMemberResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode } return 0 } -func (x *GetGroupAllMemberResp) GetErrMsg() string { - if x != nil { - return x.ErrMsg +func (m *GetGroupAllMemberResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg } return "" } -func (x *GetGroupAllMemberResp) GetMemberList() []*sdk_ws.GroupMemberFullInfo { - if x != nil { - return x.MemberList +func (m *GetGroupAllMemberResp) GetMemberList() []*sdk_ws.GroupMemberFullInfo { + if m != nil { + return m.MemberList } return nil } type CMSGroup struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GroupInfo *sdk_ws.GroupInfo `protobuf:"bytes,1,opt,name=GroupInfo,proto3" json:"GroupInfo,omitempty"` - GroupOwnerUserName string `protobuf:"bytes,2,opt,name=GroupOwnerUserName,proto3" json:"GroupOwnerUserName,omitempty"` - GroupOwnerUserID string `protobuf:"bytes,3,opt,name=GroupOwnerUserID,proto3" json:"GroupOwnerUserID,omitempty"` + GroupInfo *sdk_ws.GroupInfo `protobuf:"bytes,1,opt,name=GroupInfo" json:"GroupInfo,omitempty"` + GroupOwnerUserName string `protobuf:"bytes,2,opt,name=GroupOwnerUserName" json:"GroupOwnerUserName,omitempty"` + GroupOwnerUserID string `protobuf:"bytes,3,opt,name=GroupOwnerUserID" json:"GroupOwnerUserID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *CMSGroup) Reset() { - *x = CMSGroup{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[33] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *CMSGroup) Reset() { *m = CMSGroup{} } +func (m *CMSGroup) String() string { return proto.CompactTextString(m) } +func (*CMSGroup) ProtoMessage() {} +func (*CMSGroup) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{33} } - -func (x *CMSGroup) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *CMSGroup) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CMSGroup.Unmarshal(m, b) } - -func (*CMSGroup) ProtoMessage() {} - -func (x *CMSGroup) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (m *CMSGroup) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CMSGroup.Marshal(b, m, deterministic) } - -// Deprecated: Use CMSGroup.ProtoReflect.Descriptor instead. -func (*CMSGroup) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{33} +func (dst *CMSGroup) XXX_Merge(src proto.Message) { + xxx_messageInfo_CMSGroup.Merge(dst, src) +} +func (m *CMSGroup) XXX_Size() int { + return xxx_messageInfo_CMSGroup.Size(m) +} +func (m *CMSGroup) XXX_DiscardUnknown() { + xxx_messageInfo_CMSGroup.DiscardUnknown(m) } -func (x *CMSGroup) GetGroupInfo() *sdk_ws.GroupInfo { - if x != nil { - return x.GroupInfo +var xxx_messageInfo_CMSGroup proto.InternalMessageInfo + +func (m *CMSGroup) GetGroupInfo() *sdk_ws.GroupInfo { + if m != nil { + return m.GroupInfo } return nil } -func (x *CMSGroup) GetGroupOwnerUserName() string { - if x != nil { - return x.GroupOwnerUserName +func (m *CMSGroup) GetGroupOwnerUserName() string { + if m != nil { + return m.GroupOwnerUserName } return "" } -func (x *CMSGroup) GetGroupOwnerUserID() string { - if x != nil { - return x.GroupOwnerUserID +func (m *CMSGroup) GetGroupOwnerUserID() string { + if m != nil { + return m.GroupOwnerUserID } return "" } type GetGroupsReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Pagination *sdk_ws.RequestPagination `protobuf:"bytes,1,opt,name=Pagination,proto3" json:"Pagination,omitempty"` - GroupName string `protobuf:"bytes,2,opt,name=GroupName,proto3" json:"GroupName,omitempty"` - GroupID string `protobuf:"bytes,3,opt,name=GroupID,proto3" json:"GroupID,omitempty"` - OperationID string `protobuf:"bytes,4,opt,name=OperationID,proto3" json:"OperationID,omitempty"` + Pagination *sdk_ws.RequestPagination `protobuf:"bytes,1,opt,name=Pagination" json:"Pagination,omitempty"` + GroupName string `protobuf:"bytes,2,opt,name=GroupName" json:"GroupName,omitempty"` + GroupID string `protobuf:"bytes,3,opt,name=GroupID" json:"GroupID,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 *GetGroupsReq) Reset() { *m = GetGroupsReq{} } +func (m *GetGroupsReq) String() string { return proto.CompactTextString(m) } +func (*GetGroupsReq) ProtoMessage() {} +func (*GetGroupsReq) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{34} } - -func (x *GetGroupsReq) Reset() { - *x = GetGroupsReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[34] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *GetGroupsReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetGroupsReq.Unmarshal(m, b) } - -func (x *GetGroupsReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetGroupsReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetGroupsReq.Marshal(b, m, deterministic) } - -func (*GetGroupsReq) ProtoMessage() {} - -func (x *GetGroupsReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (dst *GetGroupsReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetGroupsReq.Merge(dst, src) } - -// Deprecated: Use GetGroupsReq.ProtoReflect.Descriptor instead. -func (*GetGroupsReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{34} +func (m *GetGroupsReq) XXX_Size() int { + return xxx_messageInfo_GetGroupsReq.Size(m) +} +func (m *GetGroupsReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetGroupsReq.DiscardUnknown(m) } -func (x *GetGroupsReq) GetPagination() *sdk_ws.RequestPagination { - if x != nil { - return x.Pagination +var xxx_messageInfo_GetGroupsReq proto.InternalMessageInfo + +func (m *GetGroupsReq) GetPagination() *sdk_ws.RequestPagination { + if m != nil { + return m.Pagination } return nil } -func (x *GetGroupsReq) GetGroupName() string { - if x != nil { - return x.GroupName +func (m *GetGroupsReq) GetGroupName() string { + if m != nil { + return m.GroupName } return "" } -func (x *GetGroupsReq) GetGroupID() string { - if x != nil { - return x.GroupID +func (m *GetGroupsReq) GetGroupID() string { + if m != nil { + return m.GroupID } return "" } -func (x *GetGroupsReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *GetGroupsReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } type GetGroupsResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CMSGroups []*CMSGroup `protobuf:"bytes,1,rep,name=CMSGroups,proto3" json:"CMSGroups,omitempty"` - Pagination *sdk_ws.ResponsePagination `protobuf:"bytes,2,opt,name=Pagination,proto3" json:"Pagination,omitempty"` - GroupNum int32 `protobuf:"varint,3,opt,name=GroupNum,proto3" json:"GroupNum,omitempty"` - CommonResp *CommonResp `protobuf:"bytes,4,opt,name=commonResp,proto3" json:"commonResp,omitempty"` + CMSGroups []*CMSGroup `protobuf:"bytes,1,rep,name=CMSGroups" json:"CMSGroups,omitempty"` + Pagination *sdk_ws.ResponsePagination `protobuf:"bytes,2,opt,name=Pagination" json:"Pagination,omitempty"` + GroupNum int32 `protobuf:"varint,3,opt,name=GroupNum" json:"GroupNum,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 (m *GetGroupsResp) Reset() { *m = GetGroupsResp{} } +func (m *GetGroupsResp) String() string { return proto.CompactTextString(m) } +func (*GetGroupsResp) ProtoMessage() {} +func (*GetGroupsResp) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{35} } - -func (x *GetGroupsResp) Reset() { - *x = GetGroupsResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[35] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *GetGroupsResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetGroupsResp.Unmarshal(m, b) } - -func (x *GetGroupsResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetGroupsResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetGroupsResp.Marshal(b, m, deterministic) } - -func (*GetGroupsResp) ProtoMessage() {} - -func (x *GetGroupsResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (dst *GetGroupsResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetGroupsResp.Merge(dst, src) } - -// Deprecated: Use GetGroupsResp.ProtoReflect.Descriptor instead. -func (*GetGroupsResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{35} +func (m *GetGroupsResp) XXX_Size() int { + return xxx_messageInfo_GetGroupsResp.Size(m) +} +func (m *GetGroupsResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetGroupsResp.DiscardUnknown(m) } -func (x *GetGroupsResp) GetCMSGroups() []*CMSGroup { - if x != nil { - return x.CMSGroups +var xxx_messageInfo_GetGroupsResp proto.InternalMessageInfo + +func (m *GetGroupsResp) GetCMSGroups() []*CMSGroup { + if m != nil { + return m.CMSGroups } return nil } -func (x *GetGroupsResp) GetPagination() *sdk_ws.ResponsePagination { - if x != nil { - return x.Pagination +func (m *GetGroupsResp) GetPagination() *sdk_ws.ResponsePagination { + if m != nil { + return m.Pagination } return nil } -func (x *GetGroupsResp) GetGroupNum() int32 { - if x != nil { - return x.GroupNum +func (m *GetGroupsResp) GetGroupNum() int32 { + if m != nil { + return m.GroupNum } return 0 } -func (x *GetGroupsResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +func (m *GetGroupsResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } return nil } type GetGroupMemberReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GroupID string `protobuf:"bytes,1,opt,name=GroupID,proto3" json:"GroupID,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"` + GroupID string `protobuf:"bytes,1,opt,name=GroupID" json:"GroupID,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 *GetGroupMemberReq) Reset() { - *x = GetGroupMemberReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[36] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *GetGroupMemberReq) Reset() { *m = GetGroupMemberReq{} } +func (m *GetGroupMemberReq) String() string { return proto.CompactTextString(m) } +func (*GetGroupMemberReq) ProtoMessage() {} +func (*GetGroupMemberReq) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{36} } - -func (x *GetGroupMemberReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetGroupMemberReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetGroupMemberReq.Unmarshal(m, b) } - -func (*GetGroupMemberReq) ProtoMessage() {} - -func (x *GetGroupMemberReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (m *GetGroupMemberReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetGroupMemberReq.Marshal(b, m, deterministic) } - -// Deprecated: Use GetGroupMemberReq.ProtoReflect.Descriptor instead. -func (*GetGroupMemberReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{36} +func (dst *GetGroupMemberReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetGroupMemberReq.Merge(dst, src) +} +func (m *GetGroupMemberReq) XXX_Size() int { + return xxx_messageInfo_GetGroupMemberReq.Size(m) +} +func (m *GetGroupMemberReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetGroupMemberReq.DiscardUnknown(m) } -func (x *GetGroupMemberReq) GetGroupID() string { - if x != nil { - return x.GroupID +var xxx_messageInfo_GetGroupMemberReq proto.InternalMessageInfo + +func (m *GetGroupMemberReq) GetGroupID() string { + if m != nil { + return m.GroupID } return "" } -func (x *GetGroupMemberReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *GetGroupMemberReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } type GetGroupMembersCMSReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GroupID string `protobuf:"bytes,1,opt,name=GroupID,proto3" json:"GroupID,omitempty"` - UserName string `protobuf:"bytes,2,opt,name=UserName,proto3" json:"UserName,omitempty"` - Pagination *sdk_ws.RequestPagination `protobuf:"bytes,3,opt,name=Pagination,proto3" json:"Pagination,omitempty"` - OperationID string `protobuf:"bytes,4,opt,name=OperationID,proto3" json:"OperationID,omitempty"` + GroupID string `protobuf:"bytes,1,opt,name=GroupID" json:"GroupID,omitempty"` + UserName string `protobuf:"bytes,2,opt,name=UserName" json:"UserName,omitempty"` + Pagination *sdk_ws.RequestPagination `protobuf:"bytes,3,opt,name=Pagination" json:"Pagination,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 *GetGroupMembersCMSReq) Reset() { *m = GetGroupMembersCMSReq{} } +func (m *GetGroupMembersCMSReq) String() string { return proto.CompactTextString(m) } +func (*GetGroupMembersCMSReq) ProtoMessage() {} +func (*GetGroupMembersCMSReq) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{37} } - -func (x *GetGroupMembersCMSReq) Reset() { - *x = GetGroupMembersCMSReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[37] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *GetGroupMembersCMSReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetGroupMembersCMSReq.Unmarshal(m, b) } - -func (x *GetGroupMembersCMSReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetGroupMembersCMSReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetGroupMembersCMSReq.Marshal(b, m, deterministic) } - -func (*GetGroupMembersCMSReq) ProtoMessage() {} - -func (x *GetGroupMembersCMSReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (dst *GetGroupMembersCMSReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetGroupMembersCMSReq.Merge(dst, src) } - -// Deprecated: Use GetGroupMembersCMSReq.ProtoReflect.Descriptor instead. -func (*GetGroupMembersCMSReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{37} +func (m *GetGroupMembersCMSReq) XXX_Size() int { + return xxx_messageInfo_GetGroupMembersCMSReq.Size(m) +} +func (m *GetGroupMembersCMSReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetGroupMembersCMSReq.DiscardUnknown(m) } -func (x *GetGroupMembersCMSReq) GetGroupID() string { - if x != nil { - return x.GroupID +var xxx_messageInfo_GetGroupMembersCMSReq proto.InternalMessageInfo + +func (m *GetGroupMembersCMSReq) GetGroupID() string { + if m != nil { + return m.GroupID } return "" } -func (x *GetGroupMembersCMSReq) GetUserName() string { - if x != nil { - return x.UserName +func (m *GetGroupMembersCMSReq) GetUserName() string { + if m != nil { + return m.UserName } return "" } -func (x *GetGroupMembersCMSReq) GetPagination() *sdk_ws.RequestPagination { - if x != nil { - return x.Pagination +func (m *GetGroupMembersCMSReq) GetPagination() *sdk_ws.RequestPagination { + if m != nil { + return m.Pagination } return nil } -func (x *GetGroupMembersCMSReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *GetGroupMembersCMSReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } type GetGroupMembersCMSResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Members []*sdk_ws.GroupMemberFullInfo `protobuf:"bytes,1,rep,name=members,proto3" json:"members,omitempty"` - Pagination *sdk_ws.ResponsePagination `protobuf:"bytes,2,opt,name=Pagination,proto3" json:"Pagination,omitempty"` - MemberNums int32 `protobuf:"varint,3,opt,name=MemberNums,proto3" json:"MemberNums,omitempty"` - CommonResp *CommonResp `protobuf:"bytes,4,opt,name=commonResp,proto3" json:"commonResp,omitempty"` + Members []*sdk_ws.GroupMemberFullInfo `protobuf:"bytes,1,rep,name=members" json:"members,omitempty"` + Pagination *sdk_ws.ResponsePagination `protobuf:"bytes,2,opt,name=Pagination" json:"Pagination,omitempty"` + MemberNums int32 `protobuf:"varint,3,opt,name=MemberNums" json:"MemberNums,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 (m *GetGroupMembersCMSResp) Reset() { *m = GetGroupMembersCMSResp{} } +func (m *GetGroupMembersCMSResp) String() string { return proto.CompactTextString(m) } +func (*GetGroupMembersCMSResp) ProtoMessage() {} +func (*GetGroupMembersCMSResp) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{38} } - -func (x *GetGroupMembersCMSResp) Reset() { - *x = GetGroupMembersCMSResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[38] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *GetGroupMembersCMSResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetGroupMembersCMSResp.Unmarshal(m, b) } - -func (x *GetGroupMembersCMSResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetGroupMembersCMSResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetGroupMembersCMSResp.Marshal(b, m, deterministic) } - -func (*GetGroupMembersCMSResp) ProtoMessage() {} - -func (x *GetGroupMembersCMSResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (dst *GetGroupMembersCMSResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetGroupMembersCMSResp.Merge(dst, src) } - -// Deprecated: Use GetGroupMembersCMSResp.ProtoReflect.Descriptor instead. -func (*GetGroupMembersCMSResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{38} +func (m *GetGroupMembersCMSResp) XXX_Size() int { + return xxx_messageInfo_GetGroupMembersCMSResp.Size(m) +} +func (m *GetGroupMembersCMSResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetGroupMembersCMSResp.DiscardUnknown(m) } -func (x *GetGroupMembersCMSResp) GetMembers() []*sdk_ws.GroupMemberFullInfo { - if x != nil { - return x.Members +var xxx_messageInfo_GetGroupMembersCMSResp proto.InternalMessageInfo + +func (m *GetGroupMembersCMSResp) GetMembers() []*sdk_ws.GroupMemberFullInfo { + if m != nil { + return m.Members } return nil } -func (x *GetGroupMembersCMSResp) GetPagination() *sdk_ws.ResponsePagination { - if x != nil { - return x.Pagination +func (m *GetGroupMembersCMSResp) GetPagination() *sdk_ws.ResponsePagination { + if m != nil { + return m.Pagination } return nil } -func (x *GetGroupMembersCMSResp) GetMemberNums() int32 { - if x != nil { - return x.MemberNums +func (m *GetGroupMembersCMSResp) GetMemberNums() int32 { + if m != nil { + return m.MemberNums } return 0 } -func (x *GetGroupMembersCMSResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +func (m *GetGroupMembersCMSResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } return nil } type DismissGroupReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OpUserID string `protobuf:"bytes,1,opt,name=opUserID,proto3" json:"opUserID,omitempty"` //group or app manager - OperationID string `protobuf:"bytes,2,opt,name=operationID,proto3" json:"operationID,omitempty"` - GroupID string `protobuf:"bytes,3,opt,name=groupID,proto3" json:"groupID,omitempty"` + OpUserID string `protobuf:"bytes,1,opt,name=opUserID" json:"opUserID,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,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 (x *DismissGroupReq) Reset() { - *x = DismissGroupReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[39] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *DismissGroupReq) Reset() { *m = DismissGroupReq{} } +func (m *DismissGroupReq) String() string { return proto.CompactTextString(m) } +func (*DismissGroupReq) ProtoMessage() {} +func (*DismissGroupReq) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{39} } - -func (x *DismissGroupReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *DismissGroupReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DismissGroupReq.Unmarshal(m, b) } - -func (*DismissGroupReq) ProtoMessage() {} - -func (x *DismissGroupReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (m *DismissGroupReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DismissGroupReq.Marshal(b, m, deterministic) } - -// Deprecated: Use DismissGroupReq.ProtoReflect.Descriptor instead. -func (*DismissGroupReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{39} +func (dst *DismissGroupReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_DismissGroupReq.Merge(dst, src) +} +func (m *DismissGroupReq) XXX_Size() int { + return xxx_messageInfo_DismissGroupReq.Size(m) +} +func (m *DismissGroupReq) XXX_DiscardUnknown() { + xxx_messageInfo_DismissGroupReq.DiscardUnknown(m) } -func (x *DismissGroupReq) GetOpUserID() string { - if x != nil { - return x.OpUserID +var xxx_messageInfo_DismissGroupReq proto.InternalMessageInfo + +func (m *DismissGroupReq) GetOpUserID() string { + if m != nil { + return m.OpUserID } return "" } -func (x *DismissGroupReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *DismissGroupReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -func (x *DismissGroupReq) GetGroupID() string { - if x != nil { - return x.GroupID +func (m *DismissGroupReq) GetGroupID() string { + if m != nil { + return m.GroupID } return "" } type DismissGroupResp 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 *DismissGroupResp) Reset() { - *x = DismissGroupResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[40] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *DismissGroupResp) Reset() { *m = DismissGroupResp{} } +func (m *DismissGroupResp) String() string { return proto.CompactTextString(m) } +func (*DismissGroupResp) ProtoMessage() {} +func (*DismissGroupResp) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{40} } - -func (x *DismissGroupResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *DismissGroupResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DismissGroupResp.Unmarshal(m, b) } - -func (*DismissGroupResp) ProtoMessage() {} - -func (x *DismissGroupResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (m *DismissGroupResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DismissGroupResp.Marshal(b, m, deterministic) } - -// Deprecated: Use DismissGroupResp.ProtoReflect.Descriptor instead. -func (*DismissGroupResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{40} +func (dst *DismissGroupResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_DismissGroupResp.Merge(dst, src) +} +func (m *DismissGroupResp) XXX_Size() int { + return xxx_messageInfo_DismissGroupResp.Size(m) +} +func (m *DismissGroupResp) XXX_DiscardUnknown() { + xxx_messageInfo_DismissGroupResp.DiscardUnknown(m) } -func (x *DismissGroupResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +var xxx_messageInfo_DismissGroupResp proto.InternalMessageInfo + +func (m *DismissGroupResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } return nil } type MuteGroupMemberReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OpUserID string `protobuf:"bytes,1,opt,name=opUserID,proto3" json:"opUserID,omitempty"` //group or app manager - OperationID string `protobuf:"bytes,2,opt,name=operationID,proto3" json:"operationID,omitempty"` - GroupID string `protobuf:"bytes,3,opt,name=groupID,proto3" json:"groupID,omitempty"` - UserID string `protobuf:"bytes,4,opt,name=userID,proto3" json:"userID,omitempty"` - MutedSeconds uint32 `protobuf:"varint,5,opt,name=mutedSeconds,proto3" json:"mutedSeconds,omitempty"` + OpUserID string `protobuf:"bytes,1,opt,name=opUserID" json:"opUserID,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,omitempty"` + GroupID string `protobuf:"bytes,3,opt,name=groupID" json:"groupID,omitempty"` + UserID string `protobuf:"bytes,4,opt,name=userID" json:"userID,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 *MuteGroupMemberReq) Reset() { *m = MuteGroupMemberReq{} } +func (m *MuteGroupMemberReq) String() string { return proto.CompactTextString(m) } +func (*MuteGroupMemberReq) ProtoMessage() {} +func (*MuteGroupMemberReq) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{41} } - -func (x *MuteGroupMemberReq) Reset() { - *x = MuteGroupMemberReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[41] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *MuteGroupMemberReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MuteGroupMemberReq.Unmarshal(m, b) } - -func (x *MuteGroupMemberReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *MuteGroupMemberReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MuteGroupMemberReq.Marshal(b, m, deterministic) } - -func (*MuteGroupMemberReq) ProtoMessage() {} - -func (x *MuteGroupMemberReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (dst *MuteGroupMemberReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_MuteGroupMemberReq.Merge(dst, src) } - -// Deprecated: Use MuteGroupMemberReq.ProtoReflect.Descriptor instead. -func (*MuteGroupMemberReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{41} +func (m *MuteGroupMemberReq) XXX_Size() int { + return xxx_messageInfo_MuteGroupMemberReq.Size(m) +} +func (m *MuteGroupMemberReq) XXX_DiscardUnknown() { + xxx_messageInfo_MuteGroupMemberReq.DiscardUnknown(m) } -func (x *MuteGroupMemberReq) GetOpUserID() string { - if x != nil { - return x.OpUserID +var xxx_messageInfo_MuteGroupMemberReq proto.InternalMessageInfo + +func (m *MuteGroupMemberReq) GetOpUserID() string { + if m != nil { + return m.OpUserID } return "" } -func (x *MuteGroupMemberReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *MuteGroupMemberReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -func (x *MuteGroupMemberReq) GetGroupID() string { - if x != nil { - return x.GroupID +func (m *MuteGroupMemberReq) GetGroupID() string { + if m != nil { + return m.GroupID } return "" } -func (x *MuteGroupMemberReq) GetUserID() string { - if x != nil { - return x.UserID +func (m *MuteGroupMemberReq) GetUserID() string { + if m != nil { + return m.UserID } return "" } -func (x *MuteGroupMemberReq) GetMutedSeconds() uint32 { - if x != nil { - return x.MutedSeconds +func (m *MuteGroupMemberReq) GetMutedSeconds() uint32 { + if m != nil { + return m.MutedSeconds } return 0 } type MuteGroupMemberResp 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 *MuteGroupMemberResp) Reset() { - *x = MuteGroupMemberResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[42] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *MuteGroupMemberResp) Reset() { *m = MuteGroupMemberResp{} } +func (m *MuteGroupMemberResp) String() string { return proto.CompactTextString(m) } +func (*MuteGroupMemberResp) ProtoMessage() {} +func (*MuteGroupMemberResp) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{42} } - -func (x *MuteGroupMemberResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *MuteGroupMemberResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MuteGroupMemberResp.Unmarshal(m, b) } - -func (*MuteGroupMemberResp) ProtoMessage() {} - -func (x *MuteGroupMemberResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (m *MuteGroupMemberResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MuteGroupMemberResp.Marshal(b, m, deterministic) } - -// Deprecated: Use MuteGroupMemberResp.ProtoReflect.Descriptor instead. -func (*MuteGroupMemberResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{42} +func (dst *MuteGroupMemberResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_MuteGroupMemberResp.Merge(dst, src) +} +func (m *MuteGroupMemberResp) XXX_Size() int { + return xxx_messageInfo_MuteGroupMemberResp.Size(m) +} +func (m *MuteGroupMemberResp) XXX_DiscardUnknown() { + xxx_messageInfo_MuteGroupMemberResp.DiscardUnknown(m) } -func (x *MuteGroupMemberResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +var xxx_messageInfo_MuteGroupMemberResp proto.InternalMessageInfo + +func (m *MuteGroupMemberResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } return nil } type CancelMuteGroupMemberReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OpUserID string `protobuf:"bytes,1,opt,name=opUserID,proto3" json:"opUserID,omitempty"` //group or app manager - OperationID string `protobuf:"bytes,2,opt,name=operationID,proto3" json:"operationID,omitempty"` - GroupID string `protobuf:"bytes,3,opt,name=groupID,proto3" json:"groupID,omitempty"` - UserID string `protobuf:"bytes,4,opt,name=userID,proto3" json:"userID,omitempty"` + OpUserID string `protobuf:"bytes,1,opt,name=opUserID" json:"opUserID,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,omitempty"` + GroupID string `protobuf:"bytes,3,opt,name=groupID" json:"groupID,omitempty"` + UserID string `protobuf:"bytes,4,opt,name=userID" json:"userID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CancelMuteGroupMemberReq) Reset() { *m = CancelMuteGroupMemberReq{} } +func (m *CancelMuteGroupMemberReq) String() string { return proto.CompactTextString(m) } +func (*CancelMuteGroupMemberReq) ProtoMessage() {} +func (*CancelMuteGroupMemberReq) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{43} } - -func (x *CancelMuteGroupMemberReq) Reset() { - *x = CancelMuteGroupMemberReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[43] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *CancelMuteGroupMemberReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CancelMuteGroupMemberReq.Unmarshal(m, b) } - -func (x *CancelMuteGroupMemberReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *CancelMuteGroupMemberReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CancelMuteGroupMemberReq.Marshal(b, m, deterministic) } - -func (*CancelMuteGroupMemberReq) ProtoMessage() {} - -func (x *CancelMuteGroupMemberReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (dst *CancelMuteGroupMemberReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_CancelMuteGroupMemberReq.Merge(dst, src) } - -// Deprecated: Use CancelMuteGroupMemberReq.ProtoReflect.Descriptor instead. -func (*CancelMuteGroupMemberReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{43} +func (m *CancelMuteGroupMemberReq) XXX_Size() int { + return xxx_messageInfo_CancelMuteGroupMemberReq.Size(m) +} +func (m *CancelMuteGroupMemberReq) XXX_DiscardUnknown() { + xxx_messageInfo_CancelMuteGroupMemberReq.DiscardUnknown(m) } -func (x *CancelMuteGroupMemberReq) GetOpUserID() string { - if x != nil { - return x.OpUserID +var xxx_messageInfo_CancelMuteGroupMemberReq proto.InternalMessageInfo + +func (m *CancelMuteGroupMemberReq) GetOpUserID() string { + if m != nil { + return m.OpUserID } return "" } -func (x *CancelMuteGroupMemberReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *CancelMuteGroupMemberReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -func (x *CancelMuteGroupMemberReq) GetGroupID() string { - if x != nil { - return x.GroupID +func (m *CancelMuteGroupMemberReq) GetGroupID() string { + if m != nil { + return m.GroupID } return "" } -func (x *CancelMuteGroupMemberReq) GetUserID() string { - if x != nil { - return x.UserID +func (m *CancelMuteGroupMemberReq) GetUserID() string { + if m != nil { + return m.UserID } return "" } type CancelMuteGroupMemberResp 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 *CancelMuteGroupMemberResp) Reset() { - *x = CancelMuteGroupMemberResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[44] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *CancelMuteGroupMemberResp) Reset() { *m = CancelMuteGroupMemberResp{} } +func (m *CancelMuteGroupMemberResp) String() string { return proto.CompactTextString(m) } +func (*CancelMuteGroupMemberResp) ProtoMessage() {} +func (*CancelMuteGroupMemberResp) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{44} } - -func (x *CancelMuteGroupMemberResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *CancelMuteGroupMemberResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CancelMuteGroupMemberResp.Unmarshal(m, b) } - -func (*CancelMuteGroupMemberResp) ProtoMessage() {} - -func (x *CancelMuteGroupMemberResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (m *CancelMuteGroupMemberResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CancelMuteGroupMemberResp.Marshal(b, m, deterministic) } - -// Deprecated: Use CancelMuteGroupMemberResp.ProtoReflect.Descriptor instead. -func (*CancelMuteGroupMemberResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{44} +func (dst *CancelMuteGroupMemberResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_CancelMuteGroupMemberResp.Merge(dst, src) +} +func (m *CancelMuteGroupMemberResp) XXX_Size() int { + return xxx_messageInfo_CancelMuteGroupMemberResp.Size(m) +} +func (m *CancelMuteGroupMemberResp) XXX_DiscardUnknown() { + xxx_messageInfo_CancelMuteGroupMemberResp.DiscardUnknown(m) } -func (x *CancelMuteGroupMemberResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +var xxx_messageInfo_CancelMuteGroupMemberResp proto.InternalMessageInfo + +func (m *CancelMuteGroupMemberResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } return nil } type MuteGroupReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OpUserID string `protobuf:"bytes,1,opt,name=opUserID,proto3" json:"opUserID,omitempty"` //group or app manager - OperationID string `protobuf:"bytes,2,opt,name=operationID,proto3" json:"operationID,omitempty"` - GroupID string `protobuf:"bytes,3,opt,name=groupID,proto3" json:"groupID,omitempty"` + OpUserID string `protobuf:"bytes,1,opt,name=opUserID" json:"opUserID,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,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 (x *MuteGroupReq) Reset() { - *x = MuteGroupReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[45] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *MuteGroupReq) Reset() { *m = MuteGroupReq{} } +func (m *MuteGroupReq) String() string { return proto.CompactTextString(m) } +func (*MuteGroupReq) ProtoMessage() {} +func (*MuteGroupReq) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{45} } - -func (x *MuteGroupReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *MuteGroupReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MuteGroupReq.Unmarshal(m, b) } - -func (*MuteGroupReq) ProtoMessage() {} - -func (x *MuteGroupReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (m *MuteGroupReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MuteGroupReq.Marshal(b, m, deterministic) } - -// Deprecated: Use MuteGroupReq.ProtoReflect.Descriptor instead. -func (*MuteGroupReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{45} +func (dst *MuteGroupReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_MuteGroupReq.Merge(dst, src) +} +func (m *MuteGroupReq) XXX_Size() int { + return xxx_messageInfo_MuteGroupReq.Size(m) +} +func (m *MuteGroupReq) XXX_DiscardUnknown() { + xxx_messageInfo_MuteGroupReq.DiscardUnknown(m) } -func (x *MuteGroupReq) GetOpUserID() string { - if x != nil { - return x.OpUserID +var xxx_messageInfo_MuteGroupReq proto.InternalMessageInfo + +func (m *MuteGroupReq) GetOpUserID() string { + if m != nil { + return m.OpUserID } return "" } -func (x *MuteGroupReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *MuteGroupReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -func (x *MuteGroupReq) GetGroupID() string { - if x != nil { - return x.GroupID +func (m *MuteGroupReq) GetGroupID() string { + if m != nil { + return m.GroupID } return "" } type MuteGroupResp 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 *MuteGroupResp) Reset() { - *x = MuteGroupResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[46] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *MuteGroupResp) Reset() { *m = MuteGroupResp{} } +func (m *MuteGroupResp) String() string { return proto.CompactTextString(m) } +func (*MuteGroupResp) ProtoMessage() {} +func (*MuteGroupResp) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{46} } - -func (x *MuteGroupResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *MuteGroupResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MuteGroupResp.Unmarshal(m, b) } - -func (*MuteGroupResp) ProtoMessage() {} - -func (x *MuteGroupResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (m *MuteGroupResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MuteGroupResp.Marshal(b, m, deterministic) } - -// Deprecated: Use MuteGroupResp.ProtoReflect.Descriptor instead. -func (*MuteGroupResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{46} +func (dst *MuteGroupResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_MuteGroupResp.Merge(dst, src) +} +func (m *MuteGroupResp) XXX_Size() int { + return xxx_messageInfo_MuteGroupResp.Size(m) +} +func (m *MuteGroupResp) XXX_DiscardUnknown() { + xxx_messageInfo_MuteGroupResp.DiscardUnknown(m) } -func (x *MuteGroupResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +var xxx_messageInfo_MuteGroupResp proto.InternalMessageInfo + +func (m *MuteGroupResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } return nil } type CancelMuteGroupReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OpUserID string `protobuf:"bytes,1,opt,name=opUserID,proto3" json:"opUserID,omitempty"` //group or app manager - OperationID string `protobuf:"bytes,2,opt,name=operationID,proto3" json:"operationID,omitempty"` - GroupID string `protobuf:"bytes,3,opt,name=groupID,proto3" json:"groupID,omitempty"` + OpUserID string `protobuf:"bytes,1,opt,name=opUserID" json:"opUserID,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,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 (x *CancelMuteGroupReq) Reset() { - *x = CancelMuteGroupReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[47] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *CancelMuteGroupReq) Reset() { *m = CancelMuteGroupReq{} } +func (m *CancelMuteGroupReq) String() string { return proto.CompactTextString(m) } +func (*CancelMuteGroupReq) ProtoMessage() {} +func (*CancelMuteGroupReq) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{47} } - -func (x *CancelMuteGroupReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *CancelMuteGroupReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CancelMuteGroupReq.Unmarshal(m, b) } - -func (*CancelMuteGroupReq) ProtoMessage() {} - -func (x *CancelMuteGroupReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (m *CancelMuteGroupReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CancelMuteGroupReq.Marshal(b, m, deterministic) } - -// Deprecated: Use CancelMuteGroupReq.ProtoReflect.Descriptor instead. -func (*CancelMuteGroupReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{47} +func (dst *CancelMuteGroupReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_CancelMuteGroupReq.Merge(dst, src) +} +func (m *CancelMuteGroupReq) XXX_Size() int { + return xxx_messageInfo_CancelMuteGroupReq.Size(m) +} +func (m *CancelMuteGroupReq) XXX_DiscardUnknown() { + xxx_messageInfo_CancelMuteGroupReq.DiscardUnknown(m) } -func (x *CancelMuteGroupReq) GetOpUserID() string { - if x != nil { - return x.OpUserID +var xxx_messageInfo_CancelMuteGroupReq proto.InternalMessageInfo + +func (m *CancelMuteGroupReq) GetOpUserID() string { + if m != nil { + return m.OpUserID } return "" } -func (x *CancelMuteGroupReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *CancelMuteGroupReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -func (x *CancelMuteGroupReq) GetGroupID() string { - if x != nil { - return x.GroupID +func (m *CancelMuteGroupReq) GetGroupID() string { + if m != nil { + return m.GroupID } return "" } type CancelMuteGroupResp 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 *CancelMuteGroupResp) Reset() { - *x = CancelMuteGroupResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[48] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *CancelMuteGroupResp) Reset() { *m = CancelMuteGroupResp{} } +func (m *CancelMuteGroupResp) String() string { return proto.CompactTextString(m) } +func (*CancelMuteGroupResp) ProtoMessage() {} +func (*CancelMuteGroupResp) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{48} } - -func (x *CancelMuteGroupResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *CancelMuteGroupResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CancelMuteGroupResp.Unmarshal(m, b) +} +func (m *CancelMuteGroupResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CancelMuteGroupResp.Marshal(b, m, deterministic) +} +func (dst *CancelMuteGroupResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_CancelMuteGroupResp.Merge(dst, src) +} +func (m *CancelMuteGroupResp) XXX_Size() int { + return xxx_messageInfo_CancelMuteGroupResp.Size(m) } - -func (*CancelMuteGroupResp) ProtoMessage() {} - -func (x *CancelMuteGroupResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (m *CancelMuteGroupResp) XXX_DiscardUnknown() { + xxx_messageInfo_CancelMuteGroupResp.DiscardUnknown(m) } -// Deprecated: Use CancelMuteGroupResp.ProtoReflect.Descriptor instead. -func (*CancelMuteGroupResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{48} -} +var xxx_messageInfo_CancelMuteGroupResp proto.InternalMessageInfo -func (x *CancelMuteGroupResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +func (m *CancelMuteGroupResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } return nil } type SetGroupMemberNicknameReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GroupID string `protobuf:"bytes,1,opt,name=groupID,proto3" json:"groupID,omitempty"` - Nickname string `protobuf:"bytes,2,opt,name=nickname,proto3" json:"nickname,omitempty"` - OpUserID string `protobuf:"bytes,3,opt,name=opUserID,proto3" json:"opUserID,omitempty"` - OperationID string `protobuf:"bytes,4,opt,name=operationID,proto3" json:"operationID,omitempty"` - UserID string `protobuf:"bytes,5,opt,name=userID,proto3" json:"userID,omitempty"` + GroupID string `protobuf:"bytes,1,opt,name=groupID" json:"groupID,omitempty"` + Nickname string `protobuf:"bytes,2,opt,name=nickname" json:"nickname,omitempty"` + OpUserID string `protobuf:"bytes,3,opt,name=opUserID" json:"opUserID,omitempty"` + OperationID string `protobuf:"bytes,4,opt,name=operationID" json:"operationID,omitempty"` + UserID string `protobuf:"bytes,5,opt,name=userID" json:"userID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SetGroupMemberNicknameReq) Reset() { *m = SetGroupMemberNicknameReq{} } +func (m *SetGroupMemberNicknameReq) String() string { return proto.CompactTextString(m) } +func (*SetGroupMemberNicknameReq) ProtoMessage() {} +func (*SetGroupMemberNicknameReq) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{49} } - -func (x *SetGroupMemberNicknameReq) Reset() { - *x = SetGroupMemberNicknameReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[49] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *SetGroupMemberNicknameReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SetGroupMemberNicknameReq.Unmarshal(m, b) } - -func (x *SetGroupMemberNicknameReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *SetGroupMemberNicknameReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SetGroupMemberNicknameReq.Marshal(b, m, deterministic) } - -func (*SetGroupMemberNicknameReq) ProtoMessage() {} - -func (x *SetGroupMemberNicknameReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (dst *SetGroupMemberNicknameReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_SetGroupMemberNicknameReq.Merge(dst, src) } - -// Deprecated: Use SetGroupMemberNicknameReq.ProtoReflect.Descriptor instead. -func (*SetGroupMemberNicknameReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{49} +func (m *SetGroupMemberNicknameReq) XXX_Size() int { + return xxx_messageInfo_SetGroupMemberNicknameReq.Size(m) +} +func (m *SetGroupMemberNicknameReq) XXX_DiscardUnknown() { + xxx_messageInfo_SetGroupMemberNicknameReq.DiscardUnknown(m) } -func (x *SetGroupMemberNicknameReq) GetGroupID() string { - if x != nil { - return x.GroupID +var xxx_messageInfo_SetGroupMemberNicknameReq proto.InternalMessageInfo + +func (m *SetGroupMemberNicknameReq) GetGroupID() string { + if m != nil { + return m.GroupID } return "" } -func (x *SetGroupMemberNicknameReq) GetNickname() string { - if x != nil { - return x.Nickname +func (m *SetGroupMemberNicknameReq) GetNickname() string { + if m != nil { + return m.Nickname } return "" } -func (x *SetGroupMemberNicknameReq) GetOpUserID() string { - if x != nil { - return x.OpUserID +func (m *SetGroupMemberNicknameReq) GetOpUserID() string { + if m != nil { + return m.OpUserID } return "" } -func (x *SetGroupMemberNicknameReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *SetGroupMemberNicknameReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -func (x *SetGroupMemberNicknameReq) GetUserID() string { - if x != nil { - return x.UserID +func (m *SetGroupMemberNicknameReq) GetUserID() string { + if m != nil { + return m.UserID } return "" } type SetGroupMemberNicknameResp 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 *SetGroupMemberNicknameResp) Reset() { - *x = SetGroupMemberNicknameResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[50] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *SetGroupMemberNicknameResp) Reset() { *m = SetGroupMemberNicknameResp{} } +func (m *SetGroupMemberNicknameResp) String() string { return proto.CompactTextString(m) } +func (*SetGroupMemberNicknameResp) ProtoMessage() {} +func (*SetGroupMemberNicknameResp) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{50} } - -func (x *SetGroupMemberNicknameResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *SetGroupMemberNicknameResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SetGroupMemberNicknameResp.Unmarshal(m, b) } - -func (*SetGroupMemberNicknameResp) ProtoMessage() {} - -func (x *SetGroupMemberNicknameResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (m *SetGroupMemberNicknameResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SetGroupMemberNicknameResp.Marshal(b, m, deterministic) } - -// Deprecated: Use SetGroupMemberNicknameResp.ProtoReflect.Descriptor instead. -func (*SetGroupMemberNicknameResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{50} +func (dst *SetGroupMemberNicknameResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_SetGroupMemberNicknameResp.Merge(dst, src) +} +func (m *SetGroupMemberNicknameResp) XXX_Size() int { + return xxx_messageInfo_SetGroupMemberNicknameResp.Size(m) +} +func (m *SetGroupMemberNicknameResp) XXX_DiscardUnknown() { + xxx_messageInfo_SetGroupMemberNicknameResp.DiscardUnknown(m) } -func (x *SetGroupMemberNicknameResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +var xxx_messageInfo_SetGroupMemberNicknameResp proto.InternalMessageInfo + +func (m *SetGroupMemberNicknameResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } return nil } type GetJoinedSuperGroupListReq 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"` - OpUserID string `protobuf:"bytes,3,opt,name=opUserID,proto3" json:"opUserID,omitempty"` + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + UserID string `protobuf:"bytes,2,opt,name=userID" json:"userID,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 *GetJoinedSuperGroupListReq) Reset() { - *x = GetJoinedSuperGroupListReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[51] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *GetJoinedSuperGroupListReq) Reset() { *m = GetJoinedSuperGroupListReq{} } +func (m *GetJoinedSuperGroupListReq) String() string { return proto.CompactTextString(m) } +func (*GetJoinedSuperGroupListReq) ProtoMessage() {} +func (*GetJoinedSuperGroupListReq) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{51} } - -func (x *GetJoinedSuperGroupListReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetJoinedSuperGroupListReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetJoinedSuperGroupListReq.Unmarshal(m, b) } - -func (*GetJoinedSuperGroupListReq) ProtoMessage() {} - -func (x *GetJoinedSuperGroupListReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_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) +func (m *GetJoinedSuperGroupListReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetJoinedSuperGroupListReq.Marshal(b, m, deterministic) } - -// Deprecated: Use GetJoinedSuperGroupListReq.ProtoReflect.Descriptor instead. -func (*GetJoinedSuperGroupListReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{51} +func (dst *GetJoinedSuperGroupListReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetJoinedSuperGroupListReq.Merge(dst, src) +} +func (m *GetJoinedSuperGroupListReq) XXX_Size() int { + return xxx_messageInfo_GetJoinedSuperGroupListReq.Size(m) +} +func (m *GetJoinedSuperGroupListReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetJoinedSuperGroupListReq.DiscardUnknown(m) } -func (x *GetJoinedSuperGroupListReq) GetOperationID() string { - if x != nil { - return x.OperationID +var xxx_messageInfo_GetJoinedSuperGroupListReq proto.InternalMessageInfo + +func (m *GetJoinedSuperGroupListReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -func (x *GetJoinedSuperGroupListReq) GetUserID() string { - if x != nil { - return x.UserID +func (m *GetJoinedSuperGroupListReq) GetUserID() string { + if m != nil { + return m.UserID } return "" } -func (x *GetJoinedSuperGroupListReq) GetOpUserID() string { - if x != nil { - return x.OpUserID +func (m *GetJoinedSuperGroupListReq) GetOpUserID() string { + if m != nil { + return m.OpUserID } return "" } type GetJoinedSuperGroupListResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp,proto3" json:"commonResp,omitempty"` - GroupList []*sdk_ws.GroupInfo `protobuf:"bytes,3,rep,name=GroupList,proto3" json:"GroupList,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + GroupList []*sdk_ws.GroupInfo `protobuf:"bytes,3,rep,name=GroupList" json:"GroupList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetJoinedSuperGroupListResp) Reset() { - *x = GetJoinedSuperGroupListResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[52] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *GetJoinedSuperGroupListResp) Reset() { *m = GetJoinedSuperGroupListResp{} } +func (m *GetJoinedSuperGroupListResp) String() string { return proto.CompactTextString(m) } +func (*GetJoinedSuperGroupListResp) ProtoMessage() {} +func (*GetJoinedSuperGroupListResp) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{52} } - -func (x *GetJoinedSuperGroupListResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetJoinedSuperGroupListResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetJoinedSuperGroupListResp.Unmarshal(m, b) } - -func (*GetJoinedSuperGroupListResp) ProtoMessage() {} - -func (x *GetJoinedSuperGroupListResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[52] - 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) +func (m *GetJoinedSuperGroupListResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetJoinedSuperGroupListResp.Marshal(b, m, deterministic) } - -// Deprecated: Use GetJoinedSuperGroupListResp.ProtoReflect.Descriptor instead. -func (*GetJoinedSuperGroupListResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{52} +func (dst *GetJoinedSuperGroupListResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetJoinedSuperGroupListResp.Merge(dst, src) +} +func (m *GetJoinedSuperGroupListResp) XXX_Size() int { + return xxx_messageInfo_GetJoinedSuperGroupListResp.Size(m) +} +func (m *GetJoinedSuperGroupListResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetJoinedSuperGroupListResp.DiscardUnknown(m) } -func (x *GetJoinedSuperGroupListResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +var xxx_messageInfo_GetJoinedSuperGroupListResp proto.InternalMessageInfo + +func (m *GetJoinedSuperGroupListResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } return nil } -func (x *GetJoinedSuperGroupListResp) GetGroupList() []*sdk_ws.GroupInfo { - if x != nil { - return x.GroupList +func (m *GetJoinedSuperGroupListResp) GetGroupList() []*sdk_ws.GroupInfo { + if m != nil { + return m.GroupList } return nil } type GetSuperGroupsInfoReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GroupIDList []string `protobuf:"bytes,1,rep,name=GroupIDList,proto3" json:"GroupIDList,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"` //No verification permission + GroupIDList []string `protobuf:"bytes,1,rep,name=GroupIDList" json:"GroupIDList,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 *GetSuperGroupsInfoReq) Reset() { - *x = GetSuperGroupsInfoReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[53] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *GetSuperGroupsInfoReq) Reset() { *m = GetSuperGroupsInfoReq{} } +func (m *GetSuperGroupsInfoReq) String() string { return proto.CompactTextString(m) } +func (*GetSuperGroupsInfoReq) ProtoMessage() {} +func (*GetSuperGroupsInfoReq) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{53} } - -func (x *GetSuperGroupsInfoReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetSuperGroupsInfoReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetSuperGroupsInfoReq.Unmarshal(m, b) } - -func (*GetSuperGroupsInfoReq) ProtoMessage() {} - -func (x *GetSuperGroupsInfoReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[53] - 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) +func (m *GetSuperGroupsInfoReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetSuperGroupsInfoReq.Marshal(b, m, deterministic) } - -// Deprecated: Use GetSuperGroupsInfoReq.ProtoReflect.Descriptor instead. -func (*GetSuperGroupsInfoReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{53} +func (dst *GetSuperGroupsInfoReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetSuperGroupsInfoReq.Merge(dst, src) +} +func (m *GetSuperGroupsInfoReq) XXX_Size() int { + return xxx_messageInfo_GetSuperGroupsInfoReq.Size(m) +} +func (m *GetSuperGroupsInfoReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetSuperGroupsInfoReq.DiscardUnknown(m) } -func (x *GetSuperGroupsInfoReq) GetGroupIDList() []string { - if x != nil { - return x.GroupIDList +var xxx_messageInfo_GetSuperGroupsInfoReq proto.InternalMessageInfo + +func (m *GetSuperGroupsInfoReq) GetGroupIDList() []string { + if m != nil { + return m.GroupIDList } return nil } -func (x *GetSuperGroupsInfoReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *GetSuperGroupsInfoReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -func (x *GetSuperGroupsInfoReq) GetOpUserID() string { - if x != nil { - return x.OpUserID +func (m *GetSuperGroupsInfoReq) GetOpUserID() string { + if m != nil { + return m.OpUserID } return "" } type GetSuperGroupsInfoResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp,proto3" json:"commonResp,omitempty"` - GroupInfoList []*sdk_ws.GroupInfo `protobuf:"bytes,3,rep,name=GroupInfoList,proto3" json:"GroupInfoList,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + GroupInfoList []*sdk_ws.GroupInfo `protobuf:"bytes,3,rep,name=GroupInfoList" json:"GroupInfoList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetSuperGroupsInfoResp) Reset() { - *x = GetSuperGroupsInfoResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[54] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *GetSuperGroupsInfoResp) Reset() { *m = GetSuperGroupsInfoResp{} } +func (m *GetSuperGroupsInfoResp) String() string { return proto.CompactTextString(m) } +func (*GetSuperGroupsInfoResp) ProtoMessage() {} +func (*GetSuperGroupsInfoResp) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{54} } - -func (x *GetSuperGroupsInfoResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetSuperGroupsInfoResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetSuperGroupsInfoResp.Unmarshal(m, b) } - -func (*GetSuperGroupsInfoResp) ProtoMessage() {} - -func (x *GetSuperGroupsInfoResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[54] - 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) +func (m *GetSuperGroupsInfoResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetSuperGroupsInfoResp.Marshal(b, m, deterministic) } - -// Deprecated: Use GetSuperGroupsInfoResp.ProtoReflect.Descriptor instead. -func (*GetSuperGroupsInfoResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{54} +func (dst *GetSuperGroupsInfoResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetSuperGroupsInfoResp.Merge(dst, src) +} +func (m *GetSuperGroupsInfoResp) XXX_Size() int { + return xxx_messageInfo_GetSuperGroupsInfoResp.Size(m) +} +func (m *GetSuperGroupsInfoResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetSuperGroupsInfoResp.DiscardUnknown(m) } -func (x *GetSuperGroupsInfoResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +var xxx_messageInfo_GetSuperGroupsInfoResp proto.InternalMessageInfo + +func (m *GetSuperGroupsInfoResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } return nil } -func (x *GetSuperGroupsInfoResp) GetGroupInfoList() []*sdk_ws.GroupInfo { - if x != nil { - return x.GroupInfoList +func (m *GetSuperGroupsInfoResp) GetGroupInfoList() []*sdk_ws.GroupInfo { + if m != nil { + return m.GroupInfoList } return nil } type SetGroupMemberInfoReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GroupID string `protobuf:"bytes,1,opt,name=groupID,proto3" json:"groupID,omitempty"` - UserID string `protobuf:"bytes,2,opt,name=userID,proto3" json:"userID,omitempty"` - OpUserID string `protobuf:"bytes,3,opt,name=opUserID,proto3" json:"opUserID,omitempty"` - OperationID string `protobuf:"bytes,4,opt,name=operationID,proto3" json:"operationID,omitempty"` - Nickname *wrapperspb.StringValue `protobuf:"bytes,5,opt,name=nickname,proto3" json:"nickname,omitempty"` - FaceURL *wrapperspb.StringValue `protobuf:"bytes,6,opt,name=faceURL,proto3" json:"faceURL,omitempty"` - RoleLevel *wrapperspb.Int32Value `protobuf:"bytes,7,opt,name=roleLevel,proto3" json:"roleLevel,omitempty"` - Ex *wrapperspb.StringValue `protobuf:"bytes,8,opt,name=ex,proto3" json:"ex,omitempty"` + GroupID string `protobuf:"bytes,1,opt,name=groupID" json:"groupID,omitempty"` + UserID string `protobuf:"bytes,2,opt,name=userID" json:"userID,omitempty"` + OpUserID string `protobuf:"bytes,3,opt,name=opUserID" json:"opUserID,omitempty"` + OperationID string `protobuf:"bytes,4,opt,name=operationID" json:"operationID,omitempty"` + Nickname *wrapperspb.StringValue `protobuf:"bytes,5,opt,name=nickname" json:"nickname,omitempty"` + FaceURL *wrapperspb.StringValue `protobuf:"bytes,6,opt,name=faceURL" json:"faceURL,omitempty"` + RoleLevel *wrapperspb.Int32Value `protobuf:"bytes,7,opt,name=roleLevel" json:"roleLevel,omitempty"` + Ex *wrapperspb.StringValue `protobuf:"bytes,8,opt,name=ex" json:"ex,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SetGroupMemberInfoReq) Reset() { *m = SetGroupMemberInfoReq{} } +func (m *SetGroupMemberInfoReq) String() string { return proto.CompactTextString(m) } +func (*SetGroupMemberInfoReq) ProtoMessage() {} +func (*SetGroupMemberInfoReq) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{55} } - -func (x *SetGroupMemberInfoReq) Reset() { - *x = SetGroupMemberInfoReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[55] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (m *SetGroupMemberInfoReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SetGroupMemberInfoReq.Unmarshal(m, b) } - -func (x *SetGroupMemberInfoReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *SetGroupMemberInfoReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SetGroupMemberInfoReq.Marshal(b, m, deterministic) } - -func (*SetGroupMemberInfoReq) ProtoMessage() {} - -func (x *SetGroupMemberInfoReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[55] - 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) +func (dst *SetGroupMemberInfoReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_SetGroupMemberInfoReq.Merge(dst, src) } - -// Deprecated: Use SetGroupMemberInfoReq.ProtoReflect.Descriptor instead. -func (*SetGroupMemberInfoReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{55} +func (m *SetGroupMemberInfoReq) XXX_Size() int { + return xxx_messageInfo_SetGroupMemberInfoReq.Size(m) +} +func (m *SetGroupMemberInfoReq) XXX_DiscardUnknown() { + xxx_messageInfo_SetGroupMemberInfoReq.DiscardUnknown(m) } -func (x *SetGroupMemberInfoReq) GetGroupID() string { - if x != nil { - return x.GroupID +var xxx_messageInfo_SetGroupMemberInfoReq proto.InternalMessageInfo + +func (m *SetGroupMemberInfoReq) GetGroupID() string { + if m != nil { + return m.GroupID } return "" } -func (x *SetGroupMemberInfoReq) GetUserID() string { - if x != nil { - return x.UserID +func (m *SetGroupMemberInfoReq) GetUserID() string { + if m != nil { + return m.UserID } return "" } -func (x *SetGroupMemberInfoReq) GetOpUserID() string { - if x != nil { - return x.OpUserID +func (m *SetGroupMemberInfoReq) GetOpUserID() string { + if m != nil { + return m.OpUserID } return "" } -func (x *SetGroupMemberInfoReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *SetGroupMemberInfoReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -func (x *SetGroupMemberInfoReq) GetNickname() *wrapperspb.StringValue { - if x != nil { - return x.Nickname +func (m *SetGroupMemberInfoReq) GetNickname() *wrapperspb.StringValue { + if m != nil { + return m.Nickname } return nil } -func (x *SetGroupMemberInfoReq) GetFaceURL() *wrapperspb.StringValue { - if x != nil { - return x.FaceURL +func (m *SetGroupMemberInfoReq) GetFaceURL() *wrapperspb.StringValue { + if m != nil { + return m.FaceURL } return nil } -func (x *SetGroupMemberInfoReq) GetRoleLevel() *wrapperspb.Int32Value { - if x != nil { - return x.RoleLevel +func (m *SetGroupMemberInfoReq) GetRoleLevel() *wrapperspb.Int32Value { + if m != nil { + return m.RoleLevel } return nil } -func (x *SetGroupMemberInfoReq) GetEx() *wrapperspb.StringValue { - if x != nil { - return x.Ex +func (m *SetGroupMemberInfoReq) GetEx() *wrapperspb.StringValue { + if m != nil { + return m.Ex } return nil } type SetGroupMemberInfoResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp" json:"CommonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp,proto3" json:"CommonResp,omitempty"` +func (m *SetGroupMemberInfoResp) Reset() { *m = SetGroupMemberInfoResp{} } +func (m *SetGroupMemberInfoResp) String() string { return proto.CompactTextString(m) } +func (*SetGroupMemberInfoResp) ProtoMessage() {} +func (*SetGroupMemberInfoResp) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{56} +} +func (m *SetGroupMemberInfoResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SetGroupMemberInfoResp.Unmarshal(m, b) +} +func (m *SetGroupMemberInfoResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SetGroupMemberInfoResp.Marshal(b, m, deterministic) +} +func (dst *SetGroupMemberInfoResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_SetGroupMemberInfoResp.Merge(dst, src) +} +func (m *SetGroupMemberInfoResp) XXX_Size() int { + return xxx_messageInfo_SetGroupMemberInfoResp.Size(m) +} +func (m *SetGroupMemberInfoResp) XXX_DiscardUnknown() { + xxx_messageInfo_SetGroupMemberInfoResp.DiscardUnknown(m) } -func (x *SetGroupMemberInfoResp) Reset() { - *x = SetGroupMemberInfoResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[56] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +var xxx_messageInfo_SetGroupMemberInfoResp proto.InternalMessageInfo + +func (m *SetGroupMemberInfoResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } + return nil +} + +type GetGroupAbstractInfoReq struct { + GroupID string `protobuf:"bytes,1,opt,name=groupID" json:"groupID,omitempty"` + OpUserID string `protobuf:"bytes,2,opt,name=opUserID" json:"opUserID,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 (x *SetGroupMemberInfoResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetGroupAbstractInfoReq) Reset() { *m = GetGroupAbstractInfoReq{} } +func (m *GetGroupAbstractInfoReq) String() string { return proto.CompactTextString(m) } +func (*GetGroupAbstractInfoReq) ProtoMessage() {} +func (*GetGroupAbstractInfoReq) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{57} +} +func (m *GetGroupAbstractInfoReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetGroupAbstractInfoReq.Unmarshal(m, b) +} +func (m *GetGroupAbstractInfoReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetGroupAbstractInfoReq.Marshal(b, m, deterministic) +} +func (dst *GetGroupAbstractInfoReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetGroupAbstractInfoReq.Merge(dst, src) +} +func (m *GetGroupAbstractInfoReq) XXX_Size() int { + return xxx_messageInfo_GetGroupAbstractInfoReq.Size(m) +} +func (m *GetGroupAbstractInfoReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetGroupAbstractInfoReq.DiscardUnknown(m) } -func (*SetGroupMemberInfoResp) ProtoMessage() {} +var xxx_messageInfo_GetGroupAbstractInfoReq proto.InternalMessageInfo -func (x *SetGroupMemberInfoResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[56] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (m *GetGroupAbstractInfoReq) GetGroupID() string { + if m != nil { + return m.GroupID } - return mi.MessageOf(x) + return "" } -// Deprecated: Use SetGroupMemberInfoResp.ProtoReflect.Descriptor instead. -func (*SetGroupMemberInfoResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{56} +func (m *GetGroupAbstractInfoReq) GetOpUserID() string { + if m != nil { + return m.OpUserID + } + return "" } -func (x *SetGroupMemberInfoResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +func (m *GetGroupAbstractInfoReq) GetOperationID() string { + if m != nil { + return m.OperationID } - return nil + return "" } -type GetGroupAbstractInfoReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +type GetGroupAbstractInfoResp struct { + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp" json:"CommonResp,omitempty"` + GroupMemberNumber int32 `protobuf:"varint,2,opt,name=groupMemberNumber" json:"groupMemberNumber,omitempty"` + GroupMemberListHash uint64 `protobuf:"varint,3,opt,name=groupMemberListHash" json:"groupMemberListHash,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} - GroupID string `protobuf:"bytes,1,opt,name=groupID,proto3" json:"groupID,omitempty"` - OpUserID string `protobuf:"bytes,2,opt,name=opUserID,proto3" json:"opUserID,omitempty"` - OperationID string `protobuf:"bytes,3,opt,name=operationID,proto3" json:"operationID,omitempty"` +func (m *GetGroupAbstractInfoResp) Reset() { *m = GetGroupAbstractInfoResp{} } +func (m *GetGroupAbstractInfoResp) String() string { return proto.CompactTextString(m) } +func (*GetGroupAbstractInfoResp) ProtoMessage() {} +func (*GetGroupAbstractInfoResp) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{58} +} +func (m *GetGroupAbstractInfoResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetGroupAbstractInfoResp.Unmarshal(m, b) +} +func (m *GetGroupAbstractInfoResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetGroupAbstractInfoResp.Marshal(b, m, deterministic) +} +func (dst *GetGroupAbstractInfoResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetGroupAbstractInfoResp.Merge(dst, src) +} +func (m *GetGroupAbstractInfoResp) XXX_Size() int { + return xxx_messageInfo_GetGroupAbstractInfoResp.Size(m) +} +func (m *GetGroupAbstractInfoResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetGroupAbstractInfoResp.DiscardUnknown(m) } -func (x *GetGroupAbstractInfoReq) Reset() { - *x = GetGroupAbstractInfoReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[57] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +var xxx_messageInfo_GetGroupAbstractInfoResp proto.InternalMessageInfo + +func (m *GetGroupAbstractInfoResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } + return nil } -func (x *GetGroupAbstractInfoReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GetGroupAbstractInfoResp) GetGroupMemberNumber() int32 { + if m != nil { + return m.GroupMemberNumber + } + return 0 } -func (*GetGroupAbstractInfoReq) ProtoMessage() {} - -func (x *GetGroupAbstractInfoReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[57] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (m *GetGroupAbstractInfoResp) GetGroupMemberListHash() uint64 { + if m != nil { + return m.GroupMemberListHash } - return mi.MessageOf(x) + return 0 } -// Deprecated: Use GetGroupAbstractInfoReq.ProtoReflect.Descriptor instead. -func (*GetGroupAbstractInfoReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{57} +type GroupIsExistReq struct { + GroupIDList []string `protobuf:"bytes,1,rep,name=groupIDList" json:"groupIDList,omitempty"` + OpUserID string `protobuf:"bytes,2,opt,name=opUserID" json:"opUserID,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 *GroupIsExistReq) Reset() { *m = GroupIsExistReq{} } +func (m *GroupIsExistReq) String() string { return proto.CompactTextString(m) } +func (*GroupIsExistReq) ProtoMessage() {} +func (*GroupIsExistReq) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{59} +} +func (m *GroupIsExistReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GroupIsExistReq.Unmarshal(m, b) +} +func (m *GroupIsExistReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GroupIsExistReq.Marshal(b, m, deterministic) +} +func (dst *GroupIsExistReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GroupIsExistReq.Merge(dst, src) +} +func (m *GroupIsExistReq) XXX_Size() int { + return xxx_messageInfo_GroupIsExistReq.Size(m) +} +func (m *GroupIsExistReq) XXX_DiscardUnknown() { + xxx_messageInfo_GroupIsExistReq.DiscardUnknown(m) } -func (x *GetGroupAbstractInfoReq) GetGroupID() string { - if x != nil { - return x.GroupID +var xxx_messageInfo_GroupIsExistReq proto.InternalMessageInfo + +func (m *GroupIsExistReq) GetGroupIDList() []string { + if m != nil { + return m.GroupIDList } - return "" + return nil } -func (x *GetGroupAbstractInfoReq) GetOpUserID() string { - if x != nil { - return x.OpUserID +func (m *GroupIsExistReq) GetOpUserID() string { + if m != nil { + return m.OpUserID } return "" } -func (x *GetGroupAbstractInfoReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *GroupIsExistReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -type GetGroupAbstractInfoResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +type GroupIsExistResp struct { + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp" json:"CommonResp,omitempty"` + IsExistMap map[string]bool `protobuf:"bytes,2,rep,name=IsExistMap" json:"IsExistMap,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp,proto3" json:"CommonResp,omitempty"` - GroupMemberNumber int32 `protobuf:"varint,2,opt,name=groupMemberNumber,proto3" json:"groupMemberNumber,omitempty"` - GroupMemberListHash uint64 `protobuf:"varint,3,opt,name=groupMemberListHash,proto3" json:"groupMemberListHash,omitempty"` +func (m *GroupIsExistResp) Reset() { *m = GroupIsExistResp{} } +func (m *GroupIsExistResp) String() string { return proto.CompactTextString(m) } +func (*GroupIsExistResp) ProtoMessage() {} +func (*GroupIsExistResp) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{60} +} +func (m *GroupIsExistResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GroupIsExistResp.Unmarshal(m, b) +} +func (m *GroupIsExistResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GroupIsExistResp.Marshal(b, m, deterministic) +} +func (dst *GroupIsExistResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GroupIsExistResp.Merge(dst, src) +} +func (m *GroupIsExistResp) XXX_Size() int { + return xxx_messageInfo_GroupIsExistResp.Size(m) +} +func (m *GroupIsExistResp) XXX_DiscardUnknown() { + xxx_messageInfo_GroupIsExistResp.DiscardUnknown(m) } -func (x *GetGroupAbstractInfoResp) Reset() { - *x = GetGroupAbstractInfoResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[58] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +var xxx_messageInfo_GroupIsExistResp proto.InternalMessageInfo + +func (m *GroupIsExistResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } + return nil } -func (x *GetGroupAbstractInfoResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (m *GroupIsExistResp) GetIsExistMap() map[string]bool { + if m != nil { + return m.IsExistMap + } + return nil } -func (*GetGroupAbstractInfoResp) ProtoMessage() {} +type UserIsInGroupReq struct { + GroupID string `protobuf:"bytes,1,opt,name=groupID" json:"groupID,omitempty"` + UserIDList []string `protobuf:"bytes,2,rep,name=userIDList" json:"userIDList,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 (x *GetGroupAbstractInfoResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[58] - 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) +func (m *UserIsInGroupReq) Reset() { *m = UserIsInGroupReq{} } +func (m *UserIsInGroupReq) String() string { return proto.CompactTextString(m) } +func (*UserIsInGroupReq) ProtoMessage() {} +func (*UserIsInGroupReq) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{61} +} +func (m *UserIsInGroupReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UserIsInGroupReq.Unmarshal(m, b) +} +func (m *UserIsInGroupReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UserIsInGroupReq.Marshal(b, m, deterministic) +} +func (dst *UserIsInGroupReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_UserIsInGroupReq.Merge(dst, src) +} +func (m *UserIsInGroupReq) XXX_Size() int { + return xxx_messageInfo_UserIsInGroupReq.Size(m) +} +func (m *UserIsInGroupReq) XXX_DiscardUnknown() { + xxx_messageInfo_UserIsInGroupReq.DiscardUnknown(m) } -// Deprecated: Use GetGroupAbstractInfoResp.ProtoReflect.Descriptor instead. -func (*GetGroupAbstractInfoResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{58} +var xxx_messageInfo_UserIsInGroupReq proto.InternalMessageInfo + +func (m *UserIsInGroupReq) GetGroupID() string { + if m != nil { + return m.GroupID + } + return "" } -func (x *GetGroupAbstractInfoResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +func (m *UserIsInGroupReq) GetUserIDList() []string { + if m != nil { + return m.UserIDList } return nil } -func (x *GetGroupAbstractInfoResp) GetGroupMemberNumber() int32 { - if x != nil { - return x.GroupMemberNumber +func (m *UserIsInGroupReq) GetOperationID() string { + if m != nil { + return m.OperationID } - return 0 + return "" +} + +type UserIsInGroupResp struct { + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp" json:"CommonResp,omitempty"` + IsExistMap map[string]bool `protobuf:"bytes,2,rep,name=IsExistMap" json:"IsExistMap,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UserIsInGroupResp) Reset() { *m = UserIsInGroupResp{} } +func (m *UserIsInGroupResp) String() string { return proto.CompactTextString(m) } +func (*UserIsInGroupResp) ProtoMessage() {} +func (*UserIsInGroupResp) Descriptor() ([]byte, []int) { + return fileDescriptor_group_62d80c4ee8bcf1ea, []int{62} +} +func (m *UserIsInGroupResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UserIsInGroupResp.Unmarshal(m, b) +} +func (m *UserIsInGroupResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UserIsInGroupResp.Marshal(b, m, deterministic) +} +func (dst *UserIsInGroupResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_UserIsInGroupResp.Merge(dst, src) +} +func (m *UserIsInGroupResp) XXX_Size() int { + return xxx_messageInfo_UserIsInGroupResp.Size(m) +} +func (m *UserIsInGroupResp) XXX_DiscardUnknown() { + xxx_messageInfo_UserIsInGroupResp.DiscardUnknown(m) } -func (x *GetGroupAbstractInfoResp) GetGroupMemberListHash() uint64 { - if x != nil { - return x.GroupMemberListHash +var xxx_messageInfo_UserIsInGroupResp proto.InternalMessageInfo + +func (m *UserIsInGroupResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } - return 0 + return nil } -var File_group_group_proto protoreflect.FileDescriptor - -var file_group_group_proto_rawDesc = []byte{ - 0x0a, 0x11, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 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, 0x1a, 0x2e, 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, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 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, 0x45, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x07, 0x45, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x45, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x45, 0x72, - 0x72, 0x4d, 0x73, 0x67, 0x22, 0x4a, 0x0a, 0x12, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x64, 0x64, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, - 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, - 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x52, 0x6f, 0x6c, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x52, 0x6f, 0x6c, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, - 0x22, 0xef, 0x01, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x52, 0x65, 0x71, 0x12, 0x41, 0x0a, 0x0e, 0x49, 0x6e, 0x69, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x64, 0x64, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x49, 0x6e, 0x69, 0x74, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x09, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, - 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, - 0x66, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, - 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, - 0x49, 0x44, 0x22, 0x7f, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x45, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, - 0x16, 0x0a, 0x06, 0x45, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x45, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x3a, 0x0a, 0x09, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, - 0x6e, 0x66, 0x6f, 0x22, 0x72, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 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, 0x12, 0x1a, 0x0a, 0x08, 0x4f, - 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4f, - 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x22, 0x89, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, - 0x07, 0x45, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, - 0x45, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x45, 0x72, 0x72, 0x4d, 0x73, - 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x45, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, - 0x42, 0x0a, 0x0d, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, - 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x4c, - 0x69, 0x73, 0x74, 0x22, 0x9d, 0x01, 0x0a, 0x0f, 0x53, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x4c, 0x0a, 0x0f, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x49, 0x6e, 0x66, 0x6f, 0x46, 0x6f, 0x72, 0x53, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x22, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x46, 0x6f, - 0x72, 0x53, 0x65, 0x74, 0x52, 0x0f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x46, - 0x6f, 0x72, 0x53, 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, - 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, - 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x44, 0x22, 0x45, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x31, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, - 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x7a, 0x0a, 0x1a, 0x47, 0x65, - 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x55, 0x73, - 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4f, 0x70, 0x55, 0x73, - 0x65, 0x72, 0x49, 0x44, 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, 0x12, 0x1e, 0x0a, 0x0a, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x73, - 0x65, 0x72, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x46, 0x72, 0x6f, 0x6d, - 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x22, 0x9c, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x72, 0x72, 0x43, 0x6f, 0x64, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x45, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, - 0x12, 0x16, 0x0a, 0x06, 0x45, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x45, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x4b, 0x0a, 0x10, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x52, 0x10, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x74, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, - 0x52, 0x65, 0x71, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1a, 0x0a, - 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x9f, 0x01, 0x0a, 0x1d, - 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x31, 0x0a, - 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x4b, 0x0a, 0x10, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x10, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x22, 0xbf, 0x01, - 0x0a, 0x15, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4f, - 0x77, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, - 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x4f, 0x6c, 0x64, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, - 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x4f, 0x6c, 0x64, 0x4f, 0x77, - 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x4e, 0x65, 0x77, - 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0e, 0x4e, 0x65, 0x77, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, - 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x22, - 0x4b, 0x0a, 0x16, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x31, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x52, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0xcc, 0x01, 0x0a, - 0x0c, 0x4a, 0x6f, 0x69, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, - 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x52, 0x65, 0x71, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x52, 0x65, 0x71, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, - 0x72, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, - 0x72, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x4a, 0x6f, 0x69, 0x6e, 0x53, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x4a, 0x6f, 0x69, 0x6e, 0x53, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x72, - 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x49, 0x6e, - 0x76, 0x69, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x22, 0x42, 0x0a, 0x0d, 0x4a, - 0x6f, 0x69, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x31, 0x0a, 0x0a, - 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x11, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x52, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, - 0xd9, 0x01, 0x0a, 0x1b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 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, 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x18, 0x0a, - 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x46, 0x72, 0x6f, 0x6d, 0x55, - 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x46, 0x72, 0x6f, - 0x6d, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x48, 0x61, 0x6e, 0x64, 0x6c, - 0x65, 0x64, 0x4d, 0x73, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x48, 0x61, 0x6e, - 0x64, 0x6c, 0x65, 0x64, 0x4d, 0x73, 0x67, 0x12, 0x22, 0x0a, 0x0c, 0x48, 0x61, 0x6e, 0x64, 0x6c, - 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x48, - 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x51, 0x0a, 0x1c, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x31, 0x0a, 0x0a, 0x43, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x11, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x52, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x66, - 0x0a, 0x0c, 0x51, 0x75, 0x69, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x12, 0x18, - 0x0a, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 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, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70, - 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4f, 0x70, - 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x22, 0x42, 0x0a, 0x0d, 0x51, 0x75, 0x69, 0x74, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x31, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, - 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0xa1, 0x01, 0x0a, 0x15, 0x47, - 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x12, 0x1a, - 0x0a, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, - 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x46, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x4e, 0x65, 0x78, 0x74, 0x53, 0x65, 0x71, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x4e, 0x65, 0x78, 0x74, 0x53, 0x65, 0x71, 0x22, 0xac, - 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x72, 0x72, - 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x45, 0x72, 0x72, 0x43, - 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x45, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x45, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x46, 0x0a, 0x0a, 0x6d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x26, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, - 0x61, 0x6d, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x46, - 0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x78, 0x74, 0x53, 0x65, 0x71, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6e, 0x65, 0x78, 0x74, 0x53, 0x65, 0x71, 0x22, 0x90, 0x01, - 0x0a, 0x16, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, - 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x20, - 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, - 0x22, 0x93, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, - 0x45, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x45, - 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x45, 0x72, 0x72, 0x4d, 0x73, 0x67, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x45, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x46, - 0x0a, 0x0a, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x6d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x22, 0xb0, 0x01, 0x0a, 0x12, 0x4b, 0x69, 0x63, 0x6b, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, - 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x12, 0x2a, 0x0a, 0x10, 0x4b, 0x69, 0x63, 0x6b, 0x65, - 0x64, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x10, 0x4b, 0x69, 0x63, 0x6b, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x1a, 0x0a, - 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x22, 0x3b, 0x0a, 0x09, 0x49, 0x64, 0x32, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x16, - 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x7f, 0x0a, 0x13, 0x4b, 0x69, 0x63, 0x6b, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, - 0x07, 0x45, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, - 0x45, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x45, 0x72, 0x72, 0x4d, 0x73, - 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x45, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, - 0x36, 0x0a, 0x0d, 0x49, 0x64, 0x32, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4c, 0x69, 0x73, 0x74, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x49, - 0x64, 0x32, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0d, 0x49, 0x64, 0x32, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x75, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4a, 0x6f, - 0x69, 0x6e, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, - 0x12, 0x1e, 0x0a, 0x0a, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x46, 0x72, 0x6f, 0x6d, 0x55, 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, 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x22, 0x86, - 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x72, 0x72, - 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x45, 0x72, 0x72, 0x43, - 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x45, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x45, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x3a, 0x0a, 0x09, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x22, 0xb4, 0x01, 0x0a, 0x14, 0x49, 0x6e, 0x76, 0x69, - 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x72, 0x6f, 0x75, 0x70, 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, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, - 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x52, 0x65, - 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x11, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x55, - 0x73, 0x65, 0x72, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x11, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x4c, 0x69, - 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x22, 0x81, - 0x01, 0x0a, 0x15, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x54, 0x6f, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x72, 0x72, 0x43, - 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x45, 0x72, 0x72, 0x43, 0x6f, - 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x45, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x45, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x36, 0x0a, 0x0d, 0x49, 0x64, - 0x32, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x10, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x49, 0x64, 0x32, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x52, 0x0d, 0x49, 0x64, 0x32, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4c, 0x69, - 0x73, 0x74, 0x22, 0x9c, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, - 0x6c, 0x6c, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, - 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, - 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x06, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x22, 0x91, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x6c, - 0x6c, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x45, - 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x45, 0x72, - 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x45, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x45, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x46, 0x0a, - 0x0a, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x6d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x4c, 0x69, 0x73, 0x74, 0x22, 0xa2, 0x01, 0x0a, 0x08, 0x43, 0x4d, 0x53, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x12, 0x3a, 0x0a, 0x09, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, - 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2e, - 0x0a, 0x12, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, - 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, - 0x0a, 0x10, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, - 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4f, - 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x22, 0xae, 0x01, 0x0a, 0x0c, 0x47, - 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x12, 0x44, 0x0a, 0x0a, 0x50, - 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 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, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 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, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0xd4, 0x01, 0x0a, 0x0d, - 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2d, 0x0a, - 0x09, 0x43, 0x4d, 0x53, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0f, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x43, 0x4d, 0x53, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x52, 0x09, 0x43, 0x4d, 0x53, 0x47, 0x72, 0x6f, 0x75, 0x70, 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, 0x1a, 0x0a, 0x08, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x75, 0x6d, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x75, 0x6d, 0x12, - 0x31, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x22, 0x4f, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, - 0x44, 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, 0xb5, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x43, 0x4d, 0x53, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, - 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x03, 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, 0x50, - 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0xf4, 0x01, 0x0a, 0x16, - 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x43, - 0x4d, 0x53, 0x52, 0x65, 0x73, 0x70, 0x12, 0x40, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 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, - 0x1e, 0x0a, 0x0a, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x73, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0a, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x73, 0x12, - 0x31, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x22, 0x69, 0x0a, 0x0f, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, - 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x55, 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, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x22, 0x45, 0x0a, - 0x10, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x31, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x43, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x22, 0xa8, 0x01, 0x0a, 0x12, 0x4d, 0x75, 0x74, 0x65, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x6f, - 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, - 0x70, 0x55, 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, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x49, 0x44, 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, 0x22, 0x0a, 0x0c, 0x6d, - 0x75, 0x74, 0x65, 0x64, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0c, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, - 0x48, 0x0a, 0x13, 0x4d, 0x75, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x31, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x8a, 0x01, 0x0a, 0x18, 0x43, 0x61, - 0x6e, 0x63, 0x65, 0x6c, 0x4d, 0x75, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, - 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x55, 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, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x12, 0x16, - 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x22, 0x4e, 0x0a, 0x19, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, - 0x4d, 0x75, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x31, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, - 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x66, 0x0a, 0x0c, 0x4d, 0x75, 0x74, 0x65, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, - 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x55, 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, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x22, 0x42, - 0x0a, 0x0d, 0x4d, 0x75, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x31, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x22, 0x6c, 0x0a, 0x12, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4d, 0x75, 0x74, 0x65, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x55, 0x73, - 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x55, 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, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, - 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, - 0x22, 0x48, 0x0a, 0x13, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4d, 0x75, 0x74, 0x65, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x31, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, - 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0xa7, 0x01, 0x0a, 0x19, 0x53, - 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4e, 0x69, 0x63, - 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 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, 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, 0x12, 0x16, 0x0a, 0x06, - 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, - 0x65, 0x72, 0x49, 0x44, 0x22, 0x4f, 0x0a, 0x1a, 0x53, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x31, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x43, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x72, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x69, 0x6e, - 0x65, 0x64, 0x53, 0x75, 0x70, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 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, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 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, 0x8c, 0x01, 0x0a, 0x1b, 0x47, 0x65, - 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x53, 0x75, 0x70, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x31, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3a, 0x0a, 0x09, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, - 0x61, 0x6d, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x77, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x53, - 0x75, 0x70, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, - 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x4c, - 0x69, 0x73, 0x74, 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, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, - 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, - 0x44, 0x22, 0x8f, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x53, 0x75, 0x70, 0x65, 0x72, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x31, 0x0a, 0x0a, - 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x11, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x42, 0x0a, 0x0d, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, - 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x4c, - 0x69, 0x73, 0x74, 0x22, 0xe2, 0x02, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, - 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x67, 0x72, 0x6f, 0x75, 0x70, 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, - 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, 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, 0x12, 0x38, 0x0a, - 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x6e, - 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x66, 0x61, 0x63, 0x65, 0x55, - 0x52, 0x4c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x66, 0x61, 0x63, 0x65, 0x55, 0x52, 0x4c, 0x12, - 0x39, 0x0a, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, - 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x2c, 0x0a, 0x02, 0x65, 0x78, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x52, 0x02, 0x65, 0x78, 0x22, 0x4b, 0x0a, 0x16, 0x53, 0x65, 0x74, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x31, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x43, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x71, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x41, 0x62, 0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, - 0x12, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, - 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, - 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0xad, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x62, 0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x31, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x43, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2c, 0x0a, 0x11, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x11, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x30, 0x0a, 0x13, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x13, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x4c, 0x69, 0x73, 0x74, 0x48, 0x61, 0x73, 0x68, 0x32, 0xd6, 0x10, 0x0a, 0x05, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x12, 0x3c, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x12, 0x15, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x36, 0x0a, 0x09, 0x6a, 0x6f, 0x69, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x13, 0x2e, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x4a, 0x6f, 0x69, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, - 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x4a, 0x6f, 0x69, 0x6e, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x36, 0x0a, 0x09, 0x71, 0x75, 0x69, 0x74, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x13, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x51, 0x75, - 0x69, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x2e, 0x51, 0x75, 0x69, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x42, 0x0a, 0x0d, 0x67, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x17, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x3f, 0x0a, 0x0c, 0x73, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x53, 0x65, 0x74, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x53, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x60, 0x0a, 0x17, 0x67, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x21, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x47, 0x65, 0x74, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x66, 0x0a, 0x19, 0x67, 0x65, 0x74, 0x55, 0x73, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x23, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x47, 0x65, 0x74, - 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x41, 0x70, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x51, 0x0a, 0x12, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x1c, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4f, 0x77, 0x6e, 0x65, 0x72, - 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x66, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x63, 0x0a, 0x18, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x70, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22, - 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x70, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, - 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x51, 0x0a, 0x12, 0x67, 0x65, 0x74, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x2e, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x54, 0x0a, 0x13, 0x67, 0x65, - 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x1d, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, - 0x1a, 0x1e, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x48, 0x0a, 0x0f, 0x6b, 0x69, 0x63, 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x12, 0x19, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x4b, 0x69, 0x63, 0x6b, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x1a, - 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x4b, 0x69, 0x63, 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x51, 0x0a, 0x12, 0x67, 0x65, - 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x1c, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x69, 0x6e, - 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1d, - 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x65, 0x64, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4e, 0x0a, - 0x11, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x12, 0x1b, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74, - 0x65, 0x55, 0x73, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x1a, - 0x1c, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x55, 0x73, - 0x65, 0x72, 0x54, 0x6f, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4e, 0x0a, - 0x11, 0x67, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x6c, 0x6c, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x12, 0x1b, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x41, 0x6c, 0x6c, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, - 0x1c, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x41, 0x6c, 0x6c, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x36, 0x0a, - 0x09, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x13, 0x2e, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x1a, - 0x14, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x51, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x43, 0x4d, 0x53, 0x12, 0x1c, 0x2e, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x73, 0x43, 0x4d, 0x53, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x43, 0x4d, 0x53, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3f, 0x0a, 0x0c, 0x44, 0x69, 0x73, 0x6d, - 0x69, 0x73, 0x73, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x16, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x2e, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, - 0x1a, 0x17, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x48, 0x0a, 0x0f, 0x4d, 0x75, 0x74, - 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x19, 0x2e, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x4d, 0x75, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, - 0x4d, 0x75, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x5a, 0x0a, 0x15, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4d, 0x75, 0x74, - 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1f, 0x2e, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4d, 0x75, 0x74, 0x65, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4d, 0x75, 0x74, 0x65, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x36, 0x0a, 0x09, 0x4d, 0x75, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x13, 0x2e, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x4d, 0x75, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, - 0x71, 0x1a, 0x14, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x4d, 0x75, 0x74, 0x65, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x48, 0x0a, 0x0f, 0x43, 0x61, 0x6e, 0x63, 0x65, - 0x6c, 0x4d, 0x75, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x19, 0x2e, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4d, 0x75, 0x74, 0x65, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x43, 0x61, - 0x6e, 0x63, 0x65, 0x6c, 0x4d, 0x75, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x5d, 0x0a, 0x16, 0x53, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x2e, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x2e, 0x53, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x53, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x60, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x53, 0x75, 0x70, - 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x21, 0x2e, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x53, 0x75, 0x70, - 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x22, - 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x65, 0x64, - 0x53, 0x75, 0x70, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x51, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x53, 0x75, 0x70, 0x65, 0x72, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x2e, 0x47, 0x65, 0x74, 0x53, 0x75, 0x70, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x47, - 0x65, 0x74, 0x53, 0x75, 0x70, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x51, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x2e, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x2e, 0x53, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x2e, 0x53, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x57, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x41, 0x62, 0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, - 0x12, 0x1e, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x41, 0x62, 0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, - 0x1a, 0x1f, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x41, 0x62, 0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, - 0x70, 0x42, 0x1f, 0x5a, 0x1d, 0x4f, 0x70, 0x65, 0x6e, 0x5f, 0x49, 0x4d, 0x2f, 0x70, 0x6b, 0x67, - 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x3b, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_group_group_proto_rawDescOnce sync.Once - file_group_group_proto_rawDescData = file_group_group_proto_rawDesc -) +func (m *UserIsInGroupResp) GetIsExistMap() map[string]bool { + if m != nil { + return m.IsExistMap + } + return nil +} -func file_group_group_proto_rawDescGZIP() []byte { - file_group_group_proto_rawDescOnce.Do(func() { - file_group_group_proto_rawDescData = protoimpl.X.CompressGZIP(file_group_group_proto_rawDescData) - }) - return file_group_group_proto_rawDescData -} - -var file_group_group_proto_msgTypes = make([]protoimpl.MessageInfo, 59) -var file_group_group_proto_goTypes = []interface{}{ - (*CommonResp)(nil), // 0: group.CommonResp - (*GroupAddMemberInfo)(nil), // 1: group.GroupAddMemberInfo - (*CreateGroupReq)(nil), // 2: group.CreateGroupReq - (*CreateGroupResp)(nil), // 3: group.CreateGroupResp - (*GetGroupsInfoReq)(nil), // 4: group.GetGroupsInfoReq - (*GetGroupsInfoResp)(nil), // 5: group.GetGroupsInfoResp - (*SetGroupInfoReq)(nil), // 6: group.SetGroupInfoReq - (*SetGroupInfoResp)(nil), // 7: group.SetGroupInfoResp - (*GetGroupApplicationListReq)(nil), // 8: group.GetGroupApplicationListReq - (*GetGroupApplicationListResp)(nil), // 9: group.GetGroupApplicationListResp - (*GetUserReqApplicationListReq)(nil), // 10: group.GetUserReqApplicationListReq - (*GetUserReqApplicationListResp)(nil), // 11: group.GetUserReqApplicationListResp - (*TransferGroupOwnerReq)(nil), // 12: group.TransferGroupOwnerReq - (*TransferGroupOwnerResp)(nil), // 13: group.TransferGroupOwnerResp - (*JoinGroupReq)(nil), // 14: group.JoinGroupReq - (*JoinGroupResp)(nil), // 15: group.JoinGroupResp - (*GroupApplicationResponseReq)(nil), // 16: group.GroupApplicationResponseReq - (*GroupApplicationResponseResp)(nil), // 17: group.GroupApplicationResponseResp - (*QuitGroupReq)(nil), // 18: group.QuitGroupReq - (*QuitGroupResp)(nil), // 19: group.QuitGroupResp - (*GetGroupMemberListReq)(nil), // 20: group.GetGroupMemberListReq - (*GetGroupMemberListResp)(nil), // 21: group.GetGroupMemberListResp - (*GetGroupMembersInfoReq)(nil), // 22: group.GetGroupMembersInfoReq - (*GetGroupMembersInfoResp)(nil), // 23: group.GetGroupMembersInfoResp - (*KickGroupMemberReq)(nil), // 24: group.KickGroupMemberReq - (*Id2Result)(nil), // 25: group.Id2Result - (*KickGroupMemberResp)(nil), // 26: group.KickGroupMemberResp - (*GetJoinedGroupListReq)(nil), // 27: group.GetJoinedGroupListReq - (*GetJoinedGroupListResp)(nil), // 28: group.GetJoinedGroupListResp - (*InviteUserToGroupReq)(nil), // 29: group.InviteUserToGroupReq - (*InviteUserToGroupResp)(nil), // 30: group.InviteUserToGroupResp - (*GetGroupAllMemberReq)(nil), // 31: group.GetGroupAllMemberReq - (*GetGroupAllMemberResp)(nil), // 32: group.GetGroupAllMemberResp - (*CMSGroup)(nil), // 33: group.CMSGroup - (*GetGroupsReq)(nil), // 34: group.GetGroupsReq - (*GetGroupsResp)(nil), // 35: group.GetGroupsResp - (*GetGroupMemberReq)(nil), // 36: group.GetGroupMemberReq - (*GetGroupMembersCMSReq)(nil), // 37: group.GetGroupMembersCMSReq - (*GetGroupMembersCMSResp)(nil), // 38: group.GetGroupMembersCMSResp - (*DismissGroupReq)(nil), // 39: group.DismissGroupReq - (*DismissGroupResp)(nil), // 40: group.DismissGroupResp - (*MuteGroupMemberReq)(nil), // 41: group.MuteGroupMemberReq - (*MuteGroupMemberResp)(nil), // 42: group.MuteGroupMemberResp - (*CancelMuteGroupMemberReq)(nil), // 43: group.CancelMuteGroupMemberReq - (*CancelMuteGroupMemberResp)(nil), // 44: group.CancelMuteGroupMemberResp - (*MuteGroupReq)(nil), // 45: group.MuteGroupReq - (*MuteGroupResp)(nil), // 46: group.MuteGroupResp - (*CancelMuteGroupReq)(nil), // 47: group.CancelMuteGroupReq - (*CancelMuteGroupResp)(nil), // 48: group.CancelMuteGroupResp - (*SetGroupMemberNicknameReq)(nil), // 49: group.SetGroupMemberNicknameReq - (*SetGroupMemberNicknameResp)(nil), // 50: group.SetGroupMemberNicknameResp - (*GetJoinedSuperGroupListReq)(nil), // 51: group.GetJoinedSuperGroupListReq - (*GetJoinedSuperGroupListResp)(nil), // 52: group.GetJoinedSuperGroupListResp - (*GetSuperGroupsInfoReq)(nil), // 53: group.GetSuperGroupsInfoReq - (*GetSuperGroupsInfoResp)(nil), // 54: group.GetSuperGroupsInfoResp - (*SetGroupMemberInfoReq)(nil), // 55: group.SetGroupMemberInfoReq - (*SetGroupMemberInfoResp)(nil), // 56: group.SetGroupMemberInfoResp - (*GetGroupAbstractInfoReq)(nil), // 57: group.GetGroupAbstractInfoReq - (*GetGroupAbstractInfoResp)(nil), // 58: group.GetGroupAbstractInfoResp - (*sdk_ws.GroupInfo)(nil), // 59: server_api_params.GroupInfo - (*sdk_ws.GroupInfoForSet)(nil), // 60: server_api_params.GroupInfoForSet - (*sdk_ws.GroupRequest)(nil), // 61: server_api_params.GroupRequest - (*sdk_ws.GroupMemberFullInfo)(nil), // 62: server_api_params.GroupMemberFullInfo - (*sdk_ws.RequestPagination)(nil), // 63: server_api_params.RequestPagination - (*sdk_ws.ResponsePagination)(nil), // 64: server_api_params.ResponsePagination - (*wrapperspb.StringValue)(nil), // 65: google.protobuf.StringValue - (*wrapperspb.Int32Value)(nil), // 66: google.protobuf.Int32Value -} -var file_group_group_proto_depIdxs = []int32{ - 1, // 0: group.CreateGroupReq.InitMemberList:type_name -> group.GroupAddMemberInfo - 59, // 1: group.CreateGroupReq.GroupInfo:type_name -> server_api_params.GroupInfo - 59, // 2: group.CreateGroupResp.GroupInfo:type_name -> server_api_params.GroupInfo - 59, // 3: group.GetGroupsInfoResp.GroupInfoList:type_name -> server_api_params.GroupInfo - 60, // 4: group.SetGroupInfoReq.groupInfoForSet:type_name -> server_api_params.GroupInfoForSet - 0, // 5: group.SetGroupInfoResp.CommonResp:type_name -> group.CommonResp - 61, // 6: group.GetGroupApplicationListResp.GroupRequestList:type_name -> server_api_params.GroupRequest - 0, // 7: group.GetUserReqApplicationListResp.CommonResp:type_name -> group.CommonResp - 61, // 8: group.GetUserReqApplicationListResp.GroupRequestList:type_name -> server_api_params.GroupRequest - 0, // 9: group.TransferGroupOwnerResp.CommonResp:type_name -> group.CommonResp - 0, // 10: group.JoinGroupResp.CommonResp:type_name -> group.CommonResp - 0, // 11: group.GroupApplicationResponseResp.CommonResp:type_name -> group.CommonResp - 0, // 12: group.QuitGroupResp.CommonResp:type_name -> group.CommonResp - 62, // 13: group.GetGroupMemberListResp.memberList:type_name -> server_api_params.GroupMemberFullInfo - 62, // 14: group.GetGroupMembersInfoResp.memberList:type_name -> server_api_params.GroupMemberFullInfo - 25, // 15: group.KickGroupMemberResp.Id2ResultList:type_name -> group.Id2Result - 59, // 16: group.GetJoinedGroupListResp.GroupList:type_name -> server_api_params.GroupInfo - 25, // 17: group.InviteUserToGroupResp.Id2ResultList:type_name -> group.Id2Result - 62, // 18: group.GetGroupAllMemberResp.memberList:type_name -> server_api_params.GroupMemberFullInfo - 59, // 19: group.CMSGroup.GroupInfo:type_name -> server_api_params.GroupInfo - 63, // 20: group.GetGroupsReq.Pagination:type_name -> server_api_params.RequestPagination - 33, // 21: group.GetGroupsResp.CMSGroups:type_name -> group.CMSGroup - 64, // 22: group.GetGroupsResp.Pagination:type_name -> server_api_params.ResponsePagination - 0, // 23: group.GetGroupsResp.commonResp:type_name -> group.CommonResp - 63, // 24: group.GetGroupMembersCMSReq.Pagination:type_name -> server_api_params.RequestPagination - 62, // 25: group.GetGroupMembersCMSResp.members:type_name -> server_api_params.GroupMemberFullInfo - 64, // 26: group.GetGroupMembersCMSResp.Pagination:type_name -> server_api_params.ResponsePagination - 0, // 27: group.GetGroupMembersCMSResp.commonResp:type_name -> group.CommonResp - 0, // 28: group.DismissGroupResp.commonResp:type_name -> group.CommonResp - 0, // 29: group.MuteGroupMemberResp.commonResp:type_name -> group.CommonResp - 0, // 30: group.CancelMuteGroupMemberResp.commonResp:type_name -> group.CommonResp - 0, // 31: group.MuteGroupResp.commonResp:type_name -> group.CommonResp - 0, // 32: group.CancelMuteGroupResp.commonResp:type_name -> group.CommonResp - 0, // 33: group.SetGroupMemberNicknameResp.CommonResp:type_name -> group.CommonResp - 0, // 34: group.GetJoinedSuperGroupListResp.commonResp:type_name -> group.CommonResp - 59, // 35: group.GetJoinedSuperGroupListResp.GroupList:type_name -> server_api_params.GroupInfo - 0, // 36: group.GetSuperGroupsInfoResp.commonResp:type_name -> group.CommonResp - 59, // 37: group.GetSuperGroupsInfoResp.GroupInfoList:type_name -> server_api_params.GroupInfo - 65, // 38: group.SetGroupMemberInfoReq.nickname:type_name -> google.protobuf.StringValue - 65, // 39: group.SetGroupMemberInfoReq.faceURL:type_name -> google.protobuf.StringValue - 66, // 40: group.SetGroupMemberInfoReq.roleLevel:type_name -> google.protobuf.Int32Value - 65, // 41: group.SetGroupMemberInfoReq.ex:type_name -> google.protobuf.StringValue - 0, // 42: group.SetGroupMemberInfoResp.CommonResp:type_name -> group.CommonResp - 0, // 43: group.GetGroupAbstractInfoResp.CommonResp:type_name -> group.CommonResp - 2, // 44: group.group.createGroup:input_type -> group.CreateGroupReq - 14, // 45: group.group.joinGroup:input_type -> group.JoinGroupReq - 18, // 46: group.group.quitGroup:input_type -> group.QuitGroupReq - 4, // 47: group.group.getGroupsInfo:input_type -> group.GetGroupsInfoReq - 6, // 48: group.group.setGroupInfo:input_type -> group.SetGroupInfoReq - 8, // 49: group.group.getGroupApplicationList:input_type -> group.GetGroupApplicationListReq - 10, // 50: group.group.getUserReqApplicationList:input_type -> group.GetUserReqApplicationListReq - 12, // 51: group.group.transferGroupOwner:input_type -> group.TransferGroupOwnerReq - 16, // 52: group.group.groupApplicationResponse:input_type -> group.GroupApplicationResponseReq - 20, // 53: group.group.getGroupMemberList:input_type -> group.GetGroupMemberListReq - 22, // 54: group.group.getGroupMembersInfo:input_type -> group.GetGroupMembersInfoReq - 24, // 55: group.group.kickGroupMember:input_type -> group.KickGroupMemberReq - 27, // 56: group.group.getJoinedGroupList:input_type -> group.GetJoinedGroupListReq - 29, // 57: group.group.inviteUserToGroup:input_type -> group.InviteUserToGroupReq - 31, // 58: group.group.getGroupAllMember:input_type -> group.GetGroupAllMemberReq - 34, // 59: group.group.GetGroups:input_type -> group.GetGroupsReq - 37, // 60: group.group.GetGroupMembersCMS:input_type -> group.GetGroupMembersCMSReq - 39, // 61: group.group.DismissGroup:input_type -> group.DismissGroupReq - 41, // 62: group.group.MuteGroupMember:input_type -> group.MuteGroupMemberReq - 43, // 63: group.group.CancelMuteGroupMember:input_type -> group.CancelMuteGroupMemberReq - 45, // 64: group.group.MuteGroup:input_type -> group.MuteGroupReq - 47, // 65: group.group.CancelMuteGroup:input_type -> group.CancelMuteGroupReq - 49, // 66: group.group.SetGroupMemberNickname:input_type -> group.SetGroupMemberNicknameReq - 51, // 67: group.group.GetJoinedSuperGroupList:input_type -> group.GetJoinedSuperGroupListReq - 53, // 68: group.group.GetSuperGroupsInfo:input_type -> group.GetSuperGroupsInfoReq - 55, // 69: group.group.SetGroupMemberInfo:input_type -> group.SetGroupMemberInfoReq - 57, // 70: group.group.GetGroupAbstractInfo:input_type -> group.GetGroupAbstractInfoReq - 3, // 71: group.group.createGroup:output_type -> group.CreateGroupResp - 15, // 72: group.group.joinGroup:output_type -> group.JoinGroupResp - 19, // 73: group.group.quitGroup:output_type -> group.QuitGroupResp - 5, // 74: group.group.getGroupsInfo:output_type -> group.GetGroupsInfoResp - 7, // 75: group.group.setGroupInfo:output_type -> group.SetGroupInfoResp - 9, // 76: group.group.getGroupApplicationList:output_type -> group.GetGroupApplicationListResp - 11, // 77: group.group.getUserReqApplicationList:output_type -> group.GetUserReqApplicationListResp - 13, // 78: group.group.transferGroupOwner:output_type -> group.TransferGroupOwnerResp - 17, // 79: group.group.groupApplicationResponse:output_type -> group.GroupApplicationResponseResp - 21, // 80: group.group.getGroupMemberList:output_type -> group.GetGroupMemberListResp - 23, // 81: group.group.getGroupMembersInfo:output_type -> group.GetGroupMembersInfoResp - 26, // 82: group.group.kickGroupMember:output_type -> group.KickGroupMemberResp - 28, // 83: group.group.getJoinedGroupList:output_type -> group.GetJoinedGroupListResp - 30, // 84: group.group.inviteUserToGroup:output_type -> group.InviteUserToGroupResp - 32, // 85: group.group.getGroupAllMember:output_type -> group.GetGroupAllMemberResp - 35, // 86: group.group.GetGroups:output_type -> group.GetGroupsResp - 38, // 87: group.group.GetGroupMembersCMS:output_type -> group.GetGroupMembersCMSResp - 40, // 88: group.group.DismissGroup:output_type -> group.DismissGroupResp - 42, // 89: group.group.MuteGroupMember:output_type -> group.MuteGroupMemberResp - 44, // 90: group.group.CancelMuteGroupMember:output_type -> group.CancelMuteGroupMemberResp - 46, // 91: group.group.MuteGroup:output_type -> group.MuteGroupResp - 48, // 92: group.group.CancelMuteGroup:output_type -> group.CancelMuteGroupResp - 50, // 93: group.group.SetGroupMemberNickname:output_type -> group.SetGroupMemberNicknameResp - 52, // 94: group.group.GetJoinedSuperGroupList:output_type -> group.GetJoinedSuperGroupListResp - 54, // 95: group.group.GetSuperGroupsInfo:output_type -> group.GetSuperGroupsInfoResp - 56, // 96: group.group.SetGroupMemberInfo:output_type -> group.SetGroupMemberInfoResp - 58, // 97: group.group.GetGroupAbstractInfo:output_type -> group.GetGroupAbstractInfoResp - 71, // [71:98] is the sub-list for method output_type - 44, // [44:71] is the sub-list for method input_type - 44, // [44:44] is the sub-list for extension type_name - 44, // [44:44] is the sub-list for extension extendee - 0, // [0:44] is the sub-list for field type_name -} - -func init() { file_group_group_proto_init() } -func file_group_group_proto_init() { - if File_group_group_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_group_group_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_group_group_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GroupAddMemberInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateGroupReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateGroupResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGroupsInfoReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGroupsInfoResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetGroupInfoReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetGroupInfoResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGroupApplicationListReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGroupApplicationListResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUserReqApplicationListReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUserReqApplicationListResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TransferGroupOwnerReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TransferGroupOwnerResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*JoinGroupReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*JoinGroupResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GroupApplicationResponseReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GroupApplicationResponseResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QuitGroupReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QuitGroupResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGroupMemberListReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGroupMemberListResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGroupMembersInfoReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGroupMembersInfoResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*KickGroupMemberReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Id2Result); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*KickGroupMemberResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetJoinedGroupListReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetJoinedGroupListResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InviteUserToGroupReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InviteUserToGroupResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGroupAllMemberReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGroupAllMemberResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMSGroup); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGroupsReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGroupsResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGroupMemberReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGroupMembersCMSReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGroupMembersCMSResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DismissGroupReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DismissGroupResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MuteGroupMemberReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MuteGroupMemberResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CancelMuteGroupMemberReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CancelMuteGroupMemberResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MuteGroupReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MuteGroupResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CancelMuteGroupReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CancelMuteGroupResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetGroupMemberNicknameReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetGroupMemberNicknameResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetJoinedSuperGroupListReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetJoinedSuperGroupListResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetSuperGroupsInfoReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetSuperGroupsInfoResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetGroupMemberInfoReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetGroupMemberInfoResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGroupAbstractInfoReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGroupAbstractInfoResp); 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_group_group_proto_rawDesc, - NumEnums: 0, - NumMessages: 59, - NumExtensions: 0, - NumServices: 1, - }, - GoTypes: file_group_group_proto_goTypes, - DependencyIndexes: file_group_group_proto_depIdxs, - MessageInfos: file_group_group_proto_msgTypes, - }.Build() - File_group_group_proto = out.File - file_group_group_proto_rawDesc = nil - file_group_group_proto_goTypes = nil - file_group_group_proto_depIdxs = nil +func init() { + proto.RegisterType((*CommonResp)(nil), "group.CommonResp") + proto.RegisterType((*GroupAddMemberInfo)(nil), "group.GroupAddMemberInfo") + proto.RegisterType((*CreateGroupReq)(nil), "group.CreateGroupReq") + proto.RegisterType((*CreateGroupResp)(nil), "group.CreateGroupResp") + proto.RegisterType((*GetGroupsInfoReq)(nil), "group.GetGroupsInfoReq") + proto.RegisterType((*GetGroupsInfoResp)(nil), "group.GetGroupsInfoResp") + proto.RegisterType((*SetGroupInfoReq)(nil), "group.SetGroupInfoReq") + proto.RegisterType((*SetGroupInfoResp)(nil), "group.SetGroupInfoResp") + proto.RegisterType((*GetGroupApplicationListReq)(nil), "group.GetGroupApplicationListReq") + proto.RegisterType((*GetGroupApplicationListResp)(nil), "group.GetGroupApplicationListResp") + proto.RegisterType((*GetUserReqApplicationListReq)(nil), "group.GetUserReqApplicationListReq") + proto.RegisterType((*GetUserReqApplicationListResp)(nil), "group.GetUserReqApplicationListResp") + proto.RegisterType((*TransferGroupOwnerReq)(nil), "group.TransferGroupOwnerReq") + proto.RegisterType((*TransferGroupOwnerResp)(nil), "group.TransferGroupOwnerResp") + proto.RegisterType((*JoinGroupReq)(nil), "group.JoinGroupReq") + proto.RegisterType((*JoinGroupResp)(nil), "group.JoinGroupResp") + proto.RegisterType((*GroupApplicationResponseReq)(nil), "group.GroupApplicationResponseReq") + proto.RegisterType((*GroupApplicationResponseResp)(nil), "group.GroupApplicationResponseResp") + proto.RegisterType((*QuitGroupReq)(nil), "group.QuitGroupReq") + proto.RegisterType((*QuitGroupResp)(nil), "group.QuitGroupResp") + proto.RegisterType((*GetGroupMemberListReq)(nil), "group.GetGroupMemberListReq") + proto.RegisterType((*GetGroupMemberListResp)(nil), "group.GetGroupMemberListResp") + proto.RegisterType((*GetGroupMembersInfoReq)(nil), "group.GetGroupMembersInfoReq") + proto.RegisterType((*GetGroupMembersInfoResp)(nil), "group.GetGroupMembersInfoResp") + proto.RegisterType((*KickGroupMemberReq)(nil), "group.KickGroupMemberReq") + proto.RegisterType((*Id2Result)(nil), "group.Id2Result") + proto.RegisterType((*KickGroupMemberResp)(nil), "group.KickGroupMemberResp") + proto.RegisterType((*GetJoinedGroupListReq)(nil), "group.GetJoinedGroupListReq") + proto.RegisterType((*GetJoinedGroupListResp)(nil), "group.GetJoinedGroupListResp") + proto.RegisterType((*InviteUserToGroupReq)(nil), "group.InviteUserToGroupReq") + proto.RegisterType((*InviteUserToGroupResp)(nil), "group.InviteUserToGroupResp") + proto.RegisterType((*GetGroupAllMemberReq)(nil), "group.GetGroupAllMemberReq") + proto.RegisterType((*GetGroupAllMemberResp)(nil), "group.GetGroupAllMemberResp") + proto.RegisterType((*CMSGroup)(nil), "group.CMSGroup") + proto.RegisterType((*GetGroupsReq)(nil), "group.GetGroupsReq") + proto.RegisterType((*GetGroupsResp)(nil), "group.GetGroupsResp") + proto.RegisterType((*GetGroupMemberReq)(nil), "group.GetGroupMemberReq") + proto.RegisterType((*GetGroupMembersCMSReq)(nil), "group.GetGroupMembersCMSReq") + proto.RegisterType((*GetGroupMembersCMSResp)(nil), "group.GetGroupMembersCMSResp") + proto.RegisterType((*DismissGroupReq)(nil), "group.DismissGroupReq") + proto.RegisterType((*DismissGroupResp)(nil), "group.DismissGroupResp") + proto.RegisterType((*MuteGroupMemberReq)(nil), "group.MuteGroupMemberReq") + proto.RegisterType((*MuteGroupMemberResp)(nil), "group.MuteGroupMemberResp") + proto.RegisterType((*CancelMuteGroupMemberReq)(nil), "group.CancelMuteGroupMemberReq") + proto.RegisterType((*CancelMuteGroupMemberResp)(nil), "group.CancelMuteGroupMemberResp") + proto.RegisterType((*MuteGroupReq)(nil), "group.MuteGroupReq") + proto.RegisterType((*MuteGroupResp)(nil), "group.MuteGroupResp") + proto.RegisterType((*CancelMuteGroupReq)(nil), "group.CancelMuteGroupReq") + proto.RegisterType((*CancelMuteGroupResp)(nil), "group.CancelMuteGroupResp") + proto.RegisterType((*SetGroupMemberNicknameReq)(nil), "group.SetGroupMemberNicknameReq") + proto.RegisterType((*SetGroupMemberNicknameResp)(nil), "group.SetGroupMemberNicknameResp") + proto.RegisterType((*GetJoinedSuperGroupListReq)(nil), "group.GetJoinedSuperGroupListReq") + proto.RegisterType((*GetJoinedSuperGroupListResp)(nil), "group.GetJoinedSuperGroupListResp") + proto.RegisterType((*GetSuperGroupsInfoReq)(nil), "group.GetSuperGroupsInfoReq") + proto.RegisterType((*GetSuperGroupsInfoResp)(nil), "group.GetSuperGroupsInfoResp") + proto.RegisterType((*SetGroupMemberInfoReq)(nil), "group.SetGroupMemberInfoReq") + proto.RegisterType((*SetGroupMemberInfoResp)(nil), "group.SetGroupMemberInfoResp") + proto.RegisterType((*GetGroupAbstractInfoReq)(nil), "group.GetGroupAbstractInfoReq") + proto.RegisterType((*GetGroupAbstractInfoResp)(nil), "group.GetGroupAbstractInfoResp") + proto.RegisterType((*GroupIsExistReq)(nil), "group.GroupIsExistReq") + proto.RegisterType((*GroupIsExistResp)(nil), "group.GroupIsExistResp") + proto.RegisterMapType((map[string]bool)(nil), "group.GroupIsExistResp.IsExistMapEntry") + proto.RegisterType((*UserIsInGroupReq)(nil), "group.UserIsInGroupReq") + proto.RegisterType((*UserIsInGroupResp)(nil), "group.UserIsInGroupResp") + proto.RegisterMapType((map[string]bool)(nil), "group.UserIsInGroupResp.IsExistMapEntry") } // 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 Group service -// GroupClient is the client API for Group service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type GroupClient interface { CreateGroup(ctx context.Context, in *CreateGroupReq, opts ...grpc.CallOption) (*CreateGroupResp, error) JoinGroup(ctx context.Context, in *JoinGroupReq, opts ...grpc.CallOption) (*JoinGroupResp, error) @@ -5380,19 +3541,21 @@ type GroupClient interface { GetSuperGroupsInfo(ctx context.Context, in *GetSuperGroupsInfoReq, opts ...grpc.CallOption) (*GetSuperGroupsInfoResp, error) SetGroupMemberInfo(ctx context.Context, in *SetGroupMemberInfoReq, opts ...grpc.CallOption) (*SetGroupMemberInfoResp, error) GetGroupAbstractInfo(ctx context.Context, in *GetGroupAbstractInfoReq, opts ...grpc.CallOption) (*GetGroupAbstractInfoResp, error) + GroupIsExist(ctx context.Context, in *GroupIsExistReq, opts ...grpc.CallOption) (*GroupIsExistResp, error) + UserIsInGroup(ctx context.Context, in *UserIsInGroupReq, opts ...grpc.CallOption) (*UserIsInGroupResp, error) } type groupClient struct { - cc grpc.ClientConnInterface + cc *grpc.ClientConn } -func NewGroupClient(cc grpc.ClientConnInterface) GroupClient { +func NewGroupClient(cc *grpc.ClientConn) GroupClient { return &groupClient{cc} } func (c *groupClient) CreateGroup(ctx context.Context, in *CreateGroupReq, opts ...grpc.CallOption) (*CreateGroupResp, error) { out := new(CreateGroupResp) - err := c.cc.Invoke(ctx, "/group.group/createGroup", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/createGroup", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -5401,7 +3564,7 @@ func (c *groupClient) CreateGroup(ctx context.Context, in *CreateGroupReq, opts func (c *groupClient) JoinGroup(ctx context.Context, in *JoinGroupReq, opts ...grpc.CallOption) (*JoinGroupResp, error) { out := new(JoinGroupResp) - err := c.cc.Invoke(ctx, "/group.group/joinGroup", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/joinGroup", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -5410,7 +3573,7 @@ func (c *groupClient) JoinGroup(ctx context.Context, in *JoinGroupReq, opts ...g func (c *groupClient) QuitGroup(ctx context.Context, in *QuitGroupReq, opts ...grpc.CallOption) (*QuitGroupResp, error) { out := new(QuitGroupResp) - err := c.cc.Invoke(ctx, "/group.group/quitGroup", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/quitGroup", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -5419,7 +3582,7 @@ func (c *groupClient) QuitGroup(ctx context.Context, in *QuitGroupReq, opts ...g func (c *groupClient) GetGroupsInfo(ctx context.Context, in *GetGroupsInfoReq, opts ...grpc.CallOption) (*GetGroupsInfoResp, error) { out := new(GetGroupsInfoResp) - err := c.cc.Invoke(ctx, "/group.group/getGroupsInfo", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/getGroupsInfo", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -5428,7 +3591,7 @@ func (c *groupClient) GetGroupsInfo(ctx context.Context, in *GetGroupsInfoReq, o func (c *groupClient) SetGroupInfo(ctx context.Context, in *SetGroupInfoReq, opts ...grpc.CallOption) (*SetGroupInfoResp, error) { out := new(SetGroupInfoResp) - err := c.cc.Invoke(ctx, "/group.group/setGroupInfo", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/setGroupInfo", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -5437,7 +3600,7 @@ func (c *groupClient) SetGroupInfo(ctx context.Context, in *SetGroupInfoReq, opt func (c *groupClient) GetGroupApplicationList(ctx context.Context, in *GetGroupApplicationListReq, opts ...grpc.CallOption) (*GetGroupApplicationListResp, error) { out := new(GetGroupApplicationListResp) - err := c.cc.Invoke(ctx, "/group.group/getGroupApplicationList", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/getGroupApplicationList", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -5446,7 +3609,7 @@ func (c *groupClient) GetGroupApplicationList(ctx context.Context, in *GetGroupA func (c *groupClient) GetUserReqApplicationList(ctx context.Context, in *GetUserReqApplicationListReq, opts ...grpc.CallOption) (*GetUserReqApplicationListResp, error) { out := new(GetUserReqApplicationListResp) - err := c.cc.Invoke(ctx, "/group.group/getUserReqApplicationList", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/getUserReqApplicationList", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -5455,7 +3618,7 @@ func (c *groupClient) GetUserReqApplicationList(ctx context.Context, in *GetUser func (c *groupClient) TransferGroupOwner(ctx context.Context, in *TransferGroupOwnerReq, opts ...grpc.CallOption) (*TransferGroupOwnerResp, error) { out := new(TransferGroupOwnerResp) - err := c.cc.Invoke(ctx, "/group.group/transferGroupOwner", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/transferGroupOwner", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -5464,7 +3627,7 @@ func (c *groupClient) TransferGroupOwner(ctx context.Context, in *TransferGroupO func (c *groupClient) GroupApplicationResponse(ctx context.Context, in *GroupApplicationResponseReq, opts ...grpc.CallOption) (*GroupApplicationResponseResp, error) { out := new(GroupApplicationResponseResp) - err := c.cc.Invoke(ctx, "/group.group/groupApplicationResponse", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/groupApplicationResponse", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -5473,7 +3636,7 @@ func (c *groupClient) GroupApplicationResponse(ctx context.Context, in *GroupApp func (c *groupClient) GetGroupMemberList(ctx context.Context, in *GetGroupMemberListReq, opts ...grpc.CallOption) (*GetGroupMemberListResp, error) { out := new(GetGroupMemberListResp) - err := c.cc.Invoke(ctx, "/group.group/getGroupMemberList", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/getGroupMemberList", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -5482,7 +3645,7 @@ func (c *groupClient) GetGroupMemberList(ctx context.Context, in *GetGroupMember func (c *groupClient) GetGroupMembersInfo(ctx context.Context, in *GetGroupMembersInfoReq, opts ...grpc.CallOption) (*GetGroupMembersInfoResp, error) { out := new(GetGroupMembersInfoResp) - err := c.cc.Invoke(ctx, "/group.group/getGroupMembersInfo", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/getGroupMembersInfo", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -5491,7 +3654,7 @@ func (c *groupClient) GetGroupMembersInfo(ctx context.Context, in *GetGroupMembe func (c *groupClient) KickGroupMember(ctx context.Context, in *KickGroupMemberReq, opts ...grpc.CallOption) (*KickGroupMemberResp, error) { out := new(KickGroupMemberResp) - err := c.cc.Invoke(ctx, "/group.group/kickGroupMember", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/kickGroupMember", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -5500,7 +3663,7 @@ func (c *groupClient) KickGroupMember(ctx context.Context, in *KickGroupMemberRe func (c *groupClient) GetJoinedGroupList(ctx context.Context, in *GetJoinedGroupListReq, opts ...grpc.CallOption) (*GetJoinedGroupListResp, error) { out := new(GetJoinedGroupListResp) - err := c.cc.Invoke(ctx, "/group.group/getJoinedGroupList", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/getJoinedGroupList", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -5509,7 +3672,7 @@ func (c *groupClient) GetJoinedGroupList(ctx context.Context, in *GetJoinedGroup func (c *groupClient) InviteUserToGroup(ctx context.Context, in *InviteUserToGroupReq, opts ...grpc.CallOption) (*InviteUserToGroupResp, error) { out := new(InviteUserToGroupResp) - err := c.cc.Invoke(ctx, "/group.group/inviteUserToGroup", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/inviteUserToGroup", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -5518,7 +3681,7 @@ func (c *groupClient) InviteUserToGroup(ctx context.Context, in *InviteUserToGro func (c *groupClient) GetGroupAllMember(ctx context.Context, in *GetGroupAllMemberReq, opts ...grpc.CallOption) (*GetGroupAllMemberResp, error) { out := new(GetGroupAllMemberResp) - err := c.cc.Invoke(ctx, "/group.group/getGroupAllMember", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/getGroupAllMember", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -5527,7 +3690,7 @@ func (c *groupClient) GetGroupAllMember(ctx context.Context, in *GetGroupAllMemb func (c *groupClient) GetGroups(ctx context.Context, in *GetGroupsReq, opts ...grpc.CallOption) (*GetGroupsResp, error) { out := new(GetGroupsResp) - err := c.cc.Invoke(ctx, "/group.group/GetGroups", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/GetGroups", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -5536,7 +3699,7 @@ func (c *groupClient) GetGroups(ctx context.Context, in *GetGroupsReq, opts ...g func (c *groupClient) GetGroupMembersCMS(ctx context.Context, in *GetGroupMembersCMSReq, opts ...grpc.CallOption) (*GetGroupMembersCMSResp, error) { out := new(GetGroupMembersCMSResp) - err := c.cc.Invoke(ctx, "/group.group/GetGroupMembersCMS", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/GetGroupMembersCMS", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -5545,7 +3708,7 @@ func (c *groupClient) GetGroupMembersCMS(ctx context.Context, in *GetGroupMember func (c *groupClient) DismissGroup(ctx context.Context, in *DismissGroupReq, opts ...grpc.CallOption) (*DismissGroupResp, error) { out := new(DismissGroupResp) - err := c.cc.Invoke(ctx, "/group.group/DismissGroup", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/DismissGroup", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -5554,7 +3717,7 @@ func (c *groupClient) DismissGroup(ctx context.Context, in *DismissGroupReq, opt func (c *groupClient) MuteGroupMember(ctx context.Context, in *MuteGroupMemberReq, opts ...grpc.CallOption) (*MuteGroupMemberResp, error) { out := new(MuteGroupMemberResp) - err := c.cc.Invoke(ctx, "/group.group/MuteGroupMember", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/MuteGroupMember", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -5563,7 +3726,7 @@ func (c *groupClient) MuteGroupMember(ctx context.Context, in *MuteGroupMemberRe func (c *groupClient) CancelMuteGroupMember(ctx context.Context, in *CancelMuteGroupMemberReq, opts ...grpc.CallOption) (*CancelMuteGroupMemberResp, error) { out := new(CancelMuteGroupMemberResp) - err := c.cc.Invoke(ctx, "/group.group/CancelMuteGroupMember", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/CancelMuteGroupMember", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -5572,7 +3735,7 @@ func (c *groupClient) CancelMuteGroupMember(ctx context.Context, in *CancelMuteG func (c *groupClient) MuteGroup(ctx context.Context, in *MuteGroupReq, opts ...grpc.CallOption) (*MuteGroupResp, error) { out := new(MuteGroupResp) - err := c.cc.Invoke(ctx, "/group.group/MuteGroup", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/MuteGroup", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -5581,7 +3744,7 @@ func (c *groupClient) MuteGroup(ctx context.Context, in *MuteGroupReq, opts ...g func (c *groupClient) CancelMuteGroup(ctx context.Context, in *CancelMuteGroupReq, opts ...grpc.CallOption) (*CancelMuteGroupResp, error) { out := new(CancelMuteGroupResp) - err := c.cc.Invoke(ctx, "/group.group/CancelMuteGroup", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/CancelMuteGroup", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -5590,7 +3753,7 @@ func (c *groupClient) CancelMuteGroup(ctx context.Context, in *CancelMuteGroupRe func (c *groupClient) SetGroupMemberNickname(ctx context.Context, in *SetGroupMemberNicknameReq, opts ...grpc.CallOption) (*SetGroupMemberNicknameResp, error) { out := new(SetGroupMemberNicknameResp) - err := c.cc.Invoke(ctx, "/group.group/SetGroupMemberNickname", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/SetGroupMemberNickname", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -5599,7 +3762,7 @@ func (c *groupClient) SetGroupMemberNickname(ctx context.Context, in *SetGroupMe func (c *groupClient) GetJoinedSuperGroupList(ctx context.Context, in *GetJoinedSuperGroupListReq, opts ...grpc.CallOption) (*GetJoinedSuperGroupListResp, error) { out := new(GetJoinedSuperGroupListResp) - err := c.cc.Invoke(ctx, "/group.group/GetJoinedSuperGroupList", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/GetJoinedSuperGroupList", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -5608,7 +3771,7 @@ func (c *groupClient) GetJoinedSuperGroupList(ctx context.Context, in *GetJoined func (c *groupClient) GetSuperGroupsInfo(ctx context.Context, in *GetSuperGroupsInfoReq, opts ...grpc.CallOption) (*GetSuperGroupsInfoResp, error) { out := new(GetSuperGroupsInfoResp) - err := c.cc.Invoke(ctx, "/group.group/GetSuperGroupsInfo", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/GetSuperGroupsInfo", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -5617,7 +3780,7 @@ func (c *groupClient) GetSuperGroupsInfo(ctx context.Context, in *GetSuperGroups func (c *groupClient) SetGroupMemberInfo(ctx context.Context, in *SetGroupMemberInfoReq, opts ...grpc.CallOption) (*SetGroupMemberInfoResp, error) { out := new(SetGroupMemberInfoResp) - err := c.cc.Invoke(ctx, "/group.group/SetGroupMemberInfo", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/SetGroupMemberInfo", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -5626,14 +3789,33 @@ func (c *groupClient) SetGroupMemberInfo(ctx context.Context, in *SetGroupMember func (c *groupClient) GetGroupAbstractInfo(ctx context.Context, in *GetGroupAbstractInfoReq, opts ...grpc.CallOption) (*GetGroupAbstractInfoResp, error) { out := new(GetGroupAbstractInfoResp) - err := c.cc.Invoke(ctx, "/group.group/GetGroupAbstractInfo", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/GetGroupAbstractInfo", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *groupClient) GroupIsExist(ctx context.Context, in *GroupIsExistReq, opts ...grpc.CallOption) (*GroupIsExistResp, error) { + out := new(GroupIsExistResp) + err := grpc.Invoke(ctx, "/group.group/GroupIsExist", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *groupClient) UserIsInGroup(ctx context.Context, in *UserIsInGroupReq, opts ...grpc.CallOption) (*UserIsInGroupResp, error) { + out := new(UserIsInGroupResp) + err := grpc.Invoke(ctx, "/group.group/UserIsInGroup", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } -// GroupServer is the server API for Group service. +// Server API for Group service + type GroupServer interface { CreateGroup(context.Context, *CreateGroupReq) (*CreateGroupResp, error) JoinGroup(context.Context, *JoinGroupReq) (*JoinGroupResp, error) @@ -5662,92 +3844,8 @@ type GroupServer interface { GetSuperGroupsInfo(context.Context, *GetSuperGroupsInfoReq) (*GetSuperGroupsInfoResp, error) SetGroupMemberInfo(context.Context, *SetGroupMemberInfoReq) (*SetGroupMemberInfoResp, error) GetGroupAbstractInfo(context.Context, *GetGroupAbstractInfoReq) (*GetGroupAbstractInfoResp, error) -} - -// UnimplementedGroupServer can be embedded to have forward compatible implementations. -type UnimplementedGroupServer struct { -} - -func (*UnimplementedGroupServer) CreateGroup(context.Context, *CreateGroupReq) (*CreateGroupResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateGroup not implemented") -} -func (*UnimplementedGroupServer) JoinGroup(context.Context, *JoinGroupReq) (*JoinGroupResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method JoinGroup not implemented") -} -func (*UnimplementedGroupServer) QuitGroup(context.Context, *QuitGroupReq) (*QuitGroupResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method QuitGroup not implemented") -} -func (*UnimplementedGroupServer) GetGroupsInfo(context.Context, *GetGroupsInfoReq) (*GetGroupsInfoResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetGroupsInfo not implemented") -} -func (*UnimplementedGroupServer) SetGroupInfo(context.Context, *SetGroupInfoReq) (*SetGroupInfoResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method SetGroupInfo not implemented") -} -func (*UnimplementedGroupServer) GetGroupApplicationList(context.Context, *GetGroupApplicationListReq) (*GetGroupApplicationListResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetGroupApplicationList not implemented") -} -func (*UnimplementedGroupServer) GetUserReqApplicationList(context.Context, *GetUserReqApplicationListReq) (*GetUserReqApplicationListResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetUserReqApplicationList not implemented") -} -func (*UnimplementedGroupServer) TransferGroupOwner(context.Context, *TransferGroupOwnerReq) (*TransferGroupOwnerResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method TransferGroupOwner not implemented") -} -func (*UnimplementedGroupServer) GroupApplicationResponse(context.Context, *GroupApplicationResponseReq) (*GroupApplicationResponseResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GroupApplicationResponse not implemented") -} -func (*UnimplementedGroupServer) GetGroupMemberList(context.Context, *GetGroupMemberListReq) (*GetGroupMemberListResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetGroupMemberList not implemented") -} -func (*UnimplementedGroupServer) GetGroupMembersInfo(context.Context, *GetGroupMembersInfoReq) (*GetGroupMembersInfoResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetGroupMembersInfo not implemented") -} -func (*UnimplementedGroupServer) KickGroupMember(context.Context, *KickGroupMemberReq) (*KickGroupMemberResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method KickGroupMember not implemented") -} -func (*UnimplementedGroupServer) GetJoinedGroupList(context.Context, *GetJoinedGroupListReq) (*GetJoinedGroupListResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetJoinedGroupList not implemented") -} -func (*UnimplementedGroupServer) InviteUserToGroup(context.Context, *InviteUserToGroupReq) (*InviteUserToGroupResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method InviteUserToGroup not implemented") -} -func (*UnimplementedGroupServer) GetGroupAllMember(context.Context, *GetGroupAllMemberReq) (*GetGroupAllMemberResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetGroupAllMember not implemented") -} -func (*UnimplementedGroupServer) GetGroups(context.Context, *GetGroupsReq) (*GetGroupsResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetGroups not implemented") -} -func (*UnimplementedGroupServer) GetGroupMembersCMS(context.Context, *GetGroupMembersCMSReq) (*GetGroupMembersCMSResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetGroupMembersCMS not implemented") -} -func (*UnimplementedGroupServer) DismissGroup(context.Context, *DismissGroupReq) (*DismissGroupResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method DismissGroup not implemented") -} -func (*UnimplementedGroupServer) MuteGroupMember(context.Context, *MuteGroupMemberReq) (*MuteGroupMemberResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method MuteGroupMember not implemented") -} -func (*UnimplementedGroupServer) CancelMuteGroupMember(context.Context, *CancelMuteGroupMemberReq) (*CancelMuteGroupMemberResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method CancelMuteGroupMember not implemented") -} -func (*UnimplementedGroupServer) MuteGroup(context.Context, *MuteGroupReq) (*MuteGroupResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method MuteGroup not implemented") -} -func (*UnimplementedGroupServer) CancelMuteGroup(context.Context, *CancelMuteGroupReq) (*CancelMuteGroupResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method CancelMuteGroup not implemented") -} -func (*UnimplementedGroupServer) SetGroupMemberNickname(context.Context, *SetGroupMemberNicknameReq) (*SetGroupMemberNicknameResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method SetGroupMemberNickname not implemented") -} -func (*UnimplementedGroupServer) GetJoinedSuperGroupList(context.Context, *GetJoinedSuperGroupListReq) (*GetJoinedSuperGroupListResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetJoinedSuperGroupList not implemented") -} -func (*UnimplementedGroupServer) GetSuperGroupsInfo(context.Context, *GetSuperGroupsInfoReq) (*GetSuperGroupsInfoResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetSuperGroupsInfo not implemented") -} -func (*UnimplementedGroupServer) SetGroupMemberInfo(context.Context, *SetGroupMemberInfoReq) (*SetGroupMemberInfoResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method SetGroupMemberInfo not implemented") -} -func (*UnimplementedGroupServer) GetGroupAbstractInfo(context.Context, *GetGroupAbstractInfoReq) (*GetGroupAbstractInfoResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetGroupAbstractInfo not implemented") + GroupIsExist(context.Context, *GroupIsExistReq) (*GroupIsExistResp, error) + UserIsInGroup(context.Context, *UserIsInGroupReq) (*UserIsInGroupResp, error) } func RegisterGroupServer(s *grpc.Server, srv GroupServer) { @@ -6240,6 +4338,42 @@ func _Group_GetGroupAbstractInfo_Handler(srv interface{}, ctx context.Context, d return interceptor(ctx, in, info, handler) } +func _Group_GroupIsExist_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GroupIsExistReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GroupServer).GroupIsExist(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/group.group/GroupIsExist", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GroupServer).GroupIsExist(ctx, req.(*GroupIsExistReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Group_UserIsInGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UserIsInGroupReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GroupServer).UserIsInGroup(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/group.group/UserIsInGroup", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GroupServer).UserIsInGroup(ctx, req.(*UserIsInGroupReq)) + } + return interceptor(ctx, in, info, handler) +} + var _Group_serviceDesc = grpc.ServiceDesc{ ServiceName: "group.group", HandlerType: (*GroupServer)(nil), @@ -6352,7 +4486,169 @@ var _Group_serviceDesc = grpc.ServiceDesc{ MethodName: "GetGroupAbstractInfo", Handler: _Group_GetGroupAbstractInfo_Handler, }, + { + MethodName: "GroupIsExist", + Handler: _Group_GroupIsExist_Handler, + }, + { + MethodName: "UserIsInGroup", + Handler: _Group_UserIsInGroup_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "group/group.proto", } + +func init() { proto.RegisterFile("group/group.proto", fileDescriptor_group_62d80c4ee8bcf1ea) } + +var fileDescriptor_group_62d80c4ee8bcf1ea = []byte{ + // 2356 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x1a, 0x4d, 0x6f, 0x1c, 0x49, + 0x55, 0x3d, 0xe3, 0x89, 0xed, 0x67, 0x4f, 0xc6, 0x2e, 0xc7, 0xc9, 0xa4, 0xe3, 0x38, 0xde, 0xde, + 0xb0, 0x58, 0x28, 0xb1, 0xc1, 0x2b, 0x45, 0xcb, 0x2e, 0xb0, 0xc4, 0x5f, 0xf1, 0x6c, 0x62, 0x1b, + 0xf7, 0x64, 0x41, 0x5a, 0x09, 0x85, 0xf6, 0x4c, 0x4d, 0x33, 0x78, 0xa6, 0xbb, 0xdd, 0xd5, 0x13, + 0x67, 0xb9, 0xac, 0xb8, 0x20, 0x81, 0x90, 0x00, 0x71, 0x5d, 0x84, 0xe0, 0x02, 0x07, 0x40, 0x1c, + 0xe0, 0xcc, 0x1f, 0x00, 0x71, 0xe1, 0x82, 0xb8, 0xf1, 0x07, 0xb8, 0xf0, 0x03, 0x50, 0x57, 0x55, + 0x57, 0x57, 0x77, 0x75, 0xf7, 0xcc, 0xb6, 0x37, 0x9b, 0xcb, 0x68, 0xea, 0xd5, 0xab, 0xaa, 0xf7, + 0x5e, 0xbd, 0xf7, 0xea, 0x7d, 0x34, 0x2c, 0xda, 0xbe, 0x3b, 0xf2, 0x36, 0xe9, 0xef, 0x86, 0xe7, + 0xbb, 0x81, 0x8b, 0x6a, 0x74, 0xa0, 0xaf, 0x1f, 0x7b, 0xd8, 0xb9, 0xdf, 0x3a, 0xbc, 0xdf, 0xc6, + 0xfe, 0x73, 0xec, 0x6f, 0x7a, 0x67, 0xf6, 0x26, 0x45, 0xd8, 0x24, 0xdd, 0xb3, 0x67, 0x17, 0x64, + 0xf3, 0x82, 0xb0, 0x05, 0xfa, 0xc6, 0x58, 0x4c, 0xdf, 0xf2, 0x3c, 0xec, 0x73, 0x7c, 0xe3, 0x6b, + 0x00, 0x3b, 0xee, 0x70, 0xe8, 0x3a, 0x26, 0x26, 0x1e, 0x6a, 0xc2, 0xf4, 0x9e, 0xef, 0xef, 0xb8, + 0x5d, 0xdc, 0xd4, 0xd6, 0xb4, 0xf5, 0x9a, 0x19, 0x0d, 0xd1, 0x75, 0xb8, 0xb2, 0xe7, 0xfb, 0x87, + 0xc4, 0x6e, 0x56, 0xd6, 0xb4, 0xf5, 0x59, 0x93, 0x8f, 0x8c, 0xf7, 0x00, 0x3d, 0x0a, 0x49, 0x7c, + 0xd8, 0xed, 0x1e, 0xe2, 0xe1, 0x29, 0xf6, 0x5b, 0x4e, 0xcf, 0x0d, 0xb1, 0xdf, 0x27, 0xd8, 0x6f, + 0xed, 0xd2, 0x6d, 0x66, 0x4d, 0x3e, 0x42, 0x2b, 0x30, 0x6b, 0xba, 0x03, 0xfc, 0x04, 0x3f, 0xc7, + 0x03, 0xba, 0x51, 0xcd, 0x8c, 0x01, 0xc6, 0x7f, 0x35, 0xb8, 0xba, 0xe3, 0x63, 0x2b, 0xc0, 0x74, + 0x4b, 0x13, 0x9f, 0xa3, 0x87, 0x70, 0xb5, 0xe5, 0xf4, 0x03, 0xb6, 0xf5, 0x93, 0x3e, 0x09, 0x9a, + 0xda, 0x5a, 0x75, 0x7d, 0x6e, 0xeb, 0xe6, 0x06, 0x93, 0x92, 0x7a, 0xb6, 0x99, 0x5a, 0x80, 0xde, + 0x86, 0x59, 0x8a, 0x15, 0x4e, 0xd2, 0x33, 0xe7, 0xb6, 0x56, 0x36, 0x08, 0x95, 0xce, 0x33, 0xcb, + 0xeb, 0x3f, 0xf3, 0x2c, 0xdf, 0x1a, 0x92, 0x0d, 0x81, 0x63, 0xc6, 0xe8, 0x68, 0x0d, 0xe6, 0x8e, + 0x3d, 0xec, 0x5b, 0x41, 0xdf, 0x75, 0x5a, 0xbb, 0xcd, 0x2a, 0x65, 0x46, 0x06, 0x21, 0x1d, 0x66, + 0x8e, 0x3d, 0xce, 0xeb, 0x14, 0x9d, 0x16, 0x63, 0xba, 0xfa, 0xc2, 0xc1, 0x3e, 0x9f, 0xae, 0xf1, + 0xd5, 0x31, 0xc8, 0xf8, 0x08, 0x1a, 0x09, 0x86, 0xcb, 0x5c, 0x41, 0x92, 0xc1, 0xea, 0x27, 0x62, + 0xd0, 0xf0, 0x61, 0xe1, 0x11, 0x0e, 0xe8, 0x98, 0xd0, 0x39, 0x7c, 0x1e, 0x92, 0xcd, 0x10, 0x76, + 0x85, 0xc0, 0x67, 0x4d, 0x19, 0x94, 0x16, 0x4b, 0xa5, 0x58, 0x2c, 0xd5, 0xa4, 0x58, 0x8c, 0x1f, + 0x69, 0xb0, 0x98, 0x3a, 0xb4, 0x14, 0xdf, 0xdb, 0x50, 0x17, 0x8c, 0x50, 0x4a, 0xab, 0x54, 0x35, + 0x8a, 0x79, 0x4f, 0x2e, 0x31, 0x7e, 0xa9, 0x41, 0xa3, 0xcd, 0x69, 0x89, 0xf8, 0x7f, 0x02, 0x0d, + 0x3b, 0x1a, 0xef, 0xbb, 0x7e, 0x1b, 0x07, 0x94, 0xa2, 0xb9, 0x2d, 0xa3, 0x68, 0x67, 0x86, 0x69, + 0xa6, 0x97, 0x26, 0x24, 0x51, 0xc9, 0x50, 0x90, 0x42, 0xf5, 0x32, 0xf6, 0x60, 0x21, 0x49, 0x1e, + 0xf1, 0xd0, 0x97, 0x64, 0x93, 0xe5, 0xa4, 0x2d, 0x72, 0x7b, 0x88, 0x27, 0x4c, 0x09, 0xc9, 0xf8, + 0x3e, 0xe8, 0x91, 0xc4, 0x1f, 0x7a, 0xde, 0xa0, 0xdf, 0xa1, 0xfb, 0x87, 0x12, 0x08, 0x19, 0x96, + 0x49, 0xd4, 0x8a, 0x49, 0xcc, 0xb8, 0xea, 0x55, 0x80, 0x7d, 0xdf, 0x1d, 0x26, 0x2e, 0x5b, 0x82, + 0x18, 0x1f, 0x6b, 0x70, 0x2b, 0xf7, 0xf0, 0x52, 0x17, 0xff, 0x18, 0x16, 0x22, 0x07, 0x31, 0xc2, + 0x24, 0x90, 0xee, 0xfe, 0x4e, 0xde, 0x0d, 0x71, 0x54, 0x53, 0x59, 0x68, 0x04, 0xb0, 0xf2, 0x08, + 0x07, 0x21, 0xad, 0x26, 0x3e, 0xcf, 0x10, 0x4e, 0x9e, 0x2b, 0xbb, 0xdc, 0xbd, 0xfe, 0x4a, 0x83, + 0xdb, 0x05, 0xc7, 0x96, 0xba, 0xe5, 0x4c, 0xb9, 0x54, 0xca, 0xca, 0xe5, 0xaf, 0x1a, 0x2c, 0x3f, + 0xf5, 0x2d, 0x87, 0xf4, 0xb0, 0x4f, 0x27, 0xa9, 0xdf, 0x0a, 0x25, 0xd2, 0x84, 0x69, 0xee, 0x0c, + 0xb8, 0x48, 0xa2, 0x21, 0x7a, 0x03, 0xae, 0x1e, 0x0f, 0xba, 0xb2, 0xcf, 0x63, 0x92, 0x49, 0x41, + 0x43, 0xbc, 0x23, 0x7c, 0x21, 0xe3, 0x31, 0x11, 0xa5, 0xa0, 0x69, 0x39, 0x4e, 0x15, 0xfb, 0x99, + 0x5a, 0xca, 0xcf, 0x3c, 0x86, 0xeb, 0x59, 0x0c, 0x94, 0xb3, 0xa0, 0xbf, 0x69, 0x30, 0xff, 0x9e, + 0xdb, 0x77, 0xc4, 0xcb, 0x94, 0x2f, 0x85, 0x55, 0x00, 0x13, 0x9f, 0x1f, 0x62, 0x42, 0x2c, 0x1b, + 0x73, 0x09, 0x48, 0x90, 0x22, 0xdf, 0x38, 0x01, 0xc7, 0xab, 0x00, 0x21, 0x1d, 0x6d, 0x77, 0xe4, + 0x77, 0x30, 0xe5, 0xb9, 0x66, 0x4a, 0x10, 0x74, 0x17, 0xea, 0x2d, 0xe7, 0x79, 0x3f, 0x10, 0xa2, + 0xbd, 0x42, 0xf7, 0x48, 0x02, 0x8d, 0x6d, 0xa8, 0x4b, 0xdc, 0x94, 0x13, 0xc9, 0xbf, 0x42, 0xc3, + 0x4e, 0x59, 0x75, 0x38, 0xe1, 0x3a, 0x04, 0xf3, 0x77, 0x44, 0xe6, 0x45, 0x2b, 0xbe, 0xbd, 0xb4, + 0x0d, 0x49, 0xf2, 0xad, 0x2a, 0xf2, 0x95, 0x1c, 0xce, 0x54, 0xda, 0xe1, 0x84, 0xf3, 0x07, 0x96, + 0xd3, 0x1d, 0xe0, 0x6e, 0xe8, 0x3a, 0x98, 0x56, 0x48, 0x10, 0x64, 0xc0, 0x3c, 0x1b, 0x99, 0x98, + 0x8c, 0x06, 0x01, 0x15, 0x50, 0xcd, 0x4c, 0xc0, 0x8c, 0x13, 0x58, 0xc9, 0x67, 0xad, 0x9c, 0xb8, + 0x7a, 0x30, 0x7f, 0x32, 0xea, 0x07, 0x13, 0x28, 0xd0, 0xe5, 0x9e, 0xd7, 0x6d, 0xa8, 0x4b, 0xe7, + 0x94, 0xa3, 0xf5, 0xd7, 0x1a, 0x2c, 0x47, 0x3e, 0x3b, 0x0e, 0xa5, 0x8a, 0xa9, 0xbe, 0x94, 0x43, + 0x0c, 0xdd, 0xec, 0x7e, 0x7f, 0x10, 0x60, 0x9f, 0x5e, 0x68, 0xcd, 0xe4, 0xa3, 0xf0, 0xbc, 0x23, + 0xfc, 0x22, 0x68, 0xe3, 0x73, 0xae, 0xeb, 0xd1, 0xd0, 0xf8, 0xbd, 0x06, 0xd7, 0xb3, 0x68, 0x2c, + 0xf5, 0xa4, 0xec, 0x03, 0x0c, 0xe3, 0x18, 0x93, 0x3d, 0x26, 0x6f, 0xe4, 0x39, 0x4d, 0x76, 0xda, + 0xfe, 0x68, 0x30, 0xa0, 0x6f, 0xb2, 0xb4, 0x32, 0x3c, 0xd9, 0xe1, 0xe4, 0x32, 0x3e, 0xa2, 0xa1, + 0xf1, 0x33, 0x85, 0x5c, 0x11, 0x70, 0x15, 0xba, 0x12, 0x89, 0xac, 0x0a, 0x8d, 0xc4, 0xe4, 0xe3, + 0x2e, 0xe5, 0x4a, 0x8c, 0x5f, 0x68, 0x70, 0x23, 0x93, 0xa4, 0x57, 0x29, 0x42, 0xe3, 0x4f, 0x1a, + 0xa0, 0xc7, 0xfd, 0xce, 0x99, 0x84, 0x57, 0x2c, 0xa4, 0x2f, 0xc0, 0x42, 0x88, 0x8f, 0xbb, 0x8c, + 0x71, 0x49, 0x54, 0x0a, 0x3c, 0x24, 0xde, 0xc4, 0x16, 0x71, 0x1d, 0x2e, 0x2e, 0x3e, 0x4a, 0x0b, + 0xab, 0x56, 0x6c, 0x72, 0x57, 0x52, 0x26, 0xf7, 0x0e, 0xcc, 0xb6, 0xba, 0x5b, 0xcc, 0x75, 0xe4, + 0x06, 0x0c, 0xf4, 0x68, 0xea, 0x70, 0x58, 0xe2, 0xc3, 0x47, 0xc6, 0x47, 0xb0, 0xa4, 0xb0, 0x5b, + 0xea, 0x02, 0x1e, 0x40, 0x5d, 0x50, 0x21, 0xdd, 0xc1, 0x02, 0x37, 0x75, 0x31, 0x67, 0x26, 0xd1, + 0x8c, 0x11, 0xb5, 0xf5, 0xf0, 0x39, 0xc0, 0x5d, 0x4a, 0x45, 0x64, 0xeb, 0x49, 0x47, 0xab, 0x29, + 0x8e, 0x76, 0x0d, 0xe6, 0x5c, 0xd5, 0x4f, 0xb9, 0x13, 0xfa, 0xa9, 0x1f, 0x32, 0x83, 0x50, 0xce, + 0xbd, 0x54, 0x0e, 0x34, 0x71, 0x1e, 0x10, 0xa3, 0x1b, 0x7f, 0xd6, 0xe0, 0x1a, 0x7b, 0x1d, 0x43, + 0xca, 0x9e, 0xba, 0xc2, 0x43, 0x8f, 0xf7, 0xc3, 0xf9, 0x8f, 0x54, 0xac, 0x68, 0x53, 0x09, 0x45, + 0xbb, 0x07, 0x8b, 0xec, 0x2c, 0x59, 0x5b, 0x6b, 0x54, 0x5b, 0xd5, 0x89, 0x42, 0xa5, 0xfb, 0x81, + 0x06, 0xcb, 0x19, 0x64, 0x7f, 0xa6, 0xaa, 0xf3, 0xb1, 0x06, 0xd7, 0x44, 0x6c, 0x3f, 0x18, 0x4c, + 0x62, 0xad, 0x97, 0x7e, 0x26, 0x8e, 0x7b, 0x3d, 0x82, 0x83, 0xe8, 0x99, 0x60, 0x23, 0x74, 0x0d, + 0x6a, 0x3b, 0xee, 0xc8, 0x09, 0xf8, 0x23, 0xc1, 0x06, 0xc6, 0xcf, 0xa5, 0x67, 0x4c, 0x22, 0xef, + 0x95, 0xba, 0xb7, 0xdf, 0x68, 0x30, 0xb3, 0x73, 0xd8, 0xa6, 0x68, 0xc9, 0xd4, 0x5d, 0xfb, 0x64, + 0xb5, 0x89, 0x0d, 0x5e, 0x79, 0x11, 0x01, 0xf3, 0x91, 0x35, 0x8c, 0xc2, 0xcd, 0x8c, 0x99, 0xd0, + 0x4d, 0x26, 0xa1, 0x42, 0xc2, 0x0a, 0xdc, 0xf8, 0xa3, 0x06, 0xf3, 0x22, 0x45, 0x0f, 0xef, 0x73, + 0x17, 0xe0, 0x1b, 0x96, 0xdd, 0x77, 0xe8, 0x3d, 0x70, 0x4a, 0xef, 0x66, 0x50, 0xca, 0x33, 0x88, + 0x18, 0xd7, 0x94, 0xd6, 0xa1, 0x15, 0xce, 0xae, 0x44, 0x69, 0x0c, 0x28, 0x30, 0xa6, 0xf1, 0x4f, + 0xd9, 0x3f, 0x35, 0xa8, 0x4b, 0x04, 0x13, 0x0f, 0xdd, 0x87, 0xd9, 0x48, 0xcc, 0x84, 0x17, 0x8d, + 0x1a, 0x51, 0xd0, 0xc3, 0xe1, 0x66, 0x8c, 0x81, 0xf6, 0x12, 0x0c, 0xb2, 0x32, 0xd1, 0xe7, 0x32, + 0x19, 0x64, 0x51, 0x60, 0x0e, 0x87, 0x3a, 0xcc, 0x30, 0x86, 0x46, 0x43, 0xca, 0x44, 0xcd, 0x14, + 0xe3, 0x30, 0x0e, 0xeb, 0xc4, 0x71, 0xd8, 0x54, 0x6e, 0x1c, 0x16, 0x23, 0x19, 0xc7, 0x71, 0xa5, + 0x64, 0x12, 0xdb, 0x1a, 0xeb, 0xb0, 0x8c, 0xbf, 0x28, 0x81, 0x1d, 0xd9, 0x39, 0x6c, 0x8f, 0xb5, + 0xd8, 0x94, 0x7a, 0x89, 0x71, 0x4a, 0x2f, 0xaa, 0x25, 0xf5, 0x62, 0xfc, 0xfd, 0xfe, 0x4f, 0x8d, + 0x9e, 0x28, 0xdd, 0xc4, 0x43, 0x5f, 0x87, 0x69, 0x66, 0x5e, 0xd1, 0x35, 0x4f, 0x6a, 0x95, 0xd1, + 0xb2, 0x4f, 0xeb, 0xee, 0x57, 0x01, 0xd8, 0x09, 0x47, 0xa3, 0x21, 0xe1, 0xb7, 0x2f, 0x41, 0xca, + 0xdc, 0x7f, 0x1f, 0x1a, 0xbb, 0x7d, 0x32, 0xec, 0x13, 0x22, 0x1e, 0x25, 0x1d, 0x66, 0xdc, 0x54, + 0xb1, 0xc6, 0xf5, 0x26, 0x7e, 0x90, 0x9b, 0x30, 0x6d, 0x27, 0x6d, 0x8c, 0x0f, 0x8d, 0x3d, 0x58, + 0x48, 0x1e, 0xc5, 0x32, 0x87, 0xce, 0x24, 0x99, 0x83, 0x44, 0xf1, 0xef, 0x34, 0x40, 0x87, 0x23, + 0x5e, 0xd0, 0x8c, 0x75, 0xf6, 0x25, 0x51, 0x1d, 0x7a, 0xeb, 0x91, 0x9c, 0x07, 0xf2, 0x51, 0x98, + 0xe3, 0x0d, 0x47, 0x01, 0xee, 0xb6, 0x71, 0xc7, 0x75, 0xba, 0x84, 0x3e, 0x0b, 0x75, 0x33, 0x01, + 0x33, 0x0e, 0x60, 0x49, 0xa1, 0xb4, 0x1c, 0xd3, 0x3f, 0xd6, 0xa0, 0xb9, 0x63, 0x39, 0x1d, 0x3c, + 0x78, 0xf5, 0xac, 0x1b, 0x47, 0x70, 0x33, 0x87, 0x96, 0x72, 0xcc, 0xf5, 0x60, 0x5e, 0xec, 0xf4, + 0x32, 0x15, 0x70, 0x1b, 0xea, 0xd2, 0x39, 0xe5, 0x68, 0x1d, 0x00, 0x4a, 0xf1, 0xfe, 0x32, 0x29, + 0x3e, 0x80, 0x25, 0xe5, 0xb4, 0x72, 0x74, 0xff, 0x56, 0x83, 0x9b, 0xed, 0x84, 0x7b, 0x3b, 0xea, + 0x77, 0xce, 0x1c, 0x6b, 0x88, 0xb9, 0x6b, 0xb6, 0x93, 0xae, 0xd9, 0x8e, 0x5d, 0xb3, 0xc3, 0x11, + 0x23, 0xd7, 0x1c, 0x8d, 0x13, 0x5c, 0x57, 0x8b, 0xb9, 0x9e, 0x52, 0xb9, 0x8e, 0xb5, 0xab, 0x96, + 0xd0, 0xae, 0x63, 0xd0, 0xf3, 0x08, 0x2d, 0x57, 0x6a, 0xf0, 0x69, 0x69, 0x9a, 0x65, 0x01, 0xed, + 0x91, 0xc7, 0x6b, 0x75, 0x51, 0x0a, 0x92, 0x22, 0x54, 0x2b, 0x22, 0xb4, 0x92, 0xf0, 0x00, 0x05, + 0xec, 0x1b, 0x3f, 0x61, 0x25, 0xe9, 0xec, 0x43, 0x4b, 0xdd, 0xe0, 0xa5, 0x12, 0x90, 0x0b, 0xfa, + 0x26, 0xc7, 0x74, 0x7c, 0x66, 0x9d, 0x98, 0x9f, 0xb2, 0x57, 0x55, 0x39, 0xb9, 0x9c, 0x08, 0x3e, + 0x8d, 0x7e, 0xcc, 0x7f, 0x2a, 0xb0, 0x9c, 0xd4, 0x2f, 0xa9, 0x48, 0x92, 0x63, 0x04, 0x25, 0x34, + 0x60, 0x02, 0x03, 0x78, 0x4b, 0x32, 0xad, 0x1a, 0x8f, 0xcc, 0x6d, 0xd7, 0xb5, 0x07, 0x98, 0x75, + 0x4e, 0x4f, 0x47, 0xbd, 0x8d, 0x76, 0xe0, 0xf7, 0x1d, 0xfb, 0x9b, 0xd6, 0x60, 0x84, 0x25, 0xc3, + 0x7b, 0x00, 0xd3, 0x3d, 0xab, 0x83, 0xdf, 0x37, 0x9f, 0xd0, 0x9c, 0x6d, 0xdc, 0xc2, 0x08, 0x19, + 0x7d, 0x19, 0x66, 0x7d, 0xd1, 0x1c, 0x9d, 0xa6, 0x2b, 0x6f, 0x29, 0x2b, 0x5b, 0x4e, 0xf0, 0xe6, + 0x16, 0x5b, 0x18, 0x63, 0xa3, 0x7b, 0x50, 0xc1, 0x2f, 0x9a, 0x33, 0x13, 0x9c, 0x56, 0xc1, 0x2f, + 0x8c, 0xc7, 0x70, 0x3d, 0x4b, 0xc6, 0xe5, 0xec, 0xf7, 0x3c, 0xae, 0x21, 0x3d, 0x3c, 0x25, 0x81, + 0x6f, 0x75, 0x82, 0xf1, 0x57, 0x26, 0x5f, 0x4d, 0xa5, 0xf8, 0x6a, 0xaa, 0xca, 0xd5, 0x18, 0x7f, + 0xd0, 0xa0, 0x99, 0x7d, 0x66, 0xb9, 0xbe, 0xc9, 0x3d, 0xde, 0x79, 0x17, 0xb1, 0xda, 0x29, 0xf6, + 0x79, 0x91, 0x46, 0x9d, 0x40, 0x5f, 0x84, 0x25, 0x3b, 0x59, 0x73, 0x3c, 0xb0, 0xc8, 0x77, 0x29, + 0x9d, 0x53, 0x66, 0xd6, 0x94, 0x71, 0x0e, 0x0d, 0xa6, 0xe5, 0x64, 0xef, 0x45, 0xec, 0xd7, 0x6c, + 0xd5, 0xb2, 0x25, 0xd0, 0x25, 0x45, 0xf4, 0x77, 0x8d, 0x67, 0x7b, 0xe2, 0xcc, 0x72, 0xa2, 0x79, + 0x04, 0xc0, 0x77, 0x38, 0xb4, 0x3c, 0xde, 0x4c, 0xfa, 0xbc, 0xdc, 0x7b, 0x97, 0xf6, 0xdf, 0x88, + 0x31, 0xf7, 0x9c, 0xc0, 0xff, 0xd0, 0x94, 0x96, 0xea, 0x5f, 0x85, 0x46, 0x6a, 0x1a, 0x2d, 0x40, + 0xf5, 0x0c, 0x7f, 0xc8, 0x55, 0x23, 0xfc, 0x1b, 0x66, 0xf1, 0xcf, 0x43, 0x2d, 0xa5, 0x0c, 0xcf, + 0x98, 0x6c, 0xf0, 0x76, 0xe5, 0x2d, 0xcd, 0x70, 0x60, 0x81, 0xf2, 0x4e, 0x5a, 0x89, 0x0e, 0x4c, + 0x8e, 0x7a, 0xad, 0x02, 0x8c, 0xd2, 0xb5, 0x40, 0x09, 0x32, 0x81, 0xfc, 0xfe, 0xa1, 0xc1, 0x62, + 0xea, 0xc0, 0x72, 0x02, 0x3c, 0xc8, 0x10, 0xe0, 0x3a, 0x5f, 0xa2, 0x1c, 0xf0, 0x12, 0x25, 0xb8, + 0xf5, 0xef, 0x45, 0x60, 0x1f, 0x93, 0xa0, 0xaf, 0xc0, 0x5c, 0x27, 0xfe, 0xe8, 0x00, 0x2d, 0x47, + 0x0c, 0x24, 0xbe, 0xbc, 0xd0, 0xaf, 0x67, 0x81, 0x89, 0x87, 0x1e, 0xc0, 0xec, 0xf7, 0xa2, 0xce, + 0x11, 0x5a, 0xe2, 0x48, 0x72, 0x67, 0x4c, 0xbf, 0xa6, 0x02, 0xd9, 0xba, 0xf3, 0xa8, 0x2d, 0x21, + 0xd6, 0xc9, 0x0d, 0x11, 0xb1, 0x2e, 0xd9, 0xbd, 0xd8, 0x86, 0xba, 0x2d, 0x7f, 0x2c, 0x80, 0x6e, + 0x44, 0xea, 0x97, 0xfa, 0x6e, 0x41, 0x6f, 0x66, 0x4f, 0x10, 0x0f, 0xbd, 0x0b, 0xf3, 0x44, 0xea, + 0xa2, 0xa3, 0x88, 0xb7, 0x54, 0xe7, 0x5f, 0xbf, 0x91, 0x09, 0x27, 0x1e, 0xfa, 0x0e, 0xdc, 0xb0, + 0xb3, 0x5b, 0xd8, 0xe8, 0xb5, 0xd4, 0xa9, 0x6a, 0x0b, 0x59, 0x37, 0xc6, 0xa1, 0x10, 0x0f, 0xf5, + 0xe0, 0xa6, 0x9d, 0xd7, 0x0f, 0x46, 0xaf, 0xc7, 0x1b, 0xe4, 0x36, 0xaa, 0xf5, 0xbb, 0xe3, 0x91, + 0x88, 0x87, 0x4e, 0x00, 0x05, 0x4a, 0x53, 0x14, 0xad, 0xf0, 0xb5, 0x99, 0x0d, 0x5f, 0xfd, 0x76, + 0xc1, 0x2c, 0xf1, 0x50, 0x07, 0x9a, 0x76, 0x4e, 0xaf, 0x0c, 0x19, 0x89, 0xef, 0x74, 0x32, 0xfb, + 0x84, 0xfa, 0xeb, 0x63, 0x71, 0x18, 0xdd, 0xb6, 0xd2, 0xec, 0x11, 0x74, 0x67, 0xf6, 0xaa, 0x04, + 0xdd, 0x39, 0x5d, 0xa2, 0xa7, 0xb0, 0x64, 0xab, 0xdd, 0x0f, 0x94, 0xbd, 0x4a, 0x68, 0xd9, 0x6a, + 0xd1, 0x34, 0x35, 0xf8, 0xc6, 0x59, 0xb2, 0x9c, 0x8f, 0xa2, 0x8f, 0x95, 0xd4, 0xae, 0x86, 0xae, + 0xe7, 0x4d, 0x09, 0x96, 0x53, 0xf5, 0x71, 0x99, 0x65, 0xb5, 0x64, 0x2f, 0xb3, 0x9c, 0x55, 0x58, + 0x3f, 0x82, 0xc5, 0x7e, 0xba, 0x64, 0x8c, 0x6e, 0x45, 0x55, 0xde, 0x8c, 0x1a, 0xb8, 0xbe, 0x92, + 0x3f, 0xc9, 0xf6, 0xb3, 0xd3, 0xf5, 0x55, 0xb1, 0x5f, 0x56, 0x61, 0x58, 0x5f, 0xc9, 0x9f, 0x64, + 0x4e, 0x42, 0x58, 0xaf, 0x70, 0x12, 0x72, 0x21, 0x52, 0x38, 0x89, 0x64, 0xb1, 0xef, 0x04, 0x90, + 0x5a, 0x1d, 0xca, 0xd1, 0x0e, 0x5e, 0xf0, 0xca, 0xd1, 0x0e, 0x51, 0x56, 0x7a, 0x17, 0xe6, 0xe5, + 0x7a, 0x88, 0xf0, 0x19, 0xa9, 0x7a, 0x8c, 0xf0, 0x19, 0x4a, 0xf1, 0xe4, 0x00, 0x1a, 0xa9, 0x0c, + 0x5c, 0x28, 0x82, 0x5a, 0x25, 0x10, 0x8a, 0x90, 0x95, 0xb4, 0x7f, 0x00, 0xcb, 0x99, 0x19, 0x3d, + 0xba, 0x13, 0xf9, 0xe8, 0x9c, 0xda, 0x83, 0xbe, 0x56, 0x8c, 0xc0, 0x24, 0x2e, 0xc0, 0x42, 0xe2, + 0x72, 0xf6, 0x2c, 0x24, 0x9e, 0x4c, 0x72, 0x0f, 0xa0, 0x91, 0xda, 0x54, 0x70, 0xa7, 0x66, 0xe0, + 0x82, 0xbb, 0xac, 0x74, 0xf9, 0xdb, 0xe9, 0x68, 0x34, 0xca, 0x28, 0xd1, 0x5a, 0xca, 0x1d, 0x2b, + 0x99, 0xb1, 0xfe, 0xda, 0x18, 0x0c, 0xe6, 0xba, 0x73, 0x52, 0x3d, 0xd9, 0x75, 0xe7, 0xe4, 0x9f, + 0xb2, 0xeb, 0xce, 0xcd, 0x16, 0x99, 0xf2, 0xa5, 0x92, 0x28, 0x59, 0xf9, 0xd4, 0xcc, 0x4e, 0x56, + 0xbe, 0xac, 0xec, 0xeb, 0x04, 0x90, 0x1a, 0xa1, 0x8b, 0x2d, 0x33, 0x13, 0x24, 0xb1, 0x65, 0x4e, + 0x68, 0xff, 0x2d, 0xa9, 0x53, 0x23, 0xc5, 0xcc, 0x28, 0xed, 0xcf, 0x52, 0x41, 0xbc, 0x7e, 0xa7, + 0x70, 0x9e, 0x19, 0x8a, 0x1c, 0x09, 0x0a, 0x43, 0x49, 0x85, 0xbc, 0xc2, 0x50, 0x94, 0xb0, 0x74, + 0x1b, 0xea, 0x89, 0x48, 0x48, 0xbc, 0xf0, 0xe9, 0x88, 0x4f, 0xbc, 0xf0, 0x4a, 0xe0, 0xb4, 0x7d, + 0xe7, 0x83, 0xdb, 0xc7, 0x1e, 0x76, 0x9e, 0xb5, 0x0e, 0xa5, 0x2f, 0x5e, 0x29, 0xf2, 0x3b, 0xf4, + 0xf7, 0xf4, 0x0a, 0x05, 0xbd, 0xf9, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x5e, 0x18, 0x7c, 0x33, + 0x64, 0x2b, 0x00, 0x00, +} diff --git a/pkg/proto/group/group.proto b/pkg/proto/group/group.proto index 89625d42a..3f61b4961 100644 --- a/pkg/proto/group/group.proto +++ b/pkg/proto/group/group.proto @@ -388,7 +388,7 @@ message GroupIsExistResp { message UserIsInGroupReq { string groupID = 1; - string userIDList = 2; + repeated string userIDList = 2; string operationID = 3; } @@ -430,7 +430,7 @@ service group{ rpc SetGroupMemberInfo(SetGroupMemberInfoReq) returns (SetGroupMemberInfoResp); rpc GetGroupAbstractInfo(GetGroupAbstractInfoReq) returns (GetGroupAbstractInfoResp); rpc GroupIsExist(GroupIsExistReq) returns(GroupIsExistResp); - rpc UserIsInGroup(UserIsInGroupReq) returns(); + rpc UserIsInGroup(UserIsInGroupReq) returns(UserIsInGroupResp); } From 64edd9b7eab6b44c372a3e8a11e36de3fa22055c Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 3 Jan 2023 18:16:32 +0800 Subject: [PATCH 233/313] fix script --- script/docker_start_all.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/script/docker_start_all.sh b/script/docker_start_all.sh index 42ee81992..16283cf22 100644 --- a/script/docker_start_all.sh +++ b/script/docker_start_all.sh @@ -10,6 +10,7 @@ need_to_start_server_shell=( msg_transfer_start.sh sdk_svr_start.sh demo_svr_start.sh + start_cron.sh ) #fixme The 10 second delay to start the project is for the docker-compose one-click to start openIM when the infrastructure dependencies are not started From e8130164022ae664434b088c049bd9dfc17c9bcd Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Wed, 4 Jan 2023 17:14:30 +0800 Subject: [PATCH 234/313] del msg --- internal/rpc/msg/del_msg.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/internal/rpc/msg/del_msg.go b/internal/rpc/msg/del_msg.go index 06ec06e06..6fce480d3 100644 --- a/internal/rpc/msg/del_msg.go +++ b/internal/rpc/msg/del_msg.go @@ -5,8 +5,8 @@ import ( "Open_IM/pkg/common/db" "Open_IM/pkg/common/log" "Open_IM/pkg/common/token_verify" - commonPb "Open_IM/pkg/proto/sdk_ws" "Open_IM/pkg/proto/msg" + commonPb "Open_IM/pkg/proto/sdk_ws" "Open_IM/pkg/utils" "context" "time" @@ -39,18 +39,18 @@ func (rpc *rpcChat) DelSuperGroupMsg(_ context.Context, req *msg.DelSuperGroupMs resp := &msg.DelSuperGroupMsgResp{} groupMaxSeq, err := db.DB.GetGroupMaxSeq(req.GroupID) if err != nil { - log.NewError(req.OperationID, "GetGroupMaxSeq false ", req.OpUserID, req.UserID,req.GroupID) + log.NewError(req.OperationID, "GetGroupMaxSeq false ", req.OpUserID, req.UserID, req.GroupID) resp.ErrCode = constant.ErrDB.ErrCode resp.ErrMsg = err.Error() return resp, nil } - err = db.DB.SetGroupUserMinSeq(req.GroupID,req.UserID, groupMaxSeq) + err = db.DB.SetGroupUserMinSeq(req.GroupID, req.UserID, groupMaxSeq+1) if err != nil { - log.NewError(req.OperationID, "SetGroupUserMinSeq false ", req.OpUserID, req.UserID,req.GroupID) + log.NewError(req.OperationID, "SetGroupUserMinSeq false ", req.OpUserID, req.UserID, req.GroupID) resp.ErrCode = constant.ErrDB.ErrCode resp.ErrMsg = err.Error() return resp, nil } log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) return resp, nil -} \ No newline at end of file +} From 6661c5baacec3047f36fd2a83463cbc868049337 Mon Sep 17 00:00:00 2001 From: withchao <993506633@qq.com> Date: Thu, 5 Jan 2023 16:11:20 +0800 Subject: [PATCH 235/313] group member cache --- internal/rpc/group/group.go | 10 +- pkg/base_info/group_api_struct.go | 1 + pkg/proto/group/group.pb.go | 433 +++++++++++++++--------------- pkg/proto/group/group.proto | 1 + 4 files changed, 232 insertions(+), 213 deletions(-) diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index d23f17aea..fbc2dd188 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -776,7 +776,15 @@ func (s *groupServer) GetGroupMembersInfo(ctx context.Context, req *pbGroup.GetG var resp pbGroup.GetGroupMembersInfoResp resp.MemberList = []*open_im_sdk.GroupMemberFullInfo{} for _, userID := range req.MemberList { - groupMember, err := rocksCache.GetGroupMemberInfoFromCache(req.GroupID, userID) + var ( + groupMember *db.GroupMember + err error + ) + if req.NoCache { + groupMember, err = imdb.GetGroupMemberInfoByGroupIDAndUserID(req.GroupID, userID) + } else { + groupMember, err = rocksCache.GetGroupMemberInfoFromCache(req.GroupID, userID) + } if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), req.GroupID, userID, err.Error()) continue diff --git a/pkg/base_info/group_api_struct.go b/pkg/base_info/group_api_struct.go index 8f2eaccd4..6218f13b2 100644 --- a/pkg/base_info/group_api_struct.go +++ b/pkg/base_info/group_api_struct.go @@ -29,6 +29,7 @@ type GetGroupMembersInfoReq struct { GroupID string `json:"groupID" binding:"required"` MemberList []string `json:"memberList" binding:"required"` OperationID string `json:"operationID" binding:"required"` + NoCache bool `json:"noCache"` } type GetGroupMembersInfoResp struct { CommResp diff --git a/pkg/proto/group/group.pb.go b/pkg/proto/group/group.pb.go index 74d28d247..9ed5f1cb4 100644 --- a/pkg/proto/group/group.pb.go +++ b/pkg/proto/group/group.pb.go @@ -37,7 +37,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_group_62d80c4ee8bcf1ea, []int{0} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{0} } func (m *CommonResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CommonResp.Unmarshal(m, b) @@ -83,7 +83,7 @@ func (m *GroupAddMemberInfo) Reset() { *m = GroupAddMemberInfo{} } func (m *GroupAddMemberInfo) String() string { return proto.CompactTextString(m) } func (*GroupAddMemberInfo) ProtoMessage() {} func (*GroupAddMemberInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{1} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{1} } func (m *GroupAddMemberInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupAddMemberInfo.Unmarshal(m, b) @@ -132,7 +132,7 @@ func (m *CreateGroupReq) Reset() { *m = CreateGroupReq{} } func (m *CreateGroupReq) String() string { return proto.CompactTextString(m) } func (*CreateGroupReq) ProtoMessage() {} func (*CreateGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{2} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{2} } func (m *CreateGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CreateGroupReq.Unmarshal(m, b) @@ -200,7 +200,7 @@ func (m *CreateGroupResp) Reset() { *m = CreateGroupResp{} } func (m *CreateGroupResp) String() string { return proto.CompactTextString(m) } func (*CreateGroupResp) ProtoMessage() {} func (*CreateGroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{3} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{3} } func (m *CreateGroupResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CreateGroupResp.Unmarshal(m, b) @@ -254,7 +254,7 @@ func (m *GetGroupsInfoReq) Reset() { *m = GetGroupsInfoReq{} } func (m *GetGroupsInfoReq) String() string { return proto.CompactTextString(m) } func (*GetGroupsInfoReq) ProtoMessage() {} func (*GetGroupsInfoReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{4} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{4} } func (m *GetGroupsInfoReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupsInfoReq.Unmarshal(m, b) @@ -308,7 +308,7 @@ func (m *GetGroupsInfoResp) Reset() { *m = GetGroupsInfoResp{} } func (m *GetGroupsInfoResp) String() string { return proto.CompactTextString(m) } func (*GetGroupsInfoResp) ProtoMessage() {} func (*GetGroupsInfoResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{5} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{5} } func (m *GetGroupsInfoResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupsInfoResp.Unmarshal(m, b) @@ -362,7 +362,7 @@ func (m *SetGroupInfoReq) Reset() { *m = SetGroupInfoReq{} } func (m *SetGroupInfoReq) String() string { return proto.CompactTextString(m) } func (*SetGroupInfoReq) ProtoMessage() {} func (*SetGroupInfoReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{6} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{6} } func (m *SetGroupInfoReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetGroupInfoReq.Unmarshal(m, b) @@ -414,7 +414,7 @@ func (m *SetGroupInfoResp) Reset() { *m = SetGroupInfoResp{} } func (m *SetGroupInfoResp) String() string { return proto.CompactTextString(m) } func (*SetGroupInfoResp) ProtoMessage() {} func (*SetGroupInfoResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{7} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{7} } func (m *SetGroupInfoResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetGroupInfoResp.Unmarshal(m, b) @@ -454,7 +454,7 @@ func (m *GetGroupApplicationListReq) Reset() { *m = GetGroupApplicationL func (m *GetGroupApplicationListReq) String() string { return proto.CompactTextString(m) } func (*GetGroupApplicationListReq) ProtoMessage() {} func (*GetGroupApplicationListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{8} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{8} } func (m *GetGroupApplicationListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupApplicationListReq.Unmarshal(m, b) @@ -508,7 +508,7 @@ func (m *GetGroupApplicationListResp) Reset() { *m = GetGroupApplication func (m *GetGroupApplicationListResp) String() string { return proto.CompactTextString(m) } func (*GetGroupApplicationListResp) ProtoMessage() {} func (*GetGroupApplicationListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{9} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{9} } func (m *GetGroupApplicationListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupApplicationListResp.Unmarshal(m, b) @@ -562,7 +562,7 @@ func (m *GetUserReqApplicationListReq) Reset() { *m = GetUserReqApplicat func (m *GetUserReqApplicationListReq) String() string { return proto.CompactTextString(m) } func (*GetUserReqApplicationListReq) ProtoMessage() {} func (*GetUserReqApplicationListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{10} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{10} } func (m *GetUserReqApplicationListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserReqApplicationListReq.Unmarshal(m, b) @@ -615,7 +615,7 @@ func (m *GetUserReqApplicationListResp) Reset() { *m = GetUserReqApplica func (m *GetUserReqApplicationListResp) String() string { return proto.CompactTextString(m) } func (*GetUserReqApplicationListResp) ProtoMessage() {} func (*GetUserReqApplicationListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{11} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{11} } func (m *GetUserReqApplicationListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserReqApplicationListResp.Unmarshal(m, b) @@ -664,7 +664,7 @@ func (m *TransferGroupOwnerReq) Reset() { *m = TransferGroupOwnerReq{} } func (m *TransferGroupOwnerReq) String() string { return proto.CompactTextString(m) } func (*TransferGroupOwnerReq) ProtoMessage() {} func (*TransferGroupOwnerReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{12} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{12} } func (m *TransferGroupOwnerReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TransferGroupOwnerReq.Unmarshal(m, b) @@ -730,7 +730,7 @@ func (m *TransferGroupOwnerResp) Reset() { *m = TransferGroupOwnerResp{} func (m *TransferGroupOwnerResp) String() string { return proto.CompactTextString(m) } func (*TransferGroupOwnerResp) ProtoMessage() {} func (*TransferGroupOwnerResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{13} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{13} } func (m *TransferGroupOwnerResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TransferGroupOwnerResp.Unmarshal(m, b) @@ -773,7 +773,7 @@ func (m *JoinGroupReq) Reset() { *m = JoinGroupReq{} } func (m *JoinGroupReq) String() string { return proto.CompactTextString(m) } func (*JoinGroupReq) ProtoMessage() {} func (*JoinGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{14} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{14} } func (m *JoinGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_JoinGroupReq.Unmarshal(m, b) @@ -846,7 +846,7 @@ func (m *JoinGroupResp) Reset() { *m = JoinGroupResp{} } func (m *JoinGroupResp) String() string { return proto.CompactTextString(m) } func (*JoinGroupResp) ProtoMessage() {} func (*JoinGroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{15} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{15} } func (m *JoinGroupResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_JoinGroupResp.Unmarshal(m, b) @@ -889,7 +889,7 @@ func (m *GroupApplicationResponseReq) Reset() { *m = GroupApplicationRes func (m *GroupApplicationResponseReq) String() string { return proto.CompactTextString(m) } func (*GroupApplicationResponseReq) ProtoMessage() {} func (*GroupApplicationResponseReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{16} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{16} } func (m *GroupApplicationResponseReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationResponseReq.Unmarshal(m, b) @@ -962,7 +962,7 @@ func (m *GroupApplicationResponseResp) Reset() { *m = GroupApplicationRe func (m *GroupApplicationResponseResp) String() string { return proto.CompactTextString(m) } func (*GroupApplicationResponseResp) ProtoMessage() {} func (*GroupApplicationResponseResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{17} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{17} } func (m *GroupApplicationResponseResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationResponseResp.Unmarshal(m, b) @@ -1002,7 +1002,7 @@ func (m *QuitGroupReq) Reset() { *m = QuitGroupReq{} } func (m *QuitGroupReq) String() string { return proto.CompactTextString(m) } func (*QuitGroupReq) ProtoMessage() {} func (*QuitGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{18} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{18} } func (m *QuitGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_QuitGroupReq.Unmarshal(m, b) @@ -1054,7 +1054,7 @@ func (m *QuitGroupResp) Reset() { *m = QuitGroupResp{} } func (m *QuitGroupResp) String() string { return proto.CompactTextString(m) } func (*QuitGroupResp) ProtoMessage() {} func (*QuitGroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{19} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{19} } func (m *QuitGroupResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_QuitGroupResp.Unmarshal(m, b) @@ -1096,7 +1096,7 @@ func (m *GetGroupMemberListReq) Reset() { *m = GetGroupMemberListReq{} } func (m *GetGroupMemberListReq) String() string { return proto.CompactTextString(m) } func (*GetGroupMemberListReq) ProtoMessage() {} func (*GetGroupMemberListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{20} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{20} } func (m *GetGroupMemberListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupMemberListReq.Unmarshal(m, b) @@ -1165,7 +1165,7 @@ func (m *GetGroupMemberListResp) Reset() { *m = GetGroupMemberListResp{} func (m *GetGroupMemberListResp) String() string { return proto.CompactTextString(m) } func (*GetGroupMemberListResp) ProtoMessage() {} func (*GetGroupMemberListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{21} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{21} } func (m *GetGroupMemberListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupMemberListResp.Unmarshal(m, b) @@ -1218,6 +1218,7 @@ type GetGroupMembersInfoReq struct { MemberList []string `protobuf:"bytes,2,rep,name=memberList" json:"memberList,omitempty"` OpUserID string `protobuf:"bytes,3,opt,name=OpUserID" json:"OpUserID,omitempty"` OperationID string `protobuf:"bytes,4,opt,name=OperationID" json:"OperationID,omitempty"` + NoCache bool `protobuf:"varint,5,opt,name=noCache" json:"noCache,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -1227,7 +1228,7 @@ func (m *GetGroupMembersInfoReq) Reset() { *m = GetGroupMembersInfoReq{} func (m *GetGroupMembersInfoReq) String() string { return proto.CompactTextString(m) } func (*GetGroupMembersInfoReq) ProtoMessage() {} func (*GetGroupMembersInfoReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{22} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{22} } func (m *GetGroupMembersInfoReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupMembersInfoReq.Unmarshal(m, b) @@ -1275,6 +1276,13 @@ func (m *GetGroupMembersInfoReq) GetOperationID() string { return "" } +func (m *GetGroupMembersInfoReq) GetNoCache() bool { + if m != nil { + return m.NoCache + } + return false +} + type GetGroupMembersInfoResp struct { ErrCode int32 `protobuf:"varint,1,opt,name=ErrCode" json:"ErrCode,omitempty"` ErrMsg string `protobuf:"bytes,2,opt,name=ErrMsg" json:"ErrMsg,omitempty"` @@ -1288,7 +1296,7 @@ func (m *GetGroupMembersInfoResp) Reset() { *m = GetGroupMembersInfoResp func (m *GetGroupMembersInfoResp) String() string { return proto.CompactTextString(m) } func (*GetGroupMembersInfoResp) ProtoMessage() {} func (*GetGroupMembersInfoResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{23} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{23} } func (m *GetGroupMembersInfoResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupMembersInfoResp.Unmarshal(m, b) @@ -1344,7 +1352,7 @@ func (m *KickGroupMemberReq) Reset() { *m = KickGroupMemberReq{} } func (m *KickGroupMemberReq) String() string { return proto.CompactTextString(m) } func (*KickGroupMemberReq) ProtoMessage() {} func (*KickGroupMemberReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{24} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{24} } func (m *KickGroupMemberReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_KickGroupMemberReq.Unmarshal(m, b) @@ -1411,7 +1419,7 @@ func (m *Id2Result) Reset() { *m = Id2Result{} } func (m *Id2Result) String() string { return proto.CompactTextString(m) } func (*Id2Result) ProtoMessage() {} func (*Id2Result) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{25} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{25} } func (m *Id2Result) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Id2Result.Unmarshal(m, b) @@ -1458,7 +1466,7 @@ func (m *KickGroupMemberResp) Reset() { *m = KickGroupMemberResp{} } func (m *KickGroupMemberResp) String() string { return proto.CompactTextString(m) } func (*KickGroupMemberResp) ProtoMessage() {} func (*KickGroupMemberResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{26} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{26} } func (m *KickGroupMemberResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_KickGroupMemberResp.Unmarshal(m, b) @@ -1512,7 +1520,7 @@ func (m *GetJoinedGroupListReq) Reset() { *m = GetJoinedGroupListReq{} } func (m *GetJoinedGroupListReq) String() string { return proto.CompactTextString(m) } func (*GetJoinedGroupListReq) ProtoMessage() {} func (*GetJoinedGroupListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{27} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{27} } func (m *GetJoinedGroupListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetJoinedGroupListReq.Unmarshal(m, b) @@ -1566,7 +1574,7 @@ func (m *GetJoinedGroupListResp) Reset() { *m = GetJoinedGroupListResp{} func (m *GetJoinedGroupListResp) String() string { return proto.CompactTextString(m) } func (*GetJoinedGroupListResp) ProtoMessage() {} func (*GetJoinedGroupListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{28} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{28} } func (m *GetJoinedGroupListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetJoinedGroupListResp.Unmarshal(m, b) @@ -1622,7 +1630,7 @@ func (m *InviteUserToGroupReq) Reset() { *m = InviteUserToGroupReq{} } func (m *InviteUserToGroupReq) String() string { return proto.CompactTextString(m) } func (*InviteUserToGroupReq) ProtoMessage() {} func (*InviteUserToGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{29} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{29} } func (m *InviteUserToGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_InviteUserToGroupReq.Unmarshal(m, b) @@ -1690,7 +1698,7 @@ func (m *InviteUserToGroupResp) Reset() { *m = InviteUserToGroupResp{} } func (m *InviteUserToGroupResp) String() string { return proto.CompactTextString(m) } func (*InviteUserToGroupResp) ProtoMessage() {} func (*InviteUserToGroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{30} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{30} } func (m *InviteUserToGroupResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_InviteUserToGroupResp.Unmarshal(m, b) @@ -1746,7 +1754,7 @@ func (m *GetGroupAllMemberReq) Reset() { *m = GetGroupAllMemberReq{} } func (m *GetGroupAllMemberReq) String() string { return proto.CompactTextString(m) } func (*GetGroupAllMemberReq) ProtoMessage() {} func (*GetGroupAllMemberReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{31} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{31} } func (m *GetGroupAllMemberReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupAllMemberReq.Unmarshal(m, b) @@ -1814,7 +1822,7 @@ func (m *GetGroupAllMemberResp) Reset() { *m = GetGroupAllMemberResp{} } func (m *GetGroupAllMemberResp) String() string { return proto.CompactTextString(m) } func (*GetGroupAllMemberResp) ProtoMessage() {} func (*GetGroupAllMemberResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{32} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{32} } func (m *GetGroupAllMemberResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupAllMemberResp.Unmarshal(m, b) @@ -1868,7 +1876,7 @@ func (m *CMSGroup) Reset() { *m = CMSGroup{} } func (m *CMSGroup) String() string { return proto.CompactTextString(m) } func (*CMSGroup) ProtoMessage() {} func (*CMSGroup) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{33} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{33} } func (m *CMSGroup) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CMSGroup.Unmarshal(m, b) @@ -1923,7 +1931,7 @@ func (m *GetGroupsReq) Reset() { *m = GetGroupsReq{} } func (m *GetGroupsReq) String() string { return proto.CompactTextString(m) } func (*GetGroupsReq) ProtoMessage() {} func (*GetGroupsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{34} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{34} } func (m *GetGroupsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupsReq.Unmarshal(m, b) @@ -1985,7 +1993,7 @@ func (m *GetGroupsResp) Reset() { *m = GetGroupsResp{} } func (m *GetGroupsResp) String() string { return proto.CompactTextString(m) } func (*GetGroupsResp) ProtoMessage() {} func (*GetGroupsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{35} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{35} } func (m *GetGroupsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupsResp.Unmarshal(m, b) @@ -2045,7 +2053,7 @@ func (m *GetGroupMemberReq) Reset() { *m = GetGroupMemberReq{} } func (m *GetGroupMemberReq) String() string { return proto.CompactTextString(m) } func (*GetGroupMemberReq) ProtoMessage() {} func (*GetGroupMemberReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{36} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{36} } func (m *GetGroupMemberReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupMemberReq.Unmarshal(m, b) @@ -2093,7 +2101,7 @@ func (m *GetGroupMembersCMSReq) Reset() { *m = GetGroupMembersCMSReq{} } func (m *GetGroupMembersCMSReq) String() string { return proto.CompactTextString(m) } func (*GetGroupMembersCMSReq) ProtoMessage() {} func (*GetGroupMembersCMSReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{37} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{37} } func (m *GetGroupMembersCMSReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupMembersCMSReq.Unmarshal(m, b) @@ -2155,7 +2163,7 @@ func (m *GetGroupMembersCMSResp) Reset() { *m = GetGroupMembersCMSResp{} func (m *GetGroupMembersCMSResp) String() string { return proto.CompactTextString(m) } func (*GetGroupMembersCMSResp) ProtoMessage() {} func (*GetGroupMembersCMSResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{38} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{38} } func (m *GetGroupMembersCMSResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupMembersCMSResp.Unmarshal(m, b) @@ -2216,7 +2224,7 @@ func (m *DismissGroupReq) Reset() { *m = DismissGroupReq{} } func (m *DismissGroupReq) String() string { return proto.CompactTextString(m) } func (*DismissGroupReq) ProtoMessage() {} func (*DismissGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{39} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{39} } func (m *DismissGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DismissGroupReq.Unmarshal(m, b) @@ -2268,7 +2276,7 @@ func (m *DismissGroupResp) Reset() { *m = DismissGroupResp{} } func (m *DismissGroupResp) String() string { return proto.CompactTextString(m) } func (*DismissGroupResp) ProtoMessage() {} func (*DismissGroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{40} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{40} } func (m *DismissGroupResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DismissGroupResp.Unmarshal(m, b) @@ -2310,7 +2318,7 @@ func (m *MuteGroupMemberReq) Reset() { *m = MuteGroupMemberReq{} } func (m *MuteGroupMemberReq) String() string { return proto.CompactTextString(m) } func (*MuteGroupMemberReq) ProtoMessage() {} func (*MuteGroupMemberReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{41} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{41} } func (m *MuteGroupMemberReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MuteGroupMemberReq.Unmarshal(m, b) @@ -2376,7 +2384,7 @@ func (m *MuteGroupMemberResp) Reset() { *m = MuteGroupMemberResp{} } func (m *MuteGroupMemberResp) String() string { return proto.CompactTextString(m) } func (*MuteGroupMemberResp) ProtoMessage() {} func (*MuteGroupMemberResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{42} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{42} } func (m *MuteGroupMemberResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MuteGroupMemberResp.Unmarshal(m, b) @@ -2417,7 +2425,7 @@ func (m *CancelMuteGroupMemberReq) Reset() { *m = CancelMuteGroupMemberR func (m *CancelMuteGroupMemberReq) String() string { return proto.CompactTextString(m) } func (*CancelMuteGroupMemberReq) ProtoMessage() {} func (*CancelMuteGroupMemberReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{43} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{43} } func (m *CancelMuteGroupMemberReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CancelMuteGroupMemberReq.Unmarshal(m, b) @@ -2476,7 +2484,7 @@ func (m *CancelMuteGroupMemberResp) Reset() { *m = CancelMuteGroupMember func (m *CancelMuteGroupMemberResp) String() string { return proto.CompactTextString(m) } func (*CancelMuteGroupMemberResp) ProtoMessage() {} func (*CancelMuteGroupMemberResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{44} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{44} } func (m *CancelMuteGroupMemberResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CancelMuteGroupMemberResp.Unmarshal(m, b) @@ -2516,7 +2524,7 @@ func (m *MuteGroupReq) Reset() { *m = MuteGroupReq{} } func (m *MuteGroupReq) String() string { return proto.CompactTextString(m) } func (*MuteGroupReq) ProtoMessage() {} func (*MuteGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{45} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{45} } func (m *MuteGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MuteGroupReq.Unmarshal(m, b) @@ -2568,7 +2576,7 @@ func (m *MuteGroupResp) Reset() { *m = MuteGroupResp{} } func (m *MuteGroupResp) String() string { return proto.CompactTextString(m) } func (*MuteGroupResp) ProtoMessage() {} func (*MuteGroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{46} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{46} } func (m *MuteGroupResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MuteGroupResp.Unmarshal(m, b) @@ -2608,7 +2616,7 @@ func (m *CancelMuteGroupReq) Reset() { *m = CancelMuteGroupReq{} } func (m *CancelMuteGroupReq) String() string { return proto.CompactTextString(m) } func (*CancelMuteGroupReq) ProtoMessage() {} func (*CancelMuteGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{47} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{47} } func (m *CancelMuteGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CancelMuteGroupReq.Unmarshal(m, b) @@ -2660,7 +2668,7 @@ func (m *CancelMuteGroupResp) Reset() { *m = CancelMuteGroupResp{} } func (m *CancelMuteGroupResp) String() string { return proto.CompactTextString(m) } func (*CancelMuteGroupResp) ProtoMessage() {} func (*CancelMuteGroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{48} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{48} } func (m *CancelMuteGroupResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CancelMuteGroupResp.Unmarshal(m, b) @@ -2702,7 +2710,7 @@ func (m *SetGroupMemberNicknameReq) Reset() { *m = SetGroupMemberNicknam func (m *SetGroupMemberNicknameReq) String() string { return proto.CompactTextString(m) } func (*SetGroupMemberNicknameReq) ProtoMessage() {} func (*SetGroupMemberNicknameReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{49} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{49} } func (m *SetGroupMemberNicknameReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetGroupMemberNicknameReq.Unmarshal(m, b) @@ -2768,7 +2776,7 @@ func (m *SetGroupMemberNicknameResp) Reset() { *m = SetGroupMemberNickna func (m *SetGroupMemberNicknameResp) String() string { return proto.CompactTextString(m) } func (*SetGroupMemberNicknameResp) ProtoMessage() {} func (*SetGroupMemberNicknameResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{50} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{50} } func (m *SetGroupMemberNicknameResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetGroupMemberNicknameResp.Unmarshal(m, b) @@ -2808,7 +2816,7 @@ func (m *GetJoinedSuperGroupListReq) Reset() { *m = GetJoinedSuperGroupL func (m *GetJoinedSuperGroupListReq) String() string { return proto.CompactTextString(m) } func (*GetJoinedSuperGroupListReq) ProtoMessage() {} func (*GetJoinedSuperGroupListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{51} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{51} } func (m *GetJoinedSuperGroupListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetJoinedSuperGroupListReq.Unmarshal(m, b) @@ -2861,7 +2869,7 @@ func (m *GetJoinedSuperGroupListResp) Reset() { *m = GetJoinedSuperGroup func (m *GetJoinedSuperGroupListResp) String() string { return proto.CompactTextString(m) } func (*GetJoinedSuperGroupListResp) ProtoMessage() {} func (*GetJoinedSuperGroupListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{52} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{52} } func (m *GetJoinedSuperGroupListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetJoinedSuperGroupListResp.Unmarshal(m, b) @@ -2908,7 +2916,7 @@ func (m *GetSuperGroupsInfoReq) Reset() { *m = GetSuperGroupsInfoReq{} } func (m *GetSuperGroupsInfoReq) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupsInfoReq) ProtoMessage() {} func (*GetSuperGroupsInfoReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{53} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{53} } func (m *GetSuperGroupsInfoReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupsInfoReq.Unmarshal(m, b) @@ -2961,7 +2969,7 @@ func (m *GetSuperGroupsInfoResp) Reset() { *m = GetSuperGroupsInfoResp{} func (m *GetSuperGroupsInfoResp) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupsInfoResp) ProtoMessage() {} func (*GetSuperGroupsInfoResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{54} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{54} } func (m *GetSuperGroupsInfoResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupsInfoResp.Unmarshal(m, b) @@ -3013,7 +3021,7 @@ func (m *SetGroupMemberInfoReq) Reset() { *m = SetGroupMemberInfoReq{} } func (m *SetGroupMemberInfoReq) String() string { return proto.CompactTextString(m) } func (*SetGroupMemberInfoReq) ProtoMessage() {} func (*SetGroupMemberInfoReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{55} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{55} } func (m *SetGroupMemberInfoReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetGroupMemberInfoReq.Unmarshal(m, b) @@ -3100,7 +3108,7 @@ func (m *SetGroupMemberInfoResp) Reset() { *m = SetGroupMemberInfoResp{} func (m *SetGroupMemberInfoResp) String() string { return proto.CompactTextString(m) } func (*SetGroupMemberInfoResp) ProtoMessage() {} func (*SetGroupMemberInfoResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{56} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{56} } func (m *SetGroupMemberInfoResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetGroupMemberInfoResp.Unmarshal(m, b) @@ -3140,7 +3148,7 @@ func (m *GetGroupAbstractInfoReq) Reset() { *m = GetGroupAbstractInfoReq func (m *GetGroupAbstractInfoReq) String() string { return proto.CompactTextString(m) } func (*GetGroupAbstractInfoReq) ProtoMessage() {} func (*GetGroupAbstractInfoReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{57} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{57} } func (m *GetGroupAbstractInfoReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupAbstractInfoReq.Unmarshal(m, b) @@ -3194,7 +3202,7 @@ func (m *GetGroupAbstractInfoResp) Reset() { *m = GetGroupAbstractInfoRe func (m *GetGroupAbstractInfoResp) String() string { return proto.CompactTextString(m) } func (*GetGroupAbstractInfoResp) ProtoMessage() {} func (*GetGroupAbstractInfoResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{58} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{58} } func (m *GetGroupAbstractInfoResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupAbstractInfoResp.Unmarshal(m, b) @@ -3248,7 +3256,7 @@ func (m *GroupIsExistReq) Reset() { *m = GroupIsExistReq{} } func (m *GroupIsExistReq) String() string { return proto.CompactTextString(m) } func (*GroupIsExistReq) ProtoMessage() {} func (*GroupIsExistReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{59} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{59} } func (m *GroupIsExistReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupIsExistReq.Unmarshal(m, b) @@ -3301,7 +3309,7 @@ func (m *GroupIsExistResp) Reset() { *m = GroupIsExistResp{} } func (m *GroupIsExistResp) String() string { return proto.CompactTextString(m) } func (*GroupIsExistResp) ProtoMessage() {} func (*GroupIsExistResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{60} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{60} } func (m *GroupIsExistResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupIsExistResp.Unmarshal(m, b) @@ -3348,7 +3356,7 @@ func (m *UserIsInGroupReq) Reset() { *m = UserIsInGroupReq{} } func (m *UserIsInGroupReq) String() string { return proto.CompactTextString(m) } func (*UserIsInGroupReq) ProtoMessage() {} func (*UserIsInGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{61} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{61} } func (m *UserIsInGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserIsInGroupReq.Unmarshal(m, b) @@ -3401,7 +3409,7 @@ func (m *UserIsInGroupResp) Reset() { *m = UserIsInGroupResp{} } func (m *UserIsInGroupResp) String() string { return proto.CompactTextString(m) } func (*UserIsInGroupResp) ProtoMessage() {} func (*UserIsInGroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_62d80c4ee8bcf1ea, []int{62} + return fileDescriptor_group_5cfdf63bf5b84d31, []int{62} } func (m *UserIsInGroupResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserIsInGroupResp.Unmarshal(m, b) @@ -4499,156 +4507,157 @@ var _Group_serviceDesc = grpc.ServiceDesc{ Metadata: "group/group.proto", } -func init() { proto.RegisterFile("group/group.proto", fileDescriptor_group_62d80c4ee8bcf1ea) } +func init() { proto.RegisterFile("group/group.proto", fileDescriptor_group_5cfdf63bf5b84d31) } -var fileDescriptor_group_62d80c4ee8bcf1ea = []byte{ - // 2356 bytes of a gzipped FileDescriptorProto +var fileDescriptor_group_5cfdf63bf5b84d31 = []byte{ + // 2370 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x1a, 0x4d, 0x6f, 0x1c, 0x49, - 0x55, 0x3d, 0xe3, 0x89, 0xed, 0x67, 0x4f, 0xc6, 0x2e, 0xc7, 0xc9, 0xa4, 0xe3, 0x38, 0xde, 0xde, + 0x55, 0x3d, 0xe3, 0x89, 0xed, 0x67, 0x4f, 0xc6, 0x2e, 0xc7, 0xce, 0xa4, 0xe3, 0x38, 0xde, 0xde, 0xb0, 0x58, 0x28, 0xb1, 0xc1, 0x2b, 0x45, 0xcb, 0x2e, 0xb0, 0xc4, 0x5f, 0xf1, 0x6c, 0x62, 0x1b, - 0xf7, 0x64, 0x41, 0x5a, 0x09, 0x85, 0xf6, 0x4c, 0x4d, 0x33, 0x78, 0xa6, 0xbb, 0xdd, 0xd5, 0x13, - 0x67, 0xb9, 0xac, 0xb8, 0x20, 0x81, 0x90, 0x00, 0x71, 0x5d, 0x84, 0xe0, 0x02, 0x07, 0x40, 0x1c, - 0xe0, 0xcc, 0x1f, 0x00, 0x71, 0xe1, 0x82, 0xb8, 0xf1, 0x07, 0xb8, 0xf0, 0x03, 0x50, 0x57, 0x55, - 0x57, 0x57, 0x77, 0x75, 0xf7, 0xcc, 0xb6, 0x37, 0x9b, 0xcb, 0x68, 0xea, 0xd5, 0xab, 0xaa, 0xf7, - 0x5e, 0xbd, 0xf7, 0xea, 0x7d, 0x34, 0x2c, 0xda, 0xbe, 0x3b, 0xf2, 0x36, 0xe9, 0xef, 0x86, 0xe7, - 0xbb, 0x81, 0x8b, 0x6a, 0x74, 0xa0, 0xaf, 0x1f, 0x7b, 0xd8, 0xb9, 0xdf, 0x3a, 0xbc, 0xdf, 0xc6, - 0xfe, 0x73, 0xec, 0x6f, 0x7a, 0x67, 0xf6, 0x26, 0x45, 0xd8, 0x24, 0xdd, 0xb3, 0x67, 0x17, 0x64, - 0xf3, 0x82, 0xb0, 0x05, 0xfa, 0xc6, 0x58, 0x4c, 0xdf, 0xf2, 0x3c, 0xec, 0x73, 0x7c, 0xe3, 0x6b, - 0x00, 0x3b, 0xee, 0x70, 0xe8, 0x3a, 0x26, 0x26, 0x1e, 0x6a, 0xc2, 0xf4, 0x9e, 0xef, 0xef, 0xb8, - 0x5d, 0xdc, 0xd4, 0xd6, 0xb4, 0xf5, 0x9a, 0x19, 0x0d, 0xd1, 0x75, 0xb8, 0xb2, 0xe7, 0xfb, 0x87, - 0xc4, 0x6e, 0x56, 0xd6, 0xb4, 0xf5, 0x59, 0x93, 0x8f, 0x8c, 0xf7, 0x00, 0x3d, 0x0a, 0x49, 0x7c, - 0xd8, 0xed, 0x1e, 0xe2, 0xe1, 0x29, 0xf6, 0x5b, 0x4e, 0xcf, 0x0d, 0xb1, 0xdf, 0x27, 0xd8, 0x6f, - 0xed, 0xd2, 0x6d, 0x66, 0x4d, 0x3e, 0x42, 0x2b, 0x30, 0x6b, 0xba, 0x03, 0xfc, 0x04, 0x3f, 0xc7, - 0x03, 0xba, 0x51, 0xcd, 0x8c, 0x01, 0xc6, 0x7f, 0x35, 0xb8, 0xba, 0xe3, 0x63, 0x2b, 0xc0, 0x74, - 0x4b, 0x13, 0x9f, 0xa3, 0x87, 0x70, 0xb5, 0xe5, 0xf4, 0x03, 0xb6, 0xf5, 0x93, 0x3e, 0x09, 0x9a, - 0xda, 0x5a, 0x75, 0x7d, 0x6e, 0xeb, 0xe6, 0x06, 0x93, 0x92, 0x7a, 0xb6, 0x99, 0x5a, 0x80, 0xde, - 0x86, 0x59, 0x8a, 0x15, 0x4e, 0xd2, 0x33, 0xe7, 0xb6, 0x56, 0x36, 0x08, 0x95, 0xce, 0x33, 0xcb, - 0xeb, 0x3f, 0xf3, 0x2c, 0xdf, 0x1a, 0x92, 0x0d, 0x81, 0x63, 0xc6, 0xe8, 0x68, 0x0d, 0xe6, 0x8e, - 0x3d, 0xec, 0x5b, 0x41, 0xdf, 0x75, 0x5a, 0xbb, 0xcd, 0x2a, 0x65, 0x46, 0x06, 0x21, 0x1d, 0x66, - 0x8e, 0x3d, 0xce, 0xeb, 0x14, 0x9d, 0x16, 0x63, 0xba, 0xfa, 0xc2, 0xc1, 0x3e, 0x9f, 0xae, 0xf1, - 0xd5, 0x31, 0xc8, 0xf8, 0x08, 0x1a, 0x09, 0x86, 0xcb, 0x5c, 0x41, 0x92, 0xc1, 0xea, 0x27, 0x62, - 0xd0, 0xf0, 0x61, 0xe1, 0x11, 0x0e, 0xe8, 0x98, 0xd0, 0x39, 0x7c, 0x1e, 0x92, 0xcd, 0x10, 0x76, - 0x85, 0xc0, 0x67, 0x4d, 0x19, 0x94, 0x16, 0x4b, 0xa5, 0x58, 0x2c, 0xd5, 0xa4, 0x58, 0x8c, 0x1f, - 0x69, 0xb0, 0x98, 0x3a, 0xb4, 0x14, 0xdf, 0xdb, 0x50, 0x17, 0x8c, 0x50, 0x4a, 0xab, 0x54, 0x35, - 0x8a, 0x79, 0x4f, 0x2e, 0x31, 0x7e, 0xa9, 0x41, 0xa3, 0xcd, 0x69, 0x89, 0xf8, 0x7f, 0x02, 0x0d, - 0x3b, 0x1a, 0xef, 0xbb, 0x7e, 0x1b, 0x07, 0x94, 0xa2, 0xb9, 0x2d, 0xa3, 0x68, 0x67, 0x86, 0x69, - 0xa6, 0x97, 0x26, 0x24, 0x51, 0xc9, 0x50, 0x90, 0x42, 0xf5, 0x32, 0xf6, 0x60, 0x21, 0x49, 0x1e, - 0xf1, 0xd0, 0x97, 0x64, 0x93, 0xe5, 0xa4, 0x2d, 0x72, 0x7b, 0x88, 0x27, 0x4c, 0x09, 0xc9, 0xf8, - 0x3e, 0xe8, 0x91, 0xc4, 0x1f, 0x7a, 0xde, 0xa0, 0xdf, 0xa1, 0xfb, 0x87, 0x12, 0x08, 0x19, 0x96, - 0x49, 0xd4, 0x8a, 0x49, 0xcc, 0xb8, 0xea, 0x55, 0x80, 0x7d, 0xdf, 0x1d, 0x26, 0x2e, 0x5b, 0x82, - 0x18, 0x1f, 0x6b, 0x70, 0x2b, 0xf7, 0xf0, 0x52, 0x17, 0xff, 0x18, 0x16, 0x22, 0x07, 0x31, 0xc2, - 0x24, 0x90, 0xee, 0xfe, 0x4e, 0xde, 0x0d, 0x71, 0x54, 0x53, 0x59, 0x68, 0x04, 0xb0, 0xf2, 0x08, - 0x07, 0x21, 0xad, 0x26, 0x3e, 0xcf, 0x10, 0x4e, 0x9e, 0x2b, 0xbb, 0xdc, 0xbd, 0xfe, 0x4a, 0x83, - 0xdb, 0x05, 0xc7, 0x96, 0xba, 0xe5, 0x4c, 0xb9, 0x54, 0xca, 0xca, 0xe5, 0xaf, 0x1a, 0x2c, 0x3f, - 0xf5, 0x2d, 0x87, 0xf4, 0xb0, 0x4f, 0x27, 0xa9, 0xdf, 0x0a, 0x25, 0xd2, 0x84, 0x69, 0xee, 0x0c, - 0xb8, 0x48, 0xa2, 0x21, 0x7a, 0x03, 0xae, 0x1e, 0x0f, 0xba, 0xb2, 0xcf, 0x63, 0x92, 0x49, 0x41, - 0x43, 0xbc, 0x23, 0x7c, 0x21, 0xe3, 0x31, 0x11, 0xa5, 0xa0, 0x69, 0x39, 0x4e, 0x15, 0xfb, 0x99, - 0x5a, 0xca, 0xcf, 0x3c, 0x86, 0xeb, 0x59, 0x0c, 0x94, 0xb3, 0xa0, 0xbf, 0x69, 0x30, 0xff, 0x9e, - 0xdb, 0x77, 0xc4, 0xcb, 0x94, 0x2f, 0x85, 0x55, 0x00, 0x13, 0x9f, 0x1f, 0x62, 0x42, 0x2c, 0x1b, - 0x73, 0x09, 0x48, 0x90, 0x22, 0xdf, 0x38, 0x01, 0xc7, 0xab, 0x00, 0x21, 0x1d, 0x6d, 0x77, 0xe4, - 0x77, 0x30, 0xe5, 0xb9, 0x66, 0x4a, 0x10, 0x74, 0x17, 0xea, 0x2d, 0xe7, 0x79, 0x3f, 0x10, 0xa2, - 0xbd, 0x42, 0xf7, 0x48, 0x02, 0x8d, 0x6d, 0xa8, 0x4b, 0xdc, 0x94, 0x13, 0xc9, 0xbf, 0x42, 0xc3, - 0x4e, 0x59, 0x75, 0x38, 0xe1, 0x3a, 0x04, 0xf3, 0x77, 0x44, 0xe6, 0x45, 0x2b, 0xbe, 0xbd, 0xb4, - 0x0d, 0x49, 0xf2, 0xad, 0x2a, 0xf2, 0x95, 0x1c, 0xce, 0x54, 0xda, 0xe1, 0x84, 0xf3, 0x07, 0x96, - 0xd3, 0x1d, 0xe0, 0x6e, 0xe8, 0x3a, 0x98, 0x56, 0x48, 0x10, 0x64, 0xc0, 0x3c, 0x1b, 0x99, 0x98, - 0x8c, 0x06, 0x01, 0x15, 0x50, 0xcd, 0x4c, 0xc0, 0x8c, 0x13, 0x58, 0xc9, 0x67, 0xad, 0x9c, 0xb8, - 0x7a, 0x30, 0x7f, 0x32, 0xea, 0x07, 0x13, 0x28, 0xd0, 0xe5, 0x9e, 0xd7, 0x6d, 0xa8, 0x4b, 0xe7, - 0x94, 0xa3, 0xf5, 0xd7, 0x1a, 0x2c, 0x47, 0x3e, 0x3b, 0x0e, 0xa5, 0x8a, 0xa9, 0xbe, 0x94, 0x43, - 0x0c, 0xdd, 0xec, 0x7e, 0x7f, 0x10, 0x60, 0x9f, 0x5e, 0x68, 0xcd, 0xe4, 0xa3, 0xf0, 0xbc, 0x23, - 0xfc, 0x22, 0x68, 0xe3, 0x73, 0xae, 0xeb, 0xd1, 0xd0, 0xf8, 0xbd, 0x06, 0xd7, 0xb3, 0x68, 0x2c, - 0xf5, 0xa4, 0xec, 0x03, 0x0c, 0xe3, 0x18, 0x93, 0x3d, 0x26, 0x6f, 0xe4, 0x39, 0x4d, 0x76, 0xda, - 0xfe, 0x68, 0x30, 0xa0, 0x6f, 0xb2, 0xb4, 0x32, 0x3c, 0xd9, 0xe1, 0xe4, 0x32, 0x3e, 0xa2, 0xa1, - 0xf1, 0x33, 0x85, 0x5c, 0x11, 0x70, 0x15, 0xba, 0x12, 0x89, 0xac, 0x0a, 0x8d, 0xc4, 0xe4, 0xe3, - 0x2e, 0xe5, 0x4a, 0x8c, 0x5f, 0x68, 0x70, 0x23, 0x93, 0xa4, 0x57, 0x29, 0x42, 0xe3, 0x4f, 0x1a, - 0xa0, 0xc7, 0xfd, 0xce, 0x99, 0x84, 0x57, 0x2c, 0xa4, 0x2f, 0xc0, 0x42, 0x88, 0x8f, 0xbb, 0x8c, - 0x71, 0x49, 0x54, 0x0a, 0x3c, 0x24, 0xde, 0xc4, 0x16, 0x71, 0x1d, 0x2e, 0x2e, 0x3e, 0x4a, 0x0b, - 0xab, 0x56, 0x6c, 0x72, 0x57, 0x52, 0x26, 0xf7, 0x0e, 0xcc, 0xb6, 0xba, 0x5b, 0xcc, 0x75, 0xe4, - 0x06, 0x0c, 0xf4, 0x68, 0xea, 0x70, 0x58, 0xe2, 0xc3, 0x47, 0xc6, 0x47, 0xb0, 0xa4, 0xb0, 0x5b, - 0xea, 0x02, 0x1e, 0x40, 0x5d, 0x50, 0x21, 0xdd, 0xc1, 0x02, 0x37, 0x75, 0x31, 0x67, 0x26, 0xd1, - 0x8c, 0x11, 0xb5, 0xf5, 0xf0, 0x39, 0xc0, 0x5d, 0x4a, 0x45, 0x64, 0xeb, 0x49, 0x47, 0xab, 0x29, - 0x8e, 0x76, 0x0d, 0xe6, 0x5c, 0xd5, 0x4f, 0xb9, 0x13, 0xfa, 0xa9, 0x1f, 0x32, 0x83, 0x50, 0xce, - 0xbd, 0x54, 0x0e, 0x34, 0x71, 0x1e, 0x10, 0xa3, 0x1b, 0x7f, 0xd6, 0xe0, 0x1a, 0x7b, 0x1d, 0x43, - 0xca, 0x9e, 0xba, 0xc2, 0x43, 0x8f, 0xf7, 0xc3, 0xf9, 0x8f, 0x54, 0xac, 0x68, 0x53, 0x09, 0x45, - 0xbb, 0x07, 0x8b, 0xec, 0x2c, 0x59, 0x5b, 0x6b, 0x54, 0x5b, 0xd5, 0x89, 0x42, 0xa5, 0xfb, 0x81, - 0x06, 0xcb, 0x19, 0x64, 0x7f, 0xa6, 0xaa, 0xf3, 0xb1, 0x06, 0xd7, 0x44, 0x6c, 0x3f, 0x18, 0x4c, - 0x62, 0xad, 0x97, 0x7e, 0x26, 0x8e, 0x7b, 0x3d, 0x82, 0x83, 0xe8, 0x99, 0x60, 0x23, 0x74, 0x0d, - 0x6a, 0x3b, 0xee, 0xc8, 0x09, 0xf8, 0x23, 0xc1, 0x06, 0xc6, 0xcf, 0xa5, 0x67, 0x4c, 0x22, 0xef, - 0x95, 0xba, 0xb7, 0xdf, 0x68, 0x30, 0xb3, 0x73, 0xd8, 0xa6, 0x68, 0xc9, 0xd4, 0x5d, 0xfb, 0x64, - 0xb5, 0x89, 0x0d, 0x5e, 0x79, 0x11, 0x01, 0xf3, 0x91, 0x35, 0x8c, 0xc2, 0xcd, 0x8c, 0x99, 0xd0, - 0x4d, 0x26, 0xa1, 0x42, 0xc2, 0x0a, 0xdc, 0xf8, 0xa3, 0x06, 0xf3, 0x22, 0x45, 0x0f, 0xef, 0x73, - 0x17, 0xe0, 0x1b, 0x96, 0xdd, 0x77, 0xe8, 0x3d, 0x70, 0x4a, 0xef, 0x66, 0x50, 0xca, 0x33, 0x88, - 0x18, 0xd7, 0x94, 0xd6, 0xa1, 0x15, 0xce, 0xae, 0x44, 0x69, 0x0c, 0x28, 0x30, 0xa6, 0xf1, 0x4f, - 0xd9, 0x3f, 0x35, 0xa8, 0x4b, 0x04, 0x13, 0x0f, 0xdd, 0x87, 0xd9, 0x48, 0xcc, 0x84, 0x17, 0x8d, - 0x1a, 0x51, 0xd0, 0xc3, 0xe1, 0x66, 0x8c, 0x81, 0xf6, 0x12, 0x0c, 0xb2, 0x32, 0xd1, 0xe7, 0x32, - 0x19, 0x64, 0x51, 0x60, 0x0e, 0x87, 0x3a, 0xcc, 0x30, 0x86, 0x46, 0x43, 0xca, 0x44, 0xcd, 0x14, - 0xe3, 0x30, 0x0e, 0xeb, 0xc4, 0x71, 0xd8, 0x54, 0x6e, 0x1c, 0x16, 0x23, 0x19, 0xc7, 0x71, 0xa5, - 0x64, 0x12, 0xdb, 0x1a, 0xeb, 0xb0, 0x8c, 0xbf, 0x28, 0x81, 0x1d, 0xd9, 0x39, 0x6c, 0x8f, 0xb5, - 0xd8, 0x94, 0x7a, 0x89, 0x71, 0x4a, 0x2f, 0xaa, 0x25, 0xf5, 0x62, 0xfc, 0xfd, 0xfe, 0x4f, 0x8d, - 0x9e, 0x28, 0xdd, 0xc4, 0x43, 0x5f, 0x87, 0x69, 0x66, 0x5e, 0xd1, 0x35, 0x4f, 0x6a, 0x95, 0xd1, - 0xb2, 0x4f, 0xeb, 0xee, 0x57, 0x01, 0xd8, 0x09, 0x47, 0xa3, 0x21, 0xe1, 0xb7, 0x2f, 0x41, 0xca, - 0xdc, 0x7f, 0x1f, 0x1a, 0xbb, 0x7d, 0x32, 0xec, 0x13, 0x22, 0x1e, 0x25, 0x1d, 0x66, 0xdc, 0x54, - 0xb1, 0xc6, 0xf5, 0x26, 0x7e, 0x90, 0x9b, 0x30, 0x6d, 0x27, 0x6d, 0x8c, 0x0f, 0x8d, 0x3d, 0x58, - 0x48, 0x1e, 0xc5, 0x32, 0x87, 0xce, 0x24, 0x99, 0x83, 0x44, 0xf1, 0xef, 0x34, 0x40, 0x87, 0x23, - 0x5e, 0xd0, 0x8c, 0x75, 0xf6, 0x25, 0x51, 0x1d, 0x7a, 0xeb, 0x91, 0x9c, 0x07, 0xf2, 0x51, 0x98, - 0xe3, 0x0d, 0x47, 0x01, 0xee, 0xb6, 0x71, 0xc7, 0x75, 0xba, 0x84, 0x3e, 0x0b, 0x75, 0x33, 0x01, - 0x33, 0x0e, 0x60, 0x49, 0xa1, 0xb4, 0x1c, 0xd3, 0x3f, 0xd6, 0xa0, 0xb9, 0x63, 0x39, 0x1d, 0x3c, - 0x78, 0xf5, 0xac, 0x1b, 0x47, 0x70, 0x33, 0x87, 0x96, 0x72, 0xcc, 0xf5, 0x60, 0x5e, 0xec, 0xf4, - 0x32, 0x15, 0x70, 0x1b, 0xea, 0xd2, 0x39, 0xe5, 0x68, 0x1d, 0x00, 0x4a, 0xf1, 0xfe, 0x32, 0x29, - 0x3e, 0x80, 0x25, 0xe5, 0xb4, 0x72, 0x74, 0xff, 0x56, 0x83, 0x9b, 0xed, 0x84, 0x7b, 0x3b, 0xea, - 0x77, 0xce, 0x1c, 0x6b, 0x88, 0xb9, 0x6b, 0xb6, 0x93, 0xae, 0xd9, 0x8e, 0x5d, 0xb3, 0xc3, 0x11, - 0x23, 0xd7, 0x1c, 0x8d, 0x13, 0x5c, 0x57, 0x8b, 0xb9, 0x9e, 0x52, 0xb9, 0x8e, 0xb5, 0xab, 0x96, - 0xd0, 0xae, 0x63, 0xd0, 0xf3, 0x08, 0x2d, 0x57, 0x6a, 0xf0, 0x69, 0x69, 0x9a, 0x65, 0x01, 0xed, - 0x91, 0xc7, 0x6b, 0x75, 0x51, 0x0a, 0x92, 0x22, 0x54, 0x2b, 0x22, 0xb4, 0x92, 0xf0, 0x00, 0x05, - 0xec, 0x1b, 0x3f, 0x61, 0x25, 0xe9, 0xec, 0x43, 0x4b, 0xdd, 0xe0, 0xa5, 0x12, 0x90, 0x0b, 0xfa, - 0x26, 0xc7, 0x74, 0x7c, 0x66, 0x9d, 0x98, 0x9f, 0xb2, 0x57, 0x55, 0x39, 0xb9, 0x9c, 0x08, 0x3e, - 0x8d, 0x7e, 0xcc, 0x7f, 0x2a, 0xb0, 0x9c, 0xd4, 0x2f, 0xa9, 0x48, 0x92, 0x63, 0x04, 0x25, 0x34, - 0x60, 0x02, 0x03, 0x78, 0x4b, 0x32, 0xad, 0x1a, 0x8f, 0xcc, 0x6d, 0xd7, 0xb5, 0x07, 0x98, 0x75, - 0x4e, 0x4f, 0x47, 0xbd, 0x8d, 0x76, 0xe0, 0xf7, 0x1d, 0xfb, 0x9b, 0xd6, 0x60, 0x84, 0x25, 0xc3, - 0x7b, 0x00, 0xd3, 0x3d, 0xab, 0x83, 0xdf, 0x37, 0x9f, 0xd0, 0x9c, 0x6d, 0xdc, 0xc2, 0x08, 0x19, - 0x7d, 0x19, 0x66, 0x7d, 0xd1, 0x1c, 0x9d, 0xa6, 0x2b, 0x6f, 0x29, 0x2b, 0x5b, 0x4e, 0xf0, 0xe6, - 0x16, 0x5b, 0x18, 0x63, 0xa3, 0x7b, 0x50, 0xc1, 0x2f, 0x9a, 0x33, 0x13, 0x9c, 0x56, 0xc1, 0x2f, - 0x8c, 0xc7, 0x70, 0x3d, 0x4b, 0xc6, 0xe5, 0xec, 0xf7, 0x3c, 0xae, 0x21, 0x3d, 0x3c, 0x25, 0x81, - 0x6f, 0x75, 0x82, 0xf1, 0x57, 0x26, 0x5f, 0x4d, 0xa5, 0xf8, 0x6a, 0xaa, 0xca, 0xd5, 0x18, 0x7f, - 0xd0, 0xa0, 0x99, 0x7d, 0x66, 0xb9, 0xbe, 0xc9, 0x3d, 0xde, 0x79, 0x17, 0xb1, 0xda, 0x29, 0xf6, - 0x79, 0x91, 0x46, 0x9d, 0x40, 0x5f, 0x84, 0x25, 0x3b, 0x59, 0x73, 0x3c, 0xb0, 0xc8, 0x77, 0x29, - 0x9d, 0x53, 0x66, 0xd6, 0x94, 0x71, 0x0e, 0x0d, 0xa6, 0xe5, 0x64, 0xef, 0x45, 0xec, 0xd7, 0x6c, - 0xd5, 0xb2, 0x25, 0xd0, 0x25, 0x45, 0xf4, 0x77, 0x8d, 0x67, 0x7b, 0xe2, 0xcc, 0x72, 0xa2, 0x79, - 0x04, 0xc0, 0x77, 0x38, 0xb4, 0x3c, 0xde, 0x4c, 0xfa, 0xbc, 0xdc, 0x7b, 0x97, 0xf6, 0xdf, 0x88, - 0x31, 0xf7, 0x9c, 0xc0, 0xff, 0xd0, 0x94, 0x96, 0xea, 0x5f, 0x85, 0x46, 0x6a, 0x1a, 0x2d, 0x40, - 0xf5, 0x0c, 0x7f, 0xc8, 0x55, 0x23, 0xfc, 0x1b, 0x66, 0xf1, 0xcf, 0x43, 0x2d, 0xa5, 0x0c, 0xcf, - 0x98, 0x6c, 0xf0, 0x76, 0xe5, 0x2d, 0xcd, 0x70, 0x60, 0x81, 0xf2, 0x4e, 0x5a, 0x89, 0x0e, 0x4c, - 0x8e, 0x7a, 0xad, 0x02, 0x8c, 0xd2, 0xb5, 0x40, 0x09, 0x32, 0x81, 0xfc, 0xfe, 0xa1, 0xc1, 0x62, - 0xea, 0xc0, 0x72, 0x02, 0x3c, 0xc8, 0x10, 0xe0, 0x3a, 0x5f, 0xa2, 0x1c, 0xf0, 0x12, 0x25, 0xb8, - 0xf5, 0xef, 0x45, 0x60, 0x1f, 0x93, 0xa0, 0xaf, 0xc0, 0x5c, 0x27, 0xfe, 0xe8, 0x00, 0x2d, 0x47, - 0x0c, 0x24, 0xbe, 0xbc, 0xd0, 0xaf, 0x67, 0x81, 0x89, 0x87, 0x1e, 0xc0, 0xec, 0xf7, 0xa2, 0xce, - 0x11, 0x5a, 0xe2, 0x48, 0x72, 0x67, 0x4c, 0xbf, 0xa6, 0x02, 0xd9, 0xba, 0xf3, 0xa8, 0x2d, 0x21, - 0xd6, 0xc9, 0x0d, 0x11, 0xb1, 0x2e, 0xd9, 0xbd, 0xd8, 0x86, 0xba, 0x2d, 0x7f, 0x2c, 0x80, 0x6e, - 0x44, 0xea, 0x97, 0xfa, 0x6e, 0x41, 0x6f, 0x66, 0x4f, 0x10, 0x0f, 0xbd, 0x0b, 0xf3, 0x44, 0xea, - 0xa2, 0xa3, 0x88, 0xb7, 0x54, 0xe7, 0x5f, 0xbf, 0x91, 0x09, 0x27, 0x1e, 0xfa, 0x0e, 0xdc, 0xb0, - 0xb3, 0x5b, 0xd8, 0xe8, 0xb5, 0xd4, 0xa9, 0x6a, 0x0b, 0x59, 0x37, 0xc6, 0xa1, 0x10, 0x0f, 0xf5, - 0xe0, 0xa6, 0x9d, 0xd7, 0x0f, 0x46, 0xaf, 0xc7, 0x1b, 0xe4, 0x36, 0xaa, 0xf5, 0xbb, 0xe3, 0x91, - 0x88, 0x87, 0x4e, 0x00, 0x05, 0x4a, 0x53, 0x14, 0xad, 0xf0, 0xb5, 0x99, 0x0d, 0x5f, 0xfd, 0x76, - 0xc1, 0x2c, 0xf1, 0x50, 0x07, 0x9a, 0x76, 0x4e, 0xaf, 0x0c, 0x19, 0x89, 0xef, 0x74, 0x32, 0xfb, - 0x84, 0xfa, 0xeb, 0x63, 0x71, 0x18, 0xdd, 0xb6, 0xd2, 0xec, 0x11, 0x74, 0x67, 0xf6, 0xaa, 0x04, - 0xdd, 0x39, 0x5d, 0xa2, 0xa7, 0xb0, 0x64, 0xab, 0xdd, 0x0f, 0x94, 0xbd, 0x4a, 0x68, 0xd9, 0x6a, - 0xd1, 0x34, 0x35, 0xf8, 0xc6, 0x59, 0xb2, 0x9c, 0x8f, 0xa2, 0x8f, 0x95, 0xd4, 0xae, 0x86, 0xae, - 0xe7, 0x4d, 0x09, 0x96, 0x53, 0xf5, 0x71, 0x99, 0x65, 0xb5, 0x64, 0x2f, 0xb3, 0x9c, 0x55, 0x58, - 0x3f, 0x82, 0xc5, 0x7e, 0xba, 0x64, 0x8c, 0x6e, 0x45, 0x55, 0xde, 0x8c, 0x1a, 0xb8, 0xbe, 0x92, - 0x3f, 0xc9, 0xf6, 0xb3, 0xd3, 0xf5, 0x55, 0xb1, 0x5f, 0x56, 0x61, 0x58, 0x5f, 0xc9, 0x9f, 0x64, - 0x4e, 0x42, 0x58, 0xaf, 0x70, 0x12, 0x72, 0x21, 0x52, 0x38, 0x89, 0x64, 0xb1, 0xef, 0x04, 0x90, - 0x5a, 0x1d, 0xca, 0xd1, 0x0e, 0x5e, 0xf0, 0xca, 0xd1, 0x0e, 0x51, 0x56, 0x7a, 0x17, 0xe6, 0xe5, - 0x7a, 0x88, 0xf0, 0x19, 0xa9, 0x7a, 0x8c, 0xf0, 0x19, 0x4a, 0xf1, 0xe4, 0x00, 0x1a, 0xa9, 0x0c, - 0x5c, 0x28, 0x82, 0x5a, 0x25, 0x10, 0x8a, 0x90, 0x95, 0xb4, 0x7f, 0x00, 0xcb, 0x99, 0x19, 0x3d, - 0xba, 0x13, 0xf9, 0xe8, 0x9c, 0xda, 0x83, 0xbe, 0x56, 0x8c, 0xc0, 0x24, 0x2e, 0xc0, 0x42, 0xe2, - 0x72, 0xf6, 0x2c, 0x24, 0x9e, 0x4c, 0x72, 0x0f, 0xa0, 0x91, 0xda, 0x54, 0x70, 0xa7, 0x66, 0xe0, - 0x82, 0xbb, 0xac, 0x74, 0xf9, 0xdb, 0xe9, 0x68, 0x34, 0xca, 0x28, 0xd1, 0x5a, 0xca, 0x1d, 0x2b, - 0x99, 0xb1, 0xfe, 0xda, 0x18, 0x0c, 0xe6, 0xba, 0x73, 0x52, 0x3d, 0xd9, 0x75, 0xe7, 0xe4, 0x9f, - 0xb2, 0xeb, 0xce, 0xcd, 0x16, 0x99, 0xf2, 0xa5, 0x92, 0x28, 0x59, 0xf9, 0xd4, 0xcc, 0x4e, 0x56, - 0xbe, 0xac, 0xec, 0xeb, 0x04, 0x90, 0x1a, 0xa1, 0x8b, 0x2d, 0x33, 0x13, 0x24, 0xb1, 0x65, 0x4e, - 0x68, 0xff, 0x2d, 0xa9, 0x53, 0x23, 0xc5, 0xcc, 0x28, 0xed, 0xcf, 0x52, 0x41, 0xbc, 0x7e, 0xa7, - 0x70, 0x9e, 0x19, 0x8a, 0x1c, 0x09, 0x0a, 0x43, 0x49, 0x85, 0xbc, 0xc2, 0x50, 0x94, 0xb0, 0x74, - 0x1b, 0xea, 0x89, 0x48, 0x48, 0xbc, 0xf0, 0xe9, 0x88, 0x4f, 0xbc, 0xf0, 0x4a, 0xe0, 0xb4, 0x7d, - 0xe7, 0x83, 0xdb, 0xc7, 0x1e, 0x76, 0x9e, 0xb5, 0x0e, 0xa5, 0x2f, 0x5e, 0x29, 0xf2, 0x3b, 0xf4, - 0xf7, 0xf4, 0x0a, 0x05, 0xbd, 0xf9, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x5e, 0x18, 0x7c, 0x33, - 0x64, 0x2b, 0x00, 0x00, + 0xf7, 0x64, 0x41, 0x5a, 0x09, 0x85, 0xf6, 0x4c, 0xb9, 0x77, 0xf0, 0x4c, 0x77, 0xbb, 0xab, 0x27, + 0xce, 0x72, 0x59, 0x71, 0x41, 0x02, 0x21, 0x21, 0xc4, 0x75, 0x11, 0x82, 0x0b, 0x08, 0x01, 0xe2, + 0x00, 0x67, 0xfe, 0x00, 0x88, 0x0b, 0x17, 0xc4, 0x8d, 0x3f, 0xc0, 0x85, 0x1f, 0xb0, 0xea, 0xaa, + 0xea, 0xea, 0xea, 0xae, 0xee, 0x9e, 0xd9, 0xf6, 0x26, 0xb9, 0x8c, 0xa6, 0x5e, 0xbd, 0xaa, 0x7a, + 0xef, 0xd5, 0x7b, 0xaf, 0xde, 0x47, 0xc3, 0xbc, 0xed, 0xbb, 0x43, 0x6f, 0x83, 0xfe, 0xae, 0x7b, + 0xbe, 0x1b, 0xb8, 0xa8, 0x46, 0x07, 0xfa, 0xda, 0x91, 0x87, 0x9d, 0x7b, 0xad, 0x83, 0x7b, 0x6d, + 0xec, 0x3f, 0xc3, 0xfe, 0x86, 0x77, 0x66, 0x6f, 0x50, 0x84, 0x0d, 0xd2, 0x3d, 0x7b, 0x7a, 0x41, + 0x36, 0x2e, 0x08, 0x5b, 0xa0, 0xaf, 0x8f, 0xc4, 0xf4, 0x2d, 0xcf, 0xc3, 0x3e, 0xc7, 0x37, 0xbe, + 0x01, 0xb0, 0xed, 0x0e, 0x06, 0xae, 0x63, 0x62, 0xe2, 0xa1, 0x26, 0x4c, 0xee, 0xfa, 0xfe, 0xb6, + 0xdb, 0xc5, 0x4d, 0x6d, 0x55, 0x5b, 0xab, 0x99, 0xd1, 0x10, 0x2d, 0xc1, 0x95, 0x5d, 0xdf, 0x3f, + 0x20, 0x76, 0xb3, 0xb2, 0xaa, 0xad, 0x4d, 0x9b, 0x7c, 0x64, 0xbc, 0x07, 0xe8, 0x61, 0x48, 0xe2, + 0x83, 0x6e, 0xf7, 0x00, 0x0f, 0x4e, 0xb0, 0xdf, 0x72, 0x4e, 0xdd, 0x10, 0xfb, 0x7d, 0x82, 0xfd, + 0xd6, 0x0e, 0xdd, 0x66, 0xda, 0xe4, 0x23, 0xb4, 0x0c, 0xd3, 0xa6, 0xdb, 0xc7, 0x8f, 0xf1, 0x33, + 0xdc, 0xa7, 0x1b, 0xd5, 0xcc, 0x18, 0x60, 0xfc, 0x4f, 0x83, 0xab, 0xdb, 0x3e, 0xb6, 0x02, 0x4c, + 0xb7, 0x34, 0xf1, 0x39, 0x7a, 0x00, 0x57, 0x5b, 0x4e, 0x2f, 0x60, 0x5b, 0x3f, 0xee, 0x91, 0xa0, + 0xa9, 0xad, 0x56, 0xd7, 0x66, 0x36, 0x6f, 0xac, 0x33, 0x29, 0xa9, 0x67, 0x9b, 0xa9, 0x05, 0xe8, + 0x6d, 0x98, 0xa6, 0x58, 0xe1, 0x24, 0x3d, 0x73, 0x66, 0x73, 0x79, 0x9d, 0x50, 0xe9, 0x3c, 0xb5, + 0xbc, 0xde, 0x53, 0xcf, 0xf2, 0xad, 0x01, 0x59, 0x17, 0x38, 0x66, 0x8c, 0x8e, 0x56, 0x61, 0xe6, + 0xc8, 0xc3, 0xbe, 0x15, 0xf4, 0x5c, 0xa7, 0xb5, 0xd3, 0xac, 0x52, 0x66, 0x64, 0x10, 0xd2, 0x61, + 0xea, 0xc8, 0xe3, 0xbc, 0x4e, 0xd0, 0x69, 0x31, 0xa6, 0xab, 0x2f, 0x1c, 0xec, 0xf3, 0xe9, 0x1a, + 0x5f, 0x1d, 0x83, 0x8c, 0x8f, 0xa1, 0x91, 0x60, 0xb8, 0xcc, 0x15, 0x24, 0x19, 0xac, 0x7e, 0x26, + 0x06, 0x0d, 0x1f, 0xe6, 0x1e, 0xe2, 0x80, 0x8e, 0x09, 0x9d, 0xc3, 0xe7, 0x21, 0xd9, 0x0c, 0x61, + 0x47, 0x08, 0x7c, 0xda, 0x94, 0x41, 0x69, 0xb1, 0x54, 0x8a, 0xc5, 0x52, 0x4d, 0x8a, 0xc5, 0xf8, + 0xb1, 0x06, 0xf3, 0xa9, 0x43, 0x4b, 0xf1, 0xbd, 0x05, 0x75, 0xc1, 0x08, 0xa5, 0xb4, 0x4a, 0x55, + 0xa3, 0x98, 0xf7, 0xe4, 0x12, 0xe3, 0x97, 0x1a, 0x34, 0xda, 0x9c, 0x96, 0x88, 0xff, 0xc7, 0xd0, + 0xb0, 0xa3, 0xf1, 0x9e, 0xeb, 0xb7, 0x71, 0x40, 0x29, 0x9a, 0xd9, 0x34, 0x8a, 0x76, 0x66, 0x98, + 0x66, 0x7a, 0x69, 0x42, 0x12, 0x95, 0x0c, 0x05, 0x29, 0x54, 0x2f, 0x63, 0x17, 0xe6, 0x92, 0xe4, + 0x11, 0x0f, 0x7d, 0x45, 0x36, 0x59, 0x4e, 0xda, 0x3c, 0xb7, 0x87, 0x78, 0xc2, 0x94, 0x90, 0x8c, + 0x1f, 0x80, 0x1e, 0x49, 0xfc, 0x81, 0xe7, 0xf5, 0x7b, 0x1d, 0xba, 0x7f, 0x28, 0x81, 0x90, 0x61, + 0x99, 0x44, 0xad, 0x98, 0xc4, 0x8c, 0xab, 0x5e, 0x01, 0xd8, 0xf3, 0xdd, 0x41, 0xe2, 0xb2, 0x25, + 0x88, 0xf1, 0x89, 0x06, 0x37, 0x73, 0x0f, 0x2f, 0x75, 0xf1, 0x8f, 0x60, 0x2e, 0x72, 0x10, 0x43, + 0x4c, 0x02, 0xe9, 0xee, 0x6f, 0xe7, 0xdd, 0x10, 0x47, 0x35, 0x95, 0x85, 0x46, 0x00, 0xcb, 0x0f, + 0x71, 0x10, 0xd2, 0x6a, 0xe2, 0xf3, 0x0c, 0xe1, 0xe4, 0xb9, 0xb2, 0xcb, 0xdd, 0xeb, 0xaf, 0x34, + 0xb8, 0x55, 0x70, 0x6c, 0xa9, 0x5b, 0xce, 0x94, 0x4b, 0xa5, 0xac, 0x5c, 0xfe, 0xa6, 0xc1, 0xe2, + 0x13, 0xdf, 0x72, 0xc8, 0x29, 0xf6, 0xe9, 0x24, 0xf5, 0x5b, 0xa1, 0x44, 0x9a, 0x30, 0xc9, 0x9d, + 0x01, 0x17, 0x49, 0x34, 0x44, 0x6f, 0xc0, 0xd5, 0xa3, 0x7e, 0x57, 0xf6, 0x79, 0x4c, 0x32, 0x29, + 0x68, 0x88, 0x77, 0x88, 0x2f, 0x64, 0x3c, 0x26, 0xa2, 0x14, 0x34, 0x2d, 0xc7, 0x89, 0x62, 0x3f, + 0x53, 0x4b, 0xf9, 0x99, 0x47, 0xb0, 0x94, 0xc5, 0x40, 0x39, 0x0b, 0xfa, 0xbb, 0x06, 0xb3, 0xef, + 0xb9, 0x3d, 0x47, 0xbc, 0x4c, 0xf9, 0x52, 0x58, 0x01, 0x30, 0xf1, 0xf9, 0x01, 0x26, 0xc4, 0xb2, + 0x31, 0x97, 0x80, 0x04, 0x29, 0xf2, 0x8d, 0x63, 0x70, 0xbc, 0x02, 0x10, 0xd2, 0xd1, 0x76, 0x87, + 0x7e, 0x07, 0x53, 0x9e, 0x6b, 0xa6, 0x04, 0x41, 0x77, 0xa0, 0xde, 0x72, 0x9e, 0xf5, 0x02, 0x21, + 0xda, 0x2b, 0x74, 0x8f, 0x24, 0xd0, 0xd8, 0x82, 0xba, 0xc4, 0x4d, 0x39, 0x91, 0xfc, 0x3b, 0x34, + 0xec, 0x94, 0x55, 0x87, 0x13, 0xae, 0x43, 0x30, 0x7f, 0x47, 0x64, 0x5e, 0xb4, 0xe2, 0xdb, 0x4b, + 0xdb, 0x90, 0x24, 0xdf, 0xaa, 0x22, 0x5f, 0xc9, 0xe1, 0x4c, 0xa4, 0x1d, 0x4e, 0x38, 0xbf, 0x6f, + 0x39, 0xdd, 0x3e, 0xee, 0x86, 0xae, 0x83, 0x69, 0x85, 0x04, 0x41, 0x06, 0xcc, 0xb2, 0x91, 0x89, + 0xc9, 0xb0, 0x1f, 0x50, 0x01, 0xd5, 0xcc, 0x04, 0xcc, 0x38, 0x86, 0xe5, 0x7c, 0xd6, 0xca, 0x89, + 0xeb, 0x14, 0x66, 0x8f, 0x87, 0xbd, 0x60, 0x0c, 0x05, 0xba, 0xdc, 0xf3, 0xba, 0x05, 0x75, 0xe9, + 0x9c, 0x72, 0xb4, 0xfe, 0x5a, 0x83, 0xc5, 0xc8, 0x67, 0xc7, 0xa1, 0x54, 0x31, 0xd5, 0x97, 0x72, + 0x88, 0xa1, 0x9b, 0xdd, 0xeb, 0xf5, 0x03, 0xec, 0xd3, 0x0b, 0xad, 0x99, 0x7c, 0x14, 0x9e, 0x77, + 0x88, 0x9f, 0x07, 0x6d, 0x7c, 0xce, 0x75, 0x3d, 0x1a, 0x1a, 0x7f, 0xd0, 0x60, 0x29, 0x8b, 0xc6, + 0x52, 0x4f, 0xca, 0x1e, 0xc0, 0x20, 0x8e, 0x31, 0xd9, 0x63, 0xf2, 0x46, 0x9e, 0xd3, 0x64, 0xa7, + 0xed, 0x0d, 0xfb, 0x7d, 0xfa, 0x26, 0x4b, 0x2b, 0xc3, 0x93, 0x1d, 0x4e, 0x2e, 0xe3, 0x23, 0x1a, + 0x1a, 0xbf, 0x57, 0xc8, 0x15, 0x01, 0x57, 0xa1, 0x2b, 0x91, 0xc8, 0xaa, 0xd0, 0x48, 0x4c, 0x3e, + 0xee, 0x72, 0xae, 0x24, 0x24, 0xd6, 0xdd, 0xb6, 0x3a, 0x1f, 0x32, 0x3f, 0x32, 0x65, 0x46, 0x43, + 0xe3, 0x17, 0x1a, 0x5c, 0xcf, 0x24, 0xf6, 0x55, 0x0a, 0xd7, 0xf8, 0xb3, 0x06, 0xe8, 0x51, 0xaf, + 0x73, 0x26, 0xe1, 0x15, 0x8b, 0xef, 0x4b, 0x30, 0x17, 0xe2, 0xe3, 0x2e, 0x13, 0x89, 0x24, 0x44, + 0x05, 0x1e, 0x12, 0x6f, 0x62, 0x8b, 0xb8, 0x0e, 0x17, 0x24, 0x1f, 0xa5, 0xc5, 0x58, 0x2b, 0x36, + 0xc6, 0x2b, 0x29, 0x63, 0x7c, 0x07, 0xa6, 0x5b, 0xdd, 0x4d, 0xe6, 0x54, 0x72, 0x43, 0x09, 0x7a, + 0x34, 0x75, 0x45, 0x2c, 0x25, 0xe2, 0x23, 0xe3, 0x63, 0x58, 0x50, 0xd8, 0x2d, 0x75, 0x01, 0xf7, + 0xa1, 0x2e, 0xa8, 0x90, 0xee, 0x60, 0x8e, 0x3b, 0x01, 0x31, 0x67, 0x26, 0xd1, 0x8c, 0x21, 0xf5, + 0x02, 0xe1, 0x43, 0x81, 0xbb, 0x94, 0x8a, 0xc8, 0x0b, 0x24, 0x5d, 0xb0, 0xa6, 0xb8, 0xe0, 0x55, + 0x98, 0x71, 0x55, 0x0f, 0xe6, 0x8e, 0xe9, 0xc1, 0x7e, 0xc4, 0x4c, 0x45, 0x39, 0xf7, 0x52, 0xd9, + 0xd1, 0xd8, 0x19, 0x42, 0x8c, 0x6e, 0xfc, 0x45, 0x83, 0x6b, 0xec, 0xdd, 0x0c, 0x29, 0x7b, 0xe2, + 0x0a, 0xdf, 0x3d, 0xda, 0x43, 0xe7, 0x3f, 0x5f, 0xb1, 0xa2, 0x4d, 0x24, 0x14, 0xed, 0x2e, 0xcc, + 0xb3, 0xb3, 0x64, 0x6d, 0xad, 0x51, 0x6d, 0x55, 0x27, 0x0a, 0x95, 0xee, 0x87, 0x1a, 0x2c, 0x66, + 0x90, 0xfd, 0x52, 0x55, 0xe7, 0x13, 0x0d, 0xae, 0x89, 0xa8, 0xbf, 0xdf, 0x1f, 0xc7, 0x5a, 0x2f, + 0xfd, 0x80, 0x1c, 0x9d, 0x9e, 0x12, 0x1c, 0x44, 0x0f, 0x08, 0x1b, 0xa1, 0x6b, 0x50, 0xdb, 0x76, + 0x87, 0x4e, 0xc0, 0x9f, 0x0f, 0x36, 0x30, 0x7e, 0x2e, 0x3d, 0x70, 0x12, 0x79, 0xaf, 0xd4, 0xbd, + 0xfd, 0x46, 0x83, 0xa9, 0xed, 0x83, 0x36, 0x45, 0x4b, 0x26, 0xf5, 0xda, 0x67, 0xab, 0x5a, 0xac, + 0xf3, 0x9a, 0x8c, 0x08, 0xa5, 0x0f, 0xad, 0x41, 0x14, 0x88, 0x66, 0xcc, 0x84, 0x6e, 0x32, 0x09, + 0x15, 0x12, 0x56, 0xe0, 0xc6, 0x9f, 0x34, 0x98, 0x15, 0xc9, 0x7b, 0x78, 0x9f, 0x3b, 0x00, 0xdf, + 0xb2, 0xec, 0x9e, 0x43, 0xef, 0x81, 0x53, 0x7a, 0x27, 0x83, 0x52, 0x9e, 0x5b, 0xc4, 0xb8, 0xa6, + 0xb4, 0x0e, 0x2d, 0x73, 0x76, 0x25, 0x4a, 0x63, 0x40, 0x81, 0x31, 0x8d, 0x7c, 0xe4, 0x8c, 0x7f, + 0x69, 0x50, 0x97, 0x08, 0x26, 0x1e, 0xba, 0x07, 0xd3, 0x91, 0x98, 0x09, 0x2f, 0x27, 0x35, 0xa2, + 0x70, 0x88, 0xc3, 0xcd, 0x18, 0x03, 0xed, 0x26, 0x18, 0x64, 0x05, 0xa4, 0x2f, 0x64, 0x32, 0xc8, + 0xe2, 0xc3, 0x1c, 0x0e, 0x75, 0x98, 0x62, 0x0c, 0x0d, 0x07, 0x94, 0x89, 0x9a, 0x29, 0xc6, 0x61, + 0x84, 0xd6, 0x89, 0x23, 0xb4, 0x89, 0xdc, 0x08, 0x2d, 0x46, 0x32, 0x8e, 0xe2, 0x1a, 0xca, 0x38, + 0xb6, 0x35, 0xd2, 0x61, 0x19, 0x7f, 0x55, 0x42, 0x3e, 0xb2, 0x7d, 0xd0, 0x1e, 0x69, 0xb1, 0x29, + 0xf5, 0x12, 0xe3, 0x94, 0x5e, 0x54, 0x4b, 0xea, 0xc5, 0xe8, 0xfb, 0xfd, 0xbf, 0x1a, 0x57, 0x51, + 0xba, 0x89, 0x87, 0xbe, 0x09, 0x93, 0xcc, 0xbc, 0xa2, 0x6b, 0x1e, 0xd7, 0x2a, 0xa3, 0x65, 0x9f, + 0xd7, 0xdd, 0xaf, 0x00, 0xb0, 0x13, 0x0e, 0x87, 0x03, 0xc2, 0x6f, 0x5f, 0x82, 0x94, 0xb9, 0xff, + 0x1e, 0x34, 0x76, 0x7a, 0x64, 0xd0, 0x23, 0x44, 0x3c, 0x4a, 0x3a, 0x4c, 0xb9, 0xa9, 0x32, 0x8e, + 0xeb, 0x8d, 0xfd, 0x20, 0x37, 0x61, 0xd2, 0x4e, 0xda, 0x18, 0x1f, 0x1a, 0xbb, 0x30, 0x97, 0x3c, + 0x8a, 0xe5, 0x14, 0x9d, 0x71, 0x72, 0x0a, 0x89, 0xe2, 0xdf, 0x69, 0x80, 0x0e, 0x86, 0xbc, 0xd4, + 0x19, 0xeb, 0xec, 0x0b, 0xa2, 0x3a, 0xf4, 0xd6, 0x43, 0x39, 0x43, 0xe4, 0xa3, 0x30, 0xfb, 0x1b, + 0x0c, 0x03, 0xdc, 0x6d, 0xe3, 0x8e, 0xeb, 0x74, 0x09, 0x7d, 0x16, 0xea, 0x66, 0x02, 0x66, 0xec, + 0xc3, 0x82, 0x42, 0x69, 0x39, 0xa6, 0x7f, 0xa2, 0x41, 0x73, 0xdb, 0x72, 0x3a, 0xb8, 0xff, 0xea, + 0x59, 0x37, 0x0e, 0xe1, 0x46, 0x0e, 0x2d, 0xe5, 0x98, 0x3b, 0x85, 0x59, 0xb1, 0xd3, 0x8b, 0x54, + 0xc0, 0x2d, 0xa8, 0x4b, 0xe7, 0x94, 0xa3, 0xb5, 0x0f, 0x28, 0xc5, 0xfb, 0x8b, 0xa4, 0x78, 0x1f, + 0x16, 0x94, 0xd3, 0xca, 0xd1, 0xfd, 0x5b, 0x0d, 0x6e, 0xb4, 0x13, 0xee, 0xed, 0xb0, 0xd7, 0x39, + 0x73, 0xac, 0x01, 0xe6, 0xae, 0xd9, 0x4e, 0xba, 0x66, 0x3b, 0x76, 0xcd, 0x0e, 0x47, 0x8c, 0x5c, + 0x73, 0x34, 0x4e, 0x70, 0x5d, 0x2d, 0xe6, 0x7a, 0x42, 0xe5, 0x3a, 0xd6, 0xae, 0x5a, 0x42, 0xbb, + 0x8e, 0x40, 0xcf, 0x23, 0xb4, 0x5c, 0x11, 0xc2, 0xa7, 0x45, 0x6b, 0x96, 0x05, 0xb4, 0x87, 0x1e, + 0xaf, 0xe2, 0x45, 0x29, 0x48, 0x8a, 0x50, 0xad, 0x88, 0xd0, 0x4a, 0xc2, 0x03, 0x14, 0xb0, 0x6f, + 0xfc, 0x94, 0x15, 0xab, 0xb3, 0x0f, 0x2d, 0x75, 0x83, 0x97, 0x4a, 0x40, 0x2e, 0xe8, 0x9b, 0x1c, + 0xd3, 0xf1, 0xd2, 0x7a, 0x34, 0x3f, 0x63, 0xaf, 0xaa, 0x72, 0x72, 0x39, 0x11, 0x7c, 0x1e, 0x9d, + 0x9a, 0xff, 0x56, 0x60, 0x31, 0xa9, 0x5f, 0x52, 0xf9, 0x24, 0xc7, 0x08, 0x4a, 0x68, 0xc0, 0x18, + 0x06, 0xf0, 0x96, 0x64, 0x5a, 0x35, 0x1e, 0x99, 0xdb, 0xae, 0x6b, 0xf7, 0x31, 0xeb, 0xa9, 0x9e, + 0x0c, 0x4f, 0xd7, 0xdb, 0x81, 0xdf, 0x73, 0xec, 0x6f, 0x5b, 0xfd, 0x21, 0x96, 0x0c, 0xef, 0x3e, + 0x4c, 0x9e, 0x5a, 0x1d, 0xfc, 0xbe, 0xf9, 0x98, 0xe6, 0x6c, 0xa3, 0x16, 0x46, 0xc8, 0xe8, 0xab, + 0x30, 0xed, 0x8b, 0xb6, 0xe9, 0x24, 0x5d, 0x79, 0x53, 0x59, 0xd9, 0x72, 0x82, 0x37, 0x37, 0xd9, + 0xc2, 0x18, 0x1b, 0xdd, 0x85, 0x0a, 0x7e, 0xde, 0x9c, 0x1a, 0xe3, 0xb4, 0x0a, 0x7e, 0x6e, 0x3c, + 0x82, 0xa5, 0x2c, 0x19, 0x97, 0xb3, 0xdf, 0xf3, 0xb8, 0x86, 0xf4, 0xe0, 0x84, 0x04, 0xbe, 0xd5, + 0x09, 0x46, 0x5f, 0x99, 0x7c, 0x35, 0x95, 0xe2, 0xab, 0xa9, 0x2a, 0x57, 0x63, 0xfc, 0x51, 0x83, + 0x66, 0xf6, 0x99, 0xe5, 0x3a, 0x2a, 0x77, 0x79, 0x4f, 0x5e, 0xc4, 0x6a, 0x27, 0xd8, 0xe7, 0x45, + 0x1a, 0x75, 0x02, 0x7d, 0x19, 0x16, 0xec, 0x64, 0x35, 0x72, 0xdf, 0x22, 0x1f, 0x52, 0x3a, 0x27, + 0xcc, 0xac, 0x29, 0xe3, 0x1c, 0x1a, 0x4c, 0xcb, 0xc9, 0xee, 0xf3, 0xd8, 0xaf, 0xd9, 0xaa, 0x65, + 0x4b, 0xa0, 0x4b, 0x8a, 0xe8, 0x1f, 0x1a, 0xcf, 0xf6, 0xc4, 0x99, 0xe5, 0x44, 0xf3, 0x10, 0x80, + 0xef, 0x70, 0x60, 0x79, 0xbc, 0xcd, 0xf4, 0x45, 0xb9, 0x2b, 0x2f, 0xed, 0xbf, 0x1e, 0x63, 0xee, + 0x3a, 0x81, 0xff, 0x91, 0x29, 0x2d, 0xd5, 0xbf, 0x0e, 0x8d, 0xd4, 0x34, 0x9a, 0x83, 0xea, 0x19, + 0xfe, 0x88, 0xab, 0x46, 0xf8, 0x37, 0xcc, 0xe2, 0x9f, 0x85, 0x5a, 0x4a, 0x19, 0x9e, 0x32, 0xd9, + 0xe0, 0xed, 0xca, 0x5b, 0x9a, 0xe1, 0xc0, 0x1c, 0xe5, 0x9d, 0xb4, 0x12, 0xbd, 0x99, 0x1c, 0xf5, + 0x5a, 0x01, 0x18, 0xa6, 0x6b, 0x81, 0x12, 0x64, 0x0c, 0xf9, 0xfd, 0x53, 0x83, 0xf9, 0xd4, 0x81, + 0xe5, 0x04, 0xb8, 0x9f, 0x21, 0xc0, 0x35, 0xbe, 0x44, 0x39, 0xe0, 0x05, 0x4a, 0x70, 0xf3, 0x3f, + 0xf3, 0xc0, 0x3e, 0x33, 0x41, 0x5f, 0x83, 0x99, 0x4e, 0xfc, 0x39, 0x02, 0x5a, 0x8c, 0x18, 0x48, + 0x7c, 0x93, 0xa1, 0x2f, 0x65, 0x81, 0x89, 0x87, 0xee, 0xc3, 0xf4, 0xf7, 0xa3, 0x9e, 0x12, 0x5a, + 0xe0, 0x48, 0x72, 0xcf, 0x4c, 0xbf, 0xa6, 0x02, 0xd9, 0xba, 0xf3, 0xa8, 0x61, 0x21, 0xd6, 0xc9, + 0xad, 0x12, 0xb1, 0x2e, 0xd9, 0xd7, 0xd8, 0x82, 0xba, 0x2d, 0x7f, 0x46, 0x80, 0xae, 0x47, 0xea, + 0x97, 0xfa, 0xa2, 0x41, 0x6f, 0x66, 0x4f, 0x10, 0x0f, 0xbd, 0x0b, 0xb3, 0x44, 0xea, 0xaf, 0xa3, + 0x88, 0xb7, 0xd4, 0x37, 0x01, 0xfa, 0xf5, 0x4c, 0x38, 0xf1, 0xd0, 0xf7, 0xe0, 0xba, 0x9d, 0xdd, + 0xdc, 0x46, 0xaf, 0xa5, 0x4e, 0x55, 0x9b, 0xcb, 0xba, 0x31, 0x0a, 0x85, 0x78, 0xe8, 0x14, 0x6e, + 0xd8, 0x79, 0x9d, 0x62, 0xf4, 0x7a, 0xbc, 0x41, 0x6e, 0x0b, 0x5b, 0xbf, 0x33, 0x1a, 0x89, 0x78, + 0xe8, 0x18, 0x50, 0xa0, 0xb4, 0x4b, 0xd1, 0x32, 0x5f, 0x9b, 0xd9, 0x0a, 0xd6, 0x6f, 0x15, 0xcc, + 0x12, 0x0f, 0x75, 0xa0, 0x69, 0xe7, 0x74, 0xd1, 0x90, 0x91, 0xf8, 0x82, 0x27, 0xb3, 0x83, 0xa8, + 0xbf, 0x3e, 0x12, 0x87, 0xd1, 0x6d, 0x2b, 0x6d, 0x20, 0x41, 0x77, 0x66, 0x17, 0x4b, 0xd0, 0x9d, + 0xd3, 0x3f, 0x7a, 0x02, 0x0b, 0xb6, 0xda, 0xfd, 0x40, 0xd9, 0xab, 0x84, 0x96, 0xad, 0x14, 0x4d, + 0x53, 0x83, 0x6f, 0x9c, 0x25, 0xcb, 0xf9, 0x28, 0xfa, 0x8c, 0x49, 0xed, 0x6a, 0xe8, 0x7a, 0xde, + 0x94, 0x60, 0x39, 0x55, 0x1f, 0x97, 0x59, 0x56, 0x4b, 0xf6, 0x32, 0xcb, 0x59, 0x85, 0xf5, 0x43, + 0x98, 0xef, 0xa5, 0x4b, 0xc6, 0xe8, 0x66, 0x54, 0xe5, 0xcd, 0xa8, 0x81, 0xeb, 0xcb, 0xf9, 0x93, + 0x6c, 0x3f, 0x3b, 0x5d, 0x5f, 0x15, 0xfb, 0x65, 0x15, 0x86, 0xf5, 0xe5, 0xfc, 0x49, 0xe6, 0x24, + 0x84, 0xf5, 0x0a, 0x27, 0x21, 0x17, 0x22, 0x85, 0x93, 0x48, 0x16, 0xfb, 0x8e, 0x01, 0xa9, 0xd5, + 0xa1, 0x1c, 0xed, 0xe0, 0x05, 0xaf, 0x1c, 0xed, 0x10, 0x65, 0xa5, 0x77, 0x61, 0x56, 0xae, 0x87, + 0x08, 0x9f, 0x91, 0xaa, 0xc7, 0x08, 0x9f, 0xa1, 0x14, 0x4f, 0xf6, 0xa1, 0x91, 0xca, 0xc0, 0x85, + 0x22, 0xa8, 0x55, 0x02, 0xa1, 0x08, 0x59, 0x49, 0xfb, 0x07, 0xb0, 0x98, 0x99, 0xd1, 0xa3, 0xdb, + 0x91, 0x8f, 0xce, 0xa9, 0x3d, 0xe8, 0xab, 0xc5, 0x08, 0x4c, 0xe2, 0x02, 0x2c, 0x24, 0x2e, 0x67, + 0xcf, 0x42, 0xe2, 0xc9, 0x24, 0x77, 0x1f, 0x1a, 0xa9, 0x4d, 0x05, 0x77, 0x6a, 0x06, 0x2e, 0xb8, + 0xcb, 0x4a, 0x97, 0xbf, 0x9b, 0x8e, 0x46, 0xa3, 0x8c, 0x12, 0xad, 0xa6, 0xdc, 0xb1, 0x92, 0x19, + 0xeb, 0xaf, 0x8d, 0xc0, 0x60, 0xae, 0x3b, 0x27, 0xd5, 0x93, 0x5d, 0x77, 0x4e, 0xfe, 0x29, 0xbb, + 0xee, 0xdc, 0x6c, 0x91, 0x29, 0x5f, 0x2a, 0x89, 0x92, 0x95, 0x4f, 0xcd, 0xec, 0x64, 0xe5, 0xcb, + 0xca, 0xbe, 0x8e, 0x01, 0xa9, 0x11, 0xba, 0xd8, 0x32, 0x33, 0x41, 0x12, 0x5b, 0xe6, 0x84, 0xf6, + 0xdf, 0x91, 0x3a, 0x35, 0x52, 0xcc, 0x8c, 0xd2, 0xfe, 0x2c, 0x15, 0xc4, 0xeb, 0xb7, 0x0b, 0xe7, + 0x99, 0xa1, 0xc8, 0x91, 0xa0, 0x30, 0x94, 0x54, 0xc8, 0x2b, 0x0c, 0x45, 0x09, 0x4b, 0xb7, 0xa0, + 0x9e, 0x88, 0x84, 0xc4, 0x0b, 0x9f, 0x8e, 0xf8, 0xc4, 0x0b, 0xaf, 0x04, 0x4e, 0x5b, 0xb7, 0x3f, + 0xb8, 0x75, 0xe4, 0x61, 0xe7, 0x69, 0xeb, 0x40, 0xfa, 0x16, 0x96, 0x22, 0xbf, 0x43, 0x7f, 0x4f, + 0xae, 0x50, 0xd0, 0x9b, 0x9f, 0x06, 0x00, 0x00, 0xff, 0xff, 0xe7, 0x7e, 0x59, 0x05, 0x7e, 0x2b, + 0x00, 0x00, } diff --git a/pkg/proto/group/group.proto b/pkg/proto/group/group.proto index 3f61b4961..b05b840e6 100644 --- a/pkg/proto/group/group.proto +++ b/pkg/proto/group/group.proto @@ -146,6 +146,7 @@ message GetGroupMembersInfoReq { repeated string memberList = 2; string OpUserID = 3; //No verification permission string OperationID = 4; + bool noCache = 5; } message GetGroupMembersInfoResp { From 3e3818d4b5c5b11170815536554160304d8c0b40 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Fri, 6 Jan 2023 16:11:49 +0800 Subject: [PATCH 236/313] reaction message update --- cmd/Open-IM-SDK-Core | 2 +- internal/api/msg/extend_msg.go | 10 +- internal/rpc/msg/extend_msg.go | 43 +- internal/rpc/msg/extend_msg.notification.go | 25 + internal/rpc/msg/extend_msg_callback.go | 43 +- pkg/base_info/msg.go | 12 +- pkg/call_back_struct/message.go | 19 + pkg/common/constant/constant.go | 4 + pkg/proto/msg/msg.pb.go | 511 ++++++++++++++------ pkg/proto/msg/msg.proto | 26 +- 10 files changed, 521 insertions(+), 174 deletions(-) diff --git a/cmd/Open-IM-SDK-Core b/cmd/Open-IM-SDK-Core index e731cb86e..a9f57645a 160000 --- a/cmd/Open-IM-SDK-Core +++ b/cmd/Open-IM-SDK-Core @@ -1 +1 @@ -Subproject commit e731cb86ec9314a0b30b4f8331d53854c2c9d858 +Subproject commit a9f57645a5edf7e327e711ea49137676b5e0fbe3 diff --git a/internal/api/msg/extend_msg.go b/internal/api/msg/extend_msg.go index b6920825d..9933ce0cf 100644 --- a/internal/api/msg/extend_msg.go +++ b/internal/api/msg/extend_msg.go @@ -17,8 +17,8 @@ import ( func SetMessageReactionExtensions(c *gin.Context) { var ( - req api.SetMessageReactionExtensionsCallbackReq - resp api.SetMessageReactionExtensionsCallbackResp + req api.SetMessageReactionExtensionsReq + resp api.SetMessageReactionExtensionsResp reqPb rpc.SetMessageReactionExtensionsReq ) @@ -115,8 +115,9 @@ func AddMessageReactionExtensions(c *gin.Context) { var ( req api.AddMessageReactionExtensionsReq resp api.AddMessageReactionExtensionsResp - reqPb rpc.ModifyMessageReactionExtensionsReq + reqPb rpc.AddMessageReactionExtensionsReq ) + if err := c.BindJSON(&req); err != nil { c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) return @@ -152,6 +153,9 @@ func AddMessageReactionExtensions(c *gin.Context) { } resp.ErrCode = respPb.ErrCode resp.ErrMsg = respPb.ErrMsg + 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 3d8fa83bc..30e9d492c 100644 --- a/internal/rpc/msg/extend_msg.go +++ b/internal/rpc/msg/extend_msg.go @@ -282,8 +282,47 @@ func (rpc *rpcChat) GetMessageListReactionExtensions(ctx context.Context, req *m } -func (rpc *rpcChat) AddMessageReactionExtensions(ctx context.Context, req *msg.ModifyMessageReactionExtensionsReq) (resp *msg.ModifyMessageReactionExtensionsResp, err error) { - return +func (rpc *rpcChat) AddMessageReactionExtensions(ctx context.Context, req *msg.AddMessageReactionExtensionsReq) (resp *msg.AddMessageReactionExtensionsResp, err error) { + log.Debug(req.OperationID, utils.GetSelfFuncName(), "rpc args is:", req.String()) + var rResp msg.AddMessageReactionExtensionsResp + rResp.ClientMsgID = req.ClientMsgID + rResp.MsgFirstModifyTime = req.MsgFirstModifyTime + callbackResp := callbackAddMessageReactionExtensions(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 !req.IsExternalExtensions { + rResp.ErrCode = 200 + rResp.ErrMsg = "only extenalextensions message can be used" + 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 + var isHistory bool + if req.IsReact { + isHistory = false + } else { + isHistory = true + } + rResp.MsgFirstModifyTime = callbackResp.MsgFirstModifyTime + rResp.Result = callbackResp.ResultReactionExtensionList + ExtendMessageAddedNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, isHistory, false) + return &rResp, nil } func (rpc *rpcChat) DeleteMessageReactionExtensions(ctx context.Context, req *msg.DeleteMessageListReactionExtensionsReq) (resp *msg.DeleteMessageListReactionExtensionsResp, err error) { diff --git a/internal/rpc/msg/extend_msg.notification.go b/internal/rpc/msg/extend_msg.notification.go index 971f2f797..dd8699624 100644 --- a/internal/rpc/msg/extend_msg.notification.go +++ b/internal/rpc/msg/extend_msg.notification.go @@ -18,6 +18,31 @@ func ExtendMessageUpdatedNotification(operationID, sendID string, sourceID strin var m base_info.ReactionMessageModifierNotification m.SourceID = req.SourceID m.OpUserID = req.OpUserID + m.Operation = constant.SetMessageExtensions + 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 + } + } + 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 + m.IsExternalExtensions = req.IsExternalExtensions + m.MsgFirstModifyTime = resp.MsgFirstModifyTime + messageReactionSender(operationID, sendID, sourceID, sessionType, constant.ReactionMessageModifier, utils.StructToJsonString(m), isHistory, isReactionFromCache) +} +func ExtendMessageAddedNotification(operationID, sendID string, sourceID string, sessionType int32, + req *msg.AddMessageReactionExtensionsReq, resp *msg.AddMessageReactionExtensionsResp, isHistory bool, isReactionFromCache bool) { + var m base_info.ReactionMessageModifierNotification + m.SourceID = req.SourceID + m.OpUserID = req.OpUserID + m.Operation = constant.AddMessageExtensions m.SessionType = req.SessionType keyMap := make(map[string]*open_im_sdk.KeyValue) for _, valueResp := range resp.Result { diff --git a/internal/rpc/msg/extend_msg_callback.go b/internal/rpc/msg/extend_msg_callback.go index eb2595456..393f4129e 100644 --- a/internal/rpc/msg/extend_msg_callback.go +++ b/internal/rpc/msg/extend_msg_callback.go @@ -58,22 +58,47 @@ 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()) +func callbackGetMessageListReactionExtensions(getReq *msg.GetMessageListReactionExtensionsReq) *cbApi.CallbackGetMessageListReactionExtResp { + callbackResp := cbApi.CommonCallbackResp{OperationID: getReq.OperationID} + log.NewDebug(getReq.OperationID, utils.GetSelfFuncName(), getReq.String()) req := cbApi.CallbackGetMessageListReactionExtReq{ - OperationID: setReq.OperationID, + OperationID: getReq.OperationID, CallbackCommand: constant.CallbackGetMessageListReactionExtensionsCommand, - SourceID: setReq.SourceID, - OpUserID: setReq.OpUserID, - SessionType: setReq.SessionType, - MessageKeyList: setReq.MessageReactionKeyList, + SourceID: getReq.SourceID, + OpUserID: getReq.OpUserID, + SessionType: getReq.SessionType, + TypeKeyList: getReq.TypeKeyList, + MessageKeyList: getReq.MessageReactionKeyList, } resp := &cbApi.CallbackGetMessageListReactionExtResp{CommonCallbackResp: &callbackResp} - defer log.NewDebug(setReq.OperationID, utils.GetSelfFuncName(), req, *resp) + defer log.NewDebug(getReq.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 } +func callbackAddMessageReactionExtensions(setReq *msg.AddMessageReactionExtensionsReq) *cbApi.CallbackAddMessageReactionExtResp { + callbackResp := cbApi.CommonCallbackResp{OperationID: setReq.OperationID} + log.NewDebug(setReq.OperationID, utils.GetSelfFuncName(), setReq.String()) + req := cbApi.CallbackAddMessageReactionExtReq{ + OperationID: setReq.OperationID, + CallbackCommand: constant.CallbackAddMessageListReactionExtensionsCommand, + SourceID: setReq.SourceID, + OpUserID: setReq.OpUserID, + SessionType: setReq.SessionType, + ReactionExtensionList: setReq.ReactionExtensionList, + ClientMsgID: setReq.ClientMsgID, + IsReact: setReq.IsReact, + IsExternalExtensions: setReq.IsExternalExtensions, + MsgFirstModifyTime: setReq.MsgFirstModifyTime, + } + resp := &cbApi.CallbackAddMessageReactionExtResp{CommonCallbackResp: &callbackResp} + defer log.NewDebug(setReq.OperationID, utils.GetSelfFuncName(), req, *resp) + if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackAddMessageListReactionExtensionsCommand, 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 56a539b52..7df39b585 100644 --- a/pkg/base_info/msg.go +++ b/pkg/base_info/msg.go @@ -80,6 +80,7 @@ type OperateMessageListReactionExtensionsReq struct { SourceID string `json:"sourceID" binding:"required"` SessionType string `json:"sessionType" binding:"required"` IsExternalExtensions bool `json:"isExternalExtensions"` + TypeKeyList []string `json:"typeKeyList"` MessageReactionKeyList []*msg.GetMessageListReactionExtensionsReq_MessageReactionKey `json:"messageReactionKeyList" binding:"required"` } @@ -91,10 +92,12 @@ type OperateMessageListReactionExtensionsResp struct { } `json:"data"` } -type SetMessageReactionExtensionsCallbackReq ModifyMessageReactionExtensionsReq +type SetMessageReactionExtensionsReq ModifyMessageReactionExtensionsReq -type SetMessageReactionExtensionsCallbackResp ModifyMessageReactionExtensionsResp +type SetMessageReactionExtensionsResp ModifyMessageReactionExtensionsResp +type AddMessageReactionExtensionsReq ModifyMessageReactionExtensionsReq +type AddMessageReactionExtensionsResp ModifyMessageReactionExtensionsResp type GetMessageListReactionExtensionsReq OperateMessageListReactionExtensionsReq type GetMessageListReactionExtensionsResp struct { @@ -102,10 +105,6 @@ type GetMessageListReactionExtensionsResp struct { Data []*msg.SingleMessageExtensionResult `json:"data"` } -type AddMessageReactionExtensionsReq ModifyMessageReactionExtensionsReq - -type AddMessageReactionExtensionsResp ModifyMessageReactionExtensionsResp - type DeleteMessageReactionExtensionsReq struct { OperationID string `json:"operationID" binding:"required"` SourceID string `json:"sourceID" binding:"required"` @@ -122,6 +121,7 @@ type DeleteMessageReactionExtensionsResp struct { } type ReactionMessageModifierNotification struct { + Operation int `json:"operation" binding:"required"` SourceID string `json:"sourceID" binding:"required"` OpUserID string `json:"opUserID" binding:"required"` SessionType int32 `json:"sessionType" binding:"required"` diff --git a/pkg/call_back_struct/message.go b/pkg/call_back_struct/message.go index 9e6ea0697..6e285a793 100644 --- a/pkg/call_back_struct/message.go +++ b/pkg/call_back_struct/message.go @@ -105,9 +105,28 @@ type CallbackGetMessageListReactionExtReq struct { SourceID string `json:"sourceID"` OpUserID string `json:"opUserID"` SessionType int32 `json:"sessionType"` + TypeKeyList []string `json:"typeKeyList"` MessageKeyList []*msg.GetMessageListReactionExtensionsReq_MessageReactionKey `json:"messageKeyList"` } type CallbackGetMessageListReactionExtResp struct { *CommonCallbackResp MessageResultList []*msg.SingleMessageExtensionResult `json:"messageResultList"` } + +type CallbackAddMessageReactionExtReq 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 CallbackAddMessageReactionExtResp 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 87d796ab0..62cf8339c 100644 --- a/pkg/common/constant/constant.go +++ b/pkg/common/constant/constant.go @@ -223,6 +223,10 @@ const ( CallbackBeforeSetMessageReactionExtensionCommand = "callbackBeforeSetMessageReactionExtensionCommand" CallbackBeforeDeleteMessageReactionExtensionsCommand = "callbackBeforeDeleteMessageReactionExtensionsCommand" CallbackGetMessageListReactionExtensionsCommand = "callbackGetMessageListReactionExtensionsCommand" + CallbackAddMessageListReactionExtensionsCommand = "callbackAddMessageListReactionExtensionsCommand" + + SetMessageExtensions = 1 + AddMessageExtensions = 2 //callback actionCode ActionAllow = 0 diff --git a/pkg/proto/msg/msg.pb.go b/pkg/proto/msg/msg.pb.go index 7d1bfa68f..8aafb5462 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_24cf87b309a51053, []int{0} + return fileDescriptor_msg_bafb742f07ab638a, []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_24cf87b309a51053, []int{1} + return fileDescriptor_msg_bafb742f07ab638a, []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_24cf87b309a51053, []int{2} + return fileDescriptor_msg_bafb742f07ab638a, []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_24cf87b309a51053, []int{3} + return fileDescriptor_msg_bafb742f07ab638a, []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_24cf87b309a51053, []int{4} + return fileDescriptor_msg_bafb742f07ab638a, []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_24cf87b309a51053, []int{5} + return fileDescriptor_msg_bafb742f07ab638a, []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_24cf87b309a51053, []int{6} + return fileDescriptor_msg_bafb742f07ab638a, []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_24cf87b309a51053, []int{7} + return fileDescriptor_msg_bafb742f07ab638a, []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_24cf87b309a51053, []int{8} + return fileDescriptor_msg_bafb742f07ab638a, []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_24cf87b309a51053, []int{9} + return fileDescriptor_msg_bafb742f07ab638a, []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_24cf87b309a51053, []int{10} + return fileDescriptor_msg_bafb742f07ab638a, []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_24cf87b309a51053, []int{11} + return fileDescriptor_msg_bafb742f07ab638a, []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_24cf87b309a51053, []int{12} + return fileDescriptor_msg_bafb742f07ab638a, []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_24cf87b309a51053, []int{13} + return fileDescriptor_msg_bafb742f07ab638a, []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_24cf87b309a51053, []int{14} + return fileDescriptor_msg_bafb742f07ab638a, []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_24cf87b309a51053, []int{15} + return fileDescriptor_msg_bafb742f07ab638a, []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_24cf87b309a51053, []int{16} + return fileDescriptor_msg_bafb742f07ab638a, []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_24cf87b309a51053, []int{17} + return fileDescriptor_msg_bafb742f07ab638a, []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_24cf87b309a51053, []int{18} + return fileDescriptor_msg_bafb742f07ab638a, []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_24cf87b309a51053, []int{19} + return fileDescriptor_msg_bafb742f07ab638a, []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_24cf87b309a51053, []int{20} + return fileDescriptor_msg_bafb742f07ab638a, []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_24cf87b309a51053, []int{21} + return fileDescriptor_msg_bafb742f07ab638a, []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_24cf87b309a51053, []int{22} + return fileDescriptor_msg_bafb742f07ab638a, []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_24cf87b309a51053, []int{23} + return fileDescriptor_msg_bafb742f07ab638a, []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_24cf87b309a51053, []int{24} + return fileDescriptor_msg_bafb742f07ab638a, []int{24} } func (m *SetMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMessageReactionExtensionsResp.Unmarshal(m, b) @@ -1523,13 +1523,210 @@ func (m *SetMessageReactionExtensionsResp) GetResult() []*KeyValueResp { return nil } +type AddMessageReactionExtensionsReq 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 *AddMessageReactionExtensionsReq) Reset() { *m = AddMessageReactionExtensionsReq{} } +func (m *AddMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) } +func (*AddMessageReactionExtensionsReq) ProtoMessage() {} +func (*AddMessageReactionExtensionsReq) Descriptor() ([]byte, []int) { + return fileDescriptor_msg_bafb742f07ab638a, []int{25} +} +func (m *AddMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AddMessageReactionExtensionsReq.Unmarshal(m, b) +} +func (m *AddMessageReactionExtensionsReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AddMessageReactionExtensionsReq.Marshal(b, m, deterministic) +} +func (dst *AddMessageReactionExtensionsReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_AddMessageReactionExtensionsReq.Merge(dst, src) +} +func (m *AddMessageReactionExtensionsReq) XXX_Size() int { + return xxx_messageInfo_AddMessageReactionExtensionsReq.Size(m) +} +func (m *AddMessageReactionExtensionsReq) XXX_DiscardUnknown() { + xxx_messageInfo_AddMessageReactionExtensionsReq.DiscardUnknown(m) +} + +var xxx_messageInfo_AddMessageReactionExtensionsReq proto.InternalMessageInfo + +func (m *AddMessageReactionExtensionsReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *AddMessageReactionExtensionsReq) GetSourceID() string { + if m != nil { + return m.SourceID + } + return "" +} + +func (m *AddMessageReactionExtensionsReq) GetOpUserID() string { + if m != nil { + return m.OpUserID + } + return "" +} + +func (m *AddMessageReactionExtensionsReq) GetSessionType() int32 { + if m != nil { + return m.SessionType + } + return 0 +} + +func (m *AddMessageReactionExtensionsReq) GetReactionExtensionList() map[string]*sdk_ws.KeyValue { + if m != nil { + return m.ReactionExtensionList + } + return nil +} + +func (m *AddMessageReactionExtensionsReq) GetClientMsgID() string { + if m != nil { + return m.ClientMsgID + } + return "" +} + +func (m *AddMessageReactionExtensionsReq) GetEx() *wrapperspb.StringValue { + if m != nil { + return m.Ex + } + return nil +} + +func (m *AddMessageReactionExtensionsReq) GetAttachedInfo() *wrapperspb.StringValue { + if m != nil { + return m.AttachedInfo + } + return nil +} + +func (m *AddMessageReactionExtensionsReq) GetIsReact() bool { + if m != nil { + return m.IsReact + } + return false +} + +func (m *AddMessageReactionExtensionsReq) GetIsExternalExtensions() bool { + if m != nil { + return m.IsExternalExtensions + } + return false +} + +func (m *AddMessageReactionExtensionsReq) GetMsgFirstModifyTime() int64 { + if m != nil { + return m.MsgFirstModifyTime + } + return 0 +} + +type AddMessageReactionExtensionsResp 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"` + 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:"-"` +} + +func (m *AddMessageReactionExtensionsResp) Reset() { *m = AddMessageReactionExtensionsResp{} } +func (m *AddMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) } +func (*AddMessageReactionExtensionsResp) ProtoMessage() {} +func (*AddMessageReactionExtensionsResp) Descriptor() ([]byte, []int) { + return fileDescriptor_msg_bafb742f07ab638a, []int{26} +} +func (m *AddMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AddMessageReactionExtensionsResp.Unmarshal(m, b) +} +func (m *AddMessageReactionExtensionsResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AddMessageReactionExtensionsResp.Marshal(b, m, deterministic) +} +func (dst *AddMessageReactionExtensionsResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_AddMessageReactionExtensionsResp.Merge(dst, src) +} +func (m *AddMessageReactionExtensionsResp) XXX_Size() int { + return xxx_messageInfo_AddMessageReactionExtensionsResp.Size(m) +} +func (m *AddMessageReactionExtensionsResp) XXX_DiscardUnknown() { + xxx_messageInfo_AddMessageReactionExtensionsResp.DiscardUnknown(m) +} + +var xxx_messageInfo_AddMessageReactionExtensionsResp proto.InternalMessageInfo + +func (m *AddMessageReactionExtensionsResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode + } + return 0 +} + +func (m *AddMessageReactionExtensionsResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg + } + return "" +} + +func (m *AddMessageReactionExtensionsResp) GetClientMsgID() string { + if m != nil { + return m.ClientMsgID + } + return "" +} + +func (m *AddMessageReactionExtensionsResp) GetMsgFirstModifyTime() int64 { + if m != nil { + return m.MsgFirstModifyTime + } + return 0 +} + +func (m *AddMessageReactionExtensionsResp) GetIsReact() bool { + if m != nil { + return m.IsReact + } + return false +} + +func (m *AddMessageReactionExtensionsResp) GetResult() []*KeyValueResp { + if m != nil { + return m.Result + } + 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"` IsExternalExtensions bool `protobuf:"varint,5,opt,name=isExternalExtensions" json:"isExternalExtensions,omitempty"` - MessageReactionKeyList []*GetMessageListReactionExtensionsReq_MessageReactionKey `protobuf:"bytes,6,rep,name=messageReactionKeyList" json:"messageReactionKeyList,omitempty"` + TypeKeyList []string `protobuf:"bytes,6,rep,name=typeKeyList" json:"typeKeyList,omitempty"` + MessageReactionKeyList []*GetMessageListReactionExtensionsReq_MessageReactionKey `protobuf:"bytes,7,rep,name=messageReactionKeyList" json:"messageReactionKeyList,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -1539,7 +1736,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_24cf87b309a51053, []int{25} + return fileDescriptor_msg_bafb742f07ab638a, []int{27} } func (m *GetMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMessageListReactionExtensionsReq.Unmarshal(m, b) @@ -1594,6 +1791,13 @@ func (m *GetMessageListReactionExtensionsReq) GetIsExternalExtensions() bool { return false } +func (m *GetMessageListReactionExtensionsReq) GetTypeKeyList() []string { + if m != nil { + return m.TypeKeyList + } + return nil +} + func (m *GetMessageListReactionExtensionsReq) GetMessageReactionKeyList() []*GetMessageListReactionExtensionsReq_MessageReactionKey { if m != nil { return m.MessageReactionKeyList @@ -1617,7 +1821,7 @@ func (m *GetMessageListReactionExtensionsReq_MessageReactionKey) String() string } func (*GetMessageListReactionExtensionsReq_MessageReactionKey) ProtoMessage() {} func (*GetMessageListReactionExtensionsReq_MessageReactionKey) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_24cf87b309a51053, []int{25, 0} + return fileDescriptor_msg_bafb742f07ab638a, []int{27, 0} } func (m *GetMessageListReactionExtensionsReq_MessageReactionKey) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMessageListReactionExtensionsReq_MessageReactionKey.Unmarshal(m, b) @@ -1664,7 +1868,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_24cf87b309a51053, []int{26} + return fileDescriptor_msg_bafb742f07ab638a, []int{28} } func (m *GetMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMessageListReactionExtensionsResp.Unmarshal(m, b) @@ -1719,7 +1923,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_24cf87b309a51053, []int{27} + return fileDescriptor_msg_bafb742f07ab638a, []int{29} } func (m *SingleMessageExtensionResult) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SingleMessageExtensionResult.Unmarshal(m, b) @@ -1781,7 +1985,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_24cf87b309a51053, []int{28} + return fileDescriptor_msg_bafb742f07ab638a, []int{30} } func (m *ModifyMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyMessageReactionExtensionsResp.Unmarshal(m, b) @@ -1849,7 +2053,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_24cf87b309a51053, []int{29} + return fileDescriptor_msg_bafb742f07ab638a, []int{31} } func (m *DeleteMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteMessageListReactionExtensionsReq.Unmarshal(m, b) @@ -1940,7 +2144,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_24cf87b309a51053, []int{30} + return fileDescriptor_msg_bafb742f07ab638a, []int{32} } func (m *DeleteMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteMessageListReactionExtensionsResp.Unmarshal(m, b) @@ -1994,7 +2198,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_24cf87b309a51053, []int{31} + return fileDescriptor_msg_bafb742f07ab638a, []int{33} } func (m *ExtendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExtendMsgResp.Unmarshal(m, b) @@ -2050,7 +2254,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_24cf87b309a51053, []int{32} + return fileDescriptor_msg_bafb742f07ab638a, []int{34} } func (m *ExtendMsg) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExtendMsg.Unmarshal(m, b) @@ -2118,7 +2322,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_24cf87b309a51053, []int{33} + return fileDescriptor_msg_bafb742f07ab638a, []int{35} } func (m *KeyValueResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_KeyValueResp.Unmarshal(m, b) @@ -2172,7 +2376,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_24cf87b309a51053, []int{34} + return fileDescriptor_msg_bafb742f07ab638a, []int{36} } func (m *MsgDataToModifyByMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToModifyByMQ.Unmarshal(m, b) @@ -2241,6 +2445,9 @@ 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((*AddMessageReactionExtensionsReq)(nil), "msg.AddMessageReactionExtensionsReq") + proto.RegisterMapType((map[string]*sdk_ws.KeyValue)(nil), "msg.AddMessageReactionExtensionsReq.ReactionExtensionListEntry") + proto.RegisterType((*AddMessageReactionExtensionsResp)(nil), "msg.AddMessageReactionExtensionsResp") proto.RegisterType((*GetMessageListReactionExtensionsReq)(nil), "msg.GetMessageListReactionExtensionsReq") proto.RegisterType((*GetMessageListReactionExtensionsReq_MessageReactionKey)(nil), "msg.GetMessageListReactionExtensionsReq.MessageReactionKey") proto.RegisterType((*GetMessageListReactionExtensionsResp)(nil), "msg.GetMessageListReactionExtensionsResp") @@ -2281,7 +2488,7 @@ type MsgClient interface { // modify msg SetMessageReactionExtensions(ctx context.Context, in *SetMessageReactionExtensionsReq, opts ...grpc.CallOption) (*SetMessageReactionExtensionsResp, error) GetMessageListReactionExtensions(ctx context.Context, in *GetMessageListReactionExtensionsReq, opts ...grpc.CallOption) (*GetMessageListReactionExtensionsResp, error) - AddMessageReactionExtensions(ctx context.Context, in *ModifyMessageReactionExtensionsReq, opts ...grpc.CallOption) (*ModifyMessageReactionExtensionsResp, error) + AddMessageReactionExtensions(ctx context.Context, in *AddMessageReactionExtensionsReq, opts ...grpc.CallOption) (*AddMessageReactionExtensionsResp, error) DeleteMessageReactionExtensions(ctx context.Context, in *DeleteMessageListReactionExtensionsReq, opts ...grpc.CallOption) (*DeleteMessageListReactionExtensionsResp, error) } @@ -2410,8 +2617,8 @@ func (c *msgClient) GetMessageListReactionExtensions(ctx context.Context, in *Ge return out, nil } -func (c *msgClient) AddMessageReactionExtensions(ctx context.Context, in *ModifyMessageReactionExtensionsReq, opts ...grpc.CallOption) (*ModifyMessageReactionExtensionsResp, error) { - out := new(ModifyMessageReactionExtensionsResp) +func (c *msgClient) AddMessageReactionExtensions(ctx context.Context, in *AddMessageReactionExtensionsReq, opts ...grpc.CallOption) (*AddMessageReactionExtensionsResp, error) { + out := new(AddMessageReactionExtensionsResp) err := grpc.Invoke(ctx, "/msg.msg/AddMessageReactionExtensions", in, out, c.cc, opts...) if err != nil { return nil, err @@ -2445,7 +2652,7 @@ type MsgServer interface { // modify msg SetMessageReactionExtensions(context.Context, *SetMessageReactionExtensionsReq) (*SetMessageReactionExtensionsResp, error) GetMessageListReactionExtensions(context.Context, *GetMessageListReactionExtensionsReq) (*GetMessageListReactionExtensionsResp, error) - AddMessageReactionExtensions(context.Context, *ModifyMessageReactionExtensionsReq) (*ModifyMessageReactionExtensionsResp, error) + AddMessageReactionExtensions(context.Context, *AddMessageReactionExtensionsReq) (*AddMessageReactionExtensionsResp, error) DeleteMessageReactionExtensions(context.Context, *DeleteMessageListReactionExtensionsReq) (*DeleteMessageListReactionExtensionsResp, error) } @@ -2688,7 +2895,7 @@ func _Msg_GetMessageListReactionExtensions_Handler(srv interface{}, ctx context. } func _Msg_AddMessageReactionExtensions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ModifyMessageReactionExtensionsReq) + in := new(AddMessageReactionExtensionsReq) if err := dec(in); err != nil { return nil, err } @@ -2700,7 +2907,7 @@ func _Msg_AddMessageReactionExtensions_Handler(srv interface{}, ctx context.Cont FullMethod: "/msg.msg/AddMessageReactionExtensions", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).AddMessageReactionExtensions(ctx, req.(*ModifyMessageReactionExtensionsReq)) + return srv.(MsgServer).AddMessageReactionExtensions(ctx, req.(*AddMessageReactionExtensionsReq)) } return interceptor(ctx, in, info, handler) } @@ -2792,114 +2999,116 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ Metadata: "msg/msg.proto", } -func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_24cf87b309a51053) } +func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_bafb742f07ab638a) } -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, +var fileDescriptor_msg_bafb742f07ab638a = []byte{ + // 1720 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5a, 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, + 0xe7, 0x6c, 0x12, 0x19, 0xeb, 0x5d, 0x20, 0x8b, 0xcd, 0x02, 0x9b, 0x38, 0xf2, 0x2a, 0x46, 0x56, + 0xeb, 0x98, 0x72, 0x5b, 0xa0, 0x3d, 0x38, 0x8c, 0x34, 0x66, 0x08, 0x4b, 0x24, 0xcd, 0xa1, 0x62, + 0xab, 0xff, 0x0e, 0x05, 0xda, 0x4b, 0x91, 0x43, 0x8f, 0x3d, 0xf5, 0xd6, 0x5b, 0x3f, 0x44, 0x3f, + 0x40, 0xd1, 0x4b, 0xbf, 0x45, 0x3f, 0x43, 0x81, 0x62, 0x66, 0x28, 0x69, 0xf8, 0x4f, 0xa4, 0xe5, + 0x22, 0x48, 0x8a, 0xdc, 0xf4, 0x66, 0xde, 0xbc, 0x79, 0xbf, 0xf7, 0x7e, 0xf3, 0x87, 0xf3, 0x04, + 0xf3, 0x5d, 0x62, 0xae, 0x77, 0x89, 0x59, 0x75, 0x3d, 0xc7, 0x77, 0x90, 0xd2, 0x25, 0xa6, 0xba, + 0xb6, 0xe3, 0x62, 0xfb, 0xee, 0x76, 0xe3, 0x6e, 0x13, 0x7b, 0x2f, 0xb1, 0xb7, 0xee, 0x1e, 0x9a, + 0xeb, 0xac, 0x7b, 0x9d, 0xb4, 0x0f, 0xf7, 0x8f, 0xc9, 0xfa, 0x31, 0xe1, 0xea, 0x6a, 0x35, 0x53, + 0xd3, 0x33, 0x5c, 0x17, 0x7b, 0x81, 0xbe, 0xf6, 0x09, 0x94, 0x1a, 0xc4, 0xac, 0x19, 0xbe, 0xb1, + 0xe7, 0x34, 0x76, 0xd1, 0x32, 0x14, 0x7c, 0xe7, 0x10, 0xdb, 0x65, 0xa9, 0x22, 0xad, 0xcd, 0xea, + 0x5c, 0x40, 0x15, 0x28, 0x39, 0x2e, 0xf6, 0x0c, 0xdf, 0x72, 0xec, 0xed, 0x5a, 0x59, 0x66, 0x7d, + 0x62, 0x13, 0xfa, 0x07, 0x4c, 0x77, 0xb9, 0x99, 0xb2, 0x52, 0x91, 0xd6, 0x4a, 0x1b, 0x6a, 0x95, + 0x30, 0x07, 0xf6, 0x0d, 0xd7, 0xda, 0x77, 0x0d, 0xcf, 0xe8, 0x92, 0x6a, 0x30, 0x91, 0x3e, 0x50, + 0xd5, 0xb0, 0x30, 0x79, 0x6d, 0x53, 0x34, 0x22, 0xe5, 0x36, 0x92, 0xed, 0x9c, 0xf6, 0x4a, 0x82, + 0x85, 0xa7, 0x3d, 0xf2, 0x42, 0x04, 0x5a, 0x81, 0xd2, 0x8e, 0x30, 0x8a, 0xc3, 0x15, 0x9b, 0x44, + 0x6f, 0xe4, 0xfc, 0xde, 0x68, 0x30, 0xe7, 0xf6, 0xc8, 0x8b, 0x3d, 0xe7, 0x3d, 0x82, 0xbd, 0xed, + 0x1a, 0x8b, 0xc6, 0xac, 0x1e, 0x6a, 0xd3, 0xbe, 0x97, 0x00, 0x8d, 0x7c, 0x71, 0x6c, 0xd3, 0xd9, + 0xec, 0x37, 0x76, 0x51, 0x19, 0xa6, 0x3b, 0x06, 0xf1, 0x9b, 0xf8, 0x88, 0xb9, 0x33, 0xa5, 0x0f, + 0x44, 0x74, 0x0d, 0xe6, 0x0d, 0xd3, 0xf4, 0xb0, 0x19, 0x06, 0x19, 0x6e, 0x44, 0x1b, 0x50, 0xea, + 0x62, 0x42, 0x0c, 0x13, 0xff, 0xcf, 0x22, 0x7e, 0x59, 0xa9, 0x28, 0x6b, 0xa5, 0x8d, 0xc5, 0x2a, + 0xa5, 0x92, 0x80, 0x5c, 0x17, 0x95, 0xd0, 0x2a, 0xcc, 0xfa, 0x9e, 0x65, 0x9a, 0xcc, 0xd7, 0x29, + 0x66, 0x75, 0xd4, 0xa0, 0xfd, 0x1f, 0x50, 0x1d, 0xfb, 0x0d, 0xe3, 0xe4, 0xa1, 0xdd, 0x6e, 0x58, + 0x76, 0x13, 0x1f, 0xe9, 0xf8, 0x08, 0xad, 0x40, 0x31, 0x00, 0xc7, 0xa3, 0x16, 0x48, 0xd1, 0x90, + 0xca, 0xb1, 0x90, 0x6a, 0xc7, 0xb0, 0x14, 0xb3, 0x47, 0x5c, 0x0a, 0x7c, 0xcb, 0xf3, 0x1e, 0x39, + 0x6d, 0xcc, 0x2c, 0x16, 0xf4, 0x81, 0x48, 0xa7, 0xda, 0xf2, 0xbc, 0x06, 0x31, 0x03, 0x6b, 0x81, + 0x44, 0xdb, 0x1b, 0xc6, 0x09, 0x8d, 0x14, 0x8d, 0xef, 0xbc, 0x1e, 0x48, 0xac, 0x9d, 0xd9, 0x65, + 0x58, 0x68, 0x3b, 0x93, 0xb4, 0x8f, 0x01, 0x9a, 0xd8, 0x6e, 0x37, 0x88, 0x49, 0x01, 0xbc, 0x5e, + 0x92, 0x7f, 0x27, 0x41, 0x69, 0x38, 0x39, 0x47, 0x8b, 0xc3, 0x68, 0xf1, 0x08, 0x2d, 0x0e, 0xa1, + 0xe5, 0x12, 0xf5, 0x8c, 0xcf, 0xd3, 0x20, 0xe6, 0x30, 0x4d, 0x62, 0x13, 0xd5, 0x68, 0x75, 0x2c, + 0x6c, 0xfb, 0x5c, 0xa3, 0xc0, 0x35, 0x84, 0x26, 0xa4, 0xc2, 0x0c, 0xc1, 0x76, 0x7b, 0xcf, 0xea, + 0xe2, 0x72, 0xb1, 0x22, 0xad, 0x29, 0xfa, 0x50, 0xd6, 0x5a, 0x50, 0x7a, 0xd4, 0xc1, 0x86, 0x17, + 0x84, 0x67, 0x05, 0x8a, 0xbd, 0x50, 0x7e, 0xb9, 0x44, 0x4d, 0x38, 0x6e, 0x90, 0x79, 0xee, 0xe0, + 0x50, 0x8e, 0x06, 0x4f, 0x89, 0x2f, 0xc2, 0x07, 0x30, 0x37, 0x9a, 0x64, 0x92, 0x30, 0x68, 0xdf, + 0x4a, 0xb0, 0xd0, 0xc4, 0x14, 0x4f, 0x88, 0x8b, 0x89, 0xbe, 0x96, 0x61, 0xda, 0xf4, 0x9c, 0x9e, + 0x3b, 0x74, 0x75, 0x20, 0xd2, 0x11, 0x5d, 0x4e, 0x91, 0x80, 0x3a, 0x5c, 0x8a, 0x22, 0x98, 0x8a, + 0xa7, 0x5f, 0xc4, 0x5f, 0x08, 0xe3, 0xd7, 0x6a, 0xb0, 0x18, 0x76, 0x6d, 0x22, 0x84, 0x3b, 0xb0, + 0xd4, 0xc4, 0x7e, 0x40, 0x96, 0xa6, 0x6f, 0xf8, 0x3d, 0xa2, 0xc7, 0x5d, 0x93, 0xe2, 0xae, 0xad, + 0x40, 0x91, 0x30, 0x75, 0x66, 0xb0, 0xa0, 0x07, 0x92, 0xf6, 0x18, 0x96, 0xe3, 0x06, 0x27, 0x72, + 0xed, 0x1e, 0x5b, 0xba, 0xa7, 0x77, 0x4d, 0x7b, 0x06, 0xcb, 0xf5, 0x3f, 0xc4, 0x05, 0x01, 0xa4, + 0x12, 0x02, 0xf9, 0xa5, 0x04, 0x4b, 0x35, 0xdc, 0x69, 0xf6, 0x5c, 0xec, 0xd5, 0x69, 0x96, 0x03, + 0x1e, 0x8b, 0xf9, 0x92, 0x22, 0x7c, 0x1d, 0xf1, 0x46, 0x4e, 0xe3, 0x8d, 0x12, 0xe6, 0x4d, 0x26, + 0x3f, 0x68, 0xb0, 0xe3, 0x6e, 0x4c, 0x14, 0xec, 0x16, 0x0f, 0x76, 0x14, 0x50, 0x36, 0x0f, 0x16, + 0x41, 0xa1, 0xcc, 0x96, 0x19, 0xb3, 0xe9, 0xcf, 0x74, 0x40, 0xda, 0xe7, 0x3c, 0x31, 0x67, 0x77, + 0x77, 0xc2, 0x7d, 0xf1, 0x31, 0x3b, 0x5c, 0x3e, 0xf0, 0x2c, 0x1f, 0xd7, 0xac, 0x83, 0x83, 0xc9, + 0x31, 0x6a, 0x9f, 0xb1, 0x70, 0x85, 0x2d, 0xbd, 0x46, 0x20, 0xdf, 0x14, 0x40, 0x6b, 0x38, 0x6d, + 0xeb, 0xa0, 0xdf, 0xe0, 0x27, 0xab, 0x8e, 0x8d, 0x16, 0x75, 0x76, 0xeb, 0xc4, 0xc7, 0x36, 0xb1, + 0x1c, 0x3b, 0xe7, 0x2a, 0xa6, 0x7b, 0xb4, 0xd3, 0xf3, 0x5a, 0x78, 0xb4, 0xc1, 0x0e, 0xe4, 0x10, + 0x99, 0x95, 0xf8, 0xe6, 0x4b, 0x30, 0xa1, 0x13, 0xed, 0xf5, 0x5d, 0xcc, 0xa8, 0x59, 0xd0, 0xc5, + 0x26, 0x74, 0x02, 0x17, 0xbc, 0xa8, 0x53, 0xec, 0x92, 0x50, 0x60, 0x97, 0x84, 0x4d, 0x7e, 0x49, + 0xc8, 0xc4, 0x50, 0xd5, 0x93, 0x8c, 0x6c, 0xd9, 0xbe, 0xd7, 0xd7, 0x93, 0x27, 0x88, 0x9e, 0x4c, + 0xc5, 0xf8, 0xc9, 0x74, 0x07, 0x64, 0x7c, 0x52, 0x9e, 0x66, 0xf1, 0x5e, 0xad, 0x9a, 0x8e, 0x63, + 0x76, 0x30, 0xbf, 0x9c, 0x3e, 0xef, 0x1d, 0x54, 0x9b, 0xbe, 0x67, 0xd9, 0xe6, 0xfb, 0x46, 0xa7, + 0x87, 0x75, 0x19, 0x9f, 0xa0, 0x07, 0x30, 0x67, 0xf8, 0xbe, 0xd1, 0x7a, 0x81, 0xdb, 0xdb, 0xf6, + 0x81, 0x53, 0x9e, 0xc9, 0x31, 0x2e, 0x34, 0x82, 0xd2, 0xc2, 0x22, 0x0c, 0x48, 0x79, 0xb6, 0x22, + 0xad, 0xcd, 0xe8, 0x03, 0x11, 0x6d, 0xc0, 0xb2, 0x45, 0xa8, 0xfb, 0x9e, 0x6d, 0x74, 0x46, 0xc0, + 0xcb, 0xc0, 0xd4, 0x12, 0xfb, 0x50, 0x15, 0x50, 0x97, 0x98, 0xff, 0xb5, 0x3c, 0xe2, 0xf3, 0xf8, + 0xb1, 0x13, 0xb6, 0xc4, 0x4e, 0xd8, 0x84, 0x1e, 0x15, 0x83, 0x9a, 0x1e, 0x44, 0xca, 0xed, 0x43, + 0xdc, 0x0f, 0xb8, 0x41, 0x7f, 0xa2, 0xbf, 0x41, 0xe1, 0x25, 0x05, 0x11, 0xdc, 0x41, 0x2f, 0x25, + 0x10, 0xf2, 0x09, 0xee, 0x73, 0x9c, 0x5c, 0xf3, 0x5f, 0xf2, 0x3f, 0x25, 0xed, 0xeb, 0x02, 0x5c, + 0xa6, 0x07, 0xd2, 0x9b, 0x4a, 0xc8, 0xde, 0x78, 0x42, 0xfe, 0x87, 0x11, 0x32, 0x03, 0xc0, 0x3b, + 0x36, 0xbe, 0x2d, 0x6c, 0xfc, 0x55, 0x82, 0xca, 0xf8, 0x64, 0x4e, 0x7a, 0x2f, 0x16, 0xb3, 0xa9, + 0xc4, 0xb3, 0x99, 0x1c, 0x8f, 0xa9, 0xb4, 0x78, 0x88, 0xd9, 0x28, 0x84, 0xb3, 0x71, 0x0b, 0x8a, + 0x1e, 0x26, 0xbd, 0x8e, 0x5f, 0x2e, 0x32, 0x86, 0x9e, 0x67, 0x0c, 0x1d, 0x82, 0xc5, 0xc4, 0xd5, + 0x03, 0x05, 0xb6, 0xf6, 0x1e, 0xb6, 0xdb, 0x6f, 0xf7, 0xda, 0xcb, 0x00, 0xf0, 0x6e, 0xed, 0xbd, + 0x4d, 0x6b, 0x6f, 0x7c, 0x32, 0xff, 0x4c, 0x6b, 0xef, 0x17, 0x05, 0xae, 0xd6, 0x87, 0x3b, 0x0d, + 0x0d, 0xe7, 0x19, 0xd6, 0x5f, 0xea, 0xd7, 0xae, 0xb8, 0x36, 0x95, 0xc8, 0xda, 0xcc, 0x5e, 0x7f, + 0x69, 0xe4, 0x2a, 0x8c, 0x21, 0x57, 0x05, 0x4a, 0x7e, 0xdf, 0xc5, 0x4f, 0x70, 0x9f, 0xad, 0x54, + 0x1a, 0x87, 0x59, 0x5d, 0x6c, 0x42, 0x04, 0x56, 0xba, 0xe1, 0x1c, 0x0f, 0x94, 0xa7, 0x59, 0xd0, + 0xee, 0xb3, 0xa0, 0xe5, 0x88, 0x4d, 0xb5, 0x11, 0x33, 0xa3, 0xa7, 0x98, 0x56, 0x0f, 0x00, 0xc5, + 0xb5, 0xa3, 0xdc, 0x90, 0xf2, 0x72, 0x43, 0x4e, 0xe3, 0x86, 0xf6, 0x83, 0x04, 0xd7, 0xb2, 0x5d, + 0x9f, 0x88, 0xc8, 0x4d, 0x58, 0x22, 0x96, 0x6d, 0x76, 0xf0, 0x10, 0x08, 0x63, 0x1a, 0x7f, 0x3d, + 0xbb, 0xc2, 0xef, 0x21, 0x62, 0xff, 0x70, 0x42, 0xae, 0xa8, 0x27, 0x8d, 0xd6, 0x7e, 0x92, 0x61, + 0x75, 0xdc, 0xa8, 0x09, 0xfc, 0xf4, 0xd2, 0x76, 0x6d, 0xee, 0xe9, 0xbf, 0x33, 0x3d, 0x3d, 0xfb, + 0x96, 0x3d, 0x15, 0x4b, 0xe4, 0xeb, 0xda, 0xc4, 0x7e, 0x94, 0xe0, 0x6a, 0xe6, 0xe7, 0xc9, 0x84, + 0x9f, 0x7c, 0x25, 0xd2, 0x6b, 0xb5, 0x30, 0x21, 0x42, 0x30, 0x11, 0x0b, 0x26, 0xb3, 0x3d, 0x78, + 0xb6, 0xd3, 0x45, 0x35, 0xb4, 0x01, 0x70, 0x60, 0x58, 0x1d, 0xdc, 0x66, 0x83, 0xa6, 0x52, 0x07, + 0x09, 0x5a, 0xda, 0x6f, 0x32, 0xdc, 0xa8, 0xe1, 0x0e, 0xf6, 0xf1, 0x1b, 0xbd, 0x3b, 0x65, 0x3f, + 0x25, 0xa6, 0xed, 0x5f, 0xc5, 0x53, 0x1f, 0x8e, 0xd3, 0xa9, 0x87, 0xc1, 0x6e, 0x1a, 0xdb, 0x67, + 0x58, 0xac, 0xc7, 0xf2, 0x26, 0x79, 0xa4, 0xf6, 0x95, 0x04, 0x37, 0x73, 0xc5, 0x7f, 0x22, 0x1e, + 0x9d, 0xe2, 0x8c, 0x72, 0x60, 0x3e, 0xc4, 0x12, 0x74, 0x07, 0x66, 0xf1, 0xa0, 0x21, 0xa8, 0x7c, + 0x9c, 0x8b, 0x90, 0x69, 0xa4, 0x20, 0xfa, 0x26, 0xa7, 0xf9, 0xa6, 0x84, 0x9e, 0x93, 0x7e, 0x96, + 0x61, 0x76, 0x68, 0x0a, 0xed, 0xa7, 0x85, 0x56, 0x62, 0x8e, 0xdf, 0x0a, 0xcf, 0x7c, 0xf6, 0x5d, + 0x43, 0xce, 0xbb, 0xfd, 0x2b, 0xa9, 0x6c, 0xd0, 0x22, 0x57, 0x3d, 0xbe, 0x11, 0x85, 0x2f, 0x73, + 0xe7, 0xd8, 0xe5, 0x91, 0xd3, 0x55, 0xc6, 0x27, 0xea, 0x47, 0xa7, 0xdc, 0x99, 0x6e, 0x86, 0x77, + 0xa6, 0x84, 0xfc, 0x09, 0xfb, 0x51, 0x1f, 0xe6, 0xc4, 0x2e, 0x74, 0x0f, 0x66, 0x0e, 0x03, 0x39, + 0x48, 0xe0, 0x58, 0x86, 0x0e, 0x95, 0x27, 0x48, 0xe6, 0x2b, 0x09, 0x96, 0x84, 0xe2, 0x11, 0x8d, + 0x11, 0xab, 0x1e, 0xc5, 0x6a, 0x44, 0x52, 0x8e, 0x1a, 0x91, 0x7c, 0xea, 0x1a, 0x91, 0x12, 0xa9, + 0x11, 0x6d, 0x7c, 0x01, 0xa0, 0x74, 0x89, 0x89, 0x9e, 0xc1, 0x42, 0xa4, 0xb6, 0x83, 0xae, 0x27, + 0xc4, 0x20, 0x5e, 0x4f, 0x52, 0x6f, 0xe4, 0x51, 0x23, 0x2e, 0x72, 0x60, 0xf9, 0x69, 0xaf, 0xd3, + 0x09, 0x56, 0xef, 0x66, 0xbf, 0x89, 0x8f, 0x98, 0x7f, 0x7f, 0x4d, 0x18, 0x9f, 0xa4, 0x48, 0xe7, + 0xba, 0x9d, 0x5b, 0x97, 0xad, 0xcb, 0xe9, 0xe0, 0xdd, 0x1a, 0x2d, 0x04, 0x0f, 0x12, 0x83, 0x1a, + 0x92, 0xba, 0x18, 0x6e, 0x20, 0x2e, 0xda, 0x05, 0xa8, 0xe1, 0x4e, 0x83, 0x98, 0x7c, 0x11, 0x24, + 0x4c, 0x34, 0xea, 0xa6, 0x16, 0xae, 0x64, 0x68, 0x10, 0x17, 0xd5, 0x61, 0x31, 0xfa, 0xa2, 0x8c, + 0xca, 0x6c, 0xe2, 0x84, 0xf7, 0x6e, 0xf5, 0x62, 0x4a, 0x0f, 0x71, 0xd1, 0x3a, 0xcc, 0x0c, 0x8a, + 0x2f, 0x88, 0x7b, 0x2e, 0x14, 0x7c, 0xd4, 0xf3, 0x91, 0x16, 0xe2, 0xa2, 0xfb, 0x30, 0x27, 0xd6, + 0x33, 0xd0, 0xf2, 0xf0, 0x41, 0x46, 0xa8, 0xbe, 0xa8, 0x17, 0x12, 0x5a, 0xb9, 0xdb, 0xd1, 0xaa, + 0x43, 0xe0, 0x76, 0x42, 0x75, 0x23, 0x70, 0x3b, 0xb1, 0x4c, 0x51, 0x87, 0xc5, 0x7a, 0xb2, 0xa1, + 0x7a, 0xaa, 0xa1, 0xfa, 0x18, 0x43, 0x09, 0x81, 0x4c, 0x78, 0x67, 0x17, 0x0c, 0xc5, 0x02, 0x59, + 0x63, 0x2c, 0x17, 0x9f, 0x9a, 0xd1, 0x5f, 0x06, 0xda, 0x91, 0xa7, 0x6c, 0xb5, 0x9c, 0xdc, 0x41, + 0x5c, 0x74, 0x08, 0xab, 0xe3, 0x9e, 0x43, 0xd0, 0xb5, 0x3c, 0xcf, 0x5f, 0xea, 0xf5, 0x1c, 0x5a, + 0xc4, 0x45, 0xc7, 0x50, 0xc9, 0xba, 0x3a, 0xa3, 0xb5, 0xbc, 0x1f, 0x07, 0xea, 0xad, 0x9c, 0x9a, + 0x1c, 0xe5, 0xb8, 0x0f, 0xcf, 0x00, 0x65, 0xc6, 0x43, 0x43, 0x80, 0x32, 0xf3, 0x0b, 0xf6, 0x53, + 0xb8, 0x1c, 0x3a, 0xdc, 0x13, 0xe6, 0xbb, 0x3d, 0x58, 0x1f, 0x39, 0xae, 0x60, 0xea, 0x9d, 0xfc, + 0xca, 0xc4, 0xdd, 0xbc, 0xf4, 0xe1, 0xc5, 0x1d, 0x17, 0xdb, 0xfb, 0xdb, 0x0d, 0xe1, 0x0f, 0x17, + 0x5d, 0x62, 0xde, 0xef, 0x12, 0xf3, 0x79, 0x91, 0x89, 0x7f, 0xff, 0x3d, 0x00, 0x00, 0xff, 0xff, + 0x9c, 0xc6, 0x92, 0x59, 0xd9, 0x21, 0x00, 0x00, } diff --git a/pkg/proto/msg/msg.proto b/pkg/proto/msg/msg.proto index 78025bd00..901ebb122 100644 --- a/pkg/proto/msg/msg.proto +++ b/pkg/proto/msg/msg.proto @@ -188,6 +188,27 @@ message SetMessageReactionExtensionsResp { bool isReact = 5; repeated KeyValueResp result = 6; } +message AddMessageReactionExtensionsReq { + 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 AddMessageReactionExtensionsResp { + int32 errCode = 1; + string errMsg = 2; + string clientMsgID = 3; + int64 msgFirstModifyTime = 4; + bool isReact = 5; + repeated KeyValueResp result = 6; +} message GetMessageListReactionExtensionsReq { @@ -200,7 +221,8 @@ message GetMessageListReactionExtensionsReq { string clientMsgID = 1; int64 msgFirstModifyTime = 2; } - repeated MessageReactionKey messageReactionKeyList = 6; + repeated string typeKeyList = 6; + repeated MessageReactionKey messageReactionKeyList = 7; } message GetMessageListReactionExtensionsResp{ int32 errCode = 1; @@ -283,6 +305,6 @@ service msg { // modify msg rpc SetMessageReactionExtensions(SetMessageReactionExtensionsReq) returns(SetMessageReactionExtensionsResp); rpc GetMessageListReactionExtensions(GetMessageListReactionExtensionsReq) returns(GetMessageListReactionExtensionsResp); - rpc AddMessageReactionExtensions(ModifyMessageReactionExtensionsReq) returns(ModifyMessageReactionExtensionsResp); + rpc AddMessageReactionExtensions(AddMessageReactionExtensionsReq) returns(AddMessageReactionExtensionsResp); rpc DeleteMessageReactionExtensions(DeleteMessageListReactionExtensionsReq) returns(DeleteMessageListReactionExtensionsResp); } From 5ae35bfee15e2996609bc0473101dc130bb41c4a Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 9 Jan 2023 18:58:40 +0800 Subject: [PATCH 237/313] fix Pb2String --- pkg/utils/utils.go | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/pkg/utils/utils.go b/pkg/utils/utils.go index 8d144c7e8..8669e80f7 100644 --- a/pkg/utils/utils.go +++ b/pkg/utils/utils.go @@ -137,12 +137,17 @@ func RemoveRepeatedStringInList(slc []string) []string { } func Pb2String(pb proto.Message) (string, error) { - marshaler := jsonpb.Marshaler{ - OrigName: true, - EnumsAsInts: false, - EmitDefaults: false, + //marshaler := jsonpb.Marshaler{ + // OrigName: true, + // EnumsAsInts: false, + // EmitDefaults: false, + //} + //return marshaler.MarshalToString(pb) + bytes, err := proto.Marshal(pb) + if err != nil { + return "", err } - return marshaler.MarshalToString(pb) + return string(bytes), nil } func String2Pb(s string, pb proto.Message) error { From 4f322254b009c1b15b0c9cc3329df09623865a5c Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 9 Jan 2023 19:11:50 +0800 Subject: [PATCH 238/313] fix Pb2String --- internal/rpc/msg/rpcChat.go | 11 +++-------- pkg/common/db/mongoModel.go | 6 +++--- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/internal/rpc/msg/rpcChat.go b/internal/rpc/msg/rpcChat.go index 470325deb..a8ca5bc05 100644 --- a/internal/rpc/msg/rpcChat.go +++ b/internal/rpc/msg/rpcChat.go @@ -145,14 +145,9 @@ func (rpc *rpcChat) runCh() { select { case msg := <-rpc.delMsgCh: log.NewInfo(msg.OperationID, utils.GetSelfFuncName(), "delmsgch recv new: ", msg) - db.DB.DelMsgFromCache(msg.UserID, msg.SeqList, msg.OperationID) - unexistSeqList, err := db.DB.DelMsgBySeqList(msg.UserID, msg.SeqList, msg.OperationID) - if err != nil { - log.NewError(msg.OperationID, utils.GetSelfFuncName(), "DelMsgBySeqList args: ", msg.UserID, msg.SeqList, msg.OperationID, err.Error()) - continue - } - if len(unexistSeqList) > 0 { - DeleteMessageNotification(msg.OpUserID, msg.UserID, unexistSeqList, msg.OperationID) + if len(msg.SeqList) > 0 { + db.DB.DelMsgFromCache(msg.UserID, msg.SeqList, msg.OperationID) + DeleteMessageNotification(msg.OpUserID, msg.UserID, msg.SeqList, msg.OperationID) } } } diff --git a/pkg/common/db/mongoModel.go b/pkg/common/db/mongoModel.go index 4d7d01f80..5b8cd2fb9 100644 --- a/pkg/common/db/mongoModel.go +++ b/pkg/common/db/mongoModel.go @@ -94,7 +94,7 @@ func (d *DataBases) GetMinSeqFromMongo2(uid string) (MinSeq uint32, err error) { } // deleteMsgByLogic -func (d *DataBases) DelMsgBySeqList(userID string, seqList []uint32, operationID string) (totalUnexistSeqList []uint32, err error) { +func (d *DataBases) DelMsgBySeqList(userID string, seqList []uint32, operationID string) (totalUnExistSeqList []uint32, err error) { log.Debug(operationID, utils.GetSelfFuncName(), "args ", userID, seqList) sortkeys.Uint32s(seqList) suffixUserID2SubSeqList := func(uid string, seqList []uint32) map[string][]uint32 { @@ -123,11 +123,11 @@ func (d *DataBases) DelMsgBySeqList(userID string, seqList []uint32, operationID return } lock.Lock() - totalUnexistSeqList = append(totalUnexistSeqList, unexistSeqList...) + totalUnExistSeqList = append(totalUnExistSeqList, unexistSeqList...) lock.Unlock() }(k, v, operationID) } - return totalUnexistSeqList, err + return totalUnExistSeqList, err } func (d *DataBases) DelMsgBySeqListInOneDoc(suffixUserID string, seqList []uint32, operationID string) ([]uint32, error) { From 818ed107c61c7b4696de94405b840c2be952b70e Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 10 Jan 2023 13:07:42 +0800 Subject: [PATCH 239/313] fix Pb2String --- pkg/common/db/RedisModel.go | 2 +- pkg/utils/utils.go | 18 +++++++----------- 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/pkg/common/db/RedisModel.go b/pkg/common/db/RedisModel.go index 29e2772a0..a133b624c 100644 --- a/pkg/common/db/RedisModel.go +++ b/pkg/common/db/RedisModel.go @@ -374,7 +374,7 @@ func (d *DataBases) DelMsgFromCache(uid string, seqList []uint32, operationID st continue } var msg pbCommon.MsgData - if err := utils.String2Pb(result, &msg); err != nil { + if err := jsonpb.UnmarshalString(result, &msg); err != nil { log2.Error(operationID, utils.GetSelfFuncName(), "String2Pb failed", msg, result, key, err.Error()) continue } diff --git a/pkg/utils/utils.go b/pkg/utils/utils.go index 8669e80f7..e925ab994 100644 --- a/pkg/utils/utils.go +++ b/pkg/utils/utils.go @@ -137,21 +137,17 @@ func RemoveRepeatedStringInList(slc []string) []string { } func Pb2String(pb proto.Message) (string, error) { - //marshaler := jsonpb.Marshaler{ - // OrigName: true, - // EnumsAsInts: false, - // EmitDefaults: false, - //} - //return marshaler.MarshalToString(pb) - bytes, err := proto.Marshal(pb) - if err != nil { - return "", err + marshaler := jsonpb.Marshaler{ + OrigName: true, + EnumsAsInts: false, + EmitDefaults: false, } - return string(bytes), nil + return marshaler.MarshalToString(pb) } func String2Pb(s string, pb proto.Message) error { - return proto.Unmarshal([]byte(s), pb) + err := jsonpb.UnmarshalString(s, pb) + return err } func Map2Pb(m map[string]string) (pb proto.Message, err error) { From 85e3a81419e1a59a738ceb5a7b6614d78c308088 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Wed, 11 Jan 2023 14:33:33 +0800 Subject: [PATCH 240/313] super group remove unread message --- internal/rpc/group/group.go | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index fbc2dd188..4bb686364 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -743,6 +743,27 @@ func (s *groupServer) KickGroupMember(ctx context.Context, req *pbGroup.KickGrou resp.ErrMsg = constant.ErrDB.ErrMsg return &resp, nil } + reqPb := pbConversation.ModifyConversationFieldReq{Conversation: &pbConversation.Conversation{}} + reqPb.OperationID = req.OperationID + reqPb.UserIDList = okUserIDList + reqPb.FieldType = constant.FieldUnread + reqPb.Conversation.GroupID = req.GroupID + reqPb.Conversation.ConversationID = utils.GetConversationIDBySessionType(req.GroupID, constant.SuperGroupChatType) + reqPb.Conversation.ConversationType = int32(constant.SuperGroupChatType) + reqPb.Conversation.UpdateUnreadCountTime = utils.GetCurrentTimestampByMill() + etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImConversationName, req.OperationID) + if etcdConn == nil { + errMsg := req.OperationID + "getcdv3.GetDefaultConn == nil" + log.NewError(req.OperationID, errMsg) + } + client := pbConversation.NewConversationClient(etcdConn) + respPb, err := client.ModifyConversationField(context.Background(), &reqPb) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "ModifyConversationField rpc failed, ", reqPb.String(), err.Error()) + } else { + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "ModifyConversationField success", respPb.String()) + } + } if groupInfo.GroupType != constant.SuperGroup { From 08ed131e19ef7994502f1493834460a517e8f846 Mon Sep 17 00:00:00 2001 From: skiffer-git <44203734@qq.com> Date: Wed, 11 Jan 2023 16:00:38 +0800 Subject: [PATCH 241/313] sendKickMsg add operationID --- internal/msg_gateway/gate/relay_rpc_server.go | 2 +- internal/msg_gateway/gate/ws_server.go | 25 ++++++++++--------- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/internal/msg_gateway/gate/relay_rpc_server.go b/internal/msg_gateway/gate/relay_rpc_server.go index 47889ad25..89a63a293 100644 --- a/internal/msg_gateway/gate/relay_rpc_server.go +++ b/internal/msg_gateway/gate/relay_rpc_server.go @@ -376,7 +376,7 @@ func (r *RPCServer) KickUserOffline(_ context.Context, req *pbRelay.KickUserOffl oldConnMap := ws.getUserAllCons(v) if conn, ok := oldConnMap[int(req.PlatformID)]; ok { // user->map[platform->conn] log.NewWarn(req.OperationID, "send kick msg, close connection ", req.PlatformID, v) - ws.sendKickMsg(conn) + ws.sendKickMsg(conn, req.OperationID) conn.Close() } } diff --git a/internal/msg_gateway/gate/ws_server.go b/internal/msg_gateway/gate/ws_server.go index e442443f9..2e1a33fe5 100644 --- a/internal/msg_gateway/gate/ws_server.go +++ b/internal/msg_gateway/gate/ws_server.go @@ -253,7 +253,7 @@ func (ws *WServer) MultiTerminalLoginChecker(uid string, platformID int, newConn if oldConnMap, ok := ws.wsUserToConn[uid]; ok { // user->map[platform->conn] if oldConn, ok := oldConnMap[platformID]; ok { log.NewDebug(operationID, uid, platformID, "kick old conn") - ws.sendKickMsg(oldConn) + ws.sendKickMsg(oldConn, operationID) m, err := db.DB.GetTokenMapByUidPid(uid, constant.PlatformIDToName(platformID)) if err != nil && err != go_redis.Nil { log.NewError(operationID, "get token from redis err", err.Error(), uid, constant.PlatformIDToName(platformID)) @@ -302,11 +302,12 @@ func (ws *WServer) MultiTerminalLoginChecker(uid string, platformID int, newConn case constant.WebAndOther: } } -func (ws *WServer) sendKickMsg(oldConn *UserConn) { +func (ws *WServer) sendKickMsg(oldConn *UserConn, operationID string) { mReply := Resp{ ReqIdentifier: constant.WSKickOnlineMsg, ErrCode: constant.ErrTokenInvalid.ErrCode, ErrMsg: constant.ErrTokenInvalid.ErrMsg, + OperationID: operationID, } var b bytes.Buffer enc := gob.NewEncoder(&b) @@ -422,19 +423,19 @@ func (ws *WServer) getUserAllCons(uid string) map[int]*UserConn { return nil } -//func (ws *WServer) getUserUid(conn *UserConn) (uid string, platform int) { -// rwLock.RLock() -// defer rwLock.RUnlock() +// func (ws *WServer) getUserUid(conn *UserConn) (uid string, platform int) { +// rwLock.RLock() +// defer rwLock.RUnlock() // -// if stringMap, ok := ws.wsConnToUser[conn]; ok { -// for k, v := range stringMap { -// platform = k -// uid = v +// if stringMap, ok := ws.wsConnToUser[conn]; ok { +// for k, v := range stringMap { +// platform = k +// uid = v +// } +// return uid, platform // } -// return uid, platform +// return "", 0 // } -// return "", 0 -//} func (ws *WServer) headerCheck(w http.ResponseWriter, r *http.Request, operationID string) (isPass, compression bool) { status := http.StatusUnauthorized query := r.URL.Query() From 5e1aa4379352348fa48e0059294c7796f3f6eefc Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Thu, 12 Jan 2023 10:59:42 +0800 Subject: [PATCH 242/313] file update --- cmd/Open-IM-SDK-Core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/Open-IM-SDK-Core b/cmd/Open-IM-SDK-Core index a9f57645a..e7bf4b2a2 160000 --- a/cmd/Open-IM-SDK-Core +++ b/cmd/Open-IM-SDK-Core @@ -1 +1 @@ -Subproject commit a9f57645a5edf7e327e711ea49137676b5e0fbe3 +Subproject commit e7bf4b2a2066e8836dccd908d11b4d37c1c6a4ce From 84c7b8827e8354ca023c6610c2be2946caf0e8ad Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Fri, 13 Jan 2023 11:32:02 +0800 Subject: [PATCH 243/313] message --- pkg/common/db/rocks_cache/rocks_cache.go | 67 ++++++++++++------------ 1 file changed, 33 insertions(+), 34 deletions(-) diff --git a/pkg/common/db/rocks_cache/rocks_cache.go b/pkg/common/db/rocks_cache/rocks_cache.go index 3b054d37f..0e80c94b5 100644 --- a/pkg/common/db/rocks_cache/rocks_cache.go +++ b/pkg/common/db/rocks_cache/rocks_cache.go @@ -145,40 +145,6 @@ func DelJoinedGroupIDListFromCache(userID string) error { return db.DB.Rc.TagAsDeleted(joinedGroupListCache + userID) } -func GetGroupMemberIDListFromCache(groupID string) ([]string, error) { - f := func() (string, error) { - groupInfo, err := GetGroupInfoFromCache(groupID) - if err != nil { - return "", utils.Wrap(err, "GetGroupInfoFromCache failed") - } - var groupMemberIDList []string - if groupInfo.GroupType == constant.SuperGroup { - superGroup, err := db.DB.GetSuperGroup(groupID) - if err != nil { - return "", utils.Wrap(err, "") - } - groupMemberIDList = superGroup.MemberIDList - } else { - groupMemberIDList, err = imdb.GetGroupMemberIDListByGroupID(groupID) - if err != nil { - return "", utils.Wrap(err, "") - } - } - bytes, err := json.Marshal(groupMemberIDList) - if err != nil { - return "", utils.Wrap(err, "") - } - return string(bytes), nil - } - groupIDListStr, err := db.DB.Rc.Fetch(groupCache+groupID, time.Second*30*60, f) - if err != nil { - return nil, utils.Wrap(err, "") - } - var groupMemberIDList []string - err = json.Unmarshal([]byte(groupIDListStr), &groupMemberIDList) - return groupMemberIDList, utils.Wrap(err, "") -} - func DelGroupMemberIDListFromCache(groupID string) error { err := db.DB.Rc.TagAsDeleted(groupCache + groupID) return err @@ -458,6 +424,39 @@ func GetGroupMemberListHashFromCache(groupID string) (uint64, error) { hashCodeUint64, err := strconv.Atoi(hashCode) return uint64(hashCodeUint64), err } +func GetGroupMemberIDListFromCache(groupID string) ([]string, error) { + f := func() (string, error) { + groupInfo, err := GetGroupInfoFromCache(groupID) + if err != nil { + return "", utils.Wrap(err, "GetGroupInfoFromCache failed") + } + var groupMemberIDList []string + if groupInfo.GroupType == constant.SuperGroup { + superGroup, err := db.DB.GetSuperGroup(groupID) + if err != nil { + return "", utils.Wrap(err, "") + } + groupMemberIDList = superGroup.MemberIDList + } else { + groupMemberIDList, err = imdb.GetGroupMemberIDListByGroupID(groupID) + if err != nil { + return "", utils.Wrap(err, "") + } + } + bytes, err := json.Marshal(groupMemberIDList) + if err != nil { + return "", utils.Wrap(err, "") + } + return string(bytes), nil + } + groupIDListStr, err := db.DB.Rc.Fetch(groupCache+groupID, time.Second*30*60, f) + if err != nil { + return nil, utils.Wrap(err, "") + } + var groupMemberIDList []string + err = json.Unmarshal([]byte(groupIDListStr), &groupMemberIDList) + return groupMemberIDList, utils.Wrap(err, "") +} func DelGroupMemberListHashFromCache(groupID string) error { err := db.DB.Rc.TagAsDeleted(groupMemberListHashCache + groupID) From 1ab7660f0dc8dc91a662ba31874929dc44470ce1 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Fri, 13 Jan 2023 13:57:24 +0800 Subject: [PATCH 244/313] remove extend msg limit --- internal/rpc/msg/extend_msg.go | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/internal/rpc/msg/extend_msg.go b/internal/rpc/msg/extend_msg.go index 30e9d492c..d8c2c9579 100644 --- a/internal/rpc/msg/extend_msg.go +++ b/internal/rpc/msg/extend_msg.go @@ -300,18 +300,18 @@ func (rpc *rpcChat) AddMessageReactionExtensions(ctx context.Context, req *msg.A } return &rResp, nil } - if !req.IsExternalExtensions { - rResp.ErrCode = 200 - rResp.ErrMsg = "only extenalextensions message can be used" - 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 !req.IsExternalExtensions { + // rResp.ErrCode = 200 + // rResp.ErrMsg = "only extenalextensions message can be used" + // 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 var isHistory bool if req.IsReact { From f0976c9aded68b398054abc9148bb033e6ef00b8 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Fri, 13 Jan 2023 17:04:52 +0800 Subject: [PATCH 245/313] reaction message update --- internal/rpc/msg/extend_msg.go | 2 ++ pkg/call_back_struct/message.go | 1 + 2 files changed, 3 insertions(+) diff --git a/internal/rpc/msg/extend_msg.go b/internal/rpc/msg/extend_msg.go index d8c2c9579..821798477 100644 --- a/internal/rpc/msg/extend_msg.go +++ b/internal/rpc/msg/extend_msg.go @@ -300,6 +300,7 @@ func (rpc *rpcChat) AddMessageReactionExtensions(ctx context.Context, req *msg.A } return &rResp, nil } + //if !req.IsExternalExtensions { // rResp.ErrCode = 200 // rResp.ErrMsg = "only extenalextensions message can be used" @@ -321,6 +322,7 @@ func (rpc *rpcChat) AddMessageReactionExtensions(ctx context.Context, req *msg.A } rResp.MsgFirstModifyTime = callbackResp.MsgFirstModifyTime rResp.Result = callbackResp.ResultReactionExtensionList + rResp.IsReact = callbackResp.IsReact ExtendMessageAddedNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, isHistory, false) return &rResp, nil } diff --git a/pkg/call_back_struct/message.go b/pkg/call_back_struct/message.go index 6e285a793..2fcb2b3aa 100644 --- a/pkg/call_back_struct/message.go +++ b/pkg/call_back_struct/message.go @@ -128,5 +128,6 @@ type CallbackAddMessageReactionExtReq struct { type CallbackAddMessageReactionExtResp struct { *CommonCallbackResp ResultReactionExtensionList []*msg.KeyValueResp `json:"resultReactionExtensionList"` + IsReact bool `json:"isReact"` MsgFirstModifyTime int64 `json:"msgFirstModifyTime"` } From 286163ce181c13e0e8db88cf41b7d26a00fa3427 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Fri, 13 Jan 2023 17:42:23 +0800 Subject: [PATCH 246/313] reaction message update --- internal/api/msg/extend_msg.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/api/msg/extend_msg.go b/internal/api/msg/extend_msg.go index 9933ce0cf..bb14224b6 100644 --- a/internal/api/msg/extend_msg.go +++ b/internal/api/msg/extend_msg.go @@ -72,7 +72,7 @@ func GetMessageListReactionExtensions(c *gin.Context) { reqPb rpc.GetMessageListReactionExtensionsReq ) if err := c.BindJSON(&req); err != nil { - c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) + c.JSON(http.StatusOK, gin.H{"errCode": 400, "errMsg": err.Error()}) return } log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req:", req) @@ -86,7 +86,7 @@ func GetMessageListReactionExtensions(c *gin.Context) { 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}) + c.JSON(http.StatusOK, gin.H{"errCode": 500, "errMsg": errMsg}) return } From 05ee20613b1b1d8d801281f8c7672cccce320d09 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Fri, 13 Jan 2023 18:28:09 +0800 Subject: [PATCH 247/313] reaction message update --- pkg/base_info/msg.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkg/base_info/msg.go b/pkg/base_info/msg.go index 7df39b585..d3ece59f5 100644 --- a/pkg/base_info/msg.go +++ b/pkg/base_info/msg.go @@ -78,7 +78,7 @@ type ModifyMessageReactionExtensionsResp struct { type OperateMessageListReactionExtensionsReq struct { OperationID string `json:"operationID" binding:"required"` SourceID string `json:"sourceID" binding:"required"` - SessionType string `json:"sessionType" binding:"required"` + SessionType int32 `json:"sessionType" binding:"required"` IsExternalExtensions bool `json:"isExternalExtensions"` TypeKeyList []string `json:"typeKeyList"` MessageReactionKeyList []*msg.GetMessageListReactionExtensionsReq_MessageReactionKey `json:"messageReactionKeyList" binding:"required"` @@ -95,6 +95,7 @@ type OperateMessageListReactionExtensionsResp struct { type SetMessageReactionExtensionsReq ModifyMessageReactionExtensionsReq type SetMessageReactionExtensionsResp ModifyMessageReactionExtensionsResp + type AddMessageReactionExtensionsReq ModifyMessageReactionExtensionsReq type AddMessageReactionExtensionsResp ModifyMessageReactionExtensionsResp From 4bf73b0a4702b79c90fa599507b6cc96d375d2eb Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 13 Jan 2023 19:47:32 +0800 Subject: [PATCH 248/313] sg recv opt --- internal/rpc/conversation/conversaion.go | 11 ++++++++++ internal/rpc/user/user.go | 26 +++++++++++++++++++++++- pkg/common/db/RedisModel.go | 20 ++++++++++++++++++ 3 files changed, 56 insertions(+), 1 deletion(-) diff --git a/internal/rpc/conversation/conversaion.go b/internal/rpc/conversation/conversaion.go index c6ffb8580..d977ef4f8 100644 --- a/internal/rpc/conversation/conversaion.go +++ b/internal/rpc/conversation/conversaion.go @@ -61,6 +61,17 @@ func (rpc *rpcConversation) ModifyConversationField(c context.Context, req *pbCo resp.CommonResp = &pbConversation.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg} return resp, nil } + if req.Conversation.ConversationType == constant.SuperGroupChatType { + if req.Conversation.RecvMsgOpt == constant.ReceiveNotNotifyMessage { + if err = db.DB.SetSuperGroupUserNotRecvOfflineMsgOpt(req.Conversation.GroupID, v); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "cache failed, rpc return", err.Error(), req.Conversation.GroupID, v) + } + } else { + if err = db.DB.ReduceSuperGroupUserNotRecvOfflineMsgOpt(req.Conversation.GroupID, v); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "cache failed, rpc return", err.Error(), req.Conversation.GroupID, v) + } + } + } } err = imdb.UpdateColumnsConversations(haveUserID, req.Conversation.ConversationID, map[string]interface{}{"recv_msg_opt": conversation.RecvMsgOpt}) case constant.FieldGroupAtType: diff --git a/internal/rpc/user/user.go b/internal/rpc/user/user.go index b6a55ca0f..d89707c08 100644 --- a/internal/rpc/user/user.go +++ b/internal/rpc/user/user.go @@ -251,7 +251,7 @@ func (s *userServer) SetConversation(ctx context.Context, req *pbUser.SetConvers if req.NotificationType == 0 { req.NotificationType = constant.ConversationOptChangeNotification } - if req.Conversation.ConversationType == constant.GroupChatType { + if req.Conversation.ConversationType == constant.GroupChatType || req.Conversation.ConversationType == constant.SuperGroupChatType { groupInfo, err := imdb.GetGroupInfoByGroupID(req.Conversation.GroupID) if err != nil { log.NewError(req.OperationID, "GetGroupInfoByGroupID failed ", req.Conversation.GroupID, err.Error()) @@ -264,7 +264,19 @@ func (s *userServer) SetConversation(ctx context.Context, req *pbUser.SetConvers resp.CommonResp = &pbUser.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: errMsg} return resp, nil } + if req.Conversation.ConversationType == constant.SuperGroupChatType { + if req.Conversation.RecvMsgOpt == constant.ReceiveNotNotifyMessage { + if err = db.DB.SetSuperGroupUserNotRecvOfflineMsgOpt(req.Conversation.GroupID, v); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "cache failed, rpc return", err.Error(), req.Conversation.GroupID, v) + } + } else { + if err = db.DB.ReduceSuperGroupUserNotRecvOfflineMsgOpt(req.Conversation.GroupID, v); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "cache failed, rpc return", err.Error(), req.Conversation.GroupID, v) + } + } + } } + var conversation db.Conversation if err := utils.CopyStructFields(&conversation, req.Conversation); err != nil { log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", *req.Conversation, err.Error()) @@ -326,6 +338,17 @@ func (s *userServer) SetRecvMsgOpt(ctx context.Context, req *pbUser.SetRecvMsgOp case "group": conversation.GroupID = stringList[1] conversation.ConversationType = constant.GroupChatType + case "super_group": + conversation.GroupID = stringList[1] + if req.RecvMsgOpt == constant.ReceiveNotNotifyMessage { + if err := db.DB.SetSuperGroupUserNotRecvOfflineMsgOpt(conversation.GroupID, req.OwnerUserID); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "cache failed, rpc return", err.Error(), conversation.GroupID, req.OwnerUserID) + } + } else { + if err := db.DB.ReduceSuperGroupUserNotRecvOfflineMsgOpt(conversation.GroupID, req.OwnerUserID); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "cache failed, rpc return", err.Error(), conversation.GroupID, req.OwnerUserID) + } + } } } isUpdate, err := imdb.SetRecvMsgOpt(conversation) @@ -334,6 +357,7 @@ func (s *userServer) SetRecvMsgOpt(ctx context.Context, req *pbUser.SetRecvMsgOp resp.CommonResp = &pbUser.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg} return resp, nil } + if isUpdate { err = rocksCache.DelConversationFromCache(conversation.OwnerUserID, conversation.ConversationID) } else { diff --git a/pkg/common/db/RedisModel.go b/pkg/common/db/RedisModel.go index a133b624c..b98533e87 100644 --- a/pkg/common/db/RedisModel.go +++ b/pkg/common/db/RedisModel.go @@ -40,6 +40,9 @@ const ( sendMsgFailedFlag = "SEND_MSG_FAILED_FLAG:" userBadgeUnreadCountSum = "USER_BADGE_UNREAD_COUNT_SUM:" exTypeKeyLocker = "EX_LOCK:" + + //temp + superGroupUserNotRecvOfflineMsgOptTemp = "SG_RECV_MSG_OPT_TEMP:" ) func (d *DataBases) JudgeAccountEXISTS(account string) (bool, error) { @@ -164,6 +167,23 @@ func (d *DataBases) GetSingleConversationRecvMsgOpt(userID, conversationID strin result, err := d.RDB.HGet(context.Background(), key, conversationID).Result() return utils.StringToInt(result), err } + +func (d *DataBases) SetSuperGroupUserNotRecvOfflineMsgOpt(groupID, userID string) error { + key := superGroupUserNotRecvOfflineMsgOptTemp + groupID + return d.RDB.SAdd(context.Background(), key, userID).Err() +} + +func (d *DataBases) ReduceSuperGroupUserNotRecvOfflineMsgOpt(groupID, userID string) error { + key := superGroupUserNotRecvOfflineMsgOptTemp + groupID + return d.RDB.SRem(context.Background(), key, userID).Err() +} + +func (d *DataBases) GetSuperGroupUserNotRecvOfflineMsgIDList(groupID string) ([]string, error) { + key := superGroupUserNotRecvOfflineMsgOptTemp + groupID + userIDs, _ := d.RDB.SMembers(context.Background(), key).Result() + return userIDs, nil +} + func (d *DataBases) SetUserGlobalMsgRecvOpt(userID string, opt int32) error { key := conversationReceiveMessageOpt + userID return d.RDB.HSet(context.Background(), key, GlobalMsgRecvOpt, opt).Err() From e1147aff9e7fe5999e0e0bd76c83e7964926f3b2 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 16 Jan 2023 13:26:14 +0800 Subject: [PATCH 249/313] user update --- internal/rpc/user/user.go | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/internal/rpc/user/user.go b/internal/rpc/user/user.go index d89707c08..6dc493ccc 100644 --- a/internal/rpc/user/user.go +++ b/internal/rpc/user/user.go @@ -264,17 +264,17 @@ func (s *userServer) SetConversation(ctx context.Context, req *pbUser.SetConvers resp.CommonResp = &pbUser.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: errMsg} return resp, nil } - if req.Conversation.ConversationType == constant.SuperGroupChatType { - if req.Conversation.RecvMsgOpt == constant.ReceiveNotNotifyMessage { - if err = db.DB.SetSuperGroupUserNotRecvOfflineMsgOpt(req.Conversation.GroupID, v); err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "cache failed, rpc return", err.Error(), req.Conversation.GroupID, v) - } - } else { - if err = db.DB.ReduceSuperGroupUserNotRecvOfflineMsgOpt(req.Conversation.GroupID, v); err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "cache failed, rpc return", err.Error(), req.Conversation.GroupID, v) - } - } - } + //if req.Conversation.ConversationType == constant.SuperGroupChatType { + // if req.Conversation.RecvMsgOpt == constant.ReceiveNotNotifyMessage { + // if err = db.DB.SetSuperGroupUserNotRecvOfflineMsgOpt(req.Conversation.GroupID, v); err != nil { + // log.NewError(req.OperationID, utils.GetSelfFuncName(), "cache failed, rpc return", err.Error(), req.Conversation.GroupID, v) + // } + // } else { + // if err = db.DB.ReduceSuperGroupUserNotRecvOfflineMsgOpt(req.Conversation.GroupID, v); err != nil { + // log.NewError(req.OperationID, utils.GetSelfFuncName(), "cache failed, rpc return", err.Error(), req.Conversation.GroupID, v) + // } + // } + //} } var conversation db.Conversation From 8f2e9f5261b0c05951d96e7f52d25730f97df432 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 16 Jan 2023 14:52:12 +0800 Subject: [PATCH 250/313] sg recv opt --- internal/push/logic/push_to_client.go | 8 +++++- internal/rpc/conversation/conversaion.go | 8 ++++-- internal/rpc/user/user.go | 36 ++++++++++++++++++++---- pkg/common/db/RedisModel.go | 6 ++-- pkg/utils/utils.go | 16 +++++++++++ 5 files changed, 62 insertions(+), 12 deletions(-) diff --git a/internal/push/logic/push_to_client.go b/internal/push/logic/push_to_client.go index 1a0076289..763b5d6f3 100644 --- a/internal/push/logic/push_to_client.go +++ b/internal/push/logic/push_to_client.go @@ -249,7 +249,13 @@ func MsgToSuperGroupUser(pushMsg *pbPush.PushMsgReq) { } else { needOfflinePushUserIDList = onlineFailedUserIDList } - + if pushMsg.MsgData.ContentType != constant.SignalingNotification { + notNotificationUserIDList, err := db.DB.GetSuperGroupUserReceiveNotNotifyMessageIDList(pushMsg.MsgData.GroupID) + if err != nil { + log.NewError(pushMsg.OperationID, utils.GetSelfFuncName(), "GetSuperGroupUserReceiveNotNotifyMessageIDList failed", pushMsg.MsgData.GroupID) + } + needOfflinePushUserIDList = utils.RemoveFromSlice(needOfflinePushUserIDList, notNotificationUserIDList) + } if offlinePusher == nil { return } diff --git a/internal/rpc/conversation/conversaion.go b/internal/rpc/conversation/conversaion.go index d977ef4f8..77051daaf 100644 --- a/internal/rpc/conversation/conversaion.go +++ b/internal/rpc/conversation/conversaion.go @@ -63,12 +63,16 @@ func (rpc *rpcConversation) ModifyConversationField(c context.Context, req *pbCo } if req.Conversation.ConversationType == constant.SuperGroupChatType { if req.Conversation.RecvMsgOpt == constant.ReceiveNotNotifyMessage { - if err = db.DB.SetSuperGroupUserNotRecvOfflineMsgOpt(req.Conversation.GroupID, v); err != nil { + if err = db.DB.SetSuperGroupUserReceiveNotNotifyMessage(req.Conversation.GroupID, v); err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "cache failed, rpc return", err.Error(), req.Conversation.GroupID, v) + resp.CommonResp = &pbConversation.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg} + return resp, nil } } else { - if err = db.DB.ReduceSuperGroupUserNotRecvOfflineMsgOpt(req.Conversation.GroupID, v); err != nil { + if err = db.DB.SetSuperGroupUserReceiveNotifyMessage(req.Conversation.GroupID, v); err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "cache failed, rpc return", err.Error(), req.Conversation.GroupID, v) + resp.CommonResp = &pbConversation.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg} + return resp, nil } } } diff --git a/internal/rpc/user/user.go b/internal/rpc/user/user.go index d89707c08..8ff71d383 100644 --- a/internal/rpc/user/user.go +++ b/internal/rpc/user/user.go @@ -163,6 +163,22 @@ func (s *userServer) BatchSetConversations(ctx context.Context, req *pbUser.Batc return resp, nil } + if v.ConversationType == constant.SuperGroupChatType { + if v.RecvMsgOpt == constant.ReceiveNotNotifyMessage { + if err := db.DB.SetSuperGroupUserReceiveNotNotifyMessage(v.GroupID, v.OwnerUserID); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "cache failed, rpc return", err.Error(), v.GroupID, v.OwnerUserID) + resp.CommonResp = &pbUser.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: err.Error()} + return resp, nil + } + } else { + if err := db.DB.SetSuperGroupUserReceiveNotifyMessage(v.GroupID, v.OwnerUserID); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "cache failed, rpc return", err.Error(), v.GroupID, err.Error()) + resp.CommonResp = &pbUser.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: err.Error()} + return resp, nil + } + } + } + isUpdate, err := imdb.SetConversation(conversation) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "SetConversation error", err.Error()) @@ -266,12 +282,16 @@ func (s *userServer) SetConversation(ctx context.Context, req *pbUser.SetConvers } if req.Conversation.ConversationType == constant.SuperGroupChatType { if req.Conversation.RecvMsgOpt == constant.ReceiveNotNotifyMessage { - if err = db.DB.SetSuperGroupUserNotRecvOfflineMsgOpt(req.Conversation.GroupID, v); err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "cache failed, rpc return", err.Error(), req.Conversation.GroupID, v) + if err = db.DB.SetSuperGroupUserReceiveNotNotifyMessage(req.Conversation.GroupID, req.Conversation.OwnerUserID); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "cache failed, rpc return", err.Error(), req.Conversation.GroupID, req.Conversation.OwnerUserID) + resp.CommonResp = &pbUser.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: err.Error()} + return resp, nil } } else { - if err = db.DB.ReduceSuperGroupUserNotRecvOfflineMsgOpt(req.Conversation.GroupID, v); err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "cache failed, rpc return", err.Error(), req.Conversation.GroupID, v) + if err = db.DB.SetSuperGroupUserReceiveNotifyMessage(req.Conversation.GroupID, req.Conversation.OwnerUserID); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "cache failed, rpc return", err.Error(), req.Conversation.GroupID, err.Error()) + resp.CommonResp = &pbUser.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: err.Error()} + return resp, nil } } } @@ -341,12 +361,16 @@ func (s *userServer) SetRecvMsgOpt(ctx context.Context, req *pbUser.SetRecvMsgOp case "super_group": conversation.GroupID = stringList[1] if req.RecvMsgOpt == constant.ReceiveNotNotifyMessage { - if err := db.DB.SetSuperGroupUserNotRecvOfflineMsgOpt(conversation.GroupID, req.OwnerUserID); err != nil { + if err := db.DB.SetSuperGroupUserReceiveNotNotifyMessage(conversation.GroupID, req.OwnerUserID); err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "cache failed, rpc return", err.Error(), conversation.GroupID, req.OwnerUserID) + resp.CommonResp = &pbUser.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg} + return resp, nil } } else { - if err := db.DB.ReduceSuperGroupUserNotRecvOfflineMsgOpt(conversation.GroupID, req.OwnerUserID); err != nil { + if err := db.DB.SetSuperGroupUserReceiveNotifyMessage(conversation.GroupID, req.OwnerUserID); err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "cache failed, rpc return", err.Error(), conversation.GroupID, req.OwnerUserID) + resp.CommonResp = &pbUser.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg} + return resp, nil } } } diff --git a/pkg/common/db/RedisModel.go b/pkg/common/db/RedisModel.go index b98533e87..54d724b45 100644 --- a/pkg/common/db/RedisModel.go +++ b/pkg/common/db/RedisModel.go @@ -168,17 +168,17 @@ func (d *DataBases) GetSingleConversationRecvMsgOpt(userID, conversationID strin return utils.StringToInt(result), err } -func (d *DataBases) SetSuperGroupUserNotRecvOfflineMsgOpt(groupID, userID string) error { +func (d *DataBases) SetSuperGroupUserReceiveNotNotifyMessage(groupID, userID string) error { key := superGroupUserNotRecvOfflineMsgOptTemp + groupID return d.RDB.SAdd(context.Background(), key, userID).Err() } -func (d *DataBases) ReduceSuperGroupUserNotRecvOfflineMsgOpt(groupID, userID string) error { +func (d *DataBases) SetSuperGroupUserReceiveNotifyMessage(groupID, userID string) error { key := superGroupUserNotRecvOfflineMsgOptTemp + groupID return d.RDB.SRem(context.Background(), key, userID).Err() } -func (d *DataBases) GetSuperGroupUserNotRecvOfflineMsgIDList(groupID string) ([]string, error) { +func (d *DataBases) GetSuperGroupUserReceiveNotNotifyMessageIDList(groupID string) ([]string, error) { key := superGroupUserNotRecvOfflineMsgOptTemp + groupID userIDs, _ := d.RDB.SMembers(context.Background(), key).Result() return userIDs, nil diff --git a/pkg/utils/utils.go b/pkg/utils/utils.go index e925ab994..a05b7182e 100644 --- a/pkg/utils/utils.go +++ b/pkg/utils/utils.go @@ -119,6 +119,22 @@ func DifferenceString(slice1, slice2 []string) []string { } return n } + +func RemoveFromSlice(slice1, slice2 []string) []string { + for _, v1 := range slice1 { + for i2, v2 := range slice2 { + if v2 == v1 { + if i2 != len(slice2)-1 { + slice2 = append(slice2[:i2], slice2[i2+1:]...) + } else { + slice2 = append(slice2[:i2]) + } + } + } + } + return slice2 +} + func OperationIDGenerator() string { return strconv.FormatInt(time.Now().UnixNano()+int64(rand.Uint32()), 10) } From 442c838bda8b120f3343c74587557561de9bbd99 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 16 Jan 2023 15:05:07 +0800 Subject: [PATCH 251/313] Merge branch 'v2.3.0release' of github.com:OpenIMSDK/Open-IM-Server into v2.3.0release # Conflicts: # internal/rpc/user/user.go --- internal/push/logic/push_to_client.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/internal/push/logic/push_to_client.go b/internal/push/logic/push_to_client.go index 763b5d6f3..74c478ff2 100644 --- a/internal/push/logic/push_to_client.go +++ b/internal/push/logic/push_to_client.go @@ -253,6 +253,8 @@ func MsgToSuperGroupUser(pushMsg *pbPush.PushMsgReq) { notNotificationUserIDList, err := db.DB.GetSuperGroupUserReceiveNotNotifyMessageIDList(pushMsg.MsgData.GroupID) if err != nil { log.NewError(pushMsg.OperationID, utils.GetSelfFuncName(), "GetSuperGroupUserReceiveNotNotifyMessageIDList failed", pushMsg.MsgData.GroupID) + } else { + log.NewDebug(pushMsg.OperationID, utils.GetSelfFuncName(), notNotificationUserIDList) } needOfflinePushUserIDList = utils.RemoveFromSlice(needOfflinePushUserIDList, notNotificationUserIDList) } From 1393e40eb99beda90b91b835b39dbf0ef974482d Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 16 Jan 2023 15:17:42 +0800 Subject: [PATCH 252/313] Merge branch 'v2.3.0release' of github.com:OpenIMSDK/Open-IM-Server into v2.3.0release # Conflicts: # internal/rpc/user/user.go --- internal/push/logic/push_to_client.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/internal/push/logic/push_to_client.go b/internal/push/logic/push_to_client.go index 74c478ff2..d8006f12c 100644 --- a/internal/push/logic/push_to_client.go +++ b/internal/push/logic/push_to_client.go @@ -257,6 +257,8 @@ func MsgToSuperGroupUser(pushMsg *pbPush.PushMsgReq) { log.NewDebug(pushMsg.OperationID, utils.GetSelfFuncName(), notNotificationUserIDList) } needOfflinePushUserIDList = utils.RemoveFromSlice(needOfflinePushUserIDList, notNotificationUserIDList) + log.NewDebug(pushMsg.OperationID, utils.GetSelfFuncName(), needOfflinePushUserIDList) + } if offlinePusher == nil { return From 1235715c229ef6bbdfcb47ea933a82bb5db389a3 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 16 Jan 2023 15:49:10 +0800 Subject: [PATCH 253/313] 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 d8006f12c..9190d934b 100644 --- a/internal/push/logic/push_to_client.go +++ b/internal/push/logic/push_to_client.go @@ -256,7 +256,7 @@ func MsgToSuperGroupUser(pushMsg *pbPush.PushMsgReq) { } else { log.NewDebug(pushMsg.OperationID, utils.GetSelfFuncName(), notNotificationUserIDList) } - needOfflinePushUserIDList = utils.RemoveFromSlice(needOfflinePushUserIDList, notNotificationUserIDList) + needOfflinePushUserIDList = utils.RemoveFromSlice(notNotificationUserIDList, needOfflinePushUserIDList) log.NewDebug(pushMsg.OperationID, utils.GetSelfFuncName(), needOfflinePushUserIDList) } From ff917466eb96c4b286ca6ec6a90e9c258dd7fff3 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 16 Jan 2023 16:00:11 +0800 Subject: [PATCH 254/313] log --- internal/rpc/msg/extend_msg.go | 1 + internal/rpc/msg/extend_msg_callback.go | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/internal/rpc/msg/extend_msg.go b/internal/rpc/msg/extend_msg.go index 821798477..dcbbf1be2 100644 --- a/internal/rpc/msg/extend_msg.go +++ b/internal/rpc/msg/extend_msg.go @@ -324,6 +324,7 @@ func (rpc *rpcChat) AddMessageReactionExtensions(ctx context.Context, req *msg.A rResp.Result = callbackResp.ResultReactionExtensionList rResp.IsReact = callbackResp.IsReact ExtendMessageAddedNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, isHistory, false) + log.Debug(req.OperationID, utils.GetSelfFuncName(), "rpc return is:", resp.String()) return &rResp, nil } diff --git a/internal/rpc/msg/extend_msg_callback.go b/internal/rpc/msg/extend_msg_callback.go index 393f4129e..cd1bbcd85 100644 --- a/internal/rpc/msg/extend_msg_callback.go +++ b/internal/rpc/msg/extend_msg_callback.go @@ -94,7 +94,7 @@ func callbackAddMessageReactionExtensions(setReq *msg.AddMessageReactionExtensio MsgFirstModifyTime: setReq.MsgFirstModifyTime, } resp := &cbApi.CallbackAddMessageReactionExtResp{CommonCallbackResp: &callbackResp} - defer log.NewDebug(setReq.OperationID, utils.GetSelfFuncName(), req, *resp) + defer log.NewDebug(setReq.OperationID, utils.GetSelfFuncName(), req, *resp, resp.IsReact, resp.MsgFirstModifyTime) if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackAddMessageListReactionExtensionsCommand, req, resp, config.Config.Callback.CallbackAfterSendGroupMsg.CallbackTimeOut); err != nil { callbackResp.ErrCode = http2.StatusInternalServerError callbackResp.ErrMsg = err.Error() From 4e3ab62f6c72e730defc31e46874c918c42bd9a4 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 16 Jan 2023 16:24:41 +0800 Subject: [PATCH 255/313] log --- 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 cd1bbcd85..eefcb419e 100644 --- a/internal/rpc/msg/extend_msg_callback.go +++ b/internal/rpc/msg/extend_msg_callback.go @@ -94,7 +94,7 @@ func callbackAddMessageReactionExtensions(setReq *msg.AddMessageReactionExtensio MsgFirstModifyTime: setReq.MsgFirstModifyTime, } resp := &cbApi.CallbackAddMessageReactionExtResp{CommonCallbackResp: &callbackResp} - defer log.NewDebug(setReq.OperationID, utils.GetSelfFuncName(), req, *resp, resp.IsReact, resp.MsgFirstModifyTime) + defer log.NewDebug(setReq.OperationID, utils.GetSelfFuncName(), req, *resp, *resp.CommonCallbackResp, resp.IsReact, resp.MsgFirstModifyTime) if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackAddMessageListReactionExtensionsCommand, req, resp, config.Config.Callback.CallbackAfterSendGroupMsg.CallbackTimeOut); err != nil { callbackResp.ErrCode = http2.StatusInternalServerError callbackResp.ErrMsg = err.Error() From 1be159b47c37cd268cba8b4cf1dcc90d55349e6d Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 16 Jan 2023 17:19:44 +0800 Subject: [PATCH 256/313] resp return update --- internal/api/msg/extend_msg.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/api/msg/extend_msg.go b/internal/api/msg/extend_msg.go index bb14224b6..d1ea61b7d 100644 --- a/internal/api/msg/extend_msg.go +++ b/internal/api/msg/extend_msg.go @@ -154,8 +154,8 @@ func AddMessageReactionExtensions(c *gin.Context) { resp.ErrCode = respPb.ErrCode resp.ErrMsg = respPb.ErrMsg resp.Data.ResultKeyValue = respPb.Result - resp.Data.MsgFirstModifyTime = reqPb.MsgFirstModifyTime - resp.Data.IsReact = reqPb.IsReact + resp.Data.MsgFirstModifyTime = respPb.MsgFirstModifyTime + resp.Data.IsReact = respPb.IsReact log.NewInfo(req.OperationID, utils.GetSelfFuncName(), resp) c.JSON(http.StatusOK, resp) } From 7627ebed5c4ce0ec40de34f316de90caae95b700 Mon Sep 17 00:00:00 2001 From: skiffer-git <72860476+skiffer-git@users.noreply.github.com> Date: Mon, 16 Jan 2023 20:50:42 +0800 Subject: [PATCH 257/313] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9f9e09ebc..dda35d399 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ By deployment of the Open-IM-Server on the customer's server, developers can int ## Community -- Join Slack Community : https://join.slack.com/t/openimcommunity/shared_invite/zt-1jo5m1wm9-ym2qj0LUU5UbO68L6Z1zQg +- Join Telegram Group : https://t.me/+zSJLPaHBNLZmODI1 - 中文官网访问这里:[Open-IM中文开发文档](https://doc.rentsoft.cn/) ## Quick start From 186cfa72269752c5163f093beef637a66b410822 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Tue, 17 Jan 2023 15:53:49 +0800 Subject: [PATCH 258/313] remove notification limit --- internal/push/logic/push_to_client.go | 6 ------ 1 file changed, 6 deletions(-) diff --git a/internal/push/logic/push_to_client.go b/internal/push/logic/push_to_client.go index 9190d934b..5b7324908 100644 --- a/internal/push/logic/push_to_client.go +++ b/internal/push/logic/push_to_client.go @@ -79,9 +79,6 @@ 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 { @@ -201,9 +198,6 @@ 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 var WebAndPcBackgroundUserIDList []string onlineSuccessUserIDList = append(onlineSuccessUserIDList, pushMsg.MsgData.SendID) From e99f441e50f97a160ab25b3d2210ab8da064349f Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Wed, 18 Jan 2023 11:37:10 +0800 Subject: [PATCH 259/313] db update --- internal/rpc/group/group.go | 6 ++++++ pkg/common/db/rocks_cache/rocks_cache.go | 1 - 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index 4bb686364..c96a3d8de 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -743,6 +743,12 @@ func (s *groupServer) KickGroupMember(ctx context.Context, req *pbGroup.KickGrou resp.ErrMsg = constant.ErrDB.ErrMsg return &resp, nil } + if err := rocksCache.DelGroupMemberListHashFromCache(req.GroupID); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), req.GroupID, err.Error()) + } + if err := rocksCache.DelGroupMemberIDListFromCache(req.GroupID); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID) + } reqPb := pbConversation.ModifyConversationFieldReq{Conversation: &pbConversation.Conversation{}} reqPb.OperationID = req.OperationID reqPb.UserIDList = okUserIDList diff --git a/pkg/common/db/rocks_cache/rocks_cache.go b/pkg/common/db/rocks_cache/rocks_cache.go index 0e80c94b5..d021cbbe8 100644 --- a/pkg/common/db/rocks_cache/rocks_cache.go +++ b/pkg/common/db/rocks_cache/rocks_cache.go @@ -578,7 +578,6 @@ func GetExtendMsg(sourceID string, sessionType int32, clientMsgID string, firstM } return string(bytes), nil } - extendMsgStr, err := db.DB.Rc.Fetch(extendMsgCache+clientMsgID, time.Second*30*60, getExtendMsg) if err != nil { return nil, utils.Wrap(err, "Fetch failed") From 127d45abc9dbf8417f86d6f5f32e89c271189cbf Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Wed, 18 Jan 2023 11:53:36 +0800 Subject: [PATCH 260/313] db update --- pkg/proto/sdk_ws/ws.pb.go | 6585 ------------------------------------- pkg/proto/sdk_ws/ws.proto | 155 +- 2 files changed, 79 insertions(+), 6661 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 1665fff79..000000000 --- a/pkg/proto/sdk_ws/ws.pb.go +++ /dev/null @@ -1,6585 +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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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_73169a3998a579bb, []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 { - 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_73169a3998a579bb, []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_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 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_73169a3998a579bb, []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") - 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.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_73169a3998a579bb) } - -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, -} diff --git a/pkg/proto/sdk_ws/ws.proto b/pkg/proto/sdk_ws/ws.proto index 843771ee7..de5b25623 100644 --- a/pkg/proto/sdk_ws/ws.proto +++ b/pkg/proto/sdk_ws/ws.proto @@ -21,7 +21,7 @@ message GroupInfo{ string creatorUserID = 11; int32 groupType = 12; int32 needVerification = 13; - int32 lookMemberInfo =14; + int32 lookMemberInfo = 14; int32 applyMemberFriend = 15; uint32 notificationUpdateTime = 16; string notificationUserID = 17; @@ -34,9 +34,9 @@ message GroupInfoForSet{ string introduction = 4; string faceURL = 5; string ex = 6; - google.protobuf.Int32Value needVerification = 7; - google.protobuf.Int32Value lookMemberInfo = 8; - google.protobuf.Int32Value applyMemberFriend = 9; + google.protobuf.Int32Value needVerification = 7; + google.protobuf.Int32Value lookMemberInfo = 8; + google.protobuf.Int32Value applyMemberFriend = 9; } @@ -141,34 +141,34 @@ message Department { uint32 createTime = 7; uint32 subDepartmentNum = 8; uint32 memberNum = 9; - string ex = 10; + string ex = 10; } message OrganizationUser { - string userID = 1; - string nickname = 2; - string englishName = 3; - string faceURL = 4; - int32 gender = 5; - string mobile = 6; - string telephone = 7; - uint32 birth = 8; - string email = 9; - uint32 createTime = 10; - string ex = 11; - string birthStr = 12; + string userID = 1; + string nickname = 2; + string englishName = 3; + string faceURL = 4; + int32 gender = 5; + string mobile = 6; + string telephone = 7; + uint32 birth = 8; + string email = 9; + uint32 createTime = 10; + string ex = 11; + string birthStr = 12; } message DepartmentMember { - string userID = 1; - string departmentID = 2; - int32 order = 3; - string position = 4; - int32 leader = 5; - int32 status = 6; - string ex = 7; + string userID = 1; + string departmentID = 2; + int32 order = 3; + string position = 4; + int32 leader = 5; + int32 status = 6; + string ex = 7; } @@ -203,12 +203,12 @@ message PullMessageBySeqListReq{ } message seqList { - repeated uint32 seqList = 1; + repeated uint32 seqList = 1; } message MsgDataList { - repeated MsgData msgDataList = 1; + repeated MsgData msgDataList = 1; } message PullMessageBySeqListResp { @@ -221,9 +221,9 @@ message PullMessageBySeqListResp { message GetMaxAndMinSeqReq { - repeated string groupIDList = 1; - string userID = 2; - string operationID =3; + repeated string groupIDList = 1; + string userID = 2; + string operationID = 3; } message MaxAndMinSeq{ uint32 maxSeq = 1; @@ -266,6 +266,9 @@ message MsgData { bytes msgDataList = 21; string attachedInfo = 22; string ex = 23; + bool isReact = 24; + bool isExternalExtensions = 25; + int64 msgFirstModifyTime = 26; } message OfflinePushInfo{ @@ -453,7 +456,7 @@ message FriendApplicationApprovedTips{ //FromUserID accept or reject ToUserID message FriendApplicationRejectedTips{ FromToUserID fromToUserID = 1; - string handleMsg = 2; + string handleMsg = 2; } @@ -490,23 +493,23 @@ message UserInfoUpdatedTips{ //////////////////////conversation///////////////////// message ConversationUpdateTips{ - string UserID = 1; - repeated string conversationIDList = 2; - int64 updateUnreadCountTime = 3; + string UserID = 1; + repeated string conversationIDList = 2; + int64 updateUnreadCountTime = 3; } message ConversationSetPrivateTips{ - string recvID = 1; - string sendID = 2; - bool isPrivate = 3; + string recvID = 1; + string sendID = 2; + bool isPrivate = 3; } ////////////////////message/////////////////////// message DeleteMessageTips{ string opUserID = 1; - string userID =2; + string userID = 2; repeated uint32 seqList = 3; } ///cms @@ -524,24 +527,24 @@ message ResponsePagination { ///////////////////signal////////////// message SignalReq { oneof payload { - SignalInviteReq invite = 1; - SignalInviteInGroupReq inviteInGroup= 2; - SignalCancelReq cancel = 3; - SignalAcceptReq accept = 4; - SignalHungUpReq hungUp = 5; - SignalRejectReq reject = 6; - SignalGetRoomByGroupIDReq getRoomByGroupID = 7; - - SignalOnRoomParticipantConnectedReq onRoomParticipantConnectedReq = 8; - SignalOnRoomParticipantDisconnectedReq onRoomParticipantDisconnectedReq = 9; - SignalGetTokenByRoomIDReq getTokenByRoomID = 10; + SignalInviteReq invite = 1; + SignalInviteInGroupReq inviteInGroup = 2; + SignalCancelReq cancel = 3; + SignalAcceptReq accept = 4; + SignalHungUpReq hungUp = 5; + SignalRejectReq reject = 6; + SignalGetRoomByGroupIDReq getRoomByGroupID = 7; + + SignalOnRoomParticipantConnectedReq onRoomParticipantConnectedReq = 8; + SignalOnRoomParticipantDisconnectedReq onRoomParticipantDisconnectedReq = 9; + SignalGetTokenByRoomIDReq getTokenByRoomID = 10; } } message SignalResp { oneof payload { SignalInviteReply invite = 1; - SignalInviteInGroupReply inviteInGroup= 2; + SignalInviteInGroupReply inviteInGroup = 2; SignalCancelReply cancel = 3; SignalAcceptReply accept = 4; SignalHungUpReply hungUp = 5; @@ -553,30 +556,30 @@ message SignalResp { message InvitationInfo { - string inviterUserID = 1; - repeated string inviteeUserIDList = 2; - string customData = 3; - string groupID = 4; - string roomID = 5; - int32 timeout = 6; - string mediaType = 7; - int32 platformID = 8; - int32 sessionType = 9; - int32 initiateTime = 10; - repeated string busyLineUserIDList = 11; + string inviterUserID = 1; + repeated string inviteeUserIDList = 2; + string customData = 3; + string groupID = 4; + string roomID = 5; + int32 timeout = 6; + string mediaType = 7; + int32 platformID = 8; + int32 sessionType = 9; + int32 initiateTime = 10; + repeated string busyLineUserIDList = 11; } message ParticipantMetaData{ - GroupInfo groupInfo = 1; - GroupMemberFullInfo groupMemberInfo = 2; - PublicUserInfo userInfo = 3; + GroupInfo groupInfo = 1; + GroupMemberFullInfo groupMemberInfo = 2; + PublicUserInfo userInfo = 3; } message SignalInviteReq { - string opUserID = 1; - InvitationInfo invitation = 2; - OfflinePushInfo offlinePushInfo = 3; - ParticipantMetaData participant = 4; + string opUserID = 1; + InvitationInfo invitation = 2; + OfflinePushInfo offlinePushInfo = 3; + ParticipantMetaData participant = 4; } @@ -590,7 +593,7 @@ message SignalInviteReply { message SignalInviteInGroupReq { string opUserID = 1; InvitationInfo invitation = 2; - OfflinePushInfo offlinePushInfo = 3; + OfflinePushInfo offlinePushInfo = 3; ParticipantMetaData participant = 4; } @@ -604,7 +607,7 @@ message SignalInviteInGroupReply { message SignalCancelReq { string opUserID = 1; InvitationInfo invitation = 2; - OfflinePushInfo offlinePushInfo = 3; + OfflinePushInfo offlinePushInfo = 3; ParticipantMetaData participant = 4; } @@ -615,7 +618,7 @@ message SignalCancelReply { message SignalAcceptReq { string opUserID = 1; InvitationInfo invitation = 2; - OfflinePushInfo offlinePushInfo = 3; + OfflinePushInfo offlinePushInfo = 3; ParticipantMetaData participant = 4; int32 opUserPlatformID = 5; } @@ -629,7 +632,7 @@ message SignalAcceptReply { message SignalHungUpReq { string opUserID = 1; InvitationInfo invitation = 2; - OfflinePushInfo offlinePushInfo = 3; + OfflinePushInfo offlinePushInfo = 3; } message SignalHungUpReply { @@ -640,7 +643,7 @@ message SignalHungUpReply { message SignalRejectReq { string opUserID = 1; InvitationInfo invitation = 2; - OfflinePushInfo offlinePushInfo = 3; + OfflinePushInfo offlinePushInfo = 3; ParticipantMetaData participant = 4; int32 opUserPlatformID = 5; } @@ -687,10 +690,10 @@ message SignalGetTokenByRoomIDReply { message DelMsgListReq{ - string opUserID = 1; - string userID = 2; - repeated uint32 seqList = 3; - string operationID = 4; + string opUserID = 1; + string userID = 2; + repeated uint32 seqList = 3; + string operationID = 4; } message DelMsgListResp{ From b980c9e751b48cb2f7209b4305860c79784e5033 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Wed, 18 Jan 2023 11:54:46 +0800 Subject: [PATCH 261/313] db update --- pkg/proto/sdk_ws/ws.pb.go | 6612 +++++++++++++++++++++++++++++++++++++ 1 file changed, 6612 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..603738ef8 --- /dev/null +++ b/pkg/proto/sdk_ws/ws.pb.go @@ -0,0 +1,6612 @@ +// 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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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"` + IsReact bool `protobuf:"varint,24,opt,name=isReact" json:"isReact,omitempty"` + IsExternalExtensions bool `protobuf:"varint,25,opt,name=isExternalExtensions" json:"isExternalExtensions,omitempty"` + MsgFirstModifyTime int64 `protobuf:"varint,26,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,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_afc480fe1acbbaee, []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 "" +} + +func (m *MsgData) GetIsReact() bool { + if m != nil { + return m.IsReact + } + return false +} + +func (m *MsgData) GetIsExternalExtensions() bool { + if m != nil { + return m.IsExternalExtensions + } + return false +} + +func (m *MsgData) GetMsgFirstModifyTime() int64 { + if m != nil { + return m.MsgFirstModifyTime + } + return 0 +} + +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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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 { + 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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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_afc480fe1acbbaee, []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") + 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.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_afc480fe1acbbaee) } + +var fileDescriptor_ws_afc480fe1acbbaee = []byte{ + // 4155 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x3c, 0x59, 0x6f, 0x1c, 0x59, + 0xb9, 0x53, 0xd5, 0x8b, 0xbb, 0xbf, 0xf6, 0xd2, 0xae, 0x24, 0x9e, 0x4e, 0x4f, 0x26, 0xd7, 0xb7, + 0x26, 0xca, 0xcd, 0xcd, 0xcd, 0x38, 0xf7, 0x66, 0x96, 0xcb, 0x6c, 0x41, 0x5e, 0x12, 0xc7, 0x93, + 0xb4, 0xed, 0xa9, 0x4e, 0x26, 0x68, 0x66, 0xa4, 0x50, 0xee, 0x3a, 0x6e, 0xd7, 0xb8, 0xba, 0xaa, + 0x5c, 0x8b, 0x13, 0xf3, 0x00, 0x12, 0x20, 0x40, 0xe2, 0x01, 0x09, 0xb1, 0x48, 0xf0, 0xc6, 0x0b, + 0x02, 0xa1, 0x11, 0x42, 0x83, 0x84, 0x04, 0x42, 0x08, 0xf1, 0x80, 0x04, 0x12, 0xf3, 0x8e, 0x04, + 0x82, 0x17, 0x10, 0xe2, 0x0f, 0x20, 0x21, 0x0d, 0x3a, 0x4b, 0x55, 0x9d, 0x53, 0x4b, 0x77, 0xc7, + 0xb2, 0x26, 0x89, 0xc2, 0x53, 0xf2, 0x7d, 0x75, 0xbe, 0xef, 0x7c, 0xfb, 0xf9, 0xce, 0xd2, 0x86, + 0x19, 0xdf, 0xd8, 0xbd, 0x73, 0xd7, 0xbf, 0x78, 0xd7, 0x5f, 0x70, 0x3d, 0x27, 0x70, 0x94, 0x59, + 0x1f, 0x79, 0xfb, 0xc8, 0xbb, 0xa3, 0xbb, 0xe6, 0x1d, 0x57, 0xf7, 0xf4, 0x81, 0xdf, 0x5e, 0xd8, + 0x70, 0x91, 0xfd, 0xec, 0x5a, 0xe7, 0xd9, 0x2e, 0xf9, 0x74, 0xd1, 0xdd, 0xed, 0x5f, 0x24, 0x83, + 0x2f, 0x46, 0xc4, 0x9e, 0xee, 0xba, 0xc8, 0x63, 0x2c, 0xd4, 0x3f, 0x96, 0xa1, 0xbe, 0xea, 0x39, + 0xa1, 0xbb, 0x66, 0x6f, 0x3b, 0x4a, 0x0b, 0x26, 0xfa, 0x04, 0x58, 0x69, 0x49, 0xf3, 0xd2, 0xb9, + 0xba, 0x16, 0x81, 0xca, 0x29, 0xa8, 0x93, 0xff, 0xae, 0xeb, 0x03, 0xd4, 0x92, 0xc9, 0xb7, 0x04, + 0xa1, 0xa8, 0x30, 0x69, 0x3b, 0x81, 0xb9, 0x6d, 0xf6, 0xf4, 0xc0, 0x74, 0xec, 0x56, 0x89, 0x0c, + 0x10, 0x70, 0x78, 0x8c, 0x69, 0x07, 0x9e, 0x63, 0x84, 0x3d, 0x32, 0xa6, 0x4c, 0xc7, 0xf0, 0x38, + 0x3c, 0xff, 0xb6, 0xde, 0x43, 0xb7, 0xb4, 0x1b, 0xad, 0x0a, 0x9d, 0x9f, 0x81, 0xca, 0x3c, 0x34, + 0x9c, 0xbb, 0x36, 0xf2, 0x6e, 0xf9, 0xc8, 0x5b, 0x5b, 0x69, 0x55, 0xc9, 0x57, 0x1e, 0xa5, 0x9c, + 0x06, 0xe8, 0x79, 0x48, 0x0f, 0xd0, 0x4d, 0x73, 0x80, 0x5a, 0x13, 0xf3, 0xd2, 0xb9, 0x29, 0x8d, + 0xc3, 0x60, 0x0e, 0x03, 0x34, 0xd8, 0x42, 0xde, 0xb2, 0x13, 0xda, 0x41, 0xab, 0x46, 0x06, 0xf0, + 0x28, 0x65, 0x1a, 0x64, 0x74, 0xaf, 0x55, 0x27, 0xac, 0x65, 0x74, 0x4f, 0x99, 0x83, 0xaa, 0x1f, + 0xe8, 0x41, 0xe8, 0xb7, 0x60, 0x5e, 0x3a, 0x57, 0xd1, 0x18, 0xa4, 0x9c, 0x81, 0x29, 0xc2, 0xd7, + 0x89, 0xa4, 0x69, 0x10, 0x12, 0x11, 0x19, 0x5b, 0xec, 0xe6, 0x81, 0x8b, 0x5a, 0x93, 0x84, 0x41, + 0x82, 0x50, 0xce, 0x43, 0xd3, 0x46, 0xc8, 0x78, 0x13, 0x79, 0x89, 0xd5, 0xa6, 0xc8, 0xa0, 0x0c, + 0x5e, 0x39, 0x0b, 0xd3, 0x96, 0xe3, 0xec, 0x76, 0x88, 0xa8, 0xd8, 0x4f, 0xad, 0x69, 0x32, 0x32, + 0x85, 0x55, 0x2e, 0xc0, 0xac, 0xee, 0xba, 0xd6, 0x01, 0x45, 0x5d, 0xf5, 0x4c, 0x64, 0x1b, 0xad, + 0x19, 0x32, 0x34, 0xfb, 0x41, 0x79, 0x11, 0xe6, 0x78, 0xff, 0xdc, 0x72, 0x8d, 0xc8, 0x76, 0x4d, + 0x62, 0x9a, 0x82, 0xaf, 0xca, 0x02, 0x28, 0xc2, 0x17, 0x6a, 0x82, 0x59, 0x62, 0x82, 0x9c, 0x2f, + 0xea, 0xd7, 0x4a, 0x30, 0x13, 0x47, 0xd8, 0x55, 0xc7, 0xeb, 0xa2, 0xe0, 0x21, 0x8e, 0x33, 0x1a, + 0x03, 0xd5, 0x38, 0x06, 0x56, 0x73, 0xfc, 0x84, 0x63, 0xab, 0x71, 0xe9, 0xa9, 0x85, 0xbe, 0xe3, + 0xf4, 0x2d, 0x44, 0x13, 0x69, 0x2b, 0xdc, 0x5e, 0x58, 0xb3, 0x83, 0xe7, 0x2e, 0xbd, 0xa9, 0x5b, + 0x21, 0xca, 0x71, 0xe2, 0x72, 0xc6, 0x89, 0xb5, 0xd1, 0x6c, 0xd2, 0x1e, 0x5e, 0xcb, 0xf3, 0x70, + 0x7d, 0x34, 0x9f, 0x2c, 0x95, 0xfa, 0xa1, 0x0c, 0xc7, 0x88, 0x5b, 0x18, 0x36, 0xb4, 0xac, 0x11, + 0x25, 0x60, 0x0e, 0xaa, 0x21, 0x75, 0x36, 0xf5, 0x0b, 0x83, 0xb0, 0xcb, 0x3c, 0xc7, 0x42, 0x37, + 0xd0, 0x3e, 0xb2, 0x88, 0x47, 0x2a, 0x5a, 0x82, 0x50, 0xda, 0x50, 0x7b, 0xd7, 0x31, 0x6d, 0x12, + 0x58, 0x65, 0xf2, 0x31, 0x86, 0xf1, 0x37, 0xdb, 0xec, 0xed, 0xda, 0xd8, 0xd7, 0xd4, 0x0f, 0x31, + 0xcc, 0xbb, 0xa8, 0x2a, 0xba, 0xe8, 0x2c, 0x4c, 0xeb, 0xae, 0xdb, 0xd1, 0xed, 0x3e, 0xf2, 0xe8, + 0xa4, 0x13, 0x34, 0x1d, 0x44, 0x2c, 0x2e, 0x08, 0x78, 0xa6, 0xae, 0x13, 0x7a, 0x3d, 0x44, 0xac, + 0x5d, 0xd1, 0x38, 0x0c, 0xe6, 0xe3, 0xb8, 0xc8, 0xe3, 0xf2, 0x98, 0xa6, 0x7e, 0x0a, 0xcb, 0x42, + 0x02, 0xe2, 0x90, 0xc0, 0x85, 0x24, 0x0c, 0xd0, 0x15, 0xdb, 0x20, 0x4a, 0x35, 0x58, 0x21, 0x49, + 0x50, 0xb8, 0x40, 0x98, 0xf6, 0xbe, 0x19, 0xc4, 0xe5, 0x6a, 0x92, 0x16, 0x08, 0x01, 0xa9, 0x7e, + 0x41, 0x82, 0xe9, 0xcd, 0x70, 0xcb, 0x32, 0x7b, 0x04, 0x81, 0x8d, 0x9f, 0x98, 0x58, 0x12, 0x4c, + 0xcc, 0x1b, 0x4a, 0x2e, 0x36, 0x54, 0x49, 0x34, 0xd4, 0x1c, 0x54, 0xfb, 0xc8, 0x36, 0x90, 0xc7, + 0x0c, 0xcf, 0x20, 0xa6, 0x50, 0x25, 0x52, 0x48, 0xfd, 0x83, 0x0c, 0xb5, 0x8f, 0x58, 0x84, 0x79, + 0x68, 0xb8, 0x3b, 0x8e, 0x8d, 0xd6, 0x43, 0x1c, 0x7c, 0x4c, 0x16, 0x1e, 0xa5, 0x1c, 0x87, 0xca, + 0x96, 0xe9, 0x05, 0x3b, 0xc4, 0xfb, 0x53, 0x1a, 0x05, 0x30, 0x16, 0x0d, 0x74, 0x93, 0xba, 0xbc, + 0xae, 0x51, 0x80, 0x29, 0x54, 0x8b, 0x3d, 0x24, 0x2e, 0x05, 0xf5, 0xcc, 0x52, 0x90, 0x8d, 0x20, + 0xc8, 0x8d, 0xa0, 0xf3, 0xd0, 0xec, 0x5b, 0xce, 0x96, 0x6e, 0x69, 0xa8, 0xb7, 0xdf, 0xf1, 0xfb, + 0x1b, 0x6e, 0x40, 0xdc, 0x5d, 0xd1, 0x32, 0x78, 0x6c, 0x1f, 0x22, 0x62, 0x37, 0xf0, 0x98, 0xbb, + 0x63, 0x58, 0xfd, 0x87, 0x04, 0x40, 0xd3, 0x8e, 0x98, 0x38, 0xb5, 0x96, 0x49, 0xd9, 0xb5, 0x6c, + 0x0e, 0xaa, 0x1e, 0x1a, 0xe8, 0xde, 0x6e, 0x94, 0x6a, 0x14, 0x4a, 0x29, 0x56, 0xca, 0x28, 0xf6, + 0x0a, 0xc0, 0x36, 0x99, 0x07, 0xf3, 0x21, 0x26, 0xc7, 0x85, 0x21, 0xd3, 0x25, 0x2c, 0x44, 0xde, + 0xd6, 0xb8, 0xe1, 0x38, 0x8f, 0x75, 0xc3, 0x60, 0xe9, 0x52, 0xa1, 0x79, 0x1c, 0x23, 0x72, 0xb2, + 0xa5, 0x3a, 0x24, 0x5b, 0x26, 0xe2, 0xe0, 0xfa, 0xbb, 0x04, 0xf5, 0x25, 0x4b, 0xef, 0xed, 0x8e, + 0xa9, 0xba, 0xa8, 0xa2, 0x9c, 0x51, 0x71, 0x15, 0xa6, 0xb6, 0x30, 0xbb, 0x48, 0x05, 0x62, 0x85, + 0xc6, 0xa5, 0xff, 0xcc, 0xd1, 0x52, 0x4c, 0x2e, 0x4d, 0xa4, 0x13, 0xd5, 0x2d, 0x8f, 0x56, 0xb7, + 0x32, 0x44, 0xdd, 0x78, 0xbd, 0x50, 0xbf, 0x59, 0x82, 0x49, 0x52, 0x56, 0x35, 0xb4, 0x17, 0x22, + 0x3f, 0x50, 0x5e, 0x83, 0x5a, 0x18, 0x89, 0x2a, 0x8d, 0x2b, 0x6a, 0x4c, 0xa2, 0xbc, 0xcc, 0xd6, + 0x43, 0x42, 0x2f, 0x13, 0xfa, 0x53, 0x39, 0xf4, 0xf1, 0x02, 0xab, 0x25, 0xc3, 0xf1, 0x4a, 0xb8, + 0xa3, 0xdb, 0x86, 0x85, 0x34, 0xe4, 0x87, 0x56, 0xc0, 0x6a, 0xb3, 0x80, 0xa3, 0x91, 0xb6, 0xd7, + 0xf1, 0xfb, 0x6c, 0x9d, 0x64, 0x10, 0xb6, 0x0e, 0x1d, 0x87, 0x3f, 0x51, 0xd5, 0x13, 0x04, 0x4e, + 0x78, 0x0f, 0xed, 0x11, 0x0f, 0xd1, 0xf4, 0x8c, 0xc0, 0x64, 0x4e, 0x66, 0x35, 0x1a, 0x08, 0x02, + 0x0e, 0xbb, 0x98, 0xc2, 0x84, 0x01, 0x6d, 0xc4, 0x38, 0x4c, 0xa6, 0x0f, 0x13, 0x0b, 0x39, 0x64, + 0x0a, 0x79, 0xa6, 0xdc, 0x36, 0xf2, 0xca, 0xed, 0xef, 0x4b, 0x30, 0x45, 0x93, 0x30, 0x72, 0xcd, + 0x69, 0x9c, 0x2d, 0xce, 0x40, 0x88, 0x45, 0x0e, 0x83, 0x75, 0xc1, 0xd0, 0xba, 0x58, 0xf6, 0x04, + 0x1c, 0x0e, 0x68, 0x0c, 0x5f, 0x15, 0xca, 0x1f, 0x8f, 0x8a, 0x66, 0x59, 0xe5, 0xcb, 0x20, 0x87, + 0xc1, 0x85, 0x23, 0x70, 0x84, 0x18, 0x8b, 0x61, 0x4c, 0x1b, 0x38, 0xf1, 0xfc, 0x34, 0xca, 0x38, + 0x0c, 0xf6, 0x52, 0xe0, 0x44, 0x73, 0x53, 0x53, 0x27, 0x08, 0xca, 0x99, 0xcd, 0x4b, 0x97, 0xbf, + 0x18, 0xce, 0xc4, 0x46, 0x7d, 0x68, 0x6c, 0x80, 0x10, 0x1b, 0x62, 0x8a, 0x36, 0x32, 0x29, 0x7a, + 0x06, 0xa6, 0x28, 0x9f, 0xd4, 0xf2, 0x27, 0x20, 0xc5, 0x08, 0x9b, 0x4a, 0x47, 0x98, 0x18, 0x23, + 0xd3, 0x05, 0x31, 0x32, 0x13, 0xe7, 0xdd, 0x8f, 0x64, 0x80, 0x15, 0xe4, 0xea, 0x5e, 0x30, 0x40, + 0x76, 0x80, 0xd5, 0x33, 0x62, 0x28, 0x76, 0xae, 0x80, 0xe3, 0x57, 0x2d, 0x59, 0x5c, 0xb5, 0x14, + 0x28, 0x13, 0x83, 0x53, 0x6f, 0x92, 0xff, 0x63, 0x63, 0xba, 0xba, 0x47, 0xb9, 0xd1, 0x54, 0x89, + 0x61, 0xbc, 0x2a, 0x39, 0x9e, 0xc1, 0xd6, 0xb1, 0x8a, 0x46, 0x01, 0x5c, 0x42, 0x92, 0xf9, 0xc8, + 0x2e, 0xa0, 0x4a, 0x57, 0x19, 0x11, 0x3b, 0x72, 0xe3, 0x72, 0x1e, 0x9a, 0x7e, 0xb8, 0x95, 0x28, + 0xb7, 0x1e, 0x0e, 0x58, 0xd2, 0x64, 0xf0, 0xd8, 0xa8, 0x74, 0x47, 0x83, 0x07, 0xd1, 0x85, 0x2f, + 0x41, 0xa4, 0x3b, 0x19, 0xf5, 0xd7, 0x32, 0x34, 0x37, 0xbc, 0xbe, 0x6e, 0x9b, 0x9f, 0x8a, 0x3b, + 0xf6, 0x43, 0x35, 0x00, 0xf3, 0xd0, 0x40, 0x76, 0xdf, 0x32, 0xfd, 0x9d, 0xf5, 0xc4, 0x6e, 0x3c, + 0x8a, 0x37, 0x76, 0xb9, 0xa8, 0x45, 0xa8, 0x08, 0x2d, 0xc2, 0x1c, 0x54, 0x07, 0xce, 0x96, 0x69, + 0x45, 0x71, 0xcf, 0x20, 0x12, 0xf3, 0xc8, 0x42, 0xa4, 0x57, 0x88, 0x63, 0x3e, 0x42, 0x24, 0x6d, + 0x43, 0x2d, 0xb7, 0x6d, 0xa8, 0xf3, 0x6d, 0x83, 0x68, 0x78, 0xc8, 0x18, 0x9e, 0x9a, 0xab, 0x11, + 0xd7, 0xa1, 0x61, 0x4b, 0xfc, 0x2f, 0x24, 0x68, 0x26, 0xae, 0xa0, 0x3d, 0x75, 0xa1, 0x29, 0xd3, + 0xd1, 0x29, 0xe7, 0x44, 0x67, 0x1c, 0x53, 0x25, 0x3e, 0xa6, 0x70, 0x14, 0x3a, 0xbe, 0xc9, 0x6d, + 0x6c, 0x62, 0x18, 0xcf, 0x66, 0x21, 0x9d, 0x33, 0x24, 0x85, 0xb8, 0x6d, 0x6c, 0x55, 0xd8, 0xc6, + 0xa6, 0x57, 0xea, 0x9f, 0x48, 0x70, 0x1c, 0x47, 0x40, 0x46, 0x8d, 0x0d, 0x68, 0x3a, 0xa9, 0x28, + 0x61, 0x4b, 0xd9, 0x33, 0x39, 0x4b, 0x51, 0x3a, 0xa0, 0xb4, 0x0c, 0x31, 0x66, 0x68, 0xa4, 0x26, + 0x61, 0x6b, 0x5b, 0x1e, 0xc3, 0xb4, 0x3c, 0x5a, 0x86, 0x58, 0xfd, 0x99, 0x04, 0x4d, 0xba, 0x78, + 0x72, 0x35, 0xe0, 0xc8, 0xc5, 0xbe, 0x0d, 0xc7, 0xd3, 0x33, 0xdf, 0x30, 0xfd, 0xa0, 0x25, 0xcf, + 0x97, 0xc6, 0x15, 0x3d, 0x97, 0x81, 0xfa, 0x03, 0x19, 0x9e, 0xdc, 0x0c, 0x2d, 0xab, 0x83, 0x7c, + 0x5f, 0xef, 0xa3, 0xa5, 0x83, 0x2e, 0xda, 0xc3, 0x1f, 0x34, 0xb4, 0x57, 0x18, 0x43, 0xb8, 0x93, + 0x22, 0xad, 0x88, 0xe9, 0xd8, 0x71, 0x08, 0xf1, 0x28, 0x9c, 0x72, 0x3e, 0xe5, 0xd3, 0x2a, 0xcd, + 0x97, 0xf0, 0x22, 0xcd, 0x40, 0xe5, 0x93, 0x30, 0x49, 0xba, 0x04, 0x36, 0x4d, 0xab, 0x4c, 0x14, + 0x78, 0x35, 0xb7, 0x2f, 0xc9, 0x95, 0x8a, 0xf6, 0x1b, 0x0c, 0xbe, 0x62, 0x07, 0xde, 0x81, 0x26, + 0x70, 0x6c, 0xbf, 0x0d, 0xb3, 0x99, 0x21, 0x4a, 0x13, 0x4a, 0xbb, 0xe8, 0x80, 0xe9, 0x81, 0xff, + 0xab, 0xfc, 0x2f, 0x54, 0xf6, 0xf1, 0x06, 0x95, 0x79, 0xbf, 0x9d, 0x23, 0x01, 0x93, 0x59, 0xa3, + 0x03, 0x5f, 0x96, 0x3f, 0x26, 0xa9, 0xcf, 0xc4, 0x8a, 0xf1, 0x3a, 0x4a, 0x82, 0x8e, 0xea, 0x75, + 0x68, 0x74, 0xfc, 0xfe, 0x8a, 0x1e, 0xe8, 0x64, 0xe0, 0xab, 0xd0, 0x18, 0x24, 0x20, 0x19, 0x9c, + 0x3f, 0x1f, 0x23, 0xd2, 0xf8, 0xe1, 0xea, 0x07, 0x32, 0xb4, 0xf2, 0x4d, 0xe1, 0xbb, 0x58, 0x06, + 0xe4, 0x79, 0xcb, 0x8e, 0x81, 0x88, 0x6a, 0x15, 0x2d, 0x02, 0xb1, 0xef, 0x90, 0xe7, 0xe1, 0xf5, + 0x8d, 0xb5, 0xf1, 0x14, 0x52, 0x16, 0xa0, 0x6c, 0x45, 0x6e, 0x19, 0x2e, 0x05, 0x19, 0xa7, 0x0c, + 0xa0, 0x49, 0xac, 0xcb, 0x29, 0xc4, 0x7c, 0xb6, 0x38, 0xb6, 0xcf, 0x7c, 0x97, 0x3a, 0x8d, 0xe3, + 0x41, 0x1d, 0x97, 0x61, 0xdd, 0xee, 0xc1, 0x89, 0xdc, 0xa1, 0x39, 0x0e, 0x7c, 0x5e, 0x74, 0xe0, + 0xe9, 0x62, 0x55, 0xd2, 0x4e, 0x74, 0x41, 0x59, 0x45, 0x41, 0x47, 0xbf, 0xb7, 0x68, 0x1b, 0x1d, + 0xd3, 0xee, 0xa2, 0x3d, 0x1c, 0xed, 0xf3, 0xd0, 0x60, 0xc7, 0x0d, 0xb1, 0x9b, 0xea, 0x1a, 0x8f, + 0x2a, 0x3c, 0x85, 0x48, 0xe5, 0x43, 0x29, 0x93, 0x0f, 0xea, 0x65, 0x98, 0xe4, 0xa7, 0x23, 0x0b, + 0x8c, 0x7e, 0xaf, 0x8b, 0xf6, 0x88, 0x42, 0x53, 0x1a, 0x83, 0x08, 0x9e, 0x8c, 0x60, 0xbb, 0x0f, + 0x06, 0xa9, 0xbf, 0x91, 0xe1, 0x58, 0x46, 0x64, 0xdf, 0xbd, 0x5f, 0x3e, 0x7c, 0xbc, 0x94, 0x8a, + 0xe2, 0xa5, 0x2c, 0xc4, 0xcb, 0x2e, 0xcc, 0x52, 0x27, 0x71, 0x53, 0xb7, 0x2a, 0x24, 0x00, 0x5e, + 0xcb, 0xdb, 0x0c, 0x64, 0x85, 0x64, 0xbe, 0xe7, 0xb0, 0xd4, 0xf9, 0x59, 0xbe, 0x6d, 0x04, 0x73, + 0xf9, 0x83, 0x73, 0xdc, 0xff, 0x82, 0xe8, 0xfe, 0xff, 0xc8, 0x73, 0x3f, 0x2f, 0x09, 0xe7, 0xff, + 0x3d, 0x98, 0xc1, 0x45, 0xb5, 0x8b, 0x6c, 0xa3, 0xe3, 0xf7, 0x89, 0x21, 0xe7, 0xa1, 0x41, 0xe9, + 0x3b, 0x7e, 0x3f, 0xd9, 0x1c, 0x72, 0x28, 0x3c, 0xa2, 0x67, 0x99, 0xb8, 0x78, 0x92, 0x11, 0xac, + 0xe8, 0x71, 0x28, 0xbc, 0x40, 0xfa, 0x88, 0x9d, 0xcc, 0x60, 0xeb, 0x96, 0xb4, 0x18, 0x56, 0xdf, + 0x9f, 0x80, 0x09, 0x16, 0x8d, 0x64, 0x51, 0xc4, 0xfb, 0xf1, 0xb8, 0xac, 0x52, 0x88, 0xf6, 0xbc, + 0xbd, 0xfd, 0x24, 0xbc, 0x28, 0xc4, 0x1f, 0x8b, 0x95, 0xc4, 0x63, 0xb1, 0x94, 0x4c, 0xe5, 0xac, + 0x4c, 0x29, 0xbd, 0x2a, 0x59, 0xbd, 0x70, 0x8b, 0x47, 0xba, 0x9e, 0x4d, 0x4b, 0x0f, 0xb6, 0x1d, + 0x6f, 0xc0, 0xb6, 0xd7, 0x15, 0x2d, 0x83, 0xc7, 0x6d, 0x25, 0xc5, 0xc5, 0xfb, 0x02, 0xba, 0x84, + 0xa7, 0xb0, 0xb8, 0x0b, 0xa7, 0x98, 0x68, 0x7f, 0x40, 0xcf, 0x47, 0x44, 0x24, 0x95, 0xcd, 0xf7, + 0x4d, 0xc7, 0x26, 0x1d, 0x2a, 0xdd, 0x06, 0xf0, 0x28, 0xac, 0xf9, 0xc0, 0xef, 0x5f, 0xf5, 0x9c, + 0x01, 0xdb, 0x7a, 0x45, 0x20, 0xd1, 0xdc, 0xb1, 0x83, 0xa8, 0xbb, 0xa5, 0x27, 0x23, 0x3c, 0x0a, + 0xd3, 0x32, 0x90, 0x34, 0x4c, 0x93, 0x5a, 0x04, 0xe2, 0x58, 0xf2, 0xd1, 0x1e, 0x6b, 0xec, 0xf1, + 0x7f, 0x05, 0xcf, 0xcd, 0x88, 0x9e, 0x4b, 0x75, 0x6a, 0x4d, 0xf2, 0x95, 0xef, 0xd4, 0x92, 0x16, + 0x67, 0x56, 0x68, 0x71, 0x16, 0x61, 0xc2, 0x71, 0x71, 0xfa, 0xfb, 0x2d, 0x85, 0xa4, 0xcb, 0x7f, + 0x15, 0x17, 0xa8, 0x85, 0x0d, 0x3a, 0x92, 0x26, 0x46, 0x44, 0xa7, 0xdc, 0x80, 0x19, 0x67, 0x7b, + 0xdb, 0x32, 0x6d, 0xb4, 0x19, 0xfa, 0x3b, 0x64, 0x1b, 0x7e, 0x8c, 0x04, 0xbb, 0x9a, 0xd7, 0x44, + 0x88, 0x23, 0xb5, 0x34, 0x29, 0xee, 0xfc, 0xf4, 0x80, 0x6e, 0x80, 0x48, 0x81, 0x3b, 0x4e, 0x0a, + 0x9c, 0x80, 0x23, 0xe7, 0x8b, 0x5c, 0xa1, 0x3f, 0x41, 0x0c, 0xc7, 0xa3, 0x28, 0x97, 0x40, 0xef, + 0xed, 0x20, 0x72, 0xa0, 0xd4, 0x9a, 0xa3, 0xfd, 0x23, 0x8f, 0x63, 0xdd, 0xdd, 0x93, 0x71, 0xf3, + 0xda, 0x82, 0x09, 0xd3, 0xd7, 0x90, 0xde, 0x0b, 0x5a, 0xad, 0x79, 0xe9, 0x5c, 0x4d, 0x8b, 0x40, + 0xe5, 0x12, 0x1c, 0x37, 0xfd, 0x2b, 0xf7, 0x02, 0xe4, 0xd9, 0xba, 0x85, 0xff, 0xb5, 0x7d, 0x62, + 0xb1, 0x93, 0x64, 0x58, 0xee, 0x37, 0x65, 0x01, 0x14, 0x1c, 0x05, 0xa6, 0xe7, 0x07, 0x1d, 0xc7, + 0x30, 0xb7, 0x0f, 0x88, 0x63, 0xda, 0xc4, 0x31, 0x39, 0x5f, 0xda, 0x2f, 0xc3, 0x24, 0x6f, 0xde, + 0x9c, 0x52, 0x72, 0x9c, 0x2f, 0x25, 0x35, 0xbe, 0x52, 0x7c, 0x5d, 0x82, 0x99, 0x94, 0x61, 0xf1, + 0xe8, 0xc0, 0x0c, 0x2c, 0xc4, 0x38, 0x50, 0x00, 0xef, 0xdb, 0x0c, 0xe4, 0xf7, 0x58, 0xea, 0x92, + 0xff, 0x33, 0x3b, 0x94, 0x62, 0x3b, 0xa8, 0x30, 0x69, 0x6e, 0x74, 0x31, 0xa3, 0xae, 0x13, 0xda, + 0x46, 0x7c, 0x3d, 0xc0, 0xe1, 0xc8, 0x81, 0xc2, 0x46, 0x77, 0x49, 0x37, 0xfa, 0x88, 0x5e, 0x16, + 0x55, 0x88, 0x4c, 0x22, 0x52, 0x35, 0xa0, 0x76, 0xd3, 0x74, 0xfd, 0x65, 0x67, 0x30, 0xc0, 0x01, + 0x68, 0xa0, 0x00, 0xef, 0x30, 0x24, 0xe2, 0x2e, 0x06, 0x61, 0x5f, 0x1a, 0x68, 0x5b, 0x0f, 0xad, + 0x00, 0x0f, 0x8d, 0x0a, 0x16, 0x87, 0x22, 0x87, 0x1b, 0xbe, 0x63, 0xaf, 0x50, 0x6a, 0x2a, 0x27, + 0x87, 0x51, 0x7f, 0x25, 0x43, 0x93, 0xd4, 0xe3, 0x65, 0x12, 0xee, 0x06, 0x21, 0xba, 0x04, 0x15, + 0x52, 0x7e, 0x58, 0x3f, 0x3b, 0xfc, 0x44, 0x88, 0x0e, 0x55, 0x2e, 0x43, 0xd5, 0x71, 0x49, 0x13, + 0x4c, 0x8b, 0xf5, 0xd9, 0x22, 0x22, 0xf1, 0x42, 0x40, 0x63, 0x54, 0xca, 0x55, 0x80, 0x41, 0xd2, + 0xf3, 0xd2, 0xd6, 0x65, 0x5c, 0x1e, 0x1c, 0x25, 0x36, 0x6e, 0xbc, 0x2a, 0xc7, 0xb7, 0x02, 0x25, + 0x4d, 0x44, 0x2a, 0xeb, 0x30, 0x4d, 0xc4, 0xde, 0x88, 0x8e, 0x06, 0x89, 0x0f, 0xc6, 0x9f, 0x31, + 0x45, 0xad, 0x7e, 0x47, 0x62, 0x66, 0xc4, 0x5f, 0xbb, 0x88, 0xda, 0x3e, 0x31, 0x89, 0x74, 0x28, + 0x93, 0xb4, 0xa1, 0x36, 0x08, 0xb9, 0x93, 0xca, 0x92, 0x16, 0xc3, 0x89, 0x8b, 0x4a, 0x63, 0xbb, + 0x48, 0xfd, 0xae, 0x04, 0xad, 0xd7, 0x1d, 0xd3, 0x26, 0x1f, 0x16, 0x5d, 0xd7, 0x62, 0x97, 0x47, + 0x87, 0xf6, 0xf9, 0xc7, 0xa1, 0xae, 0x53, 0x36, 0x76, 0xc0, 0xdc, 0x3e, 0xc6, 0xe9, 0x63, 0x42, + 0xc3, 0x1d, 0x01, 0x95, 0xf8, 0x23, 0x20, 0xf5, 0x3d, 0x09, 0xa6, 0xa9, 0x51, 0xde, 0x08, 0xcd, + 0xe0, 0xd0, 0xf2, 0x2d, 0x41, 0x6d, 0x2f, 0x34, 0x83, 0x43, 0x44, 0x65, 0x4c, 0x97, 0x8d, 0xa7, + 0x52, 0x4e, 0x3c, 0xa9, 0x1f, 0x48, 0x70, 0x2a, 0x6d, 0xd6, 0xc5, 0x5e, 0x0f, 0xb9, 0x0f, 0x32, + 0xa5, 0x84, 0x23, 0xb0, 0x72, 0xce, 0x11, 0x98, 0x87, 0x7a, 0xc8, 0xdc, 0x47, 0xde, 0xa2, 0xcf, + 0xf6, 0xf4, 0x1c, 0x26, 0x57, 0x25, 0x0d, 0xbd, 0x8b, 0x7a, 0x8f, 0xae, 0x4a, 0x9f, 0x93, 0xe1, + 0xe4, 0x6a, 0x9c, 0xb8, 0x37, 0x3d, 0xdd, 0xf6, 0xb7, 0x91, 0xe7, 0x3d, 0x40, 0x7d, 0x6e, 0xc0, + 0x94, 0x8d, 0xee, 0x26, 0x32, 0xb1, 0x74, 0x1e, 0x97, 0x8d, 0x48, 0x3c, 0x5e, 0xed, 0x53, 0xff, + 0x29, 0x41, 0x93, 0xf2, 0xb9, 0x6e, 0xf6, 0x76, 0x1f, 0xa0, 0xf2, 0xeb, 0x30, 0xbd, 0x4b, 0x24, + 0xc0, 0xd0, 0x21, 0xca, 0x7e, 0x8a, 0x7a, 0x4c, 0xf5, 0x3f, 0x94, 0x60, 0x36, 0xba, 0xf3, 0xde, + 0x37, 0x1f, 0x64, 0x30, 0x6f, 0xc2, 0x0c, 0xbd, 0x43, 0x38, 0xac, 0x01, 0xd2, 0xe4, 0x63, 0x5a, + 0xe0, 0xc7, 0x12, 0xcc, 0x50, 0x4e, 0x57, 0xec, 0x00, 0x79, 0x87, 0xd6, 0xff, 0x1a, 0x34, 0x90, + 0x1d, 0x78, 0xba, 0x7d, 0x98, 0x0a, 0xcb, 0x93, 0x8e, 0x59, 0x64, 0xdf, 0x93, 0x40, 0x21, 0xac, + 0x56, 0x4c, 0x7f, 0x60, 0xfa, 0xfe, 0x03, 0x74, 0xdd, 0x78, 0x02, 0x7f, 0x4b, 0x86, 0xe3, 0x1c, + 0x97, 0x4e, 0x18, 0x3c, 0xec, 0x22, 0x2b, 0x2b, 0x50, 0xc7, 0x3d, 0x06, 0x7f, 0xc3, 0x3b, 0xee, + 0x44, 0x09, 0x21, 0xee, 0x82, 0x09, 0xd0, 0x45, 0x3d, 0xc7, 0x36, 0x68, 0x29, 0x9e, 0xd2, 0x04, + 0x1c, 0x2e, 0x43, 0x6d, 0x8e, 0xcd, 0xb2, 0x6e, 0xf7, 0x90, 0xf5, 0xd8, 0x98, 0x48, 0xfd, 0xbe, + 0x04, 0xd3, 0x74, 0xc8, 0xc3, 0xaf, 0xb2, 0xfa, 0x43, 0x89, 0x05, 0xf2, 0x23, 0xe3, 0x25, 0x1c, + 0x5e, 0x73, 0x1c, 0x17, 0xbe, 0x2f, 0x7f, 0x78, 0x43, 0xeb, 0x1a, 0x34, 0x7a, 0x3b, 0xba, 0xdd, + 0x3f, 0x54, 0x70, 0xf1, 0xa4, 0x6a, 0x00, 0x4f, 0xf2, 0x57, 0x0e, 0xcb, 0xf4, 0x13, 0x51, 0xff, + 0xb9, 0x94, 0x2a, 0x43, 0x5f, 0x70, 0xdc, 0x9f, 0xd1, 0x77, 0x61, 0x96, 0xde, 0x81, 0x73, 0x3d, + 0xa3, 0xd2, 0x82, 0x09, 0xdd, 0xa0, 0x07, 0x2f, 0x12, 0x21, 0x8a, 0x40, 0xf1, 0x8d, 0x04, 0x7b, + 0x8d, 0x97, 0xbc, 0x91, 0x38, 0x0d, 0xa0, 0x1b, 0xc6, 0x6d, 0xc7, 0x33, 0x4c, 0x3b, 0xda, 0x20, + 0x70, 0x18, 0xf5, 0x75, 0x98, 0xbc, 0xea, 0x39, 0x83, 0x9b, 0xdc, 0x6d, 0xf6, 0xd0, 0xfb, 0x76, + 0xfe, 0x26, 0x5c, 0x16, 0x6f, 0xc2, 0xd5, 0x77, 0xe0, 0x44, 0x46, 0x70, 0x62, 0xac, 0x65, 0x7a, + 0x49, 0x1f, 0x4d, 0xc2, 0x42, 0x26, 0xef, 0x24, 0x92, 0x97, 0x45, 0x13, 0x88, 0xd4, 0xcf, 0x4a, + 0xf0, 0x74, 0x86, 0xfd, 0xa2, 0xeb, 0x7a, 0xce, 0x3e, 0xf3, 0xc9, 0x51, 0x4c, 0x23, 0x36, 0xc7, + 0x72, 0xaa, 0x39, 0xce, 0x17, 0x42, 0x68, 0xe8, 0x3f, 0x02, 0x21, 0xbe, 0x27, 0xc1, 0x0c, 0x13, + 0xc2, 0x30, 0xd8, 0xb4, 0x2f, 0x40, 0x95, 0x3e, 0x13, 0x62, 0x13, 0x3e, 0x9d, 0x3b, 0x61, 0xf4, + 0xbc, 0x49, 0x63, 0x83, 0xb3, 0x11, 0x29, 0xe7, 0x65, 0xd4, 0x4b, 0x71, 0xb0, 0x8f, 0xfd, 0x90, + 0x87, 0x11, 0xa8, 0x9f, 0x88, 0x82, 0x79, 0x05, 0x59, 0xe8, 0x28, 0x6d, 0xa4, 0xde, 0x82, 0x69, + 0xf2, 0x66, 0x29, 0xb1, 0xc1, 0x91, 0xb0, 0xbd, 0x0d, 0x4d, 0xc2, 0xf6, 0xc8, 0xe5, 0x8d, 0xb3, + 0x03, 0xdb, 0x87, 0x2f, 0x25, 0x47, 0xc2, 0xfd, 0x59, 0x38, 0x16, 0xd9, 0x9e, 0xbe, 0x03, 0xa6, + 0xbc, 0x0b, 0x6e, 0x26, 0xd5, 0x6f, 0x48, 0x30, 0xb7, 0xec, 0xd8, 0xfb, 0xc8, 0xf3, 0x85, 0xb7, + 0xc3, 0x94, 0x44, 0xc8, 0x7e, 0x06, 0x29, 0x0b, 0xa0, 0xf4, 0x38, 0x0a, 0x76, 0x38, 0x2a, 0x93, + 0xc3, 0xd1, 0x9c, 0x2f, 0xca, 0xf3, 0x70, 0x22, 0x24, 0x5c, 0x6f, 0xd9, 0x1e, 0xd2, 0x0d, 0x72, + 0x1e, 0xc7, 0x15, 0xbd, 0xfc, 0x8f, 0xea, 0xbb, 0xd0, 0xe6, 0xe5, 0xea, 0xa2, 0x60, 0xd3, 0x33, + 0xf7, 0x39, 0xd9, 0xd8, 0xc9, 0xbf, 0x24, 0x9c, 0xfc, 0x27, 0x37, 0x05, 0xb2, 0x70, 0x53, 0x70, + 0x0a, 0xea, 0xa6, 0xcf, 0x18, 0x90, 0x79, 0x6b, 0x5a, 0x82, 0x50, 0x75, 0x98, 0xa5, 0x5e, 0x66, + 0x37, 0x71, 0x64, 0x8a, 0x36, 0xd4, 0x68, 0xe8, 0xc6, 0x93, 0xc4, 0x70, 0xe1, 0xbd, 0x56, 0xe1, + 0x2d, 0xae, 0xda, 0x85, 0x59, 0xf6, 0x92, 0x69, 0x53, 0xef, 0x9b, 0x36, 0xad, 0xe5, 0xa7, 0x01, + 0x5c, 0xbd, 0x1f, 0xbd, 0xab, 0xa4, 0xf7, 0x91, 0x1c, 0x06, 0x7f, 0xf7, 0x77, 0x9c, 0xbb, 0xec, + 0xbb, 0x4c, 0xbf, 0x27, 0x18, 0xf5, 0x4d, 0x50, 0x34, 0xe4, 0xbb, 0x8e, 0xed, 0x23, 0x8e, 0xeb, + 0x3c, 0x34, 0x96, 0x43, 0xcf, 0x43, 0x36, 0x9e, 0x2a, 0x7a, 0x1c, 0xc8, 0xa3, 0x30, 0xdf, 0x6e, + 0xc2, 0x97, 0xde, 0x5d, 0x70, 0x18, 0xf5, 0x4f, 0x55, 0xa8, 0x77, 0xcd, 0xbe, 0xad, 0x5b, 0x1a, + 0xda, 0x53, 0x5e, 0x85, 0x2a, 0xdd, 0x19, 0xb1, 0x80, 0xcc, 0x3b, 0x4b, 0xa7, 0xa3, 0xe9, 0x16, + 0x50, 0x43, 0x7b, 0xd7, 0x9e, 0xd0, 0x18, 0x8d, 0xf2, 0x46, 0xf4, 0xde, 0x6b, 0x8d, 0x9e, 0x94, + 0xb1, 0x65, 0xf2, 0xbf, 0x47, 0x30, 0x61, 0xa3, 0x29, 0x2f, 0x91, 0x03, 0x16, 0xa8, 0x47, 0x3a, + 0x27, 0x56, 0x85, 0x8a, 0x05, 0xa2, 0x0d, 0x16, 0x13, 0x88, 0xd2, 0x60, 0x6a, 0x9d, 0x9c, 0x25, + 0xb1, 0x86, 0xa0, 0x98, 0x9a, 0x1e, 0x39, 0x31, 0x6a, 0x4a, 0x83, 0xa9, 0x77, 0x42, 0xbb, 0x7f, + 0xcb, 0x65, 0x47, 0x9c, 0xc5, 0xd4, 0xd7, 0xc8, 0x30, 0x46, 0x4d, 0x69, 0x30, 0xb5, 0x47, 0xd6, + 0x08, 0x62, 0xf4, 0x61, 0xd4, 0x74, 0x29, 0x61, 0xd4, 0x94, 0x46, 0x79, 0x0b, 0x9a, 0x7d, 0x14, + 0x68, 0x8e, 0x33, 0x58, 0x3a, 0x58, 0x65, 0xf7, 0x5b, 0xf4, 0x79, 0xfb, 0x85, 0x42, 0x3e, 0xab, + 0x29, 0x02, 0xca, 0x31, 0xc3, 0x47, 0xf9, 0x34, 0x3c, 0xed, 0xd8, 0x18, 0xb5, 0xa9, 0x7b, 0x81, + 0xd9, 0x33, 0x5d, 0xdd, 0x0e, 0x96, 0x1d, 0xdb, 0x26, 0xeb, 0x99, 0x86, 0xf6, 0xd8, 0x03, 0xf8, + 0x17, 0x0b, 0x27, 0xda, 0x18, 0x46, 0x7d, 0xed, 0x09, 0x6d, 0x38, 0x7b, 0xe5, 0x8b, 0x12, 0xcc, + 0x67, 0x46, 0xac, 0x98, 0x7e, 0x8f, 0x97, 0x81, 0x3e, 0x9e, 0x7f, 0x69, 0x7c, 0x19, 0x52, 0x0c, + 0xae, 0x3d, 0xa1, 0x8d, 0x9c, 0x84, 0x59, 0xf9, 0xa6, 0xb3, 0x8b, 0xec, 0xa5, 0x03, 0x3c, 0x76, + 0x6d, 0x85, 0xdc, 0xa5, 0x8d, 0xb0, 0xb2, 0x40, 0x90, 0x58, 0x59, 0x40, 0x2f, 0xd5, 0x61, 0xc2, + 0xd5, 0x0f, 0x2c, 0x47, 0x37, 0xd4, 0xbf, 0x96, 0x01, 0x22, 0x57, 0xfb, 0xa4, 0x23, 0x16, 0x92, + 0xec, 0xcc, 0xc8, 0x24, 0x73, 0xad, 0x03, 0x2e, 0xcd, 0xba, 0xf9, 0x69, 0xf6, 0x3f, 0xe3, 0xa6, + 0x19, 0xe5, 0x96, 0x4a, 0xb4, 0xcb, 0xa9, 0x44, 0x3b, 0x33, 0x32, 0xd1, 0x98, 0x50, 0x2c, 0xd5, + 0x2e, 0xa7, 0x52, 0xed, 0xcc, 0xc8, 0x54, 0x63, 0xf4, 0x2c, 0xd9, 0x2e, 0xa7, 0x92, 0xed, 0xcc, + 0xc8, 0x64, 0x63, 0xf4, 0x2c, 0xdd, 0x2e, 0xa7, 0xd2, 0xed, 0xcc, 0xc8, 0x74, 0x63, 0xf4, 0x2c, + 0xe1, 0xde, 0x29, 0x4c, 0xb8, 0x85, 0xfb, 0x48, 0x38, 0xca, 0x33, 0x9b, 0x72, 0xef, 0xe4, 0x04, + 0x5a, 0x6d, 0x34, 0xf7, 0x54, 0xa0, 0x25, 0xdc, 0x0b, 0x43, 0xed, 0xf3, 0x25, 0x98, 0x26, 0xee, + 0xa6, 0xab, 0xb2, 0xbd, 0xed, 0x64, 0x5f, 0xe1, 0x4a, 0x39, 0xaf, 0x70, 0x95, 0x0b, 0x30, 0x4b, + 0x11, 0x88, 0xbb, 0x05, 0xa5, 0x0b, 0x7d, 0xf6, 0x03, 0xb9, 0xf7, 0x0d, 0xfd, 0xc0, 0x19, 0xac, + 0xe8, 0x81, 0x1e, 0xed, 0x30, 0x12, 0x0c, 0x7f, 0x2b, 0x5f, 0xce, 0xfc, 0x58, 0xc5, 0xa3, 0xfa, + 0x57, 0xd8, 0x6a, 0x4e, 0x20, 0x4c, 0x11, 0x98, 0x03, 0xe4, 0x84, 0x01, 0x5b, 0xa4, 0x22, 0x90, + 0x3e, 0x9d, 0x34, 0x4c, 0x9d, 0xdc, 0x65, 0xb3, 0x77, 0x85, 0x31, 0x82, 0xac, 0xab, 0xc9, 0xdd, + 0x3c, 0xfb, 0x31, 0x49, 0x82, 0x19, 0xe3, 0x1e, 0x9d, 0xfc, 0x2e, 0xc9, 0x0c, 0x4c, 0xfe, 0xbd, + 0x61, 0x45, 0x13, 0x70, 0xb8, 0x0f, 0xda, 0x0a, 0xfd, 0x83, 0x1b, 0xa6, 0xcd, 0x9b, 0xa7, 0x41, + 0xfb, 0xa0, 0xec, 0x17, 0xf5, 0xcf, 0x12, 0x1c, 0xe3, 0xea, 0x4e, 0x07, 0x05, 0x3a, 0xb1, 0x8b, + 0xf0, 0x6a, 0x5c, 0xba, 0xbf, 0x57, 0xe3, 0x9b, 0x30, 0xd3, 0x17, 0xb7, 0xe5, 0xf7, 0xb9, 0xa3, + 0x4e, 0x93, 0x0b, 0x4f, 0xe0, 0x4b, 0xf7, 0xfd, 0x04, 0x5e, 0xfd, 0x92, 0x0c, 0x33, 0xa9, 0x66, + 0x60, 0x68, 0x27, 0xb5, 0x08, 0x60, 0xc6, 0xa1, 0x39, 0xe4, 0xd6, 0x4b, 0x8c, 0x5f, 0x8d, 0x23, + 0xca, 0xbb, 0xf4, 0x2f, 0x1d, 0xfe, 0xd2, 0xff, 0x1a, 0x34, 0xdc, 0xc4, 0x49, 0x43, 0x0e, 0x0d, + 0x72, 0x5c, 0xa9, 0xf1, 0xa4, 0xea, 0x97, 0x25, 0x98, 0xcd, 0x94, 0x6c, 0x72, 0x19, 0x8e, 0x13, + 0x35, 0xbe, 0x0c, 0xc7, 0x00, 0x97, 0x01, 0x72, 0x3a, 0x03, 0x2c, 0x73, 0x9f, 0xff, 0xb1, 0x0e, + 0x03, 0x0b, 0xa2, 0xaf, 0x5c, 0x18, 0x7d, 0x5f, 0x91, 0x61, 0x2e, 0xbf, 0xc1, 0x7a, 0x5c, 0xfd, + 0xf3, 0x55, 0x09, 0x5a, 0x45, 0x6b, 0xe1, 0x03, 0x73, 0x53, 0x92, 0x3f, 0x71, 0xef, 0xfa, 0xb8, + 0xfa, 0xe7, 0x58, 0x94, 0x3e, 0x5c, 0x73, 0xa1, 0xbe, 0x1f, 0xdb, 0x27, 0xee, 0xce, 0x1f, 0x53, + 0xfb, 0x28, 0xe7, 0xa1, 0x49, 0xd5, 0xe4, 0xde, 0xa1, 0xd1, 0xcd, 0x5e, 0x06, 0xaf, 0xbe, 0x1d, + 0xd9, 0x92, 0x6b, 0xb4, 0x8e, 0x2a, 0xc6, 0xd5, 0x9f, 0x4b, 0x91, 0x4f, 0xe2, 0x3d, 0xcf, 0x23, + 0xe5, 0x93, 0x24, 0xd2, 0xb8, 0x36, 0x92, 0x8b, 0xb4, 0x78, 0x2f, 0xf6, 0xef, 0x48, 0x1b, 0x1d, + 0x69, 0xb1, 0x2d, 0xb9, 0x96, 0x5a, 0xfd, 0xb6, 0x04, 0x27, 0x0b, 0xf7, 0xa3, 0x43, 0xad, 0xca, + 0x35, 0x8d, 0xb2, 0xd8, 0x34, 0xa6, 0xd4, 0x2b, 0x1d, 0xbe, 0xd0, 0xfc, 0x52, 0x82, 0xa7, 0x86, + 0x34, 0xef, 0x29, 0xcf, 0x4a, 0x87, 0xf1, 0x6c, 0x4a, 0x58, 0xb9, 0xf0, 0x62, 0x7a, 0xa4, 0x2f, + 0x92, 0xf4, 0x2c, 0xf1, 0xe9, 0xa9, 0xfe, 0x56, 0x82, 0x67, 0xc6, 0xd8, 0x89, 0x3f, 0x5c, 0xca, + 0x14, 0x3e, 0xd4, 0x55, 0x7f, 0x27, 0xc1, 0xd9, 0xf1, 0x36, 0xf5, 0x8f, 0x8a, 0x46, 0x3f, 0xe5, + 0x73, 0x20, 0x7d, 0x5a, 0xc0, 0xb9, 0x55, 0x12, 0xaa, 0x2e, 0x9f, 0x1b, 0x72, 0x2a, 0x37, 0x8e, + 0x2c, 0x03, 0xd2, 0xef, 0xf1, 0xcb, 0xd9, 0xf7, 0xf8, 0x1d, 0x2e, 0x45, 0xb2, 0x3b, 0xd0, 0x82, + 0xa5, 0x84, 0x5b, 0x32, 0x64, 0x71, 0xc9, 0xf8, 0x0c, 0x4c, 0xad, 0x20, 0xab, 0xe3, 0xf7, 0xa3, + 0x5f, 0xce, 0x1c, 0xe9, 0x69, 0xeb, 0x18, 0xfa, 0x2c, 0xc1, 0x34, 0x2f, 0xc0, 0x61, 0x7e, 0x19, + 0xa2, 0xde, 0x86, 0x93, 0x5d, 0x14, 0x2c, 0xba, 0xee, 0x92, 0xde, 0xdb, 0xc5, 0x6e, 0xb6, 0x8d, + 0x2e, 0x79, 0xca, 0x3c, 0xec, 0xa7, 0x40, 0x78, 0x67, 0xe9, 0x27, 0x04, 0xec, 0x05, 0xad, 0x80, + 0x53, 0xd7, 0xa1, 0x5d, 0xc4, 0xf8, 0x50, 0x82, 0xfe, 0x4d, 0x86, 0x49, 0xf2, 0x1e, 0xd8, 0xe8, + 0xf8, 0xfd, 0x2e, 0x22, 0xbf, 0x7f, 0xf7, 0xc9, 0xb5, 0x60, 0x62, 0xed, 0x08, 0x4e, 0x6f, 0x8e, + 0xe5, 0xec, 0xe6, 0x78, 0x03, 0x00, 0x45, 0xdc, 0x7c, 0xf6, 0xc8, 0xe6, 0x62, 0x4e, 0xd8, 0xf1, + 0x53, 0x26, 0x00, 0x7b, 0xb3, 0xcd, 0xb1, 0xc0, 0xeb, 0x4b, 0x47, 0xbf, 0xd7, 0xf1, 0xfb, 0xdc, + 0xdf, 0x35, 0xa1, 0x6f, 0x6d, 0x32, 0x78, 0x6c, 0xbf, 0x98, 0x72, 0x3d, 0x1c, 0xb0, 0x75, 0x48, + 0xc0, 0xa5, 0x5e, 0xa0, 0x57, 0xd3, 0x2f, 0xd0, 0xdb, 0x6f, 0xc3, 0x4c, 0x4a, 0x9c, 0x9c, 0x37, + 0xce, 0x97, 0xc4, 0x9f, 0x4b, 0x9c, 0x1a, 0xa6, 0x20, 0xff, 0x02, 0xfa, 0x2f, 0x32, 0xd4, 0xe3, + 0x0f, 0xca, 0x00, 0x4e, 0x78, 0x48, 0x27, 0x7f, 0xc8, 0x24, 0x7e, 0x91, 0xcd, 0xfd, 0xa8, 0xe9, + 0xff, 0x87, 0x71, 0x5d, 0xd0, 0xf2, 0x28, 0xa9, 0xf9, 0xf2, 0xb9, 0x8e, 0xf1, 0x9b, 0x8b, 0xfc, + 0xc7, 0xe0, 0xa5, 0xa2, 0xc7, 0xe0, 0x99, 0xe7, 0xeb, 0xe5, 0xc2, 0xe7, 0xeb, 0xf1, 0xdf, 0xa8, + 0x68, 0x23, 0x68, 0x17, 0x8b, 0x9e, 0x63, 0xea, 0xff, 0x13, 0x4d, 0x9d, 0x77, 0x85, 0x7e, 0x1d, + 0x1d, 0xd0, 0xbf, 0x8e, 0xc2, 0x59, 0x7a, 0x1b, 0x6a, 0x11, 0x9a, 0x1c, 0x15, 0x1d, 0xb8, 0xe8, + 0x7a, 0xcc, 0x38, 0x02, 0xc5, 0xb7, 0xea, 0x75, 0x46, 0x8f, 0x43, 0xce, 0xd2, 0x03, 0xe4, 0x07, + 0x5c, 0xc8, 0x51, 0x23, 0x64, 0xf0, 0x4b, 0x17, 0xde, 0x3a, 0xbf, 0xe1, 0x22, 0xfb, 0xce, 0x5a, + 0x27, 0xf3, 0x17, 0x9a, 0x5e, 0xc9, 0x48, 0xba, 0x55, 0x25, 0xdf, 0x9f, 0xfb, 0x57, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xe9, 0x20, 0x8e, 0xd1, 0x01, 0x4a, 0x00, 0x00, +} From 16fbf7c63e376be8a1e9fa55f46f83dd0fc8cb8a Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Sat, 28 Jan 2023 22:29:52 +0800 Subject: [PATCH 262/313] set revoke message not to count --- internal/api/manage/management_chat.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/internal/api/manage/management_chat.go b/internal/api/manage/management_chat.go index 78e441d82..d1fa502d1 100644 --- a/internal/api/manage/management_chat.go +++ b/internal/api/manage/management_chat.go @@ -38,6 +38,7 @@ func SetOptions(options map[string]bool, value bool) { func newUserSendMsgReq(params *api.ManagementSendMsgReq) *pbChat.SendMsgReq { var newContent string + options := make(map[string]bool, 5) var err error switch params.ContentType { case constant.Text: @@ -57,12 +58,13 @@ func newUserSendMsgReq(params *api.ManagementSendMsgReq) *pbChat.SendMsgReq { case constant.CustomOnlineOnly: fallthrough case constant.AdvancedRevoke: + utils.SetSwitchFromOptions(options, constant.IsUnreadCount, false) newContent = utils.StructToJsonString(params.Content) case constant.Revoke: + utils.SetSwitchFromOptions(options, constant.IsUnreadCount, false) newContent = params.Content["revokeMsgClientID"].(string) default: } - options := make(map[string]bool, 5) if params.IsOnlineOnly { SetOptions(options, false) } From 3cb3b6ba2d9106816262dda73852cf4bf8e73454 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Tue, 31 Jan 2023 10:07:48 +0800 Subject: [PATCH 263/313] group update --- internal/rpc/group/group.go | 3 ++- internal/rpc/msg/group_notification.go | 11 ++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index c96a3d8de..7411588fe 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -1336,7 +1336,8 @@ func (s *groupServer) SetGroupInfo(ctx context.Context, req *pbGroup.SetGroupInf } 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) + chat.GroupInfoSetNotification(req.OperationID, req.OpUserID, req.GroupInfoForSet.GroupID, groupName, notification, + introduction, faceURL, req.GroupInfoForSet.NeedVerification, req.GroupInfoForSet.ApplyMemberFriend, req.GroupInfoForSet.LookMemberInfo) } if req.GroupInfoForSet.Notification != "" { //get group member user id diff --git a/internal/rpc/msg/group_notification.go b/internal/rpc/msg/group_notification.go index 82255b5b0..e1164a7ea 100644 --- a/internal/rpc/msg/group_notification.go +++ b/internal/rpc/msg/group_notification.go @@ -245,12 +245,15 @@ func GroupCreatedNotification(operationID, opUserID, groupID string, initMemberL // notification := "" // introduction := "" // faceURL := "" -func GroupInfoSetNotification(operationID, opUserID, groupID string, groupName, notification, introduction, faceURL string, needVerification *wrapperspb.Int32Value) { +func GroupInfoSetNotification(operationID, opUserID, groupID string, groupName, notification, introduction, faceURL string, needVerification, applyMemberFriend, lookMemberInfo *wrapperspb.Int32Value) { GroupInfoChangedTips := open_im_sdk.GroupInfoSetTips{Group: &open_im_sdk.GroupInfo{}, OpUser: &open_im_sdk.GroupMemberFullInfo{}} if err := setGroupInfo(groupID, GroupInfoChangedTips.Group); err != nil { log.Error(operationID, "setGroupInfo failed ", err.Error(), groupID) return } + GroupInfoChangedTips.Group.NeedVerification = 0 + GroupInfoChangedTips.Group.LookMemberInfo = 0 + GroupInfoChangedTips.Group.ApplyMemberFriend = 0 GroupInfoChangedTips.Group.GroupName = groupName GroupInfoChangedTips.Group.Notification = notification GroupInfoChangedTips.Group.Introduction = introduction @@ -258,6 +261,12 @@ func GroupInfoSetNotification(operationID, opUserID, groupID string, groupName, if needVerification != nil { GroupInfoChangedTips.Group.NeedVerification = needVerification.Value } + if applyMemberFriend != nil { + GroupInfoChangedTips.Group.ApplyMemberFriend = applyMemberFriend.Value + } + if lookMemberInfo != nil { + GroupInfoChangedTips.Group.LookMemberInfo = lookMemberInfo.Value + } if err := setOpUserInfo(opUserID, groupID, GroupInfoChangedTips.OpUser); err != nil { log.Error(operationID, "setOpUserInfo failed ", err.Error(), opUserID, groupID) From a60b584dca30b062585a21c27883c90e3e1ea117 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Wed, 1 Feb 2023 17:33:56 +0800 Subject: [PATCH 264/313] kick group member add kicked notification --- internal/push/logic/push_to_client.go | 11 +++++++++++ internal/rpc/group/group.go | 8 ++++---- internal/rpc/msg/super_group_notification.go | 6 +++++- 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/internal/push/logic/push_to_client.go b/internal/push/logic/push_to_client.go index a096e4eb4..fe7acbc64 100644 --- a/internal/push/logic/push_to_client.go +++ b/internal/push/logic/push_to_client.go @@ -19,6 +19,7 @@ import ( pbRtc "Open_IM/pkg/proto/rtc" "Open_IM/pkg/utils" "context" + "encoding/json" "strings" promePkg "Open_IM/pkg/common/prometheus" @@ -179,6 +180,16 @@ func MsgToSuperGroupUser(pushMsg *pbPush.PushMsgReq) { } pushToUserIDList = userIDList } + if pushMsg.MsgData.ContentType == constant.SuperGroupUpdateNotification { + m := make(map[string]bool) + _ = json.Unmarshal(pushMsg.MsgData.Content, &m) + if value, ok := m["kicked"]; ok { + if value { + pushToUserIDList = append(pushToUserIDList, pushMsg.MsgData.SendID) + } + } + + } grpcCons := getcdv3.GetDefaultGatewayConn4Unique(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), pushMsg.OperationID) diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index 64cddba02..67c0e15d9 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -277,7 +277,7 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupR } go func() { for _, v := range okUserIDList { - chat.SuperGroupNotification(req.OperationID, v, v) + chat.SuperGroupNotification(req.OperationID, v, v, false) } }() } @@ -536,7 +536,7 @@ func (s *groupServer) InviteUserToGroup(ctx context.Context, req *pbGroup.Invite } } for _, v := range req.InvitedUserIDList { - chat.SuperGroupNotification(req.OperationID, v, v) + chat.SuperGroupNotification(req.OperationID, v, v, false) } } @@ -741,7 +741,7 @@ func (s *groupServer) KickGroupMember(ctx context.Context, req *pbGroup.KickGrou } go func() { for _, v := range req.KickedUserIDList { - chat.SuperGroupNotification(req.OperationID, v, v) + chat.SuperGroupNotification(req.OperationID, v, v, true) } }() @@ -1162,7 +1162,7 @@ func (s *groupServer) QuitGroup(ctx context.Context, req *pbGroup.QuitGroupReq) 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) + chat.SuperGroupNotification(req.OperationID, req.OpUserID, req.OpUserID, false) } log.NewInfo(req.OperationID, "rpc QuitGroup return ", pbGroup.QuitGroupResp{CommonResp: &pbGroup.CommonResp{}}) return &pbGroup.QuitGroupResp{CommonResp: &pbGroup.CommonResp{}}, nil diff --git a/internal/rpc/msg/super_group_notification.go b/internal/rpc/msg/super_group_notification.go index f1966a586..aae7c3a22 100644 --- a/internal/rpc/msg/super_group_notification.go +++ b/internal/rpc/msg/super_group_notification.go @@ -9,7 +9,9 @@ import ( //"github.com/golang/protobuf/proto" ) -func SuperGroupNotification(operationID, sendID, recvID string) { +func SuperGroupNotification(operationID, sendID, recvID string, isKicked bool) { + m := make(map[string]bool) + m["kicked"] = isKicked n := &NotificationMsg{ SendID: sendID, RecvID: recvID, @@ -18,6 +20,8 @@ func SuperGroupNotification(operationID, sendID, recvID string) { SessionType: constant.SingleChatType, OperationID: operationID, } + n.Content = utils.StructToJsonBytes(m) + log.NewInfo(operationID, utils.GetSelfFuncName(), string(n.Content)) Notification(n) } From 863c90e8bd05ac1707736573edb00fdf0447a2fd Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Wed, 1 Feb 2023 17:44:34 +0800 Subject: [PATCH 265/313] del msg bug fix --- internal/rpc/msg/del_msg.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/rpc/msg/del_msg.go b/internal/rpc/msg/del_msg.go index 6fce480d3..aa84c98a8 100644 --- a/internal/rpc/msg/del_msg.go +++ b/internal/rpc/msg/del_msg.go @@ -44,7 +44,7 @@ func (rpc *rpcChat) DelSuperGroupMsg(_ context.Context, req *msg.DelSuperGroupMs resp.ErrMsg = err.Error() return resp, nil } - err = db.DB.SetGroupUserMinSeq(req.GroupID, req.UserID, groupMaxSeq+1) + err = db.DB.SetGroupUserMinSeq(req.GroupID, req.UserID, groupMaxSeq) if err != nil { log.NewError(req.OperationID, "SetGroupUserMinSeq false ", req.OpUserID, req.UserID, req.GroupID) resp.ErrCode = constant.ErrDB.ErrCode From 0ae8433436757fa970607cb8699cb05c064da5c4 Mon Sep 17 00:00:00 2001 From: skiffer-git <72860476+skiffer-git@users.noreply.github.com> Date: Thu, 2 Feb 2023 14:57:57 +0800 Subject: [PATCH 266/313] Update README.md --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index dda35d399..5703f5254 100644 --- a/README.md +++ b/README.md @@ -26,8 +26,6 @@ By deployment of the Open-IM-Server on the customer's server, developers can int - Supports multiple protocols ## Community - -- Join Telegram Group : https://t.me/+zSJLPaHBNLZmODI1 - 中文官网访问这里:[Open-IM中文开发文档](https://doc.rentsoft.cn/) ## Quick start From d451c36b2d343a7d33ee5e89be6991af053b7e27 Mon Sep 17 00:00:00 2001 From: skiffer-git <72860476+skiffer-git@users.noreply.github.com> Date: Thu, 2 Feb 2023 17:24:15 +0800 Subject: [PATCH 267/313] Update config.yaml --- config/config.yaml | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/config/config.yaml b/config/config.yaml index 7980eaa6f..54890211f 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -765,18 +765,18 @@ demo: #demo对外服务端口,默认即可,需要开放此端口或做nginx转发 openImDemoPort: [ 10004 ] alismsverify: #阿里云短信配置,在阿里云申请成功后修改以下四项,enable为true则必须修改,阿里云为默认短信验证方式 - accessKeyId: LTAI5tJPkn4HuuePdiLdGqe7 - accessKeySecret: 4n9OJ7ZCVN1U6KeHDAtOyNeVZcjOuV - signName: 托云信息技术 - verificationCodeTemplateCode: SMS_226810164 + accessKeyId: + accessKeySecret: + signName: + verificationCodeTemplateCode: enable: false tencentsms: #腾讯云短信配置,在腾讯云申请成功后,修改以下选项,enable为true则必须修改 - appID: 2400000648 - region: "ap-singapore" - secretID: IKIDra4JPGsFMDwQedMq42lESQBgwwgBQQAe - secretKey: HI6fz4uUotjJdiX6QUIrAE2buxlKdgU2 - signName: "" - verificationCodeTemplateCode: 2902877 + appID: + region: + secretID: + secretKey: + signName: + verificationCodeTemplateCode: enable: true superCode: 666666 #超级验证码,建议修改掉,收不到短信验证码时可以用此替代 needInvitationCode: false @@ -784,11 +784,11 @@ demo: codeTTL: 60 useSuperCode: true mail: #仅支持qq邮箱,具体操作参考 https://service.mail.qq.com/cgi-bin/help?subtype=1&id=28&no=1001256 必须修改 - title: "openIM" - senderMail: "765567899@qq.com" - senderAuthorizationCode: "gxyausfoevlzbfag" - smtpAddr: "smtp.qq.com" - smtpPort: 25 #需开放此端口 出口方向 + title: + senderMail: + senderAuthorizationCode: + smtpAddr: + smtpPort: #需开放此端口 出口方向 testDepartMentID: 001 imAPIURL: http://127.0.0.1:10002 onboardProcess: false # 是否开启注册流程 @@ -820,4 +820,4 @@ prometheus: conversationPrometheusPort: [ 20230 ] cachePrometheusPort: [ 20240 ] realTimeCommPrometheusPort: [ 21300 ] - messageTransferPrometheusPort: [ 21400, 21401, 21402, 21403 ] # 端口数量和 script/path_info.cfg msg_transfer_service_num保持一致 \ No newline at end of file + messageTransferPrometheusPort: [ 21400, 21401, 21402, 21403 ] # 端口数量和 script/path_info.cfg msg_transfer_service_num保持一致 From a01fec538e615093e7e225555af8e288f4c805a8 Mon Sep 17 00:00:00 2001 From: skiffer-git <72860476+skiffer-git@users.noreply.github.com> Date: Thu, 2 Feb 2023 17:30:27 +0800 Subject: [PATCH 268/313] Update config.yaml --- config/config.yaml | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/config/config.yaml b/config/config.yaml index 7980eaa6f..bae9f647d 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -765,18 +765,18 @@ demo: #demo对外服务端口,默认即可,需要开放此端口或做nginx转发 openImDemoPort: [ 10004 ] alismsverify: #阿里云短信配置,在阿里云申请成功后修改以下四项,enable为true则必须修改,阿里云为默认短信验证方式 - accessKeyId: LTAI5tJPkn4HuuePdiLdGqe7 - accessKeySecret: 4n9OJ7ZCVN1U6KeHDAtOyNeVZcjOuV - signName: 托云信息技术 - verificationCodeTemplateCode: SMS_226810164 + accessKeyId: + accessKeySecret: + signName: + verificationCodeTemplateCode: enable: false tencentsms: #腾讯云短信配置,在腾讯云申请成功后,修改以下选项,enable为true则必须修改 - appID: 2400000648 - region: "ap-singapore" - secretID: IKIDra4JPGsFMDwQedMq42lESQBgwwgBQQAe - secretKey: HI6fz4uUotjJdiX6QUIrAE2buxlKdgU2 - signName: "" - verificationCodeTemplateCode: 2902877 + appID: + region: + secretID: + secretKey: + signName: + verificationCodeTemplateCode: enable: true superCode: 666666 #超级验证码,建议修改掉,收不到短信验证码时可以用此替代 needInvitationCode: false @@ -784,11 +784,11 @@ demo: codeTTL: 60 useSuperCode: true mail: #仅支持qq邮箱,具体操作参考 https://service.mail.qq.com/cgi-bin/help?subtype=1&id=28&no=1001256 必须修改 - title: "openIM" - senderMail: "765567899@qq.com" - senderAuthorizationCode: "gxyausfoevlzbfag" - smtpAddr: "smtp.qq.com" - smtpPort: 25 #需开放此端口 出口方向 + title: + senderMail: + senderAuthorizationCode: + smtpAddr: + smtpPort: #需开放此端口 出口方向 testDepartMentID: 001 imAPIURL: http://127.0.0.1:10002 onboardProcess: false # 是否开启注册流程 @@ -820,4 +820,4 @@ prometheus: conversationPrometheusPort: [ 20230 ] cachePrometheusPort: [ 20240 ] realTimeCommPrometheusPort: [ 21300 ] - messageTransferPrometheusPort: [ 21400, 21401, 21402, 21403 ] # 端口数量和 script/path_info.cfg msg_transfer_service_num保持一致 \ No newline at end of file + messageTransferPrometheusPort: [ 21400, 21401, 21402, 21403 ] # 端口数量和 script/path_info.cfg msg_transfer_service_num保持一致 From 5767a0fadc2c33f55cacfefb24a86da647818d3a Mon Sep 17 00:00:00 2001 From: skiffer-git <72860476+skiffer-git@users.noreply.github.com> Date: Thu, 2 Feb 2023 17:33:09 +0800 Subject: [PATCH 269/313] Update config.yaml --- config/config.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/config/config.yaml b/config/config.yaml index 54890211f..f6d0fbb38 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -115,11 +115,11 @@ sdk: #对象存储服务,以下配置二选一,目前支持两种,腾讯云和minio,二者配置好其中一种即可(如果使用minio参考https://doc.rentsoft.cn/#/qa/minio搭建minio服务器) credential: #腾讯cos,发送图片、视频、文件时需要,请自行申请后替换,必须修改 tencent: - appID: 1302656840 - region: ap-chengdu - bucket: echat-1302656840 - secretID: AKIDGNYVChzIQinu7QEgtNp0hnNgqcV8vZTC1 - secretKey: kz15vW83qM6dBUWIq681eBZA0c0vlIbe1 + appID: + region: + bucket: + secretID: + secretKey: minio: #MinIO 发送图片、视频、文件时需要,请自行申请后替换,必须修改。 客户端初始化InitSDK,中 object_storage参数为minio bucket: openim # 存储内容桶 appBucket: app # 存储app的桶 From 982506c2fb1251f4eb6c7f9fec01cac0b349570e Mon Sep 17 00:00:00 2001 From: skiffer-git <72860476+skiffer-git@users.noreply.github.com> Date: Thu, 2 Feb 2023 17:38:47 +0800 Subject: [PATCH 270/313] Update config.yaml --- config/config.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/config/config.yaml b/config/config.yaml index bae9f647d..d36f7e3cb 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -115,11 +115,11 @@ sdk: #对象存储服务,以下配置二选一,目前支持两种,腾讯云和minio,二者配置好其中一种即可(如果使用minio参考https://doc.rentsoft.cn/#/qa/minio搭建minio服务器) credential: #腾讯cos,发送图片、视频、文件时需要,请自行申请后替换,必须修改 tencent: - appID: 1302656840 - region: ap-chengdu - bucket: echat-1302656840 - secretID: AKIDGNYVChzIQinu7QEgtNp0hnNgqcV8vZTC1 - secretKey: kz15vW83qM6dBUWIq681eBZA0c0vlIbe1 + appID: + region: + bucket: + secretID: + secretKey: minio: #MinIO 发送图片、视频、文件时需要,请自行申请后替换,必须修改。 客户端初始化InitSDK,中 object_storage参数为minio bucket: openim # 存储内容桶 appBucket: app # 存储app的桶 From 386a99edbdd49e17b2f1334047fb31a9ebf2fee6 Mon Sep 17 00:00:00 2001 From: skiffer-git <72860476+skiffer-git@users.noreply.github.com> Date: Thu, 2 Feb 2023 17:47:38 +0800 Subject: [PATCH 271/313] Update config.yaml --- config/config.yaml | 48 +++++++++++++++++++++++----------------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/config/config.yaml b/config/config.yaml index f6d0fbb38..b93574e18 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -132,24 +132,24 @@ credential: #腾讯cos,发送图片、视频、文件时需要,请自行申 storageTime: 50 #文件在minio中保存的时间 isDistributedMod: false # 是否分布式多硬盘部署 默认docker-compose中为false ali: # ali oss - regionID: "oss-cn-beijing" + regionID: accessKeyID: "" accessKeySecret: "" - stsEndpoint: "sts.cn-beijing.aliyun.com" - ossEndpoint: "oss-cn-beijing.aliyuncs.com" - bucket: "bucket1" - finalHost: "http://bucket1.oss-cn-beijing.aliyuncs.com" + stsEndpoint: + ossEndpoint: + bucket: + finalHost: stsDurationSeconds: 3600 OssRoleArn: "acs:ram::xxx:role/xxx" aws: - accessKeyID: 1 #AssumeRole用户关联的accessKeyID - accessKeySecret: 2 #AssumeRole用户关联的accessKeySecrect - region: ap-southeast-1 #分区 - bucket: ouyang #桶 - finalHost: ouyang.s3.ap-southeast-1.amazonaws.com #对外Host - roleArn: arn:aws:iam::192209831083:role/AWS_S3_FOR_OUYANG #RoleArn - externalId: AssumeRoleExtend #角色扩展Id - roleSessionName: Required-AWS-ID-OPENIM #角色SESSION名称 + accessKeyID: #AssumeRole用户关联的accessKeyID + accessKeySecret: #AssumeRole用户关联的accessKeySecrect + region: #分区 + bucket: #桶 + finalHost: #对外Host + roleArn: #RoleArn + externalId: #角色扩展Id + roleSessionName: #角色SESSION名称 rpcport: #rpc服务端口 默认即可 @@ -216,17 +216,17 @@ longconnsvr: push: tpns: #腾讯推送,暂未测试 暂不要使用 ios: - accessID: 1600018281 - secretKey: 3cd68a77a95b89e5089a1aca523f318f + accessID: + secretKey: android: accessID: 111 secretKey: 111 enable: false # true or false (bool) jpns: #极光推送 在极光后台申请后,修改以下四项,必须修改 - appKey: cf47465a368f24c659608e7e - masterSecret: 02204efe3f3832947a236ee5 - pushUrl: "https://api.jpush.cn/v3/push" - pushIntent: "intent:#Intent;component=io.openim.app.enterprisechat/io.openim.app.enterprisechat.MainActivity;end" + appKey: + masterSecret: + pushUrl: + pushIntent: enable: false # true or false (bool) getui: #个推推送 pushUrl: @@ -237,13 +237,13 @@ push: channelID: "" channelName: "" fcm: #firebase cloud message 消息推送 - serviceAccount: "openim-5c6c0-firebase-adminsdk-ppwol-8765884a78.json" #帐号文件,此处需要改修配置,并且这个文件放在 config目录下 + serviceAccount: #帐号文件,此处需要改修配置,并且这个文件放在 config目录下 enable: false mob: #袤博推送 - appKey: "3377f689a25" #帐号文件,此处需要改修配置,并且这个文件放在 config目录下 - pushUrl: "https://api.push.mob.com/v3/push/createPush" - scheme: "dianzhijiaunilinks://dianzhijia.com?page=rent" - appSecret: "77b4e20e94db3a776b87d8693be23e" + appKey: #帐号文件,此处需要改修配置,并且这个文件放在 config目录下 + pushUrl: + scheme: + appSecret: enable: false From 4f7eead38c59a3767bf59b876975f7cbe1825185 Mon Sep 17 00:00:00 2001 From: skiffer-git <72860476+skiffer-git@users.noreply.github.com> Date: Thu, 2 Feb 2023 18:04:08 +0800 Subject: [PATCH 272/313] Update config.yaml --- config/config.yaml | 60 +++++++++++++++++++++++----------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/config/config.yaml b/config/config.yaml index d36f7e3cb..f525d4c96 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -132,24 +132,24 @@ credential: #腾讯cos,发送图片、视频、文件时需要,请自行申 storageTime: 50 #文件在minio中保存的时间 isDistributedMod: false # 是否分布式多硬盘部署 默认docker-compose中为false ali: # ali oss - regionID: "oss-cn-beijing" - accessKeyID: "" - accessKeySecret: "" - stsEndpoint: "sts.cn-beijing.aliyun.com" - ossEndpoint: "oss-cn-beijing.aliyuncs.com" - bucket: "bucket1" - finalHost: "http://bucket1.oss-cn-beijing.aliyuncs.com" - stsDurationSeconds: 3600 - OssRoleArn: "acs:ram::xxx:role/xxx" + regionID: + accessKeyID: + accessKeySecret: + stsEndpoint: + ossEndpoint: + bucket: + finalHost: + stsDurationSeconds: + OssRoleArn: aws: - accessKeyID: 1 #AssumeRole用户关联的accessKeyID - accessKeySecret: 2 #AssumeRole用户关联的accessKeySecrect - region: ap-southeast-1 #分区 - bucket: ouyang #桶 - finalHost: ouyang.s3.ap-southeast-1.amazonaws.com #对外Host - roleArn: arn:aws:iam::192209831083:role/AWS_S3_FOR_OUYANG #RoleArn - externalId: AssumeRoleExtend #角色扩展Id - roleSessionName: Required-AWS-ID-OPENIM #角色SESSION名称 + accessKeyID: #AssumeRole用户关联的accessKeyID + accessKeySecret: #AssumeRole用户关联的accessKeySecrect + region: #分区 + bucket: #桶 + finalHost: #对外Host + roleArn: #RoleArn + externalId: #角色扩展Id + roleSessionName: #角色SESSION名称 rpcport: #rpc服务端口 默认即可 @@ -216,17 +216,17 @@ longconnsvr: push: tpns: #腾讯推送,暂未测试 暂不要使用 ios: - accessID: 1600018281 - secretKey: 3cd68a77a95b89e5089a1aca523f318f + accessID: + secretKey: android: - accessID: 111 - secretKey: 111 + accessID: + secretKey: enable: false # true or false (bool) jpns: #极光推送 在极光后台申请后,修改以下四项,必须修改 - appKey: cf47465a368f24c659608e7e - masterSecret: 02204efe3f3832947a236ee5 - pushUrl: "https://api.jpush.cn/v3/push" - pushIntent: "intent:#Intent;component=io.openim.app.enterprisechat/io.openim.app.enterprisechat.MainActivity;end" + appKey: + masterSecret: + pushUrl: + pushIntent: enable: false # true or false (bool) getui: #个推推送 pushUrl: @@ -237,13 +237,13 @@ push: channelID: "" channelName: "" fcm: #firebase cloud message 消息推送 - serviceAccount: "openim-5c6c0-firebase-adminsdk-ppwol-8765884a78.json" #帐号文件,此处需要改修配置,并且这个文件放在 config目录下 + serviceAccount: #帐号文件,此处需要改修配置,并且这个文件放在 config目录下 enable: false mob: #袤博推送 - appKey: "3377f689a25" #帐号文件,此处需要改修配置,并且这个文件放在 config目录下 - pushUrl: "https://api.push.mob.com/v3/push/createPush" - scheme: "dianzhijiaunilinks://dianzhijia.com?page=rent" - appSecret: "77b4e20e94db3a776b87d8693be23e" + appKey: #帐号文件,此处需要改修配置,并且这个文件放在 config目录下 + pushUrl: + scheme: + appSecret: enable: false From cc4ae8648e9d4cdb705d0d934bb36836ae8e4e97 Mon Sep 17 00:00:00 2001 From: skiffer-git <72860476+skiffer-git@users.noreply.github.com> Date: Fri, 3 Feb 2023 09:55:38 +0800 Subject: [PATCH 273/313] Update README.md --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 9f9e09ebc..d5b31c1d2 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,6 @@ By deployment of the Open-IM-Server on the customer's server, developers can int ## Community -- Join Slack Community : https://join.slack.com/t/openimcommunity/shared_invite/zt-1jo5m1wm9-ym2qj0LUU5UbO68L6Z1zQg - 中文官网访问这里:[Open-IM中文开发文档](https://doc.rentsoft.cn/) ## Quick start From c80b625977e32fde561536710b305117058424eb Mon Sep 17 00:00:00 2001 From: skiffer-git <72860476+skiffer-git@users.noreply.github.com> Date: Fri, 3 Feb 2023 13:52:39 +0800 Subject: [PATCH 274/313] Update config.example.yaml --- deploy/config.example.yaml | 44 +++++++++++++++++++------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/deploy/config.example.yaml b/deploy/config.example.yaml index 08d8858e4..7d30668e9 100644 --- a/deploy/config.example.yaml +++ b/deploy/config.example.yaml @@ -79,11 +79,11 @@ cmsapi: credential: tencent: - appID: 1302656840 - region: ap-chengdu - bucket: echat-1302656840 - secretID: AKIDGNYVChzIQinu7QEgtNp0hnNgqcV8vZTC - secretKey: kz15vW83qM6dBUWIq681eBZA0c0vlIbe + appID: + region: + bucket: + secretID: + secretKey: rpcport: @@ -131,16 +131,16 @@ longconnsvr: push: tpns: ios: - accessID: 1600018281 - secretKey: 3cd68a77a95b89e5089a1aca523f318f + accessID: + secretKey: android: - accessID: 111 - secretKey: 111 + accessID: + secretKey: jpns: - appKey: cf47465a368f24c659608e7e - masterSecret: 02204efe3f3832947a236ee5 - pushUrl: "https://api.jpush.cn/v3/push" - pushIntent: "intent:#Intent;component=io.openim.app.enterprisechat/io.openim.app.enterprisechat.MainActivity;end" + appKey: + masterSecret: + pushUrl: + pushIntent: manager: appManagerUid: ["openIM123456","openIM654321"] secrets: ["openIM1","openIM2"] @@ -168,16 +168,16 @@ demoswitch: true demo: openImDemoPort: [ 42233 ] alismsverify: - accessKeyId: LTAI5tJPkn4HuuePdiLdGqe71 - accessKeySecret: 4n9OJ7ZCVN1U6KeHDAtOyNeVZcjOuV1 - signName: OpenIM Corporation - verificationCodeTemplateCode: SMS_2268101641 + accessKeyId: + accessKeySecret: + signName: + verificationCodeTemplateCode: superCode: 666666 mail: - title: "openIM" - senderMail: "1765567899@qq.com" - senderAuthorizationCode: "1gxyausfoevlzbfag" - smtpAddr: "smtp.qq.com" - smtpPort: 25 + title: + senderMail: + senderAuthorizationCode: + smtpAddr: + smtpPort: From 6ee90b60c3bd341e9d49e0d952d96caa0743d238 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Wed, 8 Feb 2023 10:21:59 +0800 Subject: [PATCH 275/313] remove super group add kicked user notification --- cmd/open_im_api/main.go | 2 ++ internal/push/logic/push_to_client.go | 11 ----------- internal/rpc/group/group.go | 8 ++++---- internal/rpc/msg/super_group_notification.go | 5 +---- 4 files changed, 7 insertions(+), 19 deletions(-) diff --git a/cmd/open_im_api/main.go b/cmd/open_im_api/main.go index c99094c83..71d47edc0 100644 --- a/cmd/open_im_api/main.go +++ b/cmd/open_im_api/main.go @@ -175,8 +175,10 @@ func main() { conversationGroup.POST("/get_all_conversations", conversation.GetAllConversations) conversationGroup.POST("/get_conversation", conversation.GetConversation) conversationGroup.POST("/get_conversations", conversation.GetConversations) + //deprecated conversationGroup.POST("/set_conversation", conversation.SetConversation) conversationGroup.POST("/batch_set_conversation", conversation.BatchSetConversations) + //deprecated conversationGroup.POST("/set_recv_msg_opt", conversation.SetRecvMsgOpt) conversationGroup.POST("/modify_conversation_field", conversation.ModifyConversationField) } diff --git a/internal/push/logic/push_to_client.go b/internal/push/logic/push_to_client.go index b73ffbc8b..5b7324908 100644 --- a/internal/push/logic/push_to_client.go +++ b/internal/push/logic/push_to_client.go @@ -19,7 +19,6 @@ import ( pbRtc "Open_IM/pkg/proto/rtc" "Open_IM/pkg/utils" "context" - "encoding/json" "strings" promePkg "Open_IM/pkg/common/prometheus" @@ -180,16 +179,6 @@ func MsgToSuperGroupUser(pushMsg *pbPush.PushMsgReq) { } pushToUserIDList = userIDList } - if pushMsg.MsgData.ContentType == constant.SuperGroupUpdateNotification { - m := make(map[string]bool) - _ = json.Unmarshal(pushMsg.MsgData.Content, &m) - if value, ok := m["kicked"]; ok { - if value { - pushToUserIDList = append(pushToUserIDList, pushMsg.MsgData.SendID) - } - } - - } grpcCons := getcdv3.GetDefaultGatewayConn4Unique(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), pushMsg.OperationID) diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index b8cebac15..7411588fe 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -278,7 +278,7 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupR } go func() { for _, v := range okUserIDList { - chat.SuperGroupNotification(req.OperationID, v, v, false) + chat.SuperGroupNotification(req.OperationID, v, v) } }() } @@ -556,7 +556,7 @@ func (s *groupServer) InviteUserToGroup(ctx context.Context, req *pbGroup.Invite } } for _, v := range req.InvitedUserIDList { - chat.SuperGroupNotification(req.OperationID, v, v, false) + chat.SuperGroupNotification(req.OperationID, v, v) } } @@ -788,7 +788,7 @@ func (s *groupServer) KickGroupMember(ctx context.Context, req *pbGroup.KickGrou } go func() { for _, v := range req.KickedUserIDList { - chat.SuperGroupNotification(req.OperationID, v, v, true) + chat.SuperGroupNotification(req.OperationID, v, v) } }() @@ -1224,7 +1224,7 @@ func (s *groupServer) QuitGroup(ctx context.Context, req *pbGroup.QuitGroupReq) 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, false) + chat.SuperGroupNotification(req.OperationID, req.OpUserID, req.OpUserID) } log.NewInfo(req.OperationID, "rpc QuitGroup return ", pbGroup.QuitGroupResp{CommonResp: &pbGroup.CommonResp{}}) return &pbGroup.QuitGroupResp{CommonResp: &pbGroup.CommonResp{}}, nil diff --git a/internal/rpc/msg/super_group_notification.go b/internal/rpc/msg/super_group_notification.go index aae7c3a22..76044c8e9 100644 --- a/internal/rpc/msg/super_group_notification.go +++ b/internal/rpc/msg/super_group_notification.go @@ -9,9 +9,7 @@ import ( //"github.com/golang/protobuf/proto" ) -func SuperGroupNotification(operationID, sendID, recvID string, isKicked bool) { - m := make(map[string]bool) - m["kicked"] = isKicked +func SuperGroupNotification(operationID, sendID, recvID string) { n := &NotificationMsg{ SendID: sendID, RecvID: recvID, @@ -20,7 +18,6 @@ func SuperGroupNotification(operationID, sendID, recvID string, isKicked bool) { SessionType: constant.SingleChatType, OperationID: operationID, } - n.Content = utils.StructToJsonBytes(m) log.NewInfo(operationID, utils.GetSelfFuncName(), string(n.Content)) Notification(n) From 16cf98213ce04b2a72057596500c8f877343481d Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Thu, 9 Feb 2023 15:54:59 +0800 Subject: [PATCH 276/313] extend msg update --- cmd/Open-IM-SDK-Core | 2 +- internal/api/msg/extend_msg.go | 4 +- internal/rpc/msg/extend_msg.go | 14 +- internal/rpc/msg/extend_msg.notification.go | 27 +- pkg/common/token_verify/jwt_token.go | 10 + pkg/proto/msg/msg.pb.go | 369 +++++++++++--------- pkg/proto/msg/msg.proto | 45 +-- 7 files changed, 256 insertions(+), 215 deletions(-) diff --git a/cmd/Open-IM-SDK-Core b/cmd/Open-IM-SDK-Core index e7bf4b2a2..e731cb86e 160000 --- a/cmd/Open-IM-SDK-Core +++ b/cmd/Open-IM-SDK-Core @@ -1 +1 @@ -Subproject commit e7bf4b2a2066e8836dccd908d11b4d37c1c6a4ce +Subproject commit e731cb86ec9314a0b30b4f8331d53854c2c9d858 diff --git a/internal/api/msg/extend_msg.go b/internal/api/msg/extend_msg.go index d1ea61b7d..fecf8d4b3 100644 --- a/internal/api/msg/extend_msg.go +++ b/internal/api/msg/extend_msg.go @@ -33,7 +33,7 @@ func SetMessageReactionExtensions(c *gin.Context) { } var ok bool var errInfo string - ok, reqPb.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, reqPb.OpUserID, errInfo, reqPb.OpUserIDPlatformID = token_verify.GetUserIDAndPlatformIDFromToken(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) @@ -129,7 +129,7 @@ func AddMessageReactionExtensions(c *gin.Context) { } var ok bool var errInfo string - ok, reqPb.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, reqPb.OpUserID, errInfo, reqPb.OpUserIDPlatformID = token_verify.GetUserIDAndPlatformIDFromToken(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) diff --git a/internal/rpc/msg/extend_msg.go b/internal/rpc/msg/extend_msg.go index dcbbf1be2..d262efab5 100644 --- a/internal/rpc/msg/extend_msg.go +++ b/internal/rpc/msg/extend_msg.go @@ -41,7 +41,7 @@ func (rpc *rpcChat) SetMessageReactionExtensions(ctx context.Context, req *msg.S } rResp.MsgFirstModifyTime = callbackResp.MsgFirstModifyTime rResp.Result = callbackResp.ResultReactionExtensionList - ExtendMessageUpdatedNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, isHistory, false) + ExtendMessageUpdatedNotification(req.OperationID, req.OpUserID, req.SourceID, req.OpUserIDPlatformID, req.SessionType, req, &rResp, isHistory, false) return &rResp, nil } for _, v := range callbackResp.ResultReactionExtensionList { @@ -187,12 +187,12 @@ func (rpc *rpcChat) SetMessageReactionExtensions(ctx context.Context, req *msg.S } if !isExists { if !req.IsReact { - ExtendMessageUpdatedNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, true, true) + ExtendMessageUpdatedNotification(req.OperationID, req.OpUserID, req.SourceID, req.OpUserIDPlatformID, req.SessionType, req, &rResp, true, true) } else { - ExtendMessageUpdatedNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, false, false) + ExtendMessageUpdatedNotification(req.OperationID, req.OpUserID, req.SourceID, req.OpUserIDPlatformID, req.SessionType, req, &rResp, false, false) } } else { - ExtendMessageUpdatedNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, false, true) + ExtendMessageUpdatedNotification(req.OperationID, req.OpUserID, req.SourceID, req.OpUserIDPlatformID, req.SessionType, req, &rResp, false, true) } log.Debug(req.OperationID, utils.GetSelfFuncName(), "rpc return is:", rResp.String()) return &rResp, nil @@ -323,7 +323,7 @@ func (rpc *rpcChat) AddMessageReactionExtensions(ctx context.Context, req *msg.A rResp.MsgFirstModifyTime = callbackResp.MsgFirstModifyTime rResp.Result = callbackResp.ResultReactionExtensionList rResp.IsReact = callbackResp.IsReact - ExtendMessageAddedNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, isHistory, false) + ExtendMessageAddedNotification(req.OperationID, req.OpUserID, req.SourceID, req.OpUserIDPlatformID, req.SessionType, req, &rResp, isHistory, false) log.Debug(req.OperationID, utils.GetSelfFuncName(), "rpc return is:", resp.String()) return &rResp, nil } @@ -347,7 +347,7 @@ func (rpc *rpcChat) DeleteMessageReactionExtensions(ctx context.Context, req *ms //if ExternalExtension if req.IsExternalExtensions { rResp.Result = callbackResp.ResultReactionExtensionList - ExtendMessageDeleteNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, false, false) + ExtendMessageDeleteNotification(req.OperationID, req.OpUserID, req.SourceID, req.OpUserIDPlatformID, req.SessionType, req, &rResp, false, false) return &rResp, nil } @@ -471,7 +471,7 @@ func (rpc *rpcChat) DeleteMessageReactionExtensions(ctx context.Context, req *ms } } - ExtendMessageDeleteNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, false, isExists) + ExtendMessageDeleteNotification(req.OperationID, req.OpUserID, req.SourceID, req.OpUserIDPlatformID, 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 dd8699624..6f9e93529 100644 --- a/internal/rpc/msg/extend_msg.notification.go +++ b/internal/rpc/msg/extend_msg.notification.go @@ -13,7 +13,7 @@ import ( "strings" ) -func ExtendMessageUpdatedNotification(operationID, sendID string, sourceID string, sessionType int32, +func ExtendMessageUpdatedNotification(operationID, sendID string, sourceID string, senderPlatformID, sessionType int32, req *msg.SetMessageReactionExtensionsReq, resp *msg.SetMessageReactionExtensionsResp, isHistory bool, isReactionFromCache bool) { var m base_info.ReactionMessageModifierNotification m.SourceID = req.SourceID @@ -35,9 +35,9 @@ 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, isReactionFromCache) + messageReactionSender(operationID, sendID, sourceID, senderPlatformID, sessionType, constant.ReactionMessageModifier, utils.StructToJsonString(m), isHistory, isReactionFromCache) } -func ExtendMessageAddedNotification(operationID, sendID string, sourceID string, sessionType int32, +func ExtendMessageAddedNotification(operationID, sendID string, sourceID string, senderPlatformID, sessionType int32, req *msg.AddMessageReactionExtensionsReq, resp *msg.AddMessageReactionExtensionsResp, isHistory bool, isReactionFromCache bool) { var m base_info.ReactionMessageModifierNotification m.SourceID = req.SourceID @@ -59,9 +59,9 @@ func ExtendMessageAddedNotification(operationID, sendID string, sourceID string, m.IsReact = resp.IsReact m.IsExternalExtensions = req.IsExternalExtensions m.MsgFirstModifyTime = resp.MsgFirstModifyTime - messageReactionSender(operationID, sendID, sourceID, sessionType, constant.ReactionMessageModifier, utils.StructToJsonString(m), isHistory, isReactionFromCache) + messageReactionSender(operationID, sendID, sourceID, senderPlatformID, sessionType, constant.ReactionMessageModifier, utils.StructToJsonString(m), isHistory, isReactionFromCache) } -func ExtendMessageDeleteNotification(operationID, sendID string, sourceID string, sessionType int32, +func ExtendMessageDeleteNotification(operationID, sendID string, sourceID string, senderPlatformID, sessionType int32, req *msg.DeleteMessageListReactionExtensionsReq, resp *msg.DeleteMessageListReactionExtensionsResp, isHistory bool, isReactionFromCache bool) { var m base_info.ReactionMessageDeleteNotification m.SourceID = req.SourceID @@ -81,9 +81,9 @@ 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, isReactionFromCache) + messageReactionSender(operationID, sendID, sourceID, senderPlatformID, sessionType, constant.ReactionMessageDeleter, utils.StructToJsonString(m), isHistory, isReactionFromCache) } -func messageReactionSender(operationID, sendID string, sourceID string, sessionType, contentType int32, content string, isHistory bool, isReactionFromCache bool) { +func messageReactionSender(operationID, sendID string, sourceID string, senderPlatformID, 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) @@ -97,12 +97,13 @@ func messageReactionSender(operationID, sendID string, sourceID string, sessionT 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), + SendID: sendID, + SenderPlatformID: senderPlatformID, + ClientMsgID: utils.GetMsgID(sendID), + SessionType: sessionType, + MsgFrom: constant.SysMsgType, + ContentType: contentType, + Content: []byte(content), // ForceList: params.ForceList, CreateTime: utils.GetCurrentTimestampByMill(), Options: options, diff --git a/pkg/common/token_verify/jwt_token.go b/pkg/common/token_verify/jwt_token.go index 5c3c1e07a..6e69c4474 100644 --- a/pkg/common/token_verify/jwt_token.go +++ b/pkg/common/token_verify/jwt_token.go @@ -159,6 +159,16 @@ func GetUserIDFromToken(token string, operationID string) (bool, string, string) return true, claims.UID, "" } +func GetUserIDAndPlatformIDFromToken(token string, operationID string) (bool, string, string, int32) { + claims, err := ParseToken(token, operationID) + if err != nil { + log.Error(operationID, "ParseToken failed, ", err.Error(), token) + return false, "", err.Error(), 0 + } + log.Debug(operationID, "token claims.ExpiresAt.Second() ", claims.ExpiresAt.Unix()) + return true, claims.UID, "", int32(constant.PlatformNameToID(claims.Platform)) +} + func GetUserIDFromTokenExpireTime(token string, operationID string) (bool, string, string, int64) { claims, err := ParseToken(token, operationID) if err != nil { diff --git a/pkg/proto/msg/msg.pb.go b/pkg/proto/msg/msg.pb.go index 8aafb5462..9c744211a 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_bafb742f07ab638a, []int{0} + return fileDescriptor_msg_96239333e69eba2c, []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_bafb742f07ab638a, []int{1} + return fileDescriptor_msg_96239333e69eba2c, []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_bafb742f07ab638a, []int{2} + return fileDescriptor_msg_96239333e69eba2c, []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_bafb742f07ab638a, []int{3} + return fileDescriptor_msg_96239333e69eba2c, []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_bafb742f07ab638a, []int{4} + return fileDescriptor_msg_96239333e69eba2c, []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_bafb742f07ab638a, []int{5} + return fileDescriptor_msg_96239333e69eba2c, []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_bafb742f07ab638a, []int{6} + return fileDescriptor_msg_96239333e69eba2c, []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_bafb742f07ab638a, []int{7} + return fileDescriptor_msg_96239333e69eba2c, []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_bafb742f07ab638a, []int{8} + return fileDescriptor_msg_96239333e69eba2c, []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_bafb742f07ab638a, []int{9} + return fileDescriptor_msg_96239333e69eba2c, []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_bafb742f07ab638a, []int{10} + return fileDescriptor_msg_96239333e69eba2c, []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_bafb742f07ab638a, []int{11} + return fileDescriptor_msg_96239333e69eba2c, []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_bafb742f07ab638a, []int{12} + return fileDescriptor_msg_96239333e69eba2c, []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_bafb742f07ab638a, []int{13} + return fileDescriptor_msg_96239333e69eba2c, []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_bafb742f07ab638a, []int{14} + return fileDescriptor_msg_96239333e69eba2c, []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_bafb742f07ab638a, []int{15} + return fileDescriptor_msg_96239333e69eba2c, []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_bafb742f07ab638a, []int{16} + return fileDescriptor_msg_96239333e69eba2c, []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_bafb742f07ab638a, []int{17} + return fileDescriptor_msg_96239333e69eba2c, []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_bafb742f07ab638a, []int{18} + return fileDescriptor_msg_96239333e69eba2c, []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_bafb742f07ab638a, []int{19} + return fileDescriptor_msg_96239333e69eba2c, []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_bafb742f07ab638a, []int{20} + return fileDescriptor_msg_96239333e69eba2c, []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_bafb742f07ab638a, []int{21} + return fileDescriptor_msg_96239333e69eba2c, []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_bafb742f07ab638a, []int{22} + return fileDescriptor_msg_96239333e69eba2c, []int{22} } func (m *ModifyMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyMessageReactionExtensionsReq.Unmarshal(m, b) @@ -1331,14 +1331,15 @@ 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"` + OpUserIDPlatformID int32 `protobuf:"varint,4,opt,name=opUserIDPlatformID" json:"opUserIDPlatformID,omitempty"` + SessionType int32 `protobuf:"varint,5,opt,name=sessionType" json:"sessionType,omitempty"` + ReactionExtensionList map[string]*sdk_ws.KeyValue `protobuf:"bytes,6,rep,name=reactionExtensionList" json:"reactionExtensionList,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + ClientMsgID string `protobuf:"bytes,7,opt,name=clientMsgID" json:"clientMsgID,omitempty"` + Ex *wrapperspb.StringValue `protobuf:"bytes,8,opt,name=ex" json:"ex,omitempty"` + AttachedInfo *wrapperspb.StringValue `protobuf:"bytes,9,opt,name=attachedInfo" json:"attachedInfo,omitempty"` + IsReact bool `protobuf:"varint,10,opt,name=isReact" json:"isReact,omitempty"` + IsExternalExtensions bool `protobuf:"varint,11,opt,name=isExternalExtensions" json:"isExternalExtensions,omitempty"` + MsgFirstModifyTime int64 `protobuf:"varint,12,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -1348,7 +1349,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_bafb742f07ab638a, []int{23} + return fileDescriptor_msg_96239333e69eba2c, []int{23} } func (m *SetMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMessageReactionExtensionsReq.Unmarshal(m, b) @@ -1389,6 +1390,13 @@ func (m *SetMessageReactionExtensionsReq) GetOpUserID() string { return "" } +func (m *SetMessageReactionExtensionsReq) GetOpUserIDPlatformID() int32 { + if m != nil { + return m.OpUserIDPlatformID + } + return 0 +} + func (m *SetMessageReactionExtensionsReq) GetSessionType() int32 { if m != nil { return m.SessionType @@ -1461,7 +1469,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_bafb742f07ab638a, []int{24} + return fileDescriptor_msg_96239333e69eba2c, []int{24} } func (m *SetMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMessageReactionExtensionsResp.Unmarshal(m, b) @@ -1527,14 +1535,15 @@ type AddMessageReactionExtensionsReq 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"` + OpUserIDPlatformID int32 `protobuf:"varint,4,opt,name=opUserIDPlatformID" json:"opUserIDPlatformID,omitempty"` + SessionType int32 `protobuf:"varint,5,opt,name=sessionType" json:"sessionType,omitempty"` + ReactionExtensionList map[string]*sdk_ws.KeyValue `protobuf:"bytes,6,rep,name=reactionExtensionList" json:"reactionExtensionList,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + ClientMsgID string `protobuf:"bytes,7,opt,name=clientMsgID" json:"clientMsgID,omitempty"` + Ex *wrapperspb.StringValue `protobuf:"bytes,8,opt,name=ex" json:"ex,omitempty"` + AttachedInfo *wrapperspb.StringValue `protobuf:"bytes,9,opt,name=attachedInfo" json:"attachedInfo,omitempty"` + IsReact bool `protobuf:"varint,10,opt,name=isReact" json:"isReact,omitempty"` + IsExternalExtensions bool `protobuf:"varint,11,opt,name=isExternalExtensions" json:"isExternalExtensions,omitempty"` + MsgFirstModifyTime int64 `protobuf:"varint,12,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -1544,7 +1553,7 @@ func (m *AddMessageReactionExtensionsReq) Reset() { *m = AddMessageReact func (m *AddMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*AddMessageReactionExtensionsReq) ProtoMessage() {} func (*AddMessageReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_bafb742f07ab638a, []int{25} + return fileDescriptor_msg_96239333e69eba2c, []int{25} } func (m *AddMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AddMessageReactionExtensionsReq.Unmarshal(m, b) @@ -1585,6 +1594,13 @@ func (m *AddMessageReactionExtensionsReq) GetOpUserID() string { return "" } +func (m *AddMessageReactionExtensionsReq) GetOpUserIDPlatformID() int32 { + if m != nil { + return m.OpUserIDPlatformID + } + return 0 +} + func (m *AddMessageReactionExtensionsReq) GetSessionType() int32 { if m != nil { return m.SessionType @@ -1657,7 +1673,7 @@ func (m *AddMessageReactionExtensionsResp) Reset() { *m = AddMessageReac func (m *AddMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*AddMessageReactionExtensionsResp) ProtoMessage() {} func (*AddMessageReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_bafb742f07ab638a, []int{26} + return fileDescriptor_msg_96239333e69eba2c, []int{26} } func (m *AddMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AddMessageReactionExtensionsResp.Unmarshal(m, b) @@ -1736,7 +1752,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_bafb742f07ab638a, []int{27} + return fileDescriptor_msg_96239333e69eba2c, []int{27} } func (m *GetMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMessageListReactionExtensionsReq.Unmarshal(m, b) @@ -1821,7 +1837,7 @@ func (m *GetMessageListReactionExtensionsReq_MessageReactionKey) String() string } func (*GetMessageListReactionExtensionsReq_MessageReactionKey) ProtoMessage() {} func (*GetMessageListReactionExtensionsReq_MessageReactionKey) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_bafb742f07ab638a, []int{27, 0} + return fileDescriptor_msg_96239333e69eba2c, []int{27, 0} } func (m *GetMessageListReactionExtensionsReq_MessageReactionKey) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMessageListReactionExtensionsReq_MessageReactionKey.Unmarshal(m, b) @@ -1868,7 +1884,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_bafb742f07ab638a, []int{28} + return fileDescriptor_msg_96239333e69eba2c, []int{28} } func (m *GetMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMessageListReactionExtensionsResp.Unmarshal(m, b) @@ -1923,7 +1939,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_bafb742f07ab638a, []int{29} + return fileDescriptor_msg_96239333e69eba2c, []int{29} } func (m *SingleMessageExtensionResult) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SingleMessageExtensionResult.Unmarshal(m, b) @@ -1985,7 +2001,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_bafb742f07ab638a, []int{30} + return fileDescriptor_msg_96239333e69eba2c, []int{30} } func (m *ModifyMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyMessageReactionExtensionsResp.Unmarshal(m, b) @@ -2037,11 +2053,12 @@ 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"` - ClientMsgID string `protobuf:"bytes,5,opt,name=clientMsgID" json:"clientMsgID,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"` + OpUserIDPlatformID int32 `protobuf:"varint,4,opt,name=opUserIDPlatformID" json:"opUserIDPlatformID,omitempty"` + SessionType int32 `protobuf:"varint,5,opt,name=sessionType" json:"sessionType,omitempty"` + ClientMsgID string `protobuf:"bytes,6,opt,name=clientMsgID" json:"clientMsgID,omitempty"` + IsExternalExtensions bool `protobuf:"varint,7,opt,name=isExternalExtensions" json:"isExternalExtensions,omitempty"` + MsgFirstModifyTime int64 `protobuf:"varint,8,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"` + ReactionExtensionList []*sdk_ws.KeyValue `protobuf:"bytes,9,rep,name=reactionExtensionList" json:"reactionExtensionList,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -2053,7 +2070,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_bafb742f07ab638a, []int{31} + return fileDescriptor_msg_96239333e69eba2c, []int{31} } func (m *DeleteMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteMessageListReactionExtensionsReq.Unmarshal(m, b) @@ -2094,6 +2111,13 @@ func (m *DeleteMessageListReactionExtensionsReq) GetSourceID() string { return "" } +func (m *DeleteMessageListReactionExtensionsReq) GetOpUserIDPlatformID() int32 { + if m != nil { + return m.OpUserIDPlatformID + } + return 0 +} + func (m *DeleteMessageListReactionExtensionsReq) GetSessionType() int32 { if m != nil { return m.SessionType @@ -2144,7 +2168,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_bafb742f07ab638a, []int{32} + return fileDescriptor_msg_96239333e69eba2c, []int{32} } func (m *DeleteMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteMessageListReactionExtensionsResp.Unmarshal(m, b) @@ -2198,7 +2222,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_bafb742f07ab638a, []int{33} + return fileDescriptor_msg_96239333e69eba2c, []int{33} } func (m *ExtendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExtendMsgResp.Unmarshal(m, b) @@ -2254,7 +2278,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_bafb742f07ab638a, []int{34} + return fileDescriptor_msg_96239333e69eba2c, []int{34} } func (m *ExtendMsg) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExtendMsg.Unmarshal(m, b) @@ -2322,7 +2346,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_bafb742f07ab638a, []int{35} + return fileDescriptor_msg_96239333e69eba2c, []int{35} } func (m *KeyValueResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_KeyValueResp.Unmarshal(m, b) @@ -2376,7 +2400,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_bafb742f07ab638a, []int{36} + return fileDescriptor_msg_96239333e69eba2c, []int{36} } func (m *MsgDataToModifyByMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToModifyByMQ.Unmarshal(m, b) @@ -2999,116 +3023,119 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ Metadata: "msg/msg.proto", } -func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_bafb742f07ab638a) } - -var fileDescriptor_msg_bafb742f07ab638a = []byte{ - // 1720 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5a, 0x4f, 0x6f, 0xdb, 0x46, - 0x16, 0x07, 0x49, 0x4b, 0xb6, 0x9f, 0xec, 0xd8, 0x19, 0x3b, 0x5e, 0x85, 0x31, 0x10, 0x85, 0xf9, - 0xe7, 0x6c, 0x12, 0x19, 0xeb, 0x5d, 0x20, 0x8b, 0xcd, 0x02, 0x9b, 0x38, 0xf2, 0x2a, 0x46, 0x56, - 0xeb, 0x98, 0x72, 0x5b, 0xa0, 0x3d, 0x38, 0x8c, 0x34, 0x66, 0x08, 0x4b, 0x24, 0xcd, 0xa1, 0x62, - 0xab, 0xff, 0x0e, 0x05, 0xda, 0x4b, 0x91, 0x43, 0x8f, 0x3d, 0xf5, 0xd6, 0x5b, 0x3f, 0x44, 0x3f, - 0x40, 0xd1, 0x4b, 0xbf, 0x45, 0x3f, 0x43, 0x81, 0x62, 0x66, 0x28, 0x69, 0xf8, 0x4f, 0xa4, 0xe5, - 0x22, 0x48, 0x8a, 0xdc, 0xf4, 0x66, 0xde, 0xbc, 0x79, 0xbf, 0xf7, 0x7e, 0xf3, 0x87, 0xf3, 0x04, - 0xf3, 0x5d, 0x62, 0xae, 0x77, 0x89, 0x59, 0x75, 0x3d, 0xc7, 0x77, 0x90, 0xd2, 0x25, 0xa6, 0xba, - 0xb6, 0xe3, 0x62, 0xfb, 0xee, 0x76, 0xe3, 0x6e, 0x13, 0x7b, 0x2f, 0xb1, 0xb7, 0xee, 0x1e, 0x9a, - 0xeb, 0xac, 0x7b, 0x9d, 0xb4, 0x0f, 0xf7, 0x8f, 0xc9, 0xfa, 0x31, 0xe1, 0xea, 0x6a, 0x35, 0x53, - 0xd3, 0x33, 0x5c, 0x17, 0x7b, 0x81, 0xbe, 0xf6, 0x09, 0x94, 0x1a, 0xc4, 0xac, 0x19, 0xbe, 0xb1, - 0xe7, 0x34, 0x76, 0xd1, 0x32, 0x14, 0x7c, 0xe7, 0x10, 0xdb, 0x65, 0xa9, 0x22, 0xad, 0xcd, 0xea, - 0x5c, 0x40, 0x15, 0x28, 0x39, 0x2e, 0xf6, 0x0c, 0xdf, 0x72, 0xec, 0xed, 0x5a, 0x59, 0x66, 0x7d, - 0x62, 0x13, 0xfa, 0x07, 0x4c, 0x77, 0xb9, 0x99, 0xb2, 0x52, 0x91, 0xd6, 0x4a, 0x1b, 0x6a, 0x95, - 0x30, 0x07, 0xf6, 0x0d, 0xd7, 0xda, 0x77, 0x0d, 0xcf, 0xe8, 0x92, 0x6a, 0x30, 0x91, 0x3e, 0x50, - 0xd5, 0xb0, 0x30, 0x79, 0x6d, 0x53, 0x34, 0x22, 0xe5, 0x36, 0x92, 0xed, 0x9c, 0xf6, 0x4a, 0x82, - 0x85, 0xa7, 0x3d, 0xf2, 0x42, 0x04, 0x5a, 0x81, 0xd2, 0x8e, 0x30, 0x8a, 0xc3, 0x15, 0x9b, 0x44, - 0x6f, 0xe4, 0xfc, 0xde, 0x68, 0x30, 0xe7, 0xf6, 0xc8, 0x8b, 0x3d, 0xe7, 0x3d, 0x82, 0xbd, 0xed, - 0x1a, 0x8b, 0xc6, 0xac, 0x1e, 0x6a, 0xd3, 0xbe, 0x97, 0x00, 0x8d, 0x7c, 0x71, 0x6c, 0xd3, 0xd9, - 0xec, 0x37, 0x76, 0x51, 0x19, 0xa6, 0x3b, 0x06, 0xf1, 0x9b, 0xf8, 0x88, 0xb9, 0x33, 0xa5, 0x0f, - 0x44, 0x74, 0x0d, 0xe6, 0x0d, 0xd3, 0xf4, 0xb0, 0x19, 0x06, 0x19, 0x6e, 0x44, 0x1b, 0x50, 0xea, - 0x62, 0x42, 0x0c, 0x13, 0xff, 0xcf, 0x22, 0x7e, 0x59, 0xa9, 0x28, 0x6b, 0xa5, 0x8d, 0xc5, 0x2a, - 0xa5, 0x92, 0x80, 0x5c, 0x17, 0x95, 0xd0, 0x2a, 0xcc, 0xfa, 0x9e, 0x65, 0x9a, 0xcc, 0xd7, 0x29, - 0x66, 0x75, 0xd4, 0xa0, 0xfd, 0x1f, 0x50, 0x1d, 0xfb, 0x0d, 0xe3, 0xe4, 0xa1, 0xdd, 0x6e, 0x58, - 0x76, 0x13, 0x1f, 0xe9, 0xf8, 0x08, 0xad, 0x40, 0x31, 0x00, 0xc7, 0xa3, 0x16, 0x48, 0xd1, 0x90, - 0xca, 0xb1, 0x90, 0x6a, 0xc7, 0xb0, 0x14, 0xb3, 0x47, 0x5c, 0x0a, 0x7c, 0xcb, 0xf3, 0x1e, 0x39, - 0x6d, 0xcc, 0x2c, 0x16, 0xf4, 0x81, 0x48, 0xa7, 0xda, 0xf2, 0xbc, 0x06, 0x31, 0x03, 0x6b, 0x81, - 0x44, 0xdb, 0x1b, 0xc6, 0x09, 0x8d, 0x14, 0x8d, 0xef, 0xbc, 0x1e, 0x48, 0xac, 0x9d, 0xd9, 0x65, - 0x58, 0x68, 0x3b, 0x93, 0xb4, 0x8f, 0x01, 0x9a, 0xd8, 0x6e, 0x37, 0x88, 0x49, 0x01, 0xbc, 0x5e, - 0x92, 0x7f, 0x27, 0x41, 0x69, 0x38, 0x39, 0x47, 0x8b, 0xc3, 0x68, 0xf1, 0x08, 0x2d, 0x0e, 0xa1, - 0xe5, 0x12, 0xf5, 0x8c, 0xcf, 0xd3, 0x20, 0xe6, 0x30, 0x4d, 0x62, 0x13, 0xd5, 0x68, 0x75, 0x2c, - 0x6c, 0xfb, 0x5c, 0xa3, 0xc0, 0x35, 0x84, 0x26, 0xa4, 0xc2, 0x0c, 0xc1, 0x76, 0x7b, 0xcf, 0xea, - 0xe2, 0x72, 0xb1, 0x22, 0xad, 0x29, 0xfa, 0x50, 0xd6, 0x5a, 0x50, 0x7a, 0xd4, 0xc1, 0x86, 0x17, - 0x84, 0x67, 0x05, 0x8a, 0xbd, 0x50, 0x7e, 0xb9, 0x44, 0x4d, 0x38, 0x6e, 0x90, 0x79, 0xee, 0xe0, - 0x50, 0x8e, 0x06, 0x4f, 0x89, 0x2f, 0xc2, 0x07, 0x30, 0x37, 0x9a, 0x64, 0x92, 0x30, 0x68, 0xdf, - 0x4a, 0xb0, 0xd0, 0xc4, 0x14, 0x4f, 0x88, 0x8b, 0x89, 0xbe, 0x96, 0x61, 0xda, 0xf4, 0x9c, 0x9e, - 0x3b, 0x74, 0x75, 0x20, 0xd2, 0x11, 0x5d, 0x4e, 0x91, 0x80, 0x3a, 0x5c, 0x8a, 0x22, 0x98, 0x8a, - 0xa7, 0x5f, 0xc4, 0x5f, 0x08, 0xe3, 0xd7, 0x6a, 0xb0, 0x18, 0x76, 0x6d, 0x22, 0x84, 0x3b, 0xb0, - 0xd4, 0xc4, 0x7e, 0x40, 0x96, 0xa6, 0x6f, 0xf8, 0x3d, 0xa2, 0xc7, 0x5d, 0x93, 0xe2, 0xae, 0xad, - 0x40, 0x91, 0x30, 0x75, 0x66, 0xb0, 0xa0, 0x07, 0x92, 0xf6, 0x18, 0x96, 0xe3, 0x06, 0x27, 0x72, - 0xed, 0x1e, 0x5b, 0xba, 0xa7, 0x77, 0x4d, 0x7b, 0x06, 0xcb, 0xf5, 0x3f, 0xc4, 0x05, 0x01, 0xa4, - 0x12, 0x02, 0xf9, 0xa5, 0x04, 0x4b, 0x35, 0xdc, 0x69, 0xf6, 0x5c, 0xec, 0xd5, 0x69, 0x96, 0x03, - 0x1e, 0x8b, 0xf9, 0x92, 0x22, 0x7c, 0x1d, 0xf1, 0x46, 0x4e, 0xe3, 0x8d, 0x12, 0xe6, 0x4d, 0x26, - 0x3f, 0x68, 0xb0, 0xe3, 0x6e, 0x4c, 0x14, 0xec, 0x16, 0x0f, 0x76, 0x14, 0x50, 0x36, 0x0f, 0x16, - 0x41, 0xa1, 0xcc, 0x96, 0x19, 0xb3, 0xe9, 0xcf, 0x74, 0x40, 0xda, 0xe7, 0x3c, 0x31, 0x67, 0x77, - 0x77, 0xc2, 0x7d, 0xf1, 0x31, 0x3b, 0x5c, 0x3e, 0xf0, 0x2c, 0x1f, 0xd7, 0xac, 0x83, 0x83, 0xc9, - 0x31, 0x6a, 0x9f, 0xb1, 0x70, 0x85, 0x2d, 0xbd, 0x46, 0x20, 0xdf, 0x14, 0x40, 0x6b, 0x38, 0x6d, - 0xeb, 0xa0, 0xdf, 0xe0, 0x27, 0xab, 0x8e, 0x8d, 0x16, 0x75, 0x76, 0xeb, 0xc4, 0xc7, 0x36, 0xb1, - 0x1c, 0x3b, 0xe7, 0x2a, 0xa6, 0x7b, 0xb4, 0xd3, 0xf3, 0x5a, 0x78, 0xb4, 0xc1, 0x0e, 0xe4, 0x10, - 0x99, 0x95, 0xf8, 0xe6, 0x4b, 0x30, 0xa1, 0x13, 0xed, 0xf5, 0x5d, 0xcc, 0xa8, 0x59, 0xd0, 0xc5, - 0x26, 0x74, 0x02, 0x17, 0xbc, 0xa8, 0x53, 0xec, 0x92, 0x50, 0x60, 0x97, 0x84, 0x4d, 0x7e, 0x49, - 0xc8, 0xc4, 0x50, 0xd5, 0x93, 0x8c, 0x6c, 0xd9, 0xbe, 0xd7, 0xd7, 0x93, 0x27, 0x88, 0x9e, 0x4c, - 0xc5, 0xf8, 0xc9, 0x74, 0x07, 0x64, 0x7c, 0x52, 0x9e, 0x66, 0xf1, 0x5e, 0xad, 0x9a, 0x8e, 0x63, - 0x76, 0x30, 0xbf, 0x9c, 0x3e, 0xef, 0x1d, 0x54, 0x9b, 0xbe, 0x67, 0xd9, 0xe6, 0xfb, 0x46, 0xa7, - 0x87, 0x75, 0x19, 0x9f, 0xa0, 0x07, 0x30, 0x67, 0xf8, 0xbe, 0xd1, 0x7a, 0x81, 0xdb, 0xdb, 0xf6, - 0x81, 0x53, 0x9e, 0xc9, 0x31, 0x2e, 0x34, 0x82, 0xd2, 0xc2, 0x22, 0x0c, 0x48, 0x79, 0xb6, 0x22, - 0xad, 0xcd, 0xe8, 0x03, 0x11, 0x6d, 0xc0, 0xb2, 0x45, 0xa8, 0xfb, 0x9e, 0x6d, 0x74, 0x46, 0xc0, - 0xcb, 0xc0, 0xd4, 0x12, 0xfb, 0x50, 0x15, 0x50, 0x97, 0x98, 0xff, 0xb5, 0x3c, 0xe2, 0xf3, 0xf8, - 0xb1, 0x13, 0xb6, 0xc4, 0x4e, 0xd8, 0x84, 0x1e, 0x15, 0x83, 0x9a, 0x1e, 0x44, 0xca, 0xed, 0x43, - 0xdc, 0x0f, 0xb8, 0x41, 0x7f, 0xa2, 0xbf, 0x41, 0xe1, 0x25, 0x05, 0x11, 0xdc, 0x41, 0x2f, 0x25, - 0x10, 0xf2, 0x09, 0xee, 0x73, 0x9c, 0x5c, 0xf3, 0x5f, 0xf2, 0x3f, 0x25, 0xed, 0xeb, 0x02, 0x5c, - 0xa6, 0x07, 0xd2, 0x9b, 0x4a, 0xc8, 0xde, 0x78, 0x42, 0xfe, 0x87, 0x11, 0x32, 0x03, 0xc0, 0x3b, - 0x36, 0xbe, 0x2d, 0x6c, 0xfc, 0x55, 0x82, 0xca, 0xf8, 0x64, 0x4e, 0x7a, 0x2f, 0x16, 0xb3, 0xa9, - 0xc4, 0xb3, 0x99, 0x1c, 0x8f, 0xa9, 0xb4, 0x78, 0x88, 0xd9, 0x28, 0x84, 0xb3, 0x71, 0x0b, 0x8a, - 0x1e, 0x26, 0xbd, 0x8e, 0x5f, 0x2e, 0x32, 0x86, 0x9e, 0x67, 0x0c, 0x1d, 0x82, 0xc5, 0xc4, 0xd5, - 0x03, 0x05, 0xb6, 0xf6, 0x1e, 0xb6, 0xdb, 0x6f, 0xf7, 0xda, 0xcb, 0x00, 0xf0, 0x6e, 0xed, 0xbd, - 0x4d, 0x6b, 0x6f, 0x7c, 0x32, 0xff, 0x4c, 0x6b, 0xef, 0x17, 0x05, 0xae, 0xd6, 0x87, 0x3b, 0x0d, - 0x0d, 0xe7, 0x19, 0xd6, 0x5f, 0xea, 0xd7, 0xae, 0xb8, 0x36, 0x95, 0xc8, 0xda, 0xcc, 0x5e, 0x7f, - 0x69, 0xe4, 0x2a, 0x8c, 0x21, 0x57, 0x05, 0x4a, 0x7e, 0xdf, 0xc5, 0x4f, 0x70, 0x9f, 0xad, 0x54, - 0x1a, 0x87, 0x59, 0x5d, 0x6c, 0x42, 0x04, 0x56, 0xba, 0xe1, 0x1c, 0x0f, 0x94, 0xa7, 0x59, 0xd0, - 0xee, 0xb3, 0xa0, 0xe5, 0x88, 0x4d, 0xb5, 0x11, 0x33, 0xa3, 0xa7, 0x98, 0x56, 0x0f, 0x00, 0xc5, - 0xb5, 0xa3, 0xdc, 0x90, 0xf2, 0x72, 0x43, 0x4e, 0xe3, 0x86, 0xf6, 0x83, 0x04, 0xd7, 0xb2, 0x5d, - 0x9f, 0x88, 0xc8, 0x4d, 0x58, 0x22, 0x96, 0x6d, 0x76, 0xf0, 0x10, 0x08, 0x63, 0x1a, 0x7f, 0x3d, - 0xbb, 0xc2, 0xef, 0x21, 0x62, 0xff, 0x70, 0x42, 0xae, 0xa8, 0x27, 0x8d, 0xd6, 0x7e, 0x92, 0x61, - 0x75, 0xdc, 0xa8, 0x09, 0xfc, 0xf4, 0xd2, 0x76, 0x6d, 0xee, 0xe9, 0xbf, 0x33, 0x3d, 0x3d, 0xfb, - 0x96, 0x3d, 0x15, 0x4b, 0xe4, 0xeb, 0xda, 0xc4, 0x7e, 0x94, 0xe0, 0x6a, 0xe6, 0xe7, 0xc9, 0x84, - 0x9f, 0x7c, 0x25, 0xd2, 0x6b, 0xb5, 0x30, 0x21, 0x42, 0x30, 0x11, 0x0b, 0x26, 0xb3, 0x3d, 0x78, - 0xb6, 0xd3, 0x45, 0x35, 0xb4, 0x01, 0x70, 0x60, 0x58, 0x1d, 0xdc, 0x66, 0x83, 0xa6, 0x52, 0x07, - 0x09, 0x5a, 0xda, 0x6f, 0x32, 0xdc, 0xa8, 0xe1, 0x0e, 0xf6, 0xf1, 0x1b, 0xbd, 0x3b, 0x65, 0x3f, - 0x25, 0xa6, 0xed, 0x5f, 0xc5, 0x53, 0x1f, 0x8e, 0xd3, 0xa9, 0x87, 0xc1, 0x6e, 0x1a, 0xdb, 0x67, - 0x58, 0xac, 0xc7, 0xf2, 0x26, 0x79, 0xa4, 0xf6, 0x95, 0x04, 0x37, 0x73, 0xc5, 0x7f, 0x22, 0x1e, - 0x9d, 0xe2, 0x8c, 0x72, 0x60, 0x3e, 0xc4, 0x12, 0x74, 0x07, 0x66, 0xf1, 0xa0, 0x21, 0xa8, 0x7c, - 0x9c, 0x8b, 0x90, 0x69, 0xa4, 0x20, 0xfa, 0x26, 0xa7, 0xf9, 0xa6, 0x84, 0x9e, 0x93, 0x7e, 0x96, - 0x61, 0x76, 0x68, 0x0a, 0xed, 0xa7, 0x85, 0x56, 0x62, 0x8e, 0xdf, 0x0a, 0xcf, 0x7c, 0xf6, 0x5d, - 0x43, 0xce, 0xbb, 0xfd, 0x2b, 0xa9, 0x6c, 0xd0, 0x22, 0x57, 0x3d, 0xbe, 0x11, 0x85, 0x2f, 0x73, - 0xe7, 0xd8, 0xe5, 0x91, 0xd3, 0x55, 0xc6, 0x27, 0xea, 0x47, 0xa7, 0xdc, 0x99, 0x6e, 0x86, 0x77, - 0xa6, 0x84, 0xfc, 0x09, 0xfb, 0x51, 0x1f, 0xe6, 0xc4, 0x2e, 0x74, 0x0f, 0x66, 0x0e, 0x03, 0x39, - 0x48, 0xe0, 0x58, 0x86, 0x0e, 0x95, 0x27, 0x48, 0xe6, 0x2b, 0x09, 0x96, 0x84, 0xe2, 0x11, 0x8d, - 0x11, 0xab, 0x1e, 0xc5, 0x6a, 0x44, 0x52, 0x8e, 0x1a, 0x91, 0x7c, 0xea, 0x1a, 0x91, 0x12, 0xa9, - 0x11, 0x6d, 0x7c, 0x01, 0xa0, 0x74, 0x89, 0x89, 0x9e, 0xc1, 0x42, 0xa4, 0xb6, 0x83, 0xae, 0x27, - 0xc4, 0x20, 0x5e, 0x4f, 0x52, 0x6f, 0xe4, 0x51, 0x23, 0x2e, 0x72, 0x60, 0xf9, 0x69, 0xaf, 0xd3, - 0x09, 0x56, 0xef, 0x66, 0xbf, 0x89, 0x8f, 0x98, 0x7f, 0x7f, 0x4d, 0x18, 0x9f, 0xa4, 0x48, 0xe7, - 0xba, 0x9d, 0x5b, 0x97, 0xad, 0xcb, 0xe9, 0xe0, 0xdd, 0x1a, 0x2d, 0x04, 0x0f, 0x12, 0x83, 0x1a, - 0x92, 0xba, 0x18, 0x6e, 0x20, 0x2e, 0xda, 0x05, 0xa8, 0xe1, 0x4e, 0x83, 0x98, 0x7c, 0x11, 0x24, - 0x4c, 0x34, 0xea, 0xa6, 0x16, 0xae, 0x64, 0x68, 0x10, 0x17, 0xd5, 0x61, 0x31, 0xfa, 0xa2, 0x8c, - 0xca, 0x6c, 0xe2, 0x84, 0xf7, 0x6e, 0xf5, 0x62, 0x4a, 0x0f, 0x71, 0xd1, 0x3a, 0xcc, 0x0c, 0x8a, - 0x2f, 0x88, 0x7b, 0x2e, 0x14, 0x7c, 0xd4, 0xf3, 0x91, 0x16, 0xe2, 0xa2, 0xfb, 0x30, 0x27, 0xd6, - 0x33, 0xd0, 0xf2, 0xf0, 0x41, 0x46, 0xa8, 0xbe, 0xa8, 0x17, 0x12, 0x5a, 0xb9, 0xdb, 0xd1, 0xaa, - 0x43, 0xe0, 0x76, 0x42, 0x75, 0x23, 0x70, 0x3b, 0xb1, 0x4c, 0x51, 0x87, 0xc5, 0x7a, 0xb2, 0xa1, - 0x7a, 0xaa, 0xa1, 0xfa, 0x18, 0x43, 0x09, 0x81, 0x4c, 0x78, 0x67, 0x17, 0x0c, 0xc5, 0x02, 0x59, - 0x63, 0x2c, 0x17, 0x9f, 0x9a, 0xd1, 0x5f, 0x06, 0xda, 0x91, 0xa7, 0x6c, 0xb5, 0x9c, 0xdc, 0x41, - 0x5c, 0x74, 0x08, 0xab, 0xe3, 0x9e, 0x43, 0xd0, 0xb5, 0x3c, 0xcf, 0x5f, 0xea, 0xf5, 0x1c, 0x5a, - 0xc4, 0x45, 0xc7, 0x50, 0xc9, 0xba, 0x3a, 0xa3, 0xb5, 0xbc, 0x1f, 0x07, 0xea, 0xad, 0x9c, 0x9a, - 0x1c, 0xe5, 0xb8, 0x0f, 0xcf, 0x00, 0x65, 0xc6, 0x43, 0x43, 0x80, 0x32, 0xf3, 0x0b, 0xf6, 0x53, - 0xb8, 0x1c, 0x3a, 0xdc, 0x13, 0xe6, 0xbb, 0x3d, 0x58, 0x1f, 0x39, 0xae, 0x60, 0xea, 0x9d, 0xfc, - 0xca, 0xc4, 0xdd, 0xbc, 0xf4, 0xe1, 0xc5, 0x1d, 0x17, 0xdb, 0xfb, 0xdb, 0x0d, 0xe1, 0x0f, 0x17, - 0x5d, 0x62, 0xde, 0xef, 0x12, 0xf3, 0x79, 0x91, 0x89, 0x7f, 0xff, 0x3d, 0x00, 0x00, 0xff, 0xff, - 0x9c, 0xc6, 0x92, 0x59, 0xd9, 0x21, 0x00, 0x00, +func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_96239333e69eba2c) } + +var fileDescriptor_msg_96239333e69eba2c = []byte{ + // 1761 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5a, 0xcb, 0x6e, 0xdb, 0x46, + 0x17, 0x06, 0x45, 0x4b, 0xb2, 0x8e, 0xec, 0xd8, 0x19, 0x3b, 0xfe, 0x15, 0xc6, 0x40, 0x14, 0xe6, + 0xe6, 0xfc, 0x49, 0x64, 0xfc, 0xfe, 0x0b, 0xa4, 0x68, 0x0a, 0x34, 0x71, 0xe4, 0x2a, 0x46, 0xaa, + 0x3a, 0xa6, 0xdc, 0x16, 0x68, 0x17, 0x0e, 0x23, 0x8d, 0x18, 0xc2, 0x12, 0x49, 0x73, 0xa8, 0xd8, + 0xea, 0x6d, 0x51, 0xa0, 0xdd, 0x65, 0xd1, 0x65, 0x57, 0xdd, 0x75, 0x97, 0x27, 0xe8, 0xaa, 0x0f, + 0x50, 0x74, 0xd3, 0xb7, 0xe8, 0x4b, 0x14, 0x9c, 0x21, 0xa5, 0xe1, 0x4d, 0xa4, 0xe5, 0x20, 0x41, + 0x2f, 0x3b, 0x9d, 0x99, 0x33, 0x67, 0xce, 0x77, 0xce, 0x37, 0x17, 0xce, 0x11, 0xcc, 0xf7, 0x89, + 0xb6, 0xde, 0x27, 0x5a, 0xcd, 0xb2, 0x4d, 0xc7, 0x44, 0x62, 0x9f, 0x68, 0xd2, 0xda, 0x8e, 0x85, + 0x8d, 0xdb, 0xdb, 0xcd, 0xdb, 0x2d, 0x6c, 0x3f, 0xc7, 0xf6, 0xba, 0x75, 0xa0, 0xad, 0xd3, 0xee, + 0x75, 0xd2, 0x39, 0xd8, 0x3f, 0x22, 0xeb, 0x47, 0x84, 0xa9, 0x4b, 0xb5, 0x54, 0x4d, 0x5b, 0xb5, + 0x2c, 0x6c, 0x7b, 0xfa, 0xf2, 0x17, 0x50, 0x6e, 0x12, 0xad, 0xae, 0x3a, 0xea, 0x9e, 0xd9, 0xdc, + 0x45, 0xcb, 0x90, 0x77, 0xcc, 0x03, 0x6c, 0x54, 0x84, 0xaa, 0xb0, 0x56, 0x52, 0x98, 0x80, 0xaa, + 0x50, 0x36, 0x2d, 0x6c, 0xab, 0x8e, 0x6e, 0x1a, 0xdb, 0xf5, 0x4a, 0x8e, 0xf6, 0xf1, 0x4d, 0xe8, + 0x2d, 0x28, 0xf6, 0x99, 0x99, 0x8a, 0x58, 0x15, 0xd6, 0xca, 0x1b, 0x52, 0x8d, 0x50, 0x07, 0xf6, + 0x55, 0x4b, 0xdf, 0xb7, 0x54, 0x5b, 0xed, 0x93, 0x9a, 0x37, 0x91, 0xe2, 0xab, 0xca, 0x98, 0x9b, + 0xbc, 0xbe, 0xc9, 0x1b, 0x11, 0x32, 0x1b, 0x49, 0x77, 0x4e, 0x7e, 0x21, 0xc0, 0xc2, 0xe3, 0x01, + 0x79, 0xc6, 0x03, 0xad, 0x42, 0x79, 0x87, 0x1b, 0xc5, 0xe0, 0xf2, 0x4d, 0xbc, 0x37, 0xb9, 0xec, + 0xde, 0xc8, 0x30, 0x67, 0x0d, 0xc8, 0xb3, 0x3d, 0xf3, 0x23, 0x82, 0xed, 0xed, 0x3a, 0x8d, 0x46, + 0x49, 0x09, 0xb4, 0xc9, 0x3f, 0x09, 0x80, 0xc6, 0xbe, 0x98, 0x86, 0x66, 0x6e, 0x0e, 0x9b, 0xbb, + 0xa8, 0x02, 0xc5, 0x9e, 0x4a, 0x9c, 0x16, 0x3e, 0xa4, 0xee, 0xcc, 0x28, 0xbe, 0x88, 0xae, 0xc0, + 0xbc, 0xaa, 0x69, 0x36, 0xd6, 0x82, 0x20, 0x83, 0x8d, 0x68, 0x03, 0xca, 0x7d, 0x4c, 0x88, 0xaa, + 0xe1, 0x0f, 0x74, 0xe2, 0x54, 0xc4, 0xaa, 0xb8, 0x56, 0xde, 0x58, 0xac, 0xb9, 0x54, 0xe2, 0x90, + 0x2b, 0xbc, 0x12, 0x5a, 0x85, 0x92, 0x63, 0xeb, 0x9a, 0x46, 0x7d, 0x9d, 0xa1, 0x56, 0xc7, 0x0d, + 0xf2, 0x87, 0x80, 0x1a, 0xd8, 0x69, 0xaa, 0xc7, 0xf7, 0x8d, 0x4e, 0x53, 0x37, 0x5a, 0xf8, 0x50, + 0xc1, 0x87, 0x68, 0x05, 0x0a, 0x1e, 0x38, 0x16, 0x35, 0x4f, 0x0a, 0x87, 0x34, 0x17, 0x09, 0xa9, + 0x7c, 0x04, 0x4b, 0x11, 0x7b, 0xc4, 0x72, 0x81, 0x6f, 0xd9, 0xf6, 0x03, 0xb3, 0x83, 0xa9, 0xc5, + 0xbc, 0xe2, 0x8b, 0xee, 0x54, 0x5b, 0xb6, 0xdd, 0x24, 0x9a, 0x67, 0xcd, 0x93, 0xdc, 0xf6, 0xa6, + 0x7a, 0xec, 0x46, 0xca, 0x8d, 0xef, 0xbc, 0xe2, 0x49, 0xb4, 0x9d, 0xda, 0xa5, 0x58, 0xdc, 0x76, + 0x2a, 0xc9, 0x9f, 0x03, 0xb4, 0xb0, 0xd1, 0x69, 0x12, 0xcd, 0x05, 0xf0, 0x7a, 0x49, 0xfe, 0xa3, + 0x00, 0xe5, 0xd1, 0xe4, 0x0c, 0x2d, 0x0e, 0xa2, 0xc5, 0x63, 0xb4, 0x38, 0x80, 0x96, 0x49, 0xae, + 0x67, 0x6c, 0x9e, 0x26, 0xd1, 0x46, 0x69, 0xe2, 0x9b, 0x5c, 0x8d, 0x76, 0x4f, 0xc7, 0x86, 0xc3, + 0x34, 0xf2, 0x4c, 0x83, 0x6b, 0x42, 0x12, 0xcc, 0x12, 0x6c, 0x74, 0xf6, 0xf4, 0x3e, 0xae, 0x14, + 0xaa, 0xc2, 0x9a, 0xa8, 0x8c, 0x64, 0xb9, 0x0d, 0xe5, 0x07, 0x3d, 0xac, 0xda, 0x5e, 0x78, 0x56, + 0xa0, 0x30, 0x08, 0xe4, 0x97, 0x49, 0xae, 0x09, 0xd3, 0xf2, 0x32, 0xcf, 0x1c, 0x1c, 0xc9, 0xe1, + 0xe0, 0x89, 0xd1, 0x45, 0x78, 0x0f, 0xe6, 0xc6, 0x93, 0x4c, 0x13, 0x06, 0xf9, 0x07, 0x01, 0x16, + 0x5a, 0xd8, 0xc5, 0x13, 0xe0, 0x62, 0xac, 0xaf, 0x15, 0x28, 0x6a, 0xb6, 0x39, 0xb0, 0x46, 0xae, + 0xfa, 0xa2, 0x3b, 0xa2, 0xcf, 0x28, 0xe2, 0x51, 0x87, 0x49, 0x61, 0x04, 0x33, 0xd1, 0xf4, 0xf3, + 0xf8, 0xf3, 0x41, 0xfc, 0x72, 0x1d, 0x16, 0x83, 0xae, 0x4d, 0x85, 0x70, 0x07, 0x96, 0x5a, 0xd8, + 0xf1, 0xc8, 0xd2, 0x72, 0x54, 0x67, 0x40, 0x94, 0xa8, 0x6b, 0x42, 0xd4, 0xb5, 0x15, 0x28, 0x10, + 0xaa, 0x4e, 0x0d, 0xe6, 0x15, 0x4f, 0x92, 0x1f, 0xc2, 0x72, 0xd4, 0xe0, 0x54, 0xae, 0xdd, 0xa1, + 0x4b, 0xf7, 0xe4, 0xae, 0xc9, 0x4f, 0x60, 0xb9, 0xf1, 0x4a, 0x5c, 0xe0, 0x40, 0x8a, 0x01, 0x90, + 0xdf, 0x0a, 0xb0, 0x54, 0xc7, 0xbd, 0xd6, 0xc0, 0xc2, 0x76, 0xc3, 0xcd, 0xb2, 0xc7, 0x63, 0x3e, + 0x5f, 0x42, 0x88, 0xaf, 0x63, 0xde, 0xe4, 0x92, 0x78, 0x23, 0x06, 0x79, 0x93, 0xca, 0x0f, 0x37, + 0xd8, 0x51, 0x37, 0xa6, 0x0a, 0x76, 0x9b, 0x05, 0x3b, 0x0c, 0x28, 0x9d, 0x07, 0x8b, 0x20, 0xba, + 0xcc, 0xce, 0x51, 0x66, 0xbb, 0x3f, 0x93, 0x01, 0xc9, 0x5f, 0xb3, 0xc4, 0x9c, 0xde, 0xdd, 0x29, + 0xf7, 0xc5, 0x87, 0xf4, 0x70, 0xf9, 0xc4, 0xd6, 0x1d, 0x5c, 0xd7, 0xbb, 0xdd, 0xe9, 0x31, 0xca, + 0x5f, 0xd1, 0x70, 0x05, 0x2d, 0xbd, 0x46, 0x20, 0xdf, 0xe7, 0x41, 0x6e, 0x9a, 0x1d, 0xbd, 0x3b, + 0x6c, 0xb2, 0x93, 0x55, 0xc1, 0x6a, 0xdb, 0x75, 0x76, 0xeb, 0xd8, 0xc1, 0x06, 0xd1, 0x4d, 0x23, + 0xe3, 0x2a, 0x76, 0xf7, 0x68, 0x73, 0x60, 0xb7, 0xf1, 0x78, 0x83, 0xf5, 0xe5, 0x00, 0x99, 0xc5, + 0xe8, 0xe6, 0x4b, 0x30, 0x71, 0x27, 0xda, 0x1b, 0x5a, 0x98, 0x52, 0x33, 0xaf, 0xf0, 0x4d, 0xe8, + 0x18, 0xce, 0xd9, 0x61, 0xa7, 0xe8, 0x25, 0x21, 0x4f, 0x2f, 0x09, 0x9b, 0xec, 0x92, 0x90, 0x8a, + 0xa1, 0xa6, 0xc4, 0x19, 0xd9, 0x32, 0x1c, 0x7b, 0xa8, 0xc4, 0x4f, 0x10, 0x3e, 0x99, 0x0a, 0xd1, + 0x93, 0xe9, 0x16, 0xe4, 0xf0, 0x71, 0xa5, 0x48, 0xe3, 0xbd, 0x5a, 0xd3, 0x4c, 0x53, 0xeb, 0x61, + 0x76, 0x39, 0x7d, 0x3a, 0xe8, 0xd6, 0x5a, 0x8e, 0xad, 0x1b, 0xda, 0xc7, 0x6a, 0x6f, 0x80, 0x95, + 0x1c, 0x3e, 0x46, 0xf7, 0x60, 0x4e, 0x75, 0x1c, 0xb5, 0xfd, 0x0c, 0x77, 0xb6, 0x8d, 0xae, 0x59, + 0x99, 0xcd, 0x30, 0x2e, 0x30, 0xc2, 0xa5, 0x85, 0x4e, 0x28, 0x90, 0x4a, 0xa9, 0x2a, 0xac, 0xcd, + 0x2a, 0xbe, 0x88, 0x36, 0x60, 0x59, 0x27, 0xae, 0xfb, 0xb6, 0xa1, 0xf6, 0xc6, 0xc0, 0x2b, 0x40, + 0xd5, 0x62, 0xfb, 0x50, 0x0d, 0x50, 0x9f, 0x68, 0xef, 0xeb, 0x36, 0x71, 0x58, 0xfc, 0xe8, 0x09, + 0x5b, 0xa6, 0x27, 0x6c, 0x4c, 0x8f, 0x84, 0x41, 0x4a, 0x0e, 0xa2, 0xcb, 0xed, 0x03, 0x3c, 0xf4, + 0xb8, 0xe1, 0xfe, 0x44, 0xff, 0x83, 0xfc, 0x73, 0x17, 0x84, 0x77, 0x07, 0xbd, 0x10, 0x43, 0xc8, + 0x47, 0x78, 0xc8, 0x70, 0x32, 0xcd, 0x77, 0x72, 0x6f, 0x0b, 0xf2, 0xcf, 0x79, 0xb8, 0xe8, 0x1e, + 0x48, 0x6f, 0x86, 0x90, 0x35, 0x40, 0xfe, 0xef, 0xc7, 0x3d, 0xd5, 0xe9, 0x9a, 0x76, 0xdf, 0xdb, + 0x32, 0xf3, 0x4a, 0x4c, 0x4f, 0x98, 0xc0, 0xf9, 0x28, 0x81, 0x07, 0x49, 0x04, 0x2e, 0x50, 0x02, + 0xbf, 0x47, 0x09, 0x9c, 0x02, 0xf8, 0xf4, 0xec, 0x2d, 0x26, 0xb1, 0x77, 0x76, 0x4a, 0xf6, 0x96, + 0x4e, 0xc3, 0x5e, 0xc8, 0xc6, 0xde, 0xf2, 0x89, 0xd9, 0x3b, 0xf7, 0xa6, 0xd9, 0xfb, 0x87, 0x00, + 0xd5, 0xc9, 0xc9, 0x9c, 0xf6, 0x1e, 0xcd, 0x67, 0x53, 0x8c, 0x66, 0x33, 0x3e, 0x1e, 0x33, 0x49, + 0xf1, 0xe0, 0xb3, 0x91, 0x0f, 0x66, 0xe3, 0x06, 0x14, 0x6c, 0x4c, 0x06, 0x3d, 0x9f, 0xa1, 0x67, + 0x29, 0x43, 0x47, 0x60, 0x31, 0xb1, 0x14, 0x4f, 0x81, 0xae, 0xd5, 0xfb, 0x9d, 0xce, 0x3f, 0x6b, + 0xad, 0xa6, 0x00, 0xfe, 0x77, 0xad, 0xfe, 0x95, 0xd6, 0xea, 0xe4, 0x64, 0xfe, 0x9d, 0xd6, 0xea, + 0xef, 0x22, 0x5c, 0x6e, 0x8c, 0x76, 0x26, 0x37, 0x9c, 0xa7, 0x58, 0xaf, 0x89, 0x5f, 0xd3, 0xfc, + 0x5a, 0x16, 0x43, 0x6b, 0x39, 0xfd, 0xb2, 0x97, 0x44, 0xae, 0xfc, 0x04, 0x72, 0x55, 0xa1, 0xec, + 0x0c, 0x2d, 0xfc, 0x08, 0x0f, 0x47, 0x2b, 0xb5, 0xa4, 0xf0, 0x4d, 0x88, 0xc0, 0x4a, 0x3f, 0x98, + 0x63, 0x5f, 0xb9, 0x48, 0x83, 0x76, 0x97, 0x06, 0x2d, 0x43, 0x6c, 0x6a, 0xcd, 0x88, 0x19, 0x25, + 0xc1, 0xb4, 0xd4, 0x05, 0x14, 0xd5, 0x0e, 0x73, 0x43, 0xc8, 0xca, 0x8d, 0x5c, 0x12, 0x37, 0xe4, + 0x97, 0x02, 0x5c, 0x49, 0x77, 0x7d, 0x2a, 0x22, 0xb7, 0x60, 0x89, 0xe8, 0x86, 0xd6, 0xc3, 0x23, + 0x20, 0x94, 0x69, 0xec, 0x75, 0xee, 0x12, 0xbb, 0xb7, 0xf0, 0xfd, 0xa3, 0x09, 0x99, 0xa2, 0x12, + 0x37, 0x5a, 0xfe, 0x35, 0x07, 0xab, 0x93, 0x46, 0x4d, 0xe1, 0xa7, 0x9d, 0xb4, 0x6b, 0x33, 0x4f, + 0xdf, 0x4d, 0xf5, 0xf4, 0xf4, 0x5b, 0xf6, 0x4c, 0x24, 0x91, 0xaf, 0x6b, 0x13, 0xfb, 0x45, 0x80, + 0xcb, 0xa9, 0x9f, 0x3f, 0x53, 0x7e, 0x52, 0x96, 0xc9, 0xa0, 0xdd, 0xc6, 0x84, 0x70, 0xc1, 0x44, + 0x34, 0x98, 0xd4, 0xb6, 0xff, 0x2c, 0xa8, 0xf0, 0x6a, 0x68, 0x03, 0xa0, 0xab, 0xea, 0x3d, 0xdc, + 0xa1, 0x83, 0x66, 0x12, 0x07, 0x71, 0x5a, 0xf2, 0x4b, 0x11, 0xae, 0xd5, 0x71, 0x0f, 0x3b, 0xf8, + 0x0d, 0xee, 0x4e, 0xaf, 0xfe, 0x36, 0x91, 0xfe, 0x01, 0x99, 0xb4, 0xdf, 0x15, 0x4f, 0x7c, 0x98, + 0xce, 0x26, 0x1e, 0x1e, 0xbb, 0x49, 0xab, 0xa3, 0x44, 0x73, 0x33, 0x91, 0x67, 0xf1, 0x23, 0xe5, + 0xef, 0x04, 0xb8, 0x9e, 0x29, 0x5f, 0x53, 0xf1, 0xee, 0x04, 0x67, 0x9a, 0x09, 0xf3, 0x01, 0x56, + 0xa1, 0x5b, 0x50, 0xc2, 0x7e, 0x83, 0x57, 0x89, 0x39, 0x13, 0x22, 0xdf, 0x58, 0x81, 0xf7, 0x2d, + 0x97, 0xe4, 0x9b, 0x18, 0x78, 0xde, 0xfa, 0x2d, 0x07, 0xa5, 0x91, 0x29, 0xb4, 0x9f, 0x14, 0x5a, + 0x81, 0x3a, 0x7e, 0x23, 0x38, 0xf3, 0xe9, 0x77, 0x99, 0x5c, 0xd6, 0xe3, 0x42, 0x4c, 0x64, 0x83, + 0x1c, 0xba, 0x1a, 0xb2, 0x8d, 0x2b, 0x78, 0xf9, 0x3b, 0x43, 0x2f, 0x9b, 0xec, 0x9d, 0x38, 0x87, + 0x8f, 0xa5, 0xcf, 0x4e, 0xb8, 0x93, 0x5d, 0x0f, 0xee, 0x64, 0x31, 0xf9, 0xe3, 0xf6, 0xaf, 0x21, + 0xcc, 0xf1, 0x5d, 0xe8, 0x0e, 0xcc, 0x1e, 0x78, 0xb2, 0x97, 0xc0, 0x89, 0x0c, 0x1d, 0x29, 0x4f, + 0x91, 0xcc, 0x17, 0x02, 0x2c, 0x71, 0xc5, 0x2c, 0x37, 0x46, 0xb4, 0x9a, 0x15, 0xa9, 0x59, 0x09, + 0x19, 0x6a, 0x56, 0xb9, 0x13, 0xd7, 0xac, 0xc4, 0x50, 0xcd, 0x6a, 0xe3, 0x1b, 0x00, 0xb1, 0x4f, + 0x34, 0xf4, 0x04, 0x16, 0x42, 0xb5, 0x26, 0x74, 0x35, 0x26, 0x06, 0xd1, 0xfa, 0x96, 0x74, 0x2d, + 0x8b, 0x1a, 0xb1, 0x90, 0x09, 0xcb, 0x8f, 0x07, 0xbd, 0x9e, 0xb7, 0x7a, 0x37, 0x87, 0x2d, 0x7c, + 0x48, 0xfd, 0xfb, 0x6f, 0xcc, 0xf8, 0x38, 0x45, 0x77, 0xae, 0x9b, 0x99, 0x75, 0xe9, 0xba, 0x2c, + 0x7a, 0xef, 0xe8, 0x68, 0xc1, 0x7b, 0xf0, 0xf0, 0x6b, 0x5a, 0xd2, 0x62, 0xb0, 0x81, 0x58, 0x68, + 0x17, 0xa0, 0x8e, 0x7b, 0x4d, 0xa2, 0xb1, 0x45, 0x10, 0x33, 0xd1, 0xb8, 0xdb, 0xb5, 0x70, 0x29, + 0x45, 0x83, 0x58, 0xa8, 0x01, 0x8b, 0xe1, 0x17, 0x6e, 0x54, 0xa1, 0x13, 0xc7, 0xbc, 0xbf, 0x4b, + 0xe7, 0x13, 0x7a, 0x88, 0x85, 0xd6, 0x61, 0xd6, 0x2f, 0x06, 0x21, 0xe6, 0x39, 0x57, 0x80, 0x92, + 0xce, 0x86, 0x5a, 0x88, 0x85, 0xee, 0xc2, 0x1c, 0x5f, 0x5f, 0x41, 0xcb, 0xa3, 0x07, 0x1f, 0xae, + 0x1a, 0x24, 0x9d, 0x8b, 0x69, 0x65, 0x6e, 0x87, 0xab, 0x20, 0x9e, 0xdb, 0x31, 0xd5, 0x16, 0xcf, + 0xed, 0xd8, 0xb2, 0x49, 0x03, 0x16, 0x1b, 0xf1, 0x86, 0x1a, 0x89, 0x86, 0x1a, 0x13, 0x0c, 0xc5, + 0x04, 0x32, 0xe6, 0xdd, 0x9f, 0x33, 0x14, 0x09, 0x64, 0x9d, 0xb2, 0x9c, 0x7f, 0xfa, 0x46, 0xff, + 0xf1, 0xb5, 0x43, 0x4f, 0xeb, 0x52, 0x25, 0xbe, 0x83, 0x58, 0xe8, 0x00, 0x56, 0x27, 0x3d, 0xb7, + 0xa0, 0x2b, 0x59, 0x9e, 0xd7, 0xa4, 0xab, 0x19, 0xb4, 0x88, 0x85, 0x8e, 0xa0, 0x9a, 0x76, 0xd5, + 0x46, 0x6b, 0x59, 0x3f, 0x26, 0xa4, 0x1b, 0x19, 0x35, 0x19, 0xca, 0x49, 0x1f, 0xaa, 0x1e, 0xca, + 0x94, 0x87, 0x09, 0x0f, 0x65, 0xea, 0x17, 0xef, 0x97, 0x70, 0x31, 0x70, 0xb8, 0xc7, 0xcc, 0x77, + 0xd3, 0x5f, 0x1f, 0x19, 0xae, 0x6c, 0xd2, 0xad, 0xec, 0xca, 0xc4, 0xda, 0xbc, 0xf0, 0xe9, 0xf9, + 0x1d, 0x0b, 0x1b, 0xfb, 0xdb, 0x4d, 0xee, 0x0f, 0x20, 0x7d, 0xa2, 0xdd, 0xed, 0x13, 0xed, 0x69, + 0x81, 0x8a, 0xff, 0xff, 0x33, 0x00, 0x00, 0xff, 0xff, 0x4d, 0xec, 0xfc, 0x6f, 0x69, 0x22, 0x00, + 0x00, } diff --git a/pkg/proto/msg/msg.proto b/pkg/proto/msg/msg.proto index 901ebb122..5a4e8794d 100644 --- a/pkg/proto/msg/msg.proto +++ b/pkg/proto/msg/msg.proto @@ -171,14 +171,15 @@ 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; + int32 opUserIDPlatformID = 4; + int32 sessionType = 5; + map reactionExtensionList = 6; + string clientMsgID = 7; + google.protobuf.StringValue ex = 8; + google.protobuf.StringValue attachedInfo = 9; + bool isReact = 10; + bool isExternalExtensions = 11; + int64 msgFirstModifyTime = 12; } message SetMessageReactionExtensionsResp { int32 errCode = 1; @@ -192,14 +193,15 @@ message AddMessageReactionExtensionsReq { 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; + int32 opUserIDPlatformID = 4; + int32 sessionType = 5; + map reactionExtensionList = 6; + string clientMsgID = 7; + google.protobuf.StringValue ex = 8; + google.protobuf.StringValue attachedInfo = 9; + bool isReact = 10; + bool isExternalExtensions = 11; + int64 msgFirstModifyTime = 12; } message AddMessageReactionExtensionsResp { int32 errCode = 1; @@ -249,11 +251,12 @@ message DeleteMessageListReactionExtensionsReq { string operationID = 1; string opUserID = 2; string sourceID = 3; - int32 sessionType = 4; - string clientMsgID = 5; - bool isExternalExtensions = 6; - int64 msgFirstModifyTime = 7; - repeated server_api_params.KeyValue reactionExtensionList = 8; + int32 opUserIDPlatformID = 4; + int32 sessionType = 5; + string clientMsgID = 6; + bool isExternalExtensions = 7; + int64 msgFirstModifyTime = 8; + repeated server_api_params.KeyValue reactionExtensionList = 9; } message DeleteMessageListReactionExtensionsResp { From 135c2c36aa91d195dbba42e21f521847b439dac4 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 10 Feb 2023 11:32:02 +0800 Subject: [PATCH 277/313] errcode --- internal/cron_task/clear_msg.go | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/internal/cron_task/clear_msg.go b/internal/cron_task/clear_msg.go index 08ef74cef..8703b519b 100644 --- a/internal/cron_task/clear_msg.go +++ b/internal/cron_task/clear_msg.go @@ -34,9 +34,7 @@ func ResetUserGroupMinSeq(operationID, groupID string, userIDList []string) erro log.NewError(operationID, utils.GetSelfFuncName(), "GetGroupUserMinSeq failed", groupID, userID, err.Error()) continue } - if userMinSeq > uint64(minSeq) { - err = db.DB.SetGroupUserMinSeq(groupID, userID, userMinSeq) - } else { + if userMinSeq < uint64(minSeq) { err = db.DB.SetGroupUserMinSeq(groupID, userID, uint64(minSeq)) } if err != nil { @@ -56,6 +54,19 @@ func DeleteMongoMsgAndResetRedisSeq(operationID, userID string) error { return nil } log.NewDebug(operationID, utils.GetSelfFuncName(), "delMsgIDStruct: ", delStruct, "minSeq", minSeq) + + userCurrentMinSeq, err := db.DB.GetUserMinSeq(userID) + if err != nil && err != goRedis.Nil { + return err + } + userCurrentMaxSeq, err := db.DB.GetUserMaxSeq(userID) + if err != nil && err != goRedis.Nil { + return err + } + if userCurrentMinSeq > userCurrentMaxSeq { + minSeq = uint32(userCurrentMaxSeq) + } + err = db.DB.SetUserMinSeq(userID, minSeq) return utils.Wrap(err, "") } From 061ee3abd28ad79ef32c2595e8677d18b46fa83b Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Fri, 10 Feb 2023 12:31:35 +0800 Subject: [PATCH 278/313] ws pb update --- pkg/proto/sdk_ws/ws.pb.go | 706 +++++++++++++++++++------------------- pkg/proto/sdk_ws/ws.proto | 7 +- 2 files changed, 357 insertions(+), 356 deletions(-) diff --git a/pkg/proto/sdk_ws/ws.pb.go b/pkg/proto/sdk_ws/ws.pb.go index 603738ef8..fcb26feb5 100644 --- a/pkg/proto/sdk_ws/ws.pb.go +++ b/pkg/proto/sdk_ws/ws.pb.go @@ -1,7 +1,7 @@ // 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" +package sdk_ws // import "Open_IM/pkg/proto/sdk_ws" import proto "github.com/golang/protobuf/proto" import fmt "fmt" @@ -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_afc480fe1acbbaee, []int{0} + return fileDescriptor_ws_07eb59b2406a5fbf, []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_afc480fe1acbbaee, []int{1} + return fileDescriptor_ws_07eb59b2406a5fbf, []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_afc480fe1acbbaee, []int{2} + return fileDescriptor_ws_07eb59b2406a5fbf, []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_afc480fe1acbbaee, []int{3} + return fileDescriptor_ws_07eb59b2406a5fbf, []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_afc480fe1acbbaee, []int{4} + return fileDescriptor_ws_07eb59b2406a5fbf, []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_afc480fe1acbbaee, []int{5} + return fileDescriptor_ws_07eb59b2406a5fbf, []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_afc480fe1acbbaee, []int{6} + return fileDescriptor_ws_07eb59b2406a5fbf, []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_afc480fe1acbbaee, []int{7} + return fileDescriptor_ws_07eb59b2406a5fbf, []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_afc480fe1acbbaee, []int{8} + return fileDescriptor_ws_07eb59b2406a5fbf, []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_afc480fe1acbbaee, []int{9} + return fileDescriptor_ws_07eb59b2406a5fbf, []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_afc480fe1acbbaee, []int{10} + return fileDescriptor_ws_07eb59b2406a5fbf, []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_afc480fe1acbbaee, []int{11} + return fileDescriptor_ws_07eb59b2406a5fbf, []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_afc480fe1acbbaee, []int{12} + return fileDescriptor_ws_07eb59b2406a5fbf, []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_afc480fe1acbbaee, []int{13} + return fileDescriptor_ws_07eb59b2406a5fbf, []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_afc480fe1acbbaee, []int{14} + return fileDescriptor_ws_07eb59b2406a5fbf, []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_afc480fe1acbbaee, []int{15} + return fileDescriptor_ws_07eb59b2406a5fbf, []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_afc480fe1acbbaee, []int{16} + return fileDescriptor_ws_07eb59b2406a5fbf, []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_afc480fe1acbbaee, []int{17} + return fileDescriptor_ws_07eb59b2406a5fbf, []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_afc480fe1acbbaee, []int{18} + return fileDescriptor_ws_07eb59b2406a5fbf, []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_afc480fe1acbbaee, []int{19} + return fileDescriptor_ws_07eb59b2406a5fbf, []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_afc480fe1acbbaee, []int{20} + return fileDescriptor_ws_07eb59b2406a5fbf, []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_afc480fe1acbbaee, []int{21} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{21} } func (m *UserSendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserSendMsgResp.Unmarshal(m, b) @@ -1903,9 +1903,9 @@ type MsgData struct { 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"` - IsReact bool `protobuf:"varint,24,opt,name=isReact" json:"isReact,omitempty"` - IsExternalExtensions bool `protobuf:"varint,25,opt,name=isExternalExtensions" json:"isExternalExtensions,omitempty"` - MsgFirstModifyTime int64 `protobuf:"varint,26,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"` + IsReact bool `protobuf:"varint,40,opt,name=isReact" json:"isReact,omitempty"` + IsExternalExtensions bool `protobuf:"varint,41,opt,name=isExternalExtensions" json:"isExternalExtensions,omitempty"` + MsgFirstModifyTime int64 `protobuf:"varint,42,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -1915,7 +1915,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_afc480fe1acbbaee, []int{22} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{22} } func (m *MsgData) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgData.Unmarshal(m, b) @@ -2125,7 +2125,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_afc480fe1acbbaee, []int{23} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{23} } func (m *OfflinePushInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OfflinePushInfo.Unmarshal(m, b) @@ -2193,7 +2193,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_afc480fe1acbbaee, []int{24} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{24} } func (m *TipsComm) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TipsComm.Unmarshal(m, b) @@ -2250,7 +2250,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_afc480fe1acbbaee, []int{25} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{25} } func (m *GroupCreatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupCreatedTips.Unmarshal(m, b) @@ -2319,7 +2319,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_afc480fe1acbbaee, []int{26} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{26} } func (m *GroupInfoSetTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfoSetTips.Unmarshal(m, b) @@ -2374,7 +2374,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_afc480fe1acbbaee, []int{27} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{27} } func (m *JoinGroupApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_JoinGroupApplicationTips.Unmarshal(m, b) @@ -2430,7 +2430,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_afc480fe1acbbaee, []int{28} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{28} } func (m *MemberQuitTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberQuitTips.Unmarshal(m, b) @@ -2486,7 +2486,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_afc480fe1acbbaee, []int{29} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{29} } func (m *GroupApplicationAcceptedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationAcceptedTips.Unmarshal(m, b) @@ -2549,7 +2549,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_afc480fe1acbbaee, []int{30} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{30} } func (m *GroupApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationRejectedTips.Unmarshal(m, b) @@ -2612,7 +2612,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_afc480fe1acbbaee, []int{31} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{31} } func (m *GroupOwnerTransferredTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupOwnerTransferredTips.Unmarshal(m, b) @@ -2675,7 +2675,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_afc480fe1acbbaee, []int{32} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{32} } func (m *MemberKickedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberKickedTips.Unmarshal(m, b) @@ -2738,7 +2738,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_afc480fe1acbbaee, []int{33} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{33} } func (m *MemberInvitedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberInvitedTips.Unmarshal(m, b) @@ -2800,7 +2800,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_afc480fe1acbbaee, []int{34} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{34} } func (m *MemberEnterTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberEnterTips.Unmarshal(m, b) @@ -2854,7 +2854,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_afc480fe1acbbaee, []int{35} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{35} } func (m *GroupDismissedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupDismissedTips.Unmarshal(m, b) @@ -2910,7 +2910,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_afc480fe1acbbaee, []int{36} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{36} } func (m *GroupMemberMutedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMemberMutedTips.Unmarshal(m, b) @@ -2979,7 +2979,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_afc480fe1acbbaee, []int{37} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{37} } func (m *GroupMemberCancelMutedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMemberCancelMutedTips.Unmarshal(m, b) @@ -3040,7 +3040,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_afc480fe1acbbaee, []int{38} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{38} } func (m *GroupMutedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMutedTips.Unmarshal(m, b) @@ -3094,7 +3094,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_afc480fe1acbbaee, []int{39} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{39} } func (m *GroupCancelMutedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupCancelMutedTips.Unmarshal(m, b) @@ -3149,7 +3149,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_afc480fe1acbbaee, []int{40} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{40} } func (m *GroupMemberInfoSetTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMemberInfoSetTips.Unmarshal(m, b) @@ -3209,7 +3209,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_afc480fe1acbbaee, []int{41} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{41} } func (m *OrganizationChangedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OrganizationChangedTips.Unmarshal(m, b) @@ -3256,7 +3256,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_afc480fe1acbbaee, []int{42} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{42} } func (m *FriendApplication) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplication.Unmarshal(m, b) @@ -3309,7 +3309,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_afc480fe1acbbaee, []int{43} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{43} } func (m *FromToUserID) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FromToUserID.Unmarshal(m, b) @@ -3355,7 +3355,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_afc480fe1acbbaee, []int{44} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{44} } func (m *FriendApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationTips.Unmarshal(m, b) @@ -3395,7 +3395,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_afc480fe1acbbaee, []int{45} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{45} } func (m *FriendApplicationApprovedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationApprovedTips.Unmarshal(m, b) @@ -3442,7 +3442,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_afc480fe1acbbaee, []int{46} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{46} } func (m *FriendApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationRejectedTips.Unmarshal(m, b) @@ -3490,7 +3490,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_afc480fe1acbbaee, []int{47} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{47} } func (m *FriendAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendAddedTips.Unmarshal(m, b) @@ -3543,7 +3543,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_afc480fe1acbbaee, []int{48} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{48} } func (m *FriendDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendDeletedTips.Unmarshal(m, b) @@ -3581,7 +3581,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_afc480fe1acbbaee, []int{49} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{49} } func (m *BlackAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackAddedTips.Unmarshal(m, b) @@ -3619,7 +3619,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_afc480fe1acbbaee, []int{50} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{50} } func (m *BlackDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackDeletedTips.Unmarshal(m, b) @@ -3657,7 +3657,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_afc480fe1acbbaee, []int{51} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{51} } func (m *FriendInfoChangedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendInfoChangedTips.Unmarshal(m, b) @@ -3696,7 +3696,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_afc480fe1acbbaee, []int{52} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{52} } func (m *UserInfoUpdatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfoUpdatedTips.Unmarshal(m, b) @@ -3737,7 +3737,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_afc480fe1acbbaee, []int{53} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{53} } func (m *ConversationUpdateTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConversationUpdateTips.Unmarshal(m, b) @@ -3791,7 +3791,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_afc480fe1acbbaee, []int{54} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{54} } func (m *ConversationSetPrivateTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConversationSetPrivateTips.Unmarshal(m, b) @@ -3846,7 +3846,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_afc480fe1acbbaee, []int{55} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{55} } func (m *DeleteMessageTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteMessageTips.Unmarshal(m, b) @@ -3900,7 +3900,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_afc480fe1acbbaee, []int{56} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{56} } func (m *RequestPagination) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RequestPagination.Unmarshal(m, b) @@ -3946,7 +3946,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_afc480fe1acbbaee, []int{57} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{57} } func (m *ResponsePagination) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ResponsePagination.Unmarshal(m, b) @@ -4003,7 +4003,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_afc480fe1acbbaee, []int{58} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{58} } func (m *SignalReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalReq.Unmarshal(m, b) @@ -4392,7 +4392,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_afc480fe1acbbaee, []int{59} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{59} } func (m *SignalResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalResp.Unmarshal(m, b) @@ -4722,7 +4722,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_afc480fe1acbbaee, []int{60} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{60} } func (m *InvitationInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_InvitationInfo.Unmarshal(m, b) @@ -4832,7 +4832,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_afc480fe1acbbaee, []int{61} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{61} } func (m *ParticipantMetaData) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ParticipantMetaData.Unmarshal(m, b) @@ -4887,7 +4887,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_afc480fe1acbbaee, []int{62} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{62} } func (m *SignalInviteReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteReq.Unmarshal(m, b) @@ -4949,7 +4949,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_afc480fe1acbbaee, []int{63} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{63} } func (m *SignalInviteReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteReply.Unmarshal(m, b) @@ -5011,7 +5011,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_afc480fe1acbbaee, []int{64} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{64} } func (m *SignalInviteInGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteInGroupReq.Unmarshal(m, b) @@ -5073,7 +5073,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_afc480fe1acbbaee, []int{65} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{65} } func (m *SignalInviteInGroupReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteInGroupReply.Unmarshal(m, b) @@ -5135,7 +5135,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_afc480fe1acbbaee, []int{66} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{66} } func (m *SignalCancelReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalCancelReq.Unmarshal(m, b) @@ -5193,7 +5193,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_afc480fe1acbbaee, []int{67} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{67} } func (m *SignalCancelReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalCancelReply.Unmarshal(m, b) @@ -5228,7 +5228,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_afc480fe1acbbaee, []int{68} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{68} } func (m *SignalAcceptReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalAcceptReq.Unmarshal(m, b) @@ -5296,7 +5296,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_afc480fe1acbbaee, []int{69} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{69} } func (m *SignalAcceptReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalAcceptReply.Unmarshal(m, b) @@ -5350,7 +5350,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_afc480fe1acbbaee, []int{70} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{70} } func (m *SignalHungUpReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalHungUpReq.Unmarshal(m, b) @@ -5401,7 +5401,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_afc480fe1acbbaee, []int{71} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{71} } func (m *SignalHungUpReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalHungUpReply.Unmarshal(m, b) @@ -5436,7 +5436,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_afc480fe1acbbaee, []int{72} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{72} } func (m *SignalRejectReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalRejectReq.Unmarshal(m, b) @@ -5501,7 +5501,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_afc480fe1acbbaee, []int{73} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{73} } func (m *SignalRejectReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalRejectReply.Unmarshal(m, b) @@ -5534,7 +5534,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_afc480fe1acbbaee, []int{74} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{74} } func (m *SignalGetRoomByGroupIDReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalGetRoomByGroupIDReq.Unmarshal(m, b) @@ -5588,7 +5588,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_afc480fe1acbbaee, []int{75} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{75} } func (m *SignalGetRoomByGroupIDReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalGetRoomByGroupIDReply.Unmarshal(m, b) @@ -5642,7 +5642,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_afc480fe1acbbaee, []int{76} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{76} } func (m *SignalOnRoomParticipantConnectedReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalOnRoomParticipantConnectedReq.Unmarshal(m, b) @@ -5698,7 +5698,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_afc480fe1acbbaee, []int{77} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{77} } func (m *SignalOnRoomParticipantDisconnectedReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalOnRoomParticipantDisconnectedReq.Unmarshal(m, b) @@ -5753,7 +5753,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_afc480fe1acbbaee, []int{78} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{78} } func (m *SignalGetTokenByRoomIDReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalGetTokenByRoomIDReq.Unmarshal(m, b) @@ -5813,7 +5813,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_afc480fe1acbbaee, []int{79} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{79} } func (m *SignalGetTokenByRoomIDReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalGetTokenByRoomIDReply.Unmarshal(m, b) @@ -5861,7 +5861,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_afc480fe1acbbaee, []int{80} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{80} } func (m *DelMsgListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelMsgListReq.Unmarshal(m, b) @@ -5921,7 +5921,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_afc480fe1acbbaee, []int{81} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{81} } func (m *DelMsgListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelMsgListResp.Unmarshal(m, b) @@ -5967,7 +5967,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_afc480fe1acbbaee, []int{82} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{82} } func (m *SetAppBackgroundStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetAppBackgroundStatusReq.Unmarshal(m, b) @@ -6013,7 +6013,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_afc480fe1acbbaee, []int{83} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{83} } func (m *SetAppBackgroundStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetAppBackgroundStatusResp.Unmarshal(m, b) @@ -6063,7 +6063,7 @@ 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_afc480fe1acbbaee, []int{84} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{84} } func (m *ExtendMsgSet) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExtendMsgSet.Unmarshal(m, b) @@ -6140,7 +6140,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_ws_afc480fe1acbbaee, []int{85} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{85} } func (m *ExtendMsg) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExtendMsg.Unmarshal(m, b) @@ -6208,7 +6208,7 @@ 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_afc480fe1acbbaee, []int{86} + return fileDescriptor_ws_07eb59b2406a5fbf, []int{86} } func (m *KeyValue) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_KeyValue.Unmarshal(m, b) @@ -6345,268 +6345,268 @@ func init() { proto.RegisterType((*KeyValue)(nil), "server_api_params.KeyValue") } -func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_afc480fe1acbbaee) } +func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_07eb59b2406a5fbf) } -var fileDescriptor_ws_afc480fe1acbbaee = []byte{ +var fileDescriptor_ws_07eb59b2406a5fbf = []byte{ // 4155 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x3c, 0x59, 0x6f, 0x1c, 0x59, - 0xb9, 0x53, 0xd5, 0x8b, 0xbb, 0xbf, 0xf6, 0xd2, 0xae, 0x24, 0x9e, 0x4e, 0x4f, 0x26, 0xd7, 0xb7, - 0x26, 0xca, 0xcd, 0xcd, 0xcd, 0x38, 0xf7, 0x66, 0x96, 0xcb, 0x6c, 0x41, 0x5e, 0x12, 0xc7, 0x93, - 0xb4, 0xed, 0xa9, 0x4e, 0x26, 0x68, 0x66, 0xa4, 0x50, 0xee, 0x3a, 0x6e, 0xd7, 0xb8, 0xba, 0xaa, - 0x5c, 0x8b, 0x13, 0xf3, 0x00, 0x12, 0x20, 0x40, 0xe2, 0x01, 0x09, 0xb1, 0x48, 0xf0, 0xc6, 0x0b, - 0x02, 0xa1, 0x11, 0x42, 0x83, 0x84, 0x04, 0x42, 0x08, 0xf1, 0x80, 0x04, 0x12, 0xf3, 0x8e, 0x04, - 0x82, 0x17, 0x10, 0xe2, 0x0f, 0x20, 0x21, 0x0d, 0x3a, 0x4b, 0x55, 0x9d, 0x53, 0x4b, 0x77, 0xc7, - 0xb2, 0x26, 0x89, 0xc2, 0x53, 0xf2, 0x7d, 0x75, 0xbe, 0xef, 0x7c, 0xfb, 0xf9, 0xce, 0xd2, 0x86, - 0x19, 0xdf, 0xd8, 0xbd, 0x73, 0xd7, 0xbf, 0x78, 0xd7, 0x5f, 0x70, 0x3d, 0x27, 0x70, 0x94, 0x59, - 0x1f, 0x79, 0xfb, 0xc8, 0xbb, 0xa3, 0xbb, 0xe6, 0x1d, 0x57, 0xf7, 0xf4, 0x81, 0xdf, 0x5e, 0xd8, - 0x70, 0x91, 0xfd, 0xec, 0x5a, 0xe7, 0xd9, 0x2e, 0xf9, 0x74, 0xd1, 0xdd, 0xed, 0x5f, 0x24, 0x83, - 0x2f, 0x46, 0xc4, 0x9e, 0xee, 0xba, 0xc8, 0x63, 0x2c, 0xd4, 0x3f, 0x96, 0xa1, 0xbe, 0xea, 0x39, - 0xa1, 0xbb, 0x66, 0x6f, 0x3b, 0x4a, 0x0b, 0x26, 0xfa, 0x04, 0x58, 0x69, 0x49, 0xf3, 0xd2, 0xb9, - 0xba, 0x16, 0x81, 0xca, 0x29, 0xa8, 0x93, 0xff, 0xae, 0xeb, 0x03, 0xd4, 0x92, 0xc9, 0xb7, 0x04, - 0xa1, 0xa8, 0x30, 0x69, 0x3b, 0x81, 0xb9, 0x6d, 0xf6, 0xf4, 0xc0, 0x74, 0xec, 0x56, 0x89, 0x0c, - 0x10, 0x70, 0x78, 0x8c, 0x69, 0x07, 0x9e, 0x63, 0x84, 0x3d, 0x32, 0xa6, 0x4c, 0xc7, 0xf0, 0x38, - 0x3c, 0xff, 0xb6, 0xde, 0x43, 0xb7, 0xb4, 0x1b, 0xad, 0x0a, 0x9d, 0x9f, 0x81, 0xca, 0x3c, 0x34, - 0x9c, 0xbb, 0x36, 0xf2, 0x6e, 0xf9, 0xc8, 0x5b, 0x5b, 0x69, 0x55, 0xc9, 0x57, 0x1e, 0xa5, 0x9c, - 0x06, 0xe8, 0x79, 0x48, 0x0f, 0xd0, 0x4d, 0x73, 0x80, 0x5a, 0x13, 0xf3, 0xd2, 0xb9, 0x29, 0x8d, - 0xc3, 0x60, 0x0e, 0x03, 0x34, 0xd8, 0x42, 0xde, 0xb2, 0x13, 0xda, 0x41, 0xab, 0x46, 0x06, 0xf0, - 0x28, 0x65, 0x1a, 0x64, 0x74, 0xaf, 0x55, 0x27, 0xac, 0x65, 0x74, 0x4f, 0x99, 0x83, 0xaa, 0x1f, - 0xe8, 0x41, 0xe8, 0xb7, 0x60, 0x5e, 0x3a, 0x57, 0xd1, 0x18, 0xa4, 0x9c, 0x81, 0x29, 0xc2, 0xd7, - 0x89, 0xa4, 0x69, 0x10, 0x12, 0x11, 0x19, 0x5b, 0xec, 0xe6, 0x81, 0x8b, 0x5a, 0x93, 0x84, 0x41, - 0x82, 0x50, 0xce, 0x43, 0xd3, 0x46, 0xc8, 0x78, 0x13, 0x79, 0x89, 0xd5, 0xa6, 0xc8, 0xa0, 0x0c, - 0x5e, 0x39, 0x0b, 0xd3, 0x96, 0xe3, 0xec, 0x76, 0x88, 0xa8, 0xd8, 0x4f, 0xad, 0x69, 0x32, 0x32, - 0x85, 0x55, 0x2e, 0xc0, 0xac, 0xee, 0xba, 0xd6, 0x01, 0x45, 0x5d, 0xf5, 0x4c, 0x64, 0x1b, 0xad, - 0x19, 0x32, 0x34, 0xfb, 0x41, 0x79, 0x11, 0xe6, 0x78, 0xff, 0xdc, 0x72, 0x8d, 0xc8, 0x76, 0x4d, - 0x62, 0x9a, 0x82, 0xaf, 0xca, 0x02, 0x28, 0xc2, 0x17, 0x6a, 0x82, 0x59, 0x62, 0x82, 0x9c, 0x2f, - 0xea, 0xd7, 0x4a, 0x30, 0x13, 0x47, 0xd8, 0x55, 0xc7, 0xeb, 0xa2, 0xe0, 0x21, 0x8e, 0x33, 0x1a, - 0x03, 0xd5, 0x38, 0x06, 0x56, 0x73, 0xfc, 0x84, 0x63, 0xab, 0x71, 0xe9, 0xa9, 0x85, 0xbe, 0xe3, - 0xf4, 0x2d, 0x44, 0x13, 0x69, 0x2b, 0xdc, 0x5e, 0x58, 0xb3, 0x83, 0xe7, 0x2e, 0xbd, 0xa9, 0x5b, - 0x21, 0xca, 0x71, 0xe2, 0x72, 0xc6, 0x89, 0xb5, 0xd1, 0x6c, 0xd2, 0x1e, 0x5e, 0xcb, 0xf3, 0x70, - 0x7d, 0x34, 0x9f, 0x2c, 0x95, 0xfa, 0xa1, 0x0c, 0xc7, 0x88, 0x5b, 0x18, 0x36, 0xb4, 0xac, 0x11, - 0x25, 0x60, 0x0e, 0xaa, 0x21, 0x75, 0x36, 0xf5, 0x0b, 0x83, 0xb0, 0xcb, 0x3c, 0xc7, 0x42, 0x37, - 0xd0, 0x3e, 0xb2, 0x88, 0x47, 0x2a, 0x5a, 0x82, 0x50, 0xda, 0x50, 0x7b, 0xd7, 0x31, 0x6d, 0x12, - 0x58, 0x65, 0xf2, 0x31, 0x86, 0xf1, 0x37, 0xdb, 0xec, 0xed, 0xda, 0xd8, 0xd7, 0xd4, 0x0f, 0x31, - 0xcc, 0xbb, 0xa8, 0x2a, 0xba, 0xe8, 0x2c, 0x4c, 0xeb, 0xae, 0xdb, 0xd1, 0xed, 0x3e, 0xf2, 0xe8, - 0xa4, 0x13, 0x34, 0x1d, 0x44, 0x2c, 0x2e, 0x08, 0x78, 0xa6, 0xae, 0x13, 0x7a, 0x3d, 0x44, 0xac, - 0x5d, 0xd1, 0x38, 0x0c, 0xe6, 0xe3, 0xb8, 0xc8, 0xe3, 0xf2, 0x98, 0xa6, 0x7e, 0x0a, 0xcb, 0x42, - 0x02, 0xe2, 0x90, 0xc0, 0x85, 0x24, 0x0c, 0xd0, 0x15, 0xdb, 0x20, 0x4a, 0x35, 0x58, 0x21, 0x49, - 0x50, 0xb8, 0x40, 0x98, 0xf6, 0xbe, 0x19, 0xc4, 0xe5, 0x6a, 0x92, 0x16, 0x08, 0x01, 0xa9, 0x7e, - 0x41, 0x82, 0xe9, 0xcd, 0x70, 0xcb, 0x32, 0x7b, 0x04, 0x81, 0x8d, 0x9f, 0x98, 0x58, 0x12, 0x4c, - 0xcc, 0x1b, 0x4a, 0x2e, 0x36, 0x54, 0x49, 0x34, 0xd4, 0x1c, 0x54, 0xfb, 0xc8, 0x36, 0x90, 0xc7, - 0x0c, 0xcf, 0x20, 0xa6, 0x50, 0x25, 0x52, 0x48, 0xfd, 0x83, 0x0c, 0xb5, 0x8f, 0x58, 0x84, 0x79, - 0x68, 0xb8, 0x3b, 0x8e, 0x8d, 0xd6, 0x43, 0x1c, 0x7c, 0x4c, 0x16, 0x1e, 0xa5, 0x1c, 0x87, 0xca, - 0x96, 0xe9, 0x05, 0x3b, 0xc4, 0xfb, 0x53, 0x1a, 0x05, 0x30, 0x16, 0x0d, 0x74, 0x93, 0xba, 0xbc, - 0xae, 0x51, 0x80, 0x29, 0x54, 0x8b, 0x3d, 0x24, 0x2e, 0x05, 0xf5, 0xcc, 0x52, 0x90, 0x8d, 0x20, - 0xc8, 0x8d, 0xa0, 0xf3, 0xd0, 0xec, 0x5b, 0xce, 0x96, 0x6e, 0x69, 0xa8, 0xb7, 0xdf, 0xf1, 0xfb, - 0x1b, 0x6e, 0x40, 0xdc, 0x5d, 0xd1, 0x32, 0x78, 0x6c, 0x1f, 0x22, 0x62, 0x37, 0xf0, 0x98, 0xbb, - 0x63, 0x58, 0xfd, 0x87, 0x04, 0x40, 0xd3, 0x8e, 0x98, 0x38, 0xb5, 0x96, 0x49, 0xd9, 0xb5, 0x6c, - 0x0e, 0xaa, 0x1e, 0x1a, 0xe8, 0xde, 0x6e, 0x94, 0x6a, 0x14, 0x4a, 0x29, 0x56, 0xca, 0x28, 0xf6, - 0x0a, 0xc0, 0x36, 0x99, 0x07, 0xf3, 0x21, 0x26, 0xc7, 0x85, 0x21, 0xd3, 0x25, 0x2c, 0x44, 0xde, - 0xd6, 0xb8, 0xe1, 0x38, 0x8f, 0x75, 0xc3, 0x60, 0xe9, 0x52, 0xa1, 0x79, 0x1c, 0x23, 0x72, 0xb2, - 0xa5, 0x3a, 0x24, 0x5b, 0x26, 0xe2, 0xe0, 0xfa, 0xbb, 0x04, 0xf5, 0x25, 0x4b, 0xef, 0xed, 0x8e, - 0xa9, 0xba, 0xa8, 0xa2, 0x9c, 0x51, 0x71, 0x15, 0xa6, 0xb6, 0x30, 0xbb, 0x48, 0x05, 0x62, 0x85, - 0xc6, 0xa5, 0xff, 0xcc, 0xd1, 0x52, 0x4c, 0x2e, 0x4d, 0xa4, 0x13, 0xd5, 0x2d, 0x8f, 0x56, 0xb7, - 0x32, 0x44, 0xdd, 0x78, 0xbd, 0x50, 0xbf, 0x59, 0x82, 0x49, 0x52, 0x56, 0x35, 0xb4, 0x17, 0x22, - 0x3f, 0x50, 0x5e, 0x83, 0x5a, 0x18, 0x89, 0x2a, 0x8d, 0x2b, 0x6a, 0x4c, 0xa2, 0xbc, 0xcc, 0xd6, - 0x43, 0x42, 0x2f, 0x13, 0xfa, 0x53, 0x39, 0xf4, 0xf1, 0x02, 0xab, 0x25, 0xc3, 0xf1, 0x4a, 0xb8, - 0xa3, 0xdb, 0x86, 0x85, 0x34, 0xe4, 0x87, 0x56, 0xc0, 0x6a, 0xb3, 0x80, 0xa3, 0x91, 0xb6, 0xd7, - 0xf1, 0xfb, 0x6c, 0x9d, 0x64, 0x10, 0xb6, 0x0e, 0x1d, 0x87, 0x3f, 0x51, 0xd5, 0x13, 0x04, 0x4e, - 0x78, 0x0f, 0xed, 0x11, 0x0f, 0xd1, 0xf4, 0x8c, 0xc0, 0x64, 0x4e, 0x66, 0x35, 0x1a, 0x08, 0x02, - 0x0e, 0xbb, 0x98, 0xc2, 0x84, 0x01, 0x6d, 0xc4, 0x38, 0x4c, 0xa6, 0x0f, 0x13, 0x0b, 0x39, 0x64, - 0x0a, 0x79, 0xa6, 0xdc, 0x36, 0xf2, 0xca, 0xed, 0xef, 0x4b, 0x30, 0x45, 0x93, 0x30, 0x72, 0xcd, - 0x69, 0x9c, 0x2d, 0xce, 0x40, 0x88, 0x45, 0x0e, 0x83, 0x75, 0xc1, 0xd0, 0xba, 0x58, 0xf6, 0x04, - 0x1c, 0x0e, 0x68, 0x0c, 0x5f, 0x15, 0xca, 0x1f, 0x8f, 0x8a, 0x66, 0x59, 0xe5, 0xcb, 0x20, 0x87, - 0xc1, 0x85, 0x23, 0x70, 0x84, 0x18, 0x8b, 0x61, 0x4c, 0x1b, 0x38, 0xf1, 0xfc, 0x34, 0xca, 0x38, - 0x0c, 0xf6, 0x52, 0xe0, 0x44, 0x73, 0x53, 0x53, 0x27, 0x08, 0xca, 0x99, 0xcd, 0x4b, 0x97, 0xbf, - 0x18, 0xce, 0xc4, 0x46, 0x7d, 0x68, 0x6c, 0x80, 0x10, 0x1b, 0x62, 0x8a, 0x36, 0x32, 0x29, 0x7a, - 0x06, 0xa6, 0x28, 0x9f, 0xd4, 0xf2, 0x27, 0x20, 0xc5, 0x08, 0x9b, 0x4a, 0x47, 0x98, 0x18, 0x23, - 0xd3, 0x05, 0x31, 0x32, 0x13, 0xe7, 0xdd, 0x8f, 0x64, 0x80, 0x15, 0xe4, 0xea, 0x5e, 0x30, 0x40, - 0x76, 0x80, 0xd5, 0x33, 0x62, 0x28, 0x76, 0xae, 0x80, 0xe3, 0x57, 0x2d, 0x59, 0x5c, 0xb5, 0x14, - 0x28, 0x13, 0x83, 0x53, 0x6f, 0x92, 0xff, 0x63, 0x63, 0xba, 0xba, 0x47, 0xb9, 0xd1, 0x54, 0x89, - 0x61, 0xbc, 0x2a, 0x39, 0x9e, 0xc1, 0xd6, 0xb1, 0x8a, 0x46, 0x01, 0x5c, 0x42, 0x92, 0xf9, 0xc8, - 0x2e, 0xa0, 0x4a, 0x57, 0x19, 0x11, 0x3b, 0x72, 0xe3, 0x72, 0x1e, 0x9a, 0x7e, 0xb8, 0x95, 0x28, - 0xb7, 0x1e, 0x0e, 0x58, 0xd2, 0x64, 0xf0, 0xd8, 0xa8, 0x74, 0x47, 0x83, 0x07, 0xd1, 0x85, 0x2f, - 0x41, 0xa4, 0x3b, 0x19, 0xf5, 0xd7, 0x32, 0x34, 0x37, 0xbc, 0xbe, 0x6e, 0x9b, 0x9f, 0x8a, 0x3b, - 0xf6, 0x43, 0x35, 0x00, 0xf3, 0xd0, 0x40, 0x76, 0xdf, 0x32, 0xfd, 0x9d, 0xf5, 0xc4, 0x6e, 0x3c, - 0x8a, 0x37, 0x76, 0xb9, 0xa8, 0x45, 0xa8, 0x08, 0x2d, 0xc2, 0x1c, 0x54, 0x07, 0xce, 0x96, 0x69, - 0x45, 0x71, 0xcf, 0x20, 0x12, 0xf3, 0xc8, 0x42, 0xa4, 0x57, 0x88, 0x63, 0x3e, 0x42, 0x24, 0x6d, - 0x43, 0x2d, 0xb7, 0x6d, 0xa8, 0xf3, 0x6d, 0x83, 0x68, 0x78, 0xc8, 0x18, 0x9e, 0x9a, 0xab, 0x11, - 0xd7, 0xa1, 0x61, 0x4b, 0xfc, 0x2f, 0x24, 0x68, 0x26, 0xae, 0xa0, 0x3d, 0x75, 0xa1, 0x29, 0xd3, - 0xd1, 0x29, 0xe7, 0x44, 0x67, 0x1c, 0x53, 0x25, 0x3e, 0xa6, 0x70, 0x14, 0x3a, 0xbe, 0xc9, 0x6d, - 0x6c, 0x62, 0x18, 0xcf, 0x66, 0x21, 0x9d, 0x33, 0x24, 0x85, 0xb8, 0x6d, 0x6c, 0x55, 0xd8, 0xc6, - 0xa6, 0x57, 0xea, 0x9f, 0x48, 0x70, 0x1c, 0x47, 0x40, 0x46, 0x8d, 0x0d, 0x68, 0x3a, 0xa9, 0x28, - 0x61, 0x4b, 0xd9, 0x33, 0x39, 0x4b, 0x51, 0x3a, 0xa0, 0xb4, 0x0c, 0x31, 0x66, 0x68, 0xa4, 0x26, - 0x61, 0x6b, 0x5b, 0x1e, 0xc3, 0xb4, 0x3c, 0x5a, 0x86, 0x58, 0xfd, 0x99, 0x04, 0x4d, 0xba, 0x78, - 0x72, 0x35, 0xe0, 0xc8, 0xc5, 0xbe, 0x0d, 0xc7, 0xd3, 0x33, 0xdf, 0x30, 0xfd, 0xa0, 0x25, 0xcf, - 0x97, 0xc6, 0x15, 0x3d, 0x97, 0x81, 0xfa, 0x03, 0x19, 0x9e, 0xdc, 0x0c, 0x2d, 0xab, 0x83, 0x7c, - 0x5f, 0xef, 0xa3, 0xa5, 0x83, 0x2e, 0xda, 0xc3, 0x1f, 0x34, 0xb4, 0x57, 0x18, 0x43, 0xb8, 0x93, - 0x22, 0xad, 0x88, 0xe9, 0xd8, 0x71, 0x08, 0xf1, 0x28, 0x9c, 0x72, 0x3e, 0xe5, 0xd3, 0x2a, 0xcd, - 0x97, 0xf0, 0x22, 0xcd, 0x40, 0xe5, 0x93, 0x30, 0x49, 0xba, 0x04, 0x36, 0x4d, 0xab, 0x4c, 0x14, - 0x78, 0x35, 0xb7, 0x2f, 0xc9, 0x95, 0x8a, 0xf6, 0x1b, 0x0c, 0xbe, 0x62, 0x07, 0xde, 0x81, 0x26, - 0x70, 0x6c, 0xbf, 0x0d, 0xb3, 0x99, 0x21, 0x4a, 0x13, 0x4a, 0xbb, 0xe8, 0x80, 0xe9, 0x81, 0xff, - 0xab, 0xfc, 0x2f, 0x54, 0xf6, 0xf1, 0x06, 0x95, 0x79, 0xbf, 0x9d, 0x23, 0x01, 0x93, 0x59, 0xa3, - 0x03, 0x5f, 0x96, 0x3f, 0x26, 0xa9, 0xcf, 0xc4, 0x8a, 0xf1, 0x3a, 0x4a, 0x82, 0x8e, 0xea, 0x75, - 0x68, 0x74, 0xfc, 0xfe, 0x8a, 0x1e, 0xe8, 0x64, 0xe0, 0xab, 0xd0, 0x18, 0x24, 0x20, 0x19, 0x9c, - 0x3f, 0x1f, 0x23, 0xd2, 0xf8, 0xe1, 0xea, 0x07, 0x32, 0xb4, 0xf2, 0x4d, 0xe1, 0xbb, 0x58, 0x06, - 0xe4, 0x79, 0xcb, 0x8e, 0x81, 0x88, 0x6a, 0x15, 0x2d, 0x02, 0xb1, 0xef, 0x90, 0xe7, 0xe1, 0xf5, - 0x8d, 0xb5, 0xf1, 0x14, 0x52, 0x16, 0xa0, 0x6c, 0x45, 0x6e, 0x19, 0x2e, 0x05, 0x19, 0xa7, 0x0c, - 0xa0, 0x49, 0xac, 0xcb, 0x29, 0xc4, 0x7c, 0xb6, 0x38, 0xb6, 0xcf, 0x7c, 0x97, 0x3a, 0x8d, 0xe3, - 0x41, 0x1d, 0x97, 0x61, 0xdd, 0xee, 0xc1, 0x89, 0xdc, 0xa1, 0x39, 0x0e, 0x7c, 0x5e, 0x74, 0xe0, - 0xe9, 0x62, 0x55, 0xd2, 0x4e, 0x74, 0x41, 0x59, 0x45, 0x41, 0x47, 0xbf, 0xb7, 0x68, 0x1b, 0x1d, - 0xd3, 0xee, 0xa2, 0x3d, 0x1c, 0xed, 0xf3, 0xd0, 0x60, 0xc7, 0x0d, 0xb1, 0x9b, 0xea, 0x1a, 0x8f, - 0x2a, 0x3c, 0x85, 0x48, 0xe5, 0x43, 0x29, 0x93, 0x0f, 0xea, 0x65, 0x98, 0xe4, 0xa7, 0x23, 0x0b, - 0x8c, 0x7e, 0xaf, 0x8b, 0xf6, 0x88, 0x42, 0x53, 0x1a, 0x83, 0x08, 0x9e, 0x8c, 0x60, 0xbb, 0x0f, - 0x06, 0xa9, 0xbf, 0x91, 0xe1, 0x58, 0x46, 0x64, 0xdf, 0xbd, 0x5f, 0x3e, 0x7c, 0xbc, 0x94, 0x8a, - 0xe2, 0xa5, 0x2c, 0xc4, 0xcb, 0x2e, 0xcc, 0x52, 0x27, 0x71, 0x53, 0xb7, 0x2a, 0x24, 0x00, 0x5e, - 0xcb, 0xdb, 0x0c, 0x64, 0x85, 0x64, 0xbe, 0xe7, 0xb0, 0xd4, 0xf9, 0x59, 0xbe, 0x6d, 0x04, 0x73, - 0xf9, 0x83, 0x73, 0xdc, 0xff, 0x82, 0xe8, 0xfe, 0xff, 0xc8, 0x73, 0x3f, 0x2f, 0x09, 0xe7, 0xff, - 0x3d, 0x98, 0xc1, 0x45, 0xb5, 0x8b, 0x6c, 0xa3, 0xe3, 0xf7, 0x89, 0x21, 0xe7, 0xa1, 0x41, 0xe9, - 0x3b, 0x7e, 0x3f, 0xd9, 0x1c, 0x72, 0x28, 0x3c, 0xa2, 0x67, 0x99, 0xb8, 0x78, 0x92, 0x11, 0xac, - 0xe8, 0x71, 0x28, 0xbc, 0x40, 0xfa, 0x88, 0x9d, 0xcc, 0x60, 0xeb, 0x96, 0xb4, 0x18, 0x56, 0xdf, - 0x9f, 0x80, 0x09, 0x16, 0x8d, 0x64, 0x51, 0xc4, 0xfb, 0xf1, 0xb8, 0xac, 0x52, 0x88, 0xf6, 0xbc, - 0xbd, 0xfd, 0x24, 0xbc, 0x28, 0xc4, 0x1f, 0x8b, 0x95, 0xc4, 0x63, 0xb1, 0x94, 0x4c, 0xe5, 0xac, - 0x4c, 0x29, 0xbd, 0x2a, 0x59, 0xbd, 0x70, 0x8b, 0x47, 0xba, 0x9e, 0x4d, 0x4b, 0x0f, 0xb6, 0x1d, - 0x6f, 0xc0, 0xb6, 0xd7, 0x15, 0x2d, 0x83, 0xc7, 0x6d, 0x25, 0xc5, 0xc5, 0xfb, 0x02, 0xba, 0x84, - 0xa7, 0xb0, 0xb8, 0x0b, 0xa7, 0x98, 0x68, 0x7f, 0x40, 0xcf, 0x47, 0x44, 0x24, 0x95, 0xcd, 0xf7, - 0x4d, 0xc7, 0x26, 0x1d, 0x2a, 0xdd, 0x06, 0xf0, 0x28, 0xac, 0xf9, 0xc0, 0xef, 0x5f, 0xf5, 0x9c, - 0x01, 0xdb, 0x7a, 0x45, 0x20, 0xd1, 0xdc, 0xb1, 0x83, 0xa8, 0xbb, 0xa5, 0x27, 0x23, 0x3c, 0x0a, - 0xd3, 0x32, 0x90, 0x34, 0x4c, 0x93, 0x5a, 0x04, 0xe2, 0x58, 0xf2, 0xd1, 0x1e, 0x6b, 0xec, 0xf1, - 0x7f, 0x05, 0xcf, 0xcd, 0x88, 0x9e, 0x4b, 0x75, 0x6a, 0x4d, 0xf2, 0x95, 0xef, 0xd4, 0x92, 0x16, - 0x67, 0x56, 0x68, 0x71, 0x16, 0x61, 0xc2, 0x71, 0x71, 0xfa, 0xfb, 0x2d, 0x85, 0xa4, 0xcb, 0x7f, - 0x15, 0x17, 0xa8, 0x85, 0x0d, 0x3a, 0x92, 0x26, 0x46, 0x44, 0xa7, 0xdc, 0x80, 0x19, 0x67, 0x7b, - 0xdb, 0x32, 0x6d, 0xb4, 0x19, 0xfa, 0x3b, 0x64, 0x1b, 0x7e, 0x8c, 0x04, 0xbb, 0x9a, 0xd7, 0x44, - 0x88, 0x23, 0xb5, 0x34, 0x29, 0xee, 0xfc, 0xf4, 0x80, 0x6e, 0x80, 0x48, 0x81, 0x3b, 0x4e, 0x0a, - 0x9c, 0x80, 0x23, 0xe7, 0x8b, 0x5c, 0xa1, 0x3f, 0x41, 0x0c, 0xc7, 0xa3, 0x28, 0x97, 0x40, 0xef, - 0xed, 0x20, 0x72, 0xa0, 0xd4, 0x9a, 0xa3, 0xfd, 0x23, 0x8f, 0x63, 0xdd, 0xdd, 0x93, 0x71, 0xf3, - 0xda, 0x82, 0x09, 0xd3, 0xd7, 0x90, 0xde, 0x0b, 0x5a, 0xad, 0x79, 0xe9, 0x5c, 0x4d, 0x8b, 0x40, - 0xe5, 0x12, 0x1c, 0x37, 0xfd, 0x2b, 0xf7, 0x02, 0xe4, 0xd9, 0xba, 0x85, 0xff, 0xb5, 0x7d, 0x62, - 0xb1, 0x93, 0x64, 0x58, 0xee, 0x37, 0x65, 0x01, 0x14, 0x1c, 0x05, 0xa6, 0xe7, 0x07, 0x1d, 0xc7, - 0x30, 0xb7, 0x0f, 0x88, 0x63, 0xda, 0xc4, 0x31, 0x39, 0x5f, 0xda, 0x2f, 0xc3, 0x24, 0x6f, 0xde, - 0x9c, 0x52, 0x72, 0x9c, 0x2f, 0x25, 0x35, 0xbe, 0x52, 0x7c, 0x5d, 0x82, 0x99, 0x94, 0x61, 0xf1, - 0xe8, 0xc0, 0x0c, 0x2c, 0xc4, 0x38, 0x50, 0x00, 0xef, 0xdb, 0x0c, 0xe4, 0xf7, 0x58, 0xea, 0x92, - 0xff, 0x33, 0x3b, 0x94, 0x62, 0x3b, 0xa8, 0x30, 0x69, 0x6e, 0x74, 0x31, 0xa3, 0xae, 0x13, 0xda, - 0x46, 0x7c, 0x3d, 0xc0, 0xe1, 0xc8, 0x81, 0xc2, 0x46, 0x77, 0x49, 0x37, 0xfa, 0x88, 0x5e, 0x16, - 0x55, 0x88, 0x4c, 0x22, 0x52, 0x35, 0xa0, 0x76, 0xd3, 0x74, 0xfd, 0x65, 0x67, 0x30, 0xc0, 0x01, - 0x68, 0xa0, 0x00, 0xef, 0x30, 0x24, 0xe2, 0x2e, 0x06, 0x61, 0x5f, 0x1a, 0x68, 0x5b, 0x0f, 0xad, - 0x00, 0x0f, 0x8d, 0x0a, 0x16, 0x87, 0x22, 0x87, 0x1b, 0xbe, 0x63, 0xaf, 0x50, 0x6a, 0x2a, 0x27, - 0x87, 0x51, 0x7f, 0x25, 0x43, 0x93, 0xd4, 0xe3, 0x65, 0x12, 0xee, 0x06, 0x21, 0xba, 0x04, 0x15, - 0x52, 0x7e, 0x58, 0x3f, 0x3b, 0xfc, 0x44, 0x88, 0x0e, 0x55, 0x2e, 0x43, 0xd5, 0x71, 0x49, 0x13, - 0x4c, 0x8b, 0xf5, 0xd9, 0x22, 0x22, 0xf1, 0x42, 0x40, 0x63, 0x54, 0xca, 0x55, 0x80, 0x41, 0xd2, - 0xf3, 0xd2, 0xd6, 0x65, 0x5c, 0x1e, 0x1c, 0x25, 0x36, 0x6e, 0xbc, 0x2a, 0xc7, 0xb7, 0x02, 0x25, - 0x4d, 0x44, 0x2a, 0xeb, 0x30, 0x4d, 0xc4, 0xde, 0x88, 0x8e, 0x06, 0x89, 0x0f, 0xc6, 0x9f, 0x31, - 0x45, 0xad, 0x7e, 0x47, 0x62, 0x66, 0xc4, 0x5f, 0xbb, 0x88, 0xda, 0x3e, 0x31, 0x89, 0x74, 0x28, - 0x93, 0xb4, 0xa1, 0x36, 0x08, 0xb9, 0x93, 0xca, 0x92, 0x16, 0xc3, 0x89, 0x8b, 0x4a, 0x63, 0xbb, - 0x48, 0xfd, 0xae, 0x04, 0xad, 0xd7, 0x1d, 0xd3, 0x26, 0x1f, 0x16, 0x5d, 0xd7, 0x62, 0x97, 0x47, - 0x87, 0xf6, 0xf9, 0xc7, 0xa1, 0xae, 0x53, 0x36, 0x76, 0xc0, 0xdc, 0x3e, 0xc6, 0xe9, 0x63, 0x42, - 0xc3, 0x1d, 0x01, 0x95, 0xf8, 0x23, 0x20, 0xf5, 0x3d, 0x09, 0xa6, 0xa9, 0x51, 0xde, 0x08, 0xcd, - 0xe0, 0xd0, 0xf2, 0x2d, 0x41, 0x6d, 0x2f, 0x34, 0x83, 0x43, 0x44, 0x65, 0x4c, 0x97, 0x8d, 0xa7, - 0x52, 0x4e, 0x3c, 0xa9, 0x1f, 0x48, 0x70, 0x2a, 0x6d, 0xd6, 0xc5, 0x5e, 0x0f, 0xb9, 0x0f, 0x32, - 0xa5, 0x84, 0x23, 0xb0, 0x72, 0xce, 0x11, 0x98, 0x87, 0x7a, 0xc8, 0xdc, 0x47, 0xde, 0xa2, 0xcf, - 0xf6, 0xf4, 0x1c, 0x26, 0x57, 0x25, 0x0d, 0xbd, 0x8b, 0x7a, 0x8f, 0xae, 0x4a, 0x9f, 0x93, 0xe1, - 0xe4, 0x6a, 0x9c, 0xb8, 0x37, 0x3d, 0xdd, 0xf6, 0xb7, 0x91, 0xe7, 0x3d, 0x40, 0x7d, 0x6e, 0xc0, - 0x94, 0x8d, 0xee, 0x26, 0x32, 0xb1, 0x74, 0x1e, 0x97, 0x8d, 0x48, 0x3c, 0x5e, 0xed, 0x53, 0xff, - 0x29, 0x41, 0x93, 0xf2, 0xb9, 0x6e, 0xf6, 0x76, 0x1f, 0xa0, 0xf2, 0xeb, 0x30, 0xbd, 0x4b, 0x24, - 0xc0, 0xd0, 0x21, 0xca, 0x7e, 0x8a, 0x7a, 0x4c, 0xf5, 0x3f, 0x94, 0x60, 0x36, 0xba, 0xf3, 0xde, - 0x37, 0x1f, 0x64, 0x30, 0x6f, 0xc2, 0x0c, 0xbd, 0x43, 0x38, 0xac, 0x01, 0xd2, 0xe4, 0x63, 0x5a, - 0xe0, 0xc7, 0x12, 0xcc, 0x50, 0x4e, 0x57, 0xec, 0x00, 0x79, 0x87, 0xd6, 0xff, 0x1a, 0x34, 0x90, - 0x1d, 0x78, 0xba, 0x7d, 0x98, 0x0a, 0xcb, 0x93, 0x8e, 0x59, 0x64, 0xdf, 0x93, 0x40, 0x21, 0xac, - 0x56, 0x4c, 0x7f, 0x60, 0xfa, 0xfe, 0x03, 0x74, 0xdd, 0x78, 0x02, 0x7f, 0x4b, 0x86, 0xe3, 0x1c, - 0x97, 0x4e, 0x18, 0x3c, 0xec, 0x22, 0x2b, 0x2b, 0x50, 0xc7, 0x3d, 0x06, 0x7f, 0xc3, 0x3b, 0xee, - 0x44, 0x09, 0x21, 0xee, 0x82, 0x09, 0xd0, 0x45, 0x3d, 0xc7, 0x36, 0x68, 0x29, 0x9e, 0xd2, 0x04, - 0x1c, 0x2e, 0x43, 0x6d, 0x8e, 0xcd, 0xb2, 0x6e, 0xf7, 0x90, 0xf5, 0xd8, 0x98, 0x48, 0xfd, 0xbe, - 0x04, 0xd3, 0x74, 0xc8, 0xc3, 0xaf, 0xb2, 0xfa, 0x43, 0x89, 0x05, 0xf2, 0x23, 0xe3, 0x25, 0x1c, - 0x5e, 0x73, 0x1c, 0x17, 0xbe, 0x2f, 0x7f, 0x78, 0x43, 0xeb, 0x1a, 0x34, 0x7a, 0x3b, 0xba, 0xdd, - 0x3f, 0x54, 0x70, 0xf1, 0xa4, 0x6a, 0x00, 0x4f, 0xf2, 0x57, 0x0e, 0xcb, 0xf4, 0x13, 0x51, 0xff, - 0xb9, 0x94, 0x2a, 0x43, 0x5f, 0x70, 0xdc, 0x9f, 0xd1, 0x77, 0x61, 0x96, 0xde, 0x81, 0x73, 0x3d, - 0xa3, 0xd2, 0x82, 0x09, 0xdd, 0xa0, 0x07, 0x2f, 0x12, 0x21, 0x8a, 0x40, 0xf1, 0x8d, 0x04, 0x7b, - 0x8d, 0x97, 0xbc, 0x91, 0x38, 0x0d, 0xa0, 0x1b, 0xc6, 0x6d, 0xc7, 0x33, 0x4c, 0x3b, 0xda, 0x20, - 0x70, 0x18, 0xf5, 0x75, 0x98, 0xbc, 0xea, 0x39, 0x83, 0x9b, 0xdc, 0x6d, 0xf6, 0xd0, 0xfb, 0x76, - 0xfe, 0x26, 0x5c, 0x16, 0x6f, 0xc2, 0xd5, 0x77, 0xe0, 0x44, 0x46, 0x70, 0x62, 0xac, 0x65, 0x7a, - 0x49, 0x1f, 0x4d, 0xc2, 0x42, 0x26, 0xef, 0x24, 0x92, 0x97, 0x45, 0x13, 0x88, 0xd4, 0xcf, 0x4a, - 0xf0, 0x74, 0x86, 0xfd, 0xa2, 0xeb, 0x7a, 0xce, 0x3e, 0xf3, 0xc9, 0x51, 0x4c, 0x23, 0x36, 0xc7, - 0x72, 0xaa, 0x39, 0xce, 0x17, 0x42, 0x68, 0xe8, 0x3f, 0x02, 0x21, 0xbe, 0x27, 0xc1, 0x0c, 0x13, - 0xc2, 0x30, 0xd8, 0xb4, 0x2f, 0x40, 0x95, 0x3e, 0x13, 0x62, 0x13, 0x3e, 0x9d, 0x3b, 0x61, 0xf4, - 0xbc, 0x49, 0x63, 0x83, 0xb3, 0x11, 0x29, 0xe7, 0x65, 0xd4, 0x4b, 0x71, 0xb0, 0x8f, 0xfd, 0x90, - 0x87, 0x11, 0xa8, 0x9f, 0x88, 0x82, 0x79, 0x05, 0x59, 0xe8, 0x28, 0x6d, 0xa4, 0xde, 0x82, 0x69, - 0xf2, 0x66, 0x29, 0xb1, 0xc1, 0x91, 0xb0, 0xbd, 0x0d, 0x4d, 0xc2, 0xf6, 0xc8, 0xe5, 0x8d, 0xb3, - 0x03, 0xdb, 0x87, 0x2f, 0x25, 0x47, 0xc2, 0xfd, 0x59, 0x38, 0x16, 0xd9, 0x9e, 0xbe, 0x03, 0xa6, - 0xbc, 0x0b, 0x6e, 0x26, 0xd5, 0x6f, 0x48, 0x30, 0xb7, 0xec, 0xd8, 0xfb, 0xc8, 0xf3, 0x85, 0xb7, - 0xc3, 0x94, 0x44, 0xc8, 0x7e, 0x06, 0x29, 0x0b, 0xa0, 0xf4, 0x38, 0x0a, 0x76, 0x38, 0x2a, 0x93, - 0xc3, 0xd1, 0x9c, 0x2f, 0xca, 0xf3, 0x70, 0x22, 0x24, 0x5c, 0x6f, 0xd9, 0x1e, 0xd2, 0x0d, 0x72, - 0x1e, 0xc7, 0x15, 0xbd, 0xfc, 0x8f, 0xea, 0xbb, 0xd0, 0xe6, 0xe5, 0xea, 0xa2, 0x60, 0xd3, 0x33, - 0xf7, 0x39, 0xd9, 0xd8, 0xc9, 0xbf, 0x24, 0x9c, 0xfc, 0x27, 0x37, 0x05, 0xb2, 0x70, 0x53, 0x70, - 0x0a, 0xea, 0xa6, 0xcf, 0x18, 0x90, 0x79, 0x6b, 0x5a, 0x82, 0x50, 0x75, 0x98, 0xa5, 0x5e, 0x66, - 0x37, 0x71, 0x64, 0x8a, 0x36, 0xd4, 0x68, 0xe8, 0xc6, 0x93, 0xc4, 0x70, 0xe1, 0xbd, 0x56, 0xe1, - 0x2d, 0xae, 0xda, 0x85, 0x59, 0xf6, 0x92, 0x69, 0x53, 0xef, 0x9b, 0x36, 0xad, 0xe5, 0xa7, 0x01, - 0x5c, 0xbd, 0x1f, 0xbd, 0xab, 0xa4, 0xf7, 0x91, 0x1c, 0x06, 0x7f, 0xf7, 0x77, 0x9c, 0xbb, 0xec, - 0xbb, 0x4c, 0xbf, 0x27, 0x18, 0xf5, 0x4d, 0x50, 0x34, 0xe4, 0xbb, 0x8e, 0xed, 0x23, 0x8e, 0xeb, - 0x3c, 0x34, 0x96, 0x43, 0xcf, 0x43, 0x36, 0x9e, 0x2a, 0x7a, 0x1c, 0xc8, 0xa3, 0x30, 0xdf, 0x6e, - 0xc2, 0x97, 0xde, 0x5d, 0x70, 0x18, 0xf5, 0x4f, 0x55, 0xa8, 0x77, 0xcd, 0xbe, 0xad, 0x5b, 0x1a, - 0xda, 0x53, 0x5e, 0x85, 0x2a, 0xdd, 0x19, 0xb1, 0x80, 0xcc, 0x3b, 0x4b, 0xa7, 0xa3, 0xe9, 0x16, - 0x50, 0x43, 0x7b, 0xd7, 0x9e, 0xd0, 0x18, 0x8d, 0xf2, 0x46, 0xf4, 0xde, 0x6b, 0x8d, 0x9e, 0x94, - 0xb1, 0x65, 0xf2, 0xbf, 0x47, 0x30, 0x61, 0xa3, 0x29, 0x2f, 0x91, 0x03, 0x16, 0xa8, 0x47, 0x3a, - 0x27, 0x56, 0x85, 0x8a, 0x05, 0xa2, 0x0d, 0x16, 0x13, 0x88, 0xd2, 0x60, 0x6a, 0x9d, 0x9c, 0x25, - 0xb1, 0x86, 0xa0, 0x98, 0x9a, 0x1e, 0x39, 0x31, 0x6a, 0x4a, 0x83, 0xa9, 0x77, 0x42, 0xbb, 0x7f, - 0xcb, 0x65, 0x47, 0x9c, 0xc5, 0xd4, 0xd7, 0xc8, 0x30, 0x46, 0x4d, 0x69, 0x30, 0xb5, 0x47, 0xd6, - 0x08, 0x62, 0xf4, 0x61, 0xd4, 0x74, 0x29, 0x61, 0xd4, 0x94, 0x46, 0x79, 0x0b, 0x9a, 0x7d, 0x14, - 0x68, 0x8e, 0x33, 0x58, 0x3a, 0x58, 0x65, 0xf7, 0x5b, 0xf4, 0x79, 0xfb, 0x85, 0x42, 0x3e, 0xab, - 0x29, 0x02, 0xca, 0x31, 0xc3, 0x47, 0xf9, 0x34, 0x3c, 0xed, 0xd8, 0x18, 0xb5, 0xa9, 0x7b, 0x81, - 0xd9, 0x33, 0x5d, 0xdd, 0x0e, 0x96, 0x1d, 0xdb, 0x26, 0xeb, 0x99, 0x86, 0xf6, 0xd8, 0x03, 0xf8, - 0x17, 0x0b, 0x27, 0xda, 0x18, 0x46, 0x7d, 0xed, 0x09, 0x6d, 0x38, 0x7b, 0xe5, 0x8b, 0x12, 0xcc, - 0x67, 0x46, 0xac, 0x98, 0x7e, 0x8f, 0x97, 0x81, 0x3e, 0x9e, 0x7f, 0x69, 0x7c, 0x19, 0x52, 0x0c, - 0xae, 0x3d, 0xa1, 0x8d, 0x9c, 0x84, 0x59, 0xf9, 0xa6, 0xb3, 0x8b, 0xec, 0xa5, 0x03, 0x3c, 0x76, - 0x6d, 0x85, 0xdc, 0xa5, 0x8d, 0xb0, 0xb2, 0x40, 0x90, 0x58, 0x59, 0x40, 0x2f, 0xd5, 0x61, 0xc2, - 0xd5, 0x0f, 0x2c, 0x47, 0x37, 0xd4, 0xbf, 0x96, 0x01, 0x22, 0x57, 0xfb, 0xa4, 0x23, 0x16, 0x92, - 0xec, 0xcc, 0xc8, 0x24, 0x73, 0xad, 0x03, 0x2e, 0xcd, 0xba, 0xf9, 0x69, 0xf6, 0x3f, 0xe3, 0xa6, - 0x19, 0xe5, 0x96, 0x4a, 0xb4, 0xcb, 0xa9, 0x44, 0x3b, 0x33, 0x32, 0xd1, 0x98, 0x50, 0x2c, 0xd5, - 0x2e, 0xa7, 0x52, 0xed, 0xcc, 0xc8, 0x54, 0x63, 0xf4, 0x2c, 0xd9, 0x2e, 0xa7, 0x92, 0xed, 0xcc, - 0xc8, 0x64, 0x63, 0xf4, 0x2c, 0xdd, 0x2e, 0xa7, 0xd2, 0xed, 0xcc, 0xc8, 0x74, 0x63, 0xf4, 0x2c, - 0xe1, 0xde, 0x29, 0x4c, 0xb8, 0x85, 0xfb, 0x48, 0x38, 0xca, 0x33, 0x9b, 0x72, 0xef, 0xe4, 0x04, - 0x5a, 0x6d, 0x34, 0xf7, 0x54, 0xa0, 0x25, 0xdc, 0x0b, 0x43, 0xed, 0xf3, 0x25, 0x98, 0x26, 0xee, - 0xa6, 0xab, 0xb2, 0xbd, 0xed, 0x64, 0x5f, 0xe1, 0x4a, 0x39, 0xaf, 0x70, 0x95, 0x0b, 0x30, 0x4b, - 0x11, 0x88, 0xbb, 0x05, 0xa5, 0x0b, 0x7d, 0xf6, 0x03, 0xb9, 0xf7, 0x0d, 0xfd, 0xc0, 0x19, 0xac, - 0xe8, 0x81, 0x1e, 0xed, 0x30, 0x12, 0x0c, 0x7f, 0x2b, 0x5f, 0xce, 0xfc, 0x58, 0xc5, 0xa3, 0xfa, - 0x57, 0xd8, 0x6a, 0x4e, 0x20, 0x4c, 0x11, 0x98, 0x03, 0xe4, 0x84, 0x01, 0x5b, 0xa4, 0x22, 0x90, - 0x3e, 0x9d, 0x34, 0x4c, 0x9d, 0xdc, 0x65, 0xb3, 0x77, 0x85, 0x31, 0x82, 0xac, 0xab, 0xc9, 0xdd, - 0x3c, 0xfb, 0x31, 0x49, 0x82, 0x19, 0xe3, 0x1e, 0x9d, 0xfc, 0x2e, 0xc9, 0x0c, 0x4c, 0xfe, 0xbd, - 0x61, 0x45, 0x13, 0x70, 0xb8, 0x0f, 0xda, 0x0a, 0xfd, 0x83, 0x1b, 0xa6, 0xcd, 0x9b, 0xa7, 0x41, - 0xfb, 0xa0, 0xec, 0x17, 0xf5, 0xcf, 0x12, 0x1c, 0xe3, 0xea, 0x4e, 0x07, 0x05, 0x3a, 0xb1, 0x8b, - 0xf0, 0x6a, 0x5c, 0xba, 0xbf, 0x57, 0xe3, 0x9b, 0x30, 0xd3, 0x17, 0xb7, 0xe5, 0xf7, 0xb9, 0xa3, - 0x4e, 0x93, 0x0b, 0x4f, 0xe0, 0x4b, 0xf7, 0xfd, 0x04, 0x5e, 0xfd, 0x92, 0x0c, 0x33, 0xa9, 0x66, - 0x60, 0x68, 0x27, 0xb5, 0x08, 0x60, 0xc6, 0xa1, 0x39, 0xe4, 0xd6, 0x4b, 0x8c, 0x5f, 0x8d, 0x23, - 0xca, 0xbb, 0xf4, 0x2f, 0x1d, 0xfe, 0xd2, 0xff, 0x1a, 0x34, 0xdc, 0xc4, 0x49, 0x43, 0x0e, 0x0d, - 0x72, 0x5c, 0xa9, 0xf1, 0xa4, 0xea, 0x97, 0x25, 0x98, 0xcd, 0x94, 0x6c, 0x72, 0x19, 0x8e, 0x13, - 0x35, 0xbe, 0x0c, 0xc7, 0x00, 0x97, 0x01, 0x72, 0x3a, 0x03, 0x2c, 0x73, 0x9f, 0xff, 0xb1, 0x0e, - 0x03, 0x0b, 0xa2, 0xaf, 0x5c, 0x18, 0x7d, 0x5f, 0x91, 0x61, 0x2e, 0xbf, 0xc1, 0x7a, 0x5c, 0xfd, - 0xf3, 0x55, 0x09, 0x5a, 0x45, 0x6b, 0xe1, 0x03, 0x73, 0x53, 0x92, 0x3f, 0x71, 0xef, 0xfa, 0xb8, - 0xfa, 0xe7, 0x58, 0x94, 0x3e, 0x5c, 0x73, 0xa1, 0xbe, 0x1f, 0xdb, 0x27, 0xee, 0xce, 0x1f, 0x53, - 0xfb, 0x28, 0xe7, 0xa1, 0x49, 0xd5, 0xe4, 0xde, 0xa1, 0xd1, 0xcd, 0x5e, 0x06, 0xaf, 0xbe, 0x1d, - 0xd9, 0x92, 0x6b, 0xb4, 0x8e, 0x2a, 0xc6, 0xd5, 0x9f, 0x4b, 0x91, 0x4f, 0xe2, 0x3d, 0xcf, 0x23, - 0xe5, 0x93, 0x24, 0xd2, 0xb8, 0x36, 0x92, 0x8b, 0xb4, 0x78, 0x2f, 0xf6, 0xef, 0x48, 0x1b, 0x1d, - 0x69, 0xb1, 0x2d, 0xb9, 0x96, 0x5a, 0xfd, 0xb6, 0x04, 0x27, 0x0b, 0xf7, 0xa3, 0x43, 0xad, 0xca, - 0x35, 0x8d, 0xb2, 0xd8, 0x34, 0xa6, 0xd4, 0x2b, 0x1d, 0xbe, 0xd0, 0xfc, 0x52, 0x82, 0xa7, 0x86, - 0x34, 0xef, 0x29, 0xcf, 0x4a, 0x87, 0xf1, 0x6c, 0x4a, 0x58, 0xb9, 0xf0, 0x62, 0x7a, 0xa4, 0x2f, - 0x92, 0xf4, 0x2c, 0xf1, 0xe9, 0xa9, 0xfe, 0x56, 0x82, 0x67, 0xc6, 0xd8, 0x89, 0x3f, 0x5c, 0xca, - 0x14, 0x3e, 0xd4, 0x55, 0x7f, 0x27, 0xc1, 0xd9, 0xf1, 0x36, 0xf5, 0x8f, 0x8a, 0x46, 0x3f, 0xe5, - 0x73, 0x20, 0x7d, 0x5a, 0xc0, 0xb9, 0x55, 0x12, 0xaa, 0x2e, 0x9f, 0x1b, 0x72, 0x2a, 0x37, 0x8e, - 0x2c, 0x03, 0xd2, 0xef, 0xf1, 0xcb, 0xd9, 0xf7, 0xf8, 0x1d, 0x2e, 0x45, 0xb2, 0x3b, 0xd0, 0x82, - 0xa5, 0x84, 0x5b, 0x32, 0x64, 0x71, 0xc9, 0xf8, 0x0c, 0x4c, 0xad, 0x20, 0xab, 0xe3, 0xf7, 0xa3, - 0x5f, 0xce, 0x1c, 0xe9, 0x69, 0xeb, 0x18, 0xfa, 0x2c, 0xc1, 0x34, 0x2f, 0xc0, 0x61, 0x7e, 0x19, - 0xa2, 0xde, 0x86, 0x93, 0x5d, 0x14, 0x2c, 0xba, 0xee, 0x92, 0xde, 0xdb, 0xc5, 0x6e, 0xb6, 0x8d, - 0x2e, 0x79, 0xca, 0x3c, 0xec, 0xa7, 0x40, 0x78, 0x67, 0xe9, 0x27, 0x04, 0xec, 0x05, 0xad, 0x80, - 0x53, 0xd7, 0xa1, 0x5d, 0xc4, 0xf8, 0x50, 0x82, 0xfe, 0x4d, 0x86, 0x49, 0xf2, 0x1e, 0xd8, 0xe8, - 0xf8, 0xfd, 0x2e, 0x22, 0xbf, 0x7f, 0xf7, 0xc9, 0xb5, 0x60, 0x62, 0xed, 0x08, 0x4e, 0x6f, 0x8e, - 0xe5, 0xec, 0xe6, 0x78, 0x03, 0x00, 0x45, 0xdc, 0x7c, 0xf6, 0xc8, 0xe6, 0x62, 0x4e, 0xd8, 0xf1, - 0x53, 0x26, 0x00, 0x7b, 0xb3, 0xcd, 0xb1, 0xc0, 0xeb, 0x4b, 0x47, 0xbf, 0xd7, 0xf1, 0xfb, 0xdc, - 0xdf, 0x35, 0xa1, 0x6f, 0x6d, 0x32, 0x78, 0x6c, 0xbf, 0x98, 0x72, 0x3d, 0x1c, 0xb0, 0x75, 0x48, - 0xc0, 0xa5, 0x5e, 0xa0, 0x57, 0xd3, 0x2f, 0xd0, 0xdb, 0x6f, 0xc3, 0x4c, 0x4a, 0x9c, 0x9c, 0x37, - 0xce, 0x97, 0xc4, 0x9f, 0x4b, 0x9c, 0x1a, 0xa6, 0x20, 0xff, 0x02, 0xfa, 0x2f, 0x32, 0xd4, 0xe3, - 0x0f, 0xca, 0x00, 0x4e, 0x78, 0x48, 0x27, 0x7f, 0xc8, 0x24, 0x7e, 0x91, 0xcd, 0xfd, 0xa8, 0xe9, - 0xff, 0x87, 0x71, 0x5d, 0xd0, 0xf2, 0x28, 0xa9, 0xf9, 0xf2, 0xb9, 0x8e, 0xf1, 0x9b, 0x8b, 0xfc, - 0xc7, 0xe0, 0xa5, 0xa2, 0xc7, 0xe0, 0x99, 0xe7, 0xeb, 0xe5, 0xc2, 0xe7, 0xeb, 0xf1, 0xdf, 0xa8, - 0x68, 0x23, 0x68, 0x17, 0x8b, 0x9e, 0x63, 0xea, 0xff, 0x13, 0x4d, 0x9d, 0x77, 0x85, 0x7e, 0x1d, - 0x1d, 0xd0, 0xbf, 0x8e, 0xc2, 0x59, 0x7a, 0x1b, 0x6a, 0x11, 0x9a, 0x1c, 0x15, 0x1d, 0xb8, 0xe8, - 0x7a, 0xcc, 0x38, 0x02, 0xc5, 0xb7, 0xea, 0x75, 0x46, 0x8f, 0x43, 0xce, 0xd2, 0x03, 0xe4, 0x07, - 0x5c, 0xc8, 0x51, 0x23, 0x64, 0xf0, 0x4b, 0x17, 0xde, 0x3a, 0xbf, 0xe1, 0x22, 0xfb, 0xce, 0x5a, - 0x27, 0xf3, 0x17, 0x9a, 0x5e, 0xc9, 0x48, 0xba, 0x55, 0x25, 0xdf, 0x9f, 0xfb, 0x57, 0x00, 0x00, - 0x00, 0xff, 0xff, 0xe9, 0x20, 0x8e, 0xd1, 0x01, 0x4a, 0x00, 0x00, + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x3c, 0x59, 0x8f, 0x1c, 0x57, + 0xd5, 0xa9, 0xea, 0x65, 0xba, 0x4f, 0xcf, 0xd2, 0x53, 0xb6, 0x27, 0x9d, 0x89, 0xe3, 0x6f, 0xbe, + 0x8a, 0xe5, 0xcf, 0xf1, 0xe7, 0x8c, 0xbf, 0xcf, 0x59, 0x20, 0x9b, 0xd1, 0x2c, 0xf6, 0x78, 0x62, + 0xf7, 0xcc, 0xa4, 0xda, 0x8e, 0x51, 0x12, 0xc9, 0xd4, 0x74, 0xdd, 0xe9, 0xa9, 0x4c, 0x75, 0x55, + 0x4d, 0x2d, 0x63, 0x0f, 0x0f, 0x20, 0x01, 0x02, 0x24, 0x1e, 0x90, 0x10, 0x8b, 0x04, 0x6f, 0xbc, + 0x20, 0x10, 0x8a, 0x10, 0x0a, 0x12, 0x12, 0x08, 0x21, 0xc4, 0x03, 0x12, 0x48, 0xe4, 0x1d, 0x09, + 0x04, 0x2f, 0x20, 0xc4, 0x1f, 0x40, 0x42, 0x0a, 0xba, 0x4b, 0x55, 0xdd, 0x5b, 0x4b, 0x77, 0xbb, + 0x35, 0x8a, 0x6d, 0x99, 0x27, 0xfb, 0x9c, 0xba, 0xe7, 0xdc, 0xb3, 0xdf, 0x73, 0x97, 0x1e, 0x98, + 0xf1, 0x8d, 0xbd, 0xdb, 0x77, 0xfc, 0x0b, 0x77, 0xfc, 0x45, 0xd7, 0x73, 0x02, 0x47, 0x99, 0xf5, + 0x91, 0x77, 0x80, 0xbc, 0xdb, 0xba, 0x6b, 0xde, 0x76, 0x75, 0x4f, 0xef, 0xfb, 0xf3, 0x8b, 0x9b, + 0x2e, 0xb2, 0x9f, 0x5d, 0x6f, 0x3f, 0xdb, 0x21, 0x9f, 0x2e, 0xb8, 0x7b, 0xbd, 0x0b, 0x64, 0xf0, + 0x85, 0x88, 0xd8, 0xd3, 0x5d, 0x17, 0x79, 0x8c, 0x85, 0xfa, 0xa7, 0x32, 0xd4, 0xd7, 0x3c, 0x27, + 0x74, 0xd7, 0xed, 0x1d, 0x47, 0x69, 0xc1, 0x44, 0x8f, 0x00, 0xab, 0x2d, 0x69, 0x41, 0x3a, 0x5b, + 0xd7, 0x22, 0x50, 0x39, 0x09, 0x75, 0xf2, 0xdf, 0x0d, 0xbd, 0x8f, 0x5a, 0x32, 0xf9, 0x96, 0x20, + 0x14, 0x15, 0x26, 0x6d, 0x27, 0x30, 0x77, 0xcc, 0xae, 0x1e, 0x98, 0x8e, 0xdd, 0x2a, 0x91, 0x01, + 0x02, 0x0e, 0x8f, 0x31, 0xed, 0xc0, 0x73, 0x8c, 0xb0, 0x4b, 0xc6, 0x94, 0xe9, 0x18, 0x1e, 0x87, + 0xe7, 0xdf, 0xd1, 0xbb, 0xe8, 0xa6, 0x76, 0xbd, 0x55, 0xa1, 0xf3, 0x33, 0x50, 0x59, 0x80, 0x86, + 0x73, 0xc7, 0x46, 0xde, 0x4d, 0x1f, 0x79, 0xeb, 0xab, 0xad, 0x2a, 0xf9, 0xca, 0xa3, 0x94, 0x53, + 0x00, 0x5d, 0x0f, 0xe9, 0x01, 0xba, 0x61, 0xf6, 0x51, 0x6b, 0x62, 0x41, 0x3a, 0x3b, 0xa5, 0x71, + 0x18, 0xcc, 0xa1, 0x8f, 0xfa, 0xdb, 0xc8, 0x5b, 0x71, 0x42, 0x3b, 0x68, 0xd5, 0xc8, 0x00, 0x1e, + 0xa5, 0x4c, 0x83, 0x8c, 0xee, 0xb6, 0xea, 0x84, 0xb5, 0x8c, 0xee, 0x2a, 0x73, 0x50, 0xf5, 0x03, + 0x3d, 0x08, 0xfd, 0x16, 0x2c, 0x48, 0x67, 0x2b, 0x1a, 0x83, 0x94, 0xd3, 0x30, 0x45, 0xf8, 0x3a, + 0x91, 0x34, 0x0d, 0x42, 0x22, 0x22, 0x63, 0x8b, 0xdd, 0x38, 0x74, 0x51, 0x6b, 0x92, 0x30, 0x48, + 0x10, 0xca, 0x39, 0x68, 0xda, 0x08, 0x19, 0x6f, 0x22, 0x2f, 0xb1, 0xda, 0x14, 0x19, 0x94, 0xc1, + 0x2b, 0x67, 0x60, 0xda, 0x72, 0x9c, 0xbd, 0x36, 0x11, 0x15, 0xfb, 0xa9, 0x35, 0x4d, 0x46, 0xa6, + 0xb0, 0xca, 0x79, 0x98, 0xd5, 0x5d, 0xd7, 0x3a, 0xa4, 0xa8, 0x2b, 0x9e, 0x89, 0x6c, 0xa3, 0x35, + 0x43, 0x86, 0x66, 0x3f, 0x28, 0x2f, 0xc2, 0x1c, 0xef, 0x9f, 0x9b, 0xae, 0x11, 0xd9, 0xae, 0x49, + 0x4c, 0x53, 0xf0, 0x55, 0x59, 0x04, 0x45, 0xf8, 0x42, 0x4d, 0x30, 0x4b, 0x4c, 0x90, 0xf3, 0x45, + 0xfd, 0x7a, 0x09, 0x66, 0xe2, 0x08, 0xbb, 0xe2, 0x78, 0x1d, 0x14, 0x3c, 0xc0, 0x71, 0x46, 0x63, + 0xa0, 0x1a, 0xc7, 0xc0, 0x5a, 0x8e, 0x9f, 0x70, 0x6c, 0x35, 0x2e, 0x3e, 0xb9, 0xd8, 0x73, 0x9c, + 0x9e, 0x85, 0x68, 0x22, 0x6d, 0x87, 0x3b, 0x8b, 0xeb, 0x76, 0xf0, 0xdc, 0xc5, 0x37, 0x75, 0x2b, + 0x44, 0x39, 0x4e, 0x5c, 0xc9, 0x38, 0xb1, 0x36, 0x9c, 0x4d, 0xda, 0xc3, 0xeb, 0x79, 0x1e, 0xae, + 0x0f, 0xe7, 0x93, 0xa5, 0x52, 0x3f, 0x94, 0xe1, 0x18, 0x71, 0x0b, 0xc3, 0x86, 0x96, 0x35, 0xa4, + 0x04, 0xcc, 0x41, 0x35, 0xa4, 0xce, 0xa6, 0x7e, 0x61, 0x10, 0x76, 0x99, 0xe7, 0x58, 0xe8, 0x3a, + 0x3a, 0x40, 0x16, 0xf1, 0x48, 0x45, 0x4b, 0x10, 0xca, 0x3c, 0xd4, 0xde, 0x75, 0x4c, 0x9b, 0x04, + 0x56, 0x99, 0x7c, 0x8c, 0x61, 0xfc, 0xcd, 0x36, 0xbb, 0x7b, 0x36, 0xf6, 0x35, 0xf5, 0x43, 0x0c, + 0xf3, 0x2e, 0xaa, 0x8a, 0x2e, 0x3a, 0x03, 0xd3, 0xba, 0xeb, 0xb6, 0x75, 0xbb, 0x87, 0x3c, 0x3a, + 0xe9, 0x04, 0x4d, 0x07, 0x11, 0x8b, 0x0b, 0x02, 0x9e, 0xa9, 0xe3, 0x84, 0x5e, 0x17, 0x11, 0x6b, + 0x57, 0x34, 0x0e, 0x83, 0xf9, 0x38, 0x2e, 0xf2, 0xb8, 0x3c, 0xa6, 0xa9, 0x9f, 0xc2, 0xb2, 0x90, + 0x80, 0x38, 0x24, 0x70, 0x21, 0x09, 0x03, 0x74, 0xd9, 0x36, 0x88, 0x52, 0x0d, 0x56, 0x48, 0x12, + 0x14, 0x2e, 0x10, 0xa6, 0x7d, 0x60, 0x06, 0x71, 0xb9, 0x9a, 0xa4, 0x05, 0x42, 0x40, 0xaa, 0x5f, + 0x94, 0x60, 0x7a, 0x2b, 0xdc, 0xb6, 0xcc, 0x2e, 0x41, 0x60, 0xe3, 0x27, 0x26, 0x96, 0x04, 0x13, + 0xf3, 0x86, 0x92, 0x8b, 0x0d, 0x55, 0x12, 0x0d, 0x35, 0x07, 0xd5, 0x1e, 0xb2, 0x0d, 0xe4, 0x31, + 0xc3, 0x33, 0x88, 0x29, 0x54, 0x89, 0x14, 0x52, 0xff, 0x28, 0x43, 0xed, 0x23, 0x16, 0x61, 0x01, + 0x1a, 0xee, 0xae, 0x63, 0xa3, 0x8d, 0x10, 0x07, 0x1f, 0x93, 0x85, 0x47, 0x29, 0xc7, 0xa1, 0xb2, + 0x6d, 0x7a, 0xc1, 0x2e, 0xf1, 0xfe, 0x94, 0x46, 0x01, 0x8c, 0x45, 0x7d, 0xdd, 0xa4, 0x2e, 0xaf, + 0x6b, 0x14, 0x60, 0x0a, 0xd5, 0x62, 0x0f, 0x89, 0x4b, 0x41, 0x3d, 0xb3, 0x14, 0x64, 0x23, 0x08, + 0x72, 0x23, 0xe8, 0x1c, 0x34, 0x7b, 0x96, 0xb3, 0xad, 0x5b, 0x1a, 0xea, 0x1e, 0xb4, 0xfd, 0xde, + 0xa6, 0x1b, 0x10, 0x77, 0x57, 0xb4, 0x0c, 0x1e, 0xdb, 0x87, 0x88, 0xd8, 0x09, 0x3c, 0xe6, 0xee, + 0x18, 0x56, 0xff, 0x29, 0x01, 0xd0, 0xb4, 0x23, 0x26, 0x4e, 0xad, 0x65, 0x52, 0x76, 0x2d, 0x9b, + 0x83, 0xaa, 0x87, 0xfa, 0xba, 0xb7, 0x17, 0xa5, 0x1a, 0x85, 0x52, 0x8a, 0x95, 0x32, 0x8a, 0xbd, + 0x02, 0xb0, 0x43, 0xe6, 0xc1, 0x7c, 0x88, 0xc9, 0x71, 0x61, 0xc8, 0x74, 0x09, 0x8b, 0x91, 0xb7, + 0x35, 0x6e, 0x38, 0xce, 0x63, 0xdd, 0x30, 0x58, 0xba, 0x54, 0x68, 0x1e, 0xc7, 0x88, 0x9c, 0x6c, + 0xa9, 0x0e, 0xc8, 0x96, 0x89, 0x38, 0xb8, 0xfe, 0x21, 0x41, 0x7d, 0xd9, 0xd2, 0xbb, 0x7b, 0x23, + 0xaa, 0x2e, 0xaa, 0x28, 0x67, 0x54, 0x5c, 0x83, 0xa9, 0x6d, 0xcc, 0x2e, 0x52, 0x81, 0x58, 0xa1, + 0x71, 0xf1, 0xbf, 0x73, 0xb4, 0x14, 0x93, 0x4b, 0x13, 0xe9, 0x44, 0x75, 0xcb, 0xc3, 0xd5, 0xad, + 0x0c, 0x50, 0x37, 0x5e, 0x2f, 0xd4, 0x6f, 0x95, 0x60, 0x92, 0x94, 0x55, 0x0d, 0xed, 0x87, 0xc8, + 0x0f, 0x94, 0xd7, 0xa0, 0x16, 0x46, 0xa2, 0x4a, 0xa3, 0x8a, 0x1a, 0x93, 0x28, 0x2f, 0xb3, 0xf5, + 0x90, 0xd0, 0xcb, 0x84, 0xfe, 0x64, 0x0e, 0x7d, 0xbc, 0xc0, 0x6a, 0xc9, 0x70, 0xbc, 0x12, 0xee, + 0xea, 0xb6, 0x61, 0x21, 0x0d, 0xf9, 0xa1, 0x15, 0xb0, 0xda, 0x2c, 0xe0, 0x68, 0xa4, 0xed, 0xb7, + 0xfd, 0x1e, 0x5b, 0x27, 0x19, 0x84, 0xad, 0x43, 0xc7, 0xe1, 0x4f, 0x54, 0xf5, 0x04, 0x81, 0x13, + 0xde, 0x43, 0xfb, 0xc4, 0x43, 0x34, 0x3d, 0x23, 0x30, 0x99, 0x93, 0x59, 0x8d, 0x06, 0x82, 0x80, + 0xc3, 0x2e, 0xa6, 0x30, 0x61, 0x40, 0x1b, 0x31, 0x0e, 0x93, 0xe9, 0xc3, 0xc4, 0x42, 0x0e, 0x99, + 0x42, 0x9e, 0x29, 0xb7, 0x8d, 0xbc, 0x72, 0xfb, 0x87, 0x12, 0x4c, 0xd1, 0x24, 0x8c, 0x5c, 0x73, + 0x0a, 0x67, 0x8b, 0xd3, 0x17, 0x62, 0x91, 0xc3, 0x60, 0x5d, 0x30, 0xb4, 0x21, 0x96, 0x3d, 0x01, + 0x87, 0x03, 0x1a, 0xc3, 0x57, 0x84, 0xf2, 0xc7, 0xa3, 0xa2, 0x59, 0xd6, 0xf8, 0x32, 0xc8, 0x61, + 0x70, 0xe1, 0x08, 0x1c, 0x21, 0xc6, 0x62, 0x18, 0xd3, 0x06, 0x4e, 0x3c, 0x3f, 0x8d, 0x32, 0x0e, + 0x83, 0xbd, 0x14, 0x38, 0xd1, 0xdc, 0xd4, 0xd4, 0x09, 0x82, 0x72, 0x66, 0xf3, 0xd2, 0xe5, 0x2f, + 0x86, 0x33, 0xb1, 0x51, 0x1f, 0x18, 0x1b, 0x20, 0xc4, 0x86, 0x98, 0xa2, 0x8d, 0x4c, 0x8a, 0x9e, + 0x86, 0x29, 0xca, 0x27, 0xb5, 0xfc, 0x09, 0x48, 0x31, 0xc2, 0xa6, 0xd2, 0x11, 0x26, 0xc6, 0xc8, + 0x74, 0x41, 0x8c, 0xcc, 0xc4, 0x79, 0xf7, 0x63, 0x19, 0x60, 0x15, 0xb9, 0xba, 0x17, 0xf4, 0x91, + 0x1d, 0x60, 0xf5, 0x8c, 0x18, 0x8a, 0x9d, 0x2b, 0xe0, 0xf8, 0x55, 0x4b, 0x16, 0x57, 0x2d, 0x05, + 0xca, 0xc4, 0xe0, 0xd4, 0x9b, 0xe4, 0xff, 0xd8, 0x98, 0xae, 0xee, 0x51, 0x6e, 0x34, 0x55, 0x62, + 0x18, 0xaf, 0x4a, 0x8e, 0x67, 0xb0, 0x75, 0xac, 0xa2, 0x51, 0x00, 0x97, 0x90, 0x64, 0x3e, 0xb2, + 0x0b, 0xa8, 0xd2, 0x55, 0x46, 0xc4, 0x0e, 0xdd, 0xb8, 0x9c, 0x83, 0xa6, 0x1f, 0x6e, 0x27, 0xca, + 0x6d, 0x84, 0x7d, 0x96, 0x34, 0x19, 0x3c, 0x36, 0x2a, 0xdd, 0xd1, 0xe0, 0x41, 0x74, 0xe1, 0x4b, + 0x10, 0xe9, 0x4e, 0x46, 0xfd, 0x8d, 0x0c, 0xcd, 0x4d, 0xaf, 0xa7, 0xdb, 0xe6, 0xa7, 0xe3, 0x8e, + 0x7d, 0xac, 0x06, 0x60, 0x01, 0x1a, 0xc8, 0xee, 0x59, 0xa6, 0xbf, 0xbb, 0x91, 0xd8, 0x8d, 0x47, + 0xf1, 0xc6, 0x2e, 0x17, 0xb5, 0x08, 0x15, 0xa1, 0x45, 0x98, 0x83, 0x6a, 0xdf, 0xd9, 0x36, 0xad, + 0x28, 0xee, 0x19, 0x44, 0x62, 0x1e, 0x59, 0x88, 0xf4, 0x0a, 0x71, 0xcc, 0x47, 0x88, 0xa4, 0x6d, + 0xa8, 0xe5, 0xb6, 0x0d, 0x75, 0xbe, 0x6d, 0x10, 0x0d, 0x0f, 0x19, 0xc3, 0x53, 0x73, 0x35, 0xe2, + 0x3a, 0x34, 0x68, 0x89, 0xff, 0xa5, 0x04, 0xcd, 0xc4, 0x15, 0xb4, 0xa7, 0x2e, 0x34, 0x65, 0x3a, + 0x3a, 0xe5, 0x9c, 0xe8, 0x8c, 0x63, 0xaa, 0xc4, 0xc7, 0x14, 0x8e, 0x42, 0xc7, 0x37, 0xb9, 0x8d, + 0x4d, 0x0c, 0xe3, 0xd9, 0x2c, 0xa4, 0x73, 0x86, 0xa4, 0x10, 0xb7, 0x8d, 0xad, 0x0a, 0xdb, 0xd8, + 0xf4, 0x4a, 0xfd, 0x53, 0x09, 0x8e, 0xe3, 0x08, 0xc8, 0xa8, 0xb1, 0x09, 0x4d, 0x27, 0x15, 0x25, + 0x6c, 0x29, 0x7b, 0x3a, 0x67, 0x29, 0x4a, 0x07, 0x94, 0x96, 0x21, 0xc6, 0x0c, 0x8d, 0xd4, 0x24, + 0x6c, 0x6d, 0xcb, 0x63, 0x98, 0x96, 0x47, 0xcb, 0x10, 0xab, 0x3f, 0x97, 0xa0, 0x49, 0x17, 0x4f, + 0xae, 0x06, 0x1c, 0xb9, 0xd8, 0xb7, 0xe0, 0x78, 0x7a, 0xe6, 0xeb, 0xa6, 0x1f, 0xb4, 0xe4, 0x85, + 0xd2, 0xa8, 0xa2, 0xe7, 0x32, 0x50, 0x7f, 0x28, 0xc3, 0xe3, 0x5b, 0xa1, 0x65, 0xb5, 0x91, 0xef, + 0xeb, 0x3d, 0xb4, 0x7c, 0xd8, 0x41, 0xfb, 0xf8, 0x83, 0x86, 0xf6, 0x0b, 0x63, 0x08, 0x77, 0x52, + 0xa4, 0x15, 0x31, 0x1d, 0x3b, 0x0e, 0x21, 0x1e, 0x85, 0x53, 0xce, 0xa7, 0x7c, 0x5a, 0xa5, 0x85, + 0x12, 0x5e, 0xa4, 0x19, 0xa8, 0x7c, 0x0a, 0x26, 0x49, 0x97, 0xc0, 0xa6, 0x69, 0x95, 0x89, 0x02, + 0xaf, 0xe6, 0xf6, 0x25, 0xb9, 0x52, 0xd1, 0x7e, 0x83, 0xc1, 0x97, 0xed, 0xc0, 0x3b, 0xd4, 0x04, + 0x8e, 0xf3, 0x6f, 0xc3, 0x6c, 0x66, 0x88, 0xd2, 0x84, 0xd2, 0x1e, 0x3a, 0x64, 0x7a, 0xe0, 0xff, + 0x2a, 0xff, 0x07, 0x95, 0x03, 0xbc, 0x41, 0x65, 0xde, 0x9f, 0xcf, 0x91, 0x80, 0xc9, 0xac, 0xd1, + 0x81, 0x2f, 0xcb, 0x1f, 0x97, 0xd4, 0xa7, 0x63, 0xc5, 0x78, 0x1d, 0x25, 0x41, 0x47, 0xf5, 0x1a, + 0x34, 0xda, 0x7e, 0x6f, 0x55, 0x0f, 0x74, 0x32, 0xf0, 0x55, 0x68, 0xf4, 0x13, 0x90, 0x0c, 0xce, + 0x9f, 0x8f, 0x11, 0x69, 0xfc, 0x70, 0xf5, 0x03, 0x19, 0x5a, 0xf9, 0xa6, 0xf0, 0x5d, 0x2c, 0x03, + 0xf2, 0xbc, 0x15, 0xc7, 0x40, 0x44, 0xb5, 0x8a, 0x16, 0x81, 0xd8, 0x77, 0xc8, 0xf3, 0xf0, 0xfa, + 0xc6, 0xda, 0x78, 0x0a, 0x29, 0x8b, 0x50, 0xb6, 0x22, 0xb7, 0x0c, 0x96, 0x82, 0x8c, 0x53, 0xfa, + 0xd0, 0x24, 0xd6, 0xe5, 0x14, 0x62, 0x3e, 0x5b, 0x1a, 0xd9, 0x67, 0xbe, 0x4b, 0x9d, 0xc6, 0xf1, + 0xa0, 0x8e, 0xcb, 0xb0, 0x9e, 0xef, 0xc2, 0x89, 0xdc, 0xa1, 0x39, 0x0e, 0x7c, 0x5e, 0x74, 0xe0, + 0xa9, 0x62, 0x55, 0xd2, 0x4e, 0x74, 0x41, 0x59, 0x43, 0x41, 0x5b, 0xbf, 0xbb, 0x64, 0x1b, 0x6d, + 0xd3, 0xee, 0xa0, 0x7d, 0x1c, 0xed, 0x0b, 0xd0, 0x60, 0xc7, 0x0d, 0xb1, 0x9b, 0xea, 0x1a, 0x8f, + 0x2a, 0x3c, 0x85, 0x48, 0xe5, 0x43, 0x29, 0x93, 0x0f, 0xea, 0x25, 0x98, 0xe4, 0xa7, 0x23, 0x0b, + 0x8c, 0x7e, 0xb7, 0x83, 0xf6, 0x89, 0x42, 0x53, 0x1a, 0x83, 0x08, 0x9e, 0x8c, 0x60, 0xbb, 0x0f, + 0x06, 0xa9, 0xbf, 0x95, 0xe1, 0x58, 0x46, 0x64, 0xdf, 0xbd, 0x57, 0x3e, 0x7c, 0xbc, 0x94, 0x8a, + 0xe2, 0xa5, 0x2c, 0xc4, 0xcb, 0x1e, 0xcc, 0x52, 0x27, 0x71, 0x53, 0xb7, 0x2a, 0x24, 0x00, 0x5e, + 0xcb, 0xdb, 0x0c, 0x64, 0x85, 0x64, 0xbe, 0xe7, 0xb0, 0xd4, 0xf9, 0x59, 0xbe, 0xf3, 0x08, 0xe6, + 0xf2, 0x07, 0xe7, 0xb8, 0xff, 0x05, 0xd1, 0xfd, 0xff, 0x95, 0xe7, 0x7e, 0x5e, 0x12, 0xce, 0xff, + 0xfb, 0x30, 0x83, 0x8b, 0x6a, 0x07, 0xd9, 0x46, 0xdb, 0xef, 0x11, 0x43, 0x2e, 0x40, 0x83, 0xd2, + 0xb7, 0xfd, 0x5e, 0xb2, 0x39, 0xe4, 0x50, 0x78, 0x44, 0xd7, 0x32, 0x71, 0xf1, 0x24, 0x23, 0x58, + 0xd1, 0xe3, 0x50, 0x78, 0x81, 0xf4, 0x11, 0x3b, 0x99, 0xc1, 0xd6, 0x2d, 0x69, 0x31, 0xac, 0xbe, + 0x3f, 0x01, 0x13, 0x2c, 0x1a, 0xc9, 0xa2, 0x88, 0xf7, 0xe3, 0x71, 0x59, 0xa5, 0x10, 0xed, 0x79, + 0xbb, 0x07, 0x49, 0x78, 0x51, 0x88, 0x3f, 0x16, 0x2b, 0x89, 0xc7, 0x62, 0x29, 0x99, 0xca, 0x59, + 0x99, 0x52, 0x7a, 0x55, 0xb2, 0x7a, 0xe1, 0x16, 0x8f, 0x74, 0x3d, 0x5b, 0x96, 0x1e, 0xec, 0x38, + 0x5e, 0x9f, 0x6d, 0xaf, 0x2b, 0x5a, 0x06, 0x8f, 0xdb, 0x4a, 0x8a, 0x8b, 0xf7, 0x05, 0x74, 0x09, + 0x4f, 0x61, 0x71, 0x17, 0x4e, 0x31, 0xd1, 0xfe, 0x80, 0x9e, 0x8f, 0x88, 0x48, 0x2a, 0x9b, 0xef, + 0x9b, 0x8e, 0x4d, 0x3a, 0x54, 0xba, 0x0d, 0xe0, 0x51, 0x58, 0xf3, 0xbe, 0xdf, 0xbb, 0xe2, 0x39, + 0x7d, 0xb6, 0xf5, 0x8a, 0x40, 0xa2, 0xb9, 0x63, 0x07, 0x51, 0x77, 0x4b, 0x4f, 0x46, 0x78, 0x14, + 0xa6, 0x65, 0x20, 0x69, 0x98, 0x26, 0xb5, 0x08, 0xc4, 0xb1, 0xe4, 0xa3, 0x7d, 0xd6, 0xd8, 0xe3, + 0xff, 0x0a, 0x9e, 0x9b, 0x11, 0x3d, 0x97, 0xea, 0xd4, 0x9a, 0xe4, 0x2b, 0xdf, 0xa9, 0x25, 0x2d, + 0xce, 0xac, 0xd0, 0xe2, 0x2c, 0xc1, 0x84, 0xe3, 0xe2, 0xf4, 0xf7, 0x5b, 0x0a, 0x49, 0x97, 0xff, + 0x29, 0x2e, 0x50, 0x8b, 0x9b, 0x74, 0x24, 0x4d, 0x8c, 0x88, 0x4e, 0xb9, 0x0e, 0x33, 0xce, 0xce, + 0x8e, 0x65, 0xda, 0x68, 0x2b, 0xf4, 0x77, 0xc9, 0x36, 0xfc, 0x18, 0x09, 0x76, 0x35, 0xaf, 0x89, + 0x10, 0x47, 0x6a, 0x69, 0x52, 0xdc, 0xf9, 0xe9, 0x01, 0xdd, 0x00, 0x91, 0x02, 0x77, 0x9c, 0x14, + 0x38, 0x01, 0x47, 0xce, 0x17, 0xb9, 0x42, 0x7f, 0x82, 0x18, 0x8e, 0x47, 0x51, 0x2e, 0x81, 0xde, + 0xdd, 0x45, 0xe4, 0x40, 0xa9, 0x35, 0x47, 0xfb, 0x47, 0x1e, 0xc7, 0xba, 0xbb, 0xc7, 0xe3, 0xe6, + 0xb5, 0x05, 0x13, 0xa6, 0xaf, 0x21, 0xbd, 0x1b, 0xb4, 0xce, 0x2e, 0x48, 0x67, 0x6b, 0x5a, 0x04, + 0x2a, 0x17, 0xe1, 0xb8, 0xe9, 0x5f, 0xbe, 0x1b, 0x20, 0xcf, 0xd6, 0x2d, 0xfc, 0xaf, 0xed, 0x13, + 0x8b, 0x3d, 0x43, 0x86, 0xe5, 0x7e, 0x53, 0x16, 0x41, 0xc1, 0x51, 0x60, 0x7a, 0x7e, 0xd0, 0x76, + 0x0c, 0x73, 0xe7, 0x90, 0x38, 0xe6, 0x1c, 0x71, 0x4c, 0xce, 0x97, 0xf9, 0x97, 0x61, 0x92, 0x37, + 0x6f, 0x4e, 0x29, 0x39, 0xce, 0x97, 0x92, 0x1a, 0x5f, 0x29, 0xbe, 0x21, 0xc1, 0x4c, 0xca, 0xb0, + 0x78, 0x74, 0x60, 0x06, 0x16, 0x62, 0x1c, 0x28, 0x80, 0xf7, 0x6d, 0x06, 0xf2, 0xbb, 0x2c, 0x75, + 0xc9, 0xff, 0x99, 0x1d, 0x4a, 0xb1, 0x1d, 0x54, 0x98, 0x34, 0x37, 0x3b, 0x98, 0x51, 0xc7, 0x09, + 0x6d, 0x23, 0xbe, 0x1e, 0xe0, 0x70, 0xe4, 0x40, 0x61, 0xb3, 0xb3, 0xac, 0x1b, 0x3d, 0x44, 0x2f, + 0x8b, 0x2a, 0x44, 0x26, 0x11, 0xa9, 0x1a, 0x50, 0xbb, 0x61, 0xba, 0xfe, 0x8a, 0xd3, 0xef, 0xe3, + 0x00, 0x34, 0x50, 0x80, 0x77, 0x18, 0x12, 0x71, 0x17, 0x83, 0xb0, 0x2f, 0x0d, 0xb4, 0xa3, 0x87, + 0x56, 0x80, 0x87, 0x46, 0x05, 0x8b, 0x43, 0x91, 0xc3, 0x0d, 0xdf, 0xb1, 0x57, 0x29, 0x35, 0x95, + 0x93, 0xc3, 0xa8, 0xbf, 0x96, 0xa1, 0x49, 0xea, 0xf1, 0x0a, 0x09, 0x77, 0x83, 0x10, 0x5d, 0x84, + 0x0a, 0x29, 0x3f, 0xac, 0x9f, 0x1d, 0x7c, 0x22, 0x44, 0x87, 0x2a, 0x97, 0xa0, 0xea, 0xb8, 0xa4, + 0x09, 0xa6, 0xc5, 0xfa, 0x4c, 0x11, 0x91, 0x78, 0x21, 0xa0, 0x31, 0x2a, 0xe5, 0x0a, 0x40, 0x3f, + 0xe9, 0x79, 0x69, 0xeb, 0x32, 0x2a, 0x0f, 0x8e, 0x12, 0x1b, 0x37, 0x5e, 0x95, 0xe3, 0x5b, 0x81, + 0x92, 0x26, 0x22, 0x95, 0x0d, 0x98, 0x26, 0x62, 0x6f, 0x46, 0x47, 0x83, 0xc4, 0x07, 0xa3, 0xcf, + 0x98, 0xa2, 0x56, 0xbf, 0x2b, 0x31, 0x33, 0xe2, 0xaf, 0x1d, 0x44, 0x6d, 0x9f, 0x98, 0x44, 0x1a, + 0xcb, 0x24, 0xf3, 0x50, 0xeb, 0x87, 0xdc, 0x49, 0x65, 0x49, 0x8b, 0xe1, 0xc4, 0x45, 0xa5, 0x91, + 0x5d, 0xa4, 0x7e, 0x4f, 0x82, 0xd6, 0xeb, 0x8e, 0x69, 0x93, 0x0f, 0x4b, 0xae, 0x6b, 0xb1, 0xcb, + 0xa3, 0xb1, 0x7d, 0xfe, 0x09, 0xa8, 0xeb, 0x94, 0x8d, 0x1d, 0x30, 0xb7, 0x8f, 0x70, 0xfa, 0x98, + 0xd0, 0x70, 0x47, 0x40, 0x25, 0xfe, 0x08, 0x48, 0x7d, 0x4f, 0x82, 0x69, 0x6a, 0x94, 0x37, 0x42, + 0x33, 0x18, 0x5b, 0xbe, 0x65, 0xa8, 0xed, 0x87, 0x66, 0x30, 0x46, 0x54, 0xc6, 0x74, 0xd9, 0x78, + 0x2a, 0xe5, 0xc4, 0x93, 0xfa, 0x81, 0x04, 0x27, 0xd3, 0x66, 0x5d, 0xea, 0x76, 0x91, 0x7b, 0x3f, + 0x53, 0x4a, 0x38, 0x02, 0x2b, 0xe7, 0x1c, 0x81, 0x79, 0xa8, 0x8b, 0xcc, 0x03, 0xe4, 0x2d, 0xf9, + 0x6c, 0x4f, 0xcf, 0x61, 0x72, 0x55, 0xd2, 0xd0, 0xbb, 0xa8, 0xfb, 0xf0, 0xaa, 0xf4, 0x79, 0x19, + 0x9e, 0x58, 0x8b, 0x13, 0xf7, 0x86, 0xa7, 0xdb, 0xfe, 0x0e, 0xf2, 0xbc, 0xfb, 0xa8, 0xcf, 0x75, + 0x98, 0xb2, 0xd1, 0x9d, 0x44, 0x26, 0x96, 0xce, 0xa3, 0xb2, 0x11, 0x89, 0x47, 0xab, 0x7d, 0xea, + 0xbf, 0x24, 0x68, 0x52, 0x3e, 0xd7, 0xcc, 0xee, 0xde, 0x7d, 0x54, 0x7e, 0x03, 0xa6, 0xf7, 0x88, + 0x04, 0x18, 0x1a, 0xa3, 0xec, 0xa7, 0xa8, 0x47, 0x54, 0xff, 0x43, 0x09, 0x66, 0xa3, 0x3b, 0xef, + 0x03, 0xf3, 0x7e, 0x06, 0xf3, 0x16, 0xcc, 0xd0, 0x3b, 0x84, 0x71, 0x0d, 0x90, 0x26, 0x1f, 0xd1, + 0x02, 0x3f, 0x91, 0x60, 0x86, 0x72, 0xba, 0x6c, 0x07, 0xc8, 0x1b, 0x5b, 0xff, 0xab, 0xd0, 0x40, + 0x76, 0xe0, 0xe9, 0xf6, 0x38, 0x15, 0x96, 0x27, 0x1d, 0xb1, 0xc8, 0xbe, 0x27, 0x81, 0x42, 0x58, + 0xad, 0x9a, 0x7e, 0xdf, 0xf4, 0xfd, 0xfb, 0xe8, 0xba, 0xd1, 0x04, 0xfe, 0xb6, 0x0c, 0xc7, 0x39, + 0x2e, 0xed, 0x30, 0x78, 0xd0, 0x45, 0x56, 0x56, 0xa1, 0x8e, 0x7b, 0x0c, 0xfe, 0x86, 0x77, 0xd4, + 0x89, 0x12, 0x42, 0xdc, 0x05, 0x13, 0xa0, 0x83, 0xba, 0x8e, 0x6d, 0xd0, 0x52, 0x3c, 0xa5, 0x09, + 0x38, 0x5c, 0x86, 0xe6, 0x39, 0x36, 0x2b, 0xba, 0xdd, 0x45, 0xd6, 0x23, 0x63, 0x22, 0xf5, 0x07, + 0x12, 0x4c, 0xd3, 0x21, 0x0f, 0xbe, 0xca, 0xea, 0x8f, 0x24, 0x16, 0xc8, 0x0f, 0x8d, 0x97, 0x70, + 0x78, 0xcd, 0x71, 0x5c, 0xf8, 0xbe, 0xfc, 0xc1, 0x0d, 0xad, 0xab, 0xd0, 0xe8, 0xee, 0xea, 0x76, + 0x6f, 0xac, 0xe0, 0xe2, 0x49, 0xd5, 0x00, 0x1e, 0xe7, 0xaf, 0x1c, 0x56, 0xe8, 0x27, 0xa2, 0xfe, + 0x73, 0x29, 0x55, 0x06, 0xbe, 0xe0, 0xb8, 0x37, 0xa3, 0xef, 0xc1, 0x2c, 0xbd, 0x03, 0xe7, 0x7a, + 0x46, 0xa5, 0x05, 0x13, 0xba, 0x41, 0x0f, 0x5e, 0x24, 0x42, 0x14, 0x81, 0xe2, 0x1b, 0x09, 0xf6, + 0x1a, 0x2f, 0x79, 0x23, 0x71, 0x0a, 0x40, 0x37, 0x8c, 0x5b, 0x8e, 0x67, 0x98, 0x76, 0xb4, 0x41, + 0xe0, 0x30, 0xea, 0xeb, 0x30, 0x79, 0xc5, 0x73, 0xfa, 0x37, 0xb8, 0xdb, 0xec, 0x81, 0xf7, 0xed, + 0xfc, 0x4d, 0xb8, 0x2c, 0xde, 0x84, 0xab, 0xef, 0xc0, 0x89, 0x8c, 0xe0, 0xc4, 0x58, 0x2b, 0xf4, + 0x92, 0x3e, 0x9a, 0x84, 0x85, 0x4c, 0xde, 0x49, 0x24, 0x2f, 0x8b, 0x26, 0x10, 0xa9, 0x9f, 0x93, + 0xe0, 0xa9, 0x0c, 0xfb, 0x25, 0xd7, 0xf5, 0x9c, 0x03, 0xe6, 0x93, 0xa3, 0x98, 0x46, 0x6c, 0x8e, + 0xe5, 0x54, 0x73, 0x9c, 0x2f, 0x84, 0xd0, 0xd0, 0x7f, 0x04, 0x42, 0x7c, 0x5f, 0x82, 0x19, 0x26, + 0x84, 0x61, 0xb0, 0x69, 0x5f, 0x80, 0x2a, 0x7d, 0x26, 0xc4, 0x26, 0x7c, 0x2a, 0x77, 0xc2, 0xe8, + 0x79, 0x93, 0xc6, 0x06, 0x67, 0x23, 0x52, 0xce, 0xcb, 0xa8, 0x97, 0xe2, 0x60, 0x1f, 0xf9, 0x21, + 0x0f, 0x23, 0x50, 0x3f, 0x19, 0x05, 0xf3, 0x2a, 0xb2, 0xd0, 0x51, 0xda, 0x48, 0xbd, 0x09, 0xd3, + 0xe4, 0xcd, 0x52, 0x62, 0x83, 0x23, 0x61, 0x7b, 0x0b, 0x9a, 0x84, 0xed, 0x91, 0xcb, 0x1b, 0x67, + 0x07, 0xb6, 0x0f, 0x5f, 0x4a, 0x8e, 0x84, 0xfb, 0xb3, 0x70, 0x2c, 0xb2, 0x3d, 0x7d, 0x07, 0x4c, + 0x79, 0x17, 0xdc, 0x4c, 0xaa, 0xdf, 0x94, 0x60, 0x6e, 0xc5, 0xb1, 0x0f, 0x90, 0xe7, 0x0b, 0x6f, + 0x87, 0x29, 0x89, 0x90, 0xfd, 0x0c, 0x52, 0x16, 0x41, 0xe9, 0x72, 0x14, 0xec, 0x70, 0x54, 0x26, + 0x87, 0xa3, 0x39, 0x5f, 0x94, 0xe7, 0xe1, 0x44, 0x48, 0xb8, 0xde, 0xb4, 0x3d, 0xa4, 0x1b, 0xe4, + 0x3c, 0x8e, 0x2b, 0x7a, 0xf9, 0x1f, 0xd5, 0x77, 0x61, 0x9e, 0x97, 0xab, 0x83, 0x82, 0x2d, 0xcf, + 0x3c, 0xe0, 0x64, 0x63, 0x27, 0xff, 0x92, 0x70, 0xf2, 0x9f, 0xdc, 0x14, 0xc8, 0xc2, 0x4d, 0xc1, + 0x49, 0xa8, 0x9b, 0x3e, 0x63, 0x40, 0xe6, 0xad, 0x69, 0x09, 0x42, 0xd5, 0x61, 0x96, 0x7a, 0x99, + 0xdd, 0xc4, 0x91, 0x29, 0xe6, 0xa1, 0x46, 0x43, 0x37, 0x9e, 0x24, 0x86, 0x0b, 0xef, 0xb5, 0x0a, + 0x6f, 0x71, 0xd5, 0x0e, 0xcc, 0xb2, 0x97, 0x4c, 0x5b, 0x7a, 0xcf, 0xb4, 0x69, 0x2d, 0x3f, 0x05, + 0xe0, 0xea, 0xbd, 0xe8, 0x5d, 0x25, 0xbd, 0x8f, 0xe4, 0x30, 0xf8, 0xbb, 0xbf, 0xeb, 0xdc, 0x61, + 0xdf, 0x65, 0xfa, 0x3d, 0xc1, 0xa8, 0x6f, 0x82, 0xa2, 0x21, 0xdf, 0x75, 0x6c, 0x1f, 0x71, 0x5c, + 0x17, 0xa0, 0xb1, 0x12, 0x7a, 0x1e, 0xb2, 0xf1, 0x54, 0xd1, 0xe3, 0x40, 0x1e, 0x85, 0xf9, 0x76, + 0x12, 0xbe, 0xf4, 0xee, 0x82, 0xc3, 0xa8, 0x7f, 0xae, 0x42, 0xbd, 0x63, 0xf6, 0x6c, 0xdd, 0xd2, + 0xd0, 0xbe, 0xf2, 0x2a, 0x54, 0xe9, 0xce, 0x88, 0x05, 0x64, 0xde, 0x59, 0x3a, 0x1d, 0x4d, 0xb7, + 0x80, 0x1a, 0xda, 0xbf, 0xfa, 0x98, 0xc6, 0x68, 0x94, 0x37, 0xa2, 0xf7, 0x5e, 0xeb, 0xf4, 0xa4, + 0x8c, 0x2d, 0x93, 0xcf, 0x0c, 0x61, 0xc2, 0x46, 0x53, 0x5e, 0x22, 0x07, 0x2c, 0x50, 0x97, 0x74, + 0x4e, 0xac, 0x0a, 0x15, 0x0b, 0x44, 0x1b, 0x2c, 0x26, 0x10, 0xa5, 0xc1, 0xd4, 0x3a, 0x39, 0x4b, + 0x62, 0x0d, 0x41, 0x31, 0x35, 0x3d, 0x72, 0x62, 0xd4, 0x94, 0x06, 0x53, 0xef, 0x86, 0x76, 0xef, + 0xa6, 0xcb, 0x8e, 0x38, 0x8b, 0xa9, 0xaf, 0x92, 0x61, 0x8c, 0x9a, 0xd2, 0x60, 0x6a, 0x8f, 0xac, + 0x11, 0xc4, 0xe8, 0x83, 0xa8, 0xe9, 0x52, 0xc2, 0xa8, 0x29, 0x8d, 0xf2, 0x16, 0x34, 0x7b, 0x28, + 0xd0, 0x1c, 0xa7, 0xbf, 0x7c, 0xb8, 0xc6, 0xee, 0xb7, 0xe8, 0xf3, 0xf6, 0xf3, 0x85, 0x7c, 0xd6, + 0x52, 0x04, 0x94, 0x63, 0x86, 0x8f, 0xf2, 0x19, 0x78, 0xca, 0xb1, 0x31, 0x6a, 0x4b, 0xf7, 0x02, + 0xb3, 0x6b, 0xba, 0xba, 0x1d, 0xac, 0x38, 0xb6, 0x4d, 0xd6, 0x33, 0x0d, 0xed, 0xb3, 0x07, 0xf0, + 0x2f, 0x16, 0x4e, 0xb4, 0x39, 0x88, 0xfa, 0xea, 0x63, 0xda, 0x60, 0xf6, 0xca, 0x97, 0x24, 0x58, + 0xc8, 0x8c, 0x58, 0x35, 0xfd, 0x2e, 0x2f, 0x03, 0x7d, 0x3c, 0xff, 0xd2, 0xe8, 0x32, 0xa4, 0x18, + 0x5c, 0x7d, 0x4c, 0x1b, 0x3a, 0x09, 0xb3, 0xf2, 0x0d, 0x67, 0x0f, 0xd9, 0xcb, 0x87, 0x78, 0xec, + 0xfa, 0x2a, 0xb9, 0x4b, 0x1b, 0x62, 0x65, 0x81, 0x20, 0xb1, 0xb2, 0x80, 0x5e, 0xae, 0xc3, 0x84, + 0xab, 0x1f, 0x5a, 0x8e, 0x6e, 0xa8, 0x7f, 0x2b, 0x03, 0x44, 0xae, 0xf6, 0x49, 0x47, 0x2c, 0x24, + 0xd9, 0xe9, 0xa1, 0x49, 0xe6, 0x5a, 0x87, 0x5c, 0x9a, 0x75, 0xf2, 0xd3, 0xec, 0x7f, 0x47, 0x4d, + 0x33, 0xca, 0x2d, 0x95, 0x68, 0x97, 0x52, 0x89, 0x76, 0x7a, 0x68, 0xa2, 0x31, 0xa1, 0x58, 0xaa, + 0x5d, 0x4a, 0xa5, 0xda, 0xe9, 0xa1, 0xa9, 0xc6, 0xe8, 0x59, 0xb2, 0x5d, 0x4a, 0x25, 0xdb, 0xe9, + 0xa1, 0xc9, 0xc6, 0xe8, 0x59, 0xba, 0x5d, 0x4a, 0xa5, 0xdb, 0xe9, 0xa1, 0xe9, 0xc6, 0xe8, 0x59, + 0xc2, 0xbd, 0x53, 0x98, 0x70, 0x8b, 0xf7, 0x90, 0x70, 0x94, 0x67, 0x36, 0xe5, 0xde, 0xc9, 0x09, + 0xb4, 0xda, 0x70, 0xee, 0xa9, 0x40, 0x4b, 0xb8, 0x17, 0x86, 0xda, 0x17, 0x4a, 0x30, 0x4d, 0xdc, + 0x4d, 0x57, 0x65, 0x7b, 0xc7, 0xc9, 0xbe, 0xc2, 0x95, 0x72, 0x5e, 0xe1, 0x2a, 0xe7, 0x61, 0x96, + 0x22, 0x10, 0x77, 0x0b, 0x4a, 0x17, 0xfa, 0xec, 0x07, 0x72, 0xef, 0x1b, 0xfa, 0x81, 0xd3, 0x5f, + 0xd5, 0x03, 0x3d, 0xda, 0x61, 0x24, 0x18, 0xfe, 0x56, 0xbe, 0x9c, 0xf9, 0xb1, 0x8a, 0x47, 0xf5, + 0xaf, 0xb0, 0xd5, 0x9c, 0x40, 0x98, 0x22, 0x30, 0xfb, 0xc8, 0x09, 0x03, 0xb6, 0x48, 0x45, 0x20, + 0x7d, 0x3a, 0x69, 0x98, 0x3a, 0xb9, 0xcb, 0x66, 0xef, 0x0a, 0x63, 0x04, 0x59, 0x57, 0x93, 0xbb, + 0x79, 0xf6, 0x63, 0x92, 0x04, 0x33, 0xc2, 0x3d, 0x3a, 0xf9, 0x5d, 0x92, 0x19, 0x98, 0xfc, 0x7b, + 0xc3, 0x8a, 0x26, 0xe0, 0x70, 0x1f, 0xb4, 0x1d, 0xfa, 0x87, 0xd7, 0x4d, 0x9b, 0x37, 0x4f, 0x83, + 0xf6, 0x41, 0xd9, 0x2f, 0xea, 0x5f, 0x24, 0x38, 0xc6, 0xd5, 0x9d, 0x36, 0x0a, 0x74, 0x62, 0x17, + 0xe1, 0xd5, 0xb8, 0x74, 0x6f, 0xaf, 0xc6, 0xb7, 0x60, 0xa6, 0x27, 0x6e, 0xcb, 0xef, 0x71, 0x47, + 0x9d, 0x26, 0x17, 0x9e, 0xc0, 0x97, 0xee, 0xf9, 0x09, 0xbc, 0xfa, 0x65, 0x19, 0x66, 0x52, 0xcd, + 0xc0, 0xc0, 0x4e, 0x6a, 0x09, 0xc0, 0x8c, 0x43, 0x73, 0xc0, 0xad, 0x97, 0x18, 0xbf, 0x1a, 0x47, + 0x94, 0x77, 0xe9, 0x5f, 0x1a, 0xff, 0xd2, 0xff, 0x2a, 0x34, 0xdc, 0xc4, 0x49, 0x03, 0x0e, 0x0d, + 0x72, 0x5c, 0xa9, 0xf1, 0xa4, 0xea, 0x57, 0x24, 0x98, 0xcd, 0x94, 0x6c, 0x72, 0x19, 0x8e, 0x13, + 0x35, 0xbe, 0x0c, 0xc7, 0x00, 0x97, 0x01, 0x72, 0x3a, 0x03, 0x2c, 0xf3, 0x80, 0xff, 0xb1, 0x0e, + 0x03, 0x0b, 0xa2, 0xaf, 0x5c, 0x18, 0x7d, 0x5f, 0x95, 0x61, 0x2e, 0xbf, 0xc1, 0x7a, 0x54, 0xfd, + 0xf3, 0x35, 0x09, 0x5a, 0x45, 0x6b, 0xe1, 0x7d, 0x73, 0x53, 0x92, 0x3f, 0x71, 0xef, 0xfa, 0xa8, + 0xfa, 0xe7, 0x58, 0x94, 0x3e, 0x5c, 0x73, 0xa1, 0xbe, 0x1f, 0xdb, 0x27, 0xee, 0xce, 0x1f, 0x51, + 0xfb, 0x28, 0xe7, 0xa0, 0x49, 0xd5, 0xe4, 0xde, 0xa1, 0xd1, 0xcd, 0x5e, 0x06, 0xaf, 0xbe, 0x1d, + 0xd9, 0x92, 0x6b, 0xb4, 0x8e, 0x2a, 0xc6, 0xd5, 0x5f, 0x48, 0x91, 0x4f, 0xe2, 0x3d, 0xcf, 0x43, + 0xe5, 0x93, 0x24, 0xd2, 0xb8, 0x36, 0x92, 0x8b, 0xb4, 0x78, 0x2f, 0xf6, 0x9f, 0x48, 0x1b, 0x1e, + 0x69, 0xb1, 0x2d, 0xb9, 0x96, 0x5a, 0xfd, 0x8e, 0x04, 0x4f, 0x14, 0xee, 0x47, 0x07, 0x5a, 0x95, + 0x6b, 0x1a, 0x65, 0xb1, 0x69, 0x4c, 0xa9, 0x57, 0x1a, 0xbf, 0xd0, 0xfc, 0x4a, 0x82, 0x27, 0x07, + 0x34, 0xef, 0x29, 0xcf, 0x4a, 0xe3, 0x78, 0x36, 0x25, 0xac, 0x5c, 0x78, 0x31, 0x3d, 0xd4, 0x17, + 0x49, 0x7a, 0x96, 0xf8, 0xf4, 0x54, 0x7f, 0x27, 0xc1, 0xd3, 0x23, 0xec, 0xc4, 0x1f, 0x2c, 0x65, + 0x0a, 0x1f, 0xea, 0xaa, 0xbf, 0x97, 0xe0, 0xcc, 0x68, 0x9b, 0xfa, 0x87, 0x45, 0xa3, 0x9f, 0xf1, + 0x39, 0x90, 0x3e, 0x2d, 0xe0, 0xdc, 0x2a, 0x09, 0x55, 0x97, 0xcf, 0x0d, 0x39, 0x95, 0x1b, 0x47, + 0x96, 0x01, 0xe9, 0xf7, 0xf8, 0xe5, 0xec, 0x7b, 0xfc, 0x36, 0x97, 0x22, 0xd9, 0x1d, 0x68, 0xc1, + 0x52, 0xc2, 0x2d, 0x19, 0xb2, 0xb8, 0x64, 0x7c, 0x16, 0xa6, 0x56, 0x91, 0xd5, 0xf6, 0x7b, 0xd1, + 0x2f, 0x67, 0x8e, 0xf4, 0xb4, 0x75, 0x04, 0x7d, 0x96, 0x61, 0x9a, 0x17, 0x60, 0x9c, 0x5f, 0x86, + 0xa8, 0xb7, 0xe0, 0x89, 0x0e, 0x0a, 0x96, 0x5c, 0x77, 0x59, 0xef, 0xee, 0x61, 0x37, 0xdb, 0x46, + 0x87, 0x3c, 0x65, 0x1e, 0xf4, 0x53, 0x20, 0xbc, 0xb3, 0xf4, 0x13, 0x02, 0xf6, 0x82, 0x56, 0xc0, + 0xa9, 0x1b, 0x30, 0x5f, 0xc4, 0x78, 0x2c, 0x41, 0xff, 0x2e, 0xc3, 0x24, 0x79, 0x0f, 0x6c, 0xb4, + 0xfd, 0x5e, 0x07, 0x91, 0xdf, 0xbf, 0xfb, 0xe4, 0x5a, 0x30, 0xb1, 0x76, 0x04, 0xa7, 0x37, 0xc7, + 0x72, 0x76, 0x73, 0xbc, 0x09, 0x80, 0x22, 0x6e, 0x3e, 0x7b, 0x64, 0x73, 0x21, 0x27, 0xec, 0xf8, + 0x29, 0x13, 0x80, 0xbd, 0xd9, 0xe6, 0x58, 0xe0, 0xf5, 0xa5, 0xad, 0xdf, 0x6d, 0xfb, 0x3d, 0xee, + 0xef, 0x9a, 0xd0, 0xb7, 0x36, 0x19, 0x3c, 0xb6, 0x5f, 0x4c, 0xb9, 0x11, 0xf6, 0xd9, 0x3a, 0x24, + 0xe0, 0x52, 0x2f, 0xd0, 0xab, 0xe9, 0x17, 0xe8, 0xf3, 0x6f, 0xc3, 0x4c, 0x4a, 0x9c, 0x9c, 0x37, + 0xce, 0x17, 0xc5, 0x9f, 0x4b, 0x9c, 0x1c, 0xa4, 0x20, 0xff, 0x02, 0xfa, 0xaf, 0x32, 0xd4, 0xe3, + 0x0f, 0x4a, 0x1f, 0x4e, 0x78, 0x48, 0x27, 0x7f, 0xc8, 0x24, 0x7e, 0x91, 0xcd, 0xfd, 0xa8, 0xe9, + 0x63, 0x83, 0xb8, 0x2e, 0x6a, 0x79, 0x94, 0xd4, 0x7c, 0xf9, 0x5c, 0x47, 0xf8, 0xcd, 0x45, 0xfe, + 0x63, 0xf0, 0x52, 0xd1, 0x63, 0xf0, 0xcc, 0xf3, 0xf5, 0x72, 0xe1, 0xf3, 0xf5, 0xf8, 0x6f, 0x54, + 0xcc, 0x23, 0x98, 0x2f, 0x16, 0x3d, 0xc7, 0xd4, 0xff, 0x2f, 0x9a, 0x3a, 0xef, 0x0a, 0xfd, 0x1a, + 0x3a, 0xa4, 0x7f, 0x1d, 0x85, 0xb3, 0xf4, 0x0e, 0xd4, 0x22, 0x34, 0x39, 0x2a, 0x3a, 0x74, 0xd1, + 0xb5, 0x98, 0x71, 0x04, 0x8a, 0x6f, 0xd5, 0xeb, 0x8c, 0x1e, 0x87, 0x9c, 0xa5, 0x07, 0xc8, 0x0f, + 0xb8, 0x90, 0xa3, 0x46, 0xc8, 0xe0, 0x97, 0xcf, 0xbf, 0x75, 0x6e, 0xd3, 0x45, 0xf6, 0xed, 0xf5, + 0x76, 0xe6, 0x2f, 0x34, 0xbd, 0x92, 0x91, 0x74, 0xbb, 0x4a, 0xbe, 0x3f, 0xf7, 0xef, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x57, 0xe3, 0xa7, 0x29, 0x01, 0x4a, 0x00, 0x00, } diff --git a/pkg/proto/sdk_ws/ws.proto b/pkg/proto/sdk_ws/ws.proto index de5b25623..668370b2a 100644 --- a/pkg/proto/sdk_ws/ws.proto +++ b/pkg/proto/sdk_ws/ws.proto @@ -266,9 +266,10 @@ message MsgData { bytes msgDataList = 21; string attachedInfo = 22; string ex = 23; - bool isReact = 24; - bool isExternalExtensions = 25; - int64 msgFirstModifyTime = 26; + + bool isReact = 40; + bool isExternalExtensions = 41; + int64 msgFirstModifyTime = 42; } message OfflinePushInfo{ From 529821475ede1a557656011524228b71513440ac Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Fri, 10 Feb 2023 12:37:51 +0800 Subject: [PATCH 279/313] ws pb update --- pkg/proto/sdk_ws/ws.pb.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/proto/sdk_ws/ws.pb.go b/pkg/proto/sdk_ws/ws.pb.go index fcb26feb5..23e623e4b 100644 --- a/pkg/proto/sdk_ws/ws.pb.go +++ b/pkg/proto/sdk_ws/ws.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // source: sdk_ws/ws.proto -package sdk_ws // import "Open_IM/pkg/proto/sdk_ws" +package server_api_params // import "Open_IM/pkg/proto/sdk_ws" import proto "github.com/golang/protobuf/proto" import fmt "fmt" From fdd765f982619a93a9c7633b3c10f4a69605943e Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Wed, 15 Feb 2023 10:45:12 +0800 Subject: [PATCH 280/313] extend msg update --- internal/rpc/msg/extend_msg.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/internal/rpc/msg/extend_msg.go b/internal/rpc/msg/extend_msg.go index d262efab5..e1d02dc69 100644 --- a/internal/rpc/msg/extend_msg.go +++ b/internal/rpc/msg/extend_msg.go @@ -291,11 +291,11 @@ func (rpc *rpcChat) AddMessageReactionExtensions(ctx context.Context, req *msg.A if callbackResp.ActionCode != constant.ActionAllow || callbackResp.ErrCode != 0 { rResp.ErrCode = int32(callbackResp.ErrCode) rResp.ErrMsg = callbackResp.ErrMsg - for _, value := range req.ReactionExtensionList { + for _, value := range callbackResp.ResultReactionExtensionList { temp := new(msg.KeyValueResp) - temp.KeyValue = value - temp.ErrMsg = callbackResp.ErrMsg - temp.ErrCode = 100 + temp.KeyValue = value.KeyValue + temp.ErrMsg = value.ErrMsg + temp.ErrCode = value.ErrCode rResp.Result = append(rResp.Result, temp) } return &rResp, nil From 6135ce09191531375f0fc4293cdf50b944095a62 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 20 Feb 2023 10:24:51 +0800 Subject: [PATCH 281/313] fix mongoDB bug --- pkg/common/db/mongoModel.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkg/common/db/mongoModel.go b/pkg/common/db/mongoModel.go index 5b8cd2fb9..22165efd3 100644 --- a/pkg/common/db/mongoModel.go +++ b/pkg/common/db/mongoModel.go @@ -273,7 +273,7 @@ func (d *DataBases) GetMsgBySeqList(uid string, seqList []uint32, operationID st func (d *DataBases) GetUserMsgListByIndex(ID string, index int64) (*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) - regex := fmt.Sprintf("^%s", ID) + regex := fmt.Sprintf("^%s:", ID) findOpts := options.Find().SetLimit(1).SetSkip(index).SetSort(bson.M{"uid": 1}) var msgs []UserChat //primitive.Regex{Pattern: regex} @@ -330,7 +330,7 @@ func (d *DataBases) ReplaceMsgToBlankByIndex(suffixID string, index int) (replac 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) + 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) @@ -358,7 +358,7 @@ func (d *DataBases) GetNewestMsg(ID string) (msg *open_im_sdk.MsgData, err error 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) + 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) From 0e9810e9ff2535fbaffcdbc6b577f794f0f6b19a Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 20 Feb 2023 15:13:03 +0800 Subject: [PATCH 282/313] fix mongoDB bug --- internal/api/manage/management_chat.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/internal/api/manage/management_chat.go b/internal/api/manage/management_chat.go index d1fa502d1..4bda72b53 100644 --- a/internal/api/manage/management_chat.go +++ b/internal/api/manage/management_chat.go @@ -157,6 +157,8 @@ func ManagementSendMsg(c *gin.Context) { data = CustomElem{} case constant.CustomOnlineOnly: data = CustomElem{} + case constant.AtText: + data = AtElem{} //case constant.HasReadReceipt: //case constant.Typing: //case constant.Quote: From 28614e4c13c68268e3763bfe5df9a4bdc5e7d825 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 20 Feb 2023 16:14:40 +0800 Subject: [PATCH 283/313] fix mongoDB bug --- docker-compose.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yaml b/docker-compose.yaml index 37d704349..634c7113f 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -115,7 +115,7 @@ services: open_im_server: - image: openim/open_im_server:v2.3.7 + image: openim/open_im_server:v2.3.8 container_name: open_im_server volumes: - ./logs:/Open-IM-Server/logs From c75862870138eee9714f9d601840db64bd670441 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 20 Feb 2023 18:36:30 +0800 Subject: [PATCH 284/313] fix mongoDB bug --- internal/api/manage/management_chat.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/internal/api/manage/management_chat.go b/internal/api/manage/management_chat.go index 4bda72b53..e7fdac021 100644 --- a/internal/api/manage/management_chat.go +++ b/internal/api/manage/management_chat.go @@ -57,6 +57,8 @@ func newUserSendMsgReq(params *api.ManagementSendMsgReq) *pbChat.SendMsgReq { fallthrough case constant.CustomOnlineOnly: fallthrough + case constant.AtText: + fallthrough case constant.AdvancedRevoke: utils.SetSwitchFromOptions(options, constant.IsUnreadCount, false) newContent = utils.StructToJsonString(params.Content) From d7a649f699cb09d9c18e181863d70d97a26d3a17 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 20 Feb 2023 18:58:55 +0800 Subject: [PATCH 285/313] fix mongoDB bug --- internal/api/manage/management_chat.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/internal/api/manage/management_chat.go b/internal/api/manage/management_chat.go index e7fdac021..385c1a349 100644 --- a/internal/api/manage/management_chat.go +++ b/internal/api/manage/management_chat.go @@ -473,9 +473,13 @@ type FileElem struct { FileSize int64 `mapstructure:"fileSize"` } type AtElem struct { - Text string `mapstructure:"text"` - AtUserList []string `mapstructure:"atUserList"` - IsAtSelf bool `mapstructure:"isAtSelf"` + Text string `mapstructure:"text"` + AtUserList []string `mapstructure:"atUserList"` + AtUsersInfo []struct { + AtUserID string `json:"atUserID,omitempty"` + GroupNickname string `json:"groupNickname,omitempty"` + } `json:"atUsersInfo,omitempty"` + IsAtSelf bool `mapstructure:"isAtSelf"` } type LocationElem struct { Description string `mapstructure:"description"` From 284e89d4108bc2c2bfe349fd49a0f61405658d7a Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Thu, 23 Feb 2023 12:14:58 +0800 Subject: [PATCH 286/313] websocket update --- internal/msg_gateway/gate/ws_server.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/internal/msg_gateway/gate/ws_server.go b/internal/msg_gateway/gate/ws_server.go index 2e1a33fe5..7323c3fc2 100644 --- a/internal/msg_gateway/gate/ws_server.go +++ b/internal/msg_gateway/gate/ws_server.go @@ -106,6 +106,12 @@ func (ws *WServer) readMsg(conn *UserConn) { ws.delUserConn(conn) return } + if messageType == websocket.CloseMessage { + log.NewWarn("", "WS receive error ", " userIP", conn.RemoteAddr().String(), "userUid", "platform", "error", string(msg)) + userCount-- + ws.delUserConn(conn) + return + } log.NewDebug("", "size", utils.ByteSize(uint64(len(msg)))) if conn.IsCompress { buff := bytes.NewBuffer(msg) From 661b1a5e6a4f668d5a2fc556ae639ccab5b07dc8 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Thu, 23 Feb 2023 14:21:39 +0800 Subject: [PATCH 287/313] not kick user --- internal/msg_gateway/gate/ws_server.go | 2 ++ pkg/common/constant/constant.go | 1 + 2 files changed, 3 insertions(+) diff --git a/internal/msg_gateway/gate/ws_server.go b/internal/msg_gateway/gate/ws_server.go index 7323c3fc2..81ce37d76 100644 --- a/internal/msg_gateway/gate/ws_server.go +++ b/internal/msg_gateway/gate/ws_server.go @@ -195,6 +195,7 @@ func (ws *WServer) MultiTerminalLoginCheckerWithLock(uid string, platformID int, defer rwLock.Unlock() log.NewInfo(operationID, utils.GetSelfFuncName(), " rpc args: ", uid, platformID, token) switch config.Config.MultiLoginPolicy { + case constant.DefalutNotKick: case constant.PCAndOther: if constant.PlatformNameToClass(constant.PlatformIDToName(platformID)) == constant.TerminalPC { return @@ -250,6 +251,7 @@ func (ws *WServer) MultiTerminalLoginCheckerWithLock(uid string, platformID int, func (ws *WServer) MultiTerminalLoginChecker(uid string, platformID int, newConn *UserConn, token string, operationID string) { switch config.Config.MultiLoginPolicy { + case constant.DefalutNotKick: case constant.PCAndOther: if constant.PlatformNameToClass(constant.PlatformIDToName(platformID)) == constant.TerminalPC { return diff --git a/pkg/common/constant/constant.go b/pkg/common/constant/constant.go index 62cf8339c..c189cf709 100644 --- a/pkg/common/constant/constant.go +++ b/pkg/common/constant/constant.go @@ -140,6 +140,7 @@ const ( ExpiredToken = 3 //MultiTerminalLogin + DefalutNotKick = 0 //Full-end login, but the same end is mutually exclusive AllLoginButSameTermKick = 1 //Only one of the endpoints can log in From 379118e48121e774ec916678a604108d2bd9fd86 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 24 Feb 2023 18:39:31 +0800 Subject: [PATCH 288/313] fix bug --- internal/rpc/admin_cms/admin_cms.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/internal/rpc/admin_cms/admin_cms.go b/internal/rpc/admin_cms/admin_cms.go index fe7ff68f6..e5dc1ce10 100644 --- a/internal/rpc/admin_cms/admin_cms.go +++ b/internal/rpc/admin_cms/admin_cms.go @@ -311,6 +311,7 @@ func (s *adminCMSServer) GetActiveGroup(_ context.Context, req *pbAdminCMS.GetAc return resp, nil } log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "time: ", fromTime, toTime) + toTime.AddDate(0, 0, 1) activeGroups, err := imdb.GetActiveGroups(fromTime, toTime, 12) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetActiveGroups failed", err.Error()) @@ -340,6 +341,7 @@ func (s *adminCMSServer) GetActiveUser(_ context.Context, req *pbAdminCMS.GetAct resp.CommonResp.ErrMsg = err.Error() return resp, nil } + toTime.AddDate(0, 0, 1) log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "time: ", fromTime, toTime) activeUsers, err := imdb.GetActiveUsers(fromTime, toTime, 12) if err != nil { From f384bb2aff2b255a89447de4439bdf2a0c9f99b8 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 24 Feb 2023 18:52:58 +0800 Subject: [PATCH 289/313] fix bug --- internal/rpc/admin_cms/admin_cms.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/rpc/admin_cms/admin_cms.go b/internal/rpc/admin_cms/admin_cms.go index e5dc1ce10..c1716c9ea 100644 --- a/internal/rpc/admin_cms/admin_cms.go +++ b/internal/rpc/admin_cms/admin_cms.go @@ -311,7 +311,7 @@ func (s *adminCMSServer) GetActiveGroup(_ context.Context, req *pbAdminCMS.GetAc return resp, nil } log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "time: ", fromTime, toTime) - toTime.AddDate(0, 0, 1) + toTime = toTime.AddDate(0, 0, 1) activeGroups, err := imdb.GetActiveGroups(fromTime, toTime, 12) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetActiveGroups failed", err.Error()) @@ -341,7 +341,7 @@ func (s *adminCMSServer) GetActiveUser(_ context.Context, req *pbAdminCMS.GetAct resp.CommonResp.ErrMsg = err.Error() return resp, nil } - toTime.AddDate(0, 0, 1) + toTime = toTime.AddDate(0, 0, 1) log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "time: ", fromTime, toTime) activeUsers, err := imdb.GetActiveUsers(fromTime, toTime, 12) if err != nil { From 59d1090a6d1c2910ad609ee56354a6bfad025a8a Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 27 Feb 2023 12:29:40 +0800 Subject: [PATCH 290/313] modify msg --- .../msg_transfer/logic/modify_msg_handler.go | 36 ++++++++++++ internal/rpc/msg/pull_message.go | 2 +- internal/rpc/msg/query_msg.go | 2 +- pkg/base_info/msg.go | 1 + pkg/common/db/mongoModel.go | 56 ++++++++++++++++--- 5 files changed, 88 insertions(+), 9 deletions(-) diff --git a/internal/msg_transfer/logic/modify_msg_handler.go b/internal/msg_transfer/logic/modify_msg_handler.go index 782c6fcc0..40b0d0317 100644 --- a/internal/msg_transfer/logic/modify_msg_handler.go +++ b/internal/msg_transfer/logic/modify_msg_handler.go @@ -83,11 +83,47 @@ func (mmc *ModifyMsgConsumerHandler) ModifyMsg(cMsg *sarama.ConsumerMessage, msg LatestUpdateTime: v.LatestUpdateTime, } } + // modify old msg + if msgDataToMQ.MsgData.SessionType == constant.SuperGroupChatType && utils.GetSwitchFromOptions(msgDataToMQ.MsgData.Options, constant.IsHistory) { + if msgDataToMQ.MsgData.Seq == 0 { + log.NewError(msgDataToMQ.OperationID, "seq==0, error msg", msgDataToMQ.MsgData) + continue + } + msg, err := db.DB.GetMsgBySeqIndex(notification.SourceID, notification.Seq, msgDataToMQ.OperationID) + if (msg != nil && msg.Seq != notification.Seq) || err != nil { + if err != nil { + log.NewError(msgDataToMQ.OperationID, "GetMsgBySeqIndex failed", notification, err.Error()) + } + msgs, indexes, err := db.DB.GetSuperGroupMsgBySeqListMongo(notification.SourceID, []uint32{notification.Seq}, msgDataToMQ.OperationID) + if err != nil { + log.NewError(msgDataToMQ.OperationID, "GetSuperGroupMsgBySeqListMongo failed", notification, err.Error()) + continue + } + var index int + if len(msgs) < 1 || len(indexes) < 1 { + log.NewError(msgDataToMQ.OperationID, "GetSuperGroupMsgBySeqListMongo failed", notification, "len<1", msgs, indexes) + continue + } else { + msg = msgs[0] + index = indexes[msg.Seq] + } + if err := db.DB.ReplaceMsgByIndex(notification.SourceID, msg, index); err != nil { + log.NewError(msgDataToMQ.OperationID, "ReplaceMsgByIndex failed", notification.SourceID, *msg) + } + + } else { + msg.IsReact = true + if err = db.DB.ReplaceMsgBySeq(notification.SourceID, msg, msgDataToMQ.OperationID); err != nil { + log.NewError(msgDataToMQ.OperationID, "ReplaceMsgBySeq failed", notification.SourceID, *msg) + } + } + } 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 { diff --git a/internal/rpc/msg/pull_message.go b/internal/rpc/msg/pull_message.go index 83f2275f2..ae482523b 100644 --- a/internal/rpc/msg/pull_message.go +++ b/internal/rpc/msg/pull_message.go @@ -85,7 +85,7 @@ func (rpc *rpcChat) PullMessageBySeqList(_ context.Context, in *open_im_sdk.Pull } else { log.Debug(in.OperationID, "get message from redis is nil", failedSeqList) } - msgList, err1 := commonDB.DB.GetSuperGroupMsgBySeqListMongo(k, failedSeqList, in.OperationID) + msgList, _, err1 := commonDB.DB.GetSuperGroupMsgBySeqListMongo(k, failedSeqList, in.OperationID) if err1 != nil { promePkg.PromeAdd(promePkg.MsgPullFromMongoFailedCounter, len(failedSeqList)) log.Error(in.OperationID, "PullMessageBySeqList data error", in.String(), err1.Error()) diff --git a/internal/rpc/msg/query_msg.go b/internal/rpc/msg/query_msg.go index f8a2afc7c..fea05114d 100644 --- a/internal/rpc/msg/query_msg.go +++ b/internal/rpc/msg/query_msg.go @@ -21,7 +21,7 @@ func (rpc *rpcChat) GetSuperGroupMsg(context context.Context, req *msg.GetSuperG } else { log.Debug(req.OperationID, "get message from redis is nil", failedSeqList) } - msgList, err1 := commonDB.DB.GetSuperGroupMsgBySeqListMongo(req.GroupID, failedSeqList, req.OperationID) + msgList, _, err1 := commonDB.DB.GetSuperGroupMsgBySeqListMongo(req.GroupID, failedSeqList, req.OperationID) if err1 != nil { promePkg.PromeAdd(promePkg.MsgPullFromMongoFailedCounter, len(failedSeqList)) log.Error(req.OperationID, "GetSuperGroupMsg data error", req.String(), err.Error()) diff --git a/pkg/base_info/msg.go b/pkg/base_info/msg.go index d3ece59f5..09d5a0821 100644 --- a/pkg/base_info/msg.go +++ b/pkg/base_info/msg.go @@ -131,6 +131,7 @@ type ReactionMessageModifierNotification struct { IsReact bool `json:"isReact"` IsExternalExtensions bool `json:"isExternalExtensions"` MsgFirstModifyTime int64 `json:"msgFirstModifyTime"` + Seq uint32 `json:"seq"` } type ReactionMessageDeleteNotification struct { diff --git a/pkg/common/db/mongoModel.go b/pkg/common/db/mongoModel.go index 22165efd3..61ad642b3 100644 --- a/pkg/common/db/mongoModel.go +++ b/pkg/common/db/mongoModel.go @@ -137,7 +137,7 @@ func (d *DataBases) DelMsgBySeqListInOneDoc(suffixUserID string, seqList []uint3 return nil, utils.Wrap(err, "") } for i, v := range seqMsgList { - if err := d.ReplaceMsgByIndex(suffixUserID, v, operationID, indexList[i]); err != nil { + if err := d.DelMsgByIndex(suffixUserID, v, operationID, indexList[i]); err != nil { return nil, utils.Wrap(err, "") } } @@ -161,7 +161,7 @@ func (d *DataBases) DelMsgLogic(uid string, seqList []uint32, operationID string return nil } -func (d *DataBases) ReplaceMsgByIndex(suffixUserID string, msg *open_im_sdk.MsgData, operationID string, seqIndex int) error { +func (d *DataBases) DelMsgByIndex(suffixUserID string, msg *open_im_sdk.MsgData, operationID string, seqIndex int) error { log.NewInfo(operationID, utils.GetSelfFuncName(), suffixUserID, *msg) ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cChat) @@ -195,7 +195,6 @@ func (d *DataBases) ReplaceMsgBySeq(uid string, msg *open_im_sdk.MsgData, operat log.NewError(operationID, utils.GetSelfFuncName(), "proto marshal", err.Error()) return utils.Wrap(err, "") } - updateResult, err := c.UpdateOne( ctx, bson.M{"uid": uid}, bson.M{"$set": bson.M{s: bytes}}) @@ -207,6 +206,48 @@ func (d *DataBases) ReplaceMsgBySeq(uid string, msg *open_im_sdk.MsgData, operat return nil } +func (d *DataBases) GetMsgBySeqIndex(uid string, seq uint32, operationID string) (*open_im_sdk.MsgData, error) { + ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) + c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cChat) + uid = getSeqUid(uid, seq) + seqIndex := getMsgIndex(seq) + result, err := c.Find(ctx, bson.M{"msg": bson.M{"$slice": []int{seqIndex, 1}}}) + if err != nil { + return nil, err + } + var msgInfos []MsgInfo + if err := result.Decode(&msgInfos); err != nil { + return nil, err + } + if len(msgInfos) < 1 { + return nil, ErrMsgListNotExist + } + var msg open_im_sdk.MsgData + if err := proto.Unmarshal(msgInfos[0].Msg, &msg); err != nil { + return nil, err + } + return &msg, nil +} + +func (d *DataBases) ReplaceMsgByIndex(uid string, msg *open_im_sdk.MsgData, index int) error { + ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) + c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cChat) + uid = getSeqUid(uid, msg.Seq) + seqIndex := getMsgIndex(msg.Seq) + s := fmt.Sprintf("msg.%d.msg", seqIndex) + bytes, err := proto.Marshal(msg) + if err != nil { + return utils.Wrap(err, "") + } + _, err = c.UpdateOne( + ctx, bson.M{"uid": uid}, + bson.M{"$set": bson.M{s: bytes}}) + if err != nil { + return utils.Wrap(err, "") + } + 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) @@ -441,8 +482,9 @@ func (d *DataBases) GetMsgBySeqListMongo2(uid string, seqList []uint32, operatio } return seqMsg, nil } -func (d *DataBases) GetSuperGroupMsgBySeqListMongo(groupID string, seqList []uint32, operationID string) (seqMsg []*open_im_sdk.MsgData, err error) { +func (d *DataBases) GetSuperGroupMsgBySeqListMongo(groupID string, seqList []uint32, operationID string) (seqMsg []*open_im_sdk.MsgData, indexes map[uint32]int, err error) { var hasSeqList []uint32 + indexes = make(map[uint32]int) singleCount := 0 ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cChat) @@ -471,10 +513,11 @@ func (d *DataBases) GetSuperGroupMsgBySeqListMongo(groupID string, seqList []uin msg := new(open_im_sdk.MsgData) if err = proto.Unmarshal(sChat.Msg[i].Msg, msg); err != nil { log.NewError(operationID, "Unmarshal err", seqUid, value, groupID, seqList, err.Error()) - return nil, err + return nil, nil, err } if isContainInt32(msg.Seq, value) { seqMsg = append(seqMsg, msg) + indexes[msg.Seq] = i hasSeqList = append(hasSeqList, msg.Seq) singleCount++ if singleCount == len(value) { @@ -488,9 +531,8 @@ func (d *DataBases) GetSuperGroupMsgBySeqListMongo(groupID string, seqList []uin diff = utils.Difference(hasSeqList, seqList) exceptionMSg := genExceptionSuperGroupMessageBySeqList(diff, groupID) seqMsg = append(seqMsg, exceptionMSg...) - } - return seqMsg, nil + return seqMsg, nil, nil } func (d *DataBases) GetMsgAndIndexBySeqListInOneMongo2(suffixUserID string, seqList []uint32, operationID string) (seqMsg []*open_im_sdk.MsgData, indexList []int, unexistSeqList []uint32, err error) { From 36afd67a2ca643d7b524bec3c90a710e1e744763 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 27 Feb 2023 12:41:29 +0800 Subject: [PATCH 291/313] modify msg --- .../msg_transfer/logic/modify_msg_handler.go | 71 ++++++++++--------- 1 file changed, 36 insertions(+), 35 deletions(-) diff --git a/internal/msg_transfer/logic/modify_msg_handler.go b/internal/msg_transfer/logic/modify_msg_handler.go index 40b0d0317..30086c9dc 100644 --- a/internal/msg_transfer/logic/modify_msg_handler.go +++ b/internal/msg_transfer/logic/modify_msg_handler.go @@ -68,6 +68,42 @@ func (mmc *ModifyMsgConsumerHandler) ModifyMsg(cMsg *sarama.ConsumerMessage, msg log.NewInfo(msgDataToMQ.OperationID, "msg:", notification, "this is external extensions") continue } + + if msgDataToMQ.MsgData.SessionType == constant.SuperGroupChatType && utils.GetSwitchFromOptions(msgDataToMQ.MsgData.Options, constant.IsHistory) { + if msgDataToMQ.MsgData.Seq == 0 { + log.NewError(msgDataToMQ.OperationID, "seq==0, error msg", msgDataToMQ.MsgData) + continue + } + msg, err := db.DB.GetMsgBySeqIndex(notification.SourceID, notification.Seq, msgDataToMQ.OperationID) + if (msg != nil && msg.Seq != notification.Seq) || err != nil { + if err != nil { + log.NewError(msgDataToMQ.OperationID, "GetMsgBySeqIndex failed", notification, err.Error()) + } + msgs, indexes, err := db.DB.GetSuperGroupMsgBySeqListMongo(notification.SourceID, []uint32{notification.Seq}, msgDataToMQ.OperationID) + if err != nil { + log.NewError(msgDataToMQ.OperationID, "GetSuperGroupMsgBySeqListMongo failed", notification, err.Error()) + continue + } + var index int + if len(msgs) < 1 || len(indexes) < 1 { + log.NewError(msgDataToMQ.OperationID, "GetSuperGroupMsgBySeqListMongo failed", notification, "len<1", msgs, indexes) + continue + } else { + msg = msgs[0] + index = indexes[msg.Seq] + } + if err := db.DB.ReplaceMsgByIndex(notification.SourceID, msg, index); err != nil { + log.NewError(msgDataToMQ.OperationID, "ReplaceMsgByIndex failed", notification.SourceID, *msg) + } + + } else { + msg.IsReact = true + if err = db.DB.ReplaceMsgBySeq(notification.SourceID, msg, msgDataToMQ.OperationID); err != nil { + log.NewError(msgDataToMQ.OperationID, "ReplaceMsgBySeq failed", notification.SourceID, *msg) + } + } + } + if !notification.IsReact { // first time to modify var reactionExtensionList = make(map[string]db.KeyValue) @@ -84,41 +120,6 @@ func (mmc *ModifyMsgConsumerHandler) ModifyMsg(cMsg *sarama.ConsumerMessage, msg } } // modify old msg - if msgDataToMQ.MsgData.SessionType == constant.SuperGroupChatType && utils.GetSwitchFromOptions(msgDataToMQ.MsgData.Options, constant.IsHistory) { - if msgDataToMQ.MsgData.Seq == 0 { - log.NewError(msgDataToMQ.OperationID, "seq==0, error msg", msgDataToMQ.MsgData) - continue - } - msg, err := db.DB.GetMsgBySeqIndex(notification.SourceID, notification.Seq, msgDataToMQ.OperationID) - if (msg != nil && msg.Seq != notification.Seq) || err != nil { - if err != nil { - log.NewError(msgDataToMQ.OperationID, "GetMsgBySeqIndex failed", notification, err.Error()) - } - msgs, indexes, err := db.DB.GetSuperGroupMsgBySeqListMongo(notification.SourceID, []uint32{notification.Seq}, msgDataToMQ.OperationID) - if err != nil { - log.NewError(msgDataToMQ.OperationID, "GetSuperGroupMsgBySeqListMongo failed", notification, err.Error()) - continue - } - var index int - if len(msgs) < 1 || len(indexes) < 1 { - log.NewError(msgDataToMQ.OperationID, "GetSuperGroupMsgBySeqListMongo failed", notification, "len<1", msgs, indexes) - continue - } else { - msg = msgs[0] - index = indexes[msg.Seq] - } - if err := db.DB.ReplaceMsgByIndex(notification.SourceID, msg, index); err != nil { - log.NewError(msgDataToMQ.OperationID, "ReplaceMsgByIndex failed", notification.SourceID, *msg) - } - - } else { - msg.IsReact = true - if err = db.DB.ReplaceMsgBySeq(notification.SourceID, msg, msgDataToMQ.OperationID); err != nil { - log.NewError(msgDataToMQ.OperationID, "ReplaceMsgBySeq failed", notification.SourceID, *msg) - } - } - } - 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 From 7a9506f61658577f5e5f10f76e0f4a50f226e943 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 27 Feb 2023 12:47:18 +0800 Subject: [PATCH 292/313] modify msg --- internal/msg_transfer/logic/modify_msg_handler.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/msg_transfer/logic/modify_msg_handler.go b/internal/msg_transfer/logic/modify_msg_handler.go index 30086c9dc..6bb4f9313 100644 --- a/internal/msg_transfer/logic/modify_msg_handler.go +++ b/internal/msg_transfer/logic/modify_msg_handler.go @@ -92,6 +92,7 @@ func (mmc *ModifyMsgConsumerHandler) ModifyMsg(cMsg *sarama.ConsumerMessage, msg msg = msgs[0] index = indexes[msg.Seq] } + msg.IsReact = true if err := db.DB.ReplaceMsgByIndex(notification.SourceID, msg, index); err != nil { log.NewError(msgDataToMQ.OperationID, "ReplaceMsgByIndex failed", notification.SourceID, *msg) } From c0d633bc342543ca6a79e14feaa3c7835b8f6e6e Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 27 Feb 2023 15:41:22 +0800 Subject: [PATCH 293/313] message reaction bug fix --- cmd/open_im_api/Makefile | 5 +- cmd/open_im_cms_api/Makefile | 4 +- cmd/open_im_cron_task/Makefile | 4 +- cmd/open_im_demo/Makefile | 4 +- cmd/open_im_msg_gateway/Makefile | 4 +- cmd/open_im_msg_transfer/Makefile | 4 +- cmd/open_im_push/Makefile | 4 +- cmd/rpc/open_im_admin_cms/Makefile | 4 +- cmd/rpc/open_im_auth/Makefile | 4 +- cmd/rpc/open_im_cache/Makefile | 4 +- cmd/rpc/open_im_conversation/Makefile | 4 +- cmd/rpc/open_im_friend/Makefile | 4 +- cmd/rpc/open_im_group/Makefile | 4 +- cmd/rpc/open_im_msg/Makefile | 4 +- cmd/rpc/open_im_office/Makefile | 4 +- cmd/rpc/open_im_organization/Makefile | 4 +- cmd/rpc/open_im_user/Makefile | 4 +- internal/rpc/msg/extend_msg.notification.go | 1 + pkg/base_info/msg.go | 1 + pkg/proto/msg/msg.pb.go | 354 ++++++++++---------- pkg/proto/msg/msg.proto | 1 + script/build_all_service.sh | 2 +- script/path_info.cfg | 2 + 23 files changed, 239 insertions(+), 191 deletions(-) diff --git a/cmd/open_im_api/Makefile b/cmd/open_im_api/Makefile index 1f96bca5a..1cf10c4df 100644 --- a/cmd/open_im_api/Makefile +++ b/cmd/open_im_api/Makefile @@ -3,11 +3,12 @@ BINARY_NAME=open_im_api BIN_DIR=../../bin/ - +OS:= $(or $(os),linux) +ARCH:=$(or $(arch),amd64) all: gotool build build: - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" + CGO_ENABLED=0 GOOS=${OS} GOARCH=${ARCH} go build -ldflags="-w -s" run: @go run ./ diff --git a/cmd/open_im_cms_api/Makefile b/cmd/open_im_cms_api/Makefile index 31304542d..98829e2d1 100644 --- a/cmd/open_im_cms_api/Makefile +++ b/cmd/open_im_cms_api/Makefile @@ -4,10 +4,12 @@ BINARY_NAME=open_im_cms_api BIN_DIR=../../bin/ +OS:= $(or $(os),linux) +ARCH:=$(or $(arch),amd64) all: gotool build build: - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" + CGO_ENABLED=0 GOOS=${OS} GOARCH=${ARCH} go build -ldflags="-w -s" run: @go run ./ diff --git a/cmd/open_im_cron_task/Makefile b/cmd/open_im_cron_task/Makefile index e14b3da77..2678c9a0e 100644 --- a/cmd/open_im_cron_task/Makefile +++ b/cmd/open_im_cron_task/Makefile @@ -3,10 +3,12 @@ BINARY_NAME=open_im_cron_task BIN_DIR=../../bin/ +OS:= $(or $(os),linux) +ARCH:=$(or $(arch),amd64) all: gotool build build: - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" + CGO_ENABLED=0 GOOS=${OS} GOARCH=${ARCH} go build -ldflags="-w -s" run: @go run ./ diff --git a/cmd/open_im_demo/Makefile b/cmd/open_im_demo/Makefile index 45829acd8..5188824a8 100644 --- a/cmd/open_im_demo/Makefile +++ b/cmd/open_im_demo/Makefile @@ -4,10 +4,12 @@ BINARY_NAME=open_im_demo BIN_DIR=../../bin/ +OS:= $(or $(os),linux) +ARCH:=$(or $(arch),amd64) all: gotool build build: - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" + CGO_ENABLED=0 GOOS=${OS} GOARCH=${ARCH} go build -ldflags="-w -s" run: @go run ./ diff --git a/cmd/open_im_msg_gateway/Makefile b/cmd/open_im_msg_gateway/Makefile index 566d8d9c2..7394279af 100644 --- a/cmd/open_im_msg_gateway/Makefile +++ b/cmd/open_im_msg_gateway/Makefile @@ -3,10 +3,12 @@ BINARY_NAME=open_im_msg_gateway BIN_DIR=../../bin/ +OS:= $(or $(os),linux) +ARCH:=$(or $(arch),amd64) all: gotool build build: - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" + CGO_ENABLED=0 GOOS=${OS} GOARCH=${ARCH} go build -ldflags="-w -s" run: @go run ./ diff --git a/cmd/open_im_msg_transfer/Makefile b/cmd/open_im_msg_transfer/Makefile index 6a67b9bee..0afa78f77 100644 --- a/cmd/open_im_msg_transfer/Makefile +++ b/cmd/open_im_msg_transfer/Makefile @@ -4,10 +4,12 @@ BINARY_NAME=open_im_msg_transfer BIN_DIR=../../bin/ +OS:= $(or $(os),linux) +ARCH:=$(or $(arch),amd64) all: gotool build build: - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" + CGO_ENABLED=0 GOOS=${OS} GOARCH=${ARCH} go build -ldflags="-w -s" run: @go run ./ diff --git a/cmd/open_im_push/Makefile b/cmd/open_im_push/Makefile index df7b9e88a..933b9eb44 100644 --- a/cmd/open_im_push/Makefile +++ b/cmd/open_im_push/Makefile @@ -3,10 +3,12 @@ BINARY_NAME=open_im_push BIN_DIR=../../bin/ +OS:= $(or $(os),linux) +ARCH:=$(or $(arch),amd64) all: gotool build build: - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" + CGO_ENABLED=0 GOOS=${OS} GOARCH=${ARCH} go build -ldflags="-w -s" run: @go run ./ diff --git a/cmd/rpc/open_im_admin_cms/Makefile b/cmd/rpc/open_im_admin_cms/Makefile index f6efc1c08..ae50d0488 100644 --- a/cmd/rpc/open_im_admin_cms/Makefile +++ b/cmd/rpc/open_im_admin_cms/Makefile @@ -3,10 +3,12 @@ BINARY_NAME=open_im_admin_cms BIN_DIR=../../../bin/ +OS:= $(or $(os),linux) +ARCH:=$(or $(arch),amd64) all: gotool build build: - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" + CGO_ENABLED=0 GOOS=${OS} GOARCH=${ARCH} go build -ldflags="-w -s" run: @go run ./ diff --git a/cmd/rpc/open_im_auth/Makefile b/cmd/rpc/open_im_auth/Makefile index da280c3b5..f2c0b1acb 100644 --- a/cmd/rpc/open_im_auth/Makefile +++ b/cmd/rpc/open_im_auth/Makefile @@ -3,10 +3,12 @@ BINARY_NAME=open_im_auth BIN_DIR=../../../bin/ +OS:= $(or $(os),linux) +ARCH:=$(or $(arch),amd64) all: gotool build build: - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" + CGO_ENABLED=0 GOOS=${OS} GOARCH=${ARCH} go build -ldflags="-w -s" run: @go run ./ diff --git a/cmd/rpc/open_im_cache/Makefile b/cmd/rpc/open_im_cache/Makefile index 1cb1e959e..db3e8e08f 100644 --- a/cmd/rpc/open_im_cache/Makefile +++ b/cmd/rpc/open_im_cache/Makefile @@ -3,10 +3,12 @@ BINARY_NAME=open_im_cache BIN_DIR=../../../bin/ +OS:= $(or $(os),linux) +ARCH:=$(or $(arch),amd64) all: gotool build build: - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" + CGO_ENABLED=0 GOOS=${OS} GOARCH=${ARCH} go build -ldflags="-w -s" run: @go run ./ diff --git a/cmd/rpc/open_im_conversation/Makefile b/cmd/rpc/open_im_conversation/Makefile index c1a5578bc..4cfa82c03 100644 --- a/cmd/rpc/open_im_conversation/Makefile +++ b/cmd/rpc/open_im_conversation/Makefile @@ -3,10 +3,12 @@ BINARY_NAME=open_im_conversation BIN_DIR=../../../bin/ +OS:= $(or $(os),linux) +ARCH:=$(or $(arch),amd64) all: gotool build build: - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" + CGO_ENABLED=0 GOOS=${OS} GOARCH=${ARCH} go build -ldflags="-w -s" run: @go run ./ diff --git a/cmd/rpc/open_im_friend/Makefile b/cmd/rpc/open_im_friend/Makefile index c47cbcf1d..32e1ed785 100644 --- a/cmd/rpc/open_im_friend/Makefile +++ b/cmd/rpc/open_im_friend/Makefile @@ -3,10 +3,12 @@ BINARY_NAME=open_im_friend BIN_DIR=../../../bin/ +OS:= $(or $(os),linux) +ARCH:=$(or $(arch),amd64) all: gotool build build: - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" + CGO_ENABLED=0 GOOS=${OS} GOARCH=${ARCH} go build -ldflags="-w -s" run: @go run ./ diff --git a/cmd/rpc/open_im_group/Makefile b/cmd/rpc/open_im_group/Makefile index e7d1cb29d..d096f0344 100644 --- a/cmd/rpc/open_im_group/Makefile +++ b/cmd/rpc/open_im_group/Makefile @@ -3,10 +3,12 @@ BINARY_NAME=open_im_group BIN_DIR=../../../bin/ +OS:= $(or $(os),linux) +ARCH:=$(or $(arch),amd64) all: gotool build build: - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" + CGO_ENABLED=0 GOOS=${OS} GOARCH=${ARCH} go build -ldflags="-w -s" run: @go run ./ diff --git a/cmd/rpc/open_im_msg/Makefile b/cmd/rpc/open_im_msg/Makefile index 7214d3fe1..86d904926 100644 --- a/cmd/rpc/open_im_msg/Makefile +++ b/cmd/rpc/open_im_msg/Makefile @@ -3,10 +3,12 @@ BINARY_NAME=open_im_msg BIN_DIR=../../../bin/ +OS:= $(or $(os),linux) +ARCH:=$(or $(arch),amd64) all: gotool build build: - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" + CGO_ENABLED=0 GOOS=${OS} GOARCH=${ARCH} go build -ldflags="-w -s" run: @go run ./ diff --git a/cmd/rpc/open_im_office/Makefile b/cmd/rpc/open_im_office/Makefile index b86230c64..3bc7e4af3 100644 --- a/cmd/rpc/open_im_office/Makefile +++ b/cmd/rpc/open_im_office/Makefile @@ -3,10 +3,12 @@ BINARY_NAME=open_im_office BIN_DIR=../../../bin/ +OS:= $(or $(os),linux) +ARCH:=$(or $(arch),amd64) all: gotool build build: - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" + CGO_ENABLED=0 GOOS=${OS} GOARCH=${ARCH} go build -ldflags="-w -s" run: @go run ./ diff --git a/cmd/rpc/open_im_organization/Makefile b/cmd/rpc/open_im_organization/Makefile index 77d658db9..358da3510 100644 --- a/cmd/rpc/open_im_organization/Makefile +++ b/cmd/rpc/open_im_organization/Makefile @@ -3,10 +3,12 @@ BINARY_NAME=open_im_organization BIN_DIR=../../../bin/ +OS:= $(or $(os),linux) +ARCH:=$(or $(arch),amd64) all: gotool build build: - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" + CGO_ENABLED=0 GOOS=${OS} GOARCH=${ARCH} go build -ldflags="-w -s" run: @go run ./ diff --git a/cmd/rpc/open_im_user/Makefile b/cmd/rpc/open_im_user/Makefile index c379db284..172da6551 100644 --- a/cmd/rpc/open_im_user/Makefile +++ b/cmd/rpc/open_im_user/Makefile @@ -3,10 +3,12 @@ BINARY_NAME=open_im_user BIN_DIR=../../../bin/ +OS:= $(or $(os),linux) +ARCH:=$(or $(arch),amd64) all: gotool build build: - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" + CGO_ENABLED=0 GOOS=${OS} GOARCH=${ARCH} go build -ldflags="-w -s" run: @go run ./ diff --git a/internal/rpc/msg/extend_msg.notification.go b/internal/rpc/msg/extend_msg.notification.go index 6f9e93529..c617dc7d3 100644 --- a/internal/rpc/msg/extend_msg.notification.go +++ b/internal/rpc/msg/extend_msg.notification.go @@ -58,6 +58,7 @@ func ExtendMessageAddedNotification(operationID, sendID string, sourceID string, m.ClientMsgID = req.ClientMsgID m.IsReact = resp.IsReact m.IsExternalExtensions = req.IsExternalExtensions + m.Seq = req.Seq m.MsgFirstModifyTime = resp.MsgFirstModifyTime messageReactionSender(operationID, sendID, sourceID, senderPlatformID, sessionType, constant.ReactionMessageModifier, utils.StructToJsonString(m), isHistory, isReactionFromCache) } diff --git a/pkg/base_info/msg.go b/pkg/base_info/msg.go index 09d5a0821..54d953bdd 100644 --- a/pkg/base_info/msg.go +++ b/pkg/base_info/msg.go @@ -64,6 +64,7 @@ type ModifyMessageReactionExtensionsReq struct { IsReact bool `json:"isReact"` IsExternalExtensions bool `json:"isExternalExtensions"` MsgFirstModifyTime int64 `json:"msgFirstModifyTime"` + Seq uint32 `json:"seq"` } type ModifyMessageReactionExtensionsResp struct { diff --git a/pkg/proto/msg/msg.pb.go b/pkg/proto/msg/msg.pb.go index 9c744211a..2a2f08172 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_96239333e69eba2c, []int{0} + return fileDescriptor_msg_de22c4c4e5c699f1, []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_96239333e69eba2c, []int{1} + return fileDescriptor_msg_de22c4c4e5c699f1, []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_96239333e69eba2c, []int{2} + return fileDescriptor_msg_de22c4c4e5c699f1, []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_96239333e69eba2c, []int{3} + return fileDescriptor_msg_de22c4c4e5c699f1, []int{3} } func (m *MsgDataToMongoByMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMongoByMQ.Unmarshal(m, b) @@ -241,26 +241,27 @@ func (m *MsgDataToMongoByMQ) GetTriggerID() string { return "" } -// message PullMessageReq { -// string UserID = 1; -// int64 SeqBegin = 2; -// int64 SeqEnd = 3; -// string OperationID = 4; -// } +// message PullMessageReq { +// string UserID = 1; +// int64 SeqBegin = 2; +// int64 SeqEnd = 3; +// string OperationID = 4; +// } // -// message PullMessageResp { -// int32 ErrCode = 1; -// string ErrMsg = 2; -// int64 MaxSeq = 3; -// int64 MinSeq = 4; -// repeated GatherFormat SingleUserMsg = 5; -// repeated GatherFormat GroupUserMsg = 6; -// } -// message PullMessageBySeqListReq{ -// string UserID = 1; -// string OperationID = 2; -// repeated int64 seqList =3; -// } +// message PullMessageResp { +// int32 ErrCode = 1; +// string ErrMsg = 2; +// int64 MaxSeq = 3; +// int64 MinSeq = 4; +// repeated GatherFormat SingleUserMsg = 5; +// repeated GatherFormat GroupUserMsg = 6; +// } +// +// message PullMessageBySeqListReq{ +// string UserID = 1; +// string OperationID = 2; +// repeated int64 seqList =3; +// } type GetMaxAndMinSeqReq struct { UserID string `protobuf:"bytes,1,opt,name=UserID" json:"UserID,omitempty"` OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` @@ -273,7 +274,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_96239333e69eba2c, []int{4} + return fileDescriptor_msg_de22c4c4e5c699f1, []int{4} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -321,7 +322,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_96239333e69eba2c, []int{5} + return fileDescriptor_msg_de22c4c4e5c699f1, []int{5} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -382,7 +383,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_96239333e69eba2c, []int{6} + return fileDescriptor_msg_de22c4c4e5c699f1, []int{6} } func (m *SendMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgReq.Unmarshal(m, b) @@ -438,7 +439,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_96239333e69eba2c, []int{7} + return fileDescriptor_msg_de22c4c4e5c699f1, []int{7} } func (m *SendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgResp.Unmarshal(m, b) @@ -506,7 +507,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_96239333e69eba2c, []int{8} + return fileDescriptor_msg_de22c4c4e5c699f1, []int{8} } func (m *ClearMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgReq.Unmarshal(m, b) @@ -559,7 +560,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_96239333e69eba2c, []int{9} + return fileDescriptor_msg_de22c4c4e5c699f1, []int{9} } func (m *ClearMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgResp.Unmarshal(m, b) @@ -608,7 +609,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_96239333e69eba2c, []int{10} + return fileDescriptor_msg_de22c4c4e5c699f1, []int{10} } func (m *SetMsgMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqReq.Unmarshal(m, b) @@ -675,7 +676,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_96239333e69eba2c, []int{11} + return fileDescriptor_msg_de22c4c4e5c699f1, []int{11} } func (m *SetMsgMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqResp.Unmarshal(m, b) @@ -721,7 +722,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_96239333e69eba2c, []int{12} + return fileDescriptor_msg_de22c4c4e5c699f1, []int{12} } func (m *SetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgStatusReq.Unmarshal(m, b) @@ -767,7 +768,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_96239333e69eba2c, []int{13} + return fileDescriptor_msg_de22c4c4e5c699f1, []int{13} } func (m *SetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgStatusResp.Unmarshal(m, b) @@ -812,7 +813,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_96239333e69eba2c, []int{14} + return fileDescriptor_msg_de22c4c4e5c699f1, []int{14} } func (m *GetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusReq.Unmarshal(m, b) @@ -852,7 +853,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_96239333e69eba2c, []int{15} + return fileDescriptor_msg_de22c4c4e5c699f1, []int{15} } func (m *GetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusResp.Unmarshal(m, b) @@ -907,7 +908,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_96239333e69eba2c, []int{16} + return fileDescriptor_msg_de22c4c4e5c699f1, []int{16} } func (m *DelSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelSuperGroupMsgReq.Unmarshal(m, b) @@ -967,7 +968,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_96239333e69eba2c, []int{17} + return fileDescriptor_msg_de22c4c4e5c699f1, []int{17} } func (m *DelSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelSuperGroupMsgResp.Unmarshal(m, b) @@ -1014,7 +1015,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_96239333e69eba2c, []int{18} + return fileDescriptor_msg_de22c4c4e5c699f1, []int{18} } func (m *GetSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupMsgReq.Unmarshal(m, b) @@ -1068,7 +1069,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_96239333e69eba2c, []int{19} + return fileDescriptor_msg_de22c4c4e5c699f1, []int{19} } func (m *GetSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupMsgResp.Unmarshal(m, b) @@ -1121,7 +1122,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_96239333e69eba2c, []int{20} + return fileDescriptor_msg_de22c4c4e5c699f1, []int{20} } func (m *GetWriteDiffMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetWriteDiffMsgReq.Unmarshal(m, b) @@ -1168,7 +1169,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_96239333e69eba2c, []int{21} + return fileDescriptor_msg_de22c4c4e5c699f1, []int{21} } func (m *GetWriteDiffMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetWriteDiffMsgResp.Unmarshal(m, b) @@ -1230,7 +1231,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_96239333e69eba2c, []int{22} + return fileDescriptor_msg_de22c4c4e5c699f1, []int{22} } func (m *ModifyMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyMessageReactionExtensionsReq.Unmarshal(m, b) @@ -1349,7 +1350,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_96239333e69eba2c, []int{23} + return fileDescriptor_msg_de22c4c4e5c699f1, []int{23} } func (m *SetMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMessageReactionExtensionsReq.Unmarshal(m, b) @@ -1469,7 +1470,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_96239333e69eba2c, []int{24} + return fileDescriptor_msg_de22c4c4e5c699f1, []int{24} } func (m *SetMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMessageReactionExtensionsResp.Unmarshal(m, b) @@ -1544,6 +1545,7 @@ type AddMessageReactionExtensionsReq struct { IsReact bool `protobuf:"varint,10,opt,name=isReact" json:"isReact,omitempty"` IsExternalExtensions bool `protobuf:"varint,11,opt,name=isExternalExtensions" json:"isExternalExtensions,omitempty"` MsgFirstModifyTime int64 `protobuf:"varint,12,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"` + Seq uint32 `protobuf:"varint,13,opt,name=seq" json:"seq,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -1553,7 +1555,7 @@ func (m *AddMessageReactionExtensionsReq) Reset() { *m = AddMessageReact func (m *AddMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*AddMessageReactionExtensionsReq) ProtoMessage() {} func (*AddMessageReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_96239333e69eba2c, []int{25} + return fileDescriptor_msg_de22c4c4e5c699f1, []int{25} } func (m *AddMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AddMessageReactionExtensionsReq.Unmarshal(m, b) @@ -1657,6 +1659,13 @@ func (m *AddMessageReactionExtensionsReq) GetMsgFirstModifyTime() int64 { return 0 } +func (m *AddMessageReactionExtensionsReq) GetSeq() uint32 { + if m != nil { + return m.Seq + } + return 0 +} + type AddMessageReactionExtensionsResp struct { ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` @@ -1673,7 +1682,7 @@ func (m *AddMessageReactionExtensionsResp) Reset() { *m = AddMessageReac func (m *AddMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*AddMessageReactionExtensionsResp) ProtoMessage() {} func (*AddMessageReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_96239333e69eba2c, []int{26} + return fileDescriptor_msg_de22c4c4e5c699f1, []int{26} } func (m *AddMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AddMessageReactionExtensionsResp.Unmarshal(m, b) @@ -1752,7 +1761,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_96239333e69eba2c, []int{27} + return fileDescriptor_msg_de22c4c4e5c699f1, []int{27} } func (m *GetMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMessageListReactionExtensionsReq.Unmarshal(m, b) @@ -1837,7 +1846,7 @@ func (m *GetMessageListReactionExtensionsReq_MessageReactionKey) String() string } func (*GetMessageListReactionExtensionsReq_MessageReactionKey) ProtoMessage() {} func (*GetMessageListReactionExtensionsReq_MessageReactionKey) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_96239333e69eba2c, []int{27, 0} + return fileDescriptor_msg_de22c4c4e5c699f1, []int{27, 0} } func (m *GetMessageListReactionExtensionsReq_MessageReactionKey) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMessageListReactionExtensionsReq_MessageReactionKey.Unmarshal(m, b) @@ -1884,7 +1893,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_96239333e69eba2c, []int{28} + return fileDescriptor_msg_de22c4c4e5c699f1, []int{28} } func (m *GetMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMessageListReactionExtensionsResp.Unmarshal(m, b) @@ -1939,7 +1948,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_96239333e69eba2c, []int{29} + return fileDescriptor_msg_de22c4c4e5c699f1, []int{29} } func (m *SingleMessageExtensionResult) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SingleMessageExtensionResult.Unmarshal(m, b) @@ -2001,7 +2010,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_96239333e69eba2c, []int{30} + return fileDescriptor_msg_de22c4c4e5c699f1, []int{30} } func (m *ModifyMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyMessageReactionExtensionsResp.Unmarshal(m, b) @@ -2070,7 +2079,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_96239333e69eba2c, []int{31} + return fileDescriptor_msg_de22c4c4e5c699f1, []int{31} } func (m *DeleteMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteMessageListReactionExtensionsReq.Unmarshal(m, b) @@ -2168,7 +2177,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_96239333e69eba2c, []int{32} + return fileDescriptor_msg_de22c4c4e5c699f1, []int{32} } func (m *DeleteMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteMessageListReactionExtensionsResp.Unmarshal(m, b) @@ -2222,7 +2231,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_96239333e69eba2c, []int{33} + return fileDescriptor_msg_de22c4c4e5c699f1, []int{33} } func (m *ExtendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExtendMsgResp.Unmarshal(m, b) @@ -2278,7 +2287,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_96239333e69eba2c, []int{34} + return fileDescriptor_msg_de22c4c4e5c699f1, []int{34} } func (m *ExtendMsg) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExtendMsg.Unmarshal(m, b) @@ -2346,7 +2355,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_96239333e69eba2c, []int{35} + return fileDescriptor_msg_de22c4c4e5c699f1, []int{35} } func (m *KeyValueResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_KeyValueResp.Unmarshal(m, b) @@ -2400,7 +2409,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_96239333e69eba2c, []int{36} + return fileDescriptor_msg_de22c4c4e5c699f1, []int{36} } func (m *MsgDataToModifyByMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToModifyByMQ.Unmarshal(m, b) @@ -3023,119 +3032,120 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ Metadata: "msg/msg.proto", } -func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_96239333e69eba2c) } - -var fileDescriptor_msg_96239333e69eba2c = []byte{ - // 1761 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5a, 0xcb, 0x6e, 0xdb, 0x46, - 0x17, 0x06, 0x45, 0x4b, 0xb2, 0x8e, 0xec, 0xd8, 0x19, 0x3b, 0xfe, 0x15, 0xc6, 0x40, 0x14, 0xe6, - 0xe6, 0xfc, 0x49, 0x64, 0xfc, 0xfe, 0x0b, 0xa4, 0x68, 0x0a, 0x34, 0x71, 0xe4, 0x2a, 0x46, 0xaa, - 0x3a, 0xa6, 0xdc, 0x16, 0x68, 0x17, 0x0e, 0x23, 0x8d, 0x18, 0xc2, 0x12, 0x49, 0x73, 0xa8, 0xd8, - 0xea, 0x6d, 0x51, 0xa0, 0xdd, 0x65, 0xd1, 0x65, 0x57, 0xdd, 0x75, 0x97, 0x27, 0xe8, 0xaa, 0x0f, - 0x50, 0x74, 0xd3, 0xb7, 0xe8, 0x4b, 0x14, 0x9c, 0x21, 0xa5, 0xe1, 0x4d, 0xa4, 0xe5, 0x20, 0x41, - 0x2f, 0x3b, 0x9d, 0x99, 0x33, 0x67, 0xce, 0x77, 0xce, 0x37, 0x17, 0xce, 0x11, 0xcc, 0xf7, 0x89, - 0xb6, 0xde, 0x27, 0x5a, 0xcd, 0xb2, 0x4d, 0xc7, 0x44, 0x62, 0x9f, 0x68, 0xd2, 0xda, 0x8e, 0x85, - 0x8d, 0xdb, 0xdb, 0xcd, 0xdb, 0x2d, 0x6c, 0x3f, 0xc7, 0xf6, 0xba, 0x75, 0xa0, 0xad, 0xd3, 0xee, - 0x75, 0xd2, 0x39, 0xd8, 0x3f, 0x22, 0xeb, 0x47, 0x84, 0xa9, 0x4b, 0xb5, 0x54, 0x4d, 0x5b, 0xb5, - 0x2c, 0x6c, 0x7b, 0xfa, 0xf2, 0x17, 0x50, 0x6e, 0x12, 0xad, 0xae, 0x3a, 0xea, 0x9e, 0xd9, 0xdc, - 0x45, 0xcb, 0x90, 0x77, 0xcc, 0x03, 0x6c, 0x54, 0x84, 0xaa, 0xb0, 0x56, 0x52, 0x98, 0x80, 0xaa, - 0x50, 0x36, 0x2d, 0x6c, 0xab, 0x8e, 0x6e, 0x1a, 0xdb, 0xf5, 0x4a, 0x8e, 0xf6, 0xf1, 0x4d, 0xe8, - 0x2d, 0x28, 0xf6, 0x99, 0x99, 0x8a, 0x58, 0x15, 0xd6, 0xca, 0x1b, 0x52, 0x8d, 0x50, 0x07, 0xf6, - 0x55, 0x4b, 0xdf, 0xb7, 0x54, 0x5b, 0xed, 0x93, 0x9a, 0x37, 0x91, 0xe2, 0xab, 0xca, 0x98, 0x9b, - 0xbc, 0xbe, 0xc9, 0x1b, 0x11, 0x32, 0x1b, 0x49, 0x77, 0x4e, 0x7e, 0x21, 0xc0, 0xc2, 0xe3, 0x01, - 0x79, 0xc6, 0x03, 0xad, 0x42, 0x79, 0x87, 0x1b, 0xc5, 0xe0, 0xf2, 0x4d, 0xbc, 0x37, 0xb9, 0xec, - 0xde, 0xc8, 0x30, 0x67, 0x0d, 0xc8, 0xb3, 0x3d, 0xf3, 0x23, 0x82, 0xed, 0xed, 0x3a, 0x8d, 0x46, - 0x49, 0x09, 0xb4, 0xc9, 0x3f, 0x09, 0x80, 0xc6, 0xbe, 0x98, 0x86, 0x66, 0x6e, 0x0e, 0x9b, 0xbb, - 0xa8, 0x02, 0xc5, 0x9e, 0x4a, 0x9c, 0x16, 0x3e, 0xa4, 0xee, 0xcc, 0x28, 0xbe, 0x88, 0xae, 0xc0, - 0xbc, 0xaa, 0x69, 0x36, 0xd6, 0x82, 0x20, 0x83, 0x8d, 0x68, 0x03, 0xca, 0x7d, 0x4c, 0x88, 0xaa, - 0xe1, 0x0f, 0x74, 0xe2, 0x54, 0xc4, 0xaa, 0xb8, 0x56, 0xde, 0x58, 0xac, 0xb9, 0x54, 0xe2, 0x90, - 0x2b, 0xbc, 0x12, 0x5a, 0x85, 0x92, 0x63, 0xeb, 0x9a, 0x46, 0x7d, 0x9d, 0xa1, 0x56, 0xc7, 0x0d, - 0xf2, 0x87, 0x80, 0x1a, 0xd8, 0x69, 0xaa, 0xc7, 0xf7, 0x8d, 0x4e, 0x53, 0x37, 0x5a, 0xf8, 0x50, - 0xc1, 0x87, 0x68, 0x05, 0x0a, 0x1e, 0x38, 0x16, 0x35, 0x4f, 0x0a, 0x87, 0x34, 0x17, 0x09, 0xa9, - 0x7c, 0x04, 0x4b, 0x11, 0x7b, 0xc4, 0x72, 0x81, 0x6f, 0xd9, 0xf6, 0x03, 0xb3, 0x83, 0xa9, 0xc5, - 0xbc, 0xe2, 0x8b, 0xee, 0x54, 0x5b, 0xb6, 0xdd, 0x24, 0x9a, 0x67, 0xcd, 0x93, 0xdc, 0xf6, 0xa6, - 0x7a, 0xec, 0x46, 0xca, 0x8d, 0xef, 0xbc, 0xe2, 0x49, 0xb4, 0x9d, 0xda, 0xa5, 0x58, 0xdc, 0x76, - 0x2a, 0xc9, 0x9f, 0x03, 0xb4, 0xb0, 0xd1, 0x69, 0x12, 0xcd, 0x05, 0xf0, 0x7a, 0x49, 0xfe, 0xa3, - 0x00, 0xe5, 0xd1, 0xe4, 0x0c, 0x2d, 0x0e, 0xa2, 0xc5, 0x63, 0xb4, 0x38, 0x80, 0x96, 0x49, 0xae, - 0x67, 0x6c, 0x9e, 0x26, 0xd1, 0x46, 0x69, 0xe2, 0x9b, 0x5c, 0x8d, 0x76, 0x4f, 0xc7, 0x86, 0xc3, - 0x34, 0xf2, 0x4c, 0x83, 0x6b, 0x42, 0x12, 0xcc, 0x12, 0x6c, 0x74, 0xf6, 0xf4, 0x3e, 0xae, 0x14, - 0xaa, 0xc2, 0x9a, 0xa8, 0x8c, 0x64, 0xb9, 0x0d, 0xe5, 0x07, 0x3d, 0xac, 0xda, 0x5e, 0x78, 0x56, - 0xa0, 0x30, 0x08, 0xe4, 0x97, 0x49, 0xae, 0x09, 0xd3, 0xf2, 0x32, 0xcf, 0x1c, 0x1c, 0xc9, 0xe1, - 0xe0, 0x89, 0xd1, 0x45, 0x78, 0x0f, 0xe6, 0xc6, 0x93, 0x4c, 0x13, 0x06, 0xf9, 0x07, 0x01, 0x16, - 0x5a, 0xd8, 0xc5, 0x13, 0xe0, 0x62, 0xac, 0xaf, 0x15, 0x28, 0x6a, 0xb6, 0x39, 0xb0, 0x46, 0xae, - 0xfa, 0xa2, 0x3b, 0xa2, 0xcf, 0x28, 0xe2, 0x51, 0x87, 0x49, 0x61, 0x04, 0x33, 0xd1, 0xf4, 0xf3, - 0xf8, 0xf3, 0x41, 0xfc, 0x72, 0x1d, 0x16, 0x83, 0xae, 0x4d, 0x85, 0x70, 0x07, 0x96, 0x5a, 0xd8, - 0xf1, 0xc8, 0xd2, 0x72, 0x54, 0x67, 0x40, 0x94, 0xa8, 0x6b, 0x42, 0xd4, 0xb5, 0x15, 0x28, 0x10, - 0xaa, 0x4e, 0x0d, 0xe6, 0x15, 0x4f, 0x92, 0x1f, 0xc2, 0x72, 0xd4, 0xe0, 0x54, 0xae, 0xdd, 0xa1, - 0x4b, 0xf7, 0xe4, 0xae, 0xc9, 0x4f, 0x60, 0xb9, 0xf1, 0x4a, 0x5c, 0xe0, 0x40, 0x8a, 0x01, 0x90, - 0xdf, 0x0a, 0xb0, 0x54, 0xc7, 0xbd, 0xd6, 0xc0, 0xc2, 0x76, 0xc3, 0xcd, 0xb2, 0xc7, 0x63, 0x3e, - 0x5f, 0x42, 0x88, 0xaf, 0x63, 0xde, 0xe4, 0x92, 0x78, 0x23, 0x06, 0x79, 0x93, 0xca, 0x0f, 0x37, - 0xd8, 0x51, 0x37, 0xa6, 0x0a, 0x76, 0x9b, 0x05, 0x3b, 0x0c, 0x28, 0x9d, 0x07, 0x8b, 0x20, 0xba, - 0xcc, 0xce, 0x51, 0x66, 0xbb, 0x3f, 0x93, 0x01, 0xc9, 0x5f, 0xb3, 0xc4, 0x9c, 0xde, 0xdd, 0x29, - 0xf7, 0xc5, 0x87, 0xf4, 0x70, 0xf9, 0xc4, 0xd6, 0x1d, 0x5c, 0xd7, 0xbb, 0xdd, 0xe9, 0x31, 0xca, - 0x5f, 0xd1, 0x70, 0x05, 0x2d, 0xbd, 0x46, 0x20, 0xdf, 0xe7, 0x41, 0x6e, 0x9a, 0x1d, 0xbd, 0x3b, - 0x6c, 0xb2, 0x93, 0x55, 0xc1, 0x6a, 0xdb, 0x75, 0x76, 0xeb, 0xd8, 0xc1, 0x06, 0xd1, 0x4d, 0x23, - 0xe3, 0x2a, 0x76, 0xf7, 0x68, 0x73, 0x60, 0xb7, 0xf1, 0x78, 0x83, 0xf5, 0xe5, 0x00, 0x99, 0xc5, - 0xe8, 0xe6, 0x4b, 0x30, 0x71, 0x27, 0xda, 0x1b, 0x5a, 0x98, 0x52, 0x33, 0xaf, 0xf0, 0x4d, 0xe8, - 0x18, 0xce, 0xd9, 0x61, 0xa7, 0xe8, 0x25, 0x21, 0x4f, 0x2f, 0x09, 0x9b, 0xec, 0x92, 0x90, 0x8a, - 0xa1, 0xa6, 0xc4, 0x19, 0xd9, 0x32, 0x1c, 0x7b, 0xa8, 0xc4, 0x4f, 0x10, 0x3e, 0x99, 0x0a, 0xd1, - 0x93, 0xe9, 0x16, 0xe4, 0xf0, 0x71, 0xa5, 0x48, 0xe3, 0xbd, 0x5a, 0xd3, 0x4c, 0x53, 0xeb, 0x61, - 0x76, 0x39, 0x7d, 0x3a, 0xe8, 0xd6, 0x5a, 0x8e, 0xad, 0x1b, 0xda, 0xc7, 0x6a, 0x6f, 0x80, 0x95, - 0x1c, 0x3e, 0x46, 0xf7, 0x60, 0x4e, 0x75, 0x1c, 0xb5, 0xfd, 0x0c, 0x77, 0xb6, 0x8d, 0xae, 0x59, - 0x99, 0xcd, 0x30, 0x2e, 0x30, 0xc2, 0xa5, 0x85, 0x4e, 0x28, 0x90, 0x4a, 0xa9, 0x2a, 0xac, 0xcd, - 0x2a, 0xbe, 0x88, 0x36, 0x60, 0x59, 0x27, 0xae, 0xfb, 0xb6, 0xa1, 0xf6, 0xc6, 0xc0, 0x2b, 0x40, - 0xd5, 0x62, 0xfb, 0x50, 0x0d, 0x50, 0x9f, 0x68, 0xef, 0xeb, 0x36, 0x71, 0x58, 0xfc, 0xe8, 0x09, - 0x5b, 0xa6, 0x27, 0x6c, 0x4c, 0x8f, 0x84, 0x41, 0x4a, 0x0e, 0xa2, 0xcb, 0xed, 0x03, 0x3c, 0xf4, - 0xb8, 0xe1, 0xfe, 0x44, 0xff, 0x83, 0xfc, 0x73, 0x17, 0x84, 0x77, 0x07, 0xbd, 0x10, 0x43, 0xc8, - 0x47, 0x78, 0xc8, 0x70, 0x32, 0xcd, 0x77, 0x72, 0x6f, 0x0b, 0xf2, 0xcf, 0x79, 0xb8, 0xe8, 0x1e, - 0x48, 0x6f, 0x86, 0x90, 0x35, 0x40, 0xfe, 0xef, 0xc7, 0x3d, 0xd5, 0xe9, 0x9a, 0x76, 0xdf, 0xdb, - 0x32, 0xf3, 0x4a, 0x4c, 0x4f, 0x98, 0xc0, 0xf9, 0x28, 0x81, 0x07, 0x49, 0x04, 0x2e, 0x50, 0x02, - 0xbf, 0x47, 0x09, 0x9c, 0x02, 0xf8, 0xf4, 0xec, 0x2d, 0x26, 0xb1, 0x77, 0x76, 0x4a, 0xf6, 0x96, - 0x4e, 0xc3, 0x5e, 0xc8, 0xc6, 0xde, 0xf2, 0x89, 0xd9, 0x3b, 0xf7, 0xa6, 0xd9, 0xfb, 0x87, 0x00, - 0xd5, 0xc9, 0xc9, 0x9c, 0xf6, 0x1e, 0xcd, 0x67, 0x53, 0x8c, 0x66, 0x33, 0x3e, 0x1e, 0x33, 0x49, - 0xf1, 0xe0, 0xb3, 0x91, 0x0f, 0x66, 0xe3, 0x06, 0x14, 0x6c, 0x4c, 0x06, 0x3d, 0x9f, 0xa1, 0x67, - 0x29, 0x43, 0x47, 0x60, 0x31, 0xb1, 0x14, 0x4f, 0x81, 0xae, 0xd5, 0xfb, 0x9d, 0xce, 0x3f, 0x6b, - 0xad, 0xa6, 0x00, 0xfe, 0x77, 0xad, 0xfe, 0x95, 0xd6, 0xea, 0xe4, 0x64, 0xfe, 0x9d, 0xd6, 0xea, - 0xef, 0x22, 0x5c, 0x6e, 0x8c, 0x76, 0x26, 0x37, 0x9c, 0xa7, 0x58, 0xaf, 0x89, 0x5f, 0xd3, 0xfc, - 0x5a, 0x16, 0x43, 0x6b, 0x39, 0xfd, 0xb2, 0x97, 0x44, 0xae, 0xfc, 0x04, 0x72, 0x55, 0xa1, 0xec, - 0x0c, 0x2d, 0xfc, 0x08, 0x0f, 0x47, 0x2b, 0xb5, 0xa4, 0xf0, 0x4d, 0x88, 0xc0, 0x4a, 0x3f, 0x98, - 0x63, 0x5f, 0xb9, 0x48, 0x83, 0x76, 0x97, 0x06, 0x2d, 0x43, 0x6c, 0x6a, 0xcd, 0x88, 0x19, 0x25, - 0xc1, 0xb4, 0xd4, 0x05, 0x14, 0xd5, 0x0e, 0x73, 0x43, 0xc8, 0xca, 0x8d, 0x5c, 0x12, 0x37, 0xe4, - 0x97, 0x02, 0x5c, 0x49, 0x77, 0x7d, 0x2a, 0x22, 0xb7, 0x60, 0x89, 0xe8, 0x86, 0xd6, 0xc3, 0x23, - 0x20, 0x94, 0x69, 0xec, 0x75, 0xee, 0x12, 0xbb, 0xb7, 0xf0, 0xfd, 0xa3, 0x09, 0x99, 0xa2, 0x12, - 0x37, 0x5a, 0xfe, 0x35, 0x07, 0xab, 0x93, 0x46, 0x4d, 0xe1, 0xa7, 0x9d, 0xb4, 0x6b, 0x33, 0x4f, - 0xdf, 0x4d, 0xf5, 0xf4, 0xf4, 0x5b, 0xf6, 0x4c, 0x24, 0x91, 0xaf, 0x6b, 0x13, 0xfb, 0x45, 0x80, - 0xcb, 0xa9, 0x9f, 0x3f, 0x53, 0x7e, 0x52, 0x96, 0xc9, 0xa0, 0xdd, 0xc6, 0x84, 0x70, 0xc1, 0x44, - 0x34, 0x98, 0xd4, 0xb6, 0xff, 0x2c, 0xa8, 0xf0, 0x6a, 0x68, 0x03, 0xa0, 0xab, 0xea, 0x3d, 0xdc, - 0xa1, 0x83, 0x66, 0x12, 0x07, 0x71, 0x5a, 0xf2, 0x4b, 0x11, 0xae, 0xd5, 0x71, 0x0f, 0x3b, 0xf8, - 0x0d, 0xee, 0x4e, 0xaf, 0xfe, 0x36, 0x91, 0xfe, 0x01, 0x99, 0xb4, 0xdf, 0x15, 0x4f, 0x7c, 0x98, - 0xce, 0x26, 0x1e, 0x1e, 0xbb, 0x49, 0xab, 0xa3, 0x44, 0x73, 0x33, 0x91, 0x67, 0xf1, 0x23, 0xe5, - 0xef, 0x04, 0xb8, 0x9e, 0x29, 0x5f, 0x53, 0xf1, 0xee, 0x04, 0x67, 0x9a, 0x09, 0xf3, 0x01, 0x56, - 0xa1, 0x5b, 0x50, 0xc2, 0x7e, 0x83, 0x57, 0x89, 0x39, 0x13, 0x22, 0xdf, 0x58, 0x81, 0xf7, 0x2d, - 0x97, 0xe4, 0x9b, 0x18, 0x78, 0xde, 0xfa, 0x2d, 0x07, 0xa5, 0x91, 0x29, 0xb4, 0x9f, 0x14, 0x5a, - 0x81, 0x3a, 0x7e, 0x23, 0x38, 0xf3, 0xe9, 0x77, 0x99, 0x5c, 0xd6, 0xe3, 0x42, 0x4c, 0x64, 0x83, - 0x1c, 0xba, 0x1a, 0xb2, 0x8d, 0x2b, 0x78, 0xf9, 0x3b, 0x43, 0x2f, 0x9b, 0xec, 0x9d, 0x38, 0x87, - 0x8f, 0xa5, 0xcf, 0x4e, 0xb8, 0x93, 0x5d, 0x0f, 0xee, 0x64, 0x31, 0xf9, 0xe3, 0xf6, 0xaf, 0x21, - 0xcc, 0xf1, 0x5d, 0xe8, 0x0e, 0xcc, 0x1e, 0x78, 0xb2, 0x97, 0xc0, 0x89, 0x0c, 0x1d, 0x29, 0x4f, - 0x91, 0xcc, 0x17, 0x02, 0x2c, 0x71, 0xc5, 0x2c, 0x37, 0x46, 0xb4, 0x9a, 0x15, 0xa9, 0x59, 0x09, - 0x19, 0x6a, 0x56, 0xb9, 0x13, 0xd7, 0xac, 0xc4, 0x50, 0xcd, 0x6a, 0xe3, 0x1b, 0x00, 0xb1, 0x4f, - 0x34, 0xf4, 0x04, 0x16, 0x42, 0xb5, 0x26, 0x74, 0x35, 0x26, 0x06, 0xd1, 0xfa, 0x96, 0x74, 0x2d, - 0x8b, 0x1a, 0xb1, 0x90, 0x09, 0xcb, 0x8f, 0x07, 0xbd, 0x9e, 0xb7, 0x7a, 0x37, 0x87, 0x2d, 0x7c, - 0x48, 0xfd, 0xfb, 0x6f, 0xcc, 0xf8, 0x38, 0x45, 0x77, 0xae, 0x9b, 0x99, 0x75, 0xe9, 0xba, 0x2c, - 0x7a, 0xef, 0xe8, 0x68, 0xc1, 0x7b, 0xf0, 0xf0, 0x6b, 0x5a, 0xd2, 0x62, 0xb0, 0x81, 0x58, 0x68, - 0x17, 0xa0, 0x8e, 0x7b, 0x4d, 0xa2, 0xb1, 0x45, 0x10, 0x33, 0xd1, 0xb8, 0xdb, 0xb5, 0x70, 0x29, - 0x45, 0x83, 0x58, 0xa8, 0x01, 0x8b, 0xe1, 0x17, 0x6e, 0x54, 0xa1, 0x13, 0xc7, 0xbc, 0xbf, 0x4b, - 0xe7, 0x13, 0x7a, 0x88, 0x85, 0xd6, 0x61, 0xd6, 0x2f, 0x06, 0x21, 0xe6, 0x39, 0x57, 0x80, 0x92, - 0xce, 0x86, 0x5a, 0x88, 0x85, 0xee, 0xc2, 0x1c, 0x5f, 0x5f, 0x41, 0xcb, 0xa3, 0x07, 0x1f, 0xae, - 0x1a, 0x24, 0x9d, 0x8b, 0x69, 0x65, 0x6e, 0x87, 0xab, 0x20, 0x9e, 0xdb, 0x31, 0xd5, 0x16, 0xcf, - 0xed, 0xd8, 0xb2, 0x49, 0x03, 0x16, 0x1b, 0xf1, 0x86, 0x1a, 0x89, 0x86, 0x1a, 0x13, 0x0c, 0xc5, - 0x04, 0x32, 0xe6, 0xdd, 0x9f, 0x33, 0x14, 0x09, 0x64, 0x9d, 0xb2, 0x9c, 0x7f, 0xfa, 0x46, 0xff, - 0xf1, 0xb5, 0x43, 0x4f, 0xeb, 0x52, 0x25, 0xbe, 0x83, 0x58, 0xe8, 0x00, 0x56, 0x27, 0x3d, 0xb7, - 0xa0, 0x2b, 0x59, 0x9e, 0xd7, 0xa4, 0xab, 0x19, 0xb4, 0x88, 0x85, 0x8e, 0xa0, 0x9a, 0x76, 0xd5, - 0x46, 0x6b, 0x59, 0x3f, 0x26, 0xa4, 0x1b, 0x19, 0x35, 0x19, 0xca, 0x49, 0x1f, 0xaa, 0x1e, 0xca, - 0x94, 0x87, 0x09, 0x0f, 0x65, 0xea, 0x17, 0xef, 0x97, 0x70, 0x31, 0x70, 0xb8, 0xc7, 0xcc, 0x77, - 0xd3, 0x5f, 0x1f, 0x19, 0xae, 0x6c, 0xd2, 0xad, 0xec, 0xca, 0xc4, 0xda, 0xbc, 0xf0, 0xe9, 0xf9, - 0x1d, 0x0b, 0x1b, 0xfb, 0xdb, 0x4d, 0xee, 0x0f, 0x20, 0x7d, 0xa2, 0xdd, 0xed, 0x13, 0xed, 0x69, - 0x81, 0x8a, 0xff, 0xff, 0x33, 0x00, 0x00, 0xff, 0xff, 0x4d, 0xec, 0xfc, 0x6f, 0x69, 0x22, 0x00, - 0x00, +func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_de22c4c4e5c699f1) } + +var fileDescriptor_msg_de22c4c4e5c699f1 = []byte{ + // 1780 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5a, 0x4f, 0x6f, 0xdb, 0xc8, + 0x15, 0x07, 0x45, 0x4b, 0xb2, 0x9e, 0xec, 0xd8, 0x19, 0x3b, 0xae, 0xc2, 0x18, 0x88, 0xc2, 0xfc, + 0x73, 0x9a, 0x44, 0x46, 0xdd, 0x02, 0x29, 0x9a, 0x02, 0x4d, 0x1c, 0xb9, 0x8a, 0x91, 0xaa, 0x8e, + 0x29, 0xb7, 0x05, 0xda, 0x83, 0xc3, 0x48, 0x23, 0x86, 0xb0, 0x44, 0xd2, 0x1c, 0x2a, 0xb6, 0xfa, + 0xef, 0x50, 0xa0, 0x7b, 0xcb, 0x61, 0x8f, 0x7b, 0xda, 0xdb, 0xde, 0xf2, 0x09, 0xf6, 0xb4, 0x1f, + 0x20, 0xd8, 0xcb, 0x7e, 0x8b, 0xfd, 0x12, 0x8b, 0x99, 0xa1, 0xa4, 0xe1, 0x3f, 0x91, 0x96, 0x03, + 0x07, 0xd8, 0xdd, 0x9b, 0x66, 0xe6, 0xcd, 0x9b, 0xf7, 0x7b, 0xef, 0xf7, 0x66, 0x86, 0xf3, 0x04, + 0x8b, 0x7d, 0x62, 0x6c, 0xf6, 0x89, 0x51, 0x73, 0x5c, 0xdb, 0xb3, 0x91, 0xdc, 0x27, 0x86, 0xb2, + 0xb1, 0xe7, 0x60, 0xeb, 0xe1, 0x6e, 0xf3, 0x61, 0x0b, 0xbb, 0x6f, 0xb1, 0xbb, 0xe9, 0x1c, 0x19, + 0x9b, 0x6c, 0x78, 0x93, 0x74, 0x8e, 0x0e, 0x4f, 0xc8, 0xe6, 0x09, 0xe1, 0xe2, 0x4a, 0x2d, 0x55, + 0xd2, 0xd5, 0x1d, 0x07, 0xbb, 0xbe, 0xbc, 0xfa, 0x2f, 0x28, 0x37, 0x89, 0x51, 0xd7, 0x3d, 0xfd, + 0xc0, 0x6e, 0xee, 0xa3, 0x55, 0xc8, 0x7b, 0xf6, 0x11, 0xb6, 0x2a, 0x52, 0x55, 0xda, 0x28, 0x69, + 0xbc, 0x81, 0xaa, 0x50, 0xb6, 0x1d, 0xec, 0xea, 0x9e, 0x69, 0x5b, 0xbb, 0xf5, 0x4a, 0x8e, 0x8d, + 0x89, 0x5d, 0xe8, 0x37, 0x50, 0xec, 0x73, 0x35, 0x15, 0xb9, 0x2a, 0x6d, 0x94, 0xb7, 0x94, 0x1a, + 0x61, 0x06, 0x1c, 0xea, 0x8e, 0x79, 0xe8, 0xe8, 0xae, 0xde, 0x27, 0x35, 0x7f, 0x21, 0x6d, 0x24, + 0xaa, 0x62, 0x61, 0xf1, 0xfa, 0xb6, 0xa8, 0x44, 0xca, 0xac, 0x24, 0xdd, 0x38, 0xf5, 0x9d, 0x04, + 0x4b, 0x2f, 0x07, 0xe4, 0x8d, 0x08, 0xb4, 0x0a, 0xe5, 0x3d, 0x61, 0x16, 0x87, 0x2b, 0x76, 0x89, + 0xd6, 0xe4, 0xb2, 0x5b, 0xa3, 0xc2, 0x82, 0x33, 0x20, 0x6f, 0x0e, 0xec, 0xbf, 0x10, 0xec, 0xee, + 0xd6, 0x99, 0x37, 0x4a, 0x5a, 0xa0, 0x4f, 0xfd, 0x4a, 0x02, 0x34, 0xb1, 0xc5, 0xb6, 0x0c, 0x7b, + 0x7b, 0xd8, 0xdc, 0x47, 0x15, 0x28, 0xf6, 0x74, 0xe2, 0xb5, 0xf0, 0x31, 0x33, 0x67, 0x4e, 0x1b, + 0x35, 0xd1, 0x2d, 0x58, 0xd4, 0x0d, 0xc3, 0xc5, 0x46, 0x10, 0x64, 0xb0, 0x13, 0x6d, 0x41, 0xb9, + 0x8f, 0x09, 0xd1, 0x0d, 0xfc, 0x27, 0x93, 0x78, 0x15, 0xb9, 0x2a, 0x6f, 0x94, 0xb7, 0x96, 0x6b, + 0x94, 0x4a, 0x02, 0x72, 0x4d, 0x14, 0x42, 0xeb, 0x50, 0xf2, 0x5c, 0xd3, 0x30, 0x98, 0xad, 0x73, + 0x4c, 0xeb, 0xa4, 0x43, 0xfd, 0x33, 0xa0, 0x06, 0xf6, 0x9a, 0xfa, 0xe9, 0x53, 0xab, 0xd3, 0x34, + 0xad, 0x16, 0x3e, 0xd6, 0xf0, 0x31, 0x5a, 0x83, 0x82, 0x0f, 0x8e, 0x7b, 0xcd, 0x6f, 0x85, 0x5d, + 0x9a, 0x8b, 0xb8, 0x54, 0x3d, 0x81, 0x95, 0x88, 0x3e, 0xe2, 0x50, 0xe0, 0x3b, 0xae, 0xfb, 0xcc, + 0xee, 0x60, 0xa6, 0x31, 0xaf, 0x8d, 0x9a, 0x74, 0xa9, 0x1d, 0xd7, 0x6d, 0x12, 0xc3, 0xd7, 0xe6, + 0xb7, 0x68, 0x7f, 0x53, 0x3f, 0xa5, 0x9e, 0xa2, 0xfe, 0x5d, 0xd4, 0xfc, 0x16, 0xeb, 0x67, 0x7a, + 0x19, 0x16, 0xda, 0xcf, 0x5a, 0xea, 0x3f, 0x01, 0x5a, 0xd8, 0xea, 0x34, 0x89, 0x41, 0x01, 0x5c, + 0x2c, 0xc9, 0xbf, 0x94, 0xa0, 0x3c, 0x5e, 0x9c, 0xa3, 0xc5, 0x41, 0xb4, 0x78, 0x82, 0x16, 0x07, + 0xd0, 0xf2, 0x16, 0xb5, 0x8c, 0xaf, 0xd3, 0x24, 0xc6, 0x38, 0x4c, 0x62, 0x17, 0x95, 0x68, 0xf7, + 0x4c, 0x6c, 0x79, 0x5c, 0x22, 0xcf, 0x25, 0x84, 0x2e, 0xa4, 0xc0, 0x3c, 0xc1, 0x56, 0xe7, 0xc0, + 0xec, 0xe3, 0x4a, 0xa1, 0x2a, 0x6d, 0xc8, 0xda, 0xb8, 0xad, 0xb6, 0xa1, 0xfc, 0xac, 0x87, 0x75, + 0xd7, 0x77, 0xcf, 0x1a, 0x14, 0x06, 0x81, 0xf8, 0xf2, 0x16, 0x55, 0x61, 0x3b, 0x7e, 0xe4, 0xb9, + 0x81, 0xe3, 0x76, 0xd8, 0x79, 0x72, 0x34, 0x09, 0x9f, 0xc0, 0xc2, 0x64, 0x91, 0x59, 0xdc, 0xa0, + 0x7e, 0x21, 0xc1, 0x52, 0x0b, 0x53, 0x3c, 0x01, 0x2e, 0xc6, 0xda, 0x5a, 0x81, 0xa2, 0xe1, 0xda, + 0x03, 0x67, 0x6c, 0xea, 0xa8, 0x49, 0x67, 0xf4, 0x39, 0x45, 0x7c, 0xea, 0xf0, 0x56, 0x18, 0xc1, + 0x5c, 0x34, 0xfc, 0x22, 0xfe, 0x7c, 0x10, 0xbf, 0x5a, 0x87, 0xe5, 0xa0, 0x69, 0x33, 0x21, 0xdc, + 0x83, 0x95, 0x16, 0xf6, 0x7c, 0xb2, 0xb4, 0x3c, 0xdd, 0x1b, 0x10, 0x2d, 0x6a, 0x9a, 0x14, 0x35, + 0x6d, 0x0d, 0x0a, 0x84, 0x89, 0x33, 0x85, 0x79, 0xcd, 0x6f, 0xa9, 0xcf, 0x61, 0x35, 0xaa, 0x70, + 0x26, 0xd3, 0x1e, 0xb1, 0xd4, 0x3d, 0xbb, 0x69, 0xea, 0x2b, 0x58, 0x6d, 0x7c, 0x14, 0x13, 0x04, + 0x90, 0x72, 0x00, 0xe4, 0xff, 0x25, 0x58, 0xa9, 0xe3, 0x5e, 0x6b, 0xe0, 0x60, 0xb7, 0x41, 0xa3, + 0xec, 0xf3, 0x58, 0x8c, 0x97, 0x14, 0xe2, 0xeb, 0x84, 0x37, 0xb9, 0x24, 0xde, 0xc8, 0x41, 0xde, + 0xa4, 0xf2, 0x83, 0x3a, 0x3b, 0x6a, 0xc6, 0x4c, 0xce, 0x6e, 0x73, 0x67, 0x87, 0x01, 0xa5, 0xf3, + 0x60, 0x19, 0x64, 0xca, 0xec, 0x1c, 0x63, 0x36, 0xfd, 0x99, 0x0c, 0x48, 0xfd, 0x2f, 0x0f, 0xcc, + 0xf9, 0xcd, 0x9d, 0x71, 0x5f, 0x7c, 0xce, 0x0e, 0x97, 0xbf, 0xb9, 0xa6, 0x87, 0xeb, 0x66, 0xb7, + 0x3b, 0x3b, 0x46, 0xf5, 0x3f, 0xcc, 0x5d, 0x41, 0x4d, 0x17, 0x08, 0xe4, 0xf3, 0x3c, 0xa8, 0x4d, + 0xbb, 0x63, 0x76, 0x87, 0x4d, 0x7e, 0xb2, 0x6a, 0x58, 0x6f, 0x53, 0x63, 0x77, 0x4e, 0x3d, 0x6c, + 0x11, 0xd3, 0xb6, 0x32, 0x66, 0x31, 0xdd, 0xa3, 0xed, 0x81, 0xdb, 0xc6, 0x93, 0x0d, 0x76, 0xd4, + 0x0e, 0x90, 0x59, 0x8e, 0x6e, 0xbe, 0x04, 0x13, 0xba, 0xd0, 0xc1, 0xd0, 0xc1, 0x8c, 0x9a, 0x79, + 0x4d, 0xec, 0x42, 0xa7, 0x70, 0xc5, 0x0d, 0x1b, 0xc5, 0x2e, 0x09, 0x79, 0x76, 0x49, 0xd8, 0xe6, + 0x97, 0x84, 0x54, 0x0c, 0x35, 0x2d, 0x4e, 0xc9, 0x8e, 0xe5, 0xb9, 0x43, 0x2d, 0x7e, 0x81, 0xf0, + 0xc9, 0x54, 0x88, 0x9e, 0x4c, 0x0f, 0x20, 0x87, 0x4f, 0x2b, 0x45, 0xe6, 0xef, 0xf5, 0x9a, 0x61, + 0xdb, 0x46, 0x0f, 0xf3, 0xcb, 0xe9, 0xeb, 0x41, 0xb7, 0xd6, 0xf2, 0x5c, 0xd3, 0x32, 0xfe, 0xaa, + 0xf7, 0x06, 0x58, 0xcb, 0xe1, 0x53, 0xf4, 0x04, 0x16, 0x74, 0xcf, 0xd3, 0xdb, 0x6f, 0x70, 0x67, + 0xd7, 0xea, 0xda, 0x95, 0xf9, 0x0c, 0xf3, 0x02, 0x33, 0x28, 0x2d, 0x4c, 0xc2, 0x80, 0x54, 0x4a, + 0x55, 0x69, 0x63, 0x5e, 0x1b, 0x35, 0xd1, 0x16, 0xac, 0x9a, 0x84, 0x9a, 0xef, 0x5a, 0x7a, 0x6f, + 0x02, 0xbc, 0x02, 0x4c, 0x2c, 0x76, 0x0c, 0xd5, 0x00, 0xf5, 0x89, 0xf1, 0x47, 0xd3, 0x25, 0x1e, + 0xf7, 0x1f, 0x3b, 0x61, 0xcb, 0xec, 0x84, 0x8d, 0x19, 0x51, 0x30, 0x28, 0xc9, 0x4e, 0xa4, 0xdc, + 0x3e, 0xc2, 0x43, 0x9f, 0x1b, 0xf4, 0x27, 0xfa, 0x15, 0xe4, 0xdf, 0x52, 0x10, 0xfe, 0x1d, 0xf4, + 0x5a, 0x0c, 0x21, 0x5f, 0xe0, 0x21, 0xc7, 0xc9, 0x25, 0x7f, 0x97, 0xfb, 0xad, 0xa4, 0x7e, 0x9d, + 0x87, 0xeb, 0xf4, 0x40, 0xfa, 0x34, 0x84, 0xac, 0x01, 0x1a, 0xfd, 0x7e, 0xd9, 0xd3, 0xbd, 0xae, + 0xed, 0xf6, 0xfd, 0x2d, 0x33, 0xaf, 0xc5, 0x8c, 0x84, 0x09, 0x9c, 0x8f, 0x12, 0x78, 0x90, 0x44, + 0xe0, 0x02, 0x23, 0xf0, 0x1f, 0x18, 0x81, 0x53, 0x00, 0x9f, 0x9f, 0xbd, 0xc5, 0x24, 0xf6, 0xce, + 0xcf, 0xc8, 0xde, 0xd2, 0x79, 0xd8, 0x0b, 0xd9, 0xd8, 0x5b, 0x3e, 0x33, 0x7b, 0x17, 0x3e, 0x35, + 0x7b, 0xbf, 0x97, 0xa0, 0x3a, 0x3d, 0x98, 0xb3, 0xde, 0xa3, 0xc5, 0x68, 0xca, 0xd1, 0x68, 0xc6, + 0xfb, 0x63, 0x2e, 0xc9, 0x1f, 0x62, 0x34, 0xf2, 0xc1, 0x68, 0xdc, 0x83, 0x82, 0x8b, 0xc9, 0xa0, + 0x37, 0x62, 0xe8, 0x65, 0xc6, 0xd0, 0x31, 0x58, 0x4c, 0x1c, 0xcd, 0x17, 0x50, 0x3f, 0xe4, 0xe1, + 0xfa, 0xd3, 0x4e, 0xe7, 0xa7, 0x95, 0xab, 0x29, 0x80, 0x7f, 0xce, 0xd5, 0xf3, 0xe6, 0x2a, 0xcd, + 0x46, 0x82, 0x8f, 0x2b, 0x8b, 0xfc, 0x9e, 0x44, 0xf0, 0xf1, 0x45, 0x66, 0xef, 0xf4, 0xf0, 0xfe, + 0x98, 0xb2, 0xf7, 0x3b, 0x19, 0x6e, 0x36, 0xc6, 0x7b, 0x15, 0x75, 0xe7, 0x39, 0x32, 0x38, 0xf1, + 0xfb, 0x5a, 0xcc, 0x6e, 0x39, 0x94, 0xdd, 0xe9, 0xd7, 0xbf, 0x24, 0xba, 0xe5, 0xa7, 0xd0, 0xad, + 0x0a, 0x65, 0x6f, 0xe8, 0xe0, 0x17, 0x78, 0x38, 0xce, 0xdd, 0x92, 0x26, 0x76, 0x21, 0x02, 0x6b, + 0xfd, 0x60, 0x8c, 0x47, 0xc2, 0x45, 0xe6, 0xb4, 0xc7, 0xcc, 0x69, 0x19, 0x7c, 0x53, 0x6b, 0x46, + 0xd4, 0x68, 0x09, 0xaa, 0x95, 0x2e, 0xa0, 0xa8, 0x74, 0x98, 0x1b, 0x52, 0x56, 0x6e, 0xe4, 0x92, + 0xb8, 0xa1, 0xbe, 0x97, 0xe0, 0x56, 0xba, 0xe9, 0x33, 0x11, 0xb9, 0x05, 0x2b, 0xc4, 0xb4, 0x8c, + 0x1e, 0x1e, 0x03, 0x61, 0x4c, 0xe3, 0xef, 0x75, 0x37, 0xf8, 0x4d, 0x46, 0x1c, 0x1f, 0x2f, 0xc8, + 0x05, 0xb5, 0xb8, 0xd9, 0xea, 0x87, 0x1c, 0xac, 0x4f, 0x9b, 0x35, 0x83, 0x9d, 0x6e, 0xd2, 0x3e, + 0xce, 0x2d, 0xfd, 0x7d, 0xaa, 0xa5, 0xe7, 0xdf, 0xc4, 0xe7, 0x22, 0x81, 0xbc, 0xa8, 0x4d, 0xec, + 0x1b, 0x09, 0x6e, 0xa6, 0x7e, 0x10, 0xcd, 0xf8, 0x91, 0x59, 0x26, 0x83, 0x76, 0x1b, 0x13, 0x22, + 0x38, 0x13, 0x31, 0x67, 0x32, 0xdd, 0xa3, 0x87, 0x42, 0x4d, 0x14, 0x43, 0x5b, 0x00, 0x5d, 0xdd, + 0xec, 0xe1, 0x0e, 0x9b, 0x34, 0x97, 0x38, 0x49, 0x90, 0x52, 0xdf, 0xcb, 0x70, 0xa7, 0x8e, 0x7b, + 0xd8, 0xc3, 0x9f, 0x70, 0x77, 0xfa, 0xf8, 0xf7, 0x8b, 0xf4, 0x4f, 0xca, 0xa4, 0xfd, 0xae, 0x78, + 0xe6, 0xe3, 0x75, 0x3e, 0xf1, 0xf0, 0xd8, 0x4f, 0xca, 0x8e, 0x12, 0x8b, 0xcd, 0x54, 0x9e, 0xc5, + 0xcf, 0x54, 0x3f, 0x93, 0xe0, 0x6e, 0xa6, 0x78, 0xcd, 0xc4, 0xbb, 0x33, 0x9c, 0x69, 0x36, 0x2c, + 0x06, 0x58, 0x85, 0x1e, 0x40, 0x09, 0x8f, 0x3a, 0xfc, 0xda, 0xcc, 0xa5, 0x10, 0xf9, 0x26, 0x02, + 0xa2, 0x6d, 0xb9, 0x24, 0xdb, 0xe4, 0xc0, 0x83, 0xd7, 0xb7, 0x39, 0x28, 0x8d, 0x55, 0xa1, 0xc3, + 0x24, 0xd7, 0x4a, 0xcc, 0xf0, 0x7b, 0xc1, 0x95, 0xcf, 0xbf, 0xcb, 0xe4, 0xb2, 0x1e, 0x17, 0x72, + 0x22, 0x1b, 0xd4, 0xd0, 0x65, 0x91, 0x6f, 0x5c, 0xc1, 0xeb, 0xe0, 0x25, 0x76, 0xfd, 0xe4, 0x2f, + 0xc7, 0x39, 0x7c, 0xaa, 0xfc, 0xe3, 0x8c, 0x3b, 0xd9, 0xdd, 0xe0, 0x4e, 0x16, 0x13, 0x3f, 0x61, + 0xff, 0x1a, 0xc2, 0x82, 0x38, 0x84, 0x1e, 0xc1, 0xfc, 0x91, 0xdf, 0xf6, 0x03, 0x38, 0x95, 0xa1, + 0x63, 0xe1, 0x19, 0x82, 0xf9, 0x4e, 0x82, 0x15, 0xa1, 0xbc, 0x45, 0x7d, 0xc4, 0xea, 0x5b, 0x91, + 0x2a, 0x96, 0x94, 0xa1, 0x8a, 0x95, 0x3b, 0x73, 0x15, 0x4b, 0x0e, 0x55, 0xb1, 0xb6, 0xfe, 0x07, + 0x20, 0xf7, 0x89, 0x81, 0x5e, 0xc1, 0x52, 0xa8, 0xfa, 0x84, 0x6e, 0xc7, 0xf8, 0x20, 0x5a, 0xf1, + 0x52, 0xee, 0x64, 0x11, 0x23, 0x0e, 0xb2, 0x61, 0xf5, 0xe5, 0xa0, 0xd7, 0xf3, 0xb3, 0x77, 0x7b, + 0xd8, 0xc2, 0xc7, 0xcc, 0xbe, 0x5f, 0xc6, 0xcc, 0x8f, 0x13, 0xa4, 0x6b, 0xdd, 0xcf, 0x2c, 0xcb, + 0xf2, 0xb2, 0xe8, 0xbf, 0xac, 0xa3, 0x25, 0xff, 0x09, 0x64, 0x54, 0xe5, 0x52, 0x96, 0x83, 0x1d, + 0xc4, 0x41, 0xfb, 0x00, 0x75, 0xdc, 0x6b, 0x12, 0x83, 0x27, 0x41, 0xcc, 0x42, 0x93, 0x61, 0xaa, + 0xe1, 0x46, 0x8a, 0x04, 0x71, 0x50, 0x03, 0x96, 0xc3, 0x6f, 0xde, 0xa8, 0xc2, 0x16, 0x8e, 0x79, + 0x91, 0x57, 0xae, 0x26, 0x8c, 0x10, 0x07, 0x6d, 0xc2, 0xfc, 0xa8, 0x3c, 0x84, 0xb8, 0xe5, 0x42, + 0x49, 0x4a, 0xb9, 0x1c, 0xea, 0x21, 0x0e, 0x7a, 0x0c, 0x0b, 0x62, 0xc5, 0x05, 0xad, 0x8e, 0x9f, + 0x80, 0x84, 0xfa, 0x90, 0x72, 0x25, 0xa6, 0x97, 0x9b, 0x1d, 0xae, 0x8b, 0xf8, 0x66, 0xc7, 0xd4, + 0x5f, 0x7c, 0xb3, 0x63, 0x0b, 0x29, 0x0d, 0x58, 0x6e, 0xc4, 0x2b, 0x6a, 0x24, 0x2a, 0x6a, 0x4c, + 0x51, 0x14, 0xe3, 0xc8, 0x98, 0x4a, 0x80, 0xa0, 0x28, 0xe2, 0xc8, 0x3a, 0x63, 0xb9, 0xf8, 0x18, + 0x8e, 0x7e, 0x31, 0x92, 0x0e, 0x3d, 0xb6, 0x2b, 0x95, 0xf8, 0x01, 0xe2, 0xa0, 0x23, 0x58, 0x9f, + 0xf6, 0x00, 0x83, 0x6e, 0x65, 0x79, 0x70, 0x53, 0x6e, 0x67, 0x90, 0x22, 0x0e, 0x3a, 0x81, 0x6a, + 0xda, 0x55, 0x1b, 0x6d, 0x64, 0xfd, 0x98, 0x50, 0xee, 0x65, 0x94, 0xe4, 0x28, 0xa7, 0x7d, 0xa8, + 0xfa, 0x28, 0x53, 0x9e, 0x2a, 0x7c, 0x94, 0xa9, 0x5f, 0xbc, 0xff, 0x86, 0xeb, 0x81, 0xc3, 0x3d, + 0x66, 0xbd, 0xfb, 0xa3, 0xfc, 0xc8, 0x70, 0x65, 0x53, 0x1e, 0x64, 0x17, 0x26, 0xce, 0xf6, 0xb5, + 0xbf, 0x5f, 0xdd, 0x73, 0xb0, 0x75, 0xb8, 0xdb, 0x14, 0xfe, 0x12, 0xd2, 0x27, 0xc6, 0xe3, 0x3e, + 0x31, 0x5e, 0x17, 0x58, 0xf3, 0xd7, 0x3f, 0x04, 0x00, 0x00, 0xff, 0xff, 0x3c, 0x0f, 0xb1, 0x43, + 0x7b, 0x22, 0x00, 0x00, } diff --git a/pkg/proto/msg/msg.proto b/pkg/proto/msg/msg.proto index 5a4e8794d..e3978e697 100644 --- a/pkg/proto/msg/msg.proto +++ b/pkg/proto/msg/msg.proto @@ -202,6 +202,7 @@ message AddMessageReactionExtensionsReq { bool isReact = 10; bool isExternalExtensions = 11; int64 msgFirstModifyTime = 12; + uint32 seq = 13; } message AddMessageReactionExtensionsResp { int32 errCode = 1; diff --git a/script/build_all_service.sh b/script/build_all_service.sh index 0d9814bec..90e45444d 100644 --- a/script/build_all_service.sh +++ b/script/build_all_service.sh @@ -25,7 +25,7 @@ for ((i = 0; i < ${#service_source_root[*]}; i++)); do cd $begin_path service_path=${service_source_root[$i]} cd $service_path - make install + make install os=${goos} arch=${goarch} if [ $? -ne 0 ]; then echo -e "${RED_PREFIX}${service_names[$i]} build failed ${COLOR_SUFFIX}\n" exit -1 diff --git a/script/path_info.cfg b/script/path_info.cfg index 48ba5f96f..4c77b4ec5 100644 --- a/script/path_info.cfg +++ b/script/path_info.cfg @@ -81,6 +81,8 @@ service_names=( ${sdk_server_name} ${demo_server_name} ) +goos=linux +goarch=amd64 From 33ee58904ba7f21675efa263d75a79eaf5265b7c Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 27 Feb 2023 17:08:34 +0800 Subject: [PATCH 294/313] callback add --- config/config.yaml | 3 + internal/msg_transfer/logic/callback.go | 62 +++++++++++++++++++ .../logic/online_history_msg_handler.go | 4 ++ pkg/call_back_struct/message.go | 8 +++ pkg/common/config/config.go | 1 + pkg/common/constant/constant.go | 1 + 6 files changed, 79 insertions(+) create mode 100644 internal/msg_transfer/logic/callback.go diff --git a/config/config.yaml b/config/config.yaml index 050811b31..0dfb24242 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -311,6 +311,9 @@ callback: callbackAfterSendGroupMsg: enable: false callbackTimeOut: 2 + callbackAfterConsumeGroupMsg: + enable: false + callbackTimeOut: 2 callbackMsgModify: enable: false callbackTimeOut: 2 diff --git a/internal/msg_transfer/logic/callback.go b/internal/msg_transfer/logic/callback.go new file mode 100644 index 000000000..048b5c288 --- /dev/null +++ b/internal/msg_transfer/logic/callback.go @@ -0,0 +1,62 @@ +package logic + +import ( + cbApi "Open_IM/pkg/call_back_struct" + "Open_IM/pkg/common/callback" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/constant" + "Open_IM/pkg/common/http" + "Open_IM/pkg/common/log" + pbChat "Open_IM/pkg/proto/msg" + "Open_IM/pkg/utils" + http2 "net/http" +) + +func callbackAfterConsumeGroupMsg(msg []*pbChat.MsgDataToMQ, triggerID string) cbApi.CommonCallbackResp { + callbackResp := cbApi.CommonCallbackResp{OperationID: triggerID} + if !config.Config.Callback.CallbackAfterConsumeGroupMsg.Enable { + return callbackResp + } + for _, v := range msg { + if v.MsgData.SessionType == constant.SuperGroupChatType || v.MsgData.SessionType == constant.GroupChatType { + commonCallbackReq := copyCallbackCommonReqStruct(v) + commonCallbackReq.CallbackCommand = constant.CallbackAfterConsumeGroupMsgCommand + req := cbApi.CallbackAfterConsumeGroupMsgReq{ + CommonCallbackReq: commonCallbackReq, + GroupID: v.MsgData.GroupID, + } + resp := &cbApi.CallbackAfterConsumeGroupMsgResp{CommonCallbackResp: &callbackResp} + defer log.NewDebug(triggerID, utils.GetSelfFuncName(), req, *resp) + if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackAfterConsumeGroupMsgCommand, req, resp, config.Config.Callback.CallbackAfterConsumeGroupMsg.CallbackTimeOut); err != nil { + callbackResp.ErrCode = http2.StatusInternalServerError + callbackResp.ErrMsg = err.Error() + return callbackResp + } + } + } + + log.NewDebug(triggerID, utils.GetSelfFuncName(), msg) + + return callbackResp +} +func copyCallbackCommonReqStruct(msg *pbChat.MsgDataToMQ) cbApi.CommonCallbackReq { + req := cbApi.CommonCallbackReq{ + SendID: msg.MsgData.SendID, + ServerMsgID: msg.MsgData.ServerMsgID, + ClientMsgID: msg.MsgData.ClientMsgID, + OperationID: msg.OperationID, + SenderPlatformID: msg.MsgData.SenderPlatformID, + SenderNickname: msg.MsgData.SenderNickname, + SessionType: msg.MsgData.SessionType, + MsgFrom: msg.MsgData.MsgFrom, + ContentType: msg.MsgData.ContentType, + Status: msg.MsgData.Status, + CreateTime: msg.MsgData.CreateTime, + AtUserIDList: msg.MsgData.AtUserIDList, + SenderFaceURL: msg.MsgData.SenderFaceURL, + Content: callback.GetContent(msg.MsgData), + Seq: msg.MsgData.Seq, + Ex: msg.MsgData.Ex, + } + return req +} diff --git a/internal/msg_transfer/logic/online_history_msg_handler.go b/internal/msg_transfer/logic/online_history_msg_handler.go index af22e9259..26c0da5f4 100644 --- a/internal/msg_transfer/logic/online_history_msg_handler.go +++ b/internal/msg_transfer/logic/online_history_msg_handler.go @@ -111,6 +111,10 @@ func (och *OnlineHistoryRedisConsumerHandler) Run(channelID int) { singleMsgSuccessCountMutex.Lock() singleMsgSuccessCount += uint64(len(storageMsgList)) singleMsgSuccessCountMutex.Unlock() + callbackResp := callbackAfterConsumeGroupMsg(storageMsgList, triggerID) + if callbackResp.ErrCode != 0 { + log.NewError(triggerID, utils.GetSelfFuncName(), "callbackAfterConsumeGroupMsg resp: ", callbackResp) + } och.SendMessageToMongoCH(msgChannelValue.aggregationID, triggerID, storageMsgList, lastSeq) for _, v := range storageMsgList { diff --git a/pkg/call_back_struct/message.go b/pkg/call_back_struct/message.go index 2fcb2b3aa..2eb8034bd 100644 --- a/pkg/call_back_struct/message.go +++ b/pkg/call_back_struct/message.go @@ -41,6 +41,14 @@ type CallbackAfterSendGroupMsgResp struct { *CommonCallbackResp } +type CallbackAfterConsumeGroupMsgReq struct { + CommonCallbackReq + GroupID string `json:"groupID"` +} + +type CallbackAfterConsumeGroupMsgResp struct { + *CommonCallbackResp +} type CallbackMsgModifyCommandReq struct { CommonCallbackReq } diff --git a/pkg/common/config/config.go b/pkg/common/config/config.go index 1913bac79..90be70fc7 100644 --- a/pkg/common/config/config.go +++ b/pkg/common/config/config.go @@ -287,6 +287,7 @@ type config struct { CallbackAfterSendSingleMsg callBackConfig `yaml:"callbackAfterSendSingleMsg"` CallbackBeforeSendGroupMsg callBackConfig `yaml:"callbackBeforeSendGroupMsg"` CallbackAfterSendGroupMsg callBackConfig `yaml:"callbackAfterSendGroupMsg"` + CallbackAfterConsumeGroupMsg callBackConfig `yaml:"callbackAfterConsumeGroupMsg"` CallbackMsgModify callBackConfig `yaml:"callbackMsgModify"` CallbackUserOnline callBackConfig `yaml:"callbackUserOnline"` CallbackUserOffline callBackConfig `yaml:"callbackUserOffline"` diff --git a/pkg/common/constant/constant.go b/pkg/common/constant/constant.go index c189cf709..9a24b694e 100644 --- a/pkg/common/constant/constant.go +++ b/pkg/common/constant/constant.go @@ -210,6 +210,7 @@ const ( CallbackAfterSendSingleMsgCommand = "callbackAfterSendSingleMsgCommand" CallbackBeforeSendGroupMsgCommand = "callbackBeforeSendGroupMsgCommand" CallbackAfterSendGroupMsgCommand = "callbackAfterSendGroupMsgCommand" + CallbackAfterConsumeGroupMsgCommand = "callbackAfterConsumeGroupMsgCommand" CallbackMsgModifyCommand = "callbackMsgModifyCommand" CallbackUserOnlineCommand = "callbackUserOnlineCommand" CallbackUserOfflineCommand = "callbackUserOfflineCommand" From 60c507ff100ec18d0842929535f55d3f63fa5ce9 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 27 Feb 2023 20:03:06 +0800 Subject: [PATCH 295/313] Makefile update --- cmd/open_im_api/Makefile | 11 ++++++++--- cmd/open_im_cms_api/Makefile | 11 ++++++++--- cmd/open_im_cron_task/Makefile | 11 ++++++++--- cmd/open_im_demo/Makefile | 11 ++++++++--- cmd/open_im_msg_gateway/Makefile | 11 ++++++++--- cmd/open_im_msg_transfer/Makefile | 11 ++++++++--- cmd/open_im_push/Makefile | 11 ++++++++--- cmd/rpc/open_im_admin_cms/Makefile | 11 ++++++++--- cmd/rpc/open_im_auth/Makefile | 11 ++++++++--- cmd/rpc/open_im_cache/Makefile | 11 ++++++++--- cmd/rpc/open_im_conversation/Makefile | 11 ++++++++--- cmd/rpc/open_im_friend/Makefile | 11 ++++++++--- cmd/rpc/open_im_group/Makefile | 11 ++++++++--- cmd/rpc/open_im_msg/Makefile | 11 ++++++++--- cmd/rpc/open_im_office/Makefile | 11 ++++++++--- cmd/rpc/open_im_organization/Makefile | 11 ++++++++--- cmd/rpc/open_im_user/Makefile | 11 ++++++++--- 17 files changed, 136 insertions(+), 51 deletions(-) diff --git a/cmd/open_im_api/Makefile b/cmd/open_im_api/Makefile index 1cf10c4df..91aee7831 100644 --- a/cmd/open_im_api/Makefile +++ b/cmd/open_im_api/Makefile @@ -1,12 +1,18 @@ .PHONY: all build run gotool install clean help -BINARY_NAME=open_im_api +NAME=open_im_api BIN_DIR=../../bin/ OS:= $(or $(os),linux) ARCH:=$(or $(arch),amd64) all: gotool build +ifeq ($(OS),windows) + +BINARY_NAME=${NAME}.exe + +endif + build: CGO_ENABLED=0 GOOS=${OS} GOARCH=${ARCH} go build -ldflags="-w -s" @@ -17,8 +23,7 @@ gotool: go fmt ./ go vet ./ -install: - make build +install:build mv ${BINARY_NAME} ${BIN_DIR} clean: diff --git a/cmd/open_im_cms_api/Makefile b/cmd/open_im_cms_api/Makefile index 98829e2d1..d0a8aeb8e 100644 --- a/cmd/open_im_cms_api/Makefile +++ b/cmd/open_im_cms_api/Makefile @@ -1,6 +1,6 @@ .PHONY: all build run gotool install clean help -BINARY_NAME=open_im_cms_api +NAME=open_im_cms_api BIN_DIR=../../bin/ @@ -8,6 +8,12 @@ OS:= $(or $(os),linux) ARCH:=$(or $(arch),amd64) all: gotool build +ifeq ($(OS),windows) + +BINARY_NAME=${NAME}.exe + +endif + build: CGO_ENABLED=0 GOOS=${OS} GOARCH=${ARCH} go build -ldflags="-w -s" @@ -18,8 +24,7 @@ gotool: go fmt ./ go vet ./ -install: - make build +install:build mv ${BINARY_NAME} ${BIN_DIR} clean: diff --git a/cmd/open_im_cron_task/Makefile b/cmd/open_im_cron_task/Makefile index 2678c9a0e..81a7d13a8 100644 --- a/cmd/open_im_cron_task/Makefile +++ b/cmd/open_im_cron_task/Makefile @@ -1,12 +1,18 @@ .PHONY: all build run gotool install clean help -BINARY_NAME=open_im_cron_task +NAME=open_im_cron_task BIN_DIR=../../bin/ OS:= $(or $(os),linux) ARCH:=$(or $(arch),amd64) all: gotool build +ifeq ($(OS),windows) + +BINARY_NAME=${NAME}.exe + +endif + build: CGO_ENABLED=0 GOOS=${OS} GOARCH=${ARCH} go build -ldflags="-w -s" @@ -17,8 +23,7 @@ gotool: go fmt ./ go vet ./ -install: - make build +install:build mv ${BINARY_NAME} ${BIN_DIR} clean: diff --git a/cmd/open_im_demo/Makefile b/cmd/open_im_demo/Makefile index 5188824a8..fdad838f9 100644 --- a/cmd/open_im_demo/Makefile +++ b/cmd/open_im_demo/Makefile @@ -1,6 +1,6 @@ .PHONY: all build run gotool install clean help -BINARY_NAME=open_im_demo +NAME=open_im_demo BIN_DIR=../../bin/ @@ -8,6 +8,12 @@ OS:= $(or $(os),linux) ARCH:=$(or $(arch),amd64) all: gotool build +ifeq ($(OS),windows) + +BINARY_NAME=${NAME}.exe + +endif + build: CGO_ENABLED=0 GOOS=${OS} GOARCH=${ARCH} go build -ldflags="-w -s" @@ -18,8 +24,7 @@ gotool: go fmt ./ go vet ./ -install: - make build +install:build mv ${BINARY_NAME} ${BIN_DIR} clean: diff --git a/cmd/open_im_msg_gateway/Makefile b/cmd/open_im_msg_gateway/Makefile index 7394279af..369f82a27 100644 --- a/cmd/open_im_msg_gateway/Makefile +++ b/cmd/open_im_msg_gateway/Makefile @@ -1,12 +1,18 @@ .PHONY: all build run gotool install clean help -BINARY_NAME=open_im_msg_gateway +NAME=open_im_msg_gateway BIN_DIR=../../bin/ OS:= $(or $(os),linux) ARCH:=$(or $(arch),amd64) all: gotool build +ifeq ($(OS),windows) + +BINARY_NAME=${NAME}.exe + +endif + build: CGO_ENABLED=0 GOOS=${OS} GOARCH=${ARCH} go build -ldflags="-w -s" @@ -17,8 +23,7 @@ gotool: go fmt ./ go vet ./ -install: - make build +install:build mv ${BINARY_NAME} ${BIN_DIR} clean: diff --git a/cmd/open_im_msg_transfer/Makefile b/cmd/open_im_msg_transfer/Makefile index 0afa78f77..40497fe7e 100644 --- a/cmd/open_im_msg_transfer/Makefile +++ b/cmd/open_im_msg_transfer/Makefile @@ -1,6 +1,6 @@ .PHONY: all build run gotool install clean help -BINARY_NAME=open_im_msg_transfer +NAME=open_im_msg_transfer BIN_DIR=../../bin/ @@ -8,6 +8,12 @@ OS:= $(or $(os),linux) ARCH:=$(or $(arch),amd64) all: gotool build +ifeq ($(OS),windows) + +BINARY_NAME=${NAME}.exe + +endif + build: CGO_ENABLED=0 GOOS=${OS} GOARCH=${ARCH} go build -ldflags="-w -s" @@ -18,8 +24,7 @@ gotool: go fmt ./ go vet ./ -install: - make build +install:build mv ${BINARY_NAME} ${BIN_DIR} clean: diff --git a/cmd/open_im_push/Makefile b/cmd/open_im_push/Makefile index 933b9eb44..a8502aa4c 100644 --- a/cmd/open_im_push/Makefile +++ b/cmd/open_im_push/Makefile @@ -1,12 +1,18 @@ .PHONY: all build run gotool install clean help -BINARY_NAME=open_im_push +NAME=open_im_push BIN_DIR=../../bin/ OS:= $(or $(os),linux) ARCH:=$(or $(arch),amd64) all: gotool build +ifeq ($(OS),windows) + +BINARY_NAME=${NAME}.exe + +endif + build: CGO_ENABLED=0 GOOS=${OS} GOARCH=${ARCH} go build -ldflags="-w -s" @@ -17,8 +23,7 @@ gotool: go fmt ./ go vet ./ -install: - make build +install:build mv ${BINARY_NAME} ${BIN_DIR} clean: diff --git a/cmd/rpc/open_im_admin_cms/Makefile b/cmd/rpc/open_im_admin_cms/Makefile index ae50d0488..66a4b775b 100644 --- a/cmd/rpc/open_im_admin_cms/Makefile +++ b/cmd/rpc/open_im_admin_cms/Makefile @@ -1,12 +1,18 @@ .PHONY: all build run gotool install clean help -BINARY_NAME=open_im_admin_cms +NAME=open_im_admin_cms BIN_DIR=../../../bin/ OS:= $(or $(os),linux) ARCH:=$(or $(arch),amd64) all: gotool build +ifeq ($(OS),windows) + +BINARY_NAME=${NAME}.exe + +endif + build: CGO_ENABLED=0 GOOS=${OS} GOARCH=${ARCH} go build -ldflags="-w -s" @@ -17,8 +23,7 @@ gotool: go fmt ./ go vet ./ -install: - make build +install:build mv ${BINARY_NAME} ${BIN_DIR} clean: diff --git a/cmd/rpc/open_im_auth/Makefile b/cmd/rpc/open_im_auth/Makefile index f2c0b1acb..04536d367 100644 --- a/cmd/rpc/open_im_auth/Makefile +++ b/cmd/rpc/open_im_auth/Makefile @@ -1,12 +1,18 @@ .PHONY: all build run gotool install clean help -BINARY_NAME=open_im_auth +NAME=open_im_auth BIN_DIR=../../../bin/ OS:= $(or $(os),linux) ARCH:=$(or $(arch),amd64) all: gotool build +ifeq ($(OS),windows) + +BINARY_NAME=${NAME}.exe + +endif + build: CGO_ENABLED=0 GOOS=${OS} GOARCH=${ARCH} go build -ldflags="-w -s" @@ -17,8 +23,7 @@ gotool: go fmt ./ go vet ./ -install: - make build +install:build mv ${BINARY_NAME} ${BIN_DIR} clean: diff --git a/cmd/rpc/open_im_cache/Makefile b/cmd/rpc/open_im_cache/Makefile index db3e8e08f..7f71d9e37 100644 --- a/cmd/rpc/open_im_cache/Makefile +++ b/cmd/rpc/open_im_cache/Makefile @@ -1,12 +1,18 @@ .PHONY: all build run gotool install clean help -BINARY_NAME=open_im_cache +NAME=open_im_cache BIN_DIR=../../../bin/ OS:= $(or $(os),linux) ARCH:=$(or $(arch),amd64) all: gotool build +ifeq ($(OS),windows) + +BINARY_NAME=${NAME}.exe + +endif + build: CGO_ENABLED=0 GOOS=${OS} GOARCH=${ARCH} go build -ldflags="-w -s" @@ -17,8 +23,7 @@ gotool: go fmt ./ go vet ./ -install: - make build +install:build mv ${BINARY_NAME} ${BIN_DIR} clean: diff --git a/cmd/rpc/open_im_conversation/Makefile b/cmd/rpc/open_im_conversation/Makefile index 4cfa82c03..10565042e 100644 --- a/cmd/rpc/open_im_conversation/Makefile +++ b/cmd/rpc/open_im_conversation/Makefile @@ -1,12 +1,18 @@ .PHONY: all build run gotool install clean help -BINARY_NAME=open_im_conversation +NAME=open_im_conversation BIN_DIR=../../../bin/ OS:= $(or $(os),linux) ARCH:=$(or $(arch),amd64) all: gotool build +ifeq ($(OS),windows) + +BINARY_NAME=${NAME}.exe + +endif + build: CGO_ENABLED=0 GOOS=${OS} GOARCH=${ARCH} go build -ldflags="-w -s" @@ -17,8 +23,7 @@ gotool: go fmt ./ go vet ./ -install: - make build +install:build mv ${BINARY_NAME} ${BIN_DIR} clean: diff --git a/cmd/rpc/open_im_friend/Makefile b/cmd/rpc/open_im_friend/Makefile index 32e1ed785..3ca708562 100644 --- a/cmd/rpc/open_im_friend/Makefile +++ b/cmd/rpc/open_im_friend/Makefile @@ -1,12 +1,18 @@ .PHONY: all build run gotool install clean help -BINARY_NAME=open_im_friend +NAME=open_im_friend BIN_DIR=../../../bin/ OS:= $(or $(os),linux) ARCH:=$(or $(arch),amd64) all: gotool build +ifeq ($(OS),windows) + +BINARY_NAME=${NAME}.exe + +endif + build: CGO_ENABLED=0 GOOS=${OS} GOARCH=${ARCH} go build -ldflags="-w -s" @@ -17,8 +23,7 @@ gotool: go fmt ./ go vet ./ -install: - make build +install:build mv ${BINARY_NAME} ${BIN_DIR} clean: diff --git a/cmd/rpc/open_im_group/Makefile b/cmd/rpc/open_im_group/Makefile index d096f0344..fcf6f9d7b 100644 --- a/cmd/rpc/open_im_group/Makefile +++ b/cmd/rpc/open_im_group/Makefile @@ -1,12 +1,18 @@ .PHONY: all build run gotool install clean help -BINARY_NAME=open_im_group +NAME=open_im_group BIN_DIR=../../../bin/ OS:= $(or $(os),linux) ARCH:=$(or $(arch),amd64) all: gotool build +ifeq ($(OS),windows) + +BINARY_NAME=${NAME}.exe + +endif + build: CGO_ENABLED=0 GOOS=${OS} GOARCH=${ARCH} go build -ldflags="-w -s" @@ -17,8 +23,7 @@ gotool: go fmt ./ go vet ./ -install: - make build +install:build mv ${BINARY_NAME} ${BIN_DIR} clean: diff --git a/cmd/rpc/open_im_msg/Makefile b/cmd/rpc/open_im_msg/Makefile index 86d904926..c51b49865 100644 --- a/cmd/rpc/open_im_msg/Makefile +++ b/cmd/rpc/open_im_msg/Makefile @@ -1,12 +1,18 @@ .PHONY: all build run gotool install clean help -BINARY_NAME=open_im_msg +NAME=open_im_msg BIN_DIR=../../../bin/ OS:= $(or $(os),linux) ARCH:=$(or $(arch),amd64) all: gotool build +ifeq ($(OS),windows) + +BINARY_NAME=${NAME}.exe + +endif + build: CGO_ENABLED=0 GOOS=${OS} GOARCH=${ARCH} go build -ldflags="-w -s" @@ -17,8 +23,7 @@ gotool: go fmt ./ go vet ./ -install: - make build +install:build mv ${BINARY_NAME} ${BIN_DIR} clean: diff --git a/cmd/rpc/open_im_office/Makefile b/cmd/rpc/open_im_office/Makefile index 3bc7e4af3..c8cd546a8 100644 --- a/cmd/rpc/open_im_office/Makefile +++ b/cmd/rpc/open_im_office/Makefile @@ -1,12 +1,18 @@ .PHONY: all build run gotool install clean help -BINARY_NAME=open_im_office +NAME=open_im_office BIN_DIR=../../../bin/ OS:= $(or $(os),linux) ARCH:=$(or $(arch),amd64) all: gotool build +ifeq ($(OS),windows) + +BINARY_NAME=${NAME}.exe + +endif + build: CGO_ENABLED=0 GOOS=${OS} GOARCH=${ARCH} go build -ldflags="-w -s" @@ -17,8 +23,7 @@ gotool: go fmt ./ go vet ./ -install: - make build +install:build mv ${BINARY_NAME} ${BIN_DIR} clean: diff --git a/cmd/rpc/open_im_organization/Makefile b/cmd/rpc/open_im_organization/Makefile index 358da3510..94eb7978a 100644 --- a/cmd/rpc/open_im_organization/Makefile +++ b/cmd/rpc/open_im_organization/Makefile @@ -1,12 +1,18 @@ .PHONY: all build run gotool install clean help -BINARY_NAME=open_im_organization +NAME=open_im_organization BIN_DIR=../../../bin/ OS:= $(or $(os),linux) ARCH:=$(or $(arch),amd64) all: gotool build +ifeq ($(OS),windows) + +BINARY_NAME=${NAME}.exe + +endif + build: CGO_ENABLED=0 GOOS=${OS} GOARCH=${ARCH} go build -ldflags="-w -s" @@ -17,8 +23,7 @@ gotool: go fmt ./ go vet ./ -install: - make build +install:build mv ${BINARY_NAME} ${BIN_DIR} clean: diff --git a/cmd/rpc/open_im_user/Makefile b/cmd/rpc/open_im_user/Makefile index 172da6551..7dd38979b 100644 --- a/cmd/rpc/open_im_user/Makefile +++ b/cmd/rpc/open_im_user/Makefile @@ -1,12 +1,18 @@ .PHONY: all build run gotool install clean help -BINARY_NAME=open_im_user +NAME=open_im_user BIN_DIR=../../../bin/ OS:= $(or $(os),linux) ARCH:=$(or $(arch),amd64) all: gotool build +ifeq ($(OS),windows) + +BINARY_NAME=${NAME}.exe + +endif + build: CGO_ENABLED=0 GOOS=${OS} GOARCH=${ARCH} go build -ldflags="-w -s" @@ -17,8 +23,7 @@ gotool: go fmt ./ go vet ./ -install: - make build +install:build mv ${BINARY_NAME} ${BIN_DIR} clean: From 96c264981e298374871f916cef1b3cda6fd8a5d0 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 27 Feb 2023 20:22:28 +0800 Subject: [PATCH 296/313] Makefile update --- cmd/open_im_api/Makefile | 4 ++++ cmd/open_im_cms_api/Makefile | 4 ++++ cmd/open_im_cron_task/Makefile | 4 ++++ cmd/open_im_demo/Makefile | 8 ++++++++ cmd/open_im_msg_gateway/Makefile | 4 ++++ cmd/open_im_msg_transfer/Makefile | 4 ++++ cmd/open_im_push/Makefile | 4 ++++ cmd/rpc/open_im_admin_cms/Makefile | 4 ++++ cmd/rpc/open_im_auth/Makefile | 4 ++++ cmd/rpc/open_im_cache/Makefile | 4 ++++ cmd/rpc/open_im_conversation/Makefile | 4 ++++ cmd/rpc/open_im_friend/Makefile | 5 +++++ cmd/rpc/open_im_group/Makefile | 5 +++++ cmd/rpc/open_im_msg/Makefile | 4 ++++ cmd/rpc/open_im_office/Makefile | 4 ++++ cmd/rpc/open_im_organization/Makefile | 4 ++++ cmd/rpc/open_im_user/Makefile | 4 ++++ 17 files changed, 74 insertions(+) diff --git a/cmd/open_im_api/Makefile b/cmd/open_im_api/Makefile index 91aee7831..cf43f67eb 100644 --- a/cmd/open_im_api/Makefile +++ b/cmd/open_im_api/Makefile @@ -11,6 +11,10 @@ ifeq ($(OS),windows) BINARY_NAME=${NAME}.exe +else + +BINARY_NAME=${NAME} + endif build: diff --git a/cmd/open_im_cms_api/Makefile b/cmd/open_im_cms_api/Makefile index d0a8aeb8e..2d244cb5c 100644 --- a/cmd/open_im_cms_api/Makefile +++ b/cmd/open_im_cms_api/Makefile @@ -12,6 +12,10 @@ ifeq ($(OS),windows) BINARY_NAME=${NAME}.exe +else + +BINARY_NAME=${NAME} + endif build: diff --git a/cmd/open_im_cron_task/Makefile b/cmd/open_im_cron_task/Makefile index 81a7d13a8..dc49858be 100644 --- a/cmd/open_im_cron_task/Makefile +++ b/cmd/open_im_cron_task/Makefile @@ -11,6 +11,10 @@ ifeq ($(OS),windows) BINARY_NAME=${NAME}.exe +else + +BINARY_NAME=${NAME} + endif build: diff --git a/cmd/open_im_demo/Makefile b/cmd/open_im_demo/Makefile index fdad838f9..fa8aad6eb 100644 --- a/cmd/open_im_demo/Makefile +++ b/cmd/open_im_demo/Makefile @@ -12,6 +12,14 @@ ifeq ($(OS),windows) BINARY_NAME=${NAME}.exe +else + +BINARY_NAME=${NAME} + +else + +BINARY_NAME=${NAME} + endif build: diff --git a/cmd/open_im_msg_gateway/Makefile b/cmd/open_im_msg_gateway/Makefile index 369f82a27..29ecfc3f4 100644 --- a/cmd/open_im_msg_gateway/Makefile +++ b/cmd/open_im_msg_gateway/Makefile @@ -11,6 +11,10 @@ ifeq ($(OS),windows) BINARY_NAME=${NAME}.exe +else + +BINARY_NAME=${NAME} + endif build: diff --git a/cmd/open_im_msg_transfer/Makefile b/cmd/open_im_msg_transfer/Makefile index 40497fe7e..049a1c041 100644 --- a/cmd/open_im_msg_transfer/Makefile +++ b/cmd/open_im_msg_transfer/Makefile @@ -12,6 +12,10 @@ ifeq ($(OS),windows) BINARY_NAME=${NAME}.exe +else + +BINARY_NAME=${NAME} + endif build: diff --git a/cmd/open_im_push/Makefile b/cmd/open_im_push/Makefile index a8502aa4c..be3e01ea8 100644 --- a/cmd/open_im_push/Makefile +++ b/cmd/open_im_push/Makefile @@ -11,6 +11,10 @@ ifeq ($(OS),windows) BINARY_NAME=${NAME}.exe +else + +BINARY_NAME=${NAME} + endif build: diff --git a/cmd/rpc/open_im_admin_cms/Makefile b/cmd/rpc/open_im_admin_cms/Makefile index 66a4b775b..50b734c71 100644 --- a/cmd/rpc/open_im_admin_cms/Makefile +++ b/cmd/rpc/open_im_admin_cms/Makefile @@ -11,6 +11,10 @@ ifeq ($(OS),windows) BINARY_NAME=${NAME}.exe +else + +BINARY_NAME=${NAME} + endif build: diff --git a/cmd/rpc/open_im_auth/Makefile b/cmd/rpc/open_im_auth/Makefile index 04536d367..00d6e81bc 100644 --- a/cmd/rpc/open_im_auth/Makefile +++ b/cmd/rpc/open_im_auth/Makefile @@ -11,6 +11,10 @@ ifeq ($(OS),windows) BINARY_NAME=${NAME}.exe +else + +BINARY_NAME=${NAME} + endif build: diff --git a/cmd/rpc/open_im_cache/Makefile b/cmd/rpc/open_im_cache/Makefile index 7f71d9e37..f2d41eb1f 100644 --- a/cmd/rpc/open_im_cache/Makefile +++ b/cmd/rpc/open_im_cache/Makefile @@ -11,6 +11,10 @@ ifeq ($(OS),windows) BINARY_NAME=${NAME}.exe +else + +BINARY_NAME=${NAME} + endif build: diff --git a/cmd/rpc/open_im_conversation/Makefile b/cmd/rpc/open_im_conversation/Makefile index 10565042e..8102770f8 100644 --- a/cmd/rpc/open_im_conversation/Makefile +++ b/cmd/rpc/open_im_conversation/Makefile @@ -11,6 +11,10 @@ ifeq ($(OS),windows) BINARY_NAME=${NAME}.exe +else + +BINARY_NAME=${NAME} + endif build: diff --git a/cmd/rpc/open_im_friend/Makefile b/cmd/rpc/open_im_friend/Makefile index 3ca708562..83094da81 100644 --- a/cmd/rpc/open_im_friend/Makefile +++ b/cmd/rpc/open_im_friend/Makefile @@ -11,6 +11,11 @@ ifeq ($(OS),windows) BINARY_NAME=${NAME}.exe +else + +BINARY_NAME=${NAME} + + endif build: diff --git a/cmd/rpc/open_im_group/Makefile b/cmd/rpc/open_im_group/Makefile index fcf6f9d7b..fa40874ac 100644 --- a/cmd/rpc/open_im_group/Makefile +++ b/cmd/rpc/open_im_group/Makefile @@ -11,6 +11,11 @@ ifeq ($(OS),windows) BINARY_NAME=${NAME}.exe +else + +BINARY_NAME=${NAME} + + endif build: diff --git a/cmd/rpc/open_im_msg/Makefile b/cmd/rpc/open_im_msg/Makefile index c51b49865..04b19c62f 100644 --- a/cmd/rpc/open_im_msg/Makefile +++ b/cmd/rpc/open_im_msg/Makefile @@ -11,6 +11,10 @@ ifeq ($(OS),windows) BINARY_NAME=${NAME}.exe +else + +BINARY_NAME=${NAME} + endif build: diff --git a/cmd/rpc/open_im_office/Makefile b/cmd/rpc/open_im_office/Makefile index c8cd546a8..fceae369d 100644 --- a/cmd/rpc/open_im_office/Makefile +++ b/cmd/rpc/open_im_office/Makefile @@ -11,6 +11,10 @@ ifeq ($(OS),windows) BINARY_NAME=${NAME}.exe +else + +BINARY_NAME=${NAME} + endif build: diff --git a/cmd/rpc/open_im_organization/Makefile b/cmd/rpc/open_im_organization/Makefile index 94eb7978a..2386bffdb 100644 --- a/cmd/rpc/open_im_organization/Makefile +++ b/cmd/rpc/open_im_organization/Makefile @@ -11,6 +11,10 @@ ifeq ($(OS),windows) BINARY_NAME=${NAME}.exe +else + +BINARY_NAME=${NAME} + endif build: diff --git a/cmd/rpc/open_im_user/Makefile b/cmd/rpc/open_im_user/Makefile index 7dd38979b..c85520bd6 100644 --- a/cmd/rpc/open_im_user/Makefile +++ b/cmd/rpc/open_im_user/Makefile @@ -11,6 +11,10 @@ ifeq ($(OS),windows) BINARY_NAME=${NAME}.exe +else + +BINARY_NAME=${NAME} + endif build: From 5d307c16b4467e380775d3a197a6b1f9010a3067 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Tue, 28 Feb 2023 10:21:59 +0800 Subject: [PATCH 297/313] Makefile update --- cmd/open_im_demo/Makefile | 4 ---- 1 file changed, 4 deletions(-) diff --git a/cmd/open_im_demo/Makefile b/cmd/open_im_demo/Makefile index fa8aad6eb..b4fde19c7 100644 --- a/cmd/open_im_demo/Makefile +++ b/cmd/open_im_demo/Makefile @@ -16,10 +16,6 @@ else BINARY_NAME=${NAME} -else - -BINARY_NAME=${NAME} - endif build: From 1c724aa89b2e5ff95f8868fa3530356292811ea0 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 28 Feb 2023 16:32:02 +0800 Subject: [PATCH 298/313] deploy --- deploy_k8s/admin_cms/deployment.yaml | 8 ++++---- deploy_k8s/api/deployment.yaml | 6 +++--- deploy_k8s/auth/deployment.yaml | 8 ++++---- deploy_k8s/cache/deployment.yaml | 4 ++-- deploy_k8s/cms_api/deployment.yaml | 8 ++++---- deploy_k8s/conversation/deployment.yaml | 8 ++++---- deploy_k8s/demo/deployment.yaml | 8 ++++---- deploy_k8s/friend/deployment.yaml | 8 ++++---- deploy_k8s/group/deployment.yaml | 8 ++++---- deploy_k8s/k8s_openim_deploy.md | 2 +- deploy_k8s/msg/deployment.yaml | 6 +++--- deploy_k8s/msg_gateway/deployment.yaml | 8 ++++---- deploy_k8s/msg_transfer/deployment.yaml | 8 ++++---- deploy_k8s/office/deployment.yaml | 8 ++++---- deploy_k8s/organization/deployment.yaml | 8 ++++---- deploy_k8s/push/deployment.yaml | 6 +++--- deploy_k8s/user/deployment.yaml | 8 ++++---- 17 files changed, 60 insertions(+), 60 deletions(-) diff --git a/deploy_k8s/admin_cms/deployment.yaml b/deploy_k8s/admin_cms/deployment.yaml index ea02fd80c..cfee86a69 100644 --- a/deploy_k8s/admin_cms/deployment.yaml +++ b/deploy_k8s/admin_cms/deployment.yaml @@ -23,7 +23,7 @@ spec: - name: config mountPath: /Open-IM-Server/config readOnly: true - - name: usualConfig + - name: usualconfig mountPath: /Open-IM-Server/config readOnly: true env: @@ -34,10 +34,10 @@ spec: volumes: - name: config configMap: - name: openim-config - - name: usualConfig + name: config + - name: usualconfig configMap: - name: openim-usualConfig + name: usualconfig strategy: #更新策略 type: RollingUpdate # 滚动更新 diff --git a/deploy_k8s/api/deployment.yaml b/deploy_k8s/api/deployment.yaml index 4359a9062..e2c1a451b 100644 --- a/deploy_k8s/api/deployment.yaml +++ b/deploy_k8s/api/deployment.yaml @@ -23,7 +23,7 @@ spec: - name: config mountPath: /Open-IM-Server/config readOnly: true - - name: usualConfig + - name: usualconfig mountPath: /Open-IM-Server/config readOnly: true env: @@ -35,9 +35,9 @@ spec: - name: config configMap: name: openim-config - - name: usualConfig + - name: usualconfig configMap: - name: openim-usualConfig + name: usualconfig strategy: #更新策略 type: RollingUpdate # 滚动更新 --- diff --git a/deploy_k8s/auth/deployment.yaml b/deploy_k8s/auth/deployment.yaml index 3df74836a..733c52306 100644 --- a/deploy_k8s/auth/deployment.yaml +++ b/deploy_k8s/auth/deployment.yaml @@ -23,7 +23,7 @@ spec: - name: config mountPath: /Open-IM-Server/config readOnly: true - - name: usualConfig + - name: usualconfig mountPath: /Open-IM-Server/config readOnly: true env: @@ -34,9 +34,9 @@ spec: volumes: - name: config configMap: - name: openim-config - - name: usualConfig + name: config + - name: usualconfig configMap: - name: openim-usualConfig + name: usualconfig strategy: #更新策略 type: RollingUpdate # 滚动更新 \ No newline at end of file diff --git a/deploy_k8s/cache/deployment.yaml b/deploy_k8s/cache/deployment.yaml index 9dd2129da..c17749e10 100644 --- a/deploy_k8s/cache/deployment.yaml +++ b/deploy_k8s/cache/deployment.yaml @@ -23,7 +23,7 @@ spec: - name: config mountPath: /Open-IM-Server/config readOnly: true - - name: usualConfig + - name: usualconfig mountPath: /Open-IM-Server/config readOnly: true env: @@ -35,7 +35,7 @@ spec: - name: config configMap: name: openim-config - - name: usualConfig + - name: usualconfig configMap: name: openim-usualConfig strategy: #更新策略 diff --git a/deploy_k8s/cms_api/deployment.yaml b/deploy_k8s/cms_api/deployment.yaml index b55c0b4f7..2af5d3377 100644 --- a/deploy_k8s/cms_api/deployment.yaml +++ b/deploy_k8s/cms_api/deployment.yaml @@ -23,7 +23,7 @@ spec: - name: config mountPath: /Open-IM-Server/config readOnly: true - - name: usualConfig + - name: usualconfig mountPath: /Open-IM-Server/config readOnly: true env: @@ -34,10 +34,10 @@ spec: volumes: - name: config configMap: - name: openim-config - - name: usualConfig + name: config + - name: usualconfig configMap: - name: openim-usualConfig + name: usualconfig strategy: #更新策略 type: RollingUpdate # 滚动更新 --- diff --git a/deploy_k8s/conversation/deployment.yaml b/deploy_k8s/conversation/deployment.yaml index b64ced25c..993761195 100644 --- a/deploy_k8s/conversation/deployment.yaml +++ b/deploy_k8s/conversation/deployment.yaml @@ -23,7 +23,7 @@ spec: - name: config mountPath: /Open-IM-Server/config readOnly: true - - name: usualConfig + - name: usualconfig mountPath: /Open-IM-Server/config readOnly: true env: @@ -35,10 +35,10 @@ spec: volumes: - name: config configMap: - name: openim-config - - name: usualConfig + name: config + - name: usualconfig configMap: - name: openim-usualConfig + name: usualconfig strategy: #更新策略 type: RollingUpdate # 滚动更新 diff --git a/deploy_k8s/demo/deployment.yaml b/deploy_k8s/demo/deployment.yaml index 205bb0d51..a7f5550a1 100644 --- a/deploy_k8s/demo/deployment.yaml +++ b/deploy_k8s/demo/deployment.yaml @@ -23,7 +23,7 @@ spec: - name: config mountPath: /Open-IM-Server/config readOnly: true - - name: usualConfig + - name: usualconfig mountPath: /Open-IM-Server/config readOnly: true env: @@ -34,10 +34,10 @@ spec: volumes: - name: config configMap: - name: openim-config - - name: usualConfig + name: config + - name: usualconfig configMap: - name: openim-usualConfig + name: usualconfig strategy: #更新策略 type: RollingUpdate # 滚动更新 --- diff --git a/deploy_k8s/friend/deployment.yaml b/deploy_k8s/friend/deployment.yaml index 9d8db0e87..dde9cbd4c 100644 --- a/deploy_k8s/friend/deployment.yaml +++ b/deploy_k8s/friend/deployment.yaml @@ -23,7 +23,7 @@ spec: - name: config mountPath: /Open-IM-Server/config readOnly: true - - name: usualConfig + - name: usualconfig mountPath: /Open-IM-Server/config readOnly: true env: @@ -34,10 +34,10 @@ spec: volumes: - name: config configMap: - name: openim-config - - name: usualConfig + name: config + - name: usualconfig configMap: - name: openim-usualConfig + name: usualconfig strategy: #更新策略 type: RollingUpdate # 滚动更新 diff --git a/deploy_k8s/group/deployment.yaml b/deploy_k8s/group/deployment.yaml index dc9ccebee..96c3fe848 100644 --- a/deploy_k8s/group/deployment.yaml +++ b/deploy_k8s/group/deployment.yaml @@ -23,7 +23,7 @@ spec: - name: config mountPath: /Open-IM-Server/config readOnly: true - - name: usualConfig + - name: usualconfig mountPath: /Open-IM-Server/config readOnly: true env: @@ -34,9 +34,9 @@ spec: volumes: - name: config configMap: - name: openim-config - - name: usualConfig + name: config + - name: usualconfig configMap: - name: openim-usualConfig + name: usualconfig strategy: #更新策略 type: RollingUpdate # 滚动更新 \ No newline at end of file diff --git a/deploy_k8s/k8s_openim_deploy.md b/deploy_k8s/k8s_openim_deploy.md index 114a43c0b..4dad2c077 100644 --- a/deploy_k8s/k8s_openim_deploy.md +++ b/deploy_k8s/k8s_openim_deploy.md @@ -20,7 +20,7 @@ 2. 在项目根目录通过config/config.yaml ``` kubectl -n openim create configmap config --from-file=config/config.yaml - kubectl -n openim create configmap usualConfig --from-file=config/usualConfig.yaml + kubectl -n openim create configmap usualconfig --from-file=config/usualConfig.yaml ``` 查看configmap ``` diff --git a/deploy_k8s/msg/deployment.yaml b/deploy_k8s/msg/deployment.yaml index e8b3d6775..5538203f6 100644 --- a/deploy_k8s/msg/deployment.yaml +++ b/deploy_k8s/msg/deployment.yaml @@ -23,7 +23,7 @@ spec: - name: config mountPath: /Open-IM-Server/config readOnly: true - - name: usualConfig + - name: usualconfig mountPath: /Open-IM-Server/config readOnly: true env: @@ -34,9 +34,9 @@ spec: volumes: - name: config configMap: - name: openim-config + name: config - name: usualConfig configMap: - name: openim-usualConfig + name: usualconfig strategy: #更新策略 type: RollingUpdate # 滚动更新 \ No newline at end of file diff --git a/deploy_k8s/msg_gateway/deployment.yaml b/deploy_k8s/msg_gateway/deployment.yaml index e73070946..18ad66ca3 100644 --- a/deploy_k8s/msg_gateway/deployment.yaml +++ b/deploy_k8s/msg_gateway/deployment.yaml @@ -26,7 +26,7 @@ spec: - name: config mountPath: /Open-IM-Server/config readOnly: true - - name: usualConfig + - name: usualconfig mountPath: /Open-IM-Server/config readOnly: true env: @@ -37,10 +37,10 @@ spec: volumes: - name: config configMap: - name: openim-config - - name: usualConfig + name: config + - name: usualconfig configMap: - name: openim-usualConfig + name: usualconfig strategy: #更新策略 type: RollingUpdate # 滚动更新 --- diff --git a/deploy_k8s/msg_transfer/deployment.yaml b/deploy_k8s/msg_transfer/deployment.yaml index a0d63a0d5..f47583b05 100644 --- a/deploy_k8s/msg_transfer/deployment.yaml +++ b/deploy_k8s/msg_transfer/deployment.yaml @@ -21,7 +21,7 @@ spec: - name: config mountPath: /Open-IM-Server/config readOnly: true - - name: usualConfig + - name: usualconfig mountPath: /Open-IM-Server/config readOnly: true env: @@ -32,9 +32,9 @@ spec: volumes: - name: config configMap: - name: openim-config - - name: usualConfig + name: config + - name: usualconfig configMap: - name: openim-usualConfig + name: usualconfig strategy: #更新策略 type: RollingUpdate # 滚动更新 diff --git a/deploy_k8s/office/deployment.yaml b/deploy_k8s/office/deployment.yaml index e95b46a76..4e819971b 100644 --- a/deploy_k8s/office/deployment.yaml +++ b/deploy_k8s/office/deployment.yaml @@ -23,7 +23,7 @@ spec: - name: config mountPath: /Open-IM-Server/config readOnly: true - - name: usualConfig + - name: usualconfig mountPath: /Open-IM-Server/config readOnly: true env: @@ -34,9 +34,9 @@ spec: volumes: - name: config configMap: - name: openim-config - - name: usualConfig + name: config + - name: usualconfig configMap: - name: openim-usualConfig + name: usualconfig strategy: #更新策略 type: RollingUpdate # 滚动更新 \ No newline at end of file diff --git a/deploy_k8s/organization/deployment.yaml b/deploy_k8s/organization/deployment.yaml index 7a5174cd0..0b60fb4c2 100644 --- a/deploy_k8s/organization/deployment.yaml +++ b/deploy_k8s/organization/deployment.yaml @@ -23,7 +23,7 @@ spec: - name: config mountPath: /Open-IM-Server/config readOnly: true - - name: usualConfig + - name: usualconfig mountPath: /Open-IM-Server/config readOnly: true env: @@ -34,9 +34,9 @@ spec: volumes: - name: config configMap: - name: openim-config - - name: usualConfig + name: config + - name: usualconfig configMap: - name: openim-usualConfig + name: usualconfig strategy: #更新策略 type: RollingUpdate # 滚动更新 \ No newline at end of file diff --git a/deploy_k8s/push/deployment.yaml b/deploy_k8s/push/deployment.yaml index a3c03b974..1382e5a12 100644 --- a/deploy_k8s/push/deployment.yaml +++ b/deploy_k8s/push/deployment.yaml @@ -34,9 +34,9 @@ spec: volumes: - name: config configMap: - name: openim-config - - name: usualConfig + name: config + - name: usualconfig configMap: - name: openim-usualConfig + name: usualconfig strategy: #更新策略 type: RollingUpdate # 滚动更新 \ No newline at end of file diff --git a/deploy_k8s/user/deployment.yaml b/deploy_k8s/user/deployment.yaml index 6212524f1..c0c2d53bf 100644 --- a/deploy_k8s/user/deployment.yaml +++ b/deploy_k8s/user/deployment.yaml @@ -21,7 +21,7 @@ spec: - name: config mountPath: /Open-IM-Server/config readOnly: true - - name: usualConfig + - name: usualconfig mountPath: /Open-IM-Server/config readOnly: true env: @@ -32,9 +32,9 @@ spec: volumes: - name: config configMap: - name: openim-config - - name: usualConfig + name: config + - name: usualconfig configMap: - name: openim-usualConfig + name: usualconfig strategy: #更新策略 type: RollingUpdate # 滚动更新 From 70502685cee7154d966a2d3aa96b39c5779b067a Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Tue, 28 Feb 2023 16:35:53 +0800 Subject: [PATCH 299/313] invite user to groups api add --- cmd/open_im_api/main.go | 2 + internal/api/group/group.go | 41 +++ internal/rpc/group/group.go | 29 ++ pkg/base_info/group_api_struct.go | 10 +- pkg/common/db/model.go | 4 + pkg/common/db/mongoModel.go | 30 ++ pkg/proto/group/group.pb.go | 580 +++++++++++++++++++----------- pkg/proto/group/group.proto | 12 + 8 files changed, 494 insertions(+), 214 deletions(-) diff --git a/cmd/open_im_api/main.go b/cmd/open_im_api/main.go index 71d47edc0..34c002e0e 100644 --- a/cmd/open_im_api/main.go +++ b/cmd/open_im_api/main.go @@ -111,6 +111,8 @@ func main() { groupRouterGroup.POST("/get_group_all_member_list", group.GetGroupAllMemberList) //1 groupRouterGroup.POST("/get_group_members_info", group.GetGroupMembersInfo) //1 groupRouterGroup.POST("/invite_user_to_group", group.InviteUserToGroup) //1 + //only for supergroup + groupRouterGroup.POST("/invite_user_to_groups", group.InviteUserToGroups) groupRouterGroup.POST("/get_joined_group_list", group.GetJoinedGroupList) groupRouterGroup.POST("/dismiss_group", group.DismissGroup) // groupRouterGroup.POST("/mute_group_member", group.MuteGroupMember) diff --git a/internal/api/group/group.go b/internal/api/group/group.go index 1cddd7ede..5a234a3bb 100644 --- a/internal/api/group/group.go +++ b/internal/api/group/group.go @@ -370,6 +370,47 @@ func InviteUserToGroup(c *gin.Context) { log.NewInfo(req.OperationID, "InviteUserToGroup api return ", resp) c.JSON(http.StatusOK, resp) } +func InviteUserToGroups(c *gin.Context) { + params := api.InviteUserToGroupsReq{} + if err := c.BindJSON(¶ms); err != nil { + log.NewError("0", "BindJSON failed ", err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) + return + } + req := &rpc.InviteUserToGroupsReq{} + utils.CopyStructFields(req, ¶ms) + + var ok bool + var errInfo string + ok, req.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 + } + + log.NewInfo(req.OperationID, "InviteUserToGroup args ", req.String()) + + etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImGroupName, req.OperationID) + if etcdConn == nil { + errMsg := req.OperationID + "getcdv3.GetDefaultConn == nil" + log.NewError(req.OperationID, errMsg) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) + return + } + client := rpc.NewGroupClient(etcdConn) + RpcResp, err := client.InviteUserToGroups(context.Background(), req) + if err != nil { + log.NewError(req.OperationID, "InviteUserToGroup failed ", err.Error(), req.String()) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": err.Error()}) + return + } + resp := api.InviteUserToGroupResp{CommResp: api.CommResp{ErrCode: RpcResp.ErrCode, ErrMsg: RpcResp.ErrMsg}} + + log.NewInfo(req.OperationID, "InviteUserToGroups api return ", resp) + c.JSON(http.StatusOK, resp) +} // @Summary 创建群组 // @Description 创建群组 diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index 7411588fe..1e1ef8d4f 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -564,6 +564,35 @@ func (s *groupServer) InviteUserToGroup(ctx context.Context, req *pbGroup.Invite return &resp, nil } +func (s *groupServer) InviteUserToGroups(ctx context.Context, req *pbGroup.InviteUserToGroupsReq) (*pbGroup.InviteUserToGroupsResp, error) { + if !token_verify.IsManagerUserID(req.OpUserID) { + log.NewError(req.OperationID, "no permission InviteUserToGroup ", req.String()) + return &pbGroup.InviteUserToGroupsResp{ErrCode: constant.ErrAccess.ErrCode, ErrMsg: constant.ErrAccess.ErrMsg}, nil + } + for _, v := range req.GroupIDList { + groupInfo, err := imdb.GetGroupInfoByGroupID(v) + if err != nil { + log.NewError(req.OperationID, "GetGroupInfoByGroupID failed ", v, err) + return &pbGroup.InviteUserToGroupsResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: err.Error() + v}, nil + } + if groupInfo.Status == constant.GroupStatusDismissed { + errMsg := " group status is dismissed " + v + return &pbGroup.InviteUserToGroupsResp{ErrCode: constant.ErrStatus.ErrCode, ErrMsg: errMsg}, nil + } + } + if err := db.DB.AddUserToSuperGroups(req.GroupIDList, req.InvitedUserID); err != nil { + log.NewError(req.OperationID, "AddUserToSuperGroups failed ", err.Error()) + return &pbGroup.InviteUserToGroupsResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: err.Error()}, nil + } + if err := rocksCache.DelJoinedSuperGroupIDListFromCache(req.InvitedUserID); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error()) + } + chat.SuperGroupNotification(req.OperationID, req.InvitedUserID, req.InvitedUserID) + + log.NewInfo(req.OperationID, "InviteUserToGroups rpc return ") + return nil, nil +} + func (s *groupServer) GetGroupAllMember(ctx context.Context, req *pbGroup.GetGroupAllMemberReq) (*pbGroup.GetGroupAllMemberResp, error) { log.NewInfo(req.OperationID, "GetGroupAllMember, args ", req.String()) var resp pbGroup.GetGroupAllMemberResp diff --git a/pkg/base_info/group_api_struct.go b/pkg/base_info/group_api_struct.go index 6218f13b2..505e3ada4 100644 --- a/pkg/base_info/group_api_struct.go +++ b/pkg/base_info/group_api_struct.go @@ -47,7 +47,15 @@ type InviteUserToGroupResp struct { CommResp UserIDResultList []*UserIDResult `json:"data"` } - +type InviteUserToGroupsReq struct { + GroupIDList string `json:"groupIDList" binding:"required"` + InvitedUserID string `json:"invitedUserID" binding:"required"` + Reason string `json:"reason"` + OperationID string `json:"operationID" binding:"required"` +} +type InviteUserToGroupsResp struct { + CommResp +} type GetJoinedGroupListReq struct { OperationID string `json:"operationID" binding:"required"` FromUserID string `json:"fromUserID" binding:"required"` diff --git a/pkg/common/db/model.go b/pkg/common/db/model.go index bf2058e51..173a15e8d 100644 --- a/pkg/common/db/model.go +++ b/pkg/common/db/model.go @@ -112,6 +112,10 @@ func init() { if err := createMongoIndex(mongoClient, cTag, true, "tag_id"); err != nil { panic(err.Error() + "index create failed " + cTag + " tag_id") } + if err := createMongoIndex(mongoClient, cUserToSuperGroup, true, "user_id"); err != nil { + panic(err.Error() + "index create failed " + cUserToSuperGroup + " user_id") + } + DB.mongoClient = mongoClient ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second) diff --git a/pkg/common/db/mongoModel.go b/pkg/common/db/mongoModel.go index 61ad642b3..ab94a0df8 100644 --- a/pkg/common/db/mongoModel.go +++ b/pkg/common/db/mongoModel.go @@ -1233,6 +1233,36 @@ func (d *DataBases) AddUserToSuperGroup(groupID string, userIDList []string) err _ = session.CommitTransaction(ctx) return err } +func (d *DataBases) AddUserToSuperGroups(groupIDList []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(cSuperGroup) + session, err := d.mongoClient.StartSession() + if err != nil { + return utils.Wrap(err, "start session failed") + } + defer session.EndSession(ctx) + sCtx := mongo.NewSessionContext(ctx, session) + if err != nil { + return utils.Wrap(err, "start transaction failed") + } + _, err = c.UpdateMany(sCtx, bson.M{"group_id": bson.M{"$in": groupIDList}}, bson.M{"$addToSet": bson.M{"member_id_list": userID}}) + if err != nil { + _ = session.AbortTransaction(ctx) + return utils.Wrap(err, "transaction failed") + } + c = d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cUserToSuperGroup) + upsert := true + opts := &options.UpdateOptions{ + Upsert: &upsert, + } + _, err = c.UpdateOne(sCtx, bson.M{"user_id": userID}, bson.M{"$addToSet": bson.M{"group_id_list": bson.M{"$each": groupIDList}}}, opts) + if err != nil { + _ = session.AbortTransaction(ctx) + return utils.Wrap(err, "transaction failed") + } + _ = session.CommitTransaction(ctx) + return err +} func (d *DataBases) RemoverUserFromSuperGroup(groupID string, userIDList []string) error { ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) diff --git a/pkg/proto/group/group.pb.go b/pkg/proto/group/group.pb.go index 9ed5f1cb4..aa983171f 100644 --- a/pkg/proto/group/group.pb.go +++ b/pkg/proto/group/group.pb.go @@ -37,7 +37,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_group_5cfdf63bf5b84d31, []int{0} + return fileDescriptor_group_e55c79105d50978e, []int{0} } func (m *CommonResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CommonResp.Unmarshal(m, b) @@ -83,7 +83,7 @@ func (m *GroupAddMemberInfo) Reset() { *m = GroupAddMemberInfo{} } func (m *GroupAddMemberInfo) String() string { return proto.CompactTextString(m) } func (*GroupAddMemberInfo) ProtoMessage() {} func (*GroupAddMemberInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{1} + return fileDescriptor_group_e55c79105d50978e, []int{1} } func (m *GroupAddMemberInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupAddMemberInfo.Unmarshal(m, b) @@ -132,7 +132,7 @@ func (m *CreateGroupReq) Reset() { *m = CreateGroupReq{} } func (m *CreateGroupReq) String() string { return proto.CompactTextString(m) } func (*CreateGroupReq) ProtoMessage() {} func (*CreateGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{2} + return fileDescriptor_group_e55c79105d50978e, []int{2} } func (m *CreateGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CreateGroupReq.Unmarshal(m, b) @@ -200,7 +200,7 @@ func (m *CreateGroupResp) Reset() { *m = CreateGroupResp{} } func (m *CreateGroupResp) String() string { return proto.CompactTextString(m) } func (*CreateGroupResp) ProtoMessage() {} func (*CreateGroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{3} + return fileDescriptor_group_e55c79105d50978e, []int{3} } func (m *CreateGroupResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CreateGroupResp.Unmarshal(m, b) @@ -254,7 +254,7 @@ func (m *GetGroupsInfoReq) Reset() { *m = GetGroupsInfoReq{} } func (m *GetGroupsInfoReq) String() string { return proto.CompactTextString(m) } func (*GetGroupsInfoReq) ProtoMessage() {} func (*GetGroupsInfoReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{4} + return fileDescriptor_group_e55c79105d50978e, []int{4} } func (m *GetGroupsInfoReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupsInfoReq.Unmarshal(m, b) @@ -308,7 +308,7 @@ func (m *GetGroupsInfoResp) Reset() { *m = GetGroupsInfoResp{} } func (m *GetGroupsInfoResp) String() string { return proto.CompactTextString(m) } func (*GetGroupsInfoResp) ProtoMessage() {} func (*GetGroupsInfoResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{5} + return fileDescriptor_group_e55c79105d50978e, []int{5} } func (m *GetGroupsInfoResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupsInfoResp.Unmarshal(m, b) @@ -362,7 +362,7 @@ func (m *SetGroupInfoReq) Reset() { *m = SetGroupInfoReq{} } func (m *SetGroupInfoReq) String() string { return proto.CompactTextString(m) } func (*SetGroupInfoReq) ProtoMessage() {} func (*SetGroupInfoReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{6} + return fileDescriptor_group_e55c79105d50978e, []int{6} } func (m *SetGroupInfoReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetGroupInfoReq.Unmarshal(m, b) @@ -414,7 +414,7 @@ func (m *SetGroupInfoResp) Reset() { *m = SetGroupInfoResp{} } func (m *SetGroupInfoResp) String() string { return proto.CompactTextString(m) } func (*SetGroupInfoResp) ProtoMessage() {} func (*SetGroupInfoResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{7} + return fileDescriptor_group_e55c79105d50978e, []int{7} } func (m *SetGroupInfoResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetGroupInfoResp.Unmarshal(m, b) @@ -454,7 +454,7 @@ func (m *GetGroupApplicationListReq) Reset() { *m = GetGroupApplicationL func (m *GetGroupApplicationListReq) String() string { return proto.CompactTextString(m) } func (*GetGroupApplicationListReq) ProtoMessage() {} func (*GetGroupApplicationListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{8} + return fileDescriptor_group_e55c79105d50978e, []int{8} } func (m *GetGroupApplicationListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupApplicationListReq.Unmarshal(m, b) @@ -508,7 +508,7 @@ func (m *GetGroupApplicationListResp) Reset() { *m = GetGroupApplication func (m *GetGroupApplicationListResp) String() string { return proto.CompactTextString(m) } func (*GetGroupApplicationListResp) ProtoMessage() {} func (*GetGroupApplicationListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{9} + return fileDescriptor_group_e55c79105d50978e, []int{9} } func (m *GetGroupApplicationListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupApplicationListResp.Unmarshal(m, b) @@ -562,7 +562,7 @@ func (m *GetUserReqApplicationListReq) Reset() { *m = GetUserReqApplicat func (m *GetUserReqApplicationListReq) String() string { return proto.CompactTextString(m) } func (*GetUserReqApplicationListReq) ProtoMessage() {} func (*GetUserReqApplicationListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{10} + return fileDescriptor_group_e55c79105d50978e, []int{10} } func (m *GetUserReqApplicationListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserReqApplicationListReq.Unmarshal(m, b) @@ -615,7 +615,7 @@ func (m *GetUserReqApplicationListResp) Reset() { *m = GetUserReqApplica func (m *GetUserReqApplicationListResp) String() string { return proto.CompactTextString(m) } func (*GetUserReqApplicationListResp) ProtoMessage() {} func (*GetUserReqApplicationListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{11} + return fileDescriptor_group_e55c79105d50978e, []int{11} } func (m *GetUserReqApplicationListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserReqApplicationListResp.Unmarshal(m, b) @@ -664,7 +664,7 @@ func (m *TransferGroupOwnerReq) Reset() { *m = TransferGroupOwnerReq{} } func (m *TransferGroupOwnerReq) String() string { return proto.CompactTextString(m) } func (*TransferGroupOwnerReq) ProtoMessage() {} func (*TransferGroupOwnerReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{12} + return fileDescriptor_group_e55c79105d50978e, []int{12} } func (m *TransferGroupOwnerReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TransferGroupOwnerReq.Unmarshal(m, b) @@ -730,7 +730,7 @@ func (m *TransferGroupOwnerResp) Reset() { *m = TransferGroupOwnerResp{} func (m *TransferGroupOwnerResp) String() string { return proto.CompactTextString(m) } func (*TransferGroupOwnerResp) ProtoMessage() {} func (*TransferGroupOwnerResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{13} + return fileDescriptor_group_e55c79105d50978e, []int{13} } func (m *TransferGroupOwnerResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TransferGroupOwnerResp.Unmarshal(m, b) @@ -773,7 +773,7 @@ func (m *JoinGroupReq) Reset() { *m = JoinGroupReq{} } func (m *JoinGroupReq) String() string { return proto.CompactTextString(m) } func (*JoinGroupReq) ProtoMessage() {} func (*JoinGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{14} + return fileDescriptor_group_e55c79105d50978e, []int{14} } func (m *JoinGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_JoinGroupReq.Unmarshal(m, b) @@ -846,7 +846,7 @@ func (m *JoinGroupResp) Reset() { *m = JoinGroupResp{} } func (m *JoinGroupResp) String() string { return proto.CompactTextString(m) } func (*JoinGroupResp) ProtoMessage() {} func (*JoinGroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{15} + return fileDescriptor_group_e55c79105d50978e, []int{15} } func (m *JoinGroupResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_JoinGroupResp.Unmarshal(m, b) @@ -889,7 +889,7 @@ func (m *GroupApplicationResponseReq) Reset() { *m = GroupApplicationRes func (m *GroupApplicationResponseReq) String() string { return proto.CompactTextString(m) } func (*GroupApplicationResponseReq) ProtoMessage() {} func (*GroupApplicationResponseReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{16} + return fileDescriptor_group_e55c79105d50978e, []int{16} } func (m *GroupApplicationResponseReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationResponseReq.Unmarshal(m, b) @@ -962,7 +962,7 @@ func (m *GroupApplicationResponseResp) Reset() { *m = GroupApplicationRe func (m *GroupApplicationResponseResp) String() string { return proto.CompactTextString(m) } func (*GroupApplicationResponseResp) ProtoMessage() {} func (*GroupApplicationResponseResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{17} + return fileDescriptor_group_e55c79105d50978e, []int{17} } func (m *GroupApplicationResponseResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationResponseResp.Unmarshal(m, b) @@ -1002,7 +1002,7 @@ func (m *QuitGroupReq) Reset() { *m = QuitGroupReq{} } func (m *QuitGroupReq) String() string { return proto.CompactTextString(m) } func (*QuitGroupReq) ProtoMessage() {} func (*QuitGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{18} + return fileDescriptor_group_e55c79105d50978e, []int{18} } func (m *QuitGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_QuitGroupReq.Unmarshal(m, b) @@ -1054,7 +1054,7 @@ func (m *QuitGroupResp) Reset() { *m = QuitGroupResp{} } func (m *QuitGroupResp) String() string { return proto.CompactTextString(m) } func (*QuitGroupResp) ProtoMessage() {} func (*QuitGroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{19} + return fileDescriptor_group_e55c79105d50978e, []int{19} } func (m *QuitGroupResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_QuitGroupResp.Unmarshal(m, b) @@ -1096,7 +1096,7 @@ func (m *GetGroupMemberListReq) Reset() { *m = GetGroupMemberListReq{} } func (m *GetGroupMemberListReq) String() string { return proto.CompactTextString(m) } func (*GetGroupMemberListReq) ProtoMessage() {} func (*GetGroupMemberListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{20} + return fileDescriptor_group_e55c79105d50978e, []int{20} } func (m *GetGroupMemberListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupMemberListReq.Unmarshal(m, b) @@ -1165,7 +1165,7 @@ func (m *GetGroupMemberListResp) Reset() { *m = GetGroupMemberListResp{} func (m *GetGroupMemberListResp) String() string { return proto.CompactTextString(m) } func (*GetGroupMemberListResp) ProtoMessage() {} func (*GetGroupMemberListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{21} + return fileDescriptor_group_e55c79105d50978e, []int{21} } func (m *GetGroupMemberListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupMemberListResp.Unmarshal(m, b) @@ -1228,7 +1228,7 @@ func (m *GetGroupMembersInfoReq) Reset() { *m = GetGroupMembersInfoReq{} func (m *GetGroupMembersInfoReq) String() string { return proto.CompactTextString(m) } func (*GetGroupMembersInfoReq) ProtoMessage() {} func (*GetGroupMembersInfoReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{22} + return fileDescriptor_group_e55c79105d50978e, []int{22} } func (m *GetGroupMembersInfoReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupMembersInfoReq.Unmarshal(m, b) @@ -1296,7 +1296,7 @@ func (m *GetGroupMembersInfoResp) Reset() { *m = GetGroupMembersInfoResp func (m *GetGroupMembersInfoResp) String() string { return proto.CompactTextString(m) } func (*GetGroupMembersInfoResp) ProtoMessage() {} func (*GetGroupMembersInfoResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{23} + return fileDescriptor_group_e55c79105d50978e, []int{23} } func (m *GetGroupMembersInfoResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupMembersInfoResp.Unmarshal(m, b) @@ -1352,7 +1352,7 @@ func (m *KickGroupMemberReq) Reset() { *m = KickGroupMemberReq{} } func (m *KickGroupMemberReq) String() string { return proto.CompactTextString(m) } func (*KickGroupMemberReq) ProtoMessage() {} func (*KickGroupMemberReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{24} + return fileDescriptor_group_e55c79105d50978e, []int{24} } func (m *KickGroupMemberReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_KickGroupMemberReq.Unmarshal(m, b) @@ -1419,7 +1419,7 @@ func (m *Id2Result) Reset() { *m = Id2Result{} } func (m *Id2Result) String() string { return proto.CompactTextString(m) } func (*Id2Result) ProtoMessage() {} func (*Id2Result) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{25} + return fileDescriptor_group_e55c79105d50978e, []int{25} } func (m *Id2Result) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Id2Result.Unmarshal(m, b) @@ -1466,7 +1466,7 @@ func (m *KickGroupMemberResp) Reset() { *m = KickGroupMemberResp{} } func (m *KickGroupMemberResp) String() string { return proto.CompactTextString(m) } func (*KickGroupMemberResp) ProtoMessage() {} func (*KickGroupMemberResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{26} + return fileDescriptor_group_e55c79105d50978e, []int{26} } func (m *KickGroupMemberResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_KickGroupMemberResp.Unmarshal(m, b) @@ -1520,7 +1520,7 @@ func (m *GetJoinedGroupListReq) Reset() { *m = GetJoinedGroupListReq{} } func (m *GetJoinedGroupListReq) String() string { return proto.CompactTextString(m) } func (*GetJoinedGroupListReq) ProtoMessage() {} func (*GetJoinedGroupListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{27} + return fileDescriptor_group_e55c79105d50978e, []int{27} } func (m *GetJoinedGroupListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetJoinedGroupListReq.Unmarshal(m, b) @@ -1574,7 +1574,7 @@ func (m *GetJoinedGroupListResp) Reset() { *m = GetJoinedGroupListResp{} func (m *GetJoinedGroupListResp) String() string { return proto.CompactTextString(m) } func (*GetJoinedGroupListResp) ProtoMessage() {} func (*GetJoinedGroupListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{28} + return fileDescriptor_group_e55c79105d50978e, []int{28} } func (m *GetJoinedGroupListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetJoinedGroupListResp.Unmarshal(m, b) @@ -1630,7 +1630,7 @@ func (m *InviteUserToGroupReq) Reset() { *m = InviteUserToGroupReq{} } func (m *InviteUserToGroupReq) String() string { return proto.CompactTextString(m) } func (*InviteUserToGroupReq) ProtoMessage() {} func (*InviteUserToGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{29} + return fileDescriptor_group_e55c79105d50978e, []int{29} } func (m *InviteUserToGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_InviteUserToGroupReq.Unmarshal(m, b) @@ -1698,7 +1698,7 @@ func (m *InviteUserToGroupResp) Reset() { *m = InviteUserToGroupResp{} } func (m *InviteUserToGroupResp) String() string { return proto.CompactTextString(m) } func (*InviteUserToGroupResp) ProtoMessage() {} func (*InviteUserToGroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{30} + return fileDescriptor_group_e55c79105d50978e, []int{30} } func (m *InviteUserToGroupResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_InviteUserToGroupResp.Unmarshal(m, b) @@ -1739,6 +1739,122 @@ func (m *InviteUserToGroupResp) GetId2ResultList() []*Id2Result { return nil } +type InviteUserToGroupsReq struct { + OperationID string `protobuf:"bytes,1,opt,name=OperationID" json:"OperationID,omitempty"` + GroupIDList []string `protobuf:"bytes,2,rep,name=groupIDList" json:"groupIDList,omitempty"` + Reason string `protobuf:"bytes,3,opt,name=Reason" json:"Reason,omitempty"` + InvitedUserID string `protobuf:"bytes,4,opt,name=invitedUserID" json:"invitedUserID,omitempty"` + OpUserID string `protobuf:"bytes,5,opt,name=OpUserID" json:"OpUserID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *InviteUserToGroupsReq) Reset() { *m = InviteUserToGroupsReq{} } +func (m *InviteUserToGroupsReq) String() string { return proto.CompactTextString(m) } +func (*InviteUserToGroupsReq) ProtoMessage() {} +func (*InviteUserToGroupsReq) Descriptor() ([]byte, []int) { + return fileDescriptor_group_e55c79105d50978e, []int{31} +} +func (m *InviteUserToGroupsReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_InviteUserToGroupsReq.Unmarshal(m, b) +} +func (m *InviteUserToGroupsReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_InviteUserToGroupsReq.Marshal(b, m, deterministic) +} +func (dst *InviteUserToGroupsReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_InviteUserToGroupsReq.Merge(dst, src) +} +func (m *InviteUserToGroupsReq) XXX_Size() int { + return xxx_messageInfo_InviteUserToGroupsReq.Size(m) +} +func (m *InviteUserToGroupsReq) XXX_DiscardUnknown() { + xxx_messageInfo_InviteUserToGroupsReq.DiscardUnknown(m) +} + +var xxx_messageInfo_InviteUserToGroupsReq proto.InternalMessageInfo + +func (m *InviteUserToGroupsReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *InviteUserToGroupsReq) GetGroupIDList() []string { + if m != nil { + return m.GroupIDList + } + return nil +} + +func (m *InviteUserToGroupsReq) GetReason() string { + if m != nil { + return m.Reason + } + return "" +} + +func (m *InviteUserToGroupsReq) GetInvitedUserID() string { + if m != nil { + return m.InvitedUserID + } + return "" +} + +func (m *InviteUserToGroupsReq) GetOpUserID() string { + if m != nil { + return m.OpUserID + } + return "" +} + +type InviteUserToGroupsResp 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 *InviteUserToGroupsResp) Reset() { *m = InviteUserToGroupsResp{} } +func (m *InviteUserToGroupsResp) String() string { return proto.CompactTextString(m) } +func (*InviteUserToGroupsResp) ProtoMessage() {} +func (*InviteUserToGroupsResp) Descriptor() ([]byte, []int) { + return fileDescriptor_group_e55c79105d50978e, []int{32} +} +func (m *InviteUserToGroupsResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_InviteUserToGroupsResp.Unmarshal(m, b) +} +func (m *InviteUserToGroupsResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_InviteUserToGroupsResp.Marshal(b, m, deterministic) +} +func (dst *InviteUserToGroupsResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_InviteUserToGroupsResp.Merge(dst, src) +} +func (m *InviteUserToGroupsResp) XXX_Size() int { + return xxx_messageInfo_InviteUserToGroupsResp.Size(m) +} +func (m *InviteUserToGroupsResp) XXX_DiscardUnknown() { + xxx_messageInfo_InviteUserToGroupsResp.DiscardUnknown(m) +} + +var xxx_messageInfo_InviteUserToGroupsResp proto.InternalMessageInfo + +func (m *InviteUserToGroupsResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode + } + return 0 +} + +func (m *InviteUserToGroupsResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg + } + return "" +} + type GetGroupAllMemberReq struct { GroupID string `protobuf:"bytes,1,opt,name=GroupID" json:"GroupID,omitempty"` OpUserID string `protobuf:"bytes,2,opt,name=OpUserID" json:"OpUserID,omitempty"` @@ -1754,7 +1870,7 @@ func (m *GetGroupAllMemberReq) Reset() { *m = GetGroupAllMemberReq{} } func (m *GetGroupAllMemberReq) String() string { return proto.CompactTextString(m) } func (*GetGroupAllMemberReq) ProtoMessage() {} func (*GetGroupAllMemberReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{31} + return fileDescriptor_group_e55c79105d50978e, []int{33} } func (m *GetGroupAllMemberReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupAllMemberReq.Unmarshal(m, b) @@ -1822,7 +1938,7 @@ func (m *GetGroupAllMemberResp) Reset() { *m = GetGroupAllMemberResp{} } func (m *GetGroupAllMemberResp) String() string { return proto.CompactTextString(m) } func (*GetGroupAllMemberResp) ProtoMessage() {} func (*GetGroupAllMemberResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{32} + return fileDescriptor_group_e55c79105d50978e, []int{34} } func (m *GetGroupAllMemberResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupAllMemberResp.Unmarshal(m, b) @@ -1876,7 +1992,7 @@ func (m *CMSGroup) Reset() { *m = CMSGroup{} } func (m *CMSGroup) String() string { return proto.CompactTextString(m) } func (*CMSGroup) ProtoMessage() {} func (*CMSGroup) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{33} + return fileDescriptor_group_e55c79105d50978e, []int{35} } func (m *CMSGroup) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CMSGroup.Unmarshal(m, b) @@ -1931,7 +2047,7 @@ func (m *GetGroupsReq) Reset() { *m = GetGroupsReq{} } func (m *GetGroupsReq) String() string { return proto.CompactTextString(m) } func (*GetGroupsReq) ProtoMessage() {} func (*GetGroupsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{34} + return fileDescriptor_group_e55c79105d50978e, []int{36} } func (m *GetGroupsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupsReq.Unmarshal(m, b) @@ -1993,7 +2109,7 @@ func (m *GetGroupsResp) Reset() { *m = GetGroupsResp{} } func (m *GetGroupsResp) String() string { return proto.CompactTextString(m) } func (*GetGroupsResp) ProtoMessage() {} func (*GetGroupsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{35} + return fileDescriptor_group_e55c79105d50978e, []int{37} } func (m *GetGroupsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupsResp.Unmarshal(m, b) @@ -2053,7 +2169,7 @@ func (m *GetGroupMemberReq) Reset() { *m = GetGroupMemberReq{} } func (m *GetGroupMemberReq) String() string { return proto.CompactTextString(m) } func (*GetGroupMemberReq) ProtoMessage() {} func (*GetGroupMemberReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{36} + return fileDescriptor_group_e55c79105d50978e, []int{38} } func (m *GetGroupMemberReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupMemberReq.Unmarshal(m, b) @@ -2101,7 +2217,7 @@ func (m *GetGroupMembersCMSReq) Reset() { *m = GetGroupMembersCMSReq{} } func (m *GetGroupMembersCMSReq) String() string { return proto.CompactTextString(m) } func (*GetGroupMembersCMSReq) ProtoMessage() {} func (*GetGroupMembersCMSReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{37} + return fileDescriptor_group_e55c79105d50978e, []int{39} } func (m *GetGroupMembersCMSReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupMembersCMSReq.Unmarshal(m, b) @@ -2163,7 +2279,7 @@ func (m *GetGroupMembersCMSResp) Reset() { *m = GetGroupMembersCMSResp{} func (m *GetGroupMembersCMSResp) String() string { return proto.CompactTextString(m) } func (*GetGroupMembersCMSResp) ProtoMessage() {} func (*GetGroupMembersCMSResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{38} + return fileDescriptor_group_e55c79105d50978e, []int{40} } func (m *GetGroupMembersCMSResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupMembersCMSResp.Unmarshal(m, b) @@ -2224,7 +2340,7 @@ func (m *DismissGroupReq) Reset() { *m = DismissGroupReq{} } func (m *DismissGroupReq) String() string { return proto.CompactTextString(m) } func (*DismissGroupReq) ProtoMessage() {} func (*DismissGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{39} + return fileDescriptor_group_e55c79105d50978e, []int{41} } func (m *DismissGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DismissGroupReq.Unmarshal(m, b) @@ -2276,7 +2392,7 @@ func (m *DismissGroupResp) Reset() { *m = DismissGroupResp{} } func (m *DismissGroupResp) String() string { return proto.CompactTextString(m) } func (*DismissGroupResp) ProtoMessage() {} func (*DismissGroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{40} + return fileDescriptor_group_e55c79105d50978e, []int{42} } func (m *DismissGroupResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DismissGroupResp.Unmarshal(m, b) @@ -2318,7 +2434,7 @@ func (m *MuteGroupMemberReq) Reset() { *m = MuteGroupMemberReq{} } func (m *MuteGroupMemberReq) String() string { return proto.CompactTextString(m) } func (*MuteGroupMemberReq) ProtoMessage() {} func (*MuteGroupMemberReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{41} + return fileDescriptor_group_e55c79105d50978e, []int{43} } func (m *MuteGroupMemberReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MuteGroupMemberReq.Unmarshal(m, b) @@ -2384,7 +2500,7 @@ func (m *MuteGroupMemberResp) Reset() { *m = MuteGroupMemberResp{} } func (m *MuteGroupMemberResp) String() string { return proto.CompactTextString(m) } func (*MuteGroupMemberResp) ProtoMessage() {} func (*MuteGroupMemberResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{42} + return fileDescriptor_group_e55c79105d50978e, []int{44} } func (m *MuteGroupMemberResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MuteGroupMemberResp.Unmarshal(m, b) @@ -2425,7 +2541,7 @@ func (m *CancelMuteGroupMemberReq) Reset() { *m = CancelMuteGroupMemberR func (m *CancelMuteGroupMemberReq) String() string { return proto.CompactTextString(m) } func (*CancelMuteGroupMemberReq) ProtoMessage() {} func (*CancelMuteGroupMemberReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{43} + return fileDescriptor_group_e55c79105d50978e, []int{45} } func (m *CancelMuteGroupMemberReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CancelMuteGroupMemberReq.Unmarshal(m, b) @@ -2484,7 +2600,7 @@ func (m *CancelMuteGroupMemberResp) Reset() { *m = CancelMuteGroupMember func (m *CancelMuteGroupMemberResp) String() string { return proto.CompactTextString(m) } func (*CancelMuteGroupMemberResp) ProtoMessage() {} func (*CancelMuteGroupMemberResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{44} + return fileDescriptor_group_e55c79105d50978e, []int{46} } func (m *CancelMuteGroupMemberResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CancelMuteGroupMemberResp.Unmarshal(m, b) @@ -2524,7 +2640,7 @@ func (m *MuteGroupReq) Reset() { *m = MuteGroupReq{} } func (m *MuteGroupReq) String() string { return proto.CompactTextString(m) } func (*MuteGroupReq) ProtoMessage() {} func (*MuteGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{45} + return fileDescriptor_group_e55c79105d50978e, []int{47} } func (m *MuteGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MuteGroupReq.Unmarshal(m, b) @@ -2576,7 +2692,7 @@ func (m *MuteGroupResp) Reset() { *m = MuteGroupResp{} } func (m *MuteGroupResp) String() string { return proto.CompactTextString(m) } func (*MuteGroupResp) ProtoMessage() {} func (*MuteGroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{46} + return fileDescriptor_group_e55c79105d50978e, []int{48} } func (m *MuteGroupResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MuteGroupResp.Unmarshal(m, b) @@ -2616,7 +2732,7 @@ func (m *CancelMuteGroupReq) Reset() { *m = CancelMuteGroupReq{} } func (m *CancelMuteGroupReq) String() string { return proto.CompactTextString(m) } func (*CancelMuteGroupReq) ProtoMessage() {} func (*CancelMuteGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{47} + return fileDescriptor_group_e55c79105d50978e, []int{49} } func (m *CancelMuteGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CancelMuteGroupReq.Unmarshal(m, b) @@ -2668,7 +2784,7 @@ func (m *CancelMuteGroupResp) Reset() { *m = CancelMuteGroupResp{} } func (m *CancelMuteGroupResp) String() string { return proto.CompactTextString(m) } func (*CancelMuteGroupResp) ProtoMessage() {} func (*CancelMuteGroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{48} + return fileDescriptor_group_e55c79105d50978e, []int{50} } func (m *CancelMuteGroupResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CancelMuteGroupResp.Unmarshal(m, b) @@ -2710,7 +2826,7 @@ func (m *SetGroupMemberNicknameReq) Reset() { *m = SetGroupMemberNicknam func (m *SetGroupMemberNicknameReq) String() string { return proto.CompactTextString(m) } func (*SetGroupMemberNicknameReq) ProtoMessage() {} func (*SetGroupMemberNicknameReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{49} + return fileDescriptor_group_e55c79105d50978e, []int{51} } func (m *SetGroupMemberNicknameReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetGroupMemberNicknameReq.Unmarshal(m, b) @@ -2776,7 +2892,7 @@ func (m *SetGroupMemberNicknameResp) Reset() { *m = SetGroupMemberNickna func (m *SetGroupMemberNicknameResp) String() string { return proto.CompactTextString(m) } func (*SetGroupMemberNicknameResp) ProtoMessage() {} func (*SetGroupMemberNicknameResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{50} + return fileDescriptor_group_e55c79105d50978e, []int{52} } func (m *SetGroupMemberNicknameResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetGroupMemberNicknameResp.Unmarshal(m, b) @@ -2816,7 +2932,7 @@ func (m *GetJoinedSuperGroupListReq) Reset() { *m = GetJoinedSuperGroupL func (m *GetJoinedSuperGroupListReq) String() string { return proto.CompactTextString(m) } func (*GetJoinedSuperGroupListReq) ProtoMessage() {} func (*GetJoinedSuperGroupListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{51} + return fileDescriptor_group_e55c79105d50978e, []int{53} } func (m *GetJoinedSuperGroupListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetJoinedSuperGroupListReq.Unmarshal(m, b) @@ -2869,7 +2985,7 @@ func (m *GetJoinedSuperGroupListResp) Reset() { *m = GetJoinedSuperGroup func (m *GetJoinedSuperGroupListResp) String() string { return proto.CompactTextString(m) } func (*GetJoinedSuperGroupListResp) ProtoMessage() {} func (*GetJoinedSuperGroupListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{52} + return fileDescriptor_group_e55c79105d50978e, []int{54} } func (m *GetJoinedSuperGroupListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetJoinedSuperGroupListResp.Unmarshal(m, b) @@ -2916,7 +3032,7 @@ func (m *GetSuperGroupsInfoReq) Reset() { *m = GetSuperGroupsInfoReq{} } func (m *GetSuperGroupsInfoReq) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupsInfoReq) ProtoMessage() {} func (*GetSuperGroupsInfoReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{53} + return fileDescriptor_group_e55c79105d50978e, []int{55} } func (m *GetSuperGroupsInfoReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupsInfoReq.Unmarshal(m, b) @@ -2969,7 +3085,7 @@ func (m *GetSuperGroupsInfoResp) Reset() { *m = GetSuperGroupsInfoResp{} func (m *GetSuperGroupsInfoResp) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupsInfoResp) ProtoMessage() {} func (*GetSuperGroupsInfoResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{54} + return fileDescriptor_group_e55c79105d50978e, []int{56} } func (m *GetSuperGroupsInfoResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupsInfoResp.Unmarshal(m, b) @@ -3021,7 +3137,7 @@ func (m *SetGroupMemberInfoReq) Reset() { *m = SetGroupMemberInfoReq{} } func (m *SetGroupMemberInfoReq) String() string { return proto.CompactTextString(m) } func (*SetGroupMemberInfoReq) ProtoMessage() {} func (*SetGroupMemberInfoReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{55} + return fileDescriptor_group_e55c79105d50978e, []int{57} } func (m *SetGroupMemberInfoReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetGroupMemberInfoReq.Unmarshal(m, b) @@ -3108,7 +3224,7 @@ func (m *SetGroupMemberInfoResp) Reset() { *m = SetGroupMemberInfoResp{} func (m *SetGroupMemberInfoResp) String() string { return proto.CompactTextString(m) } func (*SetGroupMemberInfoResp) ProtoMessage() {} func (*SetGroupMemberInfoResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{56} + return fileDescriptor_group_e55c79105d50978e, []int{58} } func (m *SetGroupMemberInfoResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetGroupMemberInfoResp.Unmarshal(m, b) @@ -3148,7 +3264,7 @@ func (m *GetGroupAbstractInfoReq) Reset() { *m = GetGroupAbstractInfoReq func (m *GetGroupAbstractInfoReq) String() string { return proto.CompactTextString(m) } func (*GetGroupAbstractInfoReq) ProtoMessage() {} func (*GetGroupAbstractInfoReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{57} + return fileDescriptor_group_e55c79105d50978e, []int{59} } func (m *GetGroupAbstractInfoReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupAbstractInfoReq.Unmarshal(m, b) @@ -3202,7 +3318,7 @@ func (m *GetGroupAbstractInfoResp) Reset() { *m = GetGroupAbstractInfoRe func (m *GetGroupAbstractInfoResp) String() string { return proto.CompactTextString(m) } func (*GetGroupAbstractInfoResp) ProtoMessage() {} func (*GetGroupAbstractInfoResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{58} + return fileDescriptor_group_e55c79105d50978e, []int{60} } func (m *GetGroupAbstractInfoResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupAbstractInfoResp.Unmarshal(m, b) @@ -3256,7 +3372,7 @@ func (m *GroupIsExistReq) Reset() { *m = GroupIsExistReq{} } func (m *GroupIsExistReq) String() string { return proto.CompactTextString(m) } func (*GroupIsExistReq) ProtoMessage() {} func (*GroupIsExistReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{59} + return fileDescriptor_group_e55c79105d50978e, []int{61} } func (m *GroupIsExistReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupIsExistReq.Unmarshal(m, b) @@ -3309,7 +3425,7 @@ func (m *GroupIsExistResp) Reset() { *m = GroupIsExistResp{} } func (m *GroupIsExistResp) String() string { return proto.CompactTextString(m) } func (*GroupIsExistResp) ProtoMessage() {} func (*GroupIsExistResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{60} + return fileDescriptor_group_e55c79105d50978e, []int{62} } func (m *GroupIsExistResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupIsExistResp.Unmarshal(m, b) @@ -3356,7 +3472,7 @@ func (m *UserIsInGroupReq) Reset() { *m = UserIsInGroupReq{} } func (m *UserIsInGroupReq) String() string { return proto.CompactTextString(m) } func (*UserIsInGroupReq) ProtoMessage() {} func (*UserIsInGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{61} + return fileDescriptor_group_e55c79105d50978e, []int{63} } func (m *UserIsInGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserIsInGroupReq.Unmarshal(m, b) @@ -3409,7 +3525,7 @@ func (m *UserIsInGroupResp) Reset() { *m = UserIsInGroupResp{} } func (m *UserIsInGroupResp) String() string { return proto.CompactTextString(m) } func (*UserIsInGroupResp) ProtoMessage() {} func (*UserIsInGroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_5cfdf63bf5b84d31, []int{62} + return fileDescriptor_group_e55c79105d50978e, []int{64} } func (m *UserIsInGroupResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserIsInGroupResp.Unmarshal(m, b) @@ -3475,6 +3591,8 @@ func init() { proto.RegisterType((*GetJoinedGroupListResp)(nil), "group.GetJoinedGroupListResp") proto.RegisterType((*InviteUserToGroupReq)(nil), "group.InviteUserToGroupReq") proto.RegisterType((*InviteUserToGroupResp)(nil), "group.InviteUserToGroupResp") + proto.RegisterType((*InviteUserToGroupsReq)(nil), "group.InviteUserToGroupsReq") + proto.RegisterType((*InviteUserToGroupsResp)(nil), "group.InviteUserToGroupsResp") proto.RegisterType((*GetGroupAllMemberReq)(nil), "group.GetGroupAllMemberReq") proto.RegisterType((*GetGroupAllMemberResp)(nil), "group.GetGroupAllMemberResp") proto.RegisterType((*CMSGroup)(nil), "group.CMSGroup") @@ -3536,6 +3654,7 @@ type GroupClient interface { KickGroupMember(ctx context.Context, in *KickGroupMemberReq, opts ...grpc.CallOption) (*KickGroupMemberResp, error) GetJoinedGroupList(ctx context.Context, in *GetJoinedGroupListReq, opts ...grpc.CallOption) (*GetJoinedGroupListResp, error) InviteUserToGroup(ctx context.Context, in *InviteUserToGroupReq, opts ...grpc.CallOption) (*InviteUserToGroupResp, error) + InviteUserToGroups(ctx context.Context, in *InviteUserToGroupsReq, opts ...grpc.CallOption) (*InviteUserToGroupsResp, error) GetGroupAllMember(ctx context.Context, in *GetGroupAllMemberReq, opts ...grpc.CallOption) (*GetGroupAllMemberResp, error) GetGroups(ctx context.Context, in *GetGroupsReq, opts ...grpc.CallOption) (*GetGroupsResp, error) GetGroupMembersCMS(ctx context.Context, in *GetGroupMembersCMSReq, opts ...grpc.CallOption) (*GetGroupMembersCMSResp, error) @@ -3687,6 +3806,15 @@ func (c *groupClient) InviteUserToGroup(ctx context.Context, in *InviteUserToGro return out, nil } +func (c *groupClient) InviteUserToGroups(ctx context.Context, in *InviteUserToGroupsReq, opts ...grpc.CallOption) (*InviteUserToGroupsResp, error) { + out := new(InviteUserToGroupsResp) + err := grpc.Invoke(ctx, "/group.group/inviteUserToGroups", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *groupClient) GetGroupAllMember(ctx context.Context, in *GetGroupAllMemberReq, opts ...grpc.CallOption) (*GetGroupAllMemberResp, error) { out := new(GetGroupAllMemberResp) err := grpc.Invoke(ctx, "/group.group/getGroupAllMember", in, out, c.cc, opts...) @@ -3839,6 +3967,7 @@ type GroupServer interface { KickGroupMember(context.Context, *KickGroupMemberReq) (*KickGroupMemberResp, error) GetJoinedGroupList(context.Context, *GetJoinedGroupListReq) (*GetJoinedGroupListResp, error) InviteUserToGroup(context.Context, *InviteUserToGroupReq) (*InviteUserToGroupResp, error) + InviteUserToGroups(context.Context, *InviteUserToGroupsReq) (*InviteUserToGroupsResp, error) GetGroupAllMember(context.Context, *GetGroupAllMemberReq) (*GetGroupAllMemberResp, error) GetGroups(context.Context, *GetGroupsReq) (*GetGroupsResp, error) GetGroupMembersCMS(context.Context, *GetGroupMembersCMSReq) (*GetGroupMembersCMSResp, error) @@ -4112,6 +4241,24 @@ func _Group_InviteUserToGroup_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } +func _Group_InviteUserToGroups_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(InviteUserToGroupsReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GroupServer).InviteUserToGroups(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/group.group/InviteUserToGroups", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GroupServer).InviteUserToGroups(ctx, req.(*InviteUserToGroupsReq)) + } + return interceptor(ctx, in, info, handler) +} + func _Group_GetGroupAllMember_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetGroupAllMemberReq) if err := dec(in); err != nil { @@ -4442,6 +4589,10 @@ var _Group_serviceDesc = grpc.ServiceDesc{ MethodName: "inviteUserToGroup", Handler: _Group_InviteUserToGroup_Handler, }, + { + MethodName: "inviteUserToGroups", + Handler: _Group_InviteUserToGroups_Handler, + }, { MethodName: "getGroupAllMember", Handler: _Group_GetGroupAllMember_Handler, @@ -4507,157 +4658,160 @@ var _Group_serviceDesc = grpc.ServiceDesc{ Metadata: "group/group.proto", } -func init() { proto.RegisterFile("group/group.proto", fileDescriptor_group_5cfdf63bf5b84d31) } +func init() { proto.RegisterFile("group/group.proto", fileDescriptor_group_e55c79105d50978e) } -var fileDescriptor_group_5cfdf63bf5b84d31 = []byte{ - // 2370 bytes of a gzipped FileDescriptorProto +var fileDescriptor_group_e55c79105d50978e = []byte{ + // 2425 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x1a, 0x4d, 0x6f, 0x1c, 0x49, 0x55, 0x3d, 0xe3, 0x89, 0xed, 0x67, 0x4f, 0xc6, 0x2e, 0xc7, 0xce, 0xa4, 0xe3, 0x38, 0xde, 0xde, - 0xb0, 0x58, 0x28, 0xb1, 0xc1, 0x2b, 0x45, 0xcb, 0x2e, 0xb0, 0xc4, 0x5f, 0xf1, 0x6c, 0x62, 0x1b, - 0xf7, 0x64, 0x41, 0x5a, 0x09, 0x85, 0xf6, 0x4c, 0xb9, 0x77, 0xf0, 0x4c, 0x77, 0xbb, 0xab, 0x27, - 0xce, 0x72, 0x59, 0x71, 0x41, 0x02, 0x21, 0x21, 0xc4, 0x75, 0x11, 0x82, 0x0b, 0x08, 0x01, 0xe2, - 0x00, 0x67, 0xfe, 0x00, 0x88, 0x0b, 0x17, 0xc4, 0x8d, 0x3f, 0xc0, 0x85, 0x1f, 0xb0, 0xea, 0xaa, - 0xea, 0xea, 0xea, 0xae, 0xee, 0x9e, 0xd9, 0xf6, 0x26, 0xb9, 0x8c, 0xa6, 0x5e, 0xbd, 0xaa, 0x7a, - 0xef, 0xd5, 0x7b, 0xaf, 0xde, 0x47, 0xc3, 0xbc, 0xed, 0xbb, 0x43, 0x6f, 0x83, 0xfe, 0xae, 0x7b, - 0xbe, 0x1b, 0xb8, 0xa8, 0x46, 0x07, 0xfa, 0xda, 0x91, 0x87, 0x9d, 0x7b, 0xad, 0x83, 0x7b, 0x6d, - 0xec, 0x3f, 0xc3, 0xfe, 0x86, 0x77, 0x66, 0x6f, 0x50, 0x84, 0x0d, 0xd2, 0x3d, 0x7b, 0x7a, 0x41, - 0x36, 0x2e, 0x08, 0x5b, 0xa0, 0xaf, 0x8f, 0xc4, 0xf4, 0x2d, 0xcf, 0xc3, 0x3e, 0xc7, 0x37, 0xbe, - 0x01, 0xb0, 0xed, 0x0e, 0x06, 0xae, 0x63, 0x62, 0xe2, 0xa1, 0x26, 0x4c, 0xee, 0xfa, 0xfe, 0xb6, - 0xdb, 0xc5, 0x4d, 0x6d, 0x55, 0x5b, 0xab, 0x99, 0xd1, 0x10, 0x2d, 0xc1, 0x95, 0x5d, 0xdf, 0x3f, - 0x20, 0x76, 0xb3, 0xb2, 0xaa, 0xad, 0x4d, 0x9b, 0x7c, 0x64, 0xbc, 0x07, 0xe8, 0x61, 0x48, 0xe2, - 0x83, 0x6e, 0xf7, 0x00, 0x0f, 0x4e, 0xb0, 0xdf, 0x72, 0x4e, 0xdd, 0x10, 0xfb, 0x7d, 0x82, 0xfd, - 0xd6, 0x0e, 0xdd, 0x66, 0xda, 0xe4, 0x23, 0xb4, 0x0c, 0xd3, 0xa6, 0xdb, 0xc7, 0x8f, 0xf1, 0x33, - 0xdc, 0xa7, 0x1b, 0xd5, 0xcc, 0x18, 0x60, 0xfc, 0x4f, 0x83, 0xab, 0xdb, 0x3e, 0xb6, 0x02, 0x4c, - 0xb7, 0x34, 0xf1, 0x39, 0x7a, 0x00, 0x57, 0x5b, 0x4e, 0x2f, 0x60, 0x5b, 0x3f, 0xee, 0x91, 0xa0, - 0xa9, 0xad, 0x56, 0xd7, 0x66, 0x36, 0x6f, 0xac, 0x33, 0x29, 0xa9, 0x67, 0x9b, 0xa9, 0x05, 0xe8, - 0x6d, 0x98, 0xa6, 0x58, 0xe1, 0x24, 0x3d, 0x73, 0x66, 0x73, 0x79, 0x9d, 0x50, 0xe9, 0x3c, 0xb5, - 0xbc, 0xde, 0x53, 0xcf, 0xf2, 0xad, 0x01, 0x59, 0x17, 0x38, 0x66, 0x8c, 0x8e, 0x56, 0x61, 0xe6, - 0xc8, 0xc3, 0xbe, 0x15, 0xf4, 0x5c, 0xa7, 0xb5, 0xd3, 0xac, 0x52, 0x66, 0x64, 0x10, 0xd2, 0x61, - 0xea, 0xc8, 0xe3, 0xbc, 0x4e, 0xd0, 0x69, 0x31, 0xa6, 0xab, 0x2f, 0x1c, 0xec, 0xf3, 0xe9, 0x1a, - 0x5f, 0x1d, 0x83, 0x8c, 0x8f, 0xa1, 0x91, 0x60, 0xb8, 0xcc, 0x15, 0x24, 0x19, 0xac, 0x7e, 0x26, - 0x06, 0x0d, 0x1f, 0xe6, 0x1e, 0xe2, 0x80, 0x8e, 0x09, 0x9d, 0xc3, 0xe7, 0x21, 0xd9, 0x0c, 0x61, - 0x47, 0x08, 0x7c, 0xda, 0x94, 0x41, 0x69, 0xb1, 0x54, 0x8a, 0xc5, 0x52, 0x4d, 0x8a, 0xc5, 0xf8, - 0xb1, 0x06, 0xf3, 0xa9, 0x43, 0x4b, 0xf1, 0xbd, 0x05, 0x75, 0xc1, 0x08, 0xa5, 0xb4, 0x4a, 0x55, - 0xa3, 0x98, 0xf7, 0xe4, 0x12, 0xe3, 0x97, 0x1a, 0x34, 0xda, 0x9c, 0x96, 0x88, 0xff, 0xc7, 0xd0, - 0xb0, 0xa3, 0xf1, 0x9e, 0xeb, 0xb7, 0x71, 0x40, 0x29, 0x9a, 0xd9, 0x34, 0x8a, 0x76, 0x66, 0x98, - 0x66, 0x7a, 0x69, 0x42, 0x12, 0x95, 0x0c, 0x05, 0x29, 0x54, 0x2f, 0x63, 0x17, 0xe6, 0x92, 0xe4, - 0x11, 0x0f, 0x7d, 0x45, 0x36, 0x59, 0x4e, 0xda, 0x3c, 0xb7, 0x87, 0x78, 0xc2, 0x94, 0x90, 0x8c, - 0x1f, 0x80, 0x1e, 0x49, 0xfc, 0x81, 0xe7, 0xf5, 0x7b, 0x1d, 0xba, 0x7f, 0x28, 0x81, 0x90, 0x61, - 0x99, 0x44, 0xad, 0x98, 0xc4, 0x8c, 0xab, 0x5e, 0x01, 0xd8, 0xf3, 0xdd, 0x41, 0xe2, 0xb2, 0x25, - 0x88, 0xf1, 0x89, 0x06, 0x37, 0x73, 0x0f, 0x2f, 0x75, 0xf1, 0x8f, 0x60, 0x2e, 0x72, 0x10, 0x43, - 0x4c, 0x02, 0xe9, 0xee, 0x6f, 0xe7, 0xdd, 0x10, 0x47, 0x35, 0x95, 0x85, 0x46, 0x00, 0xcb, 0x0f, - 0x71, 0x10, 0xd2, 0x6a, 0xe2, 0xf3, 0x0c, 0xe1, 0xe4, 0xb9, 0xb2, 0xcb, 0xdd, 0xeb, 0xaf, 0x34, - 0xb8, 0x55, 0x70, 0x6c, 0xa9, 0x5b, 0xce, 0x94, 0x4b, 0xa5, 0xac, 0x5c, 0xfe, 0xa6, 0xc1, 0xe2, - 0x13, 0xdf, 0x72, 0xc8, 0x29, 0xf6, 0xe9, 0x24, 0xf5, 0x5b, 0xa1, 0x44, 0x9a, 0x30, 0xc9, 0x9d, - 0x01, 0x17, 0x49, 0x34, 0x44, 0x6f, 0xc0, 0xd5, 0xa3, 0x7e, 0x57, 0xf6, 0x79, 0x4c, 0x32, 0x29, - 0x68, 0x88, 0x77, 0x88, 0x2f, 0x64, 0x3c, 0x26, 0xa2, 0x14, 0x34, 0x2d, 0xc7, 0x89, 0x62, 0x3f, - 0x53, 0x4b, 0xf9, 0x99, 0x47, 0xb0, 0x94, 0xc5, 0x40, 0x39, 0x0b, 0xfa, 0xbb, 0x06, 0xb3, 0xef, - 0xb9, 0x3d, 0x47, 0xbc, 0x4c, 0xf9, 0x52, 0x58, 0x01, 0x30, 0xf1, 0xf9, 0x01, 0x26, 0xc4, 0xb2, - 0x31, 0x97, 0x80, 0x04, 0x29, 0xf2, 0x8d, 0x63, 0x70, 0xbc, 0x02, 0x10, 0xd2, 0xd1, 0x76, 0x87, - 0x7e, 0x07, 0x53, 0x9e, 0x6b, 0xa6, 0x04, 0x41, 0x77, 0xa0, 0xde, 0x72, 0x9e, 0xf5, 0x02, 0x21, - 0xda, 0x2b, 0x74, 0x8f, 0x24, 0xd0, 0xd8, 0x82, 0xba, 0xc4, 0x4d, 0x39, 0x91, 0xfc, 0x3b, 0x34, - 0xec, 0x94, 0x55, 0x87, 0x13, 0xae, 0x43, 0x30, 0x7f, 0x47, 0x64, 0x5e, 0xb4, 0xe2, 0xdb, 0x4b, - 0xdb, 0x90, 0x24, 0xdf, 0xaa, 0x22, 0x5f, 0xc9, 0xe1, 0x4c, 0xa4, 0x1d, 0x4e, 0x38, 0xbf, 0x6f, - 0x39, 0xdd, 0x3e, 0xee, 0x86, 0xae, 0x83, 0x69, 0x85, 0x04, 0x41, 0x06, 0xcc, 0xb2, 0x91, 0x89, - 0xc9, 0xb0, 0x1f, 0x50, 0x01, 0xd5, 0xcc, 0x04, 0xcc, 0x38, 0x86, 0xe5, 0x7c, 0xd6, 0xca, 0x89, - 0xeb, 0x14, 0x66, 0x8f, 0x87, 0xbd, 0x60, 0x0c, 0x05, 0xba, 0xdc, 0xf3, 0xba, 0x05, 0x75, 0xe9, - 0x9c, 0x72, 0xb4, 0xfe, 0x5a, 0x83, 0xc5, 0xc8, 0x67, 0xc7, 0xa1, 0x54, 0x31, 0xd5, 0x97, 0x72, - 0x88, 0xa1, 0x9b, 0xdd, 0xeb, 0xf5, 0x03, 0xec, 0xd3, 0x0b, 0xad, 0x99, 0x7c, 0x14, 0x9e, 0x77, - 0x88, 0x9f, 0x07, 0x6d, 0x7c, 0xce, 0x75, 0x3d, 0x1a, 0x1a, 0x7f, 0xd0, 0x60, 0x29, 0x8b, 0xc6, - 0x52, 0x4f, 0xca, 0x1e, 0xc0, 0x20, 0x8e, 0x31, 0xd9, 0x63, 0xf2, 0x46, 0x9e, 0xd3, 0x64, 0xa7, - 0xed, 0x0d, 0xfb, 0x7d, 0xfa, 0x26, 0x4b, 0x2b, 0xc3, 0x93, 0x1d, 0x4e, 0x2e, 0xe3, 0x23, 0x1a, - 0x1a, 0xbf, 0x57, 0xc8, 0x15, 0x01, 0x57, 0xa1, 0x2b, 0x91, 0xc8, 0xaa, 0xd0, 0x48, 0x4c, 0x3e, - 0xee, 0x72, 0xae, 0x24, 0x24, 0xd6, 0xdd, 0xb6, 0x3a, 0x1f, 0x32, 0x3f, 0x32, 0x65, 0x46, 0x43, - 0xe3, 0x17, 0x1a, 0x5c, 0xcf, 0x24, 0xf6, 0x55, 0x0a, 0xd7, 0xf8, 0xb3, 0x06, 0xe8, 0x51, 0xaf, - 0x73, 0x26, 0xe1, 0x15, 0x8b, 0xef, 0x4b, 0x30, 0x17, 0xe2, 0xe3, 0x2e, 0x13, 0x89, 0x24, 0x44, - 0x05, 0x1e, 0x12, 0x6f, 0x62, 0x8b, 0xb8, 0x0e, 0x17, 0x24, 0x1f, 0xa5, 0xc5, 0x58, 0x2b, 0x36, - 0xc6, 0x2b, 0x29, 0x63, 0x7c, 0x07, 0xa6, 0x5b, 0xdd, 0x4d, 0xe6, 0x54, 0x72, 0x43, 0x09, 0x7a, - 0x34, 0x75, 0x45, 0x2c, 0x25, 0xe2, 0x23, 0xe3, 0x63, 0x58, 0x50, 0xd8, 0x2d, 0x75, 0x01, 0xf7, - 0xa1, 0x2e, 0xa8, 0x90, 0xee, 0x60, 0x8e, 0x3b, 0x01, 0x31, 0x67, 0x26, 0xd1, 0x8c, 0x21, 0xf5, - 0x02, 0xe1, 0x43, 0x81, 0xbb, 0x94, 0x8a, 0xc8, 0x0b, 0x24, 0x5d, 0xb0, 0xa6, 0xb8, 0xe0, 0x55, - 0x98, 0x71, 0x55, 0x0f, 0xe6, 0x8e, 0xe9, 0xc1, 0x7e, 0xc4, 0x4c, 0x45, 0x39, 0xf7, 0x52, 0xd9, - 0xd1, 0xd8, 0x19, 0x42, 0x8c, 0x6e, 0xfc, 0x45, 0x83, 0x6b, 0xec, 0xdd, 0x0c, 0x29, 0x7b, 0xe2, - 0x0a, 0xdf, 0x3d, 0xda, 0x43, 0xe7, 0x3f, 0x5f, 0xb1, 0xa2, 0x4d, 0x24, 0x14, 0xed, 0x2e, 0xcc, - 0xb3, 0xb3, 0x64, 0x6d, 0xad, 0x51, 0x6d, 0x55, 0x27, 0x0a, 0x95, 0xee, 0x87, 0x1a, 0x2c, 0x66, - 0x90, 0xfd, 0x52, 0x55, 0xe7, 0x13, 0x0d, 0xae, 0x89, 0xa8, 0xbf, 0xdf, 0x1f, 0xc7, 0x5a, 0x2f, - 0xfd, 0x80, 0x1c, 0x9d, 0x9e, 0x12, 0x1c, 0x44, 0x0f, 0x08, 0x1b, 0xa1, 0x6b, 0x50, 0xdb, 0x76, - 0x87, 0x4e, 0xc0, 0x9f, 0x0f, 0x36, 0x30, 0x7e, 0x2e, 0x3d, 0x70, 0x12, 0x79, 0xaf, 0xd4, 0xbd, - 0xfd, 0x46, 0x83, 0xa9, 0xed, 0x83, 0x36, 0x45, 0x4b, 0x26, 0xf5, 0xda, 0x67, 0xab, 0x5a, 0xac, - 0xf3, 0x9a, 0x8c, 0x08, 0xa5, 0x0f, 0xad, 0x41, 0x14, 0x88, 0x66, 0xcc, 0x84, 0x6e, 0x32, 0x09, - 0x15, 0x12, 0x56, 0xe0, 0xc6, 0x9f, 0x34, 0x98, 0x15, 0xc9, 0x7b, 0x78, 0x9f, 0x3b, 0x00, 0xdf, - 0xb2, 0xec, 0x9e, 0x43, 0xef, 0x81, 0x53, 0x7a, 0x27, 0x83, 0x52, 0x9e, 0x5b, 0xc4, 0xb8, 0xa6, - 0xb4, 0x0e, 0x2d, 0x73, 0x76, 0x25, 0x4a, 0x63, 0x40, 0x81, 0x31, 0x8d, 0x7c, 0xe4, 0x8c, 0x7f, - 0x69, 0x50, 0x97, 0x08, 0x26, 0x1e, 0xba, 0x07, 0xd3, 0x91, 0x98, 0x09, 0x2f, 0x27, 0x35, 0xa2, - 0x70, 0x88, 0xc3, 0xcd, 0x18, 0x03, 0xed, 0x26, 0x18, 0x64, 0x05, 0xa4, 0x2f, 0x64, 0x32, 0xc8, - 0xe2, 0xc3, 0x1c, 0x0e, 0x75, 0x98, 0x62, 0x0c, 0x0d, 0x07, 0x94, 0x89, 0x9a, 0x29, 0xc6, 0x61, - 0x84, 0xd6, 0x89, 0x23, 0xb4, 0x89, 0xdc, 0x08, 0x2d, 0x46, 0x32, 0x8e, 0xe2, 0x1a, 0xca, 0x38, - 0xb6, 0x35, 0xd2, 0x61, 0x19, 0x7f, 0x55, 0x42, 0x3e, 0xb2, 0x7d, 0xd0, 0x1e, 0x69, 0xb1, 0x29, - 0xf5, 0x12, 0xe3, 0x94, 0x5e, 0x54, 0x4b, 0xea, 0xc5, 0xe8, 0xfb, 0xfd, 0xbf, 0x1a, 0x57, 0x51, - 0xba, 0x89, 0x87, 0xbe, 0x09, 0x93, 0xcc, 0xbc, 0xa2, 0x6b, 0x1e, 0xd7, 0x2a, 0xa3, 0x65, 0x9f, - 0xd7, 0xdd, 0xaf, 0x00, 0xb0, 0x13, 0x0e, 0x87, 0x03, 0xc2, 0x6f, 0x5f, 0x82, 0x94, 0xb9, 0xff, - 0x1e, 0x34, 0x76, 0x7a, 0x64, 0xd0, 0x23, 0x44, 0x3c, 0x4a, 0x3a, 0x4c, 0xb9, 0xa9, 0x32, 0x8e, - 0xeb, 0x8d, 0xfd, 0x20, 0x37, 0x61, 0xd2, 0x4e, 0xda, 0x18, 0x1f, 0x1a, 0xbb, 0x30, 0x97, 0x3c, - 0x8a, 0xe5, 0x14, 0x9d, 0x71, 0x72, 0x0a, 0x89, 0xe2, 0xdf, 0x69, 0x80, 0x0e, 0x86, 0xbc, 0xd4, - 0x19, 0xeb, 0xec, 0x0b, 0xa2, 0x3a, 0xf4, 0xd6, 0x43, 0x39, 0x43, 0xe4, 0xa3, 0x30, 0xfb, 0x1b, - 0x0c, 0x03, 0xdc, 0x6d, 0xe3, 0x8e, 0xeb, 0x74, 0x09, 0x7d, 0x16, 0xea, 0x66, 0x02, 0x66, 0xec, - 0xc3, 0x82, 0x42, 0x69, 0x39, 0xa6, 0x7f, 0xa2, 0x41, 0x73, 0xdb, 0x72, 0x3a, 0xb8, 0xff, 0xea, - 0x59, 0x37, 0x0e, 0xe1, 0x46, 0x0e, 0x2d, 0xe5, 0x98, 0x3b, 0x85, 0x59, 0xb1, 0xd3, 0x8b, 0x54, - 0xc0, 0x2d, 0xa8, 0x4b, 0xe7, 0x94, 0xa3, 0xb5, 0x0f, 0x28, 0xc5, 0xfb, 0x8b, 0xa4, 0x78, 0x1f, - 0x16, 0x94, 0xd3, 0xca, 0xd1, 0xfd, 0x5b, 0x0d, 0x6e, 0xb4, 0x13, 0xee, 0xed, 0xb0, 0xd7, 0x39, - 0x73, 0xac, 0x01, 0xe6, 0xae, 0xd9, 0x4e, 0xba, 0x66, 0x3b, 0x76, 0xcd, 0x0e, 0x47, 0x8c, 0x5c, - 0x73, 0x34, 0x4e, 0x70, 0x5d, 0x2d, 0xe6, 0x7a, 0x42, 0xe5, 0x3a, 0xd6, 0xae, 0x5a, 0x42, 0xbb, - 0x8e, 0x40, 0xcf, 0x23, 0xb4, 0x5c, 0x11, 0xc2, 0xa7, 0x45, 0x6b, 0x96, 0x05, 0xb4, 0x87, 0x1e, - 0xaf, 0xe2, 0x45, 0x29, 0x48, 0x8a, 0x50, 0xad, 0x88, 0xd0, 0x4a, 0xc2, 0x03, 0x14, 0xb0, 0x6f, - 0xfc, 0x94, 0x15, 0xab, 0xb3, 0x0f, 0x2d, 0x75, 0x83, 0x97, 0x4a, 0x40, 0x2e, 0xe8, 0x9b, 0x1c, - 0xd3, 0xf1, 0xd2, 0x7a, 0x34, 0x3f, 0x63, 0xaf, 0xaa, 0x72, 0x72, 0x39, 0x11, 0x7c, 0x1e, 0x9d, - 0x9a, 0xff, 0x56, 0x60, 0x31, 0xa9, 0x5f, 0x52, 0xf9, 0x24, 0xc7, 0x08, 0x4a, 0x68, 0xc0, 0x18, - 0x06, 0xf0, 0x96, 0x64, 0x5a, 0x35, 0x1e, 0x99, 0xdb, 0xae, 0x6b, 0xf7, 0x31, 0xeb, 0xa9, 0x9e, - 0x0c, 0x4f, 0xd7, 0xdb, 0x81, 0xdf, 0x73, 0xec, 0x6f, 0x5b, 0xfd, 0x21, 0x96, 0x0c, 0xef, 0x3e, - 0x4c, 0x9e, 0x5a, 0x1d, 0xfc, 0xbe, 0xf9, 0x98, 0xe6, 0x6c, 0xa3, 0x16, 0x46, 0xc8, 0xe8, 0xab, - 0x30, 0xed, 0x8b, 0xb6, 0xe9, 0x24, 0x5d, 0x79, 0x53, 0x59, 0xd9, 0x72, 0x82, 0x37, 0x37, 0xd9, - 0xc2, 0x18, 0x1b, 0xdd, 0x85, 0x0a, 0x7e, 0xde, 0x9c, 0x1a, 0xe3, 0xb4, 0x0a, 0x7e, 0x6e, 0x3c, - 0x82, 0xa5, 0x2c, 0x19, 0x97, 0xb3, 0xdf, 0xf3, 0xb8, 0x86, 0xf4, 0xe0, 0x84, 0x04, 0xbe, 0xd5, - 0x09, 0x46, 0x5f, 0x99, 0x7c, 0x35, 0x95, 0xe2, 0xab, 0xa9, 0x2a, 0x57, 0x63, 0xfc, 0x51, 0x83, - 0x66, 0xf6, 0x99, 0xe5, 0x3a, 0x2a, 0x77, 0x79, 0x4f, 0x5e, 0xc4, 0x6a, 0x27, 0xd8, 0xe7, 0x45, - 0x1a, 0x75, 0x02, 0x7d, 0x19, 0x16, 0xec, 0x64, 0x35, 0x72, 0xdf, 0x22, 0x1f, 0x52, 0x3a, 0x27, - 0xcc, 0xac, 0x29, 0xe3, 0x1c, 0x1a, 0x4c, 0xcb, 0xc9, 0xee, 0xf3, 0xd8, 0xaf, 0xd9, 0xaa, 0x65, - 0x4b, 0xa0, 0x4b, 0x8a, 0xe8, 0x1f, 0x1a, 0xcf, 0xf6, 0xc4, 0x99, 0xe5, 0x44, 0xf3, 0x10, 0x80, - 0xef, 0x70, 0x60, 0x79, 0xbc, 0xcd, 0xf4, 0x45, 0xb9, 0x2b, 0x2f, 0xed, 0xbf, 0x1e, 0x63, 0xee, - 0x3a, 0x81, 0xff, 0x91, 0x29, 0x2d, 0xd5, 0xbf, 0x0e, 0x8d, 0xd4, 0x34, 0x9a, 0x83, 0xea, 0x19, - 0xfe, 0x88, 0xab, 0x46, 0xf8, 0x37, 0xcc, 0xe2, 0x9f, 0x85, 0x5a, 0x4a, 0x19, 0x9e, 0x32, 0xd9, - 0xe0, 0xed, 0xca, 0x5b, 0x9a, 0xe1, 0xc0, 0x1c, 0xe5, 0x9d, 0xb4, 0x12, 0xbd, 0x99, 0x1c, 0xf5, - 0x5a, 0x01, 0x18, 0xa6, 0x6b, 0x81, 0x12, 0x64, 0x0c, 0xf9, 0xfd, 0x53, 0x83, 0xf9, 0xd4, 0x81, - 0xe5, 0x04, 0xb8, 0x9f, 0x21, 0xc0, 0x35, 0xbe, 0x44, 0x39, 0xe0, 0x05, 0x4a, 0x70, 0xf3, 0x3f, - 0xf3, 0xc0, 0x3e, 0x33, 0x41, 0x5f, 0x83, 0x99, 0x4e, 0xfc, 0x39, 0x02, 0x5a, 0x8c, 0x18, 0x48, - 0x7c, 0x93, 0xa1, 0x2f, 0x65, 0x81, 0x89, 0x87, 0xee, 0xc3, 0xf4, 0xf7, 0xa3, 0x9e, 0x12, 0x5a, - 0xe0, 0x48, 0x72, 0xcf, 0x4c, 0xbf, 0xa6, 0x02, 0xd9, 0xba, 0xf3, 0xa8, 0x61, 0x21, 0xd6, 0xc9, - 0xad, 0x12, 0xb1, 0x2e, 0xd9, 0xd7, 0xd8, 0x82, 0xba, 0x2d, 0x7f, 0x46, 0x80, 0xae, 0x47, 0xea, - 0x97, 0xfa, 0xa2, 0x41, 0x6f, 0x66, 0x4f, 0x10, 0x0f, 0xbd, 0x0b, 0xb3, 0x44, 0xea, 0xaf, 0xa3, - 0x88, 0xb7, 0xd4, 0x37, 0x01, 0xfa, 0xf5, 0x4c, 0x38, 0xf1, 0xd0, 0xf7, 0xe0, 0xba, 0x9d, 0xdd, - 0xdc, 0x46, 0xaf, 0xa5, 0x4e, 0x55, 0x9b, 0xcb, 0xba, 0x31, 0x0a, 0x85, 0x78, 0xe8, 0x14, 0x6e, - 0xd8, 0x79, 0x9d, 0x62, 0xf4, 0x7a, 0xbc, 0x41, 0x6e, 0x0b, 0x5b, 0xbf, 0x33, 0x1a, 0x89, 0x78, - 0xe8, 0x18, 0x50, 0xa0, 0xb4, 0x4b, 0xd1, 0x32, 0x5f, 0x9b, 0xd9, 0x0a, 0xd6, 0x6f, 0x15, 0xcc, - 0x12, 0x0f, 0x75, 0xa0, 0x69, 0xe7, 0x74, 0xd1, 0x90, 0x91, 0xf8, 0x82, 0x27, 0xb3, 0x83, 0xa8, - 0xbf, 0x3e, 0x12, 0x87, 0xd1, 0x6d, 0x2b, 0x6d, 0x20, 0x41, 0x77, 0x66, 0x17, 0x4b, 0xd0, 0x9d, - 0xd3, 0x3f, 0x7a, 0x02, 0x0b, 0xb6, 0xda, 0xfd, 0x40, 0xd9, 0xab, 0x84, 0x96, 0xad, 0x14, 0x4d, - 0x53, 0x83, 0x6f, 0x9c, 0x25, 0xcb, 0xf9, 0x28, 0xfa, 0x8c, 0x49, 0xed, 0x6a, 0xe8, 0x7a, 0xde, - 0x94, 0x60, 0x39, 0x55, 0x1f, 0x97, 0x59, 0x56, 0x4b, 0xf6, 0x32, 0xcb, 0x59, 0x85, 0xf5, 0x43, - 0x98, 0xef, 0xa5, 0x4b, 0xc6, 0xe8, 0x66, 0x54, 0xe5, 0xcd, 0xa8, 0x81, 0xeb, 0xcb, 0xf9, 0x93, - 0x6c, 0x3f, 0x3b, 0x5d, 0x5f, 0x15, 0xfb, 0x65, 0x15, 0x86, 0xf5, 0xe5, 0xfc, 0x49, 0xe6, 0x24, - 0x84, 0xf5, 0x0a, 0x27, 0x21, 0x17, 0x22, 0x85, 0x93, 0x48, 0x16, 0xfb, 0x8e, 0x01, 0xa9, 0xd5, - 0xa1, 0x1c, 0xed, 0xe0, 0x05, 0xaf, 0x1c, 0xed, 0x10, 0x65, 0xa5, 0x77, 0x61, 0x56, 0xae, 0x87, - 0x08, 0x9f, 0x91, 0xaa, 0xc7, 0x08, 0x9f, 0xa1, 0x14, 0x4f, 0xf6, 0xa1, 0x91, 0xca, 0xc0, 0x85, - 0x22, 0xa8, 0x55, 0x02, 0xa1, 0x08, 0x59, 0x49, 0xfb, 0x07, 0xb0, 0x98, 0x99, 0xd1, 0xa3, 0xdb, - 0x91, 0x8f, 0xce, 0xa9, 0x3d, 0xe8, 0xab, 0xc5, 0x08, 0x4c, 0xe2, 0x02, 0x2c, 0x24, 0x2e, 0x67, - 0xcf, 0x42, 0xe2, 0xc9, 0x24, 0x77, 0x1f, 0x1a, 0xa9, 0x4d, 0x05, 0x77, 0x6a, 0x06, 0x2e, 0xb8, - 0xcb, 0x4a, 0x97, 0xbf, 0x9b, 0x8e, 0x46, 0xa3, 0x8c, 0x12, 0xad, 0xa6, 0xdc, 0xb1, 0x92, 0x19, - 0xeb, 0xaf, 0x8d, 0xc0, 0x60, 0xae, 0x3b, 0x27, 0xd5, 0x93, 0x5d, 0x77, 0x4e, 0xfe, 0x29, 0xbb, - 0xee, 0xdc, 0x6c, 0x91, 0x29, 0x5f, 0x2a, 0x89, 0x92, 0x95, 0x4f, 0xcd, 0xec, 0x64, 0xe5, 0xcb, - 0xca, 0xbe, 0x8e, 0x01, 0xa9, 0x11, 0xba, 0xd8, 0x32, 0x33, 0x41, 0x12, 0x5b, 0xe6, 0x84, 0xf6, - 0xdf, 0x91, 0x3a, 0x35, 0x52, 0xcc, 0x8c, 0xd2, 0xfe, 0x2c, 0x15, 0xc4, 0xeb, 0xb7, 0x0b, 0xe7, - 0x99, 0xa1, 0xc8, 0x91, 0xa0, 0x30, 0x94, 0x54, 0xc8, 0x2b, 0x0c, 0x45, 0x09, 0x4b, 0xb7, 0xa0, - 0x9e, 0x88, 0x84, 0xc4, 0x0b, 0x9f, 0x8e, 0xf8, 0xc4, 0x0b, 0xaf, 0x04, 0x4e, 0x5b, 0xb7, 0x3f, - 0xb8, 0x75, 0xe4, 0x61, 0xe7, 0x69, 0xeb, 0x40, 0xfa, 0x16, 0x96, 0x22, 0xbf, 0x43, 0x7f, 0x4f, - 0xae, 0x50, 0xd0, 0x9b, 0x9f, 0x06, 0x00, 0x00, 0xff, 0xff, 0xe7, 0x7e, 0x59, 0x05, 0x7e, 0x2b, - 0x00, 0x00, + 0xb0, 0x58, 0x28, 0xb1, 0xc1, 0x2b, 0x45, 0xcb, 0x2e, 0xb0, 0xc4, 0x5f, 0xf1, 0x24, 0xb1, 0x8d, + 0x7b, 0xb2, 0x20, 0xad, 0x84, 0x42, 0x7b, 0xa6, 0xdc, 0x3b, 0x78, 0xa6, 0xbb, 0xdd, 0xd5, 0x13, + 0x67, 0xb9, 0xac, 0xb8, 0x20, 0x81, 0x90, 0x10, 0xe2, 0xba, 0x08, 0xc1, 0x05, 0x84, 0x60, 0xc5, + 0x01, 0xce, 0xfc, 0x01, 0x10, 0x17, 0x2e, 0x5c, 0xf9, 0x03, 0x5c, 0xf8, 0x01, 0xab, 0xae, 0xaa, + 0xae, 0xae, 0xee, 0xea, 0xee, 0x99, 0x6d, 0x6f, 0x36, 0x97, 0xd1, 0xd4, 0xab, 0x57, 0x55, 0xef, + 0xbd, 0x7a, 0xef, 0xd5, 0xfb, 0x68, 0x98, 0xb7, 0x7d, 0x77, 0xe8, 0x6d, 0xd0, 0xdf, 0x75, 0xcf, + 0x77, 0x03, 0x17, 0xd5, 0xe8, 0x40, 0x5f, 0x3b, 0xf2, 0xb0, 0x73, 0xaf, 0x75, 0x70, 0xaf, 0x8d, + 0xfd, 0xe7, 0xd8, 0xdf, 0xf0, 0xce, 0xec, 0x0d, 0x8a, 0xb0, 0x41, 0xba, 0x67, 0xcf, 0x2e, 0xc8, + 0xc6, 0x05, 0x61, 0x0b, 0xf4, 0xf5, 0x91, 0x98, 0xbe, 0xe5, 0x79, 0xd8, 0xe7, 0xf8, 0xc6, 0xb7, + 0x00, 0xb6, 0xdd, 0xc1, 0xc0, 0x75, 0x4c, 0x4c, 0x3c, 0xd4, 0x84, 0xc9, 0x5d, 0xdf, 0xdf, 0x76, + 0xbb, 0xb8, 0xa9, 0xad, 0x6a, 0x6b, 0x35, 0x33, 0x1a, 0xa2, 0x25, 0xb8, 0xb2, 0xeb, 0xfb, 0x07, + 0xc4, 0x6e, 0x56, 0x56, 0xb5, 0xb5, 0x69, 0x93, 0x8f, 0x8c, 0x47, 0x80, 0x1e, 0x86, 0x24, 0x3e, + 0xe8, 0x76, 0x0f, 0xf0, 0xe0, 0x04, 0xfb, 0x2d, 0xe7, 0xd4, 0x0d, 0xb1, 0xdf, 0x23, 0xd8, 0x6f, + 0xed, 0xd0, 0x6d, 0xa6, 0x4d, 0x3e, 0x42, 0xcb, 0x30, 0x6d, 0xba, 0x7d, 0xfc, 0x04, 0x3f, 0xc7, + 0x7d, 0xba, 0x51, 0xcd, 0x8c, 0x01, 0xc6, 0xff, 0x34, 0xb8, 0xba, 0xed, 0x63, 0x2b, 0xc0, 0x74, + 0x4b, 0x13, 0x9f, 0xa3, 0x07, 0x70, 0xb5, 0xe5, 0xf4, 0x02, 0xb6, 0xf5, 0x93, 0x1e, 0x09, 0x9a, + 0xda, 0x6a, 0x75, 0x6d, 0x66, 0xf3, 0xc6, 0x3a, 0x93, 0x92, 0x7a, 0xb6, 0x99, 0x5a, 0x80, 0xde, + 0x86, 0x69, 0x8a, 0x15, 0x4e, 0xd2, 0x33, 0x67, 0x36, 0x97, 0xd7, 0x09, 0x95, 0xce, 0x33, 0xcb, + 0xeb, 0x3d, 0xf3, 0x2c, 0xdf, 0x1a, 0x90, 0x75, 0x81, 0x63, 0xc6, 0xe8, 0x68, 0x15, 0x66, 0x8e, + 0x3c, 0xec, 0x5b, 0x41, 0xcf, 0x75, 0x5a, 0x3b, 0xcd, 0x2a, 0x65, 0x46, 0x06, 0x21, 0x1d, 0xa6, + 0x8e, 0x3c, 0xce, 0xeb, 0x04, 0x9d, 0x16, 0x63, 0xba, 0xfa, 0xc2, 0xc1, 0x3e, 0x9f, 0xae, 0xf1, + 0xd5, 0x31, 0xc8, 0xf8, 0x08, 0x1a, 0x09, 0x86, 0xcb, 0x5c, 0x41, 0x92, 0xc1, 0xea, 0x67, 0x62, + 0xd0, 0xf0, 0x61, 0xee, 0x21, 0x0e, 0xe8, 0x98, 0xd0, 0x39, 0x7c, 0x1e, 0x92, 0xcd, 0x10, 0x76, + 0x84, 0xc0, 0xa7, 0x4d, 0x19, 0x94, 0x16, 0x4b, 0xa5, 0x58, 0x2c, 0xd5, 0xa4, 0x58, 0x8c, 0x9f, + 0x6a, 0x30, 0x9f, 0x3a, 0xb4, 0x14, 0xdf, 0x5b, 0x50, 0x17, 0x8c, 0x50, 0x4a, 0xab, 0x54, 0x35, + 0x8a, 0x79, 0x4f, 0x2e, 0x31, 0x7e, 0xad, 0x41, 0xa3, 0xcd, 0x69, 0x89, 0xf8, 0x7f, 0x02, 0x0d, + 0x3b, 0x1a, 0xef, 0xb9, 0x7e, 0x1b, 0x07, 0x94, 0xa2, 0x99, 0x4d, 0xa3, 0x68, 0x67, 0x86, 0x69, + 0xa6, 0x97, 0x26, 0x24, 0x51, 0xc9, 0x50, 0x90, 0x42, 0xf5, 0x32, 0x76, 0x61, 0x2e, 0x49, 0x1e, + 0xf1, 0xd0, 0xd7, 0x64, 0x93, 0xe5, 0xa4, 0xcd, 0x73, 0x7b, 0x88, 0x27, 0x4c, 0x09, 0xc9, 0xf8, + 0x11, 0xe8, 0x91, 0xc4, 0x1f, 0x78, 0x5e, 0xbf, 0xd7, 0xa1, 0xfb, 0x87, 0x12, 0x08, 0x19, 0x96, + 0x49, 0xd4, 0x8a, 0x49, 0xcc, 0xb8, 0xea, 0x15, 0x80, 0x3d, 0xdf, 0x1d, 0x24, 0x2e, 0x5b, 0x82, + 0x18, 0x1f, 0x6b, 0x70, 0x33, 0xf7, 0xf0, 0x52, 0x17, 0xff, 0x18, 0xe6, 0x22, 0x07, 0x31, 0xc4, + 0x24, 0x90, 0xee, 0xfe, 0x76, 0xde, 0x0d, 0x71, 0x54, 0x53, 0x59, 0x68, 0x04, 0xb0, 0xfc, 0x10, + 0x07, 0x21, 0xad, 0x26, 0x3e, 0xcf, 0x10, 0x4e, 0x9e, 0x2b, 0xbb, 0xdc, 0xbd, 0xfe, 0x46, 0x83, + 0x5b, 0x05, 0xc7, 0x96, 0xba, 0xe5, 0x4c, 0xb9, 0x54, 0xca, 0xca, 0xe5, 0xef, 0x1a, 0x2c, 0x3e, + 0xf5, 0x2d, 0x87, 0x9c, 0x62, 0x9f, 0x4e, 0x52, 0xbf, 0x15, 0x4a, 0xa4, 0x09, 0x93, 0xdc, 0x19, + 0x70, 0x91, 0x44, 0x43, 0xf4, 0x06, 0x5c, 0x3d, 0xea, 0x77, 0x65, 0x9f, 0xc7, 0x24, 0x93, 0x82, + 0x86, 0x78, 0x87, 0xf8, 0x42, 0xc6, 0x63, 0x22, 0x4a, 0x41, 0xd3, 0x72, 0x9c, 0x28, 0xf6, 0x33, + 0xb5, 0x94, 0x9f, 0x79, 0x0c, 0x4b, 0x59, 0x0c, 0x94, 0xb3, 0xa0, 0x7f, 0x68, 0x30, 0xfb, 0xc8, + 0xed, 0x39, 0xe2, 0x65, 0xca, 0x97, 0xc2, 0x0a, 0x80, 0x89, 0xcf, 0x0f, 0x30, 0x21, 0x96, 0x8d, + 0xb9, 0x04, 0x24, 0x48, 0x91, 0x6f, 0x1c, 0x83, 0xe3, 0x15, 0x80, 0x90, 0x8e, 0xb6, 0x3b, 0xf4, + 0x3b, 0x98, 0xf2, 0x5c, 0x33, 0x25, 0x08, 0xba, 0x03, 0xf5, 0x96, 0xf3, 0xbc, 0x17, 0x08, 0xd1, + 0x5e, 0xa1, 0x7b, 0x24, 0x81, 0xc6, 0x16, 0xd4, 0x25, 0x6e, 0xca, 0x89, 0xe4, 0x3f, 0xa1, 0x61, + 0xa7, 0xac, 0x3a, 0x9c, 0x70, 0x1d, 0x82, 0xf9, 0x3b, 0x22, 0xf3, 0xa2, 0x15, 0xdf, 0x5e, 0xda, + 0x86, 0x24, 0xf9, 0x56, 0x15, 0xf9, 0x4a, 0x0e, 0x67, 0x22, 0xed, 0x70, 0xc2, 0xf9, 0x7d, 0xcb, + 0xe9, 0xf6, 0x71, 0x37, 0x74, 0x1d, 0x4c, 0x2b, 0x24, 0x08, 0x32, 0x60, 0x96, 0x8d, 0x4c, 0x4c, + 0x86, 0xfd, 0x80, 0x0a, 0xa8, 0x66, 0x26, 0x60, 0xc6, 0x31, 0x2c, 0xe7, 0xb3, 0x56, 0x4e, 0x5c, + 0xa7, 0x30, 0x7b, 0x3c, 0xec, 0x05, 0x63, 0x28, 0xd0, 0xe5, 0x9e, 0xd7, 0x2d, 0xa8, 0x4b, 0xe7, + 0x94, 0xa3, 0xf5, 0xb7, 0x1a, 0x2c, 0x46, 0x3e, 0x3b, 0x0e, 0xa5, 0x8a, 0xa9, 0xbe, 0x94, 0x43, + 0x0c, 0xdd, 0xec, 0x5e, 0xaf, 0x1f, 0x60, 0x9f, 0x5e, 0x68, 0xcd, 0xe4, 0xa3, 0xf0, 0xbc, 0x43, + 0xfc, 0x22, 0x68, 0xe3, 0x73, 0xae, 0xeb, 0xd1, 0xd0, 0xf8, 0x93, 0x06, 0x4b, 0x59, 0x34, 0x96, + 0x7a, 0x52, 0xf6, 0x00, 0x06, 0x71, 0x8c, 0xc9, 0x1e, 0x93, 0x37, 0xf2, 0x9c, 0x26, 0x3b, 0x6d, + 0x6f, 0xd8, 0xef, 0xd3, 0x37, 0x59, 0x5a, 0x19, 0x9e, 0xec, 0x70, 0x72, 0x19, 0x1f, 0xd1, 0xd0, + 0xf8, 0xa3, 0x42, 0xae, 0x08, 0xb8, 0x0a, 0x5d, 0x89, 0x44, 0x56, 0x85, 0x46, 0x62, 0xf2, 0x71, + 0x97, 0x73, 0x25, 0x21, 0xb1, 0xee, 0xb6, 0xd5, 0xf9, 0x80, 0xf9, 0x91, 0x29, 0x33, 0x1a, 0x1a, + 0xbf, 0xd2, 0xe0, 0x7a, 0x26, 0xb1, 0xaf, 0x52, 0xb8, 0xc6, 0x5f, 0x34, 0x40, 0x8f, 0x7b, 0x9d, + 0x33, 0x09, 0xaf, 0x58, 0x7c, 0x5f, 0x81, 0xb9, 0x10, 0x1f, 0x77, 0x99, 0x48, 0x24, 0x21, 0x2a, + 0xf0, 0x90, 0x78, 0x13, 0x5b, 0xc4, 0x75, 0xb8, 0x20, 0xf9, 0x28, 0x2d, 0xc6, 0x5a, 0xb1, 0x31, + 0x5e, 0x49, 0x19, 0xe3, 0x3b, 0x30, 0xdd, 0xea, 0x6e, 0x32, 0xa7, 0x92, 0x1b, 0x4a, 0xd0, 0xa3, + 0xa9, 0x2b, 0x62, 0x29, 0x11, 0x1f, 0x19, 0x1f, 0xc1, 0x82, 0xc2, 0x6e, 0xa9, 0x0b, 0xb8, 0x0f, + 0x75, 0x41, 0x85, 0x74, 0x07, 0x73, 0xdc, 0x09, 0x88, 0x39, 0x33, 0x89, 0x66, 0x0c, 0xa9, 0x17, + 0x08, 0x1f, 0x0a, 0xdc, 0xa5, 0x54, 0x44, 0x5e, 0x20, 0xe9, 0x82, 0x35, 0xc5, 0x05, 0xaf, 0xc2, + 0x8c, 0xab, 0x7a, 0x30, 0x77, 0x4c, 0x0f, 0xf6, 0x13, 0x66, 0x2a, 0xca, 0xb9, 0x97, 0xca, 0x8e, + 0xc6, 0xce, 0x10, 0x62, 0x74, 0xe3, 0xaf, 0x1a, 0x5c, 0x63, 0xef, 0x66, 0x48, 0xd9, 0x53, 0x57, + 0xf8, 0xee, 0xd1, 0x1e, 0x3a, 0xff, 0xf9, 0x8a, 0x15, 0x6d, 0x22, 0xa1, 0x68, 0x77, 0x61, 0x9e, + 0x9d, 0x25, 0x6b, 0x6b, 0x8d, 0x6a, 0xab, 0x3a, 0x51, 0xa8, 0x74, 0x3f, 0xd6, 0x60, 0x31, 0x83, + 0xec, 0x2f, 0x54, 0x75, 0xfe, 0x96, 0x45, 0x03, 0x19, 0x2f, 0x2c, 0x58, 0x85, 0x19, 0x5b, 0x4a, + 0x40, 0x99, 0xc5, 0xca, 0xa0, 0x5c, 0x63, 0xbd, 0x03, 0xf5, 0x9e, 0x2c, 0x2a, 0x2e, 0xe2, 0x24, + 0xb0, 0x30, 0x68, 0x7c, 0x04, 0x4b, 0x59, 0x64, 0x97, 0xaa, 0x8d, 0x7c, 0xac, 0xc1, 0x35, 0x91, + 0xf9, 0xf4, 0xfb, 0xe3, 0x78, 0xac, 0x4b, 0x3f, 0xa2, 0x47, 0xa7, 0xa7, 0x04, 0x07, 0xd1, 0x23, + 0xca, 0x46, 0xe8, 0x1a, 0xd4, 0xb6, 0xdd, 0xa1, 0x13, 0xf0, 0x27, 0x94, 0x0d, 0x8c, 0x5f, 0x4a, + 0x8f, 0xbc, 0x44, 0xde, 0x2b, 0x75, 0xf1, 0xbf, 0xd3, 0x60, 0x6a, 0xfb, 0xa0, 0x4d, 0xd1, 0x92, + 0x85, 0x0d, 0xed, 0xb3, 0x55, 0x6e, 0xd6, 0x79, 0x5d, 0x4a, 0xa4, 0x13, 0x87, 0xd6, 0x20, 0x0a, + 0xc6, 0x33, 0x66, 0xc2, 0xa7, 0x22, 0x09, 0x15, 0x12, 0x56, 0xe0, 0xc6, 0x27, 0x1a, 0xcc, 0x8a, + 0x02, 0x46, 0x78, 0x9f, 0x3b, 0x00, 0xdf, 0xb1, 0xec, 0x9e, 0x43, 0xef, 0x81, 0x53, 0x7a, 0x27, + 0x83, 0x52, 0x9e, 0x5f, 0xc5, 0xb8, 0xa6, 0xb4, 0x0e, 0x2d, 0x73, 0x76, 0x25, 0x4a, 0x63, 0x40, + 0x81, 0x43, 0x19, 0xf9, 0xd0, 0x1b, 0xff, 0xd6, 0xa0, 0x2e, 0x11, 0x4c, 0x3c, 0x74, 0x0f, 0xa6, + 0x23, 0x31, 0x13, 0x5e, 0x52, 0x6b, 0x44, 0x21, 0x21, 0x87, 0x9b, 0x31, 0x06, 0xda, 0x4d, 0x30, + 0xc8, 0x8a, 0x68, 0x5f, 0xca, 0x64, 0x90, 0xc5, 0xc8, 0x39, 0x1c, 0xea, 0x30, 0xc5, 0x18, 0x1a, + 0x0e, 0x28, 0x13, 0x35, 0x53, 0x8c, 0xc3, 0x28, 0xb5, 0x13, 0x47, 0xa9, 0x13, 0xb9, 0x51, 0x6a, + 0x8c, 0x64, 0x1c, 0xc5, 0x75, 0xa4, 0x71, 0x6c, 0x6b, 0xa4, 0xd3, 0xa6, 0x4e, 0x2b, 0x15, 0xf6, + 0x6c, 0x1f, 0xb4, 0x47, 0x5a, 0x6c, 0x4a, 0xbd, 0xc4, 0x38, 0xa5, 0x17, 0xd5, 0x92, 0x7a, 0x31, + 0xfa, 0x7e, 0xff, 0xaf, 0xc6, 0x96, 0x94, 0x6e, 0xe2, 0xa1, 0x6f, 0xc3, 0x24, 0x33, 0xaf, 0xe8, + 0x9a, 0xc7, 0xb5, 0xca, 0x68, 0xd9, 0xe7, 0x75, 0xf7, 0x2b, 0x00, 0xec, 0x84, 0xc3, 0xe1, 0x80, + 0xf0, 0xdb, 0x97, 0x20, 0x65, 0xee, 0xbf, 0x07, 0x8d, 0x9d, 0x1e, 0x19, 0xf4, 0x08, 0x11, 0x0f, + 0xb3, 0x0e, 0x53, 0x6e, 0xaa, 0x94, 0xe5, 0x7a, 0x63, 0x07, 0x25, 0x4d, 0x98, 0xb4, 0x93, 0x36, + 0xc6, 0x87, 0xc6, 0x2e, 0xcc, 0x25, 0x8f, 0x62, 0x79, 0x55, 0x67, 0x9c, 0xbc, 0x4a, 0xa2, 0xf8, + 0x0f, 0x1a, 0xa0, 0x83, 0x21, 0x2f, 0xf7, 0xc6, 0x3a, 0xfb, 0x92, 0xa8, 0x0e, 0xbd, 0xf5, 0x50, + 0x7e, 0x07, 0xf9, 0x28, 0xcc, 0x80, 0x07, 0xc3, 0x00, 0x77, 0xdb, 0xb8, 0xe3, 0x3a, 0x5d, 0x42, + 0x9f, 0x85, 0xba, 0x99, 0x80, 0x19, 0xfb, 0xb0, 0xa0, 0x50, 0x5a, 0x8e, 0xe9, 0x9f, 0x69, 0xd0, + 0xdc, 0xb6, 0x9c, 0x0e, 0xee, 0xbf, 0x7a, 0xd6, 0x8d, 0x43, 0xb8, 0x91, 0x43, 0x4b, 0x39, 0xe6, + 0x4e, 0x61, 0x56, 0xec, 0xf4, 0x32, 0x15, 0x70, 0x0b, 0xea, 0xd2, 0x39, 0xe5, 0x68, 0xed, 0x03, + 0x4a, 0xf1, 0xfe, 0x32, 0x29, 0xde, 0x87, 0x05, 0xe5, 0xb4, 0x72, 0x74, 0xff, 0x5e, 0x83, 0x1b, + 0xed, 0x84, 0x7b, 0x3b, 0xec, 0x75, 0xce, 0x1c, 0x6b, 0x80, 0xb9, 0x6b, 0xb6, 0x93, 0xae, 0xd9, + 0x8e, 0x5d, 0xb3, 0xc3, 0x11, 0x23, 0xd7, 0x1c, 0x8d, 0x13, 0x5c, 0x57, 0x8b, 0xb9, 0x9e, 0x50, + 0xb9, 0x8e, 0xb5, 0xab, 0x96, 0xd0, 0xae, 0x23, 0xd0, 0xf3, 0x08, 0x2d, 0x57, 0x88, 0xf1, 0x69, + 0xe1, 0x9e, 0x65, 0x42, 0xed, 0xa1, 0xc7, 0x2b, 0x99, 0x51, 0x1a, 0x96, 0x22, 0x54, 0x2b, 0x22, + 0xb4, 0x92, 0xf0, 0x00, 0x05, 0xec, 0x1b, 0x3f, 0x67, 0x05, 0xfb, 0xec, 0x43, 0x4b, 0xdd, 0xe0, + 0xa5, 0x92, 0xb0, 0x0b, 0xfa, 0x26, 0xc7, 0x74, 0x7c, 0x61, 0x7d, 0xaa, 0x5f, 0xb0, 0x57, 0x55, + 0x39, 0xb9, 0x9c, 0x08, 0x3e, 0x8f, 0x6e, 0xd5, 0x7f, 0x2b, 0xb0, 0x98, 0xd4, 0x2f, 0xa9, 0x84, + 0x94, 0x63, 0x04, 0x25, 0x34, 0x60, 0x0c, 0x03, 0x78, 0x4b, 0x32, 0xad, 0x1a, 0x8f, 0xcc, 0x6d, + 0xd7, 0xb5, 0xfb, 0x98, 0xf5, 0x95, 0x4f, 0x86, 0xa7, 0xeb, 0xed, 0xc0, 0xef, 0x39, 0xf6, 0x77, + 0xad, 0xfe, 0x10, 0x4b, 0x86, 0x77, 0x1f, 0x26, 0x4f, 0xad, 0x0e, 0x7e, 0xcf, 0x7c, 0x42, 0xf3, + 0xd6, 0x51, 0x0b, 0x23, 0x64, 0xf4, 0x75, 0x98, 0xf6, 0x45, 0xeb, 0x78, 0x92, 0xae, 0xbc, 0xa9, + 0xac, 0x6c, 0x39, 0xc1, 0x9b, 0x9b, 0x6c, 0x61, 0x8c, 0x8d, 0xee, 0x42, 0x05, 0xbf, 0x68, 0x4e, + 0x8d, 0x71, 0x5a, 0x05, 0xbf, 0x30, 0x1e, 0xc3, 0x52, 0x96, 0x8c, 0xcb, 0xd9, 0xef, 0x79, 0x5c, + 0x47, 0x7b, 0x70, 0x42, 0x02, 0xdf, 0xea, 0x04, 0xa3, 0xaf, 0x4c, 0xbe, 0x9a, 0x4a, 0xf1, 0xd5, + 0x54, 0x95, 0xab, 0x31, 0xfe, 0xac, 0x41, 0x33, 0xfb, 0xcc, 0x72, 0x5d, 0xa5, 0xbb, 0xfc, 0xbb, + 0x04, 0x11, 0xab, 0x9d, 0x60, 0x9f, 0x17, 0xaa, 0xd4, 0x09, 0xf4, 0x55, 0x58, 0xb0, 0x93, 0x15, + 0xd9, 0x7d, 0x8b, 0x7c, 0x40, 0xe9, 0x9c, 0x30, 0xb3, 0xa6, 0x8c, 0x73, 0x68, 0x30, 0x2d, 0x27, + 0xbb, 0x2f, 0x62, 0xbf, 0x66, 0xab, 0x96, 0x2d, 0x17, 0x00, 0x2e, 0x27, 0xa2, 0x7f, 0x6a, 0x3c, + 0xdb, 0x13, 0x67, 0x96, 0x13, 0xcd, 0x43, 0x00, 0xbe, 0xc3, 0x81, 0xe5, 0xf1, 0x56, 0xdb, 0x97, + 0xe5, 0x2f, 0x13, 0xa4, 0xfd, 0xd7, 0x63, 0xcc, 0x5d, 0x27, 0xf0, 0x3f, 0x34, 0xa5, 0xa5, 0xfa, + 0x37, 0xa1, 0x91, 0x9a, 0x46, 0x73, 0x50, 0x3d, 0xc3, 0x1f, 0x72, 0xd5, 0x08, 0xff, 0x86, 0x59, + 0xfc, 0xf3, 0x50, 0x4b, 0x29, 0xc3, 0x53, 0x26, 0x1b, 0xbc, 0x5d, 0x79, 0x4b, 0x33, 0x1c, 0x98, + 0xa3, 0xbc, 0x93, 0x56, 0xa2, 0x3f, 0x95, 0xa3, 0x5e, 0x2b, 0x00, 0xc3, 0x74, 0x3d, 0x54, 0x82, + 0x8c, 0x21, 0xbf, 0x7f, 0x69, 0x30, 0x9f, 0x3a, 0xb0, 0x9c, 0x00, 0xf7, 0x33, 0x04, 0xb8, 0xc6, + 0x97, 0x28, 0x07, 0xbc, 0x44, 0x09, 0x6e, 0x7e, 0x82, 0x80, 0x7d, 0x6a, 0x83, 0xbe, 0x01, 0x33, + 0x9d, 0xf8, 0x93, 0x0c, 0xb4, 0x18, 0x31, 0x90, 0xf8, 0x2e, 0x45, 0x5f, 0xca, 0x02, 0x13, 0x0f, + 0xdd, 0x87, 0xe9, 0x1f, 0x46, 0x7d, 0x35, 0xb4, 0xc0, 0x91, 0xe4, 0xbe, 0xa1, 0x7e, 0x4d, 0x05, + 0xb2, 0x75, 0xe7, 0x51, 0xd3, 0x46, 0xac, 0x93, 0xdb, 0x45, 0x62, 0x5d, 0xb2, 0xb7, 0xb3, 0x05, + 0x75, 0x5b, 0xfe, 0x94, 0x02, 0x5d, 0x8f, 0xd4, 0x2f, 0xf5, 0x55, 0x87, 0xde, 0xcc, 0x9e, 0x20, + 0x1e, 0x7a, 0x17, 0x66, 0x89, 0xf4, 0x8d, 0x01, 0x8a, 0x78, 0x4b, 0x7d, 0x17, 0xa1, 0x5f, 0xcf, + 0x84, 0x13, 0x0f, 0xfd, 0x00, 0xae, 0xdb, 0xd9, 0x0d, 0x7e, 0xf4, 0x5a, 0xea, 0x54, 0xb5, 0xc1, + 0xae, 0x1b, 0xa3, 0x50, 0x88, 0x87, 0x4e, 0xe1, 0x86, 0x9d, 0xd7, 0x2d, 0x47, 0xaf, 0xc7, 0x1b, + 0xe4, 0xb6, 0xf1, 0xf5, 0x3b, 0xa3, 0x91, 0x88, 0x87, 0x8e, 0x01, 0x05, 0x4a, 0xcb, 0x18, 0x2d, + 0xf3, 0xb5, 0x99, 0xed, 0x70, 0xfd, 0x56, 0xc1, 0x2c, 0xf1, 0x50, 0x07, 0x9a, 0x76, 0x4e, 0x27, + 0x11, 0x19, 0x89, 0xaf, 0x98, 0x32, 0xbb, 0xa8, 0xfa, 0xeb, 0x23, 0x71, 0x18, 0xdd, 0xb6, 0xd2, + 0x0a, 0x13, 0x74, 0x67, 0x76, 0xf2, 0x04, 0xdd, 0x39, 0x3d, 0xb4, 0xa7, 0xb0, 0x60, 0xab, 0x1d, + 0x20, 0x94, 0xbd, 0x4a, 0x68, 0xd9, 0x4a, 0xd1, 0x34, 0x35, 0xf8, 0xc6, 0x59, 0xb2, 0xa5, 0x81, + 0xa2, 0x4f, 0xb9, 0xd4, 0xce, 0x8e, 0xae, 0xe7, 0x4d, 0x09, 0x96, 0x53, 0x3d, 0x02, 0x99, 0x65, + 0xb5, 0x6d, 0x21, 0xb3, 0x9c, 0xd5, 0x5c, 0x38, 0x84, 0xf9, 0x5e, 0xba, 0xf6, 0x8b, 0x6e, 0x46, + 0x95, 0xee, 0x8c, 0x3e, 0x80, 0xbe, 0x9c, 0x3f, 0xc9, 0x48, 0x54, 0xf6, 0x23, 0x28, 0x77, 0x0d, + 0x91, 0x49, 0xcc, 0x29, 0x42, 0x1f, 0xc2, 0xbc, 0x9d, 0x2e, 0xd9, 0x0a, 0x12, 0xb3, 0x6a, 0xcd, + 0xfa, 0x72, 0xfe, 0x24, 0xf3, 0x3b, 0xc2, 0x21, 0x08, 0xbf, 0x23, 0xd7, 0x36, 0x85, 0xdf, 0x49, + 0xd6, 0x0f, 0x8f, 0x01, 0xa9, 0x05, 0xa7, 0x1c, 0x85, 0xe3, 0x35, 0xb4, 0x1c, 0x85, 0x13, 0x95, + 0xaa, 0x77, 0x61, 0x56, 0x2e, 0xb1, 0x08, 0x37, 0x94, 0x2a, 0xf1, 0x08, 0x37, 0xa4, 0xd4, 0x63, + 0xf6, 0xa1, 0x91, 0x4a, 0xea, 0x85, 0x6e, 0xa9, 0x85, 0x07, 0xa1, 0x5b, 0x59, 0x75, 0x80, 0xf7, + 0x61, 0x31, 0xb3, 0x48, 0x80, 0x6e, 0x47, 0x6e, 0x3f, 0xa7, 0x9c, 0xa1, 0xaf, 0x16, 0x23, 0x30, + 0x89, 0x0b, 0xb0, 0x90, 0xb8, 0x9c, 0x90, 0x0b, 0x89, 0x27, 0xf3, 0xe6, 0x7d, 0x68, 0xa4, 0x36, + 0x15, 0xdc, 0xa9, 0x49, 0xbd, 0xe0, 0x2e, 0x2b, 0x03, 0xff, 0x7e, 0x3a, 0xc0, 0x8d, 0x92, 0x54, + 0xb4, 0x9a, 0xf2, 0xf0, 0x4a, 0xb2, 0xad, 0xbf, 0x36, 0x02, 0x83, 0xbd, 0x06, 0x39, 0xd9, 0xa3, + 0xfc, 0x1a, 0xe4, 0xa4, 0xb4, 0xf2, 0x6b, 0x90, 0x9b, 0x80, 0x32, 0xe5, 0x4b, 0xe5, 0x65, 0xb2, + 0xf2, 0xa9, 0xc9, 0xa2, 0xac, 0x7c, 0x59, 0x09, 0xdd, 0x31, 0x20, 0x35, 0xe8, 0x17, 0x5b, 0x66, + 0xe6, 0x5c, 0x62, 0xcb, 0x9c, 0x6c, 0xe1, 0x7b, 0x52, 0xf3, 0x47, 0x0a, 0xc3, 0x51, 0xda, 0x45, + 0xa6, 0xf2, 0x02, 0xfd, 0x76, 0xe1, 0x3c, 0x33, 0x14, 0x39, 0xb8, 0x14, 0x86, 0x92, 0x8a, 0xa2, + 0x85, 0xa1, 0x28, 0x91, 0xee, 0x16, 0xd4, 0x13, 0xc1, 0x95, 0x08, 0x1a, 0xd2, 0x41, 0xa4, 0x08, + 0x1a, 0x94, 0x58, 0x6c, 0xeb, 0xf6, 0xfb, 0xb7, 0x8e, 0x3c, 0xec, 0x3c, 0x6b, 0x1d, 0x48, 0x9f, + 0x18, 0x53, 0xe4, 0x77, 0xe8, 0xef, 0xc9, 0x15, 0x0a, 0x7a, 0xf3, 0xd3, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x7a, 0x7b, 0x02, 0xb3, 0xd5, 0x2c, 0x00, 0x00, } diff --git a/pkg/proto/group/group.proto b/pkg/proto/group/group.proto index b05b840e6..8968b7e8e 100644 --- a/pkg/proto/group/group.proto +++ b/pkg/proto/group/group.proto @@ -200,6 +200,17 @@ message InviteUserToGroupResp { repeated Id2Result Id2ResultList = 3; // 0 ok, -1 error } +message InviteUserToGroupsReq { + string OperationID = 1; + repeated string groupIDList = 2; + string Reason = 3; + string invitedUserID = 4; + string OpUserID = 5; //group member or app manager +} +message InviteUserToGroupsResp { + int32 ErrCode = 1; + string ErrMsg = 2; +} message GetGroupAllMemberReq { string GroupID = 1; @@ -413,6 +424,7 @@ service group{ rpc kickGroupMember(KickGroupMemberReq) returns (KickGroupMemberResp); rpc getJoinedGroupList(GetJoinedGroupListReq) returns (GetJoinedGroupListResp); rpc inviteUserToGroup(InviteUserToGroupReq) returns (InviteUserToGroupResp); + rpc inviteUserToGroups(InviteUserToGroupsReq) returns (InviteUserToGroupsResp); rpc getGroupAllMember(GetGroupAllMemberReq) returns(GetGroupAllMemberResp); rpc GetGroups(GetGroupsReq) returns(GetGroupsResp); From c6ea841064f93a5c2a9bf632462d640ae0faa1be Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 1 Mar 2023 00:38:36 +0800 Subject: [PATCH 300/313] k8s --- deploy_k8s/admin_cms/deployment.yaml | 17 ++++++++--------- deploy_k8s/api/deployment.yaml | 16 +++++++--------- deploy_k8s/auth/deployment.yaml | 16 +++++++--------- deploy_k8s/build_push_all_images.sh | 2 +- deploy_k8s/cache/deployment.yaml | 16 +++++++--------- deploy_k8s/cms_api/deployment.yaml | 16 +++++++--------- deploy_k8s/conversation/deployment.yaml | 16 +++++++--------- deploy_k8s/demo/deployment.yaml | 16 +++++++--------- deploy_k8s/friend/deployment.yaml | 16 +++++++--------- deploy_k8s/group/deployment.yaml | 16 +++++++--------- deploy_k8s/k8s_openim_deploy.md | 9 ++++----- deploy_k8s/msg/deployment.yaml | 16 +++++++--------- deploy_k8s/msg_gateway/deployment.yaml | 16 +++++++--------- deploy_k8s/msg_transfer/deployment.yaml | 16 +++++++--------- deploy_k8s/office/deployment.yaml | 16 +++++++--------- deploy_k8s/organization/deployment.yaml | 16 +++++++--------- deploy_k8s/push/deployment.yaml | 16 +++++++--------- deploy_k8s/sdk_server/deployment.yaml | 2 +- deploy_k8s/user/deployment.yaml | 16 +++++++--------- pkg/common/constant/constant.go | 2 +- 20 files changed, 120 insertions(+), 152 deletions(-) diff --git a/deploy_k8s/admin_cms/deployment.yaml b/deploy_k8s/admin_cms/deployment.yaml index cfee86a69..07402457d 100644 --- a/deploy_k8s/admin_cms/deployment.yaml +++ b/deploy_k8s/admin_cms/deployment.yaml @@ -15,7 +15,7 @@ spec: spec: containers: - name: admin-cms - image: openim/admin_cms:v2.3.4 + image: openim/admin_cms:v2.3.8 # imagePullPolicy: Always #每次启动都重新拉取镜像 ports: - containerPort: 10200 @@ -23,9 +23,6 @@ spec: - name: config mountPath: /Open-IM-Server/config readOnly: true - - name: usualconfig - mountPath: /Open-IM-Server/config - readOnly: true env: - name: CONFIG_NAME value: "/Open-IM-Server" @@ -33,11 +30,13 @@ spec: value: "/Open-IM-Server" volumes: - name: config - configMap: - name: config - - name: usualconfig - configMap: - name: usualconfig + projected: + sources: + - configMap: + name: openim-config + - configMap: + name: openim-usualconfig + strategy: #更新策略 type: RollingUpdate # 滚动更新 diff --git a/deploy_k8s/api/deployment.yaml b/deploy_k8s/api/deployment.yaml index e2c1a451b..0d8f4c03d 100644 --- a/deploy_k8s/api/deployment.yaml +++ b/deploy_k8s/api/deployment.yaml @@ -15,7 +15,7 @@ spec: spec: containers: - name: api - image: openim/api:v2.3.4 + image: openim/api:v2.3.8 # imagePullPolicy: Always ports: - containerPort: 10002 @@ -23,9 +23,6 @@ spec: - name: config mountPath: /Open-IM-Server/config readOnly: true - - name: usualconfig - mountPath: /Open-IM-Server/config - readOnly: true env: - name: CONFIG_NAME value: "/Open-IM-Server" @@ -33,11 +30,12 @@ spec: value: "/Open-IM-Server" volumes: - name: config - configMap: - name: openim-config - - name: usualconfig - configMap: - name: usualconfig + projected: + sources: + - configMap: + name: openim-config + - configMap: + name: openim-usualconfig strategy: #更新策略 type: RollingUpdate # 滚动更新 --- diff --git a/deploy_k8s/auth/deployment.yaml b/deploy_k8s/auth/deployment.yaml index 733c52306..fb3fe4659 100644 --- a/deploy_k8s/auth/deployment.yaml +++ b/deploy_k8s/auth/deployment.yaml @@ -15,7 +15,7 @@ spec: spec: containers: - name: auth - image: openim/auth:v2.3.4 + image: openim/auth:v2.3.8 # imagePullPolicy: Always ports: - containerPort: 10160 @@ -23,9 +23,6 @@ spec: - name: config mountPath: /Open-IM-Server/config readOnly: true - - name: usualconfig - mountPath: /Open-IM-Server/config - readOnly: true env: - name: CONFIG_NAME value: "/Open-IM-Server" @@ -33,10 +30,11 @@ spec: value: "/Open-IM-Server" volumes: - name: config - configMap: - name: config - - name: usualconfig - configMap: - name: usualconfig + projected: + sources: + - configMap: + name: openim-config + - configMap: + name: openim-usualconfig strategy: #更新策略 type: RollingUpdate # 滚动更新 \ No newline at end of file diff --git a/deploy_k8s/build_push_all_images.sh b/deploy_k8s/build_push_all_images.sh index f2a6b1b49..33ce6e94a 100644 --- a/deploy_k8s/build_push_all_images.sh +++ b/deploy_k8s/build_push_all_images.sh @@ -2,7 +2,7 @@ source ./path_info.cfg # images version -version=v2.3.4 +version=v2.3.8 git pull cd ../script/; ./build_all_service.sh cd ../deploy_k8s/ diff --git a/deploy_k8s/cache/deployment.yaml b/deploy_k8s/cache/deployment.yaml index c17749e10..df30f8809 100644 --- a/deploy_k8s/cache/deployment.yaml +++ b/deploy_k8s/cache/deployment.yaml @@ -15,7 +15,7 @@ spec: spec: containers: - name: cache - image: openim/cache:v2.3.4 + image: openim/cache:v2.3.8 # imagePullPolicy: Always ports: - containerPort: 10240 @@ -23,9 +23,6 @@ spec: - name: config mountPath: /Open-IM-Server/config readOnly: true - - name: usualconfig - mountPath: /Open-IM-Server/config - readOnly: true env: - name: CONFIG_NAME value: "/Open-IM-Server" @@ -33,10 +30,11 @@ spec: value: "/Open-IM-Server" volumes: - name: config - configMap: - name: openim-config - - name: usualconfig - configMap: - name: openim-usualConfig + projected: + sources: + - configMap: + name: openim-config + - configMap: + name: openim-usualconfig strategy: #更新策略 type: RollingUpdate # 滚动更新 \ No newline at end of file diff --git a/deploy_k8s/cms_api/deployment.yaml b/deploy_k8s/cms_api/deployment.yaml index 2af5d3377..ab014a7a2 100644 --- a/deploy_k8s/cms_api/deployment.yaml +++ b/deploy_k8s/cms_api/deployment.yaml @@ -15,7 +15,7 @@ spec: spec: containers: - name: cms-api - image: openim/cms_api:v2.3.4 + image: openim/cms_api:v2.3.8 imagePullPolicy: Always ports: - containerPort: 10006 @@ -23,9 +23,6 @@ spec: - name: config mountPath: /Open-IM-Server/config readOnly: true - - name: usualconfig - mountPath: /Open-IM-Server/config - readOnly: true env: - name: CONFIG_NAME value: "/Open-IM-Server" @@ -33,11 +30,12 @@ spec: value: "/Open-IM-Server" volumes: - name: config - configMap: - name: config - - name: usualconfig - configMap: - name: usualconfig + projected: + sources: + - configMap: + name: openim-config + - configMap: + name: openim-usualconfig strategy: #更新策略 type: RollingUpdate # 滚动更新 --- diff --git a/deploy_k8s/conversation/deployment.yaml b/deploy_k8s/conversation/deployment.yaml index 993761195..733617f00 100644 --- a/deploy_k8s/conversation/deployment.yaml +++ b/deploy_k8s/conversation/deployment.yaml @@ -15,7 +15,7 @@ spec: spec: containers: - name: conversation - image: openim/conversation:v2.3.4 + image: openim/conversation:v2.3.8 # imagePullPolicy: Always ports: - containerPort: 10230 @@ -23,9 +23,6 @@ spec: - name: config mountPath: /Open-IM-Server/config readOnly: true - - name: usualconfig - mountPath: /Open-IM-Server/config - readOnly: true env: - name: CONFIG_NAME value: "/Open-IM-Server" @@ -34,11 +31,12 @@ spec: volumes: - name: config - configMap: - name: config - - name: usualconfig - configMap: - name: usualconfig + projected: + sources: + - configMap: + name: openim-config + - configMap: + name: openim-usualconfig strategy: #更新策略 type: RollingUpdate # 滚动更新 diff --git a/deploy_k8s/demo/deployment.yaml b/deploy_k8s/demo/deployment.yaml index a7f5550a1..11a55b0db 100644 --- a/deploy_k8s/demo/deployment.yaml +++ b/deploy_k8s/demo/deployment.yaml @@ -15,7 +15,7 @@ spec: spec: containers: - name: demo - image: openim/demo:v2.3.4 + image: openim/demo:v2.3.8 imagePullPolicy: Always ports: - containerPort: 10004 @@ -23,9 +23,6 @@ spec: - name: config mountPath: /Open-IM-Server/config readOnly: true - - name: usualconfig - mountPath: /Open-IM-Server/config - readOnly: true env: - name: CONFIG_NAME value: "/Open-IM-Server" @@ -33,11 +30,12 @@ spec: value: "/Open-IM-Server" volumes: - name: config - configMap: - name: config - - name: usualconfig - configMap: - name: usualconfig + projected: + sources: + - configMap: + name: openim-config + - configMap: + name: openim-usualconfig strategy: #更新策略 type: RollingUpdate # 滚动更新 --- diff --git a/deploy_k8s/friend/deployment.yaml b/deploy_k8s/friend/deployment.yaml index dde9cbd4c..9c435f446 100644 --- a/deploy_k8s/friend/deployment.yaml +++ b/deploy_k8s/friend/deployment.yaml @@ -15,7 +15,7 @@ spec: spec: containers: - name: friend - image: openim/friend:v2.3.4 + image: openim/friend:v2.3.8 # imagePullPolicy: Always ports: - containerPort: 10120 @@ -23,9 +23,6 @@ spec: - name: config mountPath: /Open-IM-Server/config readOnly: true - - name: usualconfig - mountPath: /Open-IM-Server/config - readOnly: true env: - name: CONFIG_NAME value: "/Open-IM-Server" @@ -33,11 +30,12 @@ spec: value: "/Open-IM-Server" volumes: - name: config - configMap: - name: config - - name: usualconfig - configMap: - name: usualconfig + projected: + sources: + - configMap: + name: openim-config + - configMap: + name: openim-usualconfig strategy: #更新策略 type: RollingUpdate # 滚动更新 diff --git a/deploy_k8s/group/deployment.yaml b/deploy_k8s/group/deployment.yaml index 96c3fe848..060b8f347 100644 --- a/deploy_k8s/group/deployment.yaml +++ b/deploy_k8s/group/deployment.yaml @@ -15,7 +15,7 @@ spec: spec: containers: - name: group - image: openim/group:v2.3.4 + image: openim/group:v2.3.8 # imagePullPolicy: Always ports: - containerPort: 10150 @@ -23,9 +23,6 @@ spec: - name: config mountPath: /Open-IM-Server/config readOnly: true - - name: usualconfig - mountPath: /Open-IM-Server/config - readOnly: true env: - name: CONFIG_NAME value: "/Open-IM-Server" @@ -33,10 +30,11 @@ spec: value: "/Open-IM-Server" volumes: - name: config - configMap: - name: config - - name: usualconfig - configMap: - name: usualconfig + projected: + sources: + - configMap: + name: openim-config + - configMap: + name: openim-usualconfig strategy: #更新策略 type: RollingUpdate # 滚动更新 \ No newline at end of file diff --git a/deploy_k8s/k8s_openim_deploy.md b/deploy_k8s/k8s_openim_deploy.md index 4dad2c077..3faf58703 100644 --- a/deploy_k8s/k8s_openim_deploy.md +++ b/deploy_k8s/k8s_openim_deploy.md @@ -9,18 +9,17 @@ 6. 将rpcRegisterIP修改为空, 此地址为每个rpc注册到ETCD的地址, 置空每个rpc将会将pod地址注册到ETCD, 才能正确rpc请求(重要) 7. 如果使用minio作为对象存储, 还需要修改minio的地址 8. 其他如果使用离线推送,需要修改push离线推送配置 -9. 修改demo中的imAPIURL字段为openIM api的ingress或者service地址, 需要让demo的pod能正确请求到(重要) -10. 其他非必须配置修改, 如短信,推送等 + ### 2. 项目根目录创建im configMap到k8s openim namespace 1. 为open-IM项目创建单独命名空间 ``` kubectl create namespace openim ``` -2. 在项目根目录通过config/config.yaml +2. 修改config.yaml后在项目根目录创建configmap, config/usualConfig.yaml只需要挂载不需要修改配置 ``` - kubectl -n openim create configmap config --from-file=config/config.yaml - kubectl -n openim create configmap usualconfig --from-file=config/usualConfig.yaml + kubectl -n openim create configmap openim-config --from-file=config/config.yaml + kubectl -n openim create configmap openim-usualconfig --from-file=config/usualConfig.yaml ``` 查看configmap ``` diff --git a/deploy_k8s/msg/deployment.yaml b/deploy_k8s/msg/deployment.yaml index 5538203f6..5e5fe4157 100644 --- a/deploy_k8s/msg/deployment.yaml +++ b/deploy_k8s/msg/deployment.yaml @@ -15,7 +15,7 @@ spec: spec: containers: - name: msg - image: openim/msg:v2.3.4 + image: openim/msg:v2.3.8 # imagePullPolicy: Always ports: - containerPort: 10130 @@ -23,9 +23,6 @@ spec: - name: config mountPath: /Open-IM-Server/config readOnly: true - - name: usualconfig - mountPath: /Open-IM-Server/config - readOnly: true env: - name: CONFIG_NAME value: "/Open-IM-Server" @@ -33,10 +30,11 @@ spec: value: "/Open-IM-Server" volumes: - name: config - configMap: - name: config - - name: usualConfig - configMap: - name: usualconfig + projected: + sources: + - configMap: + name: openim-config + - configMap: + name: openim-usualconfig strategy: #更新策略 type: RollingUpdate # 滚动更新 \ No newline at end of file diff --git a/deploy_k8s/msg_gateway/deployment.yaml b/deploy_k8s/msg_gateway/deployment.yaml index 18ad66ca3..068a405cf 100644 --- a/deploy_k8s/msg_gateway/deployment.yaml +++ b/deploy_k8s/msg_gateway/deployment.yaml @@ -15,7 +15,7 @@ spec: spec: containers: - name: msg-gateway - image: openim/msg_gateway:v2.3.4 + image: openim/msg_gateway:v2.3.8 # imagePullPolicy: Always ports: - name: rpc-port @@ -26,9 +26,6 @@ spec: - name: config mountPath: /Open-IM-Server/config readOnly: true - - name: usualconfig - mountPath: /Open-IM-Server/config - readOnly: true env: - name: CONFIG_NAME value: "/Open-IM-Server" @@ -36,11 +33,12 @@ spec: value: "/Open-IM-Server" volumes: - name: config - configMap: - name: config - - name: usualconfig - configMap: - name: usualconfig + projected: + sources: + - configMap: + name: openim-config + - configMap: + name: openim-usualconfig strategy: #更新策略 type: RollingUpdate # 滚动更新 --- diff --git a/deploy_k8s/msg_transfer/deployment.yaml b/deploy_k8s/msg_transfer/deployment.yaml index f47583b05..47d04b9d7 100644 --- a/deploy_k8s/msg_transfer/deployment.yaml +++ b/deploy_k8s/msg_transfer/deployment.yaml @@ -15,15 +15,12 @@ spec: spec: containers: - name: msg-transfer - image: openim/msg_transfer:v2.3.4 + image: openim/msg_transfer:v2.3.8 # imagePullPolicy: Always volumeMounts: - name: config mountPath: /Open-IM-Server/config readOnly: true - - name: usualconfig - mountPath: /Open-IM-Server/config - readOnly: true env: - name: CONFIG_NAME value: "/Open-IM-Server" @@ -31,10 +28,11 @@ spec: value: "/Open-IM-Server" volumes: - name: config - configMap: - name: config - - name: usualconfig - configMap: - name: usualconfig + projected: + sources: + - configMap: + name: openim-config + - configMap: + name: openim-usualconfig strategy: #更新策略 type: RollingUpdate # 滚动更新 diff --git a/deploy_k8s/office/deployment.yaml b/deploy_k8s/office/deployment.yaml index 4e819971b..759643fe3 100644 --- a/deploy_k8s/office/deployment.yaml +++ b/deploy_k8s/office/deployment.yaml @@ -15,7 +15,7 @@ spec: spec: containers: - name: office - image: openim/office:v2.3.4 + image: openim/office:v2.3.8 # imagePullPolicy: Always ports: - containerPort: 10210 @@ -23,9 +23,6 @@ spec: - name: config mountPath: /Open-IM-Server/config readOnly: true - - name: usualconfig - mountPath: /Open-IM-Server/config - readOnly: true env: - name: CONFIG_NAME value: "/Open-IM-Server" @@ -33,10 +30,11 @@ spec: value: "/Open-IM-Server" volumes: - name: config - configMap: - name: config - - name: usualconfig - configMap: - name: usualconfig + projected: + sources: + - configMap: + name: openim-config + - configMap: + name: openim-usualconfig strategy: #更新策略 type: RollingUpdate # 滚动更新 \ No newline at end of file diff --git a/deploy_k8s/organization/deployment.yaml b/deploy_k8s/organization/deployment.yaml index 0b60fb4c2..380628b36 100644 --- a/deploy_k8s/organization/deployment.yaml +++ b/deploy_k8s/organization/deployment.yaml @@ -15,7 +15,7 @@ spec: spec: containers: - name: organization - image: openim/organization:v2.3.4 + image: openim/organization:v2.3.8 # imagePullPolicy: Always ports: - containerPort: 10220 @@ -23,9 +23,6 @@ spec: - name: config mountPath: /Open-IM-Server/config readOnly: true - - name: usualconfig - mountPath: /Open-IM-Server/config - readOnly: true env: - name: CONFIG_NAME value: "/Open-IM-Server" @@ -33,10 +30,11 @@ spec: value: "/Open-IM-Server" volumes: - name: config - configMap: - name: config - - name: usualconfig - configMap: - name: usualconfig + projected: + sources: + - configMap: + name: openim-config + - configMap: + name: openim-usualconfig strategy: #更新策略 type: RollingUpdate # 滚动更新 \ No newline at end of file diff --git a/deploy_k8s/push/deployment.yaml b/deploy_k8s/push/deployment.yaml index 1382e5a12..f6ec07500 100644 --- a/deploy_k8s/push/deployment.yaml +++ b/deploy_k8s/push/deployment.yaml @@ -15,7 +15,7 @@ spec: spec: containers: - name: push - image: openim/push:v2.3.4 + image: openim/push:v2.3.8 # imagePullPolicy: Always ports: - containerPort: 10170 @@ -23,9 +23,6 @@ spec: - name: config mountPath: /Open-IM-Server/config readOnly: true - - name: usualConfig - mountPath: /Open-IM-Server/config - readOnly: true env: - name: CONFIG_NAME value: "/Open-IM-Server" @@ -33,10 +30,11 @@ spec: value: "/Open-IM-Server" volumes: - name: config - configMap: - name: config - - name: usualconfig - configMap: - name: usualconfig + projected: + sources: + - configMap: + name: openim-config + - configMap: + name: openim-usualconfig strategy: #更新策略 type: RollingUpdate # 滚动更新 \ No newline at end of file diff --git a/deploy_k8s/sdk_server/deployment.yaml b/deploy_k8s/sdk_server/deployment.yaml index bee3dc4bf..6022c2077 100644 --- a/deploy_k8s/sdk_server/deployment.yaml +++ b/deploy_k8s/sdk_server/deployment.yaml @@ -15,7 +15,7 @@ spec: spec: containers: - name: sdk-server - image: openim/sdk_server:v2.3.4 + image: openim/sdk_server:v2.3.8 # imagePullPolicy: Always ports: - containerPort: 10003 diff --git a/deploy_k8s/user/deployment.yaml b/deploy_k8s/user/deployment.yaml index c0c2d53bf..5ad75a922 100644 --- a/deploy_k8s/user/deployment.yaml +++ b/deploy_k8s/user/deployment.yaml @@ -15,15 +15,12 @@ spec: spec: containers: - name: user - image: openim/user:v2.3.4 + image: openim/user:v2.3.8 # imagePullPolicy: Always volumeMounts: - name: config mountPath: /Open-IM-Server/config readOnly: true - - name: usualconfig - mountPath: /Open-IM-Server/config - readOnly: true env: - name: CONFIG_NAME value: "/Open-IM-Server" @@ -31,10 +28,11 @@ spec: value: "/Open-IM-Server" volumes: - name: config - configMap: - name: config - - name: usualconfig - configMap: - name: usualconfig + projected: + sources: + - configMap: + name: openim-config + - configMap: + name: openim-usualconfig strategy: #更新策略 type: RollingUpdate # 滚动更新 diff --git a/pkg/common/constant/constant.go b/pkg/common/constant/constant.go index 9a24b694e..9bcef92bf 100644 --- a/pkg/common/constant/constant.go +++ b/pkg/common/constant/constant.go @@ -361,4 +361,4 @@ const StatisticsTimeInterval = 60 const MaxNotificationNum = 500 -const CurrentVersion = "v2.3.4-rc0" +const CurrentVersion = "v2.3.8-rc0" From 9dc798bc534559276a203c7b703387277863e14c Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Wed, 1 Mar 2023 14:54:22 +0800 Subject: [PATCH 301/313] ws recycle conn bug fix --- internal/msg_gateway/gate/ws_server.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/internal/msg_gateway/gate/ws_server.go b/internal/msg_gateway/gate/ws_server.go index 81ce37d76..9025b287b 100644 --- a/internal/msg_gateway/gate/ws_server.go +++ b/internal/msg_gateway/gate/ws_server.go @@ -377,8 +377,12 @@ func (ws *WServer) delUserConn(conn *UserConn) { platform = k uid = v } - if oldConnMap, ok := ws.wsUserToConn[uid]; ok { - delete(oldConnMap, platform) + if oldConnMap, ok := ws.wsUserToConn[uid]; ok { // only recycle self conn + if oldconn, okMap := oldConnMap[platform]; okMap { + if oldconn == conn { + delete(oldConnMap, platform) + } + } ws.wsUserToConn[uid] = oldConnMap if len(oldConnMap) == 0 { delete(ws.wsUserToConn, uid) From 7e48d1a00f3f7a7cc7b2d911db3b8d222d3c75a9 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Thu, 2 Mar 2023 18:47:11 +0800 Subject: [PATCH 302/313] ws support same terminal login --- internal/msg_gateway/gate/relay_rpc_server.go | 306 +++++++++--------- internal/msg_gateway/gate/ws_server.go | 131 ++++---- 2 files changed, 226 insertions(+), 211 deletions(-) diff --git a/internal/msg_gateway/gate/relay_rpc_server.go b/internal/msg_gateway/gate/relay_rpc_server.go index 89a63a293..8e7589ab8 100644 --- a/internal/msg_gateway/gate/relay_rpc_server.go +++ b/internal/msg_gateway/gate/relay_rpc_server.go @@ -101,47 +101,48 @@ func (r *RPCServer) run() { } } func (r *RPCServer) OnlinePushMsg(_ context.Context, in *pbRelay.OnlinePushMsgReq) (*pbRelay.OnlinePushMsgResp, error) { - log.NewInfo(in.OperationID, "PushMsgToUser is arriving", in.String()) - var resp []*pbRelay.SingleMsgToUserPlatform - msgBytes, _ := proto.Marshal(in.MsgData) - mReply := Resp{ - ReqIdentifier: constant.WSPushMsg, - OperationID: in.OperationID, - Data: msgBytes, - } - var replyBytes bytes.Buffer - enc := gob.NewEncoder(&replyBytes) - err := enc.Encode(mReply) - if err != nil { - log.NewError(in.OperationID, "data encode err", err.Error()) - } - var tag bool - recvID := in.PushToUserID - for _, v := range r.platformList { - if conn := ws.getUserConn(recvID, v); conn != nil { - tag = true - resultCode := sendMsgToUser(conn, replyBytes.Bytes(), in, v, recvID) - temp := &pbRelay.SingleMsgToUserPlatform{ - ResultCode: resultCode, - RecvID: recvID, - RecvPlatFormID: int32(v), - } - resp = append(resp, temp) - } else { - temp := &pbRelay.SingleMsgToUserPlatform{ - ResultCode: -1, - RecvID: recvID, - RecvPlatFormID: int32(v), - } - resp = append(resp, temp) - } - } - if !tag { - log.NewDebug(in.OperationID, "push err ,no matched ws conn not in map", in.String()) - } - return &pbRelay.OnlinePushMsgResp{ - Resp: resp, - }, nil + //log.NewInfo(in.OperationID, "PushMsgToUser is arriving", in.String()) + //var resp []*pbRelay.SingleMsgToUserPlatform + //msgBytes, _ := proto.Marshal(in.MsgData) + //mReply := Resp{ + // ReqIdentifier: constant.WSPushMsg, + // OperationID: in.OperationID, + // Data: msgBytes, + //} + //var replyBytes bytes.Buffer + //enc := gob.NewEncoder(&replyBytes) + //err := enc.Encode(mReply) + //if err != nil { + // log.NewError(in.OperationID, "data encode err", err.Error()) + //} + //var tag bool + //recvID := in.PushToUserID + //for _, v := range r.platformList { + // if conn := ws.getUserConn(recvID, v); conn != nil { + // tag = true + // resultCode := sendMsgToUser(conn, replyBytes.Bytes(), in, v, recvID) + // temp := &pbRelay.SingleMsgToUserPlatform{ + // ResultCode: resultCode, + // RecvID: recvID, + // RecvPlatFormID: int32(v), + // } + // resp = append(resp, temp) + // } else { + // temp := &pbRelay.SingleMsgToUserPlatform{ + // ResultCode: -1, + // RecvID: recvID, + // RecvPlatFormID: int32(v), + // } + // resp = append(resp, temp) + // } + //} + //if !tag { + // log.NewDebug(in.OperationID, "push err ,no matched ws conn not in map", in.String()) + //} + //return &pbRelay.OnlinePushMsgResp{ + // Resp: resp, + //}, nil + return nil, nil } func (r *RPCServer) GetUsersOnlineStatus(_ context.Context, req *pbRelay.GetUsersOnlineStatusReq) (*pbRelay.GetUsersOnlineStatusResp, error) { log.NewInfo(req.OperationID, "rpc GetUsersOnlineStatus arrived server", req.String()) @@ -154,13 +155,13 @@ func (r *RPCServer) GetUsersOnlineStatus(_ context.Context, req *pbRelay.GetUser temp := new(pbRelay.GetUsersOnlineStatusResp_SuccessResult) temp.UserID = userID userConnMap := ws.getUserAllCons(userID) - for platform, userConn := range userConnMap { - if userConn != nil { + for platform, userConns := range userConnMap { + if len(userConns) != 0 { ps := new(pbRelay.GetUsersOnlineStatusResp_SuccessDetail) ps.Platform = constant.PlatformIDToName(platform) ps.Status = constant.OnlineStatus - ps.ConnID = userConn.connID - ps.IsBackground = userConn.IsBackground + ps.ConnID = userConns[0].connID + ps.IsBackground = userConns[0].IsBackground temp.Status = constant.OnlineStatus temp.DetailPlatformStatus = append(temp.DetailPlatformStatus, ps) } @@ -196,25 +197,28 @@ func (r *RPCServer) SuperGroupOnlineBatchPushOneMsg(_ context.Context, req *pbRe UserID: v, } userConnMap := ws.getUserAllCons(v) - for platform, userConn := range userConnMap { - if userConn != nil { - 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 + for platform, userConns := range userConnMap { + if len(userConns) != 0 { + for _, userConn := range userConns { + 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) } - } else { - temp.ResultCode = -2 - resp = append(resp, temp) } + } } tempT.Resp = resp @@ -247,104 +251,111 @@ func (r *RPCServer) SuperGroupBackgroundOnlinePush(_ context.Context, req *pbRel 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 - - for _, v := range req.PushToUserIDList { - var resp []*pbRelay.SingleMsgToUserPlatform - tempT := &pbRelay.SingelMsgToUserResultList{ - UserID: v, - } - userConnMap := ws.getUserAllCons(v) - var platformList []int - for k, _ := range userConnMap { - platformList = append(platformList, k) - } - log.Debug(req.OperationID, "GetSingleUserMsgForPushPlatforms begin", req.MsgData.Seq, v, platformList, req.MsgData.String()) - needPushMapList := r.GetSingleUserMsgForPushPlatforms(req.OperationID, req.MsgData, v, platformList) - log.Debug(req.OperationID, "GetSingleUserMsgForPushPlatforms end", req.MsgData.Seq, v, platformList, len(needPushMapList)) - for platform, list := range needPushMapList { - if list != nil { - log.Debug(req.OperationID, "needPushMapList ", "userID: ", v, "platform: ", platform, "push msg num:") - //for _, v := range list { - // log.Debug(req.OperationID, "req.MsgData.MsgDataList begin", "len: ", len(req.MsgData.MsgDataList), v.String()) - // req.MsgData.MsgDataList = append(req.MsgData.MsgDataList, v) - // log.Debug(req.OperationID, "req.MsgData.MsgDataList end", "len: ", len(req.MsgData.MsgDataList)) - //} - msgBytes, err := proto.Marshal(list) - if err != nil { - log.Error(req.OperationID, "proto marshal err", err.Error()) - continue - } - req.MsgData.MsgDataList = msgBytes - //req.MsgData.MsgDataList = append(req.MsgData.MsgDataList, v) - log.Debug(req.OperationID, "r.encodeWsData no string") - //log.Debug(req.OperationID, "r.encodeWsData data0 list ", req.MsgData.MsgDataList[0].String()) - - log.Debug(req.OperationID, "r.encodeWsData ", req.MsgData.String()) - replyBytes, err := r.encodeWsData(req.MsgData, req.OperationID) - if err != nil { - log.Error(req.OperationID, "encodeWsData failed ", req.MsgData.String()) - continue - } - log.Debug(req.OperationID, "encodeWsData", "len: ", replyBytes.Len()) - resultCode := sendMsgBatchToUser(userConnMap[platform], replyBytes.Bytes(), req, platform, v) - if resultCode == 0 && utils.IsContainInt(platform, r.pushTerminal) { - tempT.OnlinePush = true - log.Info(req.OperationID, "PushSuperMsgToUser is success By Ws", "args", req.String(), "recv PlatForm", constant.PlatformIDToName(platform), "recvID", v) + for platform, userConns := range userConnMap { + if len(userConns) != 0 { + for _, userConn := range userConns { temp := &pbRelay.SingleMsgToUserPlatform{ - ResultCode: resultCode, RecvID: v, RecvPlatFormID: int32(platform), } - resp = append(resp, temp) - } - } else { - if utils.IsContainInt(platform, r.pushTerminal) { - tempT.OnlinePush = true - temp := &pbRelay.SingleMsgToUserPlatform{ - ResultCode: 0, - 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) } - 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 + // + //for _, v := range req.PushToUserIDList { + // var resp []*pbRelay.SingleMsgToUserPlatform + // tempT := &pbRelay.SingelMsgToUserResultList{ + // UserID: v, + // } + // userConnMap := ws.getUserAllCons(v) + // var platformList []int + // for k, _ := range userConnMap { + // platformList = append(platformList, k) + // } + // log.Debug(req.OperationID, "GetSingleUserMsgForPushPlatforms begin", req.MsgData.Seq, v, platformList, req.MsgData.String()) + // needPushMapList := r.GetSingleUserMsgForPushPlatforms(req.OperationID, req.MsgData, v, platformList) + // log.Debug(req.OperationID, "GetSingleUserMsgForPushPlatforms end", req.MsgData.Seq, v, platformList, len(needPushMapList)) + // for platform, list := range needPushMapList { + // if list != nil { + // log.Debug(req.OperationID, "needPushMapList ", "userID: ", v, "platform: ", platform, "push msg num:") + // //for _, v := range list { + // // log.Debug(req.OperationID, "req.MsgData.MsgDataList begin", "len: ", len(req.MsgData.MsgDataList), v.String()) + // // req.MsgData.MsgDataList = append(req.MsgData.MsgDataList, v) + // // log.Debug(req.OperationID, "req.MsgData.MsgDataList end", "len: ", len(req.MsgData.MsgDataList)) + // //} + // msgBytes, err := proto.Marshal(list) + // if err != nil { + // log.Error(req.OperationID, "proto marshal err", err.Error()) + // continue + // } + // req.MsgData.MsgDataList = msgBytes + // //req.MsgData.MsgDataList = append(req.MsgData.MsgDataList, v) + // log.Debug(req.OperationID, "r.encodeWsData no string") + // //log.Debug(req.OperationID, "r.encodeWsData data0 list ", req.MsgData.MsgDataList[0].String()) + // + // log.Debug(req.OperationID, "r.encodeWsData ", req.MsgData.String()) + // replyBytes, err := r.encodeWsData(req.MsgData, req.OperationID) + // if err != nil { + // log.Error(req.OperationID, "encodeWsData failed ", req.MsgData.String()) + // continue + // } + // log.Debug(req.OperationID, "encodeWsData", "len: ", replyBytes.Len()) + // resultCode := sendMsgBatchToUser(userConnMap[platform], replyBytes.Bytes(), req, platform, v) + // if resultCode == 0 && utils.IsContainInt(platform, r.pushTerminal) { + // tempT.OnlinePush = true + // log.Info(req.OperationID, "PushSuperMsgToUser is success By Ws", "args", req.String(), "recv PlatForm", constant.PlatformIDToName(platform), "recvID", v) + // temp := &pbRelay.SingleMsgToUserPlatform{ + // ResultCode: resultCode, + // RecvID: v, + // RecvPlatFormID: int32(platform), + // } + // resp = append(resp, temp) + // } + // } else { + // if utils.IsContainInt(platform, r.pushTerminal) { + // tempT.OnlinePush = true + // temp := &pbRelay.SingleMsgToUserPlatform{ + // ResultCode: 0, + // RecvID: v, + // RecvPlatFormID: int32(platform), + // } + // resp = append(resp, temp) + // } + // } + // } + // tempT.Resp = resp + // singleUserResult = append(singleUserResult, tempT) + //} + //return &pbRelay.OnlineBatchPushOneMsgResp{ + // SinglePushResult: singleUserResult, + //}, nil + return nil, nil +} func (r *RPCServer) encodeWsData(wsData *sdk_ws.MsgData, operationID string) (bytes.Buffer, error) { log.Debug(operationID, "encodeWsData begin", wsData.String()) msgBytes, err := proto.Marshal(wsData) @@ -374,10 +385,11 @@ func (r *RPCServer) KickUserOffline(_ context.Context, req *pbRelay.KickUserOffl log.NewWarn(req.OperationID, "SetTokenKicked ", v, req.PlatformID, req.OperationID) SetTokenKicked(v, int(req.PlatformID), req.OperationID) oldConnMap := ws.getUserAllCons(v) - if conn, ok := oldConnMap[int(req.PlatformID)]; ok { // user->map[platform->conn] + if conns, ok := oldConnMap[int(req.PlatformID)]; ok { // user->map[platform->conn] log.NewWarn(req.OperationID, "send kick msg, close connection ", req.PlatformID, v) - ws.sendKickMsg(conn, req.OperationID) - conn.Close() + for _, conn := range conns { + ws.sendKickMsg(conn, req.OperationID) + } } } return &pbRelay.KickUserOfflineResp{}, nil diff --git a/internal/msg_gateway/gate/ws_server.go b/internal/msg_gateway/gate/ws_server.go index 9025b287b..7ffe7b94b 100644 --- a/internal/msg_gateway/gate/ws_server.go +++ b/internal/msg_gateway/gate/ws_server.go @@ -45,15 +45,13 @@ type WServer struct { wsAddr string wsMaxConnNum int wsUpGrader *websocket.Upgrader - wsConnToUser map[*UserConn]map[int]string - wsUserToConn map[string]map[int]*UserConn + wsUserToConn map[string]map[int][]*UserConn } func (ws *WServer) onInit(wsPort int) { ws.wsAddr = ":" + utils.IntToString(wsPort) ws.wsMaxConnNum = config.Config.LongConnSvr.WebsocketMaxConnNum - ws.wsConnToUser = make(map[*UserConn]map[int]string) - ws.wsUserToConn = make(map[string]map[int]*UserConn) + ws.wsUserToConn = make(map[string]map[int][]*UserConn) ws.wsUpGrader = &websocket.Upgrader{ HandshakeTimeout: time.Duration(config.Config.LongConnSvr.WebsocketTimeOut) * time.Second, ReadBufferSize: config.Config.LongConnSvr.WebsocketMaxMsgLen, @@ -203,8 +201,11 @@ func (ws *WServer) MultiTerminalLoginCheckerWithLock(uid string, platformID int, fallthrough case constant.AllLoginButSameTermKick: if oldConnMap, ok := ws.wsUserToConn[uid]; ok { // user->map[platform->conn] - if oldConn, ok := oldConnMap[platformID]; ok { + if oldConns, ok := oldConnMap[platformID]; ok { log.NewDebug(operationID, uid, platformID, "kick old conn") + for _, conn := range oldConns { + ws.sendKickMsg(conn, operationID) + } m, err := db.DB.GetTokenMapByUidPid(uid, constant.PlatformIDToName(platformID)) if err != nil && err != go_redis.Nil { log.NewError(operationID, "get token from redis err", err.Error(), uid, constant.PlatformIDToName(platformID)) @@ -227,16 +228,12 @@ func (ws *WServer) MultiTerminalLoginCheckerWithLock(uid string, platformID int, log.NewError(operationID, "SetTokenMapByUidPid err", err.Error(), uid, platformID, m) return } - err = oldConn.Close() - //delete(oldConnMap, platformID) + + delete(oldConnMap, platformID) ws.wsUserToConn[uid] = oldConnMap if len(oldConnMap) == 0 { delete(ws.wsUserToConn, uid) } - delete(ws.wsConnToUser, oldConn) - if err != nil { - log.NewError(operationID, "conn close err", err.Error(), uid, platformID) - } } else { log.NewWarn(operationID, "abnormal uid-conn ", uid, platformID, oldConnMap[platformID]) } @@ -259,9 +256,11 @@ func (ws *WServer) MultiTerminalLoginChecker(uid string, platformID int, newConn fallthrough case constant.AllLoginButSameTermKick: if oldConnMap, ok := ws.wsUserToConn[uid]; ok { // user->map[platform->conn] - if oldConn, ok := oldConnMap[platformID]; ok { + if oldConns, ok := oldConnMap[platformID]; ok { log.NewDebug(operationID, uid, platformID, "kick old conn") - ws.sendKickMsg(oldConn, operationID) + for _, conn := range oldConns { + ws.sendKickMsg(conn, operationID) + } m, err := db.DB.GetTokenMapByUidPid(uid, constant.PlatformIDToName(platformID)) if err != nil && err != go_redis.Nil { log.NewError(operationID, "get token from redis err", err.Error(), uid, constant.PlatformIDToName(platformID)) @@ -284,16 +283,11 @@ func (ws *WServer) MultiTerminalLoginChecker(uid string, platformID int, newConn log.NewError(operationID, "SetTokenMapByUidPid err", err.Error(), uid, platformID, m) return } - err = oldConn.Close() delete(oldConnMap, platformID) ws.wsUserToConn[uid] = oldConnMap if len(oldConnMap) == 0 { delete(ws.wsUserToConn, uid) } - delete(ws.wsConnToUser, oldConn) - if err != nil { - log.NewError(operationID, "conn close err", err.Error(), uid, platformID) - } callbackResp := callbackUserKickOff(operationID, uid, platformID) if callbackResp.ErrCode != 0 { log.NewError(operationID, utils.GetSelfFuncName(), "callbackUserOffline failed", callbackResp) @@ -328,6 +322,11 @@ func (ws *WServer) sendKickMsg(oldConn *UserConn, operationID string) { if err != nil { log.NewError(mReply.OperationID, mReply.ReqIdentifier, mReply.ErrCode, mReply.ErrMsg, "sendKickMsg WS WriteMsg error", oldConn.RemoteAddr().String(), err.Error()) } + errClose := oldConn.Close() + if errClose != nil { + log.NewError(mReply.OperationID, mReply.ReqIdentifier, mReply.ErrCode, mReply.ErrMsg, "close old conn error", oldConn.RemoteAddr().String(), err.Error()) + + } } func (ws *WServer) addUserConn(uid string, platformID int, conn *UserConn, token string, connID, operationID string) { @@ -341,23 +340,24 @@ func (ws *WServer) addUserConn(uid string, platformID int, conn *UserConn, token go ws.MultiTerminalLoginRemoteChecker(uid, int32(platformID), token, operationID) ws.MultiTerminalLoginChecker(uid, platformID, conn, token, operationID) if oldConnMap, ok := ws.wsUserToConn[uid]; ok { - oldConnMap[platformID] = conn + if conns, ok := oldConnMap[platformID]; ok { + conns = append(conns, conn) + oldConnMap[platformID] = conns + } else { + conns := make([]*UserConn, 2) + conns = append(conns, conn) + oldConnMap[platformID] = conns + } ws.wsUserToConn[uid] = oldConnMap log.Debug(operationID, "user not first come in, add conn ", uid, platformID, conn, oldConnMap) } else { - i := make(map[int]*UserConn) - i[platformID] = conn + i := make(map[int][]*UserConn) + conns := make([]*UserConn, 2) + conns = append(conns, conn) + i[platformID] = conns ws.wsUserToConn[uid] = i log.Debug(operationID, "user first come in, new user, conn", uid, platformID, conn, ws.wsUserToConn[uid]) } - if oldStringMap, ok := ws.wsConnToUser[conn]; ok { - oldStringMap[platformID] = uid - ws.wsConnToUser[conn] = oldStringMap - } else { - i := make(map[int]string) - i[platformID] = uid - ws.wsConnToUser[conn] = i - } count := 0 for _, v := range ws.wsUserToConn { count = count + len(v) @@ -370,36 +370,39 @@ func (ws *WServer) delUserConn(conn *UserConn) { rwLock.Lock() defer rwLock.Unlock() operationID := utils.OperationIDGenerator() - var uid string - var platform int - if oldStringMap, okg := ws.wsConnToUser[conn]; okg { - for k, v := range oldStringMap { - platform = k - uid = v - } - if oldConnMap, ok := ws.wsUserToConn[uid]; ok { // only recycle self conn - if oldconn, okMap := oldConnMap[platform]; okMap { - if oldconn == conn { - delete(oldConnMap, platform) + platform := int(conn.PlatformID) + + if oldConnMap, ok := ws.wsUserToConn[conn.userID]; ok { // only recycle self conn + if oldconns, okMap := oldConnMap[platform]; okMap { + var flag bool + a := make([]*UserConn, 2) + for _, client := range oldconns { + if client != conn { + a = append(a, client) + flag = true } } - ws.wsUserToConn[uid] = oldConnMap - if len(oldConnMap) == 0 { - delete(ws.wsUserToConn, uid) - } - count := 0 - for _, v := range ws.wsUserToConn { - count = count + len(v) + if flag { + oldConnMap[platform] = a + } else { + delete(oldConnMap, platform) } - log.Debug(operationID, "WS delete operation", "", "wsUser deleted", ws.wsUserToConn, "disconnection_uid", uid, "disconnection_platform", platform, "online_user_num", len(ws.wsUserToConn), "online_conn_num", count) - } else { - log.Debug(operationID, "WS delete operation", "", "wsUser deleted", ws.wsUserToConn, "disconnection_uid", uid, "disconnection_platform", platform, "online_user_num", len(ws.wsUserToConn)) + + } + ws.wsUserToConn[conn.userID] = oldConnMap + if len(oldConnMap) == 0 { + delete(ws.wsUserToConn, conn.userID) } - delete(ws.wsConnToUser, conn) + count := 0 + for _, v := range ws.wsUserToConn { + count = count + len(v) + } + log.Debug(operationID, "WS delete operation", "", "wsUser deleted", ws.wsUserToConn, "disconnection_uid", conn.userID, "disconnection_platform", platform, "online_user_num", len(ws.wsUserToConn), "online_conn_num", count) } + err := conn.Close() if err != nil { - log.Error(operationID, " close err", "", "uid", uid, "platform", platform) + log.Error(operationID, " close err", "", "uid", conn.userID, "platform", platform) } if conn.PlatformID == 0 || conn.connID == "" { log.NewWarn(operationID, utils.GetSelfFuncName(), "PlatformID or connID is null", conn.PlatformID, conn.connID) @@ -412,21 +415,21 @@ func (ws *WServer) delUserConn(conn *UserConn) { } -func (ws *WServer) getUserConn(uid string, platform int) *UserConn { - rwLock.RLock() - defer rwLock.RUnlock() - if connMap, ok := ws.wsUserToConn[uid]; ok { - if conn, flag := connMap[platform]; flag { - return conn - } - } - return nil -} -func (ws *WServer) getUserAllCons(uid string) map[int]*UserConn { +// func (ws *WServer) getUserConn(uid string, platform int) *UserConn { +// rwLock.RLock() +// defer rwLock.RUnlock() +// if connMap, ok := ws.wsUserToConn[uid]; ok { +// if conn, flag := connMap[platform]; flag { +// return conn +// } +// } +// return nil +// } +func (ws *WServer) getUserAllCons(uid string) map[int][]*UserConn { rwLock.RLock() defer rwLock.RUnlock() if connMap, ok := ws.wsUserToConn[uid]; ok { - newConnMap := make(map[int]*UserConn) + newConnMap := make(map[int][]*UserConn) for k, v := range connMap { newConnMap[k] = v } From 40a7bb9d4880066a5b327e99121a2f2a70542df5 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Thu, 2 Mar 2023 19:08:35 +0800 Subject: [PATCH 303/313] test log --- internal/msg_gateway/gate/relay_rpc_server.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/msg_gateway/gate/relay_rpc_server.go b/internal/msg_gateway/gate/relay_rpc_server.go index 8e7589ab8..c9a305581 100644 --- a/internal/msg_gateway/gate/relay_rpc_server.go +++ b/internal/msg_gateway/gate/relay_rpc_server.go @@ -199,6 +199,7 @@ func (r *RPCServer) SuperGroupOnlineBatchPushOneMsg(_ context.Context, req *pbRe userConnMap := ws.getUserAllCons(v) for platform, userConns := range userConnMap { if len(userConns) != 0 { + log.NewWarn(req.OperationID, "conns is ", len(userConns), platform, userConns) for _, userConn := range userConns { temp := &pbRelay.SingleMsgToUserPlatform{ RecvID: v, From c8038213c70689a207bcb3a435a17dc156060ab2 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Thu, 2 Mar 2023 19:24:24 +0800 Subject: [PATCH 304/313] ws support same terminal login --- 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 7ffe7b94b..e1fe47fd9 100644 --- a/internal/msg_gateway/gate/ws_server.go +++ b/internal/msg_gateway/gate/ws_server.go @@ -352,7 +352,7 @@ func (ws *WServer) addUserConn(uid string, platformID int, conn *UserConn, token log.Debug(operationID, "user not first come in, add conn ", uid, platformID, conn, oldConnMap) } else { i := make(map[int][]*UserConn) - conns := make([]*UserConn, 2) + conns := make([]*UserConn, 1) conns = append(conns, conn) i[platformID] = conns ws.wsUserToConn[uid] = i From c182001fcf86bfd0da3dbc376f6f6206eaf7b739 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Thu, 2 Mar 2023 19:36:48 +0800 Subject: [PATCH 305/313] ws support same terminal login --- internal/msg_gateway/gate/ws_server.go | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/internal/msg_gateway/gate/ws_server.go b/internal/msg_gateway/gate/ws_server.go index e1fe47fd9..6d70a9332 100644 --- a/internal/msg_gateway/gate/ws_server.go +++ b/internal/msg_gateway/gate/ws_server.go @@ -344,7 +344,7 @@ func (ws *WServer) addUserConn(uid string, platformID int, conn *UserConn, token conns = append(conns, conn) oldConnMap[platformID] = conns } else { - conns := make([]*UserConn, 2) + var conns []*UserConn conns = append(conns, conn) oldConnMap[platformID] = conns } @@ -352,7 +352,7 @@ func (ws *WServer) addUserConn(uid string, platformID int, conn *UserConn, token log.Debug(operationID, "user not first come in, add conn ", uid, platformID, conn, oldConnMap) } else { i := make(map[int][]*UserConn) - conns := make([]*UserConn, 1) + var conns []*UserConn conns = append(conns, conn) i[platformID] = conns ws.wsUserToConn[uid] = i @@ -374,15 +374,16 @@ func (ws *WServer) delUserConn(conn *UserConn) { if oldConnMap, ok := ws.wsUserToConn[conn.userID]; ok { // only recycle self conn if oldconns, okMap := oldConnMap[platform]; okMap { - var flag bool - a := make([]*UserConn, 2) + + var a []*UserConn + for _, client := range oldconns { if client != conn { a = append(a, client) - flag = true + } } - if flag { + if len(a) != 0 { oldConnMap[platform] = a } else { delete(oldConnMap, platform) From d0b659ccea07960355ffa06c19069498d4853ca6 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Tue, 7 Mar 2023 11:09:17 +0800 Subject: [PATCH 306/313] super group notification --- internal/msg_gateway/gate/relay_rpc_server.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/msg_gateway/gate/relay_rpc_server.go b/internal/msg_gateway/gate/relay_rpc_server.go index c9a305581..bc27d5f19 100644 --- a/internal/msg_gateway/gate/relay_rpc_server.go +++ b/internal/msg_gateway/gate/relay_rpc_server.go @@ -205,7 +205,7 @@ func (r *RPCServer) SuperGroupOnlineBatchPushOneMsg(_ context.Context, req *pbRe RecvID: v, RecvPlatFormID: int32(platform), } - if !userConn.IsBackground { + if !userConn.IsBackground || req.MsgData.ContentType == constant.SuperGroupUpdateNotification { resultCode := sendMsgBatchToUser(userConn, replyBytes.Bytes(), req, platform, v) if resultCode == 0 && utils.IsContainInt(platform, r.pushTerminal) { tempT.OnlinePush = true From c9d8625274381112c521b4807b728967e7111e8c Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 13 Mar 2023 16:18:18 +0800 Subject: [PATCH 307/313] connID to md5 --- 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 81ce37d76..0ac2da008 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().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], utils.Md5(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 0bd2c0008823ae428749e51a632a8795a399ccb0 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Wed, 15 Mar 2023 18:36:44 +0800 Subject: [PATCH 308/313] push message update --- internal/msg_gateway/gate/relay_rpc_server.go | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/internal/msg_gateway/gate/relay_rpc_server.go b/internal/msg_gateway/gate/relay_rpc_server.go index bc27d5f19..676e2a100 100644 --- a/internal/msg_gateway/gate/relay_rpc_server.go +++ b/internal/msg_gateway/gate/relay_rpc_server.go @@ -259,17 +259,12 @@ func (r *RPCServer) SuperGroupBackgroundOnlinePush(_ context.Context, req *pbRel 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 + 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) } } From b67c244bbd1e25cf65873aad58d4544072a13153 Mon Sep 17 00:00:00 2001 From: soasurs <4958649+soasurs@users.noreply.github.com> Date: Mon, 20 Mar 2023 15:27:43 +0800 Subject: [PATCH 309/313] feat: add recvID/groupID for msg modification callback (#351) Signed-off-by: soasurs --- internal/rpc/msg/callback.go | 2 ++ pkg/call_back_struct/message.go | 2 ++ 2 files changed, 4 insertions(+) diff --git a/internal/rpc/msg/callback.go b/internal/rpc/msg/callback.go index 5fae1e133..4742750f0 100644 --- a/internal/rpc/msg/callback.go +++ b/internal/rpc/msg/callback.go @@ -147,6 +147,8 @@ func callbackMsgModify(msg *pbChat.SendMsgReq) cbApi.CommonCallbackResp { commonCallbackReq.CallbackCommand = constant.CallbackMsgModifyCommand req := cbApi.CallbackMsgModifyCommandReq{ CommonCallbackReq: commonCallbackReq, + GroupID: msg.MsgData.GroupID, + RecvID: msg.MsgData.RecvID, } resp := &cbApi.CallbackMsgModifyCommandResp{CommonCallbackResp: &callbackResp} defer log.NewDebug(msg.OperationID, utils.GetSelfFuncName(), req, *resp) diff --git a/pkg/call_back_struct/message.go b/pkg/call_back_struct/message.go index 2eb8034bd..7aff7c78a 100644 --- a/pkg/call_back_struct/message.go +++ b/pkg/call_back_struct/message.go @@ -51,6 +51,8 @@ type CallbackAfterConsumeGroupMsgResp struct { } type CallbackMsgModifyCommandReq struct { CommonCallbackReq + RecvID string `json:"recvID,omitempty"` + GroupID string `json:"groupID,omitempty"` } type CallbackMsgModifyCommandResp struct { From 7b12a8755a6a8c94014d5604232c9d82aff8714a Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 21 Mar 2023 17:31:30 +0800 Subject: [PATCH 310/313] fix sync conversation bug --- cmd/rpc/open_im_conversation/main.go | 2 +- internal/rpc/conversation/conversaion.go | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/cmd/rpc/open_im_conversation/main.go b/cmd/rpc/open_im_conversation/main.go index f3aef03fc..949591805 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) rpcServer := rpcConversation.NewRpcConversationServer(*rpcPort) go func() { err := promePkg.StartPromeSrv(*prometheusPort) diff --git a/internal/rpc/conversation/conversaion.go b/internal/rpc/conversation/conversaion.go index 77051daaf..d3170e4b3 100644 --- a/internal/rpc/conversation/conversaion.go +++ b/internal/rpc/conversation/conversaion.go @@ -166,6 +166,10 @@ func syncPeerUserConversation(conversation *pbConversation.Conversation, operati log.NewError(operationID, utils.GetSelfFuncName(), "SetConversation error", err.Error()) return err } + err = rocksCache.DelUserConversationIDListFromCache(conversation.UserID) + if err != nil { + log.NewError(operationID, utils.GetSelfFuncName(), "DelConversationFromCache failed", err.Error(), conversation.OwnerUserID, conversation.ConversationID) + } err = rocksCache.DelConversationFromCache(conversation.UserID, utils.GetConversationIDBySessionType(conversation.OwnerUserID, constant.SingleChatType)) if err != nil { log.NewError(operationID, utils.GetSelfFuncName(), "DelConversationFromCache failed", err.Error(), conversation.OwnerUserID, conversation.ConversationID) From 9a636a15de99de3aeb76452c3f815875d5a6e2d3 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 21 Mar 2023 20:18:39 +0800 Subject: [PATCH 311/313] redis --- internal/cron_task/clear_msg.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/internal/cron_task/clear_msg.go b/internal/cron_task/clear_msg.go index 8703b519b..1fafb3a14 100644 --- a/internal/cron_task/clear_msg.go +++ b/internal/cron_task/clear_msg.go @@ -188,9 +188,10 @@ func checkMaxSeqWithMongo(operationID, ID string, diffusionType int) error { } if err != nil { if err == goRedis.Nil { - return nil + + } else { + return utils.Wrap(err, "GetUserMaxSeq failed") } - return utils.Wrap(err, "GetUserMaxSeq failed") } msg, err := db.DB.GetNewestMsg(ID) if err != nil { From 8dc0b639a229da3033c1e9371dddc32301d4568d Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 22 Mar 2023 18:42:42 +0800 Subject: [PATCH 312/313] signal both push --- internal/msg_gateway/gate/relay_rpc_server.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/internal/msg_gateway/gate/relay_rpc_server.go b/internal/msg_gateway/gate/relay_rpc_server.go index 676e2a100..d168adc00 100644 --- a/internal/msg_gateway/gate/relay_rpc_server.go +++ b/internal/msg_gateway/gate/relay_rpc_server.go @@ -205,13 +205,18 @@ func (r *RPCServer) SuperGroupOnlineBatchPushOneMsg(_ context.Context, req *pbRe RecvID: v, RecvPlatFormID: int32(platform), } - if !userConn.IsBackground || req.MsgData.ContentType == constant.SuperGroupUpdateNotification { + if !userConn.IsBackground || req.MsgData.ContentType == constant.SuperGroupUpdateNotification || req.MsgData.ContentType == constant.SignalingNotification { 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 + if req.MsgData.ContentType == constant.SignalingNotification && userConn.IsBackground { + log.Info(req.OperationID, "recv signalingNotification backgroud", req.MsgData.String()) + temp.ResultCode = -2 + tempT.OnlinePush = false + } resp = append(resp, temp) } } else { From 83ba487c6125abf18a8cb6dd769e615030422280 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Thu, 23 Mar 2023 12:23:48 +0800 Subject: [PATCH 313/313] add log for bk --- internal/msg_gateway/gate/relay_rpc_server.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/msg_gateway/gate/relay_rpc_server.go b/internal/msg_gateway/gate/relay_rpc_server.go index d168adc00..9352b7736 100644 --- a/internal/msg_gateway/gate/relay_rpc_server.go +++ b/internal/msg_gateway/gate/relay_rpc_server.go @@ -210,7 +210,7 @@ func (r *RPCServer) SuperGroupOnlineBatchPushOneMsg(_ context.Context, req *pbRe 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) + log.Info(req.OperationID, "PushSuperMsgToUser is success By Ws", "args", req.String(), "recvPlatForm", constant.PlatformIDToName(platform), "recvID", v, "background status", userConn.IsBackground, userConn.userID) temp.ResultCode = resultCode if req.MsgData.ContentType == constant.SignalingNotification && userConn.IsBackground { log.Info(req.OperationID, "recv signalingNotification backgroud", req.MsgData.String())