From 7adde6a0a9a955cdff0a78da3da31a17b951673d Mon Sep 17 00:00:00 2001 From: skiffer-git <44203734@qq.com> Date: Tue, 14 Dec 2021 14:53:27 +0800 Subject: [PATCH 01/75] notification --- config/config.yaml | 13 ++ internal/rpc/chat/send_msg.go | 29 ++- internal/rpc/group/create_group.go | 19 ++ pkg/common/config/config.go | 19 +- pkg/proto/sdk_ws/ws.pb.go | 353 ++++++++++++++++++----------- pkg/proto/sdk_ws/ws.proto | 20 +- 6 files changed, 306 insertions(+), 147 deletions(-) diff --git a/config/config.yaml b/config/config.yaml index 02dbc6638..33899fbae 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -160,6 +160,19 @@ messagecallback: stateChange: switch: false +notification: + offlinePush: + switch: true + createGroup: + title: "create group title" + desc: "create group desc" + ext: "create group ext" + quitGroup: + title: "quit group title" + desc: "quit group desc" + ext: "quit group ext" + + #---------------demo configuration---------------------# #The following configuration items are applied to openIM Demo configuration demoswitch: true diff --git a/internal/rpc/chat/send_msg.go b/internal/rpc/chat/send_msg.go index d237c2507..cc865e66a 100644 --- a/internal/rpc/chat/send_msg.go +++ b/internal/rpc/chat/send_msg.go @@ -6,6 +6,7 @@ import ( "Open_IM/pkg/common/config" "Open_IM/pkg/common/constant" "Open_IM/pkg/common/db" + "Open_IM/pkg/common/db/mysql_model/im_mysql_model" http2 "Open_IM/pkg/common/http" "Open_IM/pkg/common/log" "Open_IM/pkg/grpc-etcdv3/getcdv3" @@ -203,17 +204,35 @@ type WSToMsgSvrChatMsg struct { OperationID string `protobuf:"bytes,10,opt,name=OperationID" json:"OperationID,omitempty"` } -func CreateGroupNotification(SendID, RecvID string, tip open_im_sdk.CreateGroupTip) { +func CreateGroupNotification(sendID string, creator im_mysql_model.User, group im_mysql_model.Group, memberList []im_mysql_model.GroupMember) { var msg WSToMsgSvrChatMsg msg.OperationID = utils.OperationIDGenerator() - msg.SendID = SendID - msg.RecvID = RecvID + msg.SendID = sendID + msg.RecvID = group.GroupId msg.ContentType = constant.CreateGroupTip - msg.SessionType = constant.SysMsgType + msg.SessionType = constant.GroupChatType + msg.MsgFrom = constant.SysMsgType + var tip open_im_sdk.CreateGroupTip + tip.Group = &open_im_sdk.GroupInfoTip{} + utils.CopyStructFields(tip.Group, group) + tip.Creator = &open_im_sdk.UserInfoTip{} + utils.CopyStructFields(tip.Creator, creator) + for _, v := range memberList { + var groupMemberInfo open_im_sdk.GroupMemberFullInfoTip + utils.CopyStructFields(&groupMemberInfo, v) + tip.MemberList = append(tip.MemberList, &groupMemberInfo) + } + + msg.Content = utils.StructToJsonString(tip) + var offlinePushInfo open_im_sdk.OfflinePushInfo + offlinePushInfo.Title = "create group title" + offlinePushInfo.Desc = "create group desc" + offlinePushInfo.Ext = "create group ext" + Notification(&msg, false, offlinePushInfo) } -func Notification(m *WSToMsgSvrChatMsg, onlineUserOnly bool, offlineInfo open_im_sdk.OfflinePushInfo) { +func Notification(m *WSToMsgSvrChatMsg, onlineUserOnly bool, offlinePushInfo open_im_sdk.OfflinePushInfo) { } diff --git a/internal/rpc/group/create_group.go b/internal/rpc/group/create_group.go index 35e6616ee..e36048304 100644 --- a/internal/rpc/group/create_group.go +++ b/internal/rpc/group/create_group.go @@ -3,6 +3,7 @@ package group import ( "Open_IM/internal/push/content_struct" "Open_IM/internal/push/logic" + "Open_IM/internal/rpc/chat" "Open_IM/pkg/common/config" "Open_IM/pkg/common/constant" "Open_IM/pkg/common/db" @@ -12,6 +13,7 @@ import ( "Open_IM/pkg/grpc-etcdv3/getcdv3" pbChat "Open_IM/pkg/proto/chat" pbGroup "Open_IM/pkg/proto/group" + open_im_sdk "Open_IM/pkg/proto/sdk_ws" "Open_IM/pkg/utils" "context" "google.golang.org/grpc" @@ -157,6 +159,23 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupR }) } + var tip open_im_sdk.CreateGroupTip + groupInfo, err := im_mysql_model.FindGroupInfoByGroupId(groupId) + if err != nil { + return &pbGroup.CreateGroupResp{ErrorCode: constant.ErrCreateGroup.ErrCode, ErrorMsg: constant.ErrCreateGroup.ErrMsg}, nil + } + + creatorInfo, err := im_mysql_model.FindUserByUID(claims.UID) + if err != nil { + + } + + memberList, err := im_mysql_model.FindGroupMemberListByGroupId(groupId) + if err != nil { + + } + chat.CreateGroupNotification(claims.UID, *creatorInfo, *groupInfo, memberList) + log.Info(req.Token, req.OperationID, "rpc create group success return") return &pbGroup.CreateGroupResp{GroupID: groupId}, nil } diff --git a/pkg/common/config/config.go b/pkg/common/config/config.go index f7bb65935..05ce6e9e1 100644 --- a/pkg/common/config/config.go +++ b/pkg/common/config/config.go @@ -1,7 +1,7 @@ package config import ( - "gopkg.in/yaml.v3" + "fmt" "io/ioutil" "path/filepath" "runtime" @@ -172,6 +172,21 @@ type config struct { SmtpPort int `yaml:"smtpPort"` } } + Notification struct { + OfflinePush struct { + Switch bool `yaml:"switch"` + } + CreateGroup struct { + Title string `yaml:"title"` + Desc string `yaml:"desc"` + Ext string `yaml:"ext"` + } + QuiteGroup struct { + Title string `yaml:"title"` + Desc string `yaml:"desc"` + Ext string `yaml:"ext"` + } + } } func init() { @@ -186,5 +201,5 @@ func init() { if err = yaml.Unmarshal(bytes, &Config); err != nil { panic(err.Error()) } - + fmt.Println("init load config: ", Config) } diff --git a/pkg/proto/sdk_ws/ws.pb.go b/pkg/proto/sdk_ws/ws.pb.go index 7e1115f94..bdaa3ab97 100644 --- a/pkg/proto/sdk_ws/ws.pb.go +++ b/pkg/proto/sdk_ws/ws.pb.go @@ -32,7 +32,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_d55c44e342c7a2b5, []int{0} + return fileDescriptor_ws_0e67cfdf7b3776b1, []int{0} } func (m *PullMessageBySeqListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListResp.Unmarshal(m, b) @@ -91,7 +91,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_d55c44e342c7a2b5, []int{1} + return fileDescriptor_ws_0e67cfdf7b3776b1, []int{1} } func (m *PullMessageBySeqListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListReq.Unmarshal(m, b) @@ -128,7 +128,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_d55c44e342c7a2b5, []int{2} + return fileDescriptor_ws_0e67cfdf7b3776b1, []int{2} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -160,7 +160,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_d55c44e342c7a2b5, []int{3} + return fileDescriptor_ws_0e67cfdf7b3776b1, []int{3} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -208,7 +208,7 @@ func (m *GatherFormat) Reset() { *m = GatherFormat{} } func (m *GatherFormat) String() string { return proto.CompactTextString(m) } func (*GatherFormat) ProtoMessage() {} func (*GatherFormat) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d55c44e342c7a2b5, []int{4} + return fileDescriptor_ws_0e67cfdf7b3776b1, []int{4} } func (m *GatherFormat) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GatherFormat.Unmarshal(m, b) @@ -276,7 +276,7 @@ func (m *MsgFormat) Reset() { *m = MsgFormat{} } func (m *MsgFormat) String() string { return proto.CompactTextString(m) } func (*MsgFormat) ProtoMessage() {} func (*MsgFormat) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d55c44e342c7a2b5, []int{5} + return fileDescriptor_ws_0e67cfdf7b3776b1, []int{5} } func (m *MsgFormat) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgFormat.Unmarshal(m, b) @@ -401,7 +401,7 @@ func (m *UserSendMsgReq) Reset() { *m = UserSendMsgReq{} } func (m *UserSendMsgReq) String() string { return proto.CompactTextString(m) } func (*UserSendMsgReq) ProtoMessage() {} func (*UserSendMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d55c44e342c7a2b5, []int{6} + return fileDescriptor_ws_0e67cfdf7b3776b1, []int{6} } func (m *UserSendMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserSendMsgReq.Unmarshal(m, b) @@ -511,7 +511,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_d55c44e342c7a2b5, []int{7} + return fileDescriptor_ws_0e67cfdf7b3776b1, []int{7} } func (m *UserSendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserSendMsgResp.Unmarshal(m, b) @@ -575,7 +575,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_d55c44e342c7a2b5, []int{8} + return fileDescriptor_ws_0e67cfdf7b3776b1, []int{8} } func (m *MsgData) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgData.Unmarshal(m, b) @@ -699,7 +699,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_d55c44e342c7a2b5, []int{9} + return fileDescriptor_ws_0e67cfdf7b3776b1, []int{9} } func (m *OfflinePushInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OfflinePushInfo.Unmarshal(m, b) @@ -759,7 +759,7 @@ func (m *GroupInfoTip) Reset() { *m = GroupInfoTip{} } func (m *GroupInfoTip) String() string { return proto.CompactTextString(m) } func (*GroupInfoTip) ProtoMessage() {} func (*GroupInfoTip) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d55c44e342c7a2b5, []int{10} + return fileDescriptor_ws_0e67cfdf7b3776b1, []int{10} } func (m *GroupInfoTip) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfoTip.Unmarshal(m, b) @@ -842,6 +842,138 @@ func (m *GroupInfoTip) GetMemberCount() uint32 { return 0 } +type GroupMemberFullInfoTip struct { + GroupId string `protobuf:"bytes,1,opt,name=GroupId" json:"GroupId,omitempty"` + UserId string `protobuf:"bytes,2,opt,name=UserId" json:"UserId,omitempty"` + Role int32 `protobuf:"varint,3,opt,name=Role" json:"Role,omitempty"` + JoinTime uint64 `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"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GroupMemberFullInfoTip) Reset() { *m = GroupMemberFullInfoTip{} } +func (m *GroupMemberFullInfoTip) String() string { return proto.CompactTextString(m) } +func (*GroupMemberFullInfoTip) ProtoMessage() {} +func (*GroupMemberFullInfoTip) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_0e67cfdf7b3776b1, []int{11} +} +func (m *GroupMemberFullInfoTip) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GroupMemberFullInfoTip.Unmarshal(m, b) +} +func (m *GroupMemberFullInfoTip) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GroupMemberFullInfoTip.Marshal(b, m, deterministic) +} +func (dst *GroupMemberFullInfoTip) XXX_Merge(src proto.Message) { + xxx_messageInfo_GroupMemberFullInfoTip.Merge(dst, src) +} +func (m *GroupMemberFullInfoTip) XXX_Size() int { + return xxx_messageInfo_GroupMemberFullInfoTip.Size(m) +} +func (m *GroupMemberFullInfoTip) XXX_DiscardUnknown() { + xxx_messageInfo_GroupMemberFullInfoTip.DiscardUnknown(m) +} + +var xxx_messageInfo_GroupMemberFullInfoTip proto.InternalMessageInfo + +func (m *GroupMemberFullInfoTip) GetGroupId() string { + if m != nil { + return m.GroupId + } + return "" +} + +func (m *GroupMemberFullInfoTip) GetUserId() string { + if m != nil { + return m.UserId + } + return "" +} + +func (m *GroupMemberFullInfoTip) GetRole() int32 { + if m != nil { + return m.Role + } + return 0 +} + +func (m *GroupMemberFullInfoTip) GetJoinTime() uint64 { + if m != nil { + return m.JoinTime + } + return 0 +} + +func (m *GroupMemberFullInfoTip) GetNickName() string { + if m != nil { + return m.NickName + } + return "" +} + +func (m *GroupMemberFullInfoTip) GetFaceUrl() string { + if m != nil { + return m.FaceUrl + } + return "" +} + +type CreateGroupTip struct { + Group *GroupInfoTip `protobuf:"bytes,1,opt,name=Group" json:"Group,omitempty"` + Creator *UserInfoTip `protobuf:"bytes,2,opt,name=Creator" json:"Creator,omitempty"` + MemberList []*GroupMemberFullInfoTip `protobuf:"bytes,3,rep,name=MemberList" json:"MemberList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CreateGroupTip) Reset() { *m = CreateGroupTip{} } +func (m *CreateGroupTip) String() string { return proto.CompactTextString(m) } +func (*CreateGroupTip) ProtoMessage() {} +func (*CreateGroupTip) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_0e67cfdf7b3776b1, []int{12} +} +func (m *CreateGroupTip) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CreateGroupTip.Unmarshal(m, b) +} +func (m *CreateGroupTip) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CreateGroupTip.Marshal(b, m, deterministic) +} +func (dst *CreateGroupTip) XXX_Merge(src proto.Message) { + xxx_messageInfo_CreateGroupTip.Merge(dst, src) +} +func (m *CreateGroupTip) XXX_Size() int { + return xxx_messageInfo_CreateGroupTip.Size(m) +} +func (m *CreateGroupTip) XXX_DiscardUnknown() { + xxx_messageInfo_CreateGroupTip.DiscardUnknown(m) +} + +var xxx_messageInfo_CreateGroupTip proto.InternalMessageInfo + +func (m *CreateGroupTip) GetGroup() *GroupInfoTip { + if m != nil { + return m.Group + } + return nil +} + +func (m *CreateGroupTip) GetCreator() *UserInfoTip { + if m != nil { + return m.Creator + } + return nil +} + +func (m *CreateGroupTip) GetMemberList() []*GroupMemberFullInfoTip { + if m != nil { + return m.MemberList + } + return nil +} + type UserInfoTip struct { UserID string `protobuf:"bytes,1,opt,name=UserID" json:"UserID,omitempty"` Name string `protobuf:"bytes,2,opt,name=Name" json:"Name,omitempty"` @@ -860,7 +992,7 @@ func (m *UserInfoTip) Reset() { *m = UserInfoTip{} } func (m *UserInfoTip) String() string { return proto.CompactTextString(m) } func (*UserInfoTip) ProtoMessage() {} func (*UserInfoTip) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d55c44e342c7a2b5, []int{11} + return fileDescriptor_ws_0e67cfdf7b3776b1, []int{13} } func (m *UserInfoTip) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfoTip.Unmarshal(m, b) @@ -936,60 +1068,6 @@ func (m *UserInfoTip) GetEx() string { return "" } -type CreateGroupTip struct { - Group *GroupInfoTip `protobuf:"bytes,1,opt,name=group" json:"group,omitempty"` - Creator *UserInfoTip `protobuf:"bytes,2,opt,name=creator" json:"creator,omitempty"` - MemberList []*UserInfoTip `protobuf:"bytes,3,rep,name=memberList" json:"memberList,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *CreateGroupTip) Reset() { *m = CreateGroupTip{} } -func (m *CreateGroupTip) String() string { return proto.CompactTextString(m) } -func (*CreateGroupTip) ProtoMessage() {} -func (*CreateGroupTip) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_d55c44e342c7a2b5, []int{12} -} -func (m *CreateGroupTip) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_CreateGroupTip.Unmarshal(m, b) -} -func (m *CreateGroupTip) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_CreateGroupTip.Marshal(b, m, deterministic) -} -func (dst *CreateGroupTip) XXX_Merge(src proto.Message) { - xxx_messageInfo_CreateGroupTip.Merge(dst, src) -} -func (m *CreateGroupTip) XXX_Size() int { - return xxx_messageInfo_CreateGroupTip.Size(m) -} -func (m *CreateGroupTip) XXX_DiscardUnknown() { - xxx_messageInfo_CreateGroupTip.DiscardUnknown(m) -} - -var xxx_messageInfo_CreateGroupTip proto.InternalMessageInfo - -func (m *CreateGroupTip) GetGroup() *GroupInfoTip { - if m != nil { - return m.Group - } - return nil -} - -func (m *CreateGroupTip) GetCreator() *UserInfoTip { - if m != nil { - return m.Creator - } - return nil -} - -func (m *CreateGroupTip) GetMemberList() []*UserInfoTip { - if m != nil { - return m.MemberList - } - return nil -} - func init() { proto.RegisterType((*PullMessageBySeqListResp)(nil), "open_im_sdk.PullMessageBySeqListResp") proto.RegisterType((*PullMessageBySeqListReq)(nil), "open_im_sdk.PullMessageBySeqListReq") @@ -1003,76 +1081,81 @@ func init() { proto.RegisterType((*MsgData)(nil), "open_im_sdk.MsgData") proto.RegisterType((*OfflinePushInfo)(nil), "open_im_sdk.OfflinePushInfo") proto.RegisterType((*GroupInfoTip)(nil), "open_im_sdk.GroupInfoTip") - proto.RegisterType((*UserInfoTip)(nil), "open_im_sdk.UserInfoTip") + proto.RegisterType((*GroupMemberFullInfoTip)(nil), "open_im_sdk.GroupMemberFullInfoTip") proto.RegisterType((*CreateGroupTip)(nil), "open_im_sdk.CreateGroupTip") + proto.RegisterType((*UserInfoTip)(nil), "open_im_sdk.UserInfoTip") } -func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_d55c44e342c7a2b5) } - -var fileDescriptor_ws_d55c44e342c7a2b5 = []byte{ - // 1021 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x56, 0xcb, 0x6e, 0x23, 0xb7, - 0x12, 0x85, 0xba, 0xf5, 0x2c, 0xc9, 0xf6, 0x80, 0xd7, 0xf0, 0xed, 0x0c, 0x82, 0x40, 0x68, 0x04, - 0x81, 0x30, 0x0b, 0x19, 0xf0, 0x6c, 0x06, 0x13, 0x04, 0x41, 0x6c, 0xc9, 0x86, 0x82, 0x91, 0x6d, - 0xb4, 0x3c, 0x9b, 0x6c, 0x8c, 0x76, 0x8b, 0x92, 0x1b, 0xee, 0x87, 0xd4, 0xa4, 0x6c, 0xf9, 0x3f, - 0xb2, 0xcd, 0x37, 0x64, 0x9d, 0x5f, 0xc8, 0x22, 0x7f, 0x14, 0x20, 0xa8, 0x22, 0x5b, 0x26, 0x25, - 0xe7, 0xb1, 0xe3, 0x39, 0xaa, 0x22, 0x59, 0xe7, 0x54, 0xb5, 0x08, 0x07, 0x62, 0xfa, 0x70, 0xfb, - 0x24, 0x8e, 0x9f, 0x44, 0x7f, 0x51, 0xe4, 0x32, 0x67, 0xed, 0x7c, 0xc1, 0xb3, 0xdb, 0x38, 0xbd, - 0x15, 0xd3, 0x07, 0xff, 0xf7, 0x0a, 0x78, 0xd7, 0xab, 0x24, 0x19, 0x73, 0x21, 0xc2, 0x39, 0x3f, - 0x7d, 0x9e, 0xf0, 0xe5, 0xa7, 0x58, 0xc8, 0x80, 0x8b, 0x05, 0x3b, 0x82, 0xfa, 0x38, 0x5c, 0x4f, - 0xf8, 0xd2, 0xab, 0x74, 0x2b, 0x3d, 0x37, 0xd0, 0x88, 0xf8, 0x38, 0x43, 0xde, 0xd1, 0x3c, 0x21, - 0xf6, 0x3d, 0xec, 0x4d, 0xe2, 0x6c, 0x9e, 0xf0, 0xcf, 0x82, 0x17, 0x63, 0x31, 0xf7, 0xdc, 0xae, - 0xdb, 0x6b, 0x9f, 0x7c, 0xd1, 0x37, 0x4e, 0xec, 0x5f, 0x84, 0xf2, 0x9e, 0x17, 0xe7, 0x79, 0x91, - 0x86, 0x32, 0xb0, 0xe3, 0xd9, 0x77, 0xd0, 0xb9, 0x28, 0xf2, 0xd5, 0xa2, 0xcc, 0xaf, 0xfe, 0x5b, - 0xbe, 0x15, 0xee, 0xbf, 0x87, 0xff, 0xbf, 0x5e, 0xcb, 0x92, 0x79, 0xd0, 0x10, 0x0a, 0x79, 0x95, - 0xae, 0xdb, 0x73, 0x83, 0x12, 0xfa, 0x87, 0xc0, 0x2e, 0xb8, 0x1c, 0x87, 0xeb, 0x1f, 0xb2, 0xa9, - 0xaa, 0x23, 0xe0, 0x4b, 0x7f, 0x08, 0xff, 0xdb, 0x61, 0x95, 0x22, 0xa9, 0xa5, 0x48, 0xba, 0x51, - 0x24, 0xb5, 0x14, 0x51, 0xc8, 0xff, 0x11, 0x3a, 0xe6, 0x7d, 0xd9, 0x3e, 0x38, 0xa3, 0x01, 0xe5, - 0xb6, 0x02, 0x67, 0x34, 0x60, 0xef, 0xa0, 0x4a, 0x77, 0x72, 0xa8, 0xd0, 0x23, 0xab, 0xd0, 0xb1, - 0x98, 0xeb, 0x2a, 0x29, 0xc6, 0xff, 0xd3, 0x81, 0xd6, 0x86, 0xc3, 0x13, 0x27, 0x3c, 0x9b, 0x6e, - 0x76, 0xd3, 0x08, 0xf9, 0x80, 0x47, 0x8f, 0xa3, 0x01, 0xdd, 0xa4, 0x15, 0x68, 0x84, 0x02, 0x60, - 0x72, 0x91, 0xa7, 0x9e, 0xdb, 0xad, 0xf4, 0x6a, 0x41, 0x09, 0x59, 0x17, 0xda, 0x67, 0x79, 0x26, - 0x79, 0x26, 0x6f, 0x9e, 0x17, 0xdc, 0xab, 0xd2, 0xaf, 0x26, 0x85, 0x11, 0x13, 0x5e, 0x3c, 0x92, - 0xc8, 0xa3, 0x81, 0x57, 0xa3, 0x8d, 0x4d, 0x0a, 0x77, 0xd7, 0x09, 0x5e, 0x9d, 0x7e, 0x2d, 0x21, - 0x7b, 0x03, 0x2e, 0xca, 0xd2, 0x20, 0x59, 0x70, 0xc9, 0xde, 0x42, 0x13, 0xef, 0x7a, 0x13, 0xa7, - 0xdc, 0x6b, 0x12, 0xbd, 0xc1, 0xec, 0x1d, 0xbc, 0xc1, 0x35, 0x2f, 0xae, 0x93, 0x50, 0xce, 0xf2, - 0x22, 0x1d, 0x0d, 0xbc, 0x16, 0x5d, 0x68, 0x87, 0x67, 0xdf, 0xc0, 0xbe, 0xe2, 0x2e, 0xe3, 0xe8, - 0xe1, 0x32, 0x4c, 0xb9, 0x07, 0x74, 0xf4, 0x16, 0xcb, 0xbe, 0x86, 0x3d, 0xc5, 0x9c, 0x87, 0x11, - 0xff, 0x1c, 0x7c, 0xf2, 0xda, 0x14, 0x66, 0x93, 0xa4, 0x42, 0x12, 0xf3, 0x4c, 0xaa, 0x1a, 0x3b, - 0xaa, 0x46, 0x83, 0xf2, 0xff, 0x70, 0x61, 0x1f, 0x3b, 0x0d, 0xf3, 0xc6, 0x62, 0x8e, 0x5d, 0x75, - 0x0a, 0x8d, 0xab, 0x85, 0x8c, 0xf3, 0x4c, 0x50, 0x57, 0xb5, 0x4f, 0x7a, 0x96, 0x83, 0x76, 0x74, - 0x5f, 0x87, 0x0e, 0x33, 0x59, 0x3c, 0x07, 0x65, 0xe2, 0x2b, 0x65, 0x38, 0xff, 0xad, 0x0c, 0xf7, - 0xb5, 0x32, 0xbe, 0x02, 0x30, 0xa4, 0x53, 0x5e, 0x1a, 0x8c, 0xb2, 0x52, 0x88, 0x38, 0xcf, 0xc8, - 0xec, 0x9a, 0x32, 0xdb, 0xa0, 0xcc, 0x46, 0xa9, 0xff, 0x63, 0xa3, 0x34, 0x76, 0x1b, 0xe5, 0xa5, - 0xf9, 0x9a, 0x56, 0xf3, 0x7d, 0x09, 0xad, 0xf3, 0xbc, 0x88, 0x38, 0xf5, 0x7a, 0xab, 0xeb, 0xf6, - 0x5a, 0xc1, 0x0b, 0x61, 0x36, 0x0f, 0xd8, 0xcd, 0xb3, 0x65, 0x4a, 0x7b, 0xc7, 0x94, 0xb7, 0x1f, - 0xa1, 0x63, 0xca, 0x8a, 0xed, 0xf6, 0xc0, 0x9f, 0xf5, 0x4c, 0xe0, 0x92, 0x1d, 0x42, 0xed, 0x31, - 0x4c, 0x56, 0x4a, 0xd6, 0x5a, 0xa0, 0xc0, 0x47, 0xe7, 0x43, 0xc5, 0x5f, 0xc2, 0x81, 0xe5, 0x90, - 0x58, 0x6c, 0x77, 0x7a, 0x65, 0xb7, 0xd3, 0xb7, 0xae, 0xe4, 0xec, 0x5c, 0x09, 0xfb, 0x5b, 0x94, - 0xfd, 0xed, 0xaa, 0xfe, 0x2e, 0xb1, 0xff, 0x8b, 0x4b, 0xea, 0x0e, 0x42, 0x19, 0xa2, 0x58, 0xc2, - 0x9a, 0x60, 0xb1, 0x99, 0xe0, 0xc2, 0x9a, 0x60, 0x85, 0xf0, 0x64, 0x61, 0x58, 0xa7, 0xa6, 0xd8, - 0xa4, 0x50, 0xc8, 0x54, 0x5b, 0xa7, 0x9c, 0x2f, 0x21, 0xe6, 0x46, 0x86, 0x75, 0xda, 0xf6, 0xc8, - 0x9e, 0x71, 0x61, 0x54, 0xae, 0xa6, 0xd8, 0xa4, 0x70, 0x77, 0x9d, 0x40, 0xd6, 0xb7, 0x82, 0x12, - 0x5a, 0x15, 0x37, 0xed, 0x8a, 0xd1, 0x10, 0xc1, 0x97, 0x34, 0xc4, 0x6e, 0x80, 0x4b, 0x9c, 0x71, - 0xb1, 0x3d, 0xe3, 0xa0, 0x66, 0x5c, 0xbc, 0x32, 0xe3, 0xc2, 0x1e, 0x0e, 0xd5, 0x03, 0x5b, 0x2c, - 0x0e, 0x87, 0xb0, 0x86, 0x43, 0xcd, 0xaf, 0x4d, 0x92, 0x0a, 0x86, 0x77, 0x7b, 0xaa, 0x46, 0x83, - 0xf2, 0xc7, 0x70, 0x70, 0x35, 0x9b, 0x25, 0x71, 0xc6, 0xaf, 0x57, 0xe2, 0x7e, 0x94, 0xcd, 0x72, - 0xec, 0x9f, 0x9b, 0x58, 0x26, 0x5c, 0xbb, 0xa4, 0x00, 0x63, 0x50, 0x1d, 0x70, 0x11, 0x69, 0x8b, - 0x68, 0x8d, 0xa5, 0x0e, 0xd7, 0x52, 0xcf, 0x25, 0x2e, 0xfd, 0x9f, 0x1d, 0xfd, 0x87, 0x86, 0x3b, - 0xdd, 0xc4, 0x0b, 0xd4, 0x50, 0xe1, 0xd2, 0xf4, 0x12, 0xe2, 0x88, 0xd0, 0xd2, 0xf8, 0x02, 0xbc, - 0x10, 0xcc, 0x87, 0xce, 0x65, 0x2e, 0xe3, 0x59, 0x1c, 0x85, 0xd8, 0xec, 0xfa, 0x0c, 0x8b, 0xc3, - 0x98, 0x51, 0x26, 0x8b, 0x7c, 0xba, 0x8a, 0x28, 0xa6, 0xaa, 0x62, 0x4c, 0x0e, 0xcf, 0x27, 0x31, - 0x8a, 0x44, 0x7f, 0xc5, 0x4b, 0x88, 0xff, 0x4c, 0xc3, 0xb5, 0xb6, 0xdd, 0x19, 0xae, 0x31, 0xf2, - 0xea, 0x29, 0xe3, 0xc5, 0x68, 0x50, 0xba, 0xad, 0x21, 0x7e, 0x62, 0xce, 0x0a, 0x1e, 0x4a, 0xbe, - 0xf1, 0xbb, 0x1a, 0x18, 0x0c, 0xaa, 0x3c, 0xe6, 0xe9, 0x1d, 0x2f, 0xce, 0xf2, 0x55, 0x26, 0xc9, - 0xf9, 0xbd, 0xc0, 0xa4, 0xfc, 0xdf, 0x2a, 0xd0, 0xc6, 0xc9, 0x2b, 0x55, 0x39, 0x82, 0x3a, 0xc1, - 0xcd, 0x24, 0x28, 0x84, 0x22, 0x1b, 0x72, 0xd0, 0x1a, 0xb9, 0x51, 0xb4, 0x51, 0x80, 0xd6, 0x98, - 0x7f, 0x41, 0x46, 0xeb, 0xb6, 0xd7, 0x88, 0xde, 0x29, 0xf9, 0x5d, 0x9c, 0x70, 0x5d, 0xac, 0x46, - 0x68, 0xe9, 0x69, 0x5c, 0xc8, 0x7b, 0x5d, 0xae, 0x02, 0xc8, 0x0e, 0xd3, 0x30, 0x4e, 0x74, 0xbd, - 0x0a, 0x68, 0x5d, 0x9a, 0xa5, 0x2e, 0xfe, 0xaf, 0x15, 0xd8, 0x57, 0xc5, 0x92, 0x3b, 0x78, 0xfd, - 0x63, 0xa8, 0xcd, 0x71, 0x4d, 0xb7, 0xdf, 0x79, 0xae, 0x18, 0xf6, 0x07, 0x2a, 0x8e, 0x9d, 0x40, - 0x23, 0xc2, 0x2d, 0xf2, 0x82, 0x4a, 0x6b, 0x9f, 0x78, 0x3b, 0x7f, 0x1b, 0x65, 0x46, 0x19, 0xc8, - 0x3e, 0x00, 0xa4, 0x24, 0x21, 0x7d, 0x43, 0xd5, 0xc3, 0xea, 0xef, 0xd3, 0x8c, 0xd8, 0xd3, 0xa3, - 0x9f, 0x0e, 0xfb, 0xc7, 0xea, 0x11, 0xf8, 0xad, 0x11, 0x7f, 0x57, 0xa7, 0xe7, 0xe0, 0xfb, 0xbf, - 0x02, 0x00, 0x00, 0xff, 0xff, 0xc2, 0x41, 0x03, 0xcb, 0x21, 0x0a, 0x00, 0x00, +func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_0e67cfdf7b3776b1) } + +var fileDescriptor_ws_0e67cfdf7b3776b1 = []byte{ + // 1078 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x56, 0x5d, 0x4f, 0xe3, 0x46, + 0x14, 0x95, 0xed, 0x04, 0xc8, 0x0d, 0xb0, 0xab, 0x29, 0xa2, 0xee, 0xaa, 0xaa, 0x22, 0xb7, 0xaa, + 0xa2, 0x7d, 0x00, 0x89, 0x7d, 0xa9, 0xb6, 0xaa, 0xaa, 0x42, 0x02, 0xf2, 0x6a, 0x03, 0x68, 0x60, + 0x5f, 0xfa, 0x82, 0x8c, 0x33, 0x80, 0x85, 0x3f, 0x12, 0x8f, 0x03, 0xe1, 0x7f, 0xf4, 0xb5, 0xff, + 0xa1, 0xaf, 0xed, 0x4f, 0xe8, 0x43, 0xff, 0x51, 0xa5, 0xea, 0xde, 0x19, 0x9b, 0x99, 0x18, 0xb5, + 0x7d, 0x9b, 0x73, 0x72, 0xc7, 0x33, 0xf7, 0x9c, 0x73, 0x1d, 0xc3, 0x2b, 0x39, 0xbd, 0xbf, 0x7a, + 0x94, 0xfb, 0x8f, 0x72, 0x6f, 0x56, 0x16, 0x55, 0xc1, 0xfa, 0xc5, 0x4c, 0xe4, 0x57, 0x49, 0x76, + 0x25, 0xa7, 0xf7, 0xc1, 0x9f, 0x0e, 0xf8, 0xe7, 0x8b, 0x34, 0x9d, 0x08, 0x29, 0xa3, 0x5b, 0x71, + 0xf8, 0x74, 0x21, 0xe6, 0x1f, 0x13, 0x59, 0x71, 0x21, 0x67, 0x6c, 0x17, 0xd6, 0x26, 0xd1, 0xf2, + 0x42, 0xcc, 0x7d, 0x67, 0xe0, 0x0c, 0x3d, 0xae, 0x11, 0xf1, 0x49, 0x8e, 0xbc, 0xab, 0x79, 0x42, + 0xec, 0x47, 0xd8, 0xba, 0x48, 0xf2, 0xdb, 0x54, 0x7c, 0x92, 0xa2, 0x9c, 0xc8, 0x5b, 0xdf, 0x1b, + 0x78, 0xc3, 0xfe, 0xc1, 0x17, 0x7b, 0xc6, 0x89, 0x7b, 0x27, 0x51, 0x75, 0x27, 0xca, 0xe3, 0xa2, + 0xcc, 0xa2, 0x8a, 0xdb, 0xf5, 0xec, 0x07, 0xd8, 0x3c, 0x29, 0x8b, 0xc5, 0xac, 0xde, 0xdf, 0xf9, + 0xaf, 0xfd, 0x56, 0x79, 0xf0, 0x0e, 0x3e, 0x7f, 0xb9, 0x97, 0x39, 0xf3, 0x61, 0x5d, 0x2a, 0xe4, + 0x3b, 0x03, 0x6f, 0xe8, 0xf1, 0x1a, 0x06, 0x3b, 0xc0, 0x4e, 0x44, 0x35, 0x89, 0x96, 0x3f, 0xe5, + 0x53, 0xd5, 0x07, 0x17, 0xf3, 0x60, 0x0c, 0x9f, 0xb5, 0x58, 0xa5, 0x48, 0x66, 0x29, 0x92, 0x35, + 0x8a, 0x64, 0x96, 0x22, 0x0a, 0x05, 0x1f, 0x60, 0xd3, 0xbc, 0x2f, 0xdb, 0x06, 0x37, 0x1c, 0xd1, + 0xde, 0x1e, 0x77, 0xc3, 0x11, 0x7b, 0x0b, 0x1d, 0xba, 0x93, 0x4b, 0x8d, 0xee, 0x5a, 0x8d, 0x4e, + 0xe4, 0xad, 0xee, 0x92, 0x6a, 0x82, 0xbf, 0x5d, 0xe8, 0x35, 0x1c, 0x9e, 0x78, 0x21, 0xf2, 0x69, + 0xf3, 0x34, 0x8d, 0x90, 0xe7, 0x22, 0x7e, 0x08, 0x47, 0x74, 0x93, 0x1e, 0xd7, 0x08, 0x05, 0xc0, + 0xcd, 0x65, 0x91, 0xf9, 0xde, 0xc0, 0x19, 0x76, 0x79, 0x0d, 0xd9, 0x00, 0xfa, 0x47, 0x45, 0x5e, + 0x89, 0xbc, 0xba, 0x7c, 0x9a, 0x09, 0xbf, 0x43, 0xbf, 0x9a, 0x14, 0x56, 0x5c, 0x88, 0xf2, 0x81, + 0x44, 0x0e, 0x47, 0x7e, 0x97, 0x1e, 0x6c, 0x52, 0xf8, 0x74, 0xbd, 0xc1, 0x5f, 0xa3, 0x5f, 0x6b, + 0xc8, 0x5e, 0x83, 0x87, 0xb2, 0xac, 0x93, 0x2c, 0xb8, 0x64, 0x6f, 0x60, 0x03, 0xef, 0x7a, 0x99, + 0x64, 0xc2, 0xdf, 0x20, 0xba, 0xc1, 0xec, 0x2d, 0xbc, 0xc6, 0xb5, 0x28, 0xcf, 0xd3, 0xa8, 0xba, + 0x29, 0xca, 0x2c, 0x1c, 0xf9, 0x3d, 0xba, 0x50, 0x8b, 0x67, 0xdf, 0xc2, 0xb6, 0xe2, 0x4e, 0x93, + 0xf8, 0xfe, 0x34, 0xca, 0x84, 0x0f, 0x74, 0xf4, 0x0a, 0xcb, 0xbe, 0x81, 0x2d, 0xc5, 0x1c, 0x47, + 0xb1, 0xf8, 0xc4, 0x3f, 0xfa, 0x7d, 0x2a, 0xb3, 0x49, 0x52, 0x21, 0x4d, 0x44, 0x5e, 0xa9, 0x1e, + 0x37, 0x55, 0x8f, 0x06, 0x15, 0xfc, 0xe5, 0xc1, 0x36, 0x26, 0x0d, 0xf7, 0x4d, 0xe4, 0x2d, 0xa6, + 0xea, 0x10, 0xd6, 0xcf, 0x66, 0x55, 0x52, 0xe4, 0x92, 0x52, 0xd5, 0x3f, 0x18, 0x5a, 0x0e, 0xda, + 0xd5, 0x7b, 0xba, 0x74, 0x9c, 0x57, 0xe5, 0x13, 0xaf, 0x37, 0xbe, 0xd0, 0x86, 0xfb, 0xff, 0xda, + 0xf0, 0x5e, 0x6a, 0xe3, 0x2b, 0x00, 0x43, 0x3a, 0xe5, 0xa5, 0xc1, 0x28, 0x2b, 0xa5, 0x4c, 0x8a, + 0x9c, 0xcc, 0xee, 0x2a, 0xb3, 0x0d, 0xca, 0x0c, 0xca, 0xda, 0xbf, 0x06, 0x65, 0xbd, 0x1d, 0x94, + 0xe7, 0xf0, 0x6d, 0x58, 0xe1, 0xfb, 0x12, 0x7a, 0xc7, 0x45, 0x19, 0x0b, 0xca, 0x7a, 0x6f, 0xe0, + 0x0d, 0x7b, 0xfc, 0x99, 0x30, 0xc3, 0x03, 0x76, 0x78, 0x56, 0x4c, 0xe9, 0xb7, 0x4c, 0x79, 0xf3, + 0x1e, 0x36, 0x4d, 0x59, 0x31, 0x6e, 0xf7, 0xe2, 0x49, 0xcf, 0x04, 0x2e, 0xd9, 0x0e, 0x74, 0x1f, + 0xa2, 0x74, 0xa1, 0x64, 0xed, 0x72, 0x05, 0xde, 0xbb, 0xdf, 0x39, 0xc1, 0x1c, 0x5e, 0x59, 0x0e, + 0xc9, 0xd9, 0x6a, 0xd2, 0x9d, 0x76, 0xd2, 0x57, 0xae, 0xe4, 0xb6, 0xae, 0x84, 0xf9, 0x96, 0x75, + 0xbe, 0x3d, 0x95, 0xef, 0x1a, 0x07, 0xbf, 0x7a, 0xa4, 0xee, 0x28, 0xaa, 0x22, 0x14, 0x4b, 0x5a, + 0x13, 0x2c, 0x9b, 0x09, 0x2e, 0xad, 0x09, 0x56, 0x08, 0x4f, 0x96, 0x86, 0x75, 0x6a, 0x8a, 0x4d, + 0x0a, 0x85, 0xcc, 0xb4, 0x75, 0xca, 0xf9, 0x1a, 0xe2, 0xde, 0xd8, 0xb0, 0x4e, 0xdb, 0x1e, 0xdb, + 0x33, 0x2e, 0x8d, 0xce, 0xd5, 0x14, 0x9b, 0x14, 0x3e, 0x5d, 0x6f, 0x20, 0xeb, 0x7b, 0xbc, 0x86, + 0x56, 0xc7, 0x1b, 0x76, 0xc7, 0x68, 0x88, 0x14, 0x73, 0x1a, 0x62, 0x8f, 0xe3, 0x12, 0x67, 0x5c, + 0xae, 0xce, 0x38, 0xa8, 0x19, 0x97, 0x2f, 0xcc, 0xb8, 0xb4, 0x87, 0x43, 0x65, 0x60, 0x85, 0xc5, + 0xe1, 0x90, 0xd6, 0x70, 0xa8, 0xf9, 0xb5, 0x49, 0x52, 0xc1, 0xf0, 0x6e, 0x4b, 0xf5, 0x68, 0x50, + 0xc1, 0x04, 0x5e, 0x9d, 0xdd, 0xdc, 0xa4, 0x49, 0x2e, 0xce, 0x17, 0xf2, 0x2e, 0xcc, 0x6f, 0x0a, + 0xcc, 0xcf, 0x65, 0x52, 0xa5, 0x42, 0xbb, 0xa4, 0x00, 0x63, 0xd0, 0x19, 0x09, 0x19, 0x6b, 0x8b, + 0x68, 0x8d, 0xad, 0x8e, 0x97, 0x95, 0x9e, 0x4b, 0x5c, 0x06, 0xbf, 0xb8, 0xfa, 0x0f, 0x0d, 0x9f, + 0x74, 0x99, 0xcc, 0x50, 0x43, 0x85, 0x6b, 0xd3, 0x6b, 0x88, 0x23, 0x42, 0x4b, 0xe3, 0x0d, 0xf0, + 0x4c, 0xb0, 0x00, 0x36, 0x4f, 0x8b, 0x2a, 0xb9, 0x49, 0xe2, 0x08, 0xc3, 0xae, 0xcf, 0xb0, 0x38, + 0xac, 0x09, 0xf3, 0xaa, 0x2c, 0xa6, 0x8b, 0x98, 0x6a, 0x3a, 0xaa, 0xc6, 0xe4, 0xf0, 0x7c, 0x12, + 0xa3, 0x4c, 0xf5, 0x5b, 0xbc, 0x86, 0xf8, 0xcf, 0x34, 0x5e, 0x6a, 0xdb, 0xdd, 0xf1, 0x12, 0x2b, + 0xcf, 0x1e, 0x73, 0x51, 0x86, 0xa3, 0xda, 0x6d, 0x0d, 0xf1, 0x15, 0x73, 0x54, 0x8a, 0xa8, 0x12, + 0x8d, 0xdf, 0x1d, 0x6e, 0x30, 0xa8, 0xf2, 0x44, 0x64, 0xd7, 0xa2, 0x3c, 0x2a, 0x16, 0x79, 0x45, + 0xce, 0x6f, 0x71, 0x93, 0x0a, 0x7e, 0x73, 0x60, 0x97, 0x7a, 0x53, 0xe4, 0xf1, 0x22, 0x4d, 0x5b, + 0x02, 0x4d, 0x6d, 0x81, 0xa6, 0x38, 0x16, 0x38, 0xad, 0xe1, 0xb4, 0x1e, 0x0b, 0x85, 0xd0, 0x09, + 0x5e, 0xa4, 0xf5, 0x3c, 0xd0, 0x1a, 0x03, 0xf9, 0xa1, 0x48, 0x72, 0xba, 0x60, 0x87, 0x2e, 0xd8, + 0x60, 0xfc, 0xad, 0x09, 0x93, 0xd2, 0xa0, 0xc1, 0xa6, 0x3c, 0x6b, 0x96, 0x3c, 0xc1, 0x1f, 0x0e, + 0x6c, 0xab, 0x1e, 0xe9, 0x3e, 0x78, 0xd5, 0x7d, 0xe8, 0xd2, 0x9a, 0x2e, 0xda, 0xfa, 0x4a, 0x31, + 0x5c, 0xe7, 0xaa, 0x8e, 0x1d, 0xc0, 0x3a, 0x3d, 0xa2, 0x28, 0xa9, 0x85, 0xfe, 0x81, 0xdf, 0xfa, + 0xb7, 0xa8, 0x77, 0xd4, 0x85, 0xec, 0x08, 0x40, 0x89, 0x44, 0xaf, 0x4e, 0xf5, 0x3d, 0xf5, 0x75, + 0xfb, 0xa4, 0x96, 0x90, 0xdc, 0xd8, 0x16, 0xfc, 0xee, 0x40, 0xdf, 0x78, 0x7a, 0x23, 0x65, 0xf3, + 0xe6, 0x51, 0x08, 0xa5, 0x34, 0xe2, 0x47, 0x6b, 0xe4, 0xc2, 0xb8, 0x49, 0x1c, 0xad, 0x71, 0xff, + 0x09, 0x0d, 0x96, 0x7e, 0xcd, 0x68, 0x44, 0xdf, 0x85, 0xc5, 0x75, 0x92, 0xd6, 0xc2, 0x6a, 0x84, + 0x23, 0x74, 0x98, 0x94, 0xd5, 0x9d, 0x16, 0x55, 0x01, 0x64, 0xc7, 0x59, 0x94, 0xa4, 0x3a, 0x5f, + 0x0a, 0xe8, 0x1c, 0x6e, 0xd4, 0x39, 0x3c, 0xdc, 0xfd, 0x79, 0x67, 0x6f, 0x5f, 0x7d, 0xc2, 0x7e, + 0x6f, 0xb4, 0x7d, 0xbd, 0x46, 0x1f, 0xb3, 0xef, 0xfe, 0x09, 0x00, 0x00, 0xff, 0xff, 0x6f, 0xce, + 0xa8, 0xe0, 0xdf, 0x0a, 0x00, 0x00, } diff --git a/pkg/proto/sdk_ws/ws.proto b/pkg/proto/sdk_ws/ws.proto index 9b9d805b4..5ffc7bcdd 100644 --- a/pkg/proto/sdk_ws/ws.proto +++ b/pkg/proto/sdk_ws/ws.proto @@ -107,10 +107,10 @@ message GroupInfoTip{ -type GroupMemberFullInfoTip struct { +message GroupMemberFullInfoTip { string GroupId = 1 ; string UserId = 2 ; - int Role = 3; + int32 Role = 3; uint64 JoinTime = 4; string NickName = 5; string FaceUrl =6; @@ -119,10 +119,20 @@ type GroupMemberFullInfoTip struct { message CreateGroupTip{ - GroupInfoTip group = 1; - UserInfoTip creator = 2; - repeated GroupMemberFullInfoTip memberList = 3; + GroupInfoTip Group = 1; + UserInfoTip Creator = 2; + repeated GroupMemberFullInfoTip MemberList = 3; } +message UserInfoTip { + string UserID = 1; + string Name = 2; + string Icon = 3; + int32 Gender = 4; + string Mobile = 5; + string Birth = 6; + string Email = 7; + string Ex = 8; +} From b84dbbc3b8c18d33b16aed4c60ef1833397cec2a Mon Sep 17 00:00:00 2001 From: skiffer-git <44203734@qq.com> Date: Tue, 14 Dec 2021 15:11:35 +0800 Subject: [PATCH 02/75] notification --- cmd/Open-IM-SDK-Core | 2 +- internal/rpc/chat/send_msg.go | 6 ++--- internal/rpc/group/create_group.go | 43 +++++------------------------- 3 files changed, 11 insertions(+), 40 deletions(-) diff --git a/cmd/Open-IM-SDK-Core b/cmd/Open-IM-SDK-Core index 369973051..a85c10dbf 160000 --- a/cmd/Open-IM-SDK-Core +++ b/cmd/Open-IM-SDK-Core @@ -1 +1 @@ -Subproject commit 369973051405db1102fd1b99a0226ab79b9922e0 +Subproject commit a85c10dbffbb797b5b2091e209ff67a5534b9bfc diff --git a/internal/rpc/chat/send_msg.go b/internal/rpc/chat/send_msg.go index cc865e66a..f72404789 100644 --- a/internal/rpc/chat/send_msg.go +++ b/internal/rpc/chat/send_msg.go @@ -226,9 +226,9 @@ func CreateGroupNotification(sendID string, creator im_mysql_model.User, group i msg.Content = utils.StructToJsonString(tip) var offlinePushInfo open_im_sdk.OfflinePushInfo - offlinePushInfo.Title = "create group title" - offlinePushInfo.Desc = "create group desc" - offlinePushInfo.Ext = "create group ext" + offlinePushInfo.Title = config.Config.Notification.CreateGroup.Title + offlinePushInfo.Desc = config.Config.Notification.CreateGroup.Desc + offlinePushInfo.Ext = config.Config.Notification.CreateGroup.Ext Notification(&msg, false, offlinePushInfo) } diff --git a/internal/rpc/group/create_group.go b/internal/rpc/group/create_group.go index e36048304..826a08615 100644 --- a/internal/rpc/group/create_group.go +++ b/internal/rpc/group/create_group.go @@ -1,8 +1,6 @@ package group import ( - "Open_IM/internal/push/content_struct" - "Open_IM/internal/push/logic" "Open_IM/internal/rpc/chat" "Open_IM/pkg/common/config" "Open_IM/pkg/common/constant" @@ -11,9 +9,7 @@ import ( "Open_IM/pkg/common/log" "Open_IM/pkg/common/token_verify" "Open_IM/pkg/grpc-etcdv3/getcdv3" - pbChat "Open_IM/pkg/proto/chat" pbGroup "Open_IM/pkg/proto/group" - open_im_sdk "Open_IM/pkg/proto/sdk_ws" "Open_IM/pkg/utils" "context" "google.golang.org/grpc" @@ -71,7 +67,7 @@ func (s *groupServer) Run() { } func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupReq) (*pbGroup.CreateGroupResp, error) { - log.InfoByArgs("rpc create group is server,args=%s", req.String()) + log.NewInfo(req.OperationID, "rpc create group is server,args=%s", req.String()) var ( groupId string ) @@ -133,49 +129,24 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupR } } - if isMagagerFlag == 1 { - - //type NotificationContent struct { - // IsDisplay int32 `json:"isDisplay"` - // DefaultTips string `json:"defaultTips"` - // Detail string `json:"detail"` - //} n := NotificationContent{ - // IsDisplay: 1, - // DefaultTips: "You have joined the group chat:" + createGroupResp.Data.GroupName, - // Detail: createGroupResp.Data.GroupId, - // } - - ////Push message when create group chat - n := content_struct.NotificationContent{1, req.GroupName, groupId} - logic.SendMsgByWS(&pbChat.WSToMsgSvrChatMsg{ - SendID: claims.UID, - RecvID: groupId, - Content: n.ContentToString(), - SendTime: utils.GetCurrentTimestampByNano(), - MsgFrom: constant.SysMsgType, //Notification message identification - ContentType: constant.CreateGroupTip, //Add friend flag - SessionType: constant.GroupChatType, - OperationID: req.OperationID, - }) - } - - var tip open_im_sdk.CreateGroupTip groupInfo, err := im_mysql_model.FindGroupInfoByGroupId(groupId) if err != nil { + log.NewError(req.OperationID, "FindGroupInfoByGroupId failed ", groupId) return &pbGroup.CreateGroupResp{ErrorCode: constant.ErrCreateGroup.ErrCode, ErrorMsg: constant.ErrCreateGroup.ErrMsg}, nil } creatorInfo, err := im_mysql_model.FindUserByUID(claims.UID) if err != nil { - + log.NewError(req.OperationID, "FindUserByUID failed ", claims.UID) + return &pbGroup.CreateGroupResp{ErrorCode: constant.ErrCreateGroup.ErrCode, ErrorMsg: constant.ErrCreateGroup.ErrMsg}, nil } memberList, err := im_mysql_model.FindGroupMemberListByGroupId(groupId) if err != nil { - + log.NewError(req.OperationID, "FindGroupMemberListByGroupId failed ", groupId) } - chat.CreateGroupNotification(claims.UID, *creatorInfo, *groupInfo, memberList) - log.Info(req.Token, req.OperationID, "rpc create group success return") + log.NewInfo(req.OperationID, "creator, group, member list: ", *creatorInfo, *groupInfo, memberList) + chat.CreateGroupNotification(claims.UID, *creatorInfo, *groupInfo, memberList) return &pbGroup.CreateGroupResp{GroupID: groupId}, nil } From 264451d9235f1064f93a61a5a8dfce485484a82f Mon Sep 17 00:00:00 2001 From: skiffer-git <44203734@qq.com> Date: Sun, 19 Dec 2021 21:03:05 +0800 Subject: [PATCH 03/75] notification --- config/config.yaml | 38 +- internal/rpc/chat/send_msg.go | 28 +- pkg/common/config/config.go | 35 +- pkg/proto/sdk_ws/ws.pb.go | 1638 ++++++++++++++++++++++++++++----- pkg/proto/sdk_ws/ws.proto | 179 +++- 5 files changed, 1635 insertions(+), 283 deletions(-) diff --git a/config/config.yaml b/config/config.yaml index 33899fbae..fc1f924fe 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -160,17 +160,35 @@ messagecallback: stateChange: switch: false +iOSPush: + pushSound: "xxx" + badgeCount: 1 + notification: - offlinePush: - switch: true - createGroup: - title: "create group title" - desc: "create group desc" - ext: "create group ext" - quitGroup: - title: "quit group title" - desc: "quit group desc" - ext: "quit group ext" + groupCreated: + conversation: + conversationChanged: 1 + unreadCount: 1 + offlinePush: + switch: true + title: "create group title" + desc: "create group desc" + ext: "create group ext" + defaultTips: + tips: "create the group" # xx create the group + + groupInfoChanged: + conversation: + conversationChanged: 1 + unreadCount: 1 + offlinePush: + switch: true + title: "group info changed title" + desc: "group info changed desc" + ext: "group info changed ext" + defaultTips: + tips: "group info changed by" # group info changed by xx + conversationChanged: 0 #---------------demo configuration---------------------# diff --git a/internal/rpc/chat/send_msg.go b/internal/rpc/chat/send_msg.go index f72404789..640309c91 100644 --- a/internal/rpc/chat/send_msg.go +++ b/internal/rpc/chat/send_msg.go @@ -213,26 +213,24 @@ func CreateGroupNotification(sendID string, creator im_mysql_model.User, group i msg.SessionType = constant.GroupChatType msg.MsgFrom = constant.SysMsgType - var tip open_im_sdk.CreateGroupTip - tip.Group = &open_im_sdk.GroupInfoTip{} - utils.CopyStructFields(tip.Group, group) - tip.Creator = &open_im_sdk.UserInfoTip{} - utils.CopyStructFields(tip.Creator, creator) + var groupCreated open_im_sdk.GroupCreatedTips + groupCreated.Group = &open_im_sdk.GroupInfo{} + utils.CopyStructFields(groupCreated.Group, group) + groupCreated.Creator = &open_im_sdk.GroupMemberFullInfo{} + utils.CopyStructFields(groupCreated.Creator, creator) for _, v := range memberList { - var groupMemberInfo open_im_sdk.GroupMemberFullInfoTip + var groupMemberInfo open_im_sdk.GroupMemberFullInfo utils.CopyStructFields(&groupMemberInfo, v) - tip.MemberList = append(tip.MemberList, &groupMemberInfo) + groupCreated.MemberList = append(groupCreated.MemberList, &groupMemberInfo) } - - msg.Content = utils.StructToJsonString(tip) - var offlinePushInfo open_im_sdk.OfflinePushInfo - offlinePushInfo.Title = config.Config.Notification.CreateGroup.Title - offlinePushInfo.Desc = config.Config.Notification.CreateGroup.Desc - offlinePushInfo.Ext = config.Config.Notification.CreateGroup.Ext - Notification(&msg, false, offlinePushInfo) + var tips open_im_sdk.TipsComm + tips.Detail = utils.StructToJsonString(groupCreated) + tips.DefaultTips = creator.Name + " " + config.Config.DefaultTips.GroupCreatedTips + msg.Content = utils.StructToJsonString(tips) + Notification(&msg, false) } -func Notification(m *WSToMsgSvrChatMsg, onlineUserOnly bool, offlinePushInfo open_im_sdk.OfflinePushInfo) { +func Notification(m *WSToMsgSvrChatMsg, onlineUserOnly bool) { } diff --git a/pkg/common/config/config.go b/pkg/common/config/config.go index 05ce6e9e1..05b9ae904 100644 --- a/pkg/common/config/config.go +++ b/pkg/common/config/config.go @@ -172,19 +172,30 @@ type config struct { SmtpPort int `yaml:"smtpPort"` } } + //notification: + // groupCreated: + // offlinePush: + // switch: true + // title: "create group title" + // desc: "create group desc" + // ext: "create group ext" + // defaultTips: + // tips: "create the group" # xx create the group + // conversationChanged: 1 + // + Notification struct { - OfflinePush struct { - Switch bool `yaml:"switch"` - } - CreateGroup struct { - Title string `yaml:"title"` - Desc string `yaml:"desc"` - Ext string `yaml:"ext"` - } - QuiteGroup struct { - Title string `yaml:"title"` - Desc string `yaml:"desc"` - Ext string `yaml:"ext"` + GroupCreated struct { + OfflinePush struct { + Switch bool `yaml:"switch"` + Title string `yaml:"title"` + Desc string `yaml:"desc"` + Ext string `yaml:"ext"` + } + DefaultTips struct { + GroupCreatedTips string `yaml:"croupCreatedTips"` + GroupInfoChangedTips string `yaml:"groupInfoChangedTips"` + } } } } diff --git a/pkg/proto/sdk_ws/ws.pb.go b/pkg/proto/sdk_ws/ws.pb.go index bdaa3ab97..5ac2ab6c6 100644 --- a/pkg/proto/sdk_ws/ws.pb.go +++ b/pkg/proto/sdk_ws/ws.pb.go @@ -32,7 +32,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_0e67cfdf7b3776b1, []int{0} + return fileDescriptor_ws_e632726fa8a2c9ae, []int{0} } func (m *PullMessageBySeqListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListResp.Unmarshal(m, b) @@ -91,7 +91,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_0e67cfdf7b3776b1, []int{1} + return fileDescriptor_ws_e632726fa8a2c9ae, []int{1} } func (m *PullMessageBySeqListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListReq.Unmarshal(m, b) @@ -128,7 +128,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_0e67cfdf7b3776b1, []int{2} + return fileDescriptor_ws_e632726fa8a2c9ae, []int{2} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -160,7 +160,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_0e67cfdf7b3776b1, []int{3} + return fileDescriptor_ws_e632726fa8a2c9ae, []int{3} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -208,7 +208,7 @@ func (m *GatherFormat) Reset() { *m = GatherFormat{} } func (m *GatherFormat) String() string { return proto.CompactTextString(m) } func (*GatherFormat) ProtoMessage() {} func (*GatherFormat) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_0e67cfdf7b3776b1, []int{4} + return fileDescriptor_ws_e632726fa8a2c9ae, []int{4} } func (m *GatherFormat) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GatherFormat.Unmarshal(m, b) @@ -276,7 +276,7 @@ func (m *MsgFormat) Reset() { *m = MsgFormat{} } func (m *MsgFormat) String() string { return proto.CompactTextString(m) } func (*MsgFormat) ProtoMessage() {} func (*MsgFormat) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_0e67cfdf7b3776b1, []int{5} + return fileDescriptor_ws_e632726fa8a2c9ae, []int{5} } func (m *MsgFormat) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgFormat.Unmarshal(m, b) @@ -401,7 +401,7 @@ func (m *UserSendMsgReq) Reset() { *m = UserSendMsgReq{} } func (m *UserSendMsgReq) String() string { return proto.CompactTextString(m) } func (*UserSendMsgReq) ProtoMessage() {} func (*UserSendMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_0e67cfdf7b3776b1, []int{6} + return fileDescriptor_ws_e632726fa8a2c9ae, []int{6} } func (m *UserSendMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserSendMsgReq.Unmarshal(m, b) @@ -511,7 +511,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_0e67cfdf7b3776b1, []int{7} + return fileDescriptor_ws_e632726fa8a2c9ae, []int{7} } func (m *UserSendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserSendMsgResp.Unmarshal(m, b) @@ -575,7 +575,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_0e67cfdf7b3776b1, []int{8} + return fileDescriptor_ws_e632726fa8a2c9ae, []int{8} } func (m *MsgData) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgData.Unmarshal(m, b) @@ -699,7 +699,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_0e67cfdf7b3776b1, []int{9} + return fileDescriptor_ws_e632726fa8a2c9ae, []int{9} } func (m *OfflinePushInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OfflinePushInfo.Unmarshal(m, b) @@ -740,332 +740,1468 @@ func (m *OfflinePushInfo) GetExt() string { return "" } -type GroupInfoTip 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"` - OwnerID string `protobuf:"bytes,7,opt,name=OwnerID" json:"OwnerID,omitempty"` - CreateTime uint64 `protobuf:"varint,8,opt,name=CreateTime" json:"CreateTime,omitempty"` - MemberCount uint32 `protobuf:"varint,9,opt,name=MemberCount" json:"MemberCount,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` +// public +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"` + Ex string `protobuf:"bytes,6,opt,name=Ex" json:"Ex,omitempty"` + Owner *PublicUserInfo `protobuf:"bytes,7,opt,name=Owner" json:"Owner,omitempty"` + CreateTime uint64 `protobuf:"varint,8,opt,name=CreateTime" json:"CreateTime,omitempty"` + MemberCount uint32 `protobuf:"varint,9,opt,name=MemberCount" json:"MemberCount,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *GroupInfoTip) Reset() { *m = GroupInfoTip{} } -func (m *GroupInfoTip) String() string { return proto.CompactTextString(m) } -func (*GroupInfoTip) ProtoMessage() {} -func (*GroupInfoTip) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_0e67cfdf7b3776b1, []int{10} +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_e632726fa8a2c9ae, []int{10} } -func (m *GroupInfoTip) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GroupInfoTip.Unmarshal(m, b) +func (m *GroupInfo) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GroupInfo.Unmarshal(m, b) } -func (m *GroupInfoTip) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GroupInfoTip.Marshal(b, m, deterministic) +func (m *GroupInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GroupInfo.Marshal(b, m, deterministic) } -func (dst *GroupInfoTip) XXX_Merge(src proto.Message) { - xxx_messageInfo_GroupInfoTip.Merge(dst, src) +func (dst *GroupInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_GroupInfo.Merge(dst, src) } -func (m *GroupInfoTip) XXX_Size() int { - return xxx_messageInfo_GroupInfoTip.Size(m) +func (m *GroupInfo) XXX_Size() int { + return xxx_messageInfo_GroupInfo.Size(m) } -func (m *GroupInfoTip) XXX_DiscardUnknown() { - xxx_messageInfo_GroupInfoTip.DiscardUnknown(m) +func (m *GroupInfo) XXX_DiscardUnknown() { + xxx_messageInfo_GroupInfo.DiscardUnknown(m) } -var xxx_messageInfo_GroupInfoTip proto.InternalMessageInfo +var xxx_messageInfo_GroupInfo proto.InternalMessageInfo -func (m *GroupInfoTip) GetGroupID() string { +func (m *GroupInfo) GetGroupID() string { if m != nil { return m.GroupID } return "" } -func (m *GroupInfoTip) GetGroupName() string { +func (m *GroupInfo) GetGroupName() string { if m != nil { return m.GroupName } return "" } -func (m *GroupInfoTip) GetNotification() string { +func (m *GroupInfo) GetNotification() string { if m != nil { return m.Notification } return "" } -func (m *GroupInfoTip) GetIntroduction() string { +func (m *GroupInfo) GetIntroduction() string { if m != nil { return m.Introduction } return "" } -func (m *GroupInfoTip) GetFaceUrl() string { +func (m *GroupInfo) GetFaceUrl() string { if m != nil { return m.FaceUrl } return "" } -func (m *GroupInfoTip) GetEx() string { +func (m *GroupInfo) GetEx() string { if m != nil { return m.Ex } return "" } -func (m *GroupInfoTip) GetOwnerID() string { +func (m *GroupInfo) GetOwner() *PublicUserInfo { if m != nil { - return m.OwnerID + return m.Owner } - return "" + return nil } -func (m *GroupInfoTip) GetCreateTime() uint64 { +func (m *GroupInfo) GetCreateTime() uint64 { if m != nil { return m.CreateTime } return 0 } -func (m *GroupInfoTip) GetMemberCount() uint32 { +func (m *GroupInfo) GetMemberCount() uint32 { if m != nil { return m.MemberCount } return 0 } -type GroupMemberFullInfoTip struct { - GroupId string `protobuf:"bytes,1,opt,name=GroupId" json:"GroupId,omitempty"` - UserId string `protobuf:"bytes,2,opt,name=UserId" json:"UserId,omitempty"` +// private, Group members have permission to view +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"` Role int32 `protobuf:"varint,3,opt,name=Role" json:"Role,omitempty"` JoinTime uint64 `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"` + FriendRemark string `protobuf:"bytes,7,opt,name=FriendRemark" json:"FriendRemark,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } -func (m *GroupMemberFullInfoTip) Reset() { *m = GroupMemberFullInfoTip{} } -func (m *GroupMemberFullInfoTip) String() string { return proto.CompactTextString(m) } -func (*GroupMemberFullInfoTip) ProtoMessage() {} -func (*GroupMemberFullInfoTip) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_0e67cfdf7b3776b1, []int{11} +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_e632726fa8a2c9ae, []int{11} } -func (m *GroupMemberFullInfoTip) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GroupMemberFullInfoTip.Unmarshal(m, b) +func (m *GroupMemberFullInfo) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GroupMemberFullInfo.Unmarshal(m, b) } -func (m *GroupMemberFullInfoTip) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GroupMemberFullInfoTip.Marshal(b, m, deterministic) +func (m *GroupMemberFullInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GroupMemberFullInfo.Marshal(b, m, deterministic) } -func (dst *GroupMemberFullInfoTip) XXX_Merge(src proto.Message) { - xxx_messageInfo_GroupMemberFullInfoTip.Merge(dst, src) +func (dst *GroupMemberFullInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_GroupMemberFullInfo.Merge(dst, src) } -func (m *GroupMemberFullInfoTip) XXX_Size() int { - return xxx_messageInfo_GroupMemberFullInfoTip.Size(m) +func (m *GroupMemberFullInfo) XXX_Size() int { + return xxx_messageInfo_GroupMemberFullInfo.Size(m) } -func (m *GroupMemberFullInfoTip) XXX_DiscardUnknown() { - xxx_messageInfo_GroupMemberFullInfoTip.DiscardUnknown(m) +func (m *GroupMemberFullInfo) XXX_DiscardUnknown() { + xxx_messageInfo_GroupMemberFullInfo.DiscardUnknown(m) } -var xxx_messageInfo_GroupMemberFullInfoTip proto.InternalMessageInfo +var xxx_messageInfo_GroupMemberFullInfo proto.InternalMessageInfo -func (m *GroupMemberFullInfoTip) GetGroupId() string { +func (m *GroupMemberFullInfo) GetGroupID() string { if m != nil { - return m.GroupId + return m.GroupID } return "" } -func (m *GroupMemberFullInfoTip) GetUserId() string { +func (m *GroupMemberFullInfo) GetUserID() string { if m != nil { - return m.UserId + return m.UserID } return "" } -func (m *GroupMemberFullInfoTip) GetRole() int32 { +func (m *GroupMemberFullInfo) GetRole() int32 { if m != nil { return m.Role } return 0 } -func (m *GroupMemberFullInfoTip) GetJoinTime() uint64 { +func (m *GroupMemberFullInfo) GetJoinTime() uint64 { if m != nil { return m.JoinTime } return 0 } -func (m *GroupMemberFullInfoTip) GetNickName() string { +func (m *GroupMemberFullInfo) GetNickName() string { if m != nil { return m.NickName } return "" } -func (m *GroupMemberFullInfoTip) GetFaceUrl() string { +func (m *GroupMemberFullInfo) GetFaceUrl() string { if m != nil { return m.FaceUrl } return "" } -type CreateGroupTip struct { - Group *GroupInfoTip `protobuf:"bytes,1,opt,name=Group" json:"Group,omitempty"` - Creator *UserInfoTip `protobuf:"bytes,2,opt,name=Creator" json:"Creator,omitempty"` - MemberList []*GroupMemberFullInfoTip `protobuf:"bytes,3,rep,name=MemberList" json:"MemberList,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` +func (m *GroupMemberFullInfo) GetFriendRemark() string { + if m != nil { + return m.FriendRemark + } + return "" +} + +// private, Friends have permission to view +type UserInfo struct { + UserID string `protobuf:"bytes,1,opt,name=UserID" json:"UserID,omitempty"` + Name string `protobuf:"bytes,2,opt,name=Name" json:"Name,omitempty"` + Icon string `protobuf:"bytes,3,opt,name=Icon" json:"Icon,omitempty"` + Gender int32 `protobuf:"varint,4,opt,name=Gender" json:"Gender,omitempty"` + Mobile string `protobuf:"bytes,5,opt,name=Mobile" json:"Mobile,omitempty"` + Birth string `protobuf:"bytes,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"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *CreateGroupTip) Reset() { *m = CreateGroupTip{} } -func (m *CreateGroupTip) String() string { return proto.CompactTextString(m) } -func (*CreateGroupTip) ProtoMessage() {} -func (*CreateGroupTip) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_0e67cfdf7b3776b1, []int{12} +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_e632726fa8a2c9ae, []int{12} } -func (m *CreateGroupTip) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_CreateGroupTip.Unmarshal(m, b) +func (m *UserInfo) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UserInfo.Unmarshal(m, b) } -func (m *CreateGroupTip) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_CreateGroupTip.Marshal(b, m, deterministic) +func (m *UserInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UserInfo.Marshal(b, m, deterministic) } -func (dst *CreateGroupTip) XXX_Merge(src proto.Message) { - xxx_messageInfo_CreateGroupTip.Merge(dst, src) +func (dst *UserInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_UserInfo.Merge(dst, src) } -func (m *CreateGroupTip) XXX_Size() int { - return xxx_messageInfo_CreateGroupTip.Size(m) +func (m *UserInfo) XXX_Size() int { + return xxx_messageInfo_UserInfo.Size(m) } -func (m *CreateGroupTip) XXX_DiscardUnknown() { - xxx_messageInfo_CreateGroupTip.DiscardUnknown(m) +func (m *UserInfo) XXX_DiscardUnknown() { + xxx_messageInfo_UserInfo.DiscardUnknown(m) } -var xxx_messageInfo_CreateGroupTip proto.InternalMessageInfo +var xxx_messageInfo_UserInfo proto.InternalMessageInfo -func (m *CreateGroupTip) GetGroup() *GroupInfoTip { +func (m *UserInfo) GetUserID() string { if m != nil { - return m.Group + return m.UserID } - return nil + return "" } -func (m *CreateGroupTip) GetCreator() *UserInfoTip { +func (m *UserInfo) GetName() string { if m != nil { - return m.Creator + return m.Name } - return nil + return "" } -func (m *CreateGroupTip) GetMemberList() []*GroupMemberFullInfoTip { +func (m *UserInfo) GetIcon() string { if m != nil { - return m.MemberList + return m.Icon } - return nil + return "" +} + +func (m *UserInfo) GetGender() int32 { + if m != nil { + return m.Gender + } + return 0 +} + +func (m *UserInfo) GetMobile() string { + if m != nil { + return m.Mobile + } + return "" +} + +func (m *UserInfo) GetBirth() string { + if m != nil { + return m.Birth + } + return "" +} + +func (m *UserInfo) GetEmail() string { + if m != nil { + return m.Email + } + return "" } -type UserInfoTip struct { +func (m *UserInfo) GetEx() string { + if m != nil { + return m.Ex + } + return "" +} + +// No permissions required +type PublicUserInfo struct { UserID string `protobuf:"bytes,1,opt,name=UserID" json:"UserID,omitempty"` Name string `protobuf:"bytes,2,opt,name=Name" json:"Name,omitempty"` Icon string `protobuf:"bytes,3,opt,name=Icon" json:"Icon,omitempty"` Gender int32 `protobuf:"varint,4,opt,name=Gender" json:"Gender,omitempty"` - Mobile string `protobuf:"bytes,5,opt,name=Mobile" json:"Mobile,omitempty"` - Birth string `protobuf:"bytes,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"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } -func (m *UserInfoTip) Reset() { *m = UserInfoTip{} } -func (m *UserInfoTip) String() string { return proto.CompactTextString(m) } -func (*UserInfoTip) ProtoMessage() {} -func (*UserInfoTip) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_0e67cfdf7b3776b1, []int{13} +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_e632726fa8a2c9ae, []int{13} } -func (m *UserInfoTip) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_UserInfoTip.Unmarshal(m, b) +func (m *PublicUserInfo) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PublicUserInfo.Unmarshal(m, b) } -func (m *UserInfoTip) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_UserInfoTip.Marshal(b, m, deterministic) +func (m *PublicUserInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PublicUserInfo.Marshal(b, m, deterministic) } -func (dst *UserInfoTip) XXX_Merge(src proto.Message) { - xxx_messageInfo_UserInfoTip.Merge(dst, src) +func (dst *PublicUserInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_PublicUserInfo.Merge(dst, src) } -func (m *UserInfoTip) XXX_Size() int { - return xxx_messageInfo_UserInfoTip.Size(m) +func (m *PublicUserInfo) XXX_Size() int { + return xxx_messageInfo_PublicUserInfo.Size(m) } -func (m *UserInfoTip) XXX_DiscardUnknown() { - xxx_messageInfo_UserInfoTip.DiscardUnknown(m) +func (m *PublicUserInfo) XXX_DiscardUnknown() { + xxx_messageInfo_PublicUserInfo.DiscardUnknown(m) } -var xxx_messageInfo_UserInfoTip proto.InternalMessageInfo +var xxx_messageInfo_PublicUserInfo proto.InternalMessageInfo -func (m *UserInfoTip) GetUserID() string { +func (m *PublicUserInfo) GetUserID() string { if m != nil { return m.UserID } return "" } -func (m *UserInfoTip) GetName() string { +func (m *PublicUserInfo) GetName() string { if m != nil { return m.Name } return "" } -func (m *UserInfoTip) GetIcon() string { +func (m *PublicUserInfo) GetIcon() string { if m != nil { return m.Icon } return "" } -func (m *UserInfoTip) GetGender() int32 { +func (m *PublicUserInfo) GetGender() int32 { if m != nil { return m.Gender } return 0 } -func (m *UserInfoTip) GetMobile() string { +type TipsComm struct { + Detail string `protobuf:"bytes,1,opt,name=Detail" json:"Detail,omitempty"` + DefaultTips string `protobuf:"bytes,2,opt,name=DefaultTips" json:"DefaultTips,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_e632726fa8a2c9ae, []int{14} +} +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() string { if m != nil { - return m.Mobile + return m.Detail } return "" } -func (m *UserInfoTip) GetBirth() string { +func (m *TipsComm) GetDefaultTips() string { if m != nil { - return m.Birth + return m.DefaultTips } return "" } -func (m *UserInfoTip) GetEmail() string { +// ////////////////////group///////////////////// +// Actively join the group +type MemberEnterTips struct { + Group *GroupInfo `protobuf:"bytes,1,opt,name=Group" json:"Group,omitempty"` + Member *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=Member" json:"Member,omitempty"` + OperationTime uint64 `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_e632726fa8a2c9ae, []int{15} +} +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.Email + return m.Group } - return "" + return nil } -func (m *UserInfoTip) GetEx() string { +func (m *MemberEnterTips) GetMember() *GroupMemberFullInfo { if m != nil { - return m.Ex + return m.Member } - return "" + return nil +} + +func (m *MemberEnterTips) GetOperationTime() uint64 { + if m != nil { + return m.OperationTime + } + return 0 +} + +// Actively leave the group +type MemberLeaveTips struct { + Group *GroupInfo `protobuf:"bytes,1,opt,name=Group" json:"Group,omitempty"` + Member *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=Member" json:"Member,omitempty"` + OperationTime uint64 `protobuf:"varint,3,opt,name=OperationTime" json:"OperationTime,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MemberLeaveTips) Reset() { *m = MemberLeaveTips{} } +func (m *MemberLeaveTips) String() string { return proto.CompactTextString(m) } +func (*MemberLeaveTips) ProtoMessage() {} +func (*MemberLeaveTips) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_e632726fa8a2c9ae, []int{16} +} +func (m *MemberLeaveTips) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MemberLeaveTips.Unmarshal(m, b) +} +func (m *MemberLeaveTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MemberLeaveTips.Marshal(b, m, deterministic) +} +func (dst *MemberLeaveTips) XXX_Merge(src proto.Message) { + xxx_messageInfo_MemberLeaveTips.Merge(dst, src) +} +func (m *MemberLeaveTips) XXX_Size() int { + return xxx_messageInfo_MemberLeaveTips.Size(m) +} +func (m *MemberLeaveTips) XXX_DiscardUnknown() { + xxx_messageInfo_MemberLeaveTips.DiscardUnknown(m) +} + +var xxx_messageInfo_MemberLeaveTips proto.InternalMessageInfo + +func (m *MemberLeaveTips) GetGroup() *GroupInfo { + if m != nil { + return m.Group + } + return nil +} + +func (m *MemberLeaveTips) GetMember() *GroupMemberFullInfo { + if m != nil { + return m.Member + } + return nil +} + +func (m *MemberLeaveTips) GetOperationTime() uint64 { + if m != nil { + return m.OperationTime + } + return 0 +} + +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"` + Member *GroupMemberFullInfo `protobuf:"bytes,3,opt,name=Member" json:"Member,omitempty"` + OperationTime uint64 `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_e632726fa8a2c9ae, []int{17} +} +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) GetMember() *GroupMemberFullInfo { + if m != nil { + return m.Member + } + return nil +} + +func (m *MemberInvitedTips) GetOperationTime() uint64 { + if m != nil { + return m.OperationTime + } + return 0 +} + +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"` + Member *GroupMemberFullInfo `protobuf:"bytes,3,opt,name=Member" json:"Member,omitempty"` + OperationTime uint64 `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_e632726fa8a2c9ae, []int{18} +} +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) GetMember() *GroupMemberFullInfo { + if m != nil { + return m.Member + } + return nil +} + +func (m *MemberKickedTips) GetOperationTime() uint64 { + if m != nil { + return m.OperationTime + } + return 0 +} + +type GroupMemberChangeInfo struct { + ChangeType int32 `protobuf:"varint,1,opt,name=ChangeType" json:"ChangeType,omitempty"` + OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=OpUser" json:"OpUser,omitempty"` + Member *GroupMemberFullInfo `protobuf:"bytes,3,opt,name=Member" json:"Member,omitempty"` + MuteTime uint64 `protobuf:"varint,4,opt,name=MuteTime" json:"MuteTime,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GroupMemberChangeInfo) Reset() { *m = GroupMemberChangeInfo{} } +func (m *GroupMemberChangeInfo) String() string { return proto.CompactTextString(m) } +func (*GroupMemberChangeInfo) ProtoMessage() {} +func (*GroupMemberChangeInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_e632726fa8a2c9ae, []int{19} +} +func (m *GroupMemberChangeInfo) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GroupMemberChangeInfo.Unmarshal(m, b) +} +func (m *GroupMemberChangeInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GroupMemberChangeInfo.Marshal(b, m, deterministic) +} +func (dst *GroupMemberChangeInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_GroupMemberChangeInfo.Merge(dst, src) +} +func (m *GroupMemberChangeInfo) XXX_Size() int { + return xxx_messageInfo_GroupMemberChangeInfo.Size(m) +} +func (m *GroupMemberChangeInfo) XXX_DiscardUnknown() { + xxx_messageInfo_GroupMemberChangeInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_GroupMemberChangeInfo proto.InternalMessageInfo + +func (m *GroupMemberChangeInfo) GetChangeType() int32 { + if m != nil { + return m.ChangeType + } + return 0 +} + +func (m *GroupMemberChangeInfo) GetOpUser() *GroupMemberFullInfo { + if m != nil { + return m.OpUser + } + return nil +} + +func (m *GroupMemberChangeInfo) GetMember() *GroupMemberFullInfo { + if m != nil { + return m.Member + } + return nil +} + +func (m *GroupMemberChangeInfo) GetMuteTime() uint64 { + if m != nil { + return m.MuteTime + } + return 0 +} + +type MemberInfoChangedTips struct { + Group *GroupInfo `protobuf:"bytes,1,opt,name=Group" json:"Group,omitempty"` + MemberChanged *GroupMemberChangeInfo `protobuf:"bytes,2,opt,name=MemberChanged" json:"MemberChanged,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MemberInfoChangedTips) Reset() { *m = MemberInfoChangedTips{} } +func (m *MemberInfoChangedTips) String() string { return proto.CompactTextString(m) } +func (*MemberInfoChangedTips) ProtoMessage() {} +func (*MemberInfoChangedTips) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_e632726fa8a2c9ae, []int{20} +} +func (m *MemberInfoChangedTips) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MemberInfoChangedTips.Unmarshal(m, b) +} +func (m *MemberInfoChangedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MemberInfoChangedTips.Marshal(b, m, deterministic) +} +func (dst *MemberInfoChangedTips) XXX_Merge(src proto.Message) { + xxx_messageInfo_MemberInfoChangedTips.Merge(dst, src) +} +func (m *MemberInfoChangedTips) XXX_Size() int { + return xxx_messageInfo_MemberInfoChangedTips.Size(m) +} +func (m *MemberInfoChangedTips) XXX_DiscardUnknown() { + xxx_messageInfo_MemberInfoChangedTips.DiscardUnknown(m) +} + +var xxx_messageInfo_MemberInfoChangedTips proto.InternalMessageInfo + +func (m *MemberInfoChangedTips) GetGroup() *GroupInfo { + if m != nil { + return m.Group + } + return nil +} + +func (m *MemberInfoChangedTips) GetMemberChanged() *GroupMemberChangeInfo { + if m != nil { + return m.MemberChanged + } + return nil +} + +type GroupCreatedTips struct { + Group *GroupInfo `protobuf:"bytes,1,opt,name=Group" json:"Group,omitempty"` + Creator *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=Creator" json:"Creator,omitempty"` + MemberList []*GroupMemberFullInfo `protobuf:"bytes,3,rep,name=MemberList" json:"MemberList,omitempty"` + OperationTime uint64 `protobuf:"varint,4,opt,name=OperationTime" json:"OperationTime,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_e632726fa8a2c9ae, []int{21} +} +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) GetCreator() *GroupMemberFullInfo { + if m != nil { + return m.Creator + } + return nil +} + +func (m *GroupCreatedTips) GetMemberList() []*GroupMemberFullInfo { + if m != nil { + return m.MemberList + } + return nil +} + +func (m *GroupCreatedTips) GetOperationTime() uint64 { + if m != nil { + return m.OperationTime + } + return 0 +} + +type GroupInfoChangedTips struct { + ChangedType int32 `protobuf:"varint,1,opt,name=ChangedType" json:"ChangedType,omitempty"` + Group *GroupInfo `protobuf:"bytes,2,opt,name=Group" json:"Group,omitempty"` + OpUser *GroupMemberFullInfo `protobuf:"bytes,3,opt,name=OpUser" json:"OpUser,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GroupInfoChangedTips) Reset() { *m = GroupInfoChangedTips{} } +func (m *GroupInfoChangedTips) String() string { return proto.CompactTextString(m) } +func (*GroupInfoChangedTips) ProtoMessage() {} +func (*GroupInfoChangedTips) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_e632726fa8a2c9ae, []int{22} +} +func (m *GroupInfoChangedTips) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GroupInfoChangedTips.Unmarshal(m, b) +} +func (m *GroupInfoChangedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GroupInfoChangedTips.Marshal(b, m, deterministic) +} +func (dst *GroupInfoChangedTips) XXX_Merge(src proto.Message) { + xxx_messageInfo_GroupInfoChangedTips.Merge(dst, src) +} +func (m *GroupInfoChangedTips) XXX_Size() int { + return xxx_messageInfo_GroupInfoChangedTips.Size(m) +} +func (m *GroupInfoChangedTips) XXX_DiscardUnknown() { + xxx_messageInfo_GroupInfoChangedTips.DiscardUnknown(m) +} + +var xxx_messageInfo_GroupInfoChangedTips proto.InternalMessageInfo + +func (m *GroupInfoChangedTips) GetChangedType() int32 { + if m != nil { + return m.ChangedType + } + return 0 +} + +func (m *GroupInfoChangedTips) GetGroup() *GroupInfo { + if m != nil { + return m.Group + } + return nil +} + +func (m *GroupInfoChangedTips) GetOpUser() *GroupMemberFullInfo { + if m != nil { + return m.OpUser + } + return nil +} + +type ReceiveJoinApplicationTips struct { + Group *GroupInfo `protobuf:"bytes,1,opt,name=Group" json:"Group,omitempty"` + Member *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=Member" json:"Member,omitempty"` + Reason string `protobuf:"bytes,3,opt,name=Reason" json:"Reason,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ReceiveJoinApplicationTips) Reset() { *m = ReceiveJoinApplicationTips{} } +func (m *ReceiveJoinApplicationTips) String() string { return proto.CompactTextString(m) } +func (*ReceiveJoinApplicationTips) ProtoMessage() {} +func (*ReceiveJoinApplicationTips) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_e632726fa8a2c9ae, []int{23} +} +func (m *ReceiveJoinApplicationTips) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ReceiveJoinApplicationTips.Unmarshal(m, b) +} +func (m *ReceiveJoinApplicationTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ReceiveJoinApplicationTips.Marshal(b, m, deterministic) +} +func (dst *ReceiveJoinApplicationTips) XXX_Merge(src proto.Message) { + xxx_messageInfo_ReceiveJoinApplicationTips.Merge(dst, src) +} +func (m *ReceiveJoinApplicationTips) XXX_Size() int { + return xxx_messageInfo_ReceiveJoinApplicationTips.Size(m) +} +func (m *ReceiveJoinApplicationTips) XXX_DiscardUnknown() { + xxx_messageInfo_ReceiveJoinApplicationTips.DiscardUnknown(m) +} + +var xxx_messageInfo_ReceiveJoinApplicationTips proto.InternalMessageInfo + +func (m *ReceiveJoinApplicationTips) GetGroup() *GroupInfo { + if m != nil { + return m.Group + } + return nil +} + +func (m *ReceiveJoinApplicationTips) GetMember() *GroupMemberFullInfo { + if m != nil { + return m.Member + } + return nil +} + +func (m *ReceiveJoinApplicationTips) GetReason() string { + if m != nil { + return m.Reason + } + return "" +} + +type ApplicationProcessedTips struct { + Group *GroupInfo `protobuf:"bytes,1,opt,name=Group" json:"Group,omitempty"` + OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=OpUser" json:"OpUser,omitempty"` + Result int32 `protobuf:"varint,3,opt,name=Result" json:"Result,omitempty"` + Reason string `protobuf:"bytes,4,opt,name=Reason" json:"Reason,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ApplicationProcessedTips) Reset() { *m = ApplicationProcessedTips{} } +func (m *ApplicationProcessedTips) String() string { return proto.CompactTextString(m) } +func (*ApplicationProcessedTips) ProtoMessage() {} +func (*ApplicationProcessedTips) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_e632726fa8a2c9ae, []int{24} +} +func (m *ApplicationProcessedTips) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ApplicationProcessedTips.Unmarshal(m, b) +} +func (m *ApplicationProcessedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ApplicationProcessedTips.Marshal(b, m, deterministic) +} +func (dst *ApplicationProcessedTips) XXX_Merge(src proto.Message) { + xxx_messageInfo_ApplicationProcessedTips.Merge(dst, src) +} +func (m *ApplicationProcessedTips) XXX_Size() int { + return xxx_messageInfo_ApplicationProcessedTips.Size(m) +} +func (m *ApplicationProcessedTips) XXX_DiscardUnknown() { + xxx_messageInfo_ApplicationProcessedTips.DiscardUnknown(m) +} + +var xxx_messageInfo_ApplicationProcessedTips proto.InternalMessageInfo + +func (m *ApplicationProcessedTips) GetGroup() *GroupInfo { + if m != nil { + return m.Group + } + return nil +} + +func (m *ApplicationProcessedTips) GetOpUser() *GroupMemberFullInfo { + if m != nil { + return m.OpUser + } + return nil +} + +func (m *ApplicationProcessedTips) GetResult() int32 { + if m != nil { + return m.Result + } + return 0 +} + +func (m *ApplicationProcessedTips) GetReason() string { + if m != nil { + return m.Reason + } + return "" +} + +// ////////////////////friend///////////////////// +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 uint64 `protobuf:"varint,3,opt,name=CreateTime" json:"CreateTime,omitempty"` + FriendUserInfo *UserInfo `protobuf:"bytes,4,opt,name=FriendUserInfo" json:"FriendUserInfo,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_e632726fa8a2c9ae, []int{25} +} +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() uint64 { + if m != nil { + return m.CreateTime + } + return 0 +} + +func (m *FriendInfo) GetFriendUserInfo() *UserInfo { + if m != nil { + return m.FriendUserInfo + } + return nil +} + +type FriendApplication struct { + AddTime uint64 `protobuf:"varint,4,opt,name=AddTime" json:"AddTime,omitempty"` + AddSource string `protobuf:"bytes,5,opt,name=AddSource" json:"AddSource,omitempty"` + AddWording string `protobuf:"bytes,6,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_e632726fa8a2c9ae, []int{26} +} +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() uint64 { + 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 "" +} + +// user1 add user2 +type FriendApplicationListAddedTips struct { + OpUser *PublicUserInfo `protobuf:"bytes,1,opt,name=OpUser" json:"OpUser,omitempty"` + Application *FriendApplication `protobuf:"bytes,2,opt,name=Application" json:"Application,omitempty"` + OpedUser *PublicUserInfo `protobuf:"bytes,3,opt,name=OpedUser" json:"OpedUser,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FriendApplicationListAddedTips) Reset() { *m = FriendApplicationListAddedTips{} } +func (m *FriendApplicationListAddedTips) String() string { return proto.CompactTextString(m) } +func (*FriendApplicationListAddedTips) ProtoMessage() {} +func (*FriendApplicationListAddedTips) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_e632726fa8a2c9ae, []int{27} +} +func (m *FriendApplicationListAddedTips) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FriendApplicationListAddedTips.Unmarshal(m, b) +} +func (m *FriendApplicationListAddedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FriendApplicationListAddedTips.Marshal(b, m, deterministic) +} +func (dst *FriendApplicationListAddedTips) XXX_Merge(src proto.Message) { + xxx_messageInfo_FriendApplicationListAddedTips.Merge(dst, src) +} +func (m *FriendApplicationListAddedTips) XXX_Size() int { + return xxx_messageInfo_FriendApplicationListAddedTips.Size(m) +} +func (m *FriendApplicationListAddedTips) XXX_DiscardUnknown() { + xxx_messageInfo_FriendApplicationListAddedTips.DiscardUnknown(m) +} + +var xxx_messageInfo_FriendApplicationListAddedTips proto.InternalMessageInfo + +func (m *FriendApplicationListAddedTips) GetOpUser() *PublicUserInfo { + if m != nil { + return m.OpUser + } + return nil +} + +func (m *FriendApplicationListAddedTips) GetApplication() *FriendApplication { + if m != nil { + return m.Application + } + return nil +} + +func (m *FriendApplicationListAddedTips) GetOpedUser() *PublicUserInfo { + if m != nil { + return m.OpedUser + } + return nil +} + +// user2 accept +type FriendApplicationListAcceptTips struct { + OpUser *PublicUserInfo `protobuf:"bytes,1,opt,name=OpUser" json:"OpUser,omitempty"` + OpedUser *PublicUserInfo `protobuf:"bytes,2,opt,name=OpedUser" json:"OpedUser,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FriendApplicationListAcceptTips) Reset() { *m = FriendApplicationListAcceptTips{} } +func (m *FriendApplicationListAcceptTips) String() string { return proto.CompactTextString(m) } +func (*FriendApplicationListAcceptTips) ProtoMessage() {} +func (*FriendApplicationListAcceptTips) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_e632726fa8a2c9ae, []int{28} +} +func (m *FriendApplicationListAcceptTips) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FriendApplicationListAcceptTips.Unmarshal(m, b) +} +func (m *FriendApplicationListAcceptTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FriendApplicationListAcceptTips.Marshal(b, m, deterministic) +} +func (dst *FriendApplicationListAcceptTips) XXX_Merge(src proto.Message) { + xxx_messageInfo_FriendApplicationListAcceptTips.Merge(dst, src) +} +func (m *FriendApplicationListAcceptTips) XXX_Size() int { + return xxx_messageInfo_FriendApplicationListAcceptTips.Size(m) +} +func (m *FriendApplicationListAcceptTips) XXX_DiscardUnknown() { + xxx_messageInfo_FriendApplicationListAcceptTips.DiscardUnknown(m) +} + +var xxx_messageInfo_FriendApplicationListAcceptTips proto.InternalMessageInfo + +func (m *FriendApplicationListAcceptTips) GetOpUser() *PublicUserInfo { + if m != nil { + return m.OpUser + } + return nil +} + +func (m *FriendApplicationListAcceptTips) GetOpedUser() *PublicUserInfo { + if m != nil { + return m.OpedUser + } + return nil +} + +// user2 reject +type FriendApplicationListRejectTips struct { + OpUser *PublicUserInfo `protobuf:"bytes,1,opt,name=OpUser" json:"OpUser,omitempty"` + OpedUser *PublicUserInfo `protobuf:"bytes,2,opt,name=OpedUser" json:"OpedUser,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FriendApplicationListRejectTips) Reset() { *m = FriendApplicationListRejectTips{} } +func (m *FriendApplicationListRejectTips) String() string { return proto.CompactTextString(m) } +func (*FriendApplicationListRejectTips) ProtoMessage() {} +func (*FriendApplicationListRejectTips) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_e632726fa8a2c9ae, []int{29} +} +func (m *FriendApplicationListRejectTips) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FriendApplicationListRejectTips.Unmarshal(m, b) +} +func (m *FriendApplicationListRejectTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FriendApplicationListRejectTips.Marshal(b, m, deterministic) +} +func (dst *FriendApplicationListRejectTips) XXX_Merge(src proto.Message) { + xxx_messageInfo_FriendApplicationListRejectTips.Merge(dst, src) +} +func (m *FriendApplicationListRejectTips) XXX_Size() int { + return xxx_messageInfo_FriendApplicationListRejectTips.Size(m) +} +func (m *FriendApplicationListRejectTips) XXX_DiscardUnknown() { + xxx_messageInfo_FriendApplicationListRejectTips.DiscardUnknown(m) +} + +var xxx_messageInfo_FriendApplicationListRejectTips proto.InternalMessageInfo + +func (m *FriendApplicationListRejectTips) GetOpUser() *PublicUserInfo { + if m != nil { + return m.OpUser + } + return nil +} + +func (m *FriendApplicationListRejectTips) GetOpedUser() *PublicUserInfo { + if m != nil { + return m.OpedUser + } + return nil +} + +type FriendListAddedTips struct { + Friend *FriendInfo `protobuf:"bytes,1,opt,name=Friend" json:"Friend,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FriendListAddedTips) Reset() { *m = FriendListAddedTips{} } +func (m *FriendListAddedTips) String() string { return proto.CompactTextString(m) } +func (*FriendListAddedTips) ProtoMessage() {} +func (*FriendListAddedTips) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_e632726fa8a2c9ae, []int{30} +} +func (m *FriendListAddedTips) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FriendListAddedTips.Unmarshal(m, b) +} +func (m *FriendListAddedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FriendListAddedTips.Marshal(b, m, deterministic) +} +func (dst *FriendListAddedTips) XXX_Merge(src proto.Message) { + xxx_messageInfo_FriendListAddedTips.Merge(dst, src) +} +func (m *FriendListAddedTips) XXX_Size() int { + return xxx_messageInfo_FriendListAddedTips.Size(m) +} +func (m *FriendListAddedTips) XXX_DiscardUnknown() { + xxx_messageInfo_FriendListAddedTips.DiscardUnknown(m) +} + +var xxx_messageInfo_FriendListAddedTips proto.InternalMessageInfo + +func (m *FriendListAddedTips) GetFriend() *FriendInfo { + if m != nil { + return m.Friend + } + return nil +} + +type FriendListDeletedTips struct { + Friend *FriendInfo `protobuf:"bytes,1,opt,name=Friend" json:"Friend,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FriendListDeletedTips) Reset() { *m = FriendListDeletedTips{} } +func (m *FriendListDeletedTips) String() string { return proto.CompactTextString(m) } +func (*FriendListDeletedTips) ProtoMessage() {} +func (*FriendListDeletedTips) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_e632726fa8a2c9ae, []int{31} +} +func (m *FriendListDeletedTips) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FriendListDeletedTips.Unmarshal(m, b) +} +func (m *FriendListDeletedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FriendListDeletedTips.Marshal(b, m, deterministic) +} +func (dst *FriendListDeletedTips) XXX_Merge(src proto.Message) { + xxx_messageInfo_FriendListDeletedTips.Merge(dst, src) +} +func (m *FriendListDeletedTips) XXX_Size() int { + return xxx_messageInfo_FriendListDeletedTips.Size(m) +} +func (m *FriendListDeletedTips) XXX_DiscardUnknown() { + xxx_messageInfo_FriendListDeletedTips.DiscardUnknown(m) +} + +var xxx_messageInfo_FriendListDeletedTips proto.InternalMessageInfo + +func (m *FriendListDeletedTips) GetFriend() *FriendInfo { + if m != nil { + return m.Friend + } + return nil +} + +type BlackListAddTips struct { + Friend *FriendInfo `protobuf:"bytes,1,opt,name=Friend" json:"Friend,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *BlackListAddTips) Reset() { *m = BlackListAddTips{} } +func (m *BlackListAddTips) String() string { return proto.CompactTextString(m) } +func (*BlackListAddTips) ProtoMessage() {} +func (*BlackListAddTips) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_e632726fa8a2c9ae, []int{32} +} +func (m *BlackListAddTips) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_BlackListAddTips.Unmarshal(m, b) +} +func (m *BlackListAddTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_BlackListAddTips.Marshal(b, m, deterministic) +} +func (dst *BlackListAddTips) XXX_Merge(src proto.Message) { + xxx_messageInfo_BlackListAddTips.Merge(dst, src) +} +func (m *BlackListAddTips) XXX_Size() int { + return xxx_messageInfo_BlackListAddTips.Size(m) +} +func (m *BlackListAddTips) XXX_DiscardUnknown() { + xxx_messageInfo_BlackListAddTips.DiscardUnknown(m) +} + +var xxx_messageInfo_BlackListAddTips proto.InternalMessageInfo + +func (m *BlackListAddTips) GetFriend() *FriendInfo { + if m != nil { + return m.Friend + } + return nil +} + +type BlackListDeletedTips struct { + Friend *FriendInfo `protobuf:"bytes,1,opt,name=Friend" json:"Friend,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *BlackListDeletedTips) Reset() { *m = BlackListDeletedTips{} } +func (m *BlackListDeletedTips) String() string { return proto.CompactTextString(m) } +func (*BlackListDeletedTips) ProtoMessage() {} +func (*BlackListDeletedTips) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_e632726fa8a2c9ae, []int{33} +} +func (m *BlackListDeletedTips) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_BlackListDeletedTips.Unmarshal(m, b) +} +func (m *BlackListDeletedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_BlackListDeletedTips.Marshal(b, m, deterministic) +} +func (dst *BlackListDeletedTips) XXX_Merge(src proto.Message) { + xxx_messageInfo_BlackListDeletedTips.Merge(dst, src) +} +func (m *BlackListDeletedTips) XXX_Size() int { + return xxx_messageInfo_BlackListDeletedTips.Size(m) +} +func (m *BlackListDeletedTips) XXX_DiscardUnknown() { + xxx_messageInfo_BlackListDeletedTips.DiscardUnknown(m) +} + +var xxx_messageInfo_BlackListDeletedTips proto.InternalMessageInfo + +func (m *BlackListDeletedTips) GetFriend() *FriendInfo { + if m != nil { + return m.Friend + } + return nil +} + +type FriendInfoChangedTips struct { + Friend *FriendInfo `protobuf:"bytes,1,opt,name=Friend" json:"Friend,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_e632726fa8a2c9ae, []int{34} +} +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) GetFriend() *FriendInfo { + if m != nil { + return m.Friend + } + return nil +} + +// ////////////////////user///////////////////// +type SelfInfoUpdatedTips struct { + SelfUserInfo *UserInfo `protobuf:"bytes,1,opt,name=SelfUserInfo" json:"SelfUserInfo,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SelfInfoUpdatedTips) Reset() { *m = SelfInfoUpdatedTips{} } +func (m *SelfInfoUpdatedTips) String() string { return proto.CompactTextString(m) } +func (*SelfInfoUpdatedTips) ProtoMessage() {} +func (*SelfInfoUpdatedTips) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_e632726fa8a2c9ae, []int{35} +} +func (m *SelfInfoUpdatedTips) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SelfInfoUpdatedTips.Unmarshal(m, b) +} +func (m *SelfInfoUpdatedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SelfInfoUpdatedTips.Marshal(b, m, deterministic) +} +func (dst *SelfInfoUpdatedTips) XXX_Merge(src proto.Message) { + xxx_messageInfo_SelfInfoUpdatedTips.Merge(dst, src) +} +func (m *SelfInfoUpdatedTips) XXX_Size() int { + return xxx_messageInfo_SelfInfoUpdatedTips.Size(m) +} +func (m *SelfInfoUpdatedTips) XXX_DiscardUnknown() { + xxx_messageInfo_SelfInfoUpdatedTips.DiscardUnknown(m) +} + +var xxx_messageInfo_SelfInfoUpdatedTips proto.InternalMessageInfo + +func (m *SelfInfoUpdatedTips) GetSelfUserInfo() *UserInfo { + if m != nil { + return m.SelfUserInfo + } + return nil } func init() { @@ -1080,82 +2216,140 @@ func init() { proto.RegisterType((*UserSendMsgResp)(nil), "open_im_sdk.UserSendMsgResp") proto.RegisterType((*MsgData)(nil), "open_im_sdk.MsgData") proto.RegisterType((*OfflinePushInfo)(nil), "open_im_sdk.OfflinePushInfo") - proto.RegisterType((*GroupInfoTip)(nil), "open_im_sdk.GroupInfoTip") - proto.RegisterType((*GroupMemberFullInfoTip)(nil), "open_im_sdk.GroupMemberFullInfoTip") - proto.RegisterType((*CreateGroupTip)(nil), "open_im_sdk.CreateGroupTip") - proto.RegisterType((*UserInfoTip)(nil), "open_im_sdk.UserInfoTip") -} - -func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_0e67cfdf7b3776b1) } - -var fileDescriptor_ws_0e67cfdf7b3776b1 = []byte{ - // 1078 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x56, 0x5d, 0x4f, 0xe3, 0x46, - 0x14, 0x95, 0xed, 0x04, 0xc8, 0x0d, 0xb0, 0xab, 0x29, 0xa2, 0xee, 0xaa, 0xaa, 0x22, 0xb7, 0xaa, - 0xa2, 0x7d, 0x00, 0x89, 0x7d, 0xa9, 0xb6, 0xaa, 0xaa, 0x42, 0x02, 0xf2, 0x6a, 0x03, 0x68, 0x60, - 0x5f, 0xfa, 0x82, 0x8c, 0x33, 0x80, 0x85, 0x3f, 0x12, 0x8f, 0x03, 0xe1, 0x7f, 0xf4, 0xb5, 0xff, - 0xa1, 0xaf, 0xed, 0x4f, 0xe8, 0x43, 0xff, 0x51, 0xa5, 0xea, 0xde, 0x19, 0x9b, 0x99, 0x18, 0xb5, - 0x7d, 0x9b, 0x73, 0x72, 0xc7, 0x33, 0xf7, 0x9c, 0x73, 0x1d, 0xc3, 0x2b, 0x39, 0xbd, 0xbf, 0x7a, - 0x94, 0xfb, 0x8f, 0x72, 0x6f, 0x56, 0x16, 0x55, 0xc1, 0xfa, 0xc5, 0x4c, 0xe4, 0x57, 0x49, 0x76, - 0x25, 0xa7, 0xf7, 0xc1, 0x9f, 0x0e, 0xf8, 0xe7, 0x8b, 0x34, 0x9d, 0x08, 0x29, 0xa3, 0x5b, 0x71, - 0xf8, 0x74, 0x21, 0xe6, 0x1f, 0x13, 0x59, 0x71, 0x21, 0x67, 0x6c, 0x17, 0xd6, 0x26, 0xd1, 0xf2, - 0x42, 0xcc, 0x7d, 0x67, 0xe0, 0x0c, 0x3d, 0xae, 0x11, 0xf1, 0x49, 0x8e, 0xbc, 0xab, 0x79, 0x42, - 0xec, 0x47, 0xd8, 0xba, 0x48, 0xf2, 0xdb, 0x54, 0x7c, 0x92, 0xa2, 0x9c, 0xc8, 0x5b, 0xdf, 0x1b, - 0x78, 0xc3, 0xfe, 0xc1, 0x17, 0x7b, 0xc6, 0x89, 0x7b, 0x27, 0x51, 0x75, 0x27, 0xca, 0xe3, 0xa2, - 0xcc, 0xa2, 0x8a, 0xdb, 0xf5, 0xec, 0x07, 0xd8, 0x3c, 0x29, 0x8b, 0xc5, 0xac, 0xde, 0xdf, 0xf9, - 0xaf, 0xfd, 0x56, 0x79, 0xf0, 0x0e, 0x3e, 0x7f, 0xb9, 0x97, 0x39, 0xf3, 0x61, 0x5d, 0x2a, 0xe4, - 0x3b, 0x03, 0x6f, 0xe8, 0xf1, 0x1a, 0x06, 0x3b, 0xc0, 0x4e, 0x44, 0x35, 0x89, 0x96, 0x3f, 0xe5, - 0x53, 0xd5, 0x07, 0x17, 0xf3, 0x60, 0x0c, 0x9f, 0xb5, 0x58, 0xa5, 0x48, 0x66, 0x29, 0x92, 0x35, - 0x8a, 0x64, 0x96, 0x22, 0x0a, 0x05, 0x1f, 0x60, 0xd3, 0xbc, 0x2f, 0xdb, 0x06, 0x37, 0x1c, 0xd1, - 0xde, 0x1e, 0x77, 0xc3, 0x11, 0x7b, 0x0b, 0x1d, 0xba, 0x93, 0x4b, 0x8d, 0xee, 0x5a, 0x8d, 0x4e, - 0xe4, 0xad, 0xee, 0x92, 0x6a, 0x82, 0xbf, 0x5d, 0xe8, 0x35, 0x1c, 0x9e, 0x78, 0x21, 0xf2, 0x69, - 0xf3, 0x34, 0x8d, 0x90, 0xe7, 0x22, 0x7e, 0x08, 0x47, 0x74, 0x93, 0x1e, 0xd7, 0x08, 0x05, 0xc0, - 0xcd, 0x65, 0x91, 0xf9, 0xde, 0xc0, 0x19, 0x76, 0x79, 0x0d, 0xd9, 0x00, 0xfa, 0x47, 0x45, 0x5e, - 0x89, 0xbc, 0xba, 0x7c, 0x9a, 0x09, 0xbf, 0x43, 0xbf, 0x9a, 0x14, 0x56, 0x5c, 0x88, 0xf2, 0x81, - 0x44, 0x0e, 0x47, 0x7e, 0x97, 0x1e, 0x6c, 0x52, 0xf8, 0x74, 0xbd, 0xc1, 0x5f, 0xa3, 0x5f, 0x6b, - 0xc8, 0x5e, 0x83, 0x87, 0xb2, 0xac, 0x93, 0x2c, 0xb8, 0x64, 0x6f, 0x60, 0x03, 0xef, 0x7a, 0x99, - 0x64, 0xc2, 0xdf, 0x20, 0xba, 0xc1, 0xec, 0x2d, 0xbc, 0xc6, 0xb5, 0x28, 0xcf, 0xd3, 0xa8, 0xba, - 0x29, 0xca, 0x2c, 0x1c, 0xf9, 0x3d, 0xba, 0x50, 0x8b, 0x67, 0xdf, 0xc2, 0xb6, 0xe2, 0x4e, 0x93, - 0xf8, 0xfe, 0x34, 0xca, 0x84, 0x0f, 0x74, 0xf4, 0x0a, 0xcb, 0xbe, 0x81, 0x2d, 0xc5, 0x1c, 0x47, - 0xb1, 0xf8, 0xc4, 0x3f, 0xfa, 0x7d, 0x2a, 0xb3, 0x49, 0x52, 0x21, 0x4d, 0x44, 0x5e, 0xa9, 0x1e, - 0x37, 0x55, 0x8f, 0x06, 0x15, 0xfc, 0xe5, 0xc1, 0x36, 0x26, 0x0d, 0xf7, 0x4d, 0xe4, 0x2d, 0xa6, - 0xea, 0x10, 0xd6, 0xcf, 0x66, 0x55, 0x52, 0xe4, 0x92, 0x52, 0xd5, 0x3f, 0x18, 0x5a, 0x0e, 0xda, - 0xd5, 0x7b, 0xba, 0x74, 0x9c, 0x57, 0xe5, 0x13, 0xaf, 0x37, 0xbe, 0xd0, 0x86, 0xfb, 0xff, 0xda, - 0xf0, 0x5e, 0x6a, 0xe3, 0x2b, 0x00, 0x43, 0x3a, 0xe5, 0xa5, 0xc1, 0x28, 0x2b, 0xa5, 0x4c, 0x8a, - 0x9c, 0xcc, 0xee, 0x2a, 0xb3, 0x0d, 0xca, 0x0c, 0xca, 0xda, 0xbf, 0x06, 0x65, 0xbd, 0x1d, 0x94, - 0xe7, 0xf0, 0x6d, 0x58, 0xe1, 0xfb, 0x12, 0x7a, 0xc7, 0x45, 0x19, 0x0b, 0xca, 0x7a, 0x6f, 0xe0, - 0x0d, 0x7b, 0xfc, 0x99, 0x30, 0xc3, 0x03, 0x76, 0x78, 0x56, 0x4c, 0xe9, 0xb7, 0x4c, 0x79, 0xf3, - 0x1e, 0x36, 0x4d, 0x59, 0x31, 0x6e, 0xf7, 0xe2, 0x49, 0xcf, 0x04, 0x2e, 0xd9, 0x0e, 0x74, 0x1f, - 0xa2, 0x74, 0xa1, 0x64, 0xed, 0x72, 0x05, 0xde, 0xbb, 0xdf, 0x39, 0xc1, 0x1c, 0x5e, 0x59, 0x0e, - 0xc9, 0xd9, 0x6a, 0xd2, 0x9d, 0x76, 0xd2, 0x57, 0xae, 0xe4, 0xb6, 0xae, 0x84, 0xf9, 0x96, 0x75, - 0xbe, 0x3d, 0x95, 0xef, 0x1a, 0x07, 0xbf, 0x7a, 0xa4, 0xee, 0x28, 0xaa, 0x22, 0x14, 0x4b, 0x5a, - 0x13, 0x2c, 0x9b, 0x09, 0x2e, 0xad, 0x09, 0x56, 0x08, 0x4f, 0x96, 0x86, 0x75, 0x6a, 0x8a, 0x4d, - 0x0a, 0x85, 0xcc, 0xb4, 0x75, 0xca, 0xf9, 0x1a, 0xe2, 0xde, 0xd8, 0xb0, 0x4e, 0xdb, 0x1e, 0xdb, - 0x33, 0x2e, 0x8d, 0xce, 0xd5, 0x14, 0x9b, 0x14, 0x3e, 0x5d, 0x6f, 0x20, 0xeb, 0x7b, 0xbc, 0x86, - 0x56, 0xc7, 0x1b, 0x76, 0xc7, 0x68, 0x88, 0x14, 0x73, 0x1a, 0x62, 0x8f, 0xe3, 0x12, 0x67, 0x5c, - 0xae, 0xce, 0x38, 0xa8, 0x19, 0x97, 0x2f, 0xcc, 0xb8, 0xb4, 0x87, 0x43, 0x65, 0x60, 0x85, 0xc5, - 0xe1, 0x90, 0xd6, 0x70, 0xa8, 0xf9, 0xb5, 0x49, 0x52, 0xc1, 0xf0, 0x6e, 0x4b, 0xf5, 0x68, 0x50, - 0xc1, 0x04, 0x5e, 0x9d, 0xdd, 0xdc, 0xa4, 0x49, 0x2e, 0xce, 0x17, 0xf2, 0x2e, 0xcc, 0x6f, 0x0a, - 0xcc, 0xcf, 0x65, 0x52, 0xa5, 0x42, 0xbb, 0xa4, 0x00, 0x63, 0xd0, 0x19, 0x09, 0x19, 0x6b, 0x8b, - 0x68, 0x8d, 0xad, 0x8e, 0x97, 0x95, 0x9e, 0x4b, 0x5c, 0x06, 0xbf, 0xb8, 0xfa, 0x0f, 0x0d, 0x9f, - 0x74, 0x99, 0xcc, 0x50, 0x43, 0x85, 0x6b, 0xd3, 0x6b, 0x88, 0x23, 0x42, 0x4b, 0xe3, 0x0d, 0xf0, - 0x4c, 0xb0, 0x00, 0x36, 0x4f, 0x8b, 0x2a, 0xb9, 0x49, 0xe2, 0x08, 0xc3, 0xae, 0xcf, 0xb0, 0x38, - 0xac, 0x09, 0xf3, 0xaa, 0x2c, 0xa6, 0x8b, 0x98, 0x6a, 0x3a, 0xaa, 0xc6, 0xe4, 0xf0, 0x7c, 0x12, - 0xa3, 0x4c, 0xf5, 0x5b, 0xbc, 0x86, 0xf8, 0xcf, 0x34, 0x5e, 0x6a, 0xdb, 0xdd, 0xf1, 0x12, 0x2b, - 0xcf, 0x1e, 0x73, 0x51, 0x86, 0xa3, 0xda, 0x6d, 0x0d, 0xf1, 0x15, 0x73, 0x54, 0x8a, 0xa8, 0x12, - 0x8d, 0xdf, 0x1d, 0x6e, 0x30, 0xa8, 0xf2, 0x44, 0x64, 0xd7, 0xa2, 0x3c, 0x2a, 0x16, 0x79, 0x45, - 0xce, 0x6f, 0x71, 0x93, 0x0a, 0x7e, 0x73, 0x60, 0x97, 0x7a, 0x53, 0xe4, 0xf1, 0x22, 0x4d, 0x5b, - 0x02, 0x4d, 0x6d, 0x81, 0xa6, 0x38, 0x16, 0x38, 0xad, 0xe1, 0xb4, 0x1e, 0x0b, 0x85, 0xd0, 0x09, - 0x5e, 0xa4, 0xf5, 0x3c, 0xd0, 0x1a, 0x03, 0xf9, 0xa1, 0x48, 0x72, 0xba, 0x60, 0x87, 0x2e, 0xd8, - 0x60, 0xfc, 0xad, 0x09, 0x93, 0xd2, 0xa0, 0xc1, 0xa6, 0x3c, 0x6b, 0x96, 0x3c, 0xc1, 0x1f, 0x0e, - 0x6c, 0xab, 0x1e, 0xe9, 0x3e, 0x78, 0xd5, 0x7d, 0xe8, 0xd2, 0x9a, 0x2e, 0xda, 0xfa, 0x4a, 0x31, - 0x5c, 0xe7, 0xaa, 0x8e, 0x1d, 0xc0, 0x3a, 0x3d, 0xa2, 0x28, 0xa9, 0x85, 0xfe, 0x81, 0xdf, 0xfa, - 0xb7, 0xa8, 0x77, 0xd4, 0x85, 0xec, 0x08, 0x40, 0x89, 0x44, 0xaf, 0x4e, 0xf5, 0x3d, 0xf5, 0x75, - 0xfb, 0xa4, 0x96, 0x90, 0xdc, 0xd8, 0x16, 0xfc, 0xee, 0x40, 0xdf, 0x78, 0x7a, 0x23, 0x65, 0xf3, - 0xe6, 0x51, 0x08, 0xa5, 0x34, 0xe2, 0x47, 0x6b, 0xe4, 0xc2, 0xb8, 0x49, 0x1c, 0xad, 0x71, 0xff, - 0x09, 0x0d, 0x96, 0x7e, 0xcd, 0x68, 0x44, 0xdf, 0x85, 0xc5, 0x75, 0x92, 0xd6, 0xc2, 0x6a, 0x84, - 0x23, 0x74, 0x98, 0x94, 0xd5, 0x9d, 0x16, 0x55, 0x01, 0x64, 0xc7, 0x59, 0x94, 0xa4, 0x3a, 0x5f, - 0x0a, 0xe8, 0x1c, 0x6e, 0xd4, 0x39, 0x3c, 0xdc, 0xfd, 0x79, 0x67, 0x6f, 0x5f, 0x7d, 0xc2, 0x7e, - 0x6f, 0xb4, 0x7d, 0xbd, 0x46, 0x1f, 0xb3, 0xef, 0xfe, 0x09, 0x00, 0x00, 0xff, 0xff, 0x6f, 0xce, - 0xa8, 0xe0, 0xdf, 0x0a, 0x00, 0x00, + proto.RegisterType((*GroupInfo)(nil), "open_im_sdk.GroupInfo") + proto.RegisterType((*GroupMemberFullInfo)(nil), "open_im_sdk.GroupMemberFullInfo") + proto.RegisterType((*UserInfo)(nil), "open_im_sdk.UserInfo") + proto.RegisterType((*PublicUserInfo)(nil), "open_im_sdk.PublicUserInfo") + proto.RegisterType((*TipsComm)(nil), "open_im_sdk.TipsComm") + proto.RegisterType((*MemberEnterTips)(nil), "open_im_sdk.MemberEnterTips") + proto.RegisterType((*MemberLeaveTips)(nil), "open_im_sdk.MemberLeaveTips") + proto.RegisterType((*MemberInvitedTips)(nil), "open_im_sdk.MemberInvitedTips") + proto.RegisterType((*MemberKickedTips)(nil), "open_im_sdk.MemberKickedTips") + proto.RegisterType((*GroupMemberChangeInfo)(nil), "open_im_sdk.GroupMemberChangeInfo") + proto.RegisterType((*MemberInfoChangedTips)(nil), "open_im_sdk.MemberInfoChangedTips") + proto.RegisterType((*GroupCreatedTips)(nil), "open_im_sdk.GroupCreatedTips") + proto.RegisterType((*GroupInfoChangedTips)(nil), "open_im_sdk.GroupInfoChangedTips") + proto.RegisterType((*ReceiveJoinApplicationTips)(nil), "open_im_sdk.ReceiveJoinApplicationTips") + proto.RegisterType((*ApplicationProcessedTips)(nil), "open_im_sdk.ApplicationProcessedTips") + proto.RegisterType((*FriendInfo)(nil), "open_im_sdk.FriendInfo") + proto.RegisterType((*FriendApplication)(nil), "open_im_sdk.FriendApplication") + proto.RegisterType((*FriendApplicationListAddedTips)(nil), "open_im_sdk.FriendApplicationListAddedTips") + proto.RegisterType((*FriendApplicationListAcceptTips)(nil), "open_im_sdk.FriendApplicationListAcceptTips") + proto.RegisterType((*FriendApplicationListRejectTips)(nil), "open_im_sdk.FriendApplicationListRejectTips") + proto.RegisterType((*FriendListAddedTips)(nil), "open_im_sdk.FriendListAddedTips") + proto.RegisterType((*FriendListDeletedTips)(nil), "open_im_sdk.FriendListDeletedTips") + proto.RegisterType((*BlackListAddTips)(nil), "open_im_sdk.BlackListAddTips") + proto.RegisterType((*BlackListDeletedTips)(nil), "open_im_sdk.BlackListDeletedTips") + proto.RegisterType((*FriendInfoChangedTips)(nil), "open_im_sdk.FriendInfoChangedTips") + proto.RegisterType((*SelfInfoUpdatedTips)(nil), "open_im_sdk.SelfInfoUpdatedTips") +} + +func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_e632726fa8a2c9ae) } + +var fileDescriptor_ws_e632726fa8a2c9ae = []byte{ + // 1649 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x58, 0xcd, 0x6e, 0x1b, 0x47, + 0x12, 0xc6, 0x70, 0x28, 0x8a, 0x2c, 0xea, 0xcf, 0xa3, 0x1f, 0x73, 0xb5, 0x0b, 0x2f, 0x31, 0x58, + 0x2c, 0x04, 0x63, 0x21, 0x63, 0xe5, 0x43, 0x1c, 0x07, 0x46, 0x2c, 0x89, 0x92, 0x4c, 0xc7, 0xb4, + 0x84, 0x91, 0x8c, 0x00, 0xb9, 0x18, 0xa3, 0x99, 0xa6, 0x34, 0xe1, 0xfc, 0x50, 0xd3, 0x43, 0x59, + 0x7a, 0x8a, 0xbc, 0x40, 0x82, 0xe4, 0x92, 0x4b, 0x8e, 0x39, 0xe4, 0x15, 0x02, 0xe4, 0x10, 0x24, + 0xd7, 0xe4, 0x9a, 0xd7, 0x08, 0x10, 0x54, 0x75, 0xcf, 0xb0, 0x9b, 0x54, 0x2c, 0x59, 0x4e, 0xec, + 0x20, 0xb7, 0xae, 0x8f, 0x55, 0xdd, 0x5f, 0xfd, 0x75, 0x17, 0x07, 0x66, 0xb9, 0xdf, 0x7b, 0xfe, + 0x82, 0xdf, 0x79, 0xc1, 0x57, 0xfb, 0x69, 0x92, 0x25, 0x56, 0x3d, 0xe9, 0xb3, 0xf8, 0x79, 0x10, + 0x3d, 0xe7, 0x7e, 0xcf, 0xfe, 0xce, 0x80, 0xc6, 0xde, 0x20, 0x0c, 0x3b, 0x8c, 0x73, 0xf7, 0x88, + 0x6d, 0x9c, 0xef, 0xb3, 0x93, 0x27, 0x01, 0xcf, 0x1c, 0xc6, 0xfb, 0xd6, 0x12, 0x54, 0x3a, 0xee, + 0xd9, 0x3e, 0x3b, 0x69, 0x18, 0x4d, 0x63, 0xc5, 0x74, 0xa4, 0x44, 0x78, 0x10, 0x23, 0x5e, 0x92, + 0x38, 0x49, 0xd6, 0xfb, 0x30, 0xbd, 0x1f, 0xc4, 0x47, 0x21, 0x7b, 0xc6, 0x59, 0xda, 0xe1, 0x47, + 0x0d, 0xb3, 0x69, 0xae, 0xd4, 0xd7, 0xfe, 0xb1, 0xaa, 0x9c, 0xb8, 0xba, 0xe3, 0x66, 0xc7, 0x2c, + 0xdd, 0x4e, 0xd2, 0xc8, 0xcd, 0x1c, 0x5d, 0xdf, 0x7a, 0x00, 0x53, 0x3b, 0x69, 0x32, 0xe8, 0xe7, + 0xf6, 0xe5, 0xcb, 0xec, 0x35, 0x75, 0xfb, 0x2e, 0xdc, 0xbc, 0xd8, 0x97, 0x13, 0xab, 0x01, 0x93, + 0x5c, 0x48, 0x0d, 0xa3, 0x69, 0xae, 0x98, 0x4e, 0x2e, 0xda, 0x0b, 0x60, 0xed, 0xb0, 0xac, 0xe3, + 0x9e, 0xad, 0xc7, 0xbe, 0xf0, 0xc3, 0x61, 0x27, 0xf6, 0x16, 0xcc, 0x8f, 0xa1, 0x22, 0x22, 0x91, + 0x16, 0x91, 0xa8, 0x88, 0x48, 0xa4, 0x45, 0x44, 0x48, 0xf6, 0x63, 0x98, 0x52, 0xf9, 0x5a, 0x33, + 0x50, 0x6a, 0xb7, 0xc8, 0xb6, 0xe6, 0x94, 0xda, 0x2d, 0xeb, 0x36, 0x94, 0x89, 0x53, 0x89, 0x1c, + 0x5d, 0xd2, 0x1c, 0xed, 0xf0, 0x23, 0xe9, 0x25, 0xe9, 0xd8, 0xbf, 0x96, 0xa0, 0x56, 0x60, 0x78, + 0xe2, 0x3e, 0x8b, 0xfd, 0x62, 0x37, 0x29, 0x21, 0xee, 0x30, 0xef, 0xb4, 0xdd, 0x22, 0x26, 0x35, + 0x47, 0x4a, 0x18, 0x00, 0x34, 0x4e, 0x93, 0xa8, 0x61, 0x36, 0x8d, 0x95, 0x09, 0x27, 0x17, 0xad, + 0x26, 0xd4, 0x37, 0x93, 0x38, 0x63, 0x71, 0x76, 0x70, 0xde, 0x67, 0x8d, 0x32, 0xfd, 0xaa, 0x42, + 0xa8, 0xb1, 0xcf, 0xd2, 0x53, 0x0a, 0x72, 0xbb, 0xd5, 0x98, 0xa0, 0x8d, 0x55, 0x08, 0x77, 0x97, + 0x06, 0x8d, 0x0a, 0xfd, 0x9a, 0x8b, 0xd6, 0x1c, 0x98, 0x18, 0x96, 0x49, 0x0a, 0x0b, 0x2e, 0xad, + 0x65, 0xa8, 0x22, 0xd7, 0x83, 0x20, 0x62, 0x8d, 0x2a, 0xc1, 0x85, 0x6c, 0xdd, 0x86, 0x39, 0x5c, + 0xb3, 0x74, 0x2f, 0x74, 0xb3, 0x6e, 0x92, 0x46, 0xed, 0x56, 0xa3, 0x46, 0x84, 0xc6, 0x70, 0xeb, + 0xbf, 0x30, 0x23, 0xb0, 0xa7, 0x81, 0xd7, 0x7b, 0xea, 0x46, 0xac, 0x01, 0x74, 0xf4, 0x08, 0x6a, + 0xfd, 0x07, 0xa6, 0x05, 0xb2, 0xed, 0x7a, 0xec, 0x99, 0xf3, 0xa4, 0x51, 0x27, 0x35, 0x1d, 0xa4, + 0x28, 0x84, 0x01, 0x8b, 0x33, 0xe1, 0xe3, 0x94, 0xf0, 0x51, 0x81, 0xec, 0xef, 0x4d, 0x98, 0xc1, + 0x4a, 0x43, 0xbb, 0x0e, 0x3f, 0xc2, 0xaa, 0xda, 0x80, 0xc9, 0xdd, 0x7e, 0x16, 0x24, 0x31, 0xa7, + 0xaa, 0xaa, 0xaf, 0xad, 0x68, 0x19, 0xd4, 0xb5, 0x57, 0xa5, 0xea, 0x56, 0x9c, 0xa5, 0xe7, 0x4e, + 0x6e, 0x78, 0x81, 0x1b, 0xa5, 0xab, 0xb9, 0x61, 0x5e, 0xe4, 0xc6, 0x2d, 0x00, 0x25, 0x74, 0x22, + 0x97, 0x0a, 0x22, 0x52, 0xc9, 0x79, 0x90, 0xc4, 0x94, 0xec, 0x09, 0x91, 0x6c, 0x05, 0x52, 0x0b, + 0xa5, 0xf2, 0xd2, 0x42, 0x99, 0x1c, 0x2f, 0x94, 0x61, 0xf1, 0x55, 0xb5, 0xe2, 0xfb, 0x17, 0xd4, + 0xb6, 0x93, 0xd4, 0x63, 0x54, 0xeb, 0xb5, 0xa6, 0xb9, 0x52, 0x73, 0x86, 0x80, 0x5a, 0x3c, 0xa0, + 0x17, 0xcf, 0x48, 0x52, 0xea, 0x63, 0x49, 0x59, 0xbe, 0x0f, 0x53, 0x6a, 0x58, 0xb1, 0xdc, 0x7a, + 0xec, 0x5c, 0xf6, 0x04, 0x2e, 0xad, 0x05, 0x98, 0x38, 0x75, 0xc3, 0x81, 0x08, 0xeb, 0x84, 0x23, + 0x84, 0xfb, 0xa5, 0x7b, 0x86, 0x7d, 0x02, 0xb3, 0x5a, 0x86, 0x78, 0x7f, 0xb4, 0xd2, 0x8d, 0xf1, + 0x4a, 0x1f, 0xa1, 0x54, 0x1a, 0xa3, 0x84, 0xf5, 0xcd, 0xf3, 0xfa, 0x36, 0x45, 0x7d, 0xe7, 0xb2, + 0xfd, 0x99, 0x49, 0xd1, 0x6d, 0xb9, 0x99, 0x8b, 0xc1, 0xe2, 0x5a, 0x07, 0xf3, 0xa2, 0x83, 0x53, + 0xad, 0x83, 0x85, 0x84, 0x27, 0x73, 0x25, 0x75, 0xa2, 0x8b, 0x55, 0x08, 0x03, 0x19, 0xc9, 0xd4, + 0x89, 0xcc, 0xe7, 0x22, 0xda, 0x7a, 0x4a, 0xea, 0x64, 0xda, 0x3d, 0xbd, 0xc7, 0xb9, 0xe2, 0xb9, + 0xe8, 0x62, 0x15, 0xc2, 0xdd, 0xa5, 0x01, 0xa5, 0xbe, 0xe6, 0xe4, 0xa2, 0xe6, 0x71, 0x55, 0xf7, + 0x18, 0x13, 0xc2, 0xd9, 0x09, 0x35, 0xb1, 0xe9, 0xe0, 0x12, 0x7b, 0x9c, 0x8f, 0xf6, 0x38, 0x88, + 0x1e, 0xe7, 0x17, 0xf4, 0x38, 0xd7, 0x9b, 0x43, 0xd4, 0xc0, 0x08, 0x8a, 0xcd, 0xc1, 0xb5, 0xe6, + 0x10, 0xfd, 0xab, 0x83, 0x14, 0x05, 0x25, 0x77, 0xd3, 0xc2, 0x47, 0x05, 0xb2, 0x3b, 0x30, 0xbb, + 0xdb, 0xed, 0x86, 0x41, 0xcc, 0xf6, 0x06, 0xfc, 0xb8, 0x1d, 0x77, 0x13, 0xac, 0x9f, 0x83, 0x20, + 0x0b, 0x99, 0xcc, 0x92, 0x10, 0x2c, 0x0b, 0xca, 0x2d, 0xc6, 0x3d, 0x99, 0x22, 0x5a, 0xa3, 0xab, + 0x5b, 0x67, 0x99, 0xec, 0x4b, 0x5c, 0xda, 0x5f, 0x95, 0xa0, 0x46, 0x2f, 0x14, 0xed, 0xd4, 0x80, + 0x49, 0x21, 0xe4, 0x19, 0xcf, 0x45, 0xec, 0x0f, 0x5a, 0x2a, 0xed, 0x3f, 0x04, 0x2c, 0x1b, 0xa6, + 0x9e, 0x26, 0x59, 0xd0, 0x0d, 0x3c, 0x17, 0x2b, 0x5d, 0x1e, 0xa0, 0x61, 0xa8, 0xd3, 0x8e, 0xb3, + 0x34, 0xf1, 0x07, 0x1e, 0xe9, 0x94, 0x85, 0x8e, 0x8a, 0xe1, 0xf9, 0x14, 0x89, 0x34, 0x94, 0x57, + 0x78, 0x2e, 0xe2, 0xb3, 0xb4, 0x75, 0x26, 0x73, 0x5e, 0xda, 0x3a, 0xb3, 0xfe, 0x0f, 0x13, 0xbb, + 0x2f, 0x62, 0x96, 0x52, 0xa2, 0xeb, 0x6b, 0xff, 0xd4, 0x6e, 0xb5, 0xbd, 0xc1, 0x61, 0x18, 0x78, + 0xd8, 0x39, 0xe8, 0x95, 0x23, 0x34, 0xf1, 0xe2, 0xd9, 0x4c, 0x99, 0x9b, 0xb1, 0xa2, 0x0a, 0xca, + 0x8e, 0x82, 0x60, 0xec, 0x3b, 0x2c, 0x3a, 0x64, 0xe9, 0x66, 0x32, 0x88, 0x33, 0xaa, 0x87, 0x69, + 0x47, 0x85, 0xec, 0x1f, 0x0d, 0x98, 0x27, 0xa7, 0x05, 0xb8, 0x3d, 0x08, 0xc3, 0x4b, 0xc2, 0xb6, + 0x04, 0x15, 0xa2, 0x51, 0x74, 0x8a, 0x90, 0x30, 0x39, 0x4e, 0x12, 0xe6, 0x2d, 0x42, 0x6b, 0xac, + 0xd1, 0xc7, 0x49, 0x10, 0x13, 0xbb, 0x32, 0xb1, 0x2b, 0x64, 0xfc, 0xad, 0xa8, 0x2f, 0x11, 0x99, + 0x42, 0x56, 0x83, 0x56, 0xd1, 0x83, 0x66, 0xc3, 0xd4, 0x76, 0x1a, 0xb0, 0xd8, 0x77, 0x58, 0xe4, + 0xa6, 0x3d, 0xd9, 0x14, 0x1a, 0x66, 0x7f, 0x63, 0x40, 0x35, 0x8f, 0x94, 0x42, 0xd7, 0x18, 0xa5, + 0xab, 0x24, 0x9e, 0xd6, 0x88, 0xb5, 0xbd, 0x22, 0xd7, 0xb4, 0x46, 0xfb, 0x1d, 0xaa, 0x67, 0xd9, + 0xdd, 0x52, 0xa2, 0x71, 0x2c, 0x39, 0x0c, 0xc2, 0x9c, 0xbc, 0x94, 0xb0, 0x72, 0x37, 0x82, 0x34, + 0x3b, 0x96, 0xc4, 0x85, 0x80, 0xe8, 0x56, 0xe4, 0x06, 0xa1, 0xe4, 0x2b, 0x04, 0x59, 0x01, 0xd5, + 0xbc, 0x02, 0xec, 0x63, 0x98, 0xd1, 0xf3, 0xfc, 0x67, 0xb1, 0xb7, 0x5b, 0x50, 0x3d, 0x08, 0xfa, + 0x7c, 0x33, 0x89, 0x22, 0xd4, 0x69, 0xb1, 0x0c, 0xc9, 0xc9, 0x33, 0x84, 0x84, 0xc5, 0xd3, 0x62, + 0x5d, 0x77, 0x10, 0x66, 0xa8, 0x9a, 0x5f, 0xba, 0x0a, 0x64, 0x7f, 0x6e, 0xc0, 0xac, 0xa8, 0x9b, + 0xad, 0x38, 0x63, 0x29, 0x62, 0xd6, 0xff, 0x60, 0x82, 0x2a, 0x85, 0x36, 0x1b, 0x9d, 0xae, 0x8a, + 0xb6, 0x74, 0x84, 0x92, 0x75, 0x0f, 0x2a, 0x62, 0x03, 0xda, 0xbe, 0xbe, 0xd6, 0x1c, 0x57, 0xd7, + 0x0b, 0xd3, 0x91, 0xfa, 0x78, 0xf9, 0xec, 0xf6, 0x59, 0x4a, 0x8d, 0x58, 0xdc, 0xfa, 0x65, 0x47, + 0x07, 0x15, 0x86, 0x4f, 0x98, 0x7b, 0xca, 0xfe, 0x82, 0x0c, 0x7f, 0x36, 0xe0, 0x86, 0x30, 0x68, + 0xc7, 0xa7, 0x41, 0xc6, 0xfc, 0xeb, 0x71, 0xdc, 0xa5, 0x79, 0xfc, 0xea, 0x1c, 0x85, 0xbe, 0xe2, + 0x9d, 0xf9, 0xba, 0xde, 0x95, 0x2f, 0xf2, 0xee, 0x27, 0x03, 0xe6, 0x84, 0xc1, 0x07, 0x81, 0xd7, + 0xfb, 0x9b, 0x39, 0xf7, 0xad, 0x01, 0x8b, 0xca, 0x2e, 0x9b, 0xc7, 0x6e, 0x7c, 0xc4, 0xa8, 0x6d, + 0xf1, 0x5e, 0x26, 0x89, 0x1e, 0x7e, 0x43, 0x0c, 0x84, 0x43, 0xe4, 0xad, 0xf8, 0xb4, 0x0c, 0xd5, + 0xce, 0x40, 0xbe, 0x14, 0xf2, 0x2e, 0xce, 0x65, 0xfb, 0x13, 0x03, 0x16, 0xf3, 0x22, 0xec, 0x26, + 0x82, 0xe8, 0x75, 0x72, 0xf5, 0x08, 0xa6, 0xd5, 0x58, 0xf8, 0xd2, 0x3d, 0xfb, 0xf7, 0x48, 0x0e, + 0x43, 0xe6, 0xe8, 0x86, 0xf6, 0x2f, 0x06, 0xcc, 0x91, 0xa2, 0x78, 0xcd, 0xae, 0x43, 0xe6, 0x3e, + 0x4c, 0x92, 0x71, 0x72, 0xf5, 0x28, 0xe7, 0x06, 0xd6, 0x43, 0x00, 0x79, 0x6d, 0xe0, 0xf0, 0x2c, + 0xfe, 0x51, 0x5f, 0x6e, 0xae, 0xd8, 0x5c, 0xb1, 0x84, 0xbe, 0x30, 0x60, 0xa1, 0x20, 0xae, 0xc6, + 0x1d, 0x27, 0x5e, 0x29, 0x0e, 0x4b, 0x48, 0x85, 0x86, 0xc1, 0x28, 0xbd, 0x5a, 0x17, 0x99, 0xaf, + 0x56, 0x71, 0xf6, 0xa7, 0x06, 0x2c, 0x3b, 0xcc, 0x63, 0xc1, 0x29, 0xc3, 0xb7, 0x7b, 0xbd, 0xdf, + 0x0f, 0xe5, 0xfc, 0xf3, 0x46, 0x6f, 0x53, 0xfa, 0x97, 0xe3, 0xf2, 0xe2, 0x7d, 0x93, 0x92, 0xfd, + 0xb5, 0x01, 0x0d, 0x85, 0xd3, 0x5e, 0x9a, 0x78, 0x8c, 0xf3, 0x37, 0x7c, 0xd3, 0x10, 0x39, 0x3e, + 0x08, 0x33, 0x39, 0xfd, 0x48, 0x49, 0x21, 0x5d, 0xd6, 0x48, 0x7f, 0x69, 0x00, 0x88, 0x91, 0x85, + 0xae, 0x8b, 0x26, 0xd4, 0x69, 0x9e, 0xd3, 0x9e, 0x7a, 0x15, 0x12, 0x1b, 0xd1, 0xc0, 0x53, 0x7c, + 0x60, 0x40, 0x69, 0x64, 0x00, 0x34, 0xc7, 0x06, 0xc0, 0x07, 0x30, 0x23, 0xce, 0xc9, 0x27, 0x0a, + 0x22, 0x52, 0x5f, 0x5b, 0x1c, 0xfb, 0xcb, 0x4c, 0xfe, 0x8c, 0x28, 0xdb, 0x3d, 0xb8, 0x21, 0x10, + 0x25, 0xc2, 0x38, 0x9c, 0xad, 0xfb, 0xbe, 0x52, 0xd3, 0xb9, 0x88, 0x13, 0xf5, 0xba, 0xef, 0xef, + 0x27, 0x83, 0xd4, 0xcb, 0xc7, 0xa2, 0x21, 0x80, 0x5c, 0xd7, 0x7d, 0xff, 0xc3, 0x24, 0xf5, 0x83, + 0xf8, 0x48, 0x8e, 0x47, 0x0a, 0x62, 0xff, 0x60, 0xc0, 0xad, 0xb1, 0xd3, 0xb0, 0x97, 0xd6, 0x7d, + 0x5f, 0xe6, 0xf3, 0x6e, 0x91, 0x21, 0xe3, 0xf2, 0x19, 0x39, 0x4f, 0xce, 0x43, 0xa8, 0x2b, 0x1b, + 0xca, 0xdc, 0xde, 0xd2, 0x2c, 0xc7, 0x8e, 0x75, 0x54, 0x13, 0xeb, 0x1d, 0xa8, 0xee, 0xf6, 0x99, + 0xaf, 0xb4, 0xcf, 0x4b, 0x0f, 0x2e, 0x94, 0xf1, 0x5e, 0xfd, 0xf7, 0xc5, 0x2e, 0x79, 0x1e, 0xeb, + 0x67, 0xd7, 0xf7, 0x49, 0x65, 0x54, 0xfa, 0x43, 0x18, 0x39, 0xec, 0x63, 0xe6, 0xbd, 0x0d, 0x46, + 0xdb, 0x30, 0x2f, 0x08, 0xe9, 0xa9, 0xbe, 0x03, 0x15, 0x01, 0x4b, 0x12, 0x37, 0x2f, 0x48, 0x98, + 0x20, 0x20, 0xd6, 0xf6, 0x23, 0x58, 0x1c, 0xee, 0xd3, 0x62, 0x21, 0xcb, 0xae, 0xbb, 0xd3, 0x26, + 0xcc, 0x6d, 0x84, 0xae, 0xd7, 0x93, 0x84, 0xae, 0xb7, 0xc9, 0x0e, 0x2c, 0x14, 0x9b, 0xbc, 0x16, + 0x9b, 0xc2, 0xaf, 0xd1, 0x27, 0xe2, 0x95, 0x77, 0xda, 0x83, 0xf9, 0x7d, 0x16, 0x76, 0x11, 0x7b, + 0xd6, 0xf7, 0x8b, 0x57, 0xf5, 0x5d, 0x98, 0x42, 0xb8, 0xb8, 0x21, 0x8c, 0x97, 0xdd, 0x10, 0x9a, + 0xea, 0xc6, 0xd2, 0x47, 0x0b, 0xab, 0x77, 0xc4, 0xa7, 0xee, 0xf7, 0x14, 0xf5, 0xc3, 0x0a, 0x7d, + 0xf4, 0xbe, 0xfb, 0x5b, 0x00, 0x00, 0x00, 0xff, 0xff, 0x47, 0x77, 0x52, 0x8c, 0x07, 0x17, 0x00, + 0x00, } diff --git a/pkg/proto/sdk_ws/ws.proto b/pkg/proto/sdk_ws/ws.proto index 5ffc7bcdd..f2279873e 100644 --- a/pkg/proto/sdk_ws/ws.proto +++ b/pkg/proto/sdk_ws/ws.proto @@ -93,38 +93,33 @@ message OfflinePushInfo{ string Ext = 3; } -message GroupInfoTip{ - string GroupID = 1; - string GroupName = 2; - string Notification = 3; - string Introduction = 4; - string FaceUrl = 5; - string Ex = 6; - string OwnerID = 7; - uint64 CreateTime = 8; - uint32 MemberCount = 9; +//public +message GroupInfo{ + string GroupID = 1; + string GroupName = 2; + string Notification = 3; + string Introduction = 4; + string FaceUrl = 5; + string Ex = 6; + PublicUserInfo Owner = 7; + uint64 CreateTime = 8; + uint32 MemberCount = 9; } - -message GroupMemberFullInfoTip { - string GroupId = 1 ; - string UserId = 2 ; +//private, Group members have permission to view +message GroupMemberFullInfo { + string GroupID = 1 ; + string UserID = 2 ; int32 Role = 3; uint64 JoinTime = 4; string NickName = 5; - string FaceUrl =6; + string FaceUrl = 6; + string FriendRemark = 7; } - - -message CreateGroupTip{ - GroupInfoTip Group = 1; - UserInfoTip Creator = 2; - repeated GroupMemberFullInfoTip MemberList = 3; -} - -message UserInfoTip { +//private, Friends have permission to view +message UserInfo{ string UserID = 1; string Name = 2; string Icon = 3; @@ -135,4 +130,140 @@ message UserInfoTip { string Ex = 8; } +//No permissions required +message PublicUserInfo{ + string UserID = 1; + string Name = 2; + string Icon = 3; + int32 Gender = 4; +} + +message TipsComm{ + string Detail = 1; + string DefaultTips = 2; +} + +//////////////////////group///////////////////// +//Actively join the group +message MemberEnterTips{ + GroupInfo Group = 1; + GroupMemberFullInfo Member = 2; + uint64 OperationTime = 3; +} + + +//Actively leave the group +message MemberLeaveTips{ + GroupInfo Group = 1; + GroupMemberFullInfo Member = 2; + uint64 OperationTime = 3; +} + +message MemberInvitedTips{ + GroupInfo Group = 1; + GroupMemberFullInfo OpUser = 2; + GroupMemberFullInfo Member = 3; + uint64 OperationTime = 4; +} + +message MemberKickedTips{ + GroupInfo Group = 1; + GroupMemberFullInfo OpUser = 2; + GroupMemberFullInfo Member = 3; + uint64 OperationTime = 4; +} + +message GroupMemberChangeInfo{ + int32 ChangeType = 1; //1:info changed; 2:mute + GroupMemberFullInfo OpUser = 2; //who do this + GroupMemberFullInfo Member = 3; + uint64 MuteTime = 4; +} + +message MemberInfoChangedTips{ + GroupInfo Group = 1; + GroupMemberChangeInfo MemberChanged = 2; +} + +message GroupCreatedTips{ + GroupInfo Group = 1; + GroupMemberFullInfo Creator = 2; + repeated GroupMemberFullInfo MemberList = 3; + uint64 OperationTime = 4; +} + +message GroupInfoChangedTips{ + int32 ChangedType = 1; //1:name;2:Notification ... + GroupInfo Group = 2; + GroupMemberFullInfo OpUser = 3; +} + +message ReceiveJoinApplicationTips{ + GroupInfo Group = 1; + GroupMemberFullInfo Member = 2; + string Reason = 3; +} + +message ApplicationProcessedTips{ + GroupInfo Group = 1; + GroupMemberFullInfo OpUser = 2; + int32 Result = 3; + string Reason = 4; +} + +//////////////////////friend///////////////////// +message FriendInfo{ + string OwnerUserID = 1; + string Remark = 2; + uint64 CreateTime = 3; + UserInfo FriendUserInfo = 4; +} + +message FriendApplication{ + uint64 AddTime = 4; + string AddSource = 5; + string AddWording = 6; +} + +//user1 add user2 +message FriendApplicationListAddedTips{ + PublicUserInfo OpUser = 1; //user1 + FriendApplication Application = 2; + PublicUserInfo OpedUser = 3; //user2 +} +// user2 accept +message FriendApplicationListAcceptTips{ + PublicUserInfo OpUser = 1; //user2 + PublicUserInfo OpedUser = 2; //user1 +} + +// user2 reject +message FriendApplicationListRejectTips{ + PublicUserInfo OpUser = 1; //user2 + PublicUserInfo OpedUser = 2; //user1 +} + +message FriendListAddedTips{ + FriendInfo Friend = 1; +} + +message FriendListDeletedTips{ + FriendInfo Friend = 1; +} + +message BlackListAddTips{ + FriendInfo Friend = 1; +} + +message BlackListDeletedTips{ + FriendInfo Friend = 1; +} + +message FriendInfoChangedTips{ + FriendInfo Friend = 1; +} +//////////////////////user///////////////////// +message SelfInfoUpdatedTips{ + UserInfo SelfUserInfo = 1; +} \ No newline at end of file From 99a8eaea9133ce590638aaf6df7c6e65b4ddbddd Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Wed, 19 Jan 2022 18:02:57 +0800 Subject: [PATCH 04/75] Refactor code --- .../db/mysql_model/im_mysql_model/friend_request_model.go | 8 ++++++++ .../db/mysql_model/im_mysql_model/group_request_model.go | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/pkg/common/db/mysql_model/im_mysql_model/friend_request_model.go b/pkg/common/db/mysql_model/im_mysql_model/friend_request_model.go index 2591426a2..0aeb2967e 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/friend_request_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/friend_request_model.go @@ -76,6 +76,14 @@ func InsertFriendApplication(friendRequest *db.FriendRequest) error { if err != nil { return err } + + friendRequest.CreateTime = time.Now() + u := dbConn.Table("friend_requests").Where("from_user_id=? and to_user_id=?", + friendRequest.FromUserID, friendRequest.ToUserID).Update(&friendRequest) + if u.RowsAffected != 0 { + return nil + } + if friendRequest.CreateTime.Unix() < 0 { friendRequest.CreateTime = time.Now() } 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 84988a3f4..a4e3ab37f 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 @@ -36,6 +36,14 @@ func InsertIntoGroupRequest(toInsertInfo db.GroupRequest) error { return err } + if toInsertInfo.HandledTime.Unix() < 0 { + toInsertInfo.HandledTime = utils.UnixSecondToTime(0) + } + u := dbConn.Table("group_requests").Where("group_id=? and user_id=?", toInsertInfo.GroupID, toInsertInfo.UserID).Update(&toInsertInfo) + if u.RowsAffected != 0 { + return nil + } + toInsertInfo.ReqTime = time.Now() if toInsertInfo.HandledTime.Unix() < 0 { toInsertInfo.HandledTime = utils.UnixSecondToTime(0) From 8525dcb376e8efc0d4e1ebda3c3803f40740df4e Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 24 Jan 2022 16:44:14 +0800 Subject: [PATCH 05/75] fix time convert --- internal/rpc/user/user.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/rpc/user/user.go b/internal/rpc/user/user.go index a0c451026..147bf2d86 100644 --- a/internal/rpc/user/user.go +++ b/internal/rpc/user/user.go @@ -80,6 +80,7 @@ func (s *userServer) GetUserInfo(ctx context.Context, req *pbUser.GetUserInfoReq continue } utils.CopyStructFields(&userInfo, user) + userInfo.Birth = uint32(user.Birth.Unix()) userInfoList = append(userInfoList, &userInfo) } } else { From 6cbdc958cd0f2b432bb8fb147bd695f49c7e6b2d Mon Sep 17 00:00:00 2001 From: skiffer-git <44203734@qq.com> Date: Fri, 28 Jan 2022 11:18:31 +0800 Subject: [PATCH 06/75] notification --- internal/rpc/msg/friend_notification.go | 1 - internal/rpc/msg/group_notification.go | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/internal/rpc/msg/friend_notification.go b/internal/rpc/msg/friend_notification.go index b0377c854..e44bc0ff0 100644 --- a/internal/rpc/msg/friend_notification.go +++ b/internal/rpc/msg/friend_notification.go @@ -101,7 +101,6 @@ func FriendApplicationRejectedNotification(req *pbFriend.AddFriendResponseReq) { } func FriendAddedNotification(operationID, opUserID, fromUserID, toUserID string) { - return friendAddedTips := open_im_sdk.FriendAddedTips{Friend: &open_im_sdk.FriendInfo{}, OpUser: &open_im_sdk.PublicUserInfo{}} user, err := imdb.GetUserByUserID(opUserID) if err != nil { diff --git a/internal/rpc/msg/group_notification.go b/internal/rpc/msg/group_notification.go index 5893a9781..f9c428d18 100644 --- a/internal/rpc/msg/group_notification.go +++ b/internal/rpc/msg/group_notification.go @@ -218,7 +218,7 @@ 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) + // groupNotification(constant.MemberQuitNotification, &MemberQuitTips, req.OpUserID, "", req.OpUserID, req.OperationID) } From 4c42f5a2f51d5d9138463dce7999f8cd7f5cadce Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Tue, 8 Feb 2022 12:22:37 +0800 Subject: [PATCH 07/75] Refactor code --- internal/rpc/msg/send_msg.go | 1 - 1 file changed, 1 deletion(-) diff --git a/internal/rpc/msg/send_msg.go b/internal/rpc/msg/send_msg.go index 8b91a3c39..79f434e80 100644 --- a/internal/rpc/msg/send_msg.go +++ b/internal/rpc/msg/send_msg.go @@ -240,7 +240,6 @@ type NotificationMsg struct { } func Notification(n *NotificationMsg) { - return var req pbChat.SendMsgReq var msg sdk_ws.MsgData var offlineInfo sdk_ws.OfflinePushInfo From b3024a6f7cd26a018f712f642696e7ed204a65b2 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Tue, 8 Feb 2022 14:06:49 +0800 Subject: [PATCH 08/75] test --- internal/rpc/msg/send_msg.go | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/internal/rpc/msg/send_msg.go b/internal/rpc/msg/send_msg.go index 8b91a3c39..aeb479b37 100644 --- a/internal/rpc/msg/send_msg.go +++ b/internal/rpc/msg/send_msg.go @@ -240,7 +240,6 @@ type NotificationMsg struct { } func Notification(n *NotificationMsg) { - return var req pbChat.SendMsgReq var msg sdk_ws.MsgData var offlineInfo sdk_ws.OfflinePushInfo @@ -263,8 +262,8 @@ func Notification(n *NotificationMsg) { if true { msg.Options = make(map[string]bool, 10) //utils.SetSwitchFromOptions(msg.Options, constant.IsOfflinePush, false) - utils.SetSwitchFromOptions(msg.Options, constant.IsHistory, false) - utils.SetSwitchFromOptions(msg.Options, constant.IsPersistent, false) + //utils.SetSwitchFromOptions(msg.Options, constant.IsHistory, false) + //utils.SetSwitchFromOptions(msg.Options, constant.IsPersistent, false) } offlineInfo.IOSBadgeCount = config.Config.IOSPush.BadgeCount offlineInfo.IOSPushSound = config.Config.IOSPush.PushSound From 70fb869852705b3d980b0311288f241bf4fccea1 Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Tue, 8 Feb 2022 14:45:21 +0800 Subject: [PATCH 09/75] Refactor code --- pkg/common/constant/constant.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkg/common/constant/constant.go b/pkg/common/constant/constant.go index 6e32cea2e..0e2bfe4da 100644 --- a/pkg/common/constant/constant.go +++ b/pkg/common/constant/constant.go @@ -138,4 +138,10 @@ const ( Female = 2 ) +const ( + UnreliableNotification = 1 + ReliableNotificationNoMsg = 2 + ReliableNotificationMsg = 3 +) + const FriendAcceptTip = "You have successfully become friends, so start chatting" From 3380cab2c363c4715fb28469e65e965b5caddbc3 Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Tue, 8 Feb 2022 14:50:47 +0800 Subject: [PATCH 10/75] Refactor code --- 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 e44bc0ff0..b06f3a222 100644 --- a/internal/rpc/msg/friend_notification.go +++ b/internal/rpc/msg/friend_notification.go @@ -54,7 +54,7 @@ func friendNotification(commID *pbFriend.CommID, contentType int32, m proto.Mess case constant.FriendRemarkSetNotification: tips.DefaultTips = fromUserNickname + cn.FriendRemarkSet.DefaultTips.Tips case constant.BlackAddedNotification: - tips.DefaultTips = cn.BlackAdded.DefaultTips.Tips + toUserNickname + tips.DefaultTips = cn.BlackAdded.DefaultTips.Tips case constant.BlackDeletedNotification: tips.DefaultTips = cn.BlackDeleted.DefaultTips.Tips + toUserNickname default: From 9077b56df17e040dbc3edd478d8dbf6a86acd54a Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Tue, 8 Feb 2022 15:19:31 +0800 Subject: [PATCH 11/75] Refactor code --- config/config.yaml | 106 ++++++++++++------------- internal/rpc/msg/group_notification.go | 38 +++++++-- 2 files changed, 85 insertions(+), 59 deletions(-) diff --git a/config/config.yaml b/config/config.yaml index 65696d2ba..62ded8e46 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -179,7 +179,7 @@ notification: groupCreated: conversation: - reliabilityLevel: 1 + reliabilityLevel: 3 unreadCount: true offlinePush: switch: true @@ -191,111 +191,111 @@ notification: groupInfoSet: conversation: - reliabilityLevel: 1 - unreadCount: false + reliabilityLevel: 3 + unreadCount: true offlinePush: switch: false - title: "group info changed title" - desc: "group info changed desc" - ext: "group info changed ext" + title: "groupInfoSet title" + desc: "groupInfoSet desc" + ext: "groupInfoSet ext" defaultTips: - tips: "group info changed by" # group info changed by xx + tips: "modified the group profile" # group info changed by xx joinGroupApplication: conversation: - reliabilityLevel: 1 + reliabilityLevel: 2 unreadCount: false offlinePush: switch: false - title: "group info changed title" - desc: "group info changed desc" - ext: "group info changed ext" + title: "joinGroupApplication title" + desc: "joinGroupApplication desc" + ext: "joinGroupApplication ext" defaultTips: - tips: "group info changed by" # group info changed by xx + tips: "apply to join the group" # group info changed by xx memberQuit: conversation: - reliabilityLevel: 1 - unreadCount: false + reliabilityLevel: 3 + unreadCount: true offlinePush: switch: false - title: "group info changed title" - desc: "group info changed desc" - ext: "group info changed ext" + title: "memberQuit title" + desc: "memberQuit desc" + ext: "memberQuit ext" defaultTips: - tips: "group info changed by" # group info changed by xx + tips: "quit group chat" # group info changed by xx groupApplicationAccepted: conversation: - reliabilityLevel: 1 - unreadCount: false + reliabilityLevel: 3 + unreadCount: true offlinePush: switch: false - title: "group info changed title" - desc: "group info changed desc" - ext: "group info changed ext" + title: "groupApplicationAccepted title" + desc: "groupApplicationAccepted desc" + ext: "groupApplicationAccepted ext" defaultTips: - tips: "group info changed by" # group info changed by xx + tips: "was allowed to join the group" # group info changed by xx groupApplicationRejected: conversation: - reliabilityLevel: 1 + reliabilityLevel: 2 unreadCount: false offlinePush: switch: false - title: "group info changed title" - desc: "group info changed desc" - ext: "group info changed ext" + title: " title" + desc: " desc" + ext: " ext" defaultTips: - tips: "group info changed by" # group info changed by xx + tips: "was rejected into the group" # group info changed by xx groupOwnerTransferred: conversation: - reliabilityLevel: 1 - unreadCount: false + reliabilityLevel: 3 + unreadCount: true offlinePush: switch: false - title: "group info changed title" - desc: "group info changed desc" - ext: "group info changed ext" + title: "groupOwnerTransferred title" + desc: "groupOwnerTransferred desc" + ext: "groupOwnerTransferred ext" defaultTips: - tips: "group info changed by" # group info changed by xx + tips: "become a new group owner" # group info changed by xx memberKicked: conversation: - reliabilityLevel: 1 - unreadCount: false + reliabilityLevel: 3 + unreadCount: true offlinePush: switch: false - title: "group info changed title" - desc: "group info changed desc" - ext: "group info changed ext" + title: "memberKicked title" + desc: "memberKicked desc" + ext: "memberKicked ext" defaultTips: - tips: "group info changed by" # group info changed by xx + tips: "was kicked out of the group" # group info changed by xx memberInvited: conversation: - reliabilityLevel: 1 - unreadCount: false + reliabilityLevel: 3 + unreadCount: true offlinePush: switch: false - title: "group info changed title" - desc: "group info changed desc" - ext: "group info changed ext" + title: "memberInvited title" + desc: "memberInvited desc" + ext: "memberInvited ext" defaultTips: - tips: "group info changed by" # group info changed by xx + tips: "was invited into the group" # group info changed by xx memberEnter: conversation: - reliabilityLevel: 1 - unreadCount: false + reliabilityLevel: 3 + unreadCount: true offlinePush: switch: false - title: "group info changed title" - desc: "group info changed desc" - ext: "group info changed ext" + title: "memberEnter title" + desc: "memberEnter desc" + ext: "memberEnter ext" defaultTips: - tips: "group info changed by" # group info changed by xx + tips: "entered the group" # group info changed by xx #############################friend################################# diff --git a/internal/rpc/msg/group_notification.go b/internal/rpc/msg/group_notification.go index f9c428d18..511886ffa 100644 --- a/internal/rpc/msg/group_notification.go +++ b/internal/rpc/msg/group_notification.go @@ -94,18 +94,44 @@ func groupNotification(contentType int32, m proto.Message, sendID, groupID, recv return } + from, err := imdb.GetUserByUserID(sendID) + if err != nil { + log.Error(operationID, "GetUserByUserID failed ", err.Error()) + } + nickname := "" + if from != nil { + nickname = from.Nickname + } + + to, err := imdb.GetUserByUserID(recvUserID) + if err != nil { + log.Error(operationID, "GetUserByUserID failed ", err.Error()) + } + toNickname := "" + if from != nil { + toNickname = to.Nickname + } + cn := config.Config.Notification switch contentType { case constant.GroupCreatedNotification: - tips.DefaultTips = cn.GroupCreated.DefaultTips.Tips + tips.DefaultTips = nickname + " " + cn.GroupCreated.DefaultTips.Tips case constant.GroupInfoSetNotification: + tips.DefaultTips = nickname + " " + cn.GroupInfoSet.DefaultTips.Tips case constant.JoinGroupApplicationNotification: + tips.DefaultTips = nickname + " " + cn.JoinGroupApplication.DefaultTips.Tips case constant.MemberQuitNotification: - case constant.GroupApplicationAcceptedNotification: - case constant.GroupApplicationRejectedNotification: - case constant.GroupOwnerTransferredNotification: - case constant.MemberKickedNotification: - case constant.MemberInvitedNotification: + tips.DefaultTips = nickname + " " + cn.MemberQuit.DefaultTips.Tips + case constant.GroupApplicationAcceptedNotification: // + tips.DefaultTips = toNickname + " " + cn.GroupApplicationAccepted.DefaultTips.Tips + case constant.GroupApplicationRejectedNotification: // + tips.DefaultTips = toNickname + " " + cn.GroupApplicationRejected.DefaultTips.Tips + case constant.GroupOwnerTransferredNotification: // + tips.DefaultTips = toNickname + " " + cn.GroupOwnerTransferred.DefaultTips.Tips + case constant.MemberKickedNotification: // + tips.DefaultTips = toNickname + " " + cn.MemberKicked.DefaultTips.Tips + case constant.MemberInvitedNotification: // + tips.DefaultTips = toNickname + " " + cn.MemberInvited.DefaultTips.Tips default: log.Error(operationID, "contentType failed ", contentType) return From 2a872eb995c28e9690533ff3ff2ed006866c2f1a Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Tue, 8 Feb 2022 15:30:48 +0800 Subject: [PATCH 12/75] notification --- internal/rpc/msg/send_msg.go | 124 ++++++++++++++++++++++++++++------- 1 file changed, 100 insertions(+), 24 deletions(-) diff --git a/internal/rpc/msg/send_msg.go b/internal/rpc/msg/send_msg.go index aeb479b37..2a9b2ae00 100644 --- a/internal/rpc/msg/send_msg.go +++ b/internal/rpc/msg/send_msg.go @@ -244,7 +244,8 @@ func Notification(n *NotificationMsg) { var msg sdk_ws.MsgData var offlineInfo sdk_ws.OfflinePushInfo var title, desc, ex string - var pushSwitch bool + var pushSwitch, unReadCount bool + var reliabilityLevel int req.OperationID = n.OperationID msg.SendID = n.SendID msg.RecvID = n.RecvID @@ -254,36 +255,111 @@ func Notification(n *NotificationMsg) { msg.SessionType = n.SessionType msg.CreateTime = utils.GetCurrentTimestampByMill() msg.ClientMsgID = utils.GetMsgID(n.SendID) + msg.Options = make(map[string]bool, 7) switch n.SessionType { case constant.GroupChatType: msg.RecvID = "" msg.GroupID = n.RecvID } - if true { - msg.Options = make(map[string]bool, 10) - //utils.SetSwitchFromOptions(msg.Options, constant.IsOfflinePush, false) - //utils.SetSwitchFromOptions(msg.Options, constant.IsHistory, false) - //utils.SetSwitchFromOptions(msg.Options, constant.IsPersistent, false) - } offlineInfo.IOSBadgeCount = config.Config.IOSPush.BadgeCount offlineInfo.IOSPushSound = config.Config.IOSPush.PushSound - //switch msg.ContentType { - //case constant.GroupCreatedNotification: - // pushSwitch = config.Config.Notification.GroupCreated.OfflinePush.PushSwitch - // title = config.Config.Notification.GroupCreated.OfflinePush.Title - // desc = config.Config.Notification.GroupCreated.OfflinePush.Desc - // ex = config.Config.Notification.GroupCreated.OfflinePush.Ext - //case constant.GroupInfoChangedNotification: - // pushSwitch = config.Config.Notification.GroupInfoChanged.OfflinePush.PushSwitch - // title = config.Config.Notification.GroupInfoChanged.OfflinePush.Title - // desc = config.Config.Notification.GroupInfoChanged.OfflinePush.Desc - // ex = config.Config.Notification.GroupInfoChanged.OfflinePush.Ext - //case constant.JoinApplicationNotification: - // pushSwitch = config.Config.Notification.ApplyJoinGroup.OfflinePush.PushSwitch - // title = config.Config.Notification.ApplyJoinGroup.OfflinePush.Title - // desc = config.Config.Notification.ApplyJoinGroup.OfflinePush.Desc - // ex = config.Config.Notification.ApplyJoinGroup.OfflinePush.Ext - //} + switch msg.ContentType { + case constant.GroupCreatedNotification: + pushSwitch = config.Config.Notification.GroupCreated.OfflinePush.PushSwitch + title = config.Config.Notification.GroupCreated.OfflinePush.Title + desc = config.Config.Notification.GroupCreated.OfflinePush.Desc + ex = config.Config.Notification.GroupCreated.OfflinePush.Ext + reliabilityLevel = config.Config.Notification.GroupCreated.Conversation.ReliabilityLevel + unReadCount = config.Config.Notification.GroupCreated.Conversation.UnreadCount + case constant.GroupInfoSetNotification: + pushSwitch = config.Config.Notification.GroupInfoSet.OfflinePush.PushSwitch + title = config.Config.Notification.GroupInfoSet.OfflinePush.Title + desc = config.Config.Notification.GroupInfoSet.OfflinePush.Desc + ex = config.Config.Notification.GroupInfoSet.OfflinePush.Ext + reliabilityLevel = config.Config.Notification.GroupInfoSet.Conversation.ReliabilityLevel + unReadCount = config.Config.Notification.GroupInfoSet.Conversation.UnreadCount + case constant.JoinGroupApplicationNotification: + pushSwitch = config.Config.Notification.JoinGroupApplication.OfflinePush.PushSwitch + title = config.Config.Notification.JoinGroupApplication.OfflinePush.Title + desc = config.Config.Notification.JoinGroupApplication.OfflinePush.Desc + ex = config.Config.Notification.JoinGroupApplication.OfflinePush.Ext + reliabilityLevel = config.Config.Notification.JoinGroupApplication.Conversation.ReliabilityLevel + unReadCount = config.Config.Notification.JoinGroupApplication.Conversation.UnreadCount + case constant.MemberQuitNotification: + pushSwitch = config.Config.Notification.MemberQuit.OfflinePush.PushSwitch + title = config.Config.Notification.MemberQuit.OfflinePush.Title + desc = config.Config.Notification.MemberQuit.OfflinePush.Desc + ex = config.Config.Notification.MemberQuit.OfflinePush.Ext + reliabilityLevel = config.Config.Notification.MemberQuit.Conversation.ReliabilityLevel + unReadCount = config.Config.Notification.MemberQuit.Conversation.UnreadCount + case constant.GroupApplicationAcceptedNotification: + pushSwitch = config.Config.Notification.GroupApplicationAccepted.OfflinePush.PushSwitch + title = config.Config.Notification.GroupApplicationAccepted.OfflinePush.Title + desc = config.Config.Notification.GroupApplicationAccepted.OfflinePush.Desc + ex = config.Config.Notification.GroupApplicationAccepted.OfflinePush.Ext + reliabilityLevel = config.Config.Notification.GroupApplicationAccepted.Conversation.ReliabilityLevel + unReadCount = config.Config.Notification.GroupApplicationAccepted.Conversation.UnreadCount + case constant.GroupApplicationRejectedNotification: + pushSwitch = config.Config.Notification.GroupApplicationRejected.OfflinePush.PushSwitch + title = config.Config.Notification.GroupApplicationRejected.OfflinePush.Title + desc = config.Config.Notification.GroupApplicationRejected.OfflinePush.Desc + ex = config.Config.Notification.GroupApplicationRejected.OfflinePush.Ext + reliabilityLevel = config.Config.Notification.GroupApplicationRejected.Conversation.ReliabilityLevel + unReadCount = config.Config.Notification.GroupApplicationRejected.Conversation.UnreadCount + case constant.GroupOwnerTransferredNotification: + pushSwitch = config.Config.Notification.GroupOwnerTransferred.OfflinePush.PushSwitch + title = config.Config.Notification.GroupOwnerTransferred.OfflinePush.Title + desc = config.Config.Notification.GroupOwnerTransferred.OfflinePush.Desc + ex = config.Config.Notification.GroupOwnerTransferred.OfflinePush.Ext + reliabilityLevel = config.Config.Notification.GroupOwnerTransferred.Conversation.ReliabilityLevel + unReadCount = config.Config.Notification.GroupOwnerTransferred.Conversation.UnreadCount + case constant.MemberKickedNotification: + pushSwitch = config.Config.Notification.MemberKicked.OfflinePush.PushSwitch + title = config.Config.Notification.MemberKicked.OfflinePush.Title + desc = config.Config.Notification.MemberKicked.OfflinePush.Desc + ex = config.Config.Notification.MemberKicked.OfflinePush.Ext + reliabilityLevel = config.Config.Notification.MemberKicked.Conversation.ReliabilityLevel + unReadCount = config.Config.Notification.MemberKicked.Conversation.UnreadCount + case constant.MemberInvitedNotification: + pushSwitch = config.Config.Notification.MemberInvited.OfflinePush.PushSwitch + title = config.Config.Notification.MemberInvited.OfflinePush.Title + desc = config.Config.Notification.MemberInvited.OfflinePush.Desc + ex = config.Config.Notification.MemberInvited.OfflinePush.Ext + reliabilityLevel = config.Config.Notification.MemberInvited.Conversation.ReliabilityLevel + unReadCount = config.Config.Notification.MemberInvited.Conversation.UnreadCount + case constant.MemberEnterNotification: + pushSwitch = config.Config.Notification.MemberEnter.OfflinePush.PushSwitch + title = config.Config.Notification.MemberEnter.OfflinePush.Title + desc = config.Config.Notification.MemberEnter.OfflinePush.Desc + ex = config.Config.Notification.MemberEnter.OfflinePush.Ext + reliabilityLevel = config.Config.Notification.MemberEnter.Conversation.ReliabilityLevel + unReadCount = config.Config.Notification.MemberEnter.Conversation.UnreadCount + case constant.UserInfoUpdatedNotification: + pushSwitch = config.Config.Notification.UserInfoUpdated.OfflinePush.PushSwitch + title = config.Config.Notification.UserInfoUpdated.OfflinePush.Title + desc = config.Config.Notification.UserInfoUpdated.OfflinePush.Desc + ex = config.Config.Notification.UserInfoUpdated.OfflinePush.Ext + reliabilityLevel = config.Config.Notification.UserInfoUpdated.Conversation.ReliabilityLevel + unReadCount = config.Config.Notification.UserInfoUpdated.Conversation.UnreadCount + case constant.FriendApplicationNotification: + pushSwitch = config.Config.Notification.FriendApplication.OfflinePush.PushSwitch + title = config.Config.Notification.FriendApplication.OfflinePush.Title + desc = config.Config.Notification.FriendApplication.OfflinePush.Desc + ex = config.Config.Notification.FriendApplication.OfflinePush.Ext + reliabilityLevel = config.Config.Notification.FriendApplication.Conversation.ReliabilityLevel + unReadCount = config.Config.Notification.FriendApplication.Conversation.UnreadCount + + } + switch reliabilityLevel { + case constant.UnreliableNotification: + utils.SetSwitchFromOptions(msg.Options, constant.IsHistory, false) + utils.SetSwitchFromOptions(msg.Options, constant.IsPersistent, false) + utils.SetSwitchFromOptions(msg.Options, constant.IsConversationUpdate, false) + case constant.ReliableNotificationNoMsg: + utils.SetSwitchFromOptions(msg.Options, constant.IsConversationUpdate, false) + case constant.ReliableNotificationMsg: + } + utils.SetSwitchFromOptions(msg.Options, constant.IsUnreadCount, unReadCount) utils.SetSwitchFromOptions(msg.Options, constant.IsOfflinePush, pushSwitch) offlineInfo.Title = title offlineInfo.Desc = desc From ba5d178ba06bfcd4f87bfbd5355504048e7e6af7 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Tue, 8 Feb 2022 16:49:45 +0800 Subject: [PATCH 13/75] push msg specify receiver --- pkg/proto/chat/chat.proto | 1 + pkg/proto/push/push.proto | 1 + pkg/proto/relay/relay.proto | 1 + 3 files changed, 3 insertions(+) diff --git a/pkg/proto/chat/chat.proto b/pkg/proto/chat/chat.proto index 7fe50ddc1..4625d8174 100644 --- a/pkg/proto/chat/chat.proto +++ b/pkg/proto/chat/chat.proto @@ -18,6 +18,7 @@ message MsgDataToDB { message PushMsgDataToMQ{ string OperationID = 1; server_api_params.MsgData msgData = 2; + string pushToUserID = 3; } //message PullMessageReq { diff --git a/pkg/proto/push/push.proto b/pkg/proto/push/push.proto index 455b3e6de..5d91083b3 100644 --- a/pkg/proto/push/push.proto +++ b/pkg/proto/push/push.proto @@ -6,6 +6,7 @@ package push; message PushMsgReq { string operationID = 1; server_api_params.MsgData msgData = 2; + string pushToUserID = 3; } message PushMsgResp{ int32 ResultCode = 1; diff --git a/pkg/proto/relay/relay.proto b/pkg/proto/relay/relay.proto index c0149a674..d8c5f1b7e 100644 --- a/pkg/proto/relay/relay.proto +++ b/pkg/proto/relay/relay.proto @@ -6,6 +6,7 @@ package relay; message OnlinePushMsgReq { string OperationID = 1; server_api_params.MsgData msgData = 2; + string pushToUserID = 3; } message OnlinePushMsgResp{ repeated SingleMsgToUser resp = 1; From dc1ad8fb2d87c1c775b9b641128d740cf9fd1e7c Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Tue, 8 Feb 2022 17:12:02 +0800 Subject: [PATCH 14/75] push msg specify receiver --- internal/msg_gateway/gate/rpc_server.go | 8 +- .../msg_transfer/logic/history_msg_handler.go | 20 ++-- internal/push/logic/push_to_client.go | 4 +- pkg/proto/chat/chat.pb.go | 87 ++++++++------- pkg/proto/relay/relay.pb.go | 101 ++++++++++-------- 5 files changed, 116 insertions(+), 104 deletions(-) diff --git a/internal/msg_gateway/gate/rpc_server.go b/internal/msg_gateway/gate/rpc_server.go index 240934d3b..4c96b9241 100644 --- a/internal/msg_gateway/gate/rpc_server.go +++ b/internal/msg_gateway/gate/rpc_server.go @@ -71,7 +71,7 @@ func (r *RPCServer) OnlinePushMsg(_ context.Context, in *pbRelay.OnlinePushMsgRe log.NewError(in.OperationID, "data encode err", err.Error()) } var tag bool - recvID := in.MsgData.RecvID + recvID := in.PushToUserID platformList := genPlatformArray() for _, v := range platformList { if conn := ws.getUserConn(recvID, v); conn != nil { @@ -92,12 +92,6 @@ func (r *RPCServer) OnlinePushMsg(_ context.Context, in *pbRelay.OnlinePushMsgRe resp = append(resp, temp) } } - //Single chat sender synchronization message - if in.MsgData.GetSessionType() == constant.SingleChatType { - for k, v := range ws.getSingleUserAllConn(in.MsgData.SendID) { - _ = sendMsgToUser(v, replyBytes.Bytes(), in, k, in.MsgData.SendID) - } - } if !tag { log.NewError(in.OperationID, "push err ,no matched ws conn not in map", in.String()) } diff --git a/internal/msg_transfer/logic/history_msg_handler.go b/internal/msg_transfer/logic/history_msg_handler.go index 01677cdb0..3afd82f78 100644 --- a/internal/msg_transfer/logic/history_msg_handler.go +++ b/internal/msg_transfer/logic/history_msg_handler.go @@ -45,6 +45,7 @@ func (mc *HistoryConsumerHandler) handleChatWs2Mongo(msg []byte, msgKey string) isHistory := utils.GetSwitchFromOptions(msgFromMQ.MsgData.Options, constant.IsHistory) //Control whether to store history messages (mysql) isPersist := utils.GetSwitchFromOptions(msgFromMQ.MsgData.Options, constant.IsPersistent) + isSenderSync := utils.GetSwitchFromOptions(msgFromMQ.MsgData.Options, constant.IsSenderSync) switch msgFromMQ.MsgData.SessionType { case constant.SingleChatType: log.NewDebug(msgFromMQ.OperationID, "msg_transfer msg type = SingleChatType", isHistory, isPersist) @@ -55,6 +56,8 @@ func (mc *HistoryConsumerHandler) handleChatWs2Mongo(msg []byte, msgKey string) log.NewError(operationID, "single data insert to mongo err", err.Error(), msgFromMQ.String()) return } + go sendMessageToPush(&msgFromMQ, msgFromMQ.MsgData.RecvID) + log.NewDebug(msgFromMQ.OperationID, "sendMessageToPush cost time ", utils.GetCurrentTimestampByNano()-time) } else if msgKey == msgFromMQ.MsgData.SendID { err := saveUserChat(msgFromMQ.MsgData.SendID, &msgFromMQ) @@ -62,15 +65,12 @@ func (mc *HistoryConsumerHandler) handleChatWs2Mongo(msg []byte, msgKey string) log.NewError(operationID, "single data insert to mongo err", err.Error(), msgFromMQ.String()) return } + if isSenderSync { + go sendMessageToPush(&msgFromMQ, msgFromMQ.MsgData.SendID) + } } - log.NewDebug(operationID, "saveUserChat cost time ", utils.GetCurrentTimestampByNano()-time) } - if msgKey == msgFromMQ.MsgData.RecvID { - go sendMessageToPush(&msgFromMQ) - log.NewDebug(msgFromMQ.OperationID, "sendMessageToPush cost time ", utils.GetCurrentTimestampByNano()-time) - } - case constant.GroupChatType: log.NewDebug(msgFromMQ.OperationID, "msg_transfer msg type = GroupChatType", isHistory, isPersist) if isHistory { @@ -80,7 +80,7 @@ func (mc *HistoryConsumerHandler) handleChatWs2Mongo(msg []byte, msgKey string) return } } - go sendMessageToPush(&msgFromMQ) + go sendMessageToPush(&msgFromMQ, msgFromMQ.MsgData.RecvID) default: log.NewError(msgFromMQ.OperationID, "SessionType error", msgFromMQ.String()) return @@ -99,10 +99,10 @@ func (mc *HistoryConsumerHandler) ConsumeClaim(sess sarama.ConsumerGroupSession, } return nil } -func sendMessageToPush(message *pbMsg.MsgDataToMQ) { +func sendMessageToPush(message *pbMsg.MsgDataToMQ, pushToUserID string) { log.InfoByKv("msg_transfer send message to push", message.OperationID, "message", message.String()) - rpcPushMsg := pbPush.PushMsgReq{OperationID: message.OperationID, MsgData: message.MsgData} - mqPushMsg := pbMsg.PushMsgDataToMQ{OperationID: message.OperationID, MsgData: message.MsgData} + rpcPushMsg := pbPush.PushMsgReq{OperationID: message.OperationID, MsgData: message.MsgData, PushToUserID: pushToUserID} + mqPushMsg := pbMsg.PushMsgDataToMQ{OperationID: message.OperationID, MsgData: message.MsgData, PushToUserID: pushToUserID} grpcConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImPushName) if grpcConn == nil { log.ErrorByKv("rpc dial failed", rpcPushMsg.OperationID, "push data", rpcPushMsg.String()) diff --git a/internal/push/logic/push_to_client.go b/internal/push/logic/push_to_client.go index 803bb5b3b..315430c8b 100644 --- a/internal/push/logic/push_to_client.go +++ b/internal/push/logic/push_to_client.go @@ -41,7 +41,7 @@ func MsgToUser(pushMsg *pbPush.PushMsgReq) { log.InfoByKv("test", pushMsg.OperationID, "len grpc", len(grpcCons), "data", pushMsg.String()) for _, v := range grpcCons { msgClient := pbRelay.NewOnlineMessageRelayServiceClient(v) - reply, err := msgClient.OnlinePushMsg(context.Background(), &pbRelay.OnlinePushMsgReq{OperationID: pushMsg.OperationID, MsgData: pushMsg.MsgData}) + reply, err := msgClient.OnlinePushMsg(context.Background(), &pbRelay.OnlinePushMsgReq{OperationID: pushMsg.OperationID, MsgData: pushMsg.MsgData, PushToUserID: pushMsg.PushToUserID}) if err != nil { log.InfoByKv("push data to client rpc err", pushMsg.OperationID, "err", err) continue @@ -51,7 +51,7 @@ func MsgToUser(pushMsg *pbPush.PushMsgReq) { } } log.InfoByKv("push_result", pushMsg.OperationID, "result", wsResult, "sendData", pushMsg.MsgData) - if isOfflinePush { + if isOfflinePush && pushMsg.PushToUserID != pushMsg.MsgData.SendID { for _, v := range wsResult { if v.ResultCode == 0 { continue diff --git a/pkg/proto/chat/chat.pb.go b/pkg/proto/chat/chat.pb.go index 5d4fd0bec..834c9b307 100644 --- a/pkg/proto/chat/chat.pb.go +++ b/pkg/proto/chat/chat.pb.go @@ -37,7 +37,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_chat_68ff093a75fc0634, []int{0} + return fileDescriptor_chat_a5e95d84ecbd21a3, []int{0} } func (m *MsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMQ.Unmarshal(m, b) @@ -90,7 +90,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_chat_68ff093a75fc0634, []int{1} + return fileDescriptor_chat_a5e95d84ecbd21a3, []int{1} } func (m *MsgDataToDB) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToDB.Unmarshal(m, b) @@ -127,6 +127,7 @@ func (m *MsgDataToDB) GetOperationID() string { type PushMsgDataToMQ 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:"-"` @@ -136,7 +137,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_chat_68ff093a75fc0634, []int{2} + return fileDescriptor_chat_a5e95d84ecbd21a3, []int{2} } func (m *PushMsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PushMsgDataToMQ.Unmarshal(m, b) @@ -170,6 +171,13 @@ func (m *PushMsgDataToMQ) GetMsgData() *sdk_ws.MsgData { return nil } +func (m *PushMsgDataToMQ) GetPushToUserID() string { + if m != nil { + return m.PushToUserID + } + return "" +} + // message PullMessageReq { // string UserID = 1; // int64 SeqBegin = 2; @@ -202,7 +210,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_chat_68ff093a75fc0634, []int{3} + return fileDescriptor_chat_a5e95d84ecbd21a3, []int{3} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -250,7 +258,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_chat_68ff093a75fc0634, []int{4} + return fileDescriptor_chat_a5e95d84ecbd21a3, []int{4} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -311,7 +319,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_chat_68ff093a75fc0634, []int{5} + return fileDescriptor_chat_a5e95d84ecbd21a3, []int{5} } func (m *SendMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgReq.Unmarshal(m, b) @@ -367,7 +375,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_chat_68ff093a75fc0634, []int{6} + return fileDescriptor_chat_a5e95d84ecbd21a3, []int{6} } func (m *SendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgResp.Unmarshal(m, b) @@ -570,38 +578,39 @@ var _Chat_serviceDesc = grpc.ServiceDesc{ Metadata: "chat/chat.proto", } -func init() { proto.RegisterFile("chat/chat.proto", fileDescriptor_chat_68ff093a75fc0634) } +func init() { proto.RegisterFile("chat/chat.proto", fileDescriptor_chat_a5e95d84ecbd21a3) } -var fileDescriptor_chat_68ff093a75fc0634 = []byte{ - // 469 bytes of a gzipped FileDescriptorProto +var fileDescriptor_chat_a5e95d84ecbd21a3 = []byte{ + // 489 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x54, 0x4f, 0x6f, 0xd3, 0x4e, - 0x10, 0x95, 0xd3, 0x26, 0xf9, 0x75, 0xac, 0x2a, 0xd2, 0xb6, 0xfa, 0xc9, 0x32, 0x17, 0xe3, 0x53, - 0x04, 0x92, 0x2d, 0x05, 0x6e, 0x9c, 0x48, 0x53, 0xa1, 0x20, 0x96, 0x16, 0xa7, 0x5c, 0xb8, 0x44, - 0xdb, 0x7a, 0xe4, 0x58, 0x49, 0xec, 0xcd, 0x8e, 0x4b, 0x0a, 0x7c, 0x18, 0x3e, 0x26, 0x57, 0xe4, - 0x5d, 0x27, 0xdd, 0x36, 0x45, 0xe4, 0xc4, 0xc5, 0xd2, 0x7b, 0x33, 0x7e, 0x6f, 0xde, 0xfe, 0x83, - 0xde, 0xcd, 0x4c, 0x54, 0x71, 0xfd, 0x89, 0xa4, 0x2a, 0xab, 0x92, 0x75, 0xe4, 0xf5, 0xd9, 0x4c, - 0x54, 0xfe, 0xf3, 0x0b, 0x89, 0xc5, 0x74, 0xcc, 0x63, 0x39, 0xcf, 0x62, 0x5d, 0x8a, 0x29, 0x9d, - 0x4f, 0xd7, 0x14, 0xaf, 0xc9, 0xb4, 0x86, 0x3f, 0xc0, 0xe5, 0x94, 0x8d, 0x44, 0x25, 0xae, 0x4a, - 0xfe, 0x89, 0x9d, 0x42, 0xbb, 0x2a, 0xe7, 0x58, 0x78, 0x4e, 0xe0, 0xf4, 0x8f, 0x12, 0x03, 0x58, - 0x00, 0x6e, 0x29, 0x51, 0x89, 0x2a, 0x2f, 0x8b, 0xf1, 0xc8, 0x6b, 0xe9, 0x9a, 0x4d, 0xb1, 0xd7, - 0xd0, 0x5d, 0x1a, 0x19, 0xef, 0x20, 0x70, 0xfa, 0xee, 0xc0, 0x8f, 0x08, 0xd5, 0x57, 0x54, 0x53, - 0x21, 0xf3, 0xa9, 0x14, 0x4a, 0x2c, 0x29, 0x6a, 0x8c, 0x92, 0x4d, 0x6b, 0x88, 0x96, 0xf9, 0x68, - 0x68, 0x8b, 0x38, 0x7b, 0x8b, 0xfc, 0x7d, 0xb8, 0x30, 0x87, 0xde, 0xe5, 0x2d, 0xcd, 0xec, 0x9c, - 0x01, 0xb8, 0x17, 0xd6, 0x4f, 0x26, 0xad, 0x4d, 0xd9, 0xc3, 0xb4, 0xf6, 0x4f, 0xf4, 0x11, 0xd8, - 0x3b, 0xac, 0xb8, 0xb8, 0x7b, 0x5b, 0xa4, 0x3c, 0x2f, 0x26, 0xb8, 0x4a, 0x70, 0xc5, 0xfe, 0x87, - 0xce, 0x67, 0x42, 0xb5, 0x35, 0x6a, 0xd0, 0xe3, 0x29, 0x5a, 0x3b, 0x53, 0x84, 0x6b, 0x38, 0xd9, - 0xd1, 0x23, 0xc9, 0x3c, 0xe8, 0x9e, 0x2b, 0x75, 0x56, 0xa6, 0xa8, 0x15, 0xdb, 0xc9, 0x06, 0xd6, - 0x56, 0xe7, 0x4a, 0x71, 0xca, 0x1a, 0xb5, 0x06, 0xd5, 0x3c, 0x17, 0x77, 0x13, 0x5c, 0xe9, 0xfd, - 0x39, 0x4e, 0x1a, 0xa4, 0x79, 0xad, 0xeb, 0x1d, 0x36, 0xbc, 0x46, 0xe1, 0x77, 0x80, 0x09, 0x16, - 0x29, 0xa7, 0xac, 0x0e, 0xf0, 0x6f, 0x8f, 0xc5, 0x4f, 0x07, 0xdc, 0xad, 0xb9, 0x49, 0x8b, 0x0f, - 0xd3, 0xe2, 0x7d, 0x5a, 0x7c, 0x90, 0xd6, 0xa0, 0x7a, 0x32, 0xe3, 0xc3, 0x29, 0x1b, 0x8f, 0x74, - 0xb4, 0xa3, 0xc4, 0xa6, 0xea, 0x8e, 0x9b, 0x45, 0x8e, 0x45, 0x65, 0x3a, 0xda, 0xa6, 0xc3, 0xa2, - 0x98, 0x0f, 0xff, 0x11, 0x16, 0xe9, 0x55, 0xbe, 0x44, 0xaf, 0x13, 0x38, 0xfd, 0x83, 0x64, 0x8b, - 0x07, 0xbf, 0x1c, 0x38, 0xac, 0x6f, 0x18, 0x7b, 0x0f, 0xbd, 0x47, 0xfb, 0xc3, 0xfc, 0xc8, 0xdc, - 0xbe, 0x68, 0xf7, 0x20, 0xf8, 0xcf, 0xfe, 0x58, 0x23, 0xc9, 0x4a, 0x38, 0xbd, 0xbc, 0x5d, 0x2c, - 0x38, 0x12, 0x89, 0x0c, 0x87, 0xdf, 0x26, 0xb8, 0xfa, 0x90, 0x53, 0xc5, 0x5e, 0x3c, 0xb1, 0x66, - 0x4f, 0x35, 0xd6, 0x06, 0x2f, 0xf7, 0xee, 0x25, 0xc9, 0x06, 0xd0, 0x6d, 0x96, 0x99, 0xb1, 0xcd, - 0x60, 0xf7, 0x9b, 0xee, 0x9f, 0xec, 0x70, 0x24, 0x87, 0xbd, 0x2f, 0xc7, 0x91, 0x7e, 0x6a, 0xde, - 0x98, 0xe2, 0x75, 0x47, 0xbf, 0x23, 0xaf, 0x7e, 0x07, 0x00, 0x00, 0xff, 0xff, 0x3a, 0xe6, 0x81, - 0xce, 0x85, 0x04, 0x00, 0x00, + 0x10, 0x95, 0xd3, 0x26, 0xf9, 0x65, 0xf2, 0xab, 0x22, 0x6d, 0x2b, 0x64, 0x99, 0x8b, 0xf1, 0x29, + 0x02, 0xc9, 0x96, 0x02, 0x37, 0x4e, 0xa4, 0xae, 0x50, 0x10, 0x4b, 0x8b, 0x13, 0x2e, 0x5c, 0xa2, + 0x6d, 0x3d, 0x72, 0xac, 0x24, 0xf6, 0x66, 0xc7, 0x21, 0x05, 0x3e, 0x03, 0x9f, 0x81, 0x8f, 0xc9, + 0x15, 0x79, 0xd7, 0x69, 0x9d, 0xa6, 0x88, 0x9c, 0xb8, 0x58, 0x7a, 0x6f, 0xc6, 0x6f, 0xde, 0xdb, + 0x7f, 0xd0, 0xbb, 0x99, 0x89, 0x22, 0x28, 0x3f, 0xbe, 0x54, 0x79, 0x91, 0xb3, 0x96, 0xbc, 0x3e, + 0x9f, 0x89, 0xc2, 0x79, 0x76, 0x29, 0x31, 0x9b, 0x8e, 0x78, 0x20, 0xe7, 0x49, 0xa0, 0x4b, 0x01, + 0xc5, 0xf3, 0xe9, 0x86, 0x82, 0x0d, 0x99, 0x56, 0xef, 0x3b, 0x74, 0x39, 0x25, 0xa1, 0x28, 0xc4, + 0x24, 0xe7, 0x1f, 0xd9, 0x19, 0x34, 0x8b, 0x7c, 0x8e, 0x99, 0x6d, 0xb9, 0x56, 0xbf, 0x13, 0x19, + 0xc0, 0x5c, 0xe8, 0xe6, 0x12, 0x95, 0x28, 0xd2, 0x3c, 0x1b, 0x85, 0x76, 0x43, 0xd7, 0xea, 0x14, + 0x7b, 0x05, 0xed, 0xa5, 0x91, 0xb1, 0x8f, 0x5c, 0xab, 0xdf, 0x1d, 0x38, 0x3e, 0xa1, 0xfa, 0x82, + 0x6a, 0x2a, 0x64, 0x3a, 0x95, 0x42, 0x89, 0x25, 0xf9, 0xd5, 0xa0, 0x68, 0xdb, 0xea, 0x61, 0x6d, + 0x78, 0x38, 0xac, 0x8b, 0x58, 0x07, 0x8b, 0xfc, 0xdd, 0x9c, 0xf7, 0xc3, 0x82, 0xde, 0xd5, 0x9a, + 0x66, 0xf5, 0xa0, 0x2e, 0x74, 0x2f, 0x6b, 0x7f, 0x99, 0xb8, 0x75, 0xaa, 0xee, 0xa6, 0x71, 0xb8, + 0x1b, 0x0f, 0xfe, 0x97, 0x6b, 0x9a, 0x4d, 0xf2, 0x4f, 0x84, 0x6a, 0x14, 0xea, 0xd5, 0xe8, 0x44, + 0x3b, 0x9c, 0xf7, 0x01, 0xd8, 0x5b, 0x2c, 0xb8, 0xb8, 0x7d, 0x93, 0xc5, 0x3c, 0xcd, 0xc6, 0xb8, + 0x8a, 0x70, 0xc5, 0x9e, 0x40, 0xab, 0xfa, 0xc7, 0x98, 0xa9, 0xd0, 0x43, 0xa7, 0x8d, 0x3d, 0xa7, + 0xde, 0x06, 0x4e, 0xf7, 0xf4, 0x48, 0x32, 0x1b, 0xda, 0x17, 0x4a, 0x9d, 0xe7, 0x31, 0x6a, 0xc5, + 0x66, 0xb4, 0x85, 0xe5, 0xa8, 0x0b, 0xa5, 0x38, 0x25, 0x95, 0x5a, 0x85, 0x4a, 0x9e, 0x8b, 0xdb, + 0x31, 0xae, 0xb4, 0xed, 0x93, 0xa8, 0x42, 0x9a, 0xd7, 0xba, 0xf6, 0x71, 0xc5, 0x6b, 0xe4, 0x7d, + 0x03, 0x18, 0x63, 0x16, 0x73, 0x4a, 0xca, 0x00, 0xff, 0xf6, 0xec, 0xfc, 0xb4, 0xa0, 0x7b, 0x37, + 0xdc, 0xa4, 0xc5, 0xdd, 0xb4, 0x78, 0x9f, 0x16, 0x77, 0xd2, 0x1a, 0x54, 0x3a, 0x33, 0x73, 0x38, + 0x25, 0xa3, 0x50, 0x47, 0xeb, 0x44, 0x75, 0xaa, 0xec, 0xb8, 0x59, 0xa4, 0x98, 0x15, 0xa6, 0xa3, + 0x69, 0x3a, 0x6a, 0x14, 0x73, 0xe0, 0x3f, 0xc2, 0x2c, 0x9e, 0xa4, 0x4b, 0xb4, 0x5b, 0xae, 0xd5, + 0x3f, 0x8a, 0xee, 0xf0, 0xe0, 0x97, 0x05, 0xc7, 0xe5, 0x35, 0x64, 0xef, 0xa0, 0xf7, 0x60, 0x7f, + 0x98, 0xe3, 0x9b, 0x2b, 0xea, 0xef, 0x1f, 0x04, 0xe7, 0xe9, 0x1f, 0x6b, 0x24, 0x59, 0x0e, 0x67, + 0x57, 0xeb, 0xc5, 0x82, 0x23, 0x91, 0x48, 0x70, 0xf8, 0x75, 0x8c, 0xab, 0xf7, 0x29, 0x15, 0xec, + 0xf9, 0x23, 0x6b, 0xf6, 0x58, 0x63, 0x39, 0xe0, 0xc5, 0xc1, 0xbd, 0x24, 0xd9, 0x00, 0xda, 0xd5, + 0x32, 0x33, 0xb6, 0x35, 0x76, 0xbf, 0xe9, 0xce, 0xe9, 0x1e, 0x47, 0x72, 0xd8, 0xfb, 0x7c, 0xe2, + 0xeb, 0xf7, 0xe8, 0xb5, 0x29, 0x5e, 0xb7, 0xf4, 0x63, 0xf3, 0xf2, 0x77, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xe8, 0xa6, 0x3e, 0x67, 0xaa, 0x04, 0x00, 0x00, } diff --git a/pkg/proto/relay/relay.pb.go b/pkg/proto/relay/relay.pb.go index d8451ff70..37334a8b2 100644 --- a/pkg/proto/relay/relay.pb.go +++ b/pkg/proto/relay/relay.pb.go @@ -27,6 +27,7 @@ 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:"-"` @@ -36,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_aeddd7666fcf4cae, []int{0} + return fileDescriptor_relay_34094e5333f6005a, []int{0} } func (m *OnlinePushMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OnlinePushMsgReq.Unmarshal(m, b) @@ -70,6 +71,13 @@ func (m *OnlinePushMsgReq) GetMsgData() *sdk_ws.MsgData { return nil } +func (m *OnlinePushMsgReq) GetPushToUserID() string { + if m != nil { + return m.PushToUserID + } + return "" +} + type OnlinePushMsgResp struct { Resp []*SingleMsgToUser `protobuf:"bytes,1,rep,name=resp" json:"resp,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -81,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_aeddd7666fcf4cae, []int{1} + return fileDescriptor_relay_34094e5333f6005a, []int{1} } func (m *OnlinePushMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OnlinePushMsgResp.Unmarshal(m, b) @@ -121,7 +129,7 @@ func (m *SingleMsgToUser) Reset() { *m = SingleMsgToUser{} } func (m *SingleMsgToUser) String() string { return proto.CompactTextString(m) } func (*SingleMsgToUser) ProtoMessage() {} func (*SingleMsgToUser) Descriptor() ([]byte, []int) { - return fileDescriptor_relay_aeddd7666fcf4cae, []int{2} + return fileDescriptor_relay_34094e5333f6005a, []int{2} } func (m *SingleMsgToUser) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SingleMsgToUser.Unmarshal(m, b) @@ -175,7 +183,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_aeddd7666fcf4cae, []int{3} + return fileDescriptor_relay_34094e5333f6005a, []int{3} } func (m *GetUsersOnlineStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUsersOnlineStatusReq.Unmarshal(m, b) @@ -230,7 +238,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_aeddd7666fcf4cae, []int{4} + return fileDescriptor_relay_34094e5333f6005a, []int{4} } func (m *GetUsersOnlineStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUsersOnlineStatusResp.Unmarshal(m, b) @@ -292,7 +300,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_aeddd7666fcf4cae, []int{4, 0} + return fileDescriptor_relay_34094e5333f6005a, []int{4, 0} } func (m *GetUsersOnlineStatusResp_SuccessDetail) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUsersOnlineStatusResp_SuccessDetail.Unmarshal(m, b) @@ -339,7 +347,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_aeddd7666fcf4cae, []int{4, 1} + return fileDescriptor_relay_34094e5333f6005a, []int{4, 1} } func (m *GetUsersOnlineStatusResp_FailedDetail) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUsersOnlineStatusResp_FailedDetail.Unmarshal(m, b) @@ -395,7 +403,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_aeddd7666fcf4cae, []int{4, 2} + return fileDescriptor_relay_34094e5333f6005a, []int{4, 2} } func (m *GetUsersOnlineStatusResp_SuccessResult) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUsersOnlineStatusResp_SuccessResult.Unmarshal(m, b) @@ -552,42 +560,43 @@ var _OnlineMessageRelayService_serviceDesc = grpc.ServiceDesc{ Metadata: "relay/relay.proto", } -func init() { proto.RegisterFile("relay/relay.proto", fileDescriptor_relay_aeddd7666fcf4cae) } - -var fileDescriptor_relay_aeddd7666fcf4cae = []byte{ - // 544 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x54, 0x5f, 0x6f, 0xd2, 0x50, - 0x14, 0x4f, 0x05, 0x36, 0x39, 0x0c, 0x27, 0x37, 0xcb, 0x56, 0xfb, 0x80, 0xc8, 0x83, 0x21, 0x46, - 0x4b, 0x82, 0xbe, 0xf9, 0x60, 0xb2, 0x35, 0x33, 0x24, 0x36, 0x90, 0x8b, 0x8b, 0xc6, 0x17, 0x72, - 0x07, 0x67, 0xb5, 0xae, 0xd0, 0xcb, 0x3d, 0x2d, 0xc4, 0xaf, 0xe3, 0x97, 0xd0, 0x8f, 0x67, 0x7a, - 0x6f, 0xc1, 0x42, 0x98, 0xcb, 0x5e, 0x08, 0xe7, 0xdc, 0x73, 0x7e, 0xff, 0xda, 0x5e, 0x68, 0x28, - 0x8c, 0xc4, 0xcf, 0xae, 0xfe, 0x75, 0xa5, 0x8a, 0x93, 0x98, 0x55, 0x74, 0xe1, 0xbc, 0x18, 0x48, - 0x9c, 0x8f, 0xfb, 0x7e, 0x57, 0xde, 0x06, 0x5d, 0x7d, 0xd2, 0xa5, 0xe9, 0xed, 0x78, 0x45, 0xdd, - 0x15, 0x99, 0xc9, 0xf6, 0x0f, 0x78, 0x3a, 0x98, 0x47, 0xe1, 0x1c, 0x87, 0x29, 0x7d, 0xf7, 0x29, - 0xe0, 0xb8, 0x60, 0x2d, 0xa8, 0x0d, 0x24, 0x2a, 0x91, 0x84, 0xf1, 0xbc, 0xef, 0xd9, 0x56, 0xcb, - 0xea, 0x54, 0x79, 0xb1, 0xc5, 0xde, 0xc1, 0xe1, 0x8c, 0x02, 0x4f, 0x24, 0xc2, 0x7e, 0xd4, 0xb2, - 0x3a, 0xb5, 0x9e, 0xe3, 0x12, 0xaa, 0x25, 0xaa, 0xb1, 0x90, 0xe1, 0x58, 0x0a, 0x25, 0x66, 0xe4, - 0xfa, 0x66, 0x82, 0xaf, 0x47, 0xdb, 0x1f, 0xa0, 0xb1, 0xc3, 0x45, 0x92, 0xbd, 0x82, 0xb2, 0x42, - 0x92, 0xb6, 0xd5, 0x2a, 0x75, 0x6a, 0xbd, 0x53, 0xd7, 0xd8, 0x18, 0x85, 0xf3, 0x20, 0x42, 0x9f, - 0x82, 0xcf, 0xf1, 0x15, 0xa1, 0xe2, 0x7a, 0xa6, 0xbd, 0x80, 0xe3, 0x9d, 0x03, 0xd6, 0x04, 0xe0, - 0x48, 0x69, 0x94, 0x5c, 0xc4, 0x53, 0xd4, 0x52, 0x4b, 0xbc, 0xd0, 0x61, 0xa7, 0x70, 0xc0, 0x71, - 0xb2, 0xec, 0x7b, 0x5a, 0x68, 0x95, 0xe7, 0x15, 0x7b, 0x09, 0x4f, 0xb2, 0x7f, 0xc3, 0x48, 0x24, - 0x97, 0xb1, 0x9a, 0xf5, 0x3d, 0xbb, 0xd4, 0xb2, 0x3a, 0x15, 0xbe, 0xd3, 0x6d, 0xaf, 0xe0, 0xec, - 0x23, 0x26, 0x19, 0x15, 0x19, 0xed, 0xa3, 0x44, 0x24, 0x29, 0x65, 0x31, 0x35, 0x01, 0x52, 0x42, - 0xd5, 0xf7, 0x3e, 0x85, 0x94, 0x68, 0xfd, 0x55, 0x5e, 0xe8, 0x64, 0x31, 0xc6, 0x85, 0x18, 0x0d, - 0x7f, 0xb1, 0xc5, 0x1c, 0x78, 0x1c, 0xcb, 0x2b, 0xbd, 0xa1, 0xe9, 0xab, 0x7c, 0x53, 0xb7, 0x7f, - 0x97, 0xc1, 0xde, 0xcf, 0x4c, 0x92, 0xd9, 0x70, 0x88, 0x4a, 0x6d, 0x2c, 0x57, 0xf8, 0xba, 0xcc, - 0xfc, 0xa2, 0x52, 0x3e, 0x05, 0x6b, 0xbf, 0xa6, 0x62, 0x23, 0xa8, 0x53, 0x3a, 0x99, 0x20, 0x91, - 0x09, 0xc7, 0x2e, 0xe9, 0xbc, 0xdf, 0xe4, 0x79, 0xdf, 0xc5, 0xe4, 0x8e, 0x8a, 0x4b, 0x7c, 0x1b, - 0x83, 0x0d, 0xe1, 0xe8, 0x46, 0x84, 0x11, 0x4e, 0x73, 0xcc, 0xb2, 0xc6, 0x7c, 0x7d, 0x1f, 0xe6, - 0xa5, 0xde, 0xf1, 0x30, 0x11, 0x61, 0xc4, 0xb7, 0x10, 0x9c, 0x0b, 0xa8, 0xe7, 0x8c, 0xe6, 0x38, - 0x8b, 0x48, 0x46, 0x22, 0xb9, 0x89, 0xd5, 0x2c, 0x7f, 0x11, 0x37, 0x75, 0xe6, 0x95, 0x34, 0xea, - 0xda, 0xab, 0xa9, 0x9c, 0xaf, 0x70, 0x54, 0xa4, 0xc8, 0xe6, 0xd2, 0x62, 0xc8, 0x79, 0xf5, 0xf0, - 0x14, 0x9d, 0x5f, 0xd6, 0x46, 0x5f, 0x1e, 0xc1, 0x3f, 0x6c, 0x6b, 0x0b, 0xfb, 0x0e, 0x6d, 0x4c, - 0xc0, 0xc9, 0x54, 0xab, 0x1a, 0xe6, 0x2e, 0x4c, 0x2e, 0x0f, 0x7c, 0x1c, 0x79, 0x76, 0x7b, 0xa1, - 0x7a, 0x7f, 0x2c, 0x78, 0x66, 0x16, 0x7d, 0x24, 0x12, 0x01, 0xf2, 0x0c, 0x73, 0x84, 0x6a, 0x19, - 0x4e, 0x90, 0x9d, 0x43, 0x7d, 0xeb, 0x23, 0x64, 0x67, 0x39, 0xe7, 0xee, 0x35, 0xe0, 0xd8, 0xfb, - 0x0f, 0x48, 0xb2, 0x2f, 0x70, 0xb2, 0x4f, 0x21, 0x6b, 0xfe, 0x57, 0xfe, 0xc2, 0x79, 0x7e, 0x8f, - 0xbd, 0xf3, 0xc6, 0xb7, 0x63, 0xd7, 0x5c, 0x64, 0xef, 0xe5, 0xb5, 0x96, 0x7d, 0x7d, 0xa0, 0xef, - 0xa9, 0xb7, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x60, 0xd7, 0x1d, 0xf3, 0xe6, 0x04, 0x00, 0x00, +func init() { proto.RegisterFile("relay/relay.proto", fileDescriptor_relay_34094e5333f6005a) } + +var fileDescriptor_relay_34094e5333f6005a = []byte{ + // 554 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x54, 0x5d, 0x8f, 0xd2, 0x40, + 0x14, 0x4d, 0x65, 0x3f, 0xdc, 0x0b, 0xb8, 0x32, 0xd9, 0xec, 0xd6, 0x3e, 0x20, 0xf6, 0xc1, 0x10, + 0xa3, 0x25, 0x41, 0xdf, 0x7c, 0x30, 0xd9, 0x25, 0x6b, 0x48, 0x6c, 0x20, 0x83, 0x46, 0xe3, 0x0b, + 0x99, 0x85, 0xbb, 0xdd, 0x66, 0x0b, 0x1d, 0xe6, 0xb6, 0x10, 0xff, 0x84, 0x3f, 0xc2, 0x3f, 0xa1, + 0x3f, 0xcf, 0x74, 0xa6, 0x60, 0x4b, 0x58, 0x37, 0xfb, 0x42, 0x38, 0x77, 0xee, 0x3d, 0xf7, 0x9c, + 0xd3, 0x76, 0xa0, 0xa1, 0x30, 0x12, 0x3f, 0x3a, 0xfa, 0xd7, 0x93, 0x2a, 0x4e, 0x62, 0xb6, 0xaf, + 0x81, 0xf3, 0x62, 0x20, 0x71, 0x3e, 0xee, 0xfb, 0x1d, 0x79, 0x1b, 0x74, 0xf4, 0x49, 0x87, 0xa6, + 0xb7, 0xe3, 0x15, 0x75, 0x56, 0x64, 0x3a, 0xdd, 0x9f, 0x16, 0x3c, 0x1d, 0xcc, 0xa3, 0x70, 0x8e, + 0xc3, 0x94, 0x6e, 0x7c, 0x0a, 0x38, 0x2e, 0x58, 0x0b, 0xaa, 0x03, 0x89, 0x4a, 0x24, 0x61, 0x3c, + 0xef, 0xf7, 0x6c, 0xab, 0x65, 0xb5, 0x8f, 0x78, 0xb1, 0xc4, 0xde, 0xc1, 0xe1, 0x8c, 0x82, 0x9e, + 0x48, 0x84, 0xfd, 0xa8, 0x65, 0xb5, 0xab, 0x5d, 0xc7, 0x23, 0x54, 0x4b, 0x54, 0x63, 0x21, 0xc3, + 0xb1, 0x14, 0x4a, 0xcc, 0xc8, 0xf3, 0x4d, 0x07, 0x5f, 0xb7, 0x32, 0x17, 0x6a, 0x32, 0xa5, 0x9b, + 0xcf, 0xf1, 0x17, 0x42, 0xd5, 0xef, 0xd9, 0x15, 0x4d, 0x5c, 0xaa, 0xb9, 0x1f, 0xa0, 0xb1, 0xa5, + 0x87, 0x24, 0x7b, 0x05, 0x7b, 0x0a, 0x49, 0xda, 0x56, 0xab, 0xd2, 0xae, 0x76, 0x4f, 0x3d, 0xe3, + 0x75, 0x14, 0xce, 0x83, 0x08, 0x7d, 0x0a, 0xcc, 0x30, 0xd7, 0x3d, 0xee, 0x02, 0x8e, 0xb7, 0x0e, + 0x58, 0x13, 0x80, 0x23, 0xa5, 0x51, 0x72, 0x11, 0x4f, 0x51, 0xdb, 0xa9, 0xf0, 0x42, 0x85, 0x9d, + 0xc2, 0x01, 0xc7, 0xc9, 0xb2, 0xdf, 0xd3, 0x66, 0x8e, 0x78, 0x8e, 0xd8, 0x4b, 0x78, 0x92, 0xfd, + 0x1b, 0x46, 0x22, 0xb9, 0x8c, 0xd5, 0x2c, 0x57, 0xbc, 0xcf, 0xb7, 0xaa, 0xee, 0x0a, 0xce, 0x3e, + 0x62, 0x92, 0xad, 0x22, 0xa3, 0x7d, 0x94, 0x88, 0x24, 0xa5, 0x2c, 0xca, 0x26, 0x40, 0xaa, 0x8d, + 0x7d, 0x0a, 0x29, 0xd1, 0xfa, 0x8f, 0x78, 0xa1, 0x92, 0x45, 0x1d, 0x17, 0xa2, 0x36, 0xfb, 0x8b, + 0x25, 0xe6, 0xc0, 0xe3, 0x58, 0x96, 0x02, 0xdb, 0x60, 0xf7, 0xf7, 0x1e, 0xd8, 0xbb, 0x37, 0x93, + 0x64, 0x36, 0x1c, 0xa2, 0x52, 0x1b, 0xcb, 0xfb, 0x7c, 0x0d, 0x33, 0xbf, 0xa8, 0x94, 0x4f, 0xc1, + 0xda, 0xaf, 0x41, 0x6c, 0x04, 0x75, 0x4a, 0x27, 0x13, 0x24, 0x32, 0xe1, 0xd8, 0x15, 0x9d, 0xf7, + 0x9b, 0x3c, 0xef, 0xbb, 0x36, 0x79, 0xa3, 0xe2, 0x10, 0x2f, 0x73, 0xb0, 0x21, 0xd4, 0xae, 0x45, + 0x18, 0xe1, 0x34, 0xe7, 0xdc, 0xd3, 0x9c, 0xaf, 0xef, 0xe3, 0xbc, 0xd4, 0x33, 0x3d, 0x4c, 0x44, + 0x18, 0xf1, 0x12, 0x83, 0x73, 0x01, 0xf5, 0x7c, 0xa3, 0x39, 0xce, 0x22, 0x92, 0x91, 0x48, 0xae, + 0x63, 0x35, 0xcb, 0x5f, 0xd6, 0x0d, 0xce, 0xbc, 0x92, 0x66, 0x5d, 0x7b, 0x35, 0xc8, 0xf9, 0x06, + 0xb5, 0xe2, 0x8a, 0xac, 0x2f, 0x2d, 0x86, 0x9c, 0xa3, 0x87, 0xa7, 0xe8, 0xfc, 0xb2, 0x36, 0xfa, + 0xf2, 0x08, 0xfe, 0x71, 0x5b, 0x25, 0xee, 0x3b, 0xb4, 0x31, 0x01, 0x27, 0x53, 0xad, 0x6a, 0x98, + 0xbb, 0x30, 0xb9, 0x3c, 0xf0, 0x71, 0xe4, 0xd9, 0xed, 0xa4, 0xea, 0xfe, 0xb1, 0xe0, 0x99, 0x19, + 0xf4, 0x91, 0x48, 0x04, 0xc8, 0x33, 0xce, 0x11, 0xaa, 0x65, 0x38, 0x41, 0x76, 0x0e, 0xf5, 0xd2, + 0x47, 0xc8, 0xce, 0xf2, 0x9d, 0xdb, 0x57, 0x85, 0x63, 0xef, 0x3e, 0x20, 0xc9, 0xbe, 0xc2, 0xc9, + 0x2e, 0x85, 0xac, 0xf9, 0x5f, 0xf9, 0x0b, 0xe7, 0xf9, 0x3d, 0xf6, 0xce, 0x1b, 0xdf, 0x8f, 0x3d, + 0x73, 0xdb, 0xbd, 0x97, 0x57, 0x5a, 0xf6, 0xd5, 0x81, 0xbe, 0xcc, 0xde, 0xfe, 0x0d, 0x00, 0x00, + 0xff, 0xff, 0x8e, 0xdc, 0xcc, 0x70, 0x0b, 0x05, 0x00, 0x00, } From ac09da9efc2d5e9117ef2f084dd98472793c066a Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Tue, 8 Feb 2022 17:12:47 +0800 Subject: [PATCH 15/75] push msg specify receiver --- pkg/proto/push/push.pb.go | 51 +++++++++++++++++++++++---------------- 1 file changed, 30 insertions(+), 21 deletions(-) diff --git a/pkg/proto/push/push.pb.go b/pkg/proto/push/push.pb.go index 0dc06210a..e9354ae69 100644 --- a/pkg/proto/push/push.pb.go +++ b/pkg/proto/push/push.pb.go @@ -27,6 +27,7 @@ const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package type PushMsgReq 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:"-"` @@ -36,7 +37,7 @@ func (m *PushMsgReq) Reset() { *m = PushMsgReq{} } func (m *PushMsgReq) String() string { return proto.CompactTextString(m) } func (*PushMsgReq) ProtoMessage() {} func (*PushMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_push_3a8dbda4109fac8a, []int{0} + return fileDescriptor_push_76409d0b017416ef, []int{0} } func (m *PushMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PushMsgReq.Unmarshal(m, b) @@ -70,6 +71,13 @@ func (m *PushMsgReq) GetMsgData() *sdk_ws.MsgData { return nil } +func (m *PushMsgReq) GetPushToUserID() string { + if m != nil { + return m.PushToUserID + } + return "" +} + type PushMsgResp struct { ResultCode int32 `protobuf:"varint,1,opt,name=ResultCode" json:"ResultCode,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -81,7 +89,7 @@ func (m *PushMsgResp) Reset() { *m = PushMsgResp{} } func (m *PushMsgResp) String() string { return proto.CompactTextString(m) } func (*PushMsgResp) ProtoMessage() {} func (*PushMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_push_3a8dbda4109fac8a, []int{1} + return fileDescriptor_push_76409d0b017416ef, []int{1} } func (m *PushMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PushMsgResp.Unmarshal(m, b) @@ -185,23 +193,24 @@ var _PushMsgService_serviceDesc = grpc.ServiceDesc{ Metadata: "push/push.proto", } -func init() { proto.RegisterFile("push/push.proto", fileDescriptor_push_3a8dbda4109fac8a) } - -var fileDescriptor_push_3a8dbda4109fac8a = []byte{ - // 229 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x5c, 0x90, 0x31, 0x4f, 0xc3, 0x30, - 0x10, 0x85, 0x15, 0x04, 0x54, 0x5c, 0x04, 0x05, 0x4f, 0x55, 0x06, 0x14, 0x3a, 0x75, 0xc1, 0x96, - 0x0a, 0x1b, 0x0b, 0x82, 0x2e, 0x1d, 0x22, 0x90, 0xd9, 0x58, 0x2c, 0x97, 0x9c, 0xd2, 0xa8, 0xb4, - 0x3e, 0x7c, 0x4e, 0xfb, 0xf7, 0x51, 0x9c, 0x00, 0x11, 0x8b, 0x65, 0x7d, 0xf7, 0x49, 0xef, 0xde, - 0xc1, 0x98, 0x1a, 0x5e, 0xab, 0xf6, 0x91, 0xe4, 0x5d, 0x70, 0xe2, 0xb8, 0xfd, 0x67, 0x37, 0x2f, - 0x84, 0x3b, 0xb3, 0x2c, 0x14, 0x6d, 0x2a, 0x15, 0x07, 0x8a, 0xcb, 0x8d, 0x39, 0xb0, 0x3a, 0x70, - 0x27, 0x4e, 0x4b, 0x80, 0xd7, 0x86, 0xd7, 0x05, 0x57, 0x1a, 0xbf, 0x44, 0x0e, 0xa9, 0x23, 0xf4, - 0x36, 0xd4, 0x6e, 0xb7, 0x5c, 0x4c, 0x92, 0x3c, 0x99, 0x9d, 0xe9, 0x21, 0x12, 0xf7, 0x30, 0xda, - 0x72, 0xb5, 0xb0, 0xc1, 0x4e, 0x8e, 0xf2, 0x64, 0x96, 0xce, 0x33, 0xc9, 0xe8, 0xf7, 0xe8, 0x8d, - 0xa5, 0xda, 0x90, 0xf5, 0x76, 0xcb, 0xb2, 0xe8, 0x0c, 0xfd, 0xa3, 0x4e, 0x6f, 0x21, 0xfd, 0x4d, - 0x61, 0x12, 0xd7, 0x00, 0x1a, 0xb9, 0xf9, 0x0c, 0xcf, 0xae, 0xc4, 0x98, 0x72, 0xa2, 0x07, 0x64, - 0xfe, 0x08, 0x17, 0xbd, 0xfe, 0x86, 0x7e, 0x5f, 0x7f, 0xa0, 0x90, 0x30, 0xea, 0x89, 0xb8, 0x94, - 0xb1, 0xe7, 0xdf, 0xd6, 0xd9, 0xd5, 0x3f, 0xc2, 0xf4, 0x34, 0x7e, 0x3f, 0x97, 0xf1, 0x1e, 0x0f, - 0xb4, 0x6a, 0xf9, 0xea, 0x34, 0xd6, 0xbd, 0xfb, 0x0e, 0x00, 0x00, 0xff, 0xff, 0xa1, 0x97, 0x1e, - 0x77, 0x2a, 0x01, 0x00, 0x00, +func init() { proto.RegisterFile("push/push.proto", fileDescriptor_push_76409d0b017416ef) } + +var fileDescriptor_push_76409d0b017416ef = []byte{ + // 249 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x5c, 0x90, 0x3d, 0x4f, 0xc3, 0x30, + 0x10, 0x86, 0x15, 0xbe, 0x2a, 0x2e, 0x40, 0xc1, 0x53, 0x94, 0x01, 0x85, 0x4c, 0x5d, 0xb0, 0xa5, + 0xc2, 0xc6, 0x82, 0x20, 0x4b, 0x86, 0x08, 0x64, 0x60, 0x61, 0x89, 0x5c, 0x7a, 0x4a, 0xa3, 0xd2, + 0xfa, 0xf0, 0x25, 0xed, 0x5f, 0xe0, 0x67, 0xa3, 0xb8, 0x05, 0x02, 0x8b, 0x65, 0x3d, 0xf7, 0xe8, + 0xf4, 0xde, 0x0b, 0x43, 0x6a, 0x79, 0xa6, 0xba, 0x47, 0x92, 0xb3, 0x8d, 0x15, 0x7b, 0xdd, 0x3f, + 0xbe, 0x78, 0x20, 0x5c, 0x96, 0x79, 0xa1, 0x68, 0x5e, 0x29, 0x3f, 0x50, 0x3c, 0x9d, 0x97, 0x6b, + 0x56, 0x6b, 0xde, 0x88, 0xe9, 0x67, 0x00, 0xf0, 0xd8, 0xf2, 0xac, 0xe0, 0x4a, 0xe3, 0x87, 0x48, + 0x20, 0xb4, 0x84, 0xce, 0x34, 0xb5, 0x5d, 0xe6, 0x59, 0x14, 0x24, 0xc1, 0xe8, 0x50, 0xf7, 0x91, + 0xb8, 0x86, 0xc1, 0x82, 0xab, 0xcc, 0x34, 0x26, 0xda, 0x49, 0x82, 0x51, 0x38, 0x8e, 0x25, 0xa3, + 0x5b, 0xa1, 0x2b, 0x0d, 0xd5, 0x25, 0x19, 0x67, 0x16, 0x2c, 0x8b, 0x8d, 0xa1, 0xbf, 0x55, 0x91, + 0xc2, 0x51, 0x97, 0xe8, 0xd9, 0xbe, 0x30, 0xba, 0x3c, 0x8b, 0x76, 0xfd, 0xe2, 0x3f, 0x2c, 0xbd, + 0x84, 0xf0, 0x27, 0x09, 0x93, 0x38, 0x07, 0xd0, 0xc8, 0xed, 0x7b, 0x73, 0x6f, 0xa7, 0xe8, 0x93, + 0xec, 0xeb, 0x1e, 0x19, 0xdf, 0xc2, 0xc9, 0x56, 0x7f, 0x42, 0xb7, 0xaa, 0xdf, 0x50, 0x48, 0x18, + 0x6c, 0x89, 0x38, 0x95, 0xbe, 0x8c, 0xdf, 0xcb, 0xe2, 0xb3, 0x7f, 0x84, 0xe9, 0x6e, 0xf8, 0x7a, + 0x2c, 0x7d, 0x69, 0x37, 0x34, 0xe9, 0xf8, 0xe4, 0xc0, 0x77, 0x72, 0xf5, 0x15, 0x00, 0x00, 0xff, + 0xff, 0xbe, 0xb7, 0x7c, 0x1c, 0x4f, 0x01, 0x00, 0x00, } From e157bc195b5d6fd6190ddbb1e5c09b42c3e5e0c1 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Tue, 8 Feb 2022 17:34:53 +0800 Subject: [PATCH 16/75] push msg specify receiver --- pkg/common/utils/utils.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkg/common/utils/utils.go b/pkg/common/utils/utils.go index 2fbcf1930..db9db5461 100644 --- a/pkg/common/utils/utils.go +++ b/pkg/common/utils/utils.go @@ -29,6 +29,9 @@ func FriendDBCopyOpenIM(dst *open_im_sdk.FriendInfo, src *db.Friend) error { } utils.CopyStructFields(dst.FriendUser, user) dst.CreateTime = uint32(src.CreateTime.Unix()) + if dst.FriendUser == nil { + dst.FriendUser = &open_im_sdk.UserInfo{} + } dst.FriendUser.CreateTime = uint32(user.CreateTime.Unix()) return nil } From 95153a66096558dec8f1ec6f319f70ee14fec481 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Tue, 8 Feb 2022 18:06:35 +0800 Subject: [PATCH 17/75] push msg specify receiver --- internal/rpc/msg/send_msg.go | 50 ++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/internal/rpc/msg/send_msg.go b/internal/rpc/msg/send_msg.go index 2a9b2ae00..184f48697 100644 --- a/internal/rpc/msg/send_msg.go +++ b/internal/rpc/msg/send_msg.go @@ -348,6 +348,55 @@ func Notification(n *NotificationMsg) { ex = config.Config.Notification.FriendApplication.OfflinePush.Ext reliabilityLevel = config.Config.Notification.FriendApplication.Conversation.ReliabilityLevel unReadCount = config.Config.Notification.FriendApplication.Conversation.UnreadCount + case constant.FriendApplicationApprovedNotification: + pushSwitch = config.Config.Notification.FriendApplicationApproved.OfflinePush.PushSwitch + title = config.Config.Notification.FriendApplicationApproved.OfflinePush.Title + desc = config.Config.Notification.FriendApplicationApproved.OfflinePush.Desc + ex = config.Config.Notification.FriendApplicationApproved.OfflinePush.Ext + reliabilityLevel = config.Config.Notification.FriendApplicationApproved.Conversation.ReliabilityLevel + unReadCount = config.Config.Notification.FriendApplicationApproved.Conversation.UnreadCount + case constant.FriendApplicationRejectedNotification: + pushSwitch = config.Config.Notification.FriendApplicationRejected.OfflinePush.PushSwitch + title = config.Config.Notification.FriendApplicationRejected.OfflinePush.Title + desc = config.Config.Notification.FriendApplicationRejected.OfflinePush.Desc + ex = config.Config.Notification.FriendApplicationRejected.OfflinePush.Ext + reliabilityLevel = config.Config.Notification.FriendApplicationRejected.Conversation.ReliabilityLevel + unReadCount = config.Config.Notification.FriendApplicationRejected.Conversation.UnreadCount + case constant.FriendAddedNotification: + pushSwitch = config.Config.Notification.FriendAdded.OfflinePush.PushSwitch + title = config.Config.Notification.FriendAdded.OfflinePush.Title + desc = config.Config.Notification.FriendAdded.OfflinePush.Desc + ex = config.Config.Notification.FriendAdded.OfflinePush.Ext + reliabilityLevel = config.Config.Notification.FriendAdded.Conversation.ReliabilityLevel + unReadCount = config.Config.Notification.FriendAdded.Conversation.UnreadCount + case constant.FriendDeletedNotification: + pushSwitch = config.Config.Notification.FriendDeleted.OfflinePush.PushSwitch + title = config.Config.Notification.FriendDeleted.OfflinePush.Title + desc = config.Config.Notification.FriendDeleted.OfflinePush.Desc + ex = config.Config.Notification.FriendDeleted.OfflinePush.Ext + reliabilityLevel = config.Config.Notification.FriendDeleted.Conversation.ReliabilityLevel + unReadCount = config.Config.Notification.FriendDeleted.Conversation.UnreadCount + case constant.FriendRemarkSetNotification: + pushSwitch = config.Config.Notification.FriendRemarkSet.OfflinePush.PushSwitch + title = config.Config.Notification.FriendRemarkSet.OfflinePush.Title + desc = config.Config.Notification.FriendRemarkSet.OfflinePush.Desc + ex = config.Config.Notification.FriendRemarkSet.OfflinePush.Ext + reliabilityLevel = config.Config.Notification.FriendRemarkSet.Conversation.ReliabilityLevel + unReadCount = config.Config.Notification.FriendRemarkSet.Conversation.UnreadCount + case constant.BlackAddedNotification: + pushSwitch = config.Config.Notification.BlackAdded.OfflinePush.PushSwitch + title = config.Config.Notification.BlackAdded.OfflinePush.Title + desc = config.Config.Notification.BlackAdded.OfflinePush.Desc + ex = config.Config.Notification.BlackAdded.OfflinePush.Ext + reliabilityLevel = config.Config.Notification.BlackAdded.Conversation.ReliabilityLevel + unReadCount = config.Config.Notification.BlackAdded.Conversation.UnreadCount + case constant.BlackDeletedNotification: + pushSwitch = config.Config.Notification.BlackDeleted.OfflinePush.PushSwitch + title = config.Config.Notification.BlackDeleted.OfflinePush.Title + desc = config.Config.Notification.BlackDeleted.OfflinePush.Desc + ex = config.Config.Notification.BlackDeleted.OfflinePush.Ext + reliabilityLevel = config.Config.Notification.BlackDeleted.Conversation.ReliabilityLevel + unReadCount = config.Config.Notification.BlackDeleted.Conversation.UnreadCount } switch reliabilityLevel { @@ -358,6 +407,7 @@ func Notification(n *NotificationMsg) { case constant.ReliableNotificationNoMsg: utils.SetSwitchFromOptions(msg.Options, constant.IsConversationUpdate, false) case constant.ReliableNotificationMsg: + } utils.SetSwitchFromOptions(msg.Options, constant.IsUnreadCount, unReadCount) utils.SetSwitchFromOptions(msg.Options, constant.IsOfflinePush, pushSwitch) From c202cee81ff90ffce3f1ed98b8d91a813937fa09 Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Tue, 8 Feb 2022 18:34:23 +0800 Subject: [PATCH 18/75] Refactor code --- internal/rpc/msg/group_notification.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/rpc/msg/group_notification.go b/internal/rpc/msg/group_notification.go index 511886ffa..b87b7aea1 100644 --- a/internal/rpc/msg/group_notification.go +++ b/internal/rpc/msg/group_notification.go @@ -108,7 +108,7 @@ func groupNotification(contentType int32, m proto.Message, sendID, groupID, recv log.Error(operationID, "GetUserByUserID failed ", err.Error()) } toNickname := "" - if from != nil { + if to != nil { toNickname = to.Nickname } From d0dbffebe1bbe72e23127ccf5d91e43bac00977b Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Tue, 8 Feb 2022 18:40:15 +0800 Subject: [PATCH 19/75] Refactor code --- internal/rpc/msg/group_notification.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/rpc/msg/group_notification.go b/internal/rpc/msg/group_notification.go index b87b7aea1..142e938e3 100644 --- a/internal/rpc/msg/group_notification.go +++ b/internal/rpc/msg/group_notification.go @@ -96,7 +96,7 @@ func groupNotification(contentType int32, m proto.Message, sendID, groupID, recv from, err := imdb.GetUserByUserID(sendID) if err != nil { - log.Error(operationID, "GetUserByUserID failed ", err.Error()) + log.Error(operationID, "GetUserByUserID failed ", err.Error(), sendID) } nickname := "" if from != nil { @@ -105,7 +105,7 @@ func groupNotification(contentType int32, m proto.Message, sendID, groupID, recv to, err := imdb.GetUserByUserID(recvUserID) if err != nil { - log.Error(operationID, "GetUserByUserID failed ", err.Error()) + log.Error(operationID, "GetUserByUserID failed ", err.Error(), recvUserID) } toNickname := "" if to != nil { From 1e5245efd0b5c874657e2d6a40b5e611dff1715d Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Tue, 8 Feb 2022 19:10:06 +0800 Subject: [PATCH 20/75] Refactor code --- config/config.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/config.yaml b/config/config.yaml index 62ded8e46..43912a36a 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -176,7 +176,6 @@ iOSPush: badgeCount: true notification: - groupCreated: conversation: reliabilityLevel: 3 From 03a010406fa0c6769ba47aa9a43d7da00e1e700c Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Tue, 8 Feb 2022 19:18:07 +0800 Subject: [PATCH 21/75] Refactor code --- config/config.yaml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/config/config.yaml b/config/config.yaml index 43912a36a..718a1eed4 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -161,15 +161,15 @@ messagecallback: callbackUrl: "http://www.xxx.com/msg/judge" #TimeOut use second as unit callbackTimeOut: 10 - c2c: - callbackBeforeSendMsg: - switch: false - timeoutStrategy: 1 #1:send - callbackAfterSendMsg: - switch: false - state: - stateChange: - switch: false +# c2c: +# callbackBeforeSendMsg: +# switch: false +# timeoutStrategy: 1 #1:send +# callbackAfterSendMsg: +# switch: false +# state: +# stateChange: +# switch: false iOSPush: pushSound: "xxx" From fa2b691dc150e51b67023ff79201cd3ba8aea967 Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Tue, 8 Feb 2022 19:22:15 +0800 Subject: [PATCH 22/75] Refactor code --- config/config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/config.yaml b/config/config.yaml index 718a1eed4..04f14f854 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -171,7 +171,7 @@ messagecallback: # stateChange: # switch: false -iOSPush: +iospush: pushSound: "xxx" badgeCount: true From 27262436d12a0bc3a075619e1294f2e17d500f03 Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Tue, 8 Feb 2022 19:28:46 +0800 Subject: [PATCH 23/75] Refactor code --- pkg/common/config/config.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/common/config/config.go b/pkg/common/config/config.go index 2e6870557..b3681b8fe 100644 --- a/pkg/common/config/config.go +++ b/pkg/common/config/config.go @@ -169,7 +169,7 @@ type config struct { Conversation PConversation `yaml:"conversation"` OfflinePush POfflinePush `yaml:"offlinePush"` DefaultTips PDefaultTips `yaml:"defaultTips"` - } + } `yaml:"groupCreated"` GroupInfoSet struct { Conversation PConversation `yaml:"conversation"` From a549f86624bc1d3ad8728176fd419911edb4108c Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Tue, 8 Feb 2022 19:33:37 +0800 Subject: [PATCH 24/75] Refactor code --- pkg/common/config/config.go | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/pkg/common/config/config.go b/pkg/common/config/config.go index b3681b8fe..8b9c4602d 100644 --- a/pkg/common/config/config.go +++ b/pkg/common/config/config.go @@ -175,106 +175,106 @@ type config struct { Conversation PConversation `yaml:"conversation"` OfflinePush POfflinePush `yaml:"offlinePush"` DefaultTips PDefaultTips `yaml:"defaultTips"` - } + } `yaml:"groupInfoSet"` JoinGroupApplication struct { Conversation PConversation `yaml:"conversation"` OfflinePush POfflinePush `yaml:"offlinePush"` DefaultTips PDefaultTips `yaml:"defaultTips"` - } + } `yaml:"joinGroupApplication"` MemberQuit struct { Conversation PConversation `yaml:"conversation"` OfflinePush POfflinePush `yaml:"offlinePush"` DefaultTips PDefaultTips `yaml:"defaultTips"` - } + } `yaml:"memberQuit"` GroupApplicationAccepted struct { Conversation PConversation `yaml:"conversation"` OfflinePush POfflinePush `yaml:"offlinePush"` DefaultTips PDefaultTips `yaml:"defaultTips"` - } + } `yaml:"groupApplicationAccepted"` GroupApplicationRejected struct { Conversation PConversation `yaml:"conversation"` OfflinePush POfflinePush `yaml:"offlinePush"` DefaultTips PDefaultTips `yaml:"defaultTips"` - } + } `yaml:"groupApplicationRejected"` GroupOwnerTransferred struct { Conversation PConversation `yaml:"conversation"` OfflinePush POfflinePush `yaml:"offlinePush"` DefaultTips PDefaultTips `yaml:"defaultTips"` - } + } `yaml:"groupOwnerTransferred"` MemberKicked struct { Conversation PConversation `yaml:"conversation"` OfflinePush POfflinePush `yaml:"offlinePush"` DefaultTips PDefaultTips `yaml:"defaultTips"` - } + } `yaml:"memberKicked"` MemberInvited struct { Conversation PConversation `yaml:"conversation"` OfflinePush POfflinePush `yaml:"offlinePush"` DefaultTips PDefaultTips `yaml:"defaultTips"` - } + } `yaml:"memberInvited"` MemberEnter struct { Conversation PConversation `yaml:"conversation"` OfflinePush POfflinePush `yaml:"offlinePush"` DefaultTips PDefaultTips `yaml:"defaultTips"` - } + } `yaml:"memberEnter"` ////////////////////////user/////////////////////// UserInfoUpdated struct { Conversation PConversation `yaml:"conversation"` OfflinePush POfflinePush `yaml:"offlinePush"` DefaultTips PDefaultTips `yaml:"defaultTips"` - } + } `yaml:"userInfoUpdated"` //////////////////////friend/////////////////////// FriendApplication struct { Conversation PConversation `yaml:"conversation"` OfflinePush POfflinePush `yaml:"offlinePush"` DefaultTips PDefaultTips `yaml:"defaultTips"` - } + } `yaml:"friendApplicationAdded"` FriendApplicationApproved struct { Conversation PConversation `yaml:"conversation"` OfflinePush POfflinePush `yaml:"offlinePush"` DefaultTips PDefaultTips `yaml:"defaultTips"` - } + } `yaml:"friendApplicationApproved"` FriendApplicationRejected struct { Conversation PConversation `yaml:"conversation"` OfflinePush POfflinePush `yaml:"offlinePush"` DefaultTips PDefaultTips `yaml:"defaultTips"` - } + } `yaml:"friendApplicationRejected"` FriendAdded struct { Conversation PConversation `yaml:"conversation"` OfflinePush POfflinePush `yaml:"offlinePush"` DefaultTips PDefaultTips `yaml:"defaultTips"` - } + } `yaml:"friendAdded"` FriendDeleted struct { Conversation PConversation `yaml:"conversation"` OfflinePush POfflinePush `yaml:"offlinePush"` DefaultTips PDefaultTips `yaml:"defaultTips"` - } + } `yaml:"friendDeleted"` FriendRemarkSet struct { Conversation PConversation `yaml:"conversation"` OfflinePush POfflinePush `yaml:"offlinePush"` DefaultTips PDefaultTips `yaml:"defaultTips"` - } + } `yaml:"friendRemarkSet"` BlackAdded struct { Conversation PConversation `yaml:"conversation"` OfflinePush POfflinePush `yaml:"offlinePush"` DefaultTips PDefaultTips `yaml:"defaultTips"` - } + } `yaml:"blackAdded"` BlackDeleted struct { Conversation PConversation `yaml:"conversation"` OfflinePush POfflinePush `yaml:"offlinePush"` DefaultTips PDefaultTips `yaml:"defaultTips"` - } + } `yaml:"blackDeleted"` } Demo struct { Port []int `yaml:"openImDemoPort"` From 163da78bc6d745549b67df3d93f38678a04967e8 Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Tue, 8 Feb 2022 20:22:07 +0800 Subject: [PATCH 25/75] Refactor code --- internal/rpc/friend/firend.go | 5 +++-- .../mysql_model/im_mysql_model/friend_request_model.go | 9 ++++++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/internal/rpc/friend/firend.go b/internal/rpc/friend/firend.go index 578118dfc..ebd86cb05 100644 --- a/internal/rpc/friend/firend.go +++ b/internal/rpc/friend/firend.go @@ -101,11 +101,12 @@ func (s *friendServer) AddFriend(ctx context.Context, req *pbFriend.AddFriendReq } //Establish a latest relationship in the friend request table - friendRequest := db.FriendRequest{ReqMsg: req.ReqMsg} + friendRequest := db.FriendRequest{ReqMsg: req.ReqMsg, HandleResult: 0} utils.CopyStructFields(&friendRequest, req.CommID) // {openIM001 openIM002 0 test add friend 0001-01-01 00:00:00 +0000 UTC 0001-01-01 00:00:00 +0000 UTC }] log.NewDebug(req.CommID.OperationID, "UpdateFriendApplication args ", friendRequest) - err := imdb.InsertFriendApplication(&friendRequest) + //err := imdb.InsertFriendApplication(&friendRequest) + err := imdb.InsertFriendApplication(&friendRequest, map[string]interface{}{"handle_result": 0}) if err != nil { log.NewError(req.CommID.OperationID, "UpdateFriendApplication failed ", err.Error(), friendRequest) return &pbFriend.AddFriendResp{CommonResp: &pbFriend.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil diff --git a/pkg/common/db/mysql_model/im_mysql_model/friend_request_model.go b/pkg/common/db/mysql_model/im_mysql_model/friend_request_model.go index 0aeb2967e..773d6f685 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/friend_request_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/friend_request_model.go @@ -71,15 +71,18 @@ func UpdateFriendApplication(friendRequest *db.FriendRequest) error { friendRequest.FromUserID, friendRequest.ToUserID).Update(&friendRequest).Error } -func InsertFriendApplication(friendRequest *db.FriendRequest) error { +func InsertFriendApplication(friendRequest *db.FriendRequest, args map[string]interface{}) error { dbConn, err := db.DB.MysqlDB.DefaultGormDB() if err != nil { return err } friendRequest.CreateTime = time.Now() - u := dbConn.Table("friend_requests").Where("from_user_id=? and to_user_id=?", - friendRequest.FromUserID, friendRequest.ToUserID).Update(&friendRequest) + u := dbConn.Model(&friendRequest).Updates(args) + //u := dbConn.Table("friend_requests").Where("from_user_id=? and to_user_id=?", + // friendRequest.FromUserID, friendRequest.ToUserID).Update(&friendRequest) + //u := dbConn.Table("friend_requests").Where("from_user_id=? and to_user_id=?", + // friendRequest.FromUserID, friendRequest.ToUserID).Update(&friendRequest) if u.RowsAffected != 0 { return nil } From 2c670b3b21d5132f0c804dec0ed87cbe7b6d7389 Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Tue, 8 Feb 2022 20:25:39 +0800 Subject: [PATCH 26/75] Refactor code --- pkg/common/db/mysql.go | 69 +++++++++++++++++++++--------------------- 1 file changed, 34 insertions(+), 35 deletions(-) diff --git a/pkg/common/db/mysql.go b/pkg/common/db/mysql.go index 56ca3648c..efcfc0f63 100644 --- a/pkg/common/db/mysql.go +++ b/pkg/common/db/mysql.go @@ -61,41 +61,40 @@ func initMysqlDB() { &Black{}, &ChatLog{}) db.Set("gorm:table_options", "CHARSET=utf8") - // - //if !db.HasTable(&Friend{}) { - // log.NewInfo("CreateTable Friend") - // db.CreateTable(&Friend{}) - //} - // - //if !db.HasTable(&FriendRequest{}) { - // log.NewInfo("CreateTable FriendRequest") - // db.CreateTable(&FriendRequest{}) - //} - // - //if !db.HasTable(&Group{}) { - // log.NewInfo("CreateTable Group") - // db.CreateTable(&Group{}) - //} - // - //if !db.HasTable(&GroupMember{}) { - // log.NewInfo("CreateTable GroupMember") - // db.CreateTable(&GroupMember{}) - //} - // - //if !db.HasTable(&GroupRequest{}) { - // log.NewInfo("CreateTable GroupRequest") - // db.CreateTable(&GroupRequest{}) - //} - // - //if !db.HasTable(&User{}) { - // log.NewInfo("CreateTable User") - // db.CreateTable(&User{}) - //} - // - //if !db.HasTable(&Black{}) { - // log.NewInfo("CreateTable Black") - // db.CreateTable(&Black{}) - //} + if !db.HasTable(&Friend{}) { + log.NewInfo("CreateTable Friend") + db.CreateTable(&Friend{}) + } + + if !db.HasTable(&FriendRequest{}) { + log.NewInfo("CreateTable FriendRequest") + db.CreateTable(&FriendRequest{}) + } + + if !db.HasTable(&Group{}) { + log.NewInfo("CreateTable Group") + db.CreateTable(&Group{}) + } + + if !db.HasTable(&GroupMember{}) { + log.NewInfo("CreateTable GroupMember") + db.CreateTable(&GroupMember{}) + } + + if !db.HasTable(&GroupRequest{}) { + log.NewInfo("CreateTable GroupRequest") + db.CreateTable(&GroupRequest{}) + } + + if !db.HasTable(&User{}) { + log.NewInfo("CreateTable User") + db.CreateTable(&User{}) + } + + if !db.HasTable(&Black{}) { + log.NewInfo("CreateTable Black") + db.CreateTable(&Black{}) + } return From 225c0a9b03b142a197c4f0c5997d15ce629b9cc7 Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Wed, 9 Feb 2022 09:13:07 +0800 Subject: [PATCH 27/75] Refactor code --- .../db/mysql_model/im_mysql_model/friend_request_model.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/common/db/mysql_model/im_mysql_model/friend_request_model.go b/pkg/common/db/mysql_model/im_mysql_model/friend_request_model.go index 773d6f685..f7cb002a1 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/friend_request_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/friend_request_model.go @@ -78,7 +78,7 @@ func InsertFriendApplication(friendRequest *db.FriendRequest, args map[string]in } friendRequest.CreateTime = time.Now() - u := dbConn.Model(&friendRequest).Updates(args) + u := dbConn.Debug().Model(friendRequest).Updates(args) //u := dbConn.Table("friend_requests").Where("from_user_id=? and to_user_id=?", // friendRequest.FromUserID, friendRequest.ToUserID).Update(&friendRequest) //u := dbConn.Table("friend_requests").Where("from_user_id=? and to_user_id=?", From 88837012974ad078b89757a11c27d40e00470463 Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Wed, 9 Feb 2022 09:26:58 +0800 Subject: [PATCH 28/75] Refactor code --- pkg/common/db/model_struct.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkg/common/db/model_struct.go b/pkg/common/db/model_struct.go index eabc26668..7e136658f 100644 --- a/pkg/common/db/model_struct.go +++ b/pkg/common/db/model_struct.go @@ -47,6 +47,10 @@ type FriendRequest struct { Ex string `gorm:"column:ex;size:1024"` } +func (FriendRequest) TableName() string { + return "friend_requests" +} + //message GroupInfo{ // string GroupID = 1; // string GroupName = 2; From a4b6cb323214949d83cafb365de477f3a156cb4f Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Wed, 9 Feb 2022 09:31:17 +0800 Subject: [PATCH 29/75] Refactor code --- .../db/mysql_model/im_mysql_model/friend_request_model.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/common/db/mysql_model/im_mysql_model/friend_request_model.go b/pkg/common/db/mysql_model/im_mysql_model/friend_request_model.go index f7cb002a1..693bd71ac 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/friend_request_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/friend_request_model.go @@ -78,7 +78,7 @@ func InsertFriendApplication(friendRequest *db.FriendRequest, args map[string]in } friendRequest.CreateTime = time.Now() - u := dbConn.Debug().Model(friendRequest).Updates(args) + u := dbConn.Model(friendRequest).Updates(args) //u := dbConn.Table("friend_requests").Where("from_user_id=? and to_user_id=?", // friendRequest.FromUserID, friendRequest.ToUserID).Update(&friendRequest) //u := dbConn.Table("friend_requests").Where("from_user_id=? and to_user_id=?", From 3e165197935f9f611abc2fd6dfc25a7b704c0d8a Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Wed, 9 Feb 2022 09:44:45 +0800 Subject: [PATCH 30/75] Refactor code --- pkg/common/db/mysql_model/im_mysql_model/group_request_model.go | 1 + 1 file changed, 1 insertion(+) 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 a4e3ab37f..9b7c2dd2c 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 @@ -31,6 +31,7 @@ func UpdateGroupRequest(groupRequest db.GroupRequest) error { } func InsertIntoGroupRequest(toInsertInfo db.GroupRequest) error { + DelGroupRequestByGroupIDAndUserID(toInsertInfo.GroupID, toInsertInfo.UserID) dbConn, err := db.DB.MysqlDB.DefaultGormDB() if err != nil { return err From 02b95b16f92f800a1c7396730e27e7bbffef834e Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Wed, 9 Feb 2022 09:50:03 +0800 Subject: [PATCH 31/75] Refactor code --- pkg/common/db/mysql_model/im_mysql_model/friend_request_model.go | 1 + 1 file changed, 1 insertion(+) diff --git a/pkg/common/db/mysql_model/im_mysql_model/friend_request_model.go b/pkg/common/db/mysql_model/im_mysql_model/friend_request_model.go index 693bd71ac..bcb734281 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/friend_request_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/friend_request_model.go @@ -78,6 +78,7 @@ func InsertFriendApplication(friendRequest *db.FriendRequest, args map[string]in } friendRequest.CreateTime = time.Now() + args["create_time"] = friendRequest.CreateTime u := dbConn.Model(friendRequest).Updates(args) //u := dbConn.Table("friend_requests").Where("from_user_id=? and to_user_id=?", // friendRequest.FromUserID, friendRequest.ToUserID).Update(&friendRequest) From 72f87b449bb62b0d664ecaeea79e923fa47bee81 Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Wed, 9 Feb 2022 12:12:19 +0800 Subject: [PATCH 32/75] Refactor code --- internal/rpc/msg/group_notification.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/internal/rpc/msg/group_notification.go b/internal/rpc/msg/group_notification.go index 142e938e3..abe81e9ed 100644 --- a/internal/rpc/msg/group_notification.go +++ b/internal/rpc/msg/group_notification.go @@ -324,10 +324,10 @@ func MemberKickedNotification(req *pbGroup.KickGroupMemberReq, kickedUserIDList MemberKickedTips.KickedUserList = append(MemberKickedTips.KickedUserList, &groupMemberInfo) } groupNotification(constant.MemberKickedNotification, &MemberKickedTips, req.OpUserID, req.GroupID, "", req.OperationID) - - for _, v := range kickedUserIDList { - groupNotification(constant.MemberKickedNotification, &MemberKickedTips, req.OpUserID, "", v, req.OperationID) - } + // + //for _, v := range kickedUserIDList { + // groupNotification(constant.MemberKickedNotification, &MemberKickedTips, req.OpUserID, "", v, req.OperationID) + //} } //message MemberInvitedTips{ From bed2bfb6dbb71e2157b07b9f692de924f9e98024 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Wed, 9 Feb 2022 12:50:36 +0800 Subject: [PATCH 33/75] push msg specify receiver --- internal/rpc/msg/send_msg.go | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/internal/rpc/msg/send_msg.go b/internal/rpc/msg/send_msg.go index 184f48697..cbfbb3345 100644 --- a/internal/rpc/msg/send_msg.go +++ b/internal/rpc/msg/send_msg.go @@ -14,6 +14,7 @@ import ( "context" "encoding/json" "github.com/garyburd/redigo/redis" + "github.com/golang/protobuf/proto" "math/rand" "net/http" "strconv" @@ -165,6 +166,20 @@ func (rpc *rpcChat) SendMsg(_ context.Context, pb *pbChat.SendMsgReq) (*pbChat.S log.Error(pb.Token, pb.OperationID, "rpc send_msg getGroupInfo failed, err = %s", reply.ErrMsg) return returnMsg(&replay, pb, reply.ErrCode, reply.ErrMsg, "", 0) } + var addUidList []string + switch pb.MsgData.ContentType { + case constant.MemberKickedNotification: + var tips sdk_ws.TipsComm + var memberKickedTips sdk_ws.MemberKickedTips + _ = proto.Unmarshal(pb.MsgData.Content, &tips) + _ = proto.Unmarshal(tips.Detail, &memberKickedTips) + for _, v := range memberKickedTips.KickedUserList { + addUidList = append(addUidList, v.UserID) + } + case constant.MemberQuitNotification: + addUidList = append(addUidList, pb.MsgData.SendID) + default: + } groupID := pb.MsgData.GroupID for _, v := range reply.MemberList { pb.MsgData.RecvID = v.UserID @@ -178,6 +193,19 @@ func (rpc *rpcChat) SendMsg(_ context.Context, pb *pbChat.SendMsgReq) (*pbChat.S } } + } + for _, v := range addUidList { + pb.MsgData.RecvID = v + isSend := modifyMessageByUserMessageReceiveOpt(v, groupID, constant.GroupChatType, pb) + if isSend { + msgToMQ.MsgData = pb.MsgData + err := rpc.sendMsgToKafka(&msgToMQ, v) + if err != nil { + log.NewError(msgToMQ.OperationID, "kafka send msg err:UserId", v, msgToMQ.String()) + return returnMsg(&replay, pb, 201, "kafka send msg err", "", 0) + } + } + } return returnMsg(&replay, pb, 0, "", msgToMQ.MsgData.ServerMsgID, msgToMQ.MsgData.SendTime) default: From 927cde3777a6fd50344086a6f9ec7d19c0e60a60 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Wed, 9 Feb 2022 12:59:20 +0800 Subject: [PATCH 34/75] log --- internal/rpc/msg/send_msg.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/internal/rpc/msg/send_msg.go b/internal/rpc/msg/send_msg.go index cbfbb3345..5fcbc05c7 100644 --- a/internal/rpc/msg/send_msg.go +++ b/internal/rpc/msg/send_msg.go @@ -194,9 +194,11 @@ func (rpc *rpcChat) SendMsg(_ context.Context, pb *pbChat.SendMsgReq) (*pbChat.S } } + log.Info(msgToMQ.OperationID, "addUidList", addUidList) for _, v := range addUidList { pb.MsgData.RecvID = v isSend := modifyMessageByUserMessageReceiveOpt(v, groupID, constant.GroupChatType, pb) + log.Info(msgToMQ.OperationID, "isSend", isSend) if isSend { msgToMQ.MsgData = pb.MsgData err := rpc.sendMsgToKafka(&msgToMQ, v) From a81e5aa6e4ab370d177403a2ca22d50e96e9f6cc Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Wed, 9 Feb 2022 13:05:17 +0800 Subject: [PATCH 35/75] log --- internal/rpc/msg/send_msg.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/internal/rpc/msg/send_msg.go b/internal/rpc/msg/send_msg.go index 5fcbc05c7..7518997c0 100644 --- a/internal/rpc/msg/send_msg.go +++ b/internal/rpc/msg/send_msg.go @@ -171,8 +171,15 @@ func (rpc *rpcChat) SendMsg(_ context.Context, pb *pbChat.SendMsgReq) (*pbChat.S case constant.MemberKickedNotification: var tips sdk_ws.TipsComm var memberKickedTips sdk_ws.MemberKickedTips - _ = proto.Unmarshal(pb.MsgData.Content, &tips) - _ = proto.Unmarshal(tips.Detail, &memberKickedTips) + err := proto.Unmarshal(pb.MsgData.Content, &tips) + if err != nil { + log.Error(pb.OperationID, "Unmarshal err", err.Error()) + } + err = proto.Unmarshal(tips.Detail, &memberKickedTips) + if err != nil { + log.Error(pb.OperationID, "Unmarshal err", err.Error()) + } + log.Info(pb.OperationID, "data is ", memberKickedTips) for _, v := range memberKickedTips.KickedUserList { addUidList = append(addUidList, v.UserID) } From 3a2cd0276ab669c0c13f971720a19c885158fded Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Wed, 9 Feb 2022 13:21:46 +0800 Subject: [PATCH 36/75] Refactor code --- internal/rpc/msg/group_notification.go | 13 ++++++++++--- pkg/grpc-etcdv3/getcdv3/register.go | 4 ++-- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/internal/rpc/msg/group_notification.go b/internal/rpc/msg/group_notification.go index abe81e9ed..a2d2ace44 100644 --- a/internal/rpc/msg/group_notification.go +++ b/internal/rpc/msg/group_notification.go @@ -54,12 +54,19 @@ func setGroupInfo(groupID string, groupInfo *open_im_sdk.GroupInfo) error { func setGroupMemberInfo(groupID, userID string, groupMemberInfo *open_im_sdk.GroupMemberFullInfo) error { groupMember, err := imdb.GetGroupMemberInfoByGroupIDAndUserID(groupID, userID) - if err != nil { - return utils.Wrap(err, "") + if err == nil { + return utils.Wrap(utils2.GroupMemberDBCopyOpenIM(groupMemberInfo, groupMember), "") } - if err = utils2.GroupMemberDBCopyOpenIM(groupMemberInfo, groupMember); err != nil { + + user, err := imdb.GetUserByUserID(userID) + if err != nil { return utils.Wrap(err, "") } + groupMemberInfo.GroupID = groupID + groupMemberInfo.UserID = user.UserID + groupMemberInfo.Nickname = user.Nickname + groupMemberInfo.AppMangerLevel = user.AppMangerLevel + groupMemberInfo.FaceURL = user.FaceURL return nil } diff --git a/pkg/grpc-etcdv3/getcdv3/register.go b/pkg/grpc-etcdv3/getcdv3/register.go index e1a78dd61..3e12486a5 100644 --- a/pkg/grpc-etcdv3/getcdv3/register.go +++ b/pkg/grpc-etcdv3/getcdv3/register.go @@ -64,9 +64,9 @@ func RegisterEtcd(schema, etcdAddr, myHost string, myPort int, serviceName strin //keepalive kresp, err := cli.KeepAlive(ctx, resp.ID) if err != nil { - return fmt.Errorf("keepalive faild, errmsg:%v, lease id:%d", err, resp.ID) + return fmt.Errorf("keepalive failed, errmsg:%v, lease id:%d", err, resp.ID) } - + fmt.Println("RegisterEtcd ok") go func() { FLOOP: for { From ee3490a5205d9feaa54056dd6fc82177cddea1fe Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Wed, 9 Feb 2022 15:03:24 +0800 Subject: [PATCH 37/75] Refactor code --- pkg/common/db/model_struct.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/common/db/model_struct.go b/pkg/common/db/model_struct.go index 7e136658f..25e3bf0cd 100644 --- a/pkg/common/db/model_struct.go +++ b/pkg/common/db/model_struct.go @@ -73,7 +73,7 @@ type Group struct { GroupName string `gorm:"column:name;size:255" json:"groupName"` Notification string `gorm:"column:notification;size:255" json:"notification"` Introduction string `gorm:"column:introduction;size:255" json:"introduction"` - FaceUrl string `gorm:"column:face_url;size:255" json:"faceUrl"` + FaceURL string `gorm:"column:face_url;size:255" json:"faceURL"` CreateTime time.Time `gorm:"column:create_time"` Ex string `gorm:"column:ex" json:"ex;size:1024" json:"ex"` Status int32 `gorm:"column:status"` @@ -97,7 +97,7 @@ type GroupMember struct { GroupID string `gorm:"column:group_id;primary_key;size:64"` UserID string `gorm:"column:user_id;primary_key;size:64"` Nickname string `gorm:"column:nickname;size:255"` - FaceUrl string `gorm:"column:user_group_face_url;size:255"` + FaceURL string `gorm:"column:user_group_face_url;size:255"` RoleLevel int32 `gorm:"column:role_level"` JoinTime time.Time `gorm:"column:join_time"` JoinSource int32 `gorm:"column:join_source"` From 11aecf43ba82b9ce85c43271b89d97789040b579 Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Wed, 9 Feb 2022 15:07:31 +0800 Subject: [PATCH 38/75] Refactor code --- 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 9df6064f6..f2ee7eb22 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -479,7 +479,7 @@ func (s *groupServer) GroupApplicationResponse(_ context.Context, req *pbGroup.G member.UserID = req.FromUserID member.RoleLevel = constant.GroupOrdinaryUsers member.OperatorUserID = req.OpUserID - member.FaceUrl = user.FaceURL + member.FaceURL = user.FaceURL member.Nickname = user.Nickname err = imdb.InsertIntoGroupMember(member) @@ -596,7 +596,7 @@ func (s *groupServer) SetGroupInfo(ctx context.Context, req *pbGroup.SetGroupInf if group.Introduction != req.GroupInfo.Introduction && req.GroupInfo.Introduction != "" { changedType = changedType | (1 << 2) } - if group.FaceUrl != req.GroupInfo.FaceURL && req.GroupInfo.FaceURL != "" { + if group.FaceURL != req.GroupInfo.FaceURL && req.GroupInfo.FaceURL != "" { changedType = changedType | (1 << 3) } //only administrators can set group information From a21e7adeb5b83cb630b7da928ef126b1de6262fc Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Wed, 9 Feb 2022 15:30:57 +0800 Subject: [PATCH 39/75] Refactor code --- internal/rpc/msg/group_notification.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/rpc/msg/group_notification.go b/internal/rpc/msg/group_notification.go index a2d2ace44..a2b4e8cef 100644 --- a/internal/rpc/msg/group_notification.go +++ b/internal/rpc/msg/group_notification.go @@ -302,7 +302,7 @@ func GroupOwnerTransferredNotification(req *pbGroup.TransferGroupOwnerReq) { log.Error(req.OperationID, "setGroupMemberInfo failed", req.GroupID, req.NewOwnerUserID) return } - groupNotification(constant.GroupOwnerTransferredNotification, &GroupOwnerTransferredTips, req.OpUserID, "", req.NewOwnerUserID, req.OperationID) + groupNotification(constant.GroupOwnerTransferredNotification, &GroupOwnerTransferredTips, req.OpUserID, req.GroupID, "", req.OperationID) } //message MemberKickedTips{ From 93706c94afd45e3355b6dc51eef6997442c30fe8 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Wed, 9 Feb 2022 17:40:59 +0800 Subject: [PATCH 40/75] mysql coding --- pkg/common/db/mysql.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkg/common/db/mysql.go b/pkg/common/db/mysql.go index efcfc0f63..ba38f57e9 100644 --- a/pkg/common/db/mysql.go +++ b/pkg/common/db/mysql.go @@ -35,7 +35,7 @@ func initMysqlDB() { } //Check the database and table during initialization - sql := fmt.Sprintf("CREATE DATABASE IF NOT EXISTS %s ;", config.Config.Mysql.DBDatabaseName+"test1") + sql := fmt.Sprintf("CREATE DATABASE IF NOT EXISTS %s default charset utf8 COLLATE utf8_general_ci;", config.Config.Mysql.DBDatabaseName+"test1") err = db.Exec(sql).Error if err != nil { log.NewError("0", "Exec failed ", err.Error(), sql) @@ -60,6 +60,7 @@ func initMysqlDB() { &User{}, &Black{}, &ChatLog{}) db.Set("gorm:table_options", "CHARSET=utf8") + db.Set("gorm:table_options", "collation=utf8_unicode_ci") if !db.HasTable(&Friend{}) { log.NewInfo("CreateTable Friend") From 8cd7b8571104d11eb2ae5e9be8520ab214164cb6 Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Wed, 9 Feb 2022 18:35:46 +0800 Subject: [PATCH 41/75] Refactor code --- internal/rpc/msg/group_notification.go | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/internal/rpc/msg/group_notification.go b/internal/rpc/msg/group_notification.go index a2b4e8cef..9fa9783ea 100644 --- a/internal/rpc/msg/group_notification.go +++ b/internal/rpc/msg/group_notification.go @@ -30,12 +30,21 @@ func setOpUserInfo(opUserID, groupID string, groupMemberInfo *open_im_sdk.GroupM groupMemberInfo.GroupID = groupID } else { u, err := imdb.GetGroupMemberInfoByGroupIDAndUserID(groupID, opUserID) - if err != nil { - return utils.Wrap(err, "GetGroupMemberInfoByGroupIDAndUserID failed") + if err == nil { + if err = utils2.GroupMemberDBCopyOpenIM(groupMemberInfo, u); err != nil { + return utils.Wrap(err, "") + } } - if err = utils2.GroupMemberDBCopyOpenIM(groupMemberInfo, u); err != nil { + + user, err := imdb.GetUserByUserID(opUserID) + if err != nil { return utils.Wrap(err, "") } + groupMemberInfo.GroupID = groupID + groupMemberInfo.UserID = user.UserID + groupMemberInfo.Nickname = user.Nickname + groupMemberInfo.AppMangerLevel = user.AppMangerLevel + groupMemberInfo.FaceURL = user.FaceURL } return nil } From b80c8013c0155c3f7a342375cc1af69c15b43d14 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 9 Feb 2022 19:19:22 +0800 Subject: [PATCH 42/75] add user req group reqlist api --- cmd/open_im_api/main.go | 1 + 1 file changed, 1 insertion(+) diff --git a/cmd/open_im_api/main.go b/cmd/open_im_api/main.go index 817042f5c..7172ac393 100644 --- a/cmd/open_im_api/main.go +++ b/cmd/open_im_api/main.go @@ -58,6 +58,7 @@ func main() { groupRouterGroup.POST("/group_application_response", group.ApplicationGroupResponse) //1 groupRouterGroup.POST("/transfer_group", group.TransferGroupOwner) //1 groupRouterGroup.POST("/get_recv_group_applicationList", group.GetRecvGroupApplicationList) //1 + groupRouterGroup.POST("/get_user_req_group_applicationList", group.GetUserReqGroupApplicationList) groupRouterGroup.POST("/get_groups_info", group.GetGroupsInfo) //1 groupRouterGroup.POST("/kick_group", group.KickGroupMember) //1 groupRouterGroup.POST("/get_group_member_list", group.GetGroupMemberList) //no use From 192ac0e01344cd72678a044ed757ece8aee8446c Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 9 Feb 2022 19:20:46 +0800 Subject: [PATCH 43/75] api --- go.mod | 1 + internal/api/group/group.go | 45 +- internal/rpc/group/group.go | 38 + pkg/base_info/group_api_struct.go | 10 + .../im_mysql_model/group_member_model.go | 1 + .../im_mysql_model/group_request_model.go | 12 + pkg/proto/group/group.pb.go | 3704 +++++++++++------ pkg/proto/group/group.proto | 12 + 8 files changed, 2589 insertions(+), 1234 deletions(-) diff --git a/go.mod b/go.mod index 767401200..50f637f57 100644 --- a/go.mod +++ b/go.mod @@ -47,6 +47,7 @@ require ( golang.org/x/image v0.0.0-20210220032944-ac19c3e999fb golang.org/x/net v0.0.0-20210917221730-978cfadd31cf google.golang.org/grpc v1.40.0 + google.golang.org/protobuf v1.27.1 // indirect gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc // indirect gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22 diff --git a/internal/api/group/group.go b/internal/api/group/group.go index c7b725a9e..8a5edf918 100644 --- a/internal/api/group/group.go +++ b/internal/api/group/group.go @@ -290,13 +290,13 @@ func GetRecvGroupApplicationList(c *gin.Context) { } req := &rpc.GetGroupApplicationListReq{} utils.CopyStructFields(req, params) - var ok bool - ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token")) - if !ok { - log.NewError(req.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token")) - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"}) - return - } + //var ok bool + //ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token")) + //if !ok { + // log.NewError(req.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token")) + // c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"}) + // return + //} log.NewInfo(req.OperationID, "GetGroupApplicationList args ", req.String()) etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImGroupName) @@ -314,6 +314,37 @@ func GetRecvGroupApplicationList(c *gin.Context) { c.JSON(http.StatusOK, resp) } +func GetUserReqGroupApplicationList(c *gin.Context) { + var params api.GetUserReqGroupApplicationListReq + if err := c.BindJSON(¶ms); err != nil { + log.NewError("0", utils.GetSelfFuncName(), err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) + return + } + req := &rpc.GetUserReqApplicationListReq{} + utils.CopyStructFields(req, params) + //ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token")) + //if !ok { + // log.NewError(req.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token")) + // c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"}) + // return + //} + log.NewInfo(req.OperationID, "GetGroupsInfo args ", req.String()) + etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImGroupName) + client := rpc.NewGroupClient(etcdConn) + RpcResp, err := client.GetUserReqApplicationList(context.Background(), req) + if err != nil { + log.NewError(req.OperationID, "GetGroupsInfo failed ", err.Error(), req.String()) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "call rpc server failed"}) + return + } + log.NewInfo(req.OperationID, RpcResp) + resp := api.GetGroupApplicationListResp{CommResp: api.CommResp{ErrCode: RpcResp.CommonResp.ErrCode, ErrMsg: RpcResp.CommonResp.ErrMsg}, GroupRequestList: RpcResp.GroupRequestList} + log.NewInfo(req.OperationID, "GetGroupApplicationList api return ", resp) + resp.Data = jsonData.JsonDataList(resp.GroupRequestList) + c.JSON(http.StatusOK, resp) +} + func GetGroupsInfo(c *gin.Context) { params := api.GetGroupInfoReq{} if err := c.BindJSON(¶ms); err != nil { diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index f2ee7eb22..3d40b41be 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -638,3 +638,41 @@ func (s *groupServer) TransferGroupOwner(_ context.Context, req *pbGroup.Transfe return &pbGroup.TransferGroupOwnerResp{CommonResp: &pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}}, nil } + +func (s *groupServer) GetUserReqApplicationList(_ context.Context, req *pbGroup.GetUserReqApplicationListReq) (*pbGroup.GetUserReqApplicationListResp, error) { + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) + resp := &pbGroup.GetUserReqApplicationListResp{} + groupRequests, err := imdb.GetUserReqGroupByUserID(req.UserID) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetUserReqGroupByUserID failed ", err.Error()) + resp.CommonResp = &pbGroup.CommonResp{ + ErrCode: constant.ErrDB.ErrCode, + ErrMsg: constant.ErrDB.ErrMsg, + } + return resp, nil + } + for _, groupReq := range groupRequests { + node := open_im_sdk.GroupRequest{UserInfo: &open_im_sdk.PublicUserInfo{}, GroupInfo: &open_im_sdk.GroupInfo{}} + group, err := imdb.GetGroupInfoByGroupID(groupReq.GroupID) + if err != nil { + log.Error(req.OperationID, "GetGroupInfoByGroupID failed ", err.Error(), groupReq.GroupID) + continue + } + user, err := imdb.GetUserByUserID(groupReq.UserID) + if err != nil { + log.Error(req.OperationID, "GetUserByUserID failed ", err.Error(), groupReq.UserID) + continue + } + cp.GroupRequestDBCopyOpenIM(&node, &groupReq) + cp.UserDBCopyOpenIMPublicUser(node.UserInfo, user) + cp.GroupDBCopyOpenIM(node.GroupInfo, group) + resp.GroupRequestList = append(resp.GroupRequestList, &node) + } + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), groupRequests) + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "output:", resp) + resp.CommonResp = &pbGroup.CommonResp{ + ErrCode: 0, + ErrMsg: "", + } + return resp, nil +} \ No newline at end of file diff --git a/pkg/base_info/group_api_struct.go b/pkg/base_info/group_api_struct.go index dec18fc0b..b6db4dcc2 100644 --- a/pkg/base_info/group_api_struct.go +++ b/pkg/base_info/group_api_struct.go @@ -103,6 +103,16 @@ type GetGroupApplicationListResp struct { Data []map[string]interface{} `json:"data"` } +type GetUserReqGroupApplicationListReq struct { + OperationID string `json:"operationID" binding:"required"` + UserID string `json:"userID" binding:"required"` +} + +type GetUserRespGroupApplicationResp struct { + CommResp + GroupRequestList []*open_im_sdk.GroupRequest `json:"-"` +} + type GetGroupInfoReq struct { GroupIDList []string `json:"groupIDList" binding:"required"` OperationID string `json:"operationID" binding:"required"` 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 f4684f9a4..e2d6a1db2 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 @@ -225,6 +225,7 @@ func IsGroupOwnerAdmin(groupID, UserID string) bool { return false } + // //func SelectGroupList(groupID string) ([]string, error) { // var groupUserID string 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 9b7c2dd2c..745ad0034 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 @@ -117,6 +117,18 @@ func GetGroupApplicationList(userID string) ([]db.GroupRequest, error) { return groupRequestList, nil } +func GetUserReqGroupByUserID(userID string) ([]db.GroupRequest, error) { + var groupRequestList []db.GroupRequest + dbConn, err := db.DB.MysqlDB.DefaultGormDB() + if err != nil { + return nil, err + } + dbConn.LogMode(true) + err = dbConn.Table("group_requests").Where("user_id=?", userID).Find(&groupRequestList).Error + return groupRequestList, err +} + + // //func GroupApplicationResponse(pb *group.GroupApplicationResponseReq) (*group.CommonResp, error) { // diff --git a/pkg/proto/group/group.pb.go b/pkg/proto/group/group.pb.go index 15741944a..352023544 100644 --- a/pkg/proto/group/group.pb.go +++ b/pkg/proto/group/group.pb.go @@ -1,1771 +1,3023 @@ // 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 // import "./group" - -import proto "github.com/golang/protobuf/proto" -import fmt "fmt" -import math "math" -import sdk_ws "Open_IM/pkg/proto/sdk_ws" +package group import ( - context "golang.org/x/net/context" + sdk_ws "Open_IM/pkg/proto/sdk_ws" + context "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" ) -// 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 +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) +) 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:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -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_a130b5186d308ee6, []int{0} -} -func (m *CommonResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_CommonResp.Unmarshal(m, b) + 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 *CommonResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_CommonResp.Marshal(b, m, deterministic) -} -func (dst *CommonResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_CommonResp.Merge(dst, src) + +func (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) XXX_Size() int { - return xxx_messageInfo_CommonResp.Size(m) + +func (x *CommonResp) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *CommonResp) XXX_DiscardUnknown() { - xxx_messageInfo_CommonResp.DiscardUnknown(m) + +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) } -var xxx_messageInfo_CommonResp proto.InternalMessageInfo +// Deprecated: Use CommonResp.ProtoReflect.Descriptor instead. +func (*CommonResp) Descriptor() ([]byte, []int) { + return file_group_group_proto_rawDescGZIP(), []int{0} +} -func (m *CommonResp) GetErrCode() int32 { - if m != nil { - return m.ErrCode +func (x *CommonResp) GetErrCode() int32 { + if x != nil { + return x.ErrCode } return 0 } -func (m *CommonResp) GetErrMsg() string { - if m != nil { - return m.ErrMsg +func (x *CommonResp) GetErrMsg() string { + if x != nil { + return x.ErrMsg } return "" } type GroupAddMemberInfo struct { - 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:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -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_a130b5186d308ee6, []int{1} + UserID string `protobuf:"bytes,1,opt,name=UserID,proto3" json:"UserID,omitempty"` + RoleLevel int32 `protobuf:"varint,2,opt,name=RoleLevel,proto3" json:"RoleLevel,omitempty"` } -func (m *GroupAddMemberInfo) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GroupAddMemberInfo.Unmarshal(m, b) -} -func (m *GroupAddMemberInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GroupAddMemberInfo.Marshal(b, m, deterministic) -} -func (dst *GroupAddMemberInfo) XXX_Merge(src proto.Message) { - xxx_messageInfo_GroupAddMemberInfo.Merge(dst, src) + +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) XXX_Size() int { - return xxx_messageInfo_GroupAddMemberInfo.Size(m) + +func (x *GroupAddMemberInfo) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *GroupAddMemberInfo) XXX_DiscardUnknown() { - xxx_messageInfo_GroupAddMemberInfo.DiscardUnknown(m) + +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) } -var xxx_messageInfo_GroupAddMemberInfo proto.InternalMessageInfo +// Deprecated: Use GroupAddMemberInfo.ProtoReflect.Descriptor instead. +func (*GroupAddMemberInfo) Descriptor() ([]byte, []int) { + return file_group_group_proto_rawDescGZIP(), []int{1} +} -func (m *GroupAddMemberInfo) GetUserID() string { - if m != nil { - return m.UserID +func (x *GroupAddMemberInfo) GetUserID() string { + if x != nil { + return x.UserID } return "" } -func (m *GroupAddMemberInfo) GetRoleLevel() int32 { - if m != nil { - return m.RoleLevel +func (x *GroupAddMemberInfo) GetRoleLevel() int32 { + if x != nil { + return x.RoleLevel } return 0 } type CreateGroupReq struct { - 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_a130b5186d308ee6, []int{2} -} -func (m *CreateGroupReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_CreateGroupReq.Unmarshal(m, b) -} -func (m *CreateGroupReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_CreateGroupReq.Marshal(b, m, deterministic) + 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 } -func (dst *CreateGroupReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_CreateGroupReq.Merge(dst, src) + +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_Size() int { - return xxx_messageInfo_CreateGroupReq.Size(m) + +func (x *CreateGroupReq) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *CreateGroupReq) XXX_DiscardUnknown() { - xxx_messageInfo_CreateGroupReq.DiscardUnknown(m) + +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) } -var xxx_messageInfo_CreateGroupReq proto.InternalMessageInfo +// Deprecated: Use CreateGroupReq.ProtoReflect.Descriptor instead. +func (*CreateGroupReq) Descriptor() ([]byte, []int) { + return file_group_group_proto_rawDescGZIP(), []int{2} +} -func (m *CreateGroupReq) GetInitMemberList() []*GroupAddMemberInfo { - if m != nil { - return m.InitMemberList +func (x *CreateGroupReq) GetInitMemberList() []*GroupAddMemberInfo { + if x != nil { + return x.InitMemberList } return nil } -func (m *CreateGroupReq) GetGroupInfo() *sdk_ws.GroupInfo { - if m != nil { - return m.GroupInfo +func (x *CreateGroupReq) GetGroupInfo() *sdk_ws.GroupInfo { + if x != nil { + return x.GroupInfo } return nil } -func (m *CreateGroupReq) GetOperationID() string { - if m != nil { - return m.OperationID +func (x *CreateGroupReq) GetOperationID() string { + if x != nil { + return x.OperationID } return "" } -func (m *CreateGroupReq) GetOpUserID() string { - if m != nil { - return m.OpUserID +func (x *CreateGroupReq) GetOpUserID() string { + if x != nil { + return x.OpUserID } return "" } -func (m *CreateGroupReq) GetOwnerUserID() string { - if m != nil { - return m.OwnerUserID +func (x *CreateGroupReq) GetOwnerUserID() string { + if x != nil { + return x.OwnerUserID } return "" } type CreateGroupResp struct { - 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:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -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_a130b5186d308ee6, []int{3} -} -func (m *CreateGroupResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_CreateGroupResp.Unmarshal(m, b) -} -func (m *CreateGroupResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_CreateGroupResp.Marshal(b, m, deterministic) + 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"` } -func (dst *CreateGroupResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_CreateGroupResp.Merge(dst, src) + +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) XXX_Size() int { - return xxx_messageInfo_CreateGroupResp.Size(m) + +func (x *CreateGroupResp) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *CreateGroupResp) XXX_DiscardUnknown() { - xxx_messageInfo_CreateGroupResp.DiscardUnknown(m) + +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) } -var xxx_messageInfo_CreateGroupResp proto.InternalMessageInfo +// Deprecated: Use CreateGroupResp.ProtoReflect.Descriptor instead. +func (*CreateGroupResp) Descriptor() ([]byte, []int) { + return file_group_group_proto_rawDescGZIP(), []int{3} +} -func (m *CreateGroupResp) GetErrCode() int32 { - if m != nil { - return m.ErrCode +func (x *CreateGroupResp) GetErrCode() int32 { + if x != nil { + return x.ErrCode } return 0 } -func (m *CreateGroupResp) GetErrMsg() string { - if m != nil { - return m.ErrMsg +func (x *CreateGroupResp) GetErrMsg() string { + if x != nil { + return x.ErrMsg } return "" } -func (m *CreateGroupResp) GetGroupInfo() *sdk_ws.GroupInfo { - if m != nil { - return m.GroupInfo +func (x *CreateGroupResp) GetGroupInfo() *sdk_ws.GroupInfo { + if x != nil { + return x.GroupInfo } return nil } type GetGroupsInfoReq struct { - 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:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -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_a130b5186d308ee6, []int{4} -} -func (m *GetGroupsInfoReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetGroupsInfoReq.Unmarshal(m, b) + 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 } -func (m *GetGroupsInfoReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetGroupsInfoReq.Marshal(b, m, deterministic) -} -func (dst *GetGroupsInfoReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetGroupsInfoReq.Merge(dst, src) + +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) XXX_Size() int { - return xxx_messageInfo_GetGroupsInfoReq.Size(m) + +func (x *GetGroupsInfoReq) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *GetGroupsInfoReq) XXX_DiscardUnknown() { - xxx_messageInfo_GetGroupsInfoReq.DiscardUnknown(m) + +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) } -var xxx_messageInfo_GetGroupsInfoReq proto.InternalMessageInfo +// Deprecated: Use GetGroupsInfoReq.ProtoReflect.Descriptor instead. +func (*GetGroupsInfoReq) Descriptor() ([]byte, []int) { + return file_group_group_proto_rawDescGZIP(), []int{4} +} -func (m *GetGroupsInfoReq) GetGroupIDList() []string { - if m != nil { - return m.GroupIDList +func (x *GetGroupsInfoReq) GetGroupIDList() []string { + if x != nil { + return x.GroupIDList } return nil } -func (m *GetGroupsInfoReq) GetOperationID() string { - if m != nil { - return m.OperationID +func (x *GetGroupsInfoReq) GetOperationID() string { + if x != nil { + return x.OperationID } return "" } -func (m *GetGroupsInfoReq) GetOpUserID() string { - if m != nil { - return m.OpUserID +func (x *GetGroupsInfoReq) GetOpUserID() string { + if x != nil { + return x.OpUserID } return "" } type GetGroupsInfoResp struct { - 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:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -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_a130b5186d308ee6, []int{5} + 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"` } -func (m *GetGroupsInfoResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetGroupsInfoResp.Unmarshal(m, b) -} -func (m *GetGroupsInfoResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetGroupsInfoResp.Marshal(b, m, deterministic) -} -func (dst *GetGroupsInfoResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetGroupsInfoResp.Merge(dst, src) + +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) XXX_Size() int { - return xxx_messageInfo_GetGroupsInfoResp.Size(m) + +func (x *GetGroupsInfoResp) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *GetGroupsInfoResp) XXX_DiscardUnknown() { - xxx_messageInfo_GetGroupsInfoResp.DiscardUnknown(m) + +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) } -var xxx_messageInfo_GetGroupsInfoResp proto.InternalMessageInfo +// Deprecated: Use GetGroupsInfoResp.ProtoReflect.Descriptor instead. +func (*GetGroupsInfoResp) Descriptor() ([]byte, []int) { + return file_group_group_proto_rawDescGZIP(), []int{5} +} -func (m *GetGroupsInfoResp) GetErrCode() int32 { - if m != nil { - return m.ErrCode +func (x *GetGroupsInfoResp) GetErrCode() int32 { + if x != nil { + return x.ErrCode } return 0 } -func (m *GetGroupsInfoResp) GetErrMsg() string { - if m != nil { - return m.ErrMsg +func (x *GetGroupsInfoResp) GetErrMsg() string { + if x != nil { + return x.ErrMsg } return "" } -func (m *GetGroupsInfoResp) GetGroupInfoList() []*sdk_ws.GroupInfo { - if m != nil { - return m.GroupInfoList +func (x *GetGroupsInfoResp) GetGroupInfoList() []*sdk_ws.GroupInfo { + if x != nil { + return x.GroupInfoList } return nil } type SetGroupInfoReq struct { - GroupInfo *sdk_ws.GroupInfo `protobuf:"bytes,1,opt,name=GroupInfo" json:"GroupInfo,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:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -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_a130b5186d308ee6, []int{6} -} -func (m *SetGroupInfoReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SetGroupInfoReq.Unmarshal(m, b) -} -func (m *SetGroupInfoReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SetGroupInfoReq.Marshal(b, m, deterministic) + GroupInfo *sdk_ws.GroupInfo `protobuf:"bytes,1,opt,name=GroupInfo,proto3" json:"GroupInfo,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"` } -func (dst *SetGroupInfoReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_SetGroupInfoReq.Merge(dst, src) + +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) XXX_Size() int { - return xxx_messageInfo_SetGroupInfoReq.Size(m) + +func (x *SetGroupInfoReq) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *SetGroupInfoReq) XXX_DiscardUnknown() { - xxx_messageInfo_SetGroupInfoReq.DiscardUnknown(m) + +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) } -var xxx_messageInfo_SetGroupInfoReq proto.InternalMessageInfo +// Deprecated: Use SetGroupInfoReq.ProtoReflect.Descriptor instead. +func (*SetGroupInfoReq) Descriptor() ([]byte, []int) { + return file_group_group_proto_rawDescGZIP(), []int{6} +} -func (m *SetGroupInfoReq) GetGroupInfo() *sdk_ws.GroupInfo { - if m != nil { - return m.GroupInfo +func (x *SetGroupInfoReq) GetGroupInfo() *sdk_ws.GroupInfo { + if x != nil { + return x.GroupInfo } return nil } -func (m *SetGroupInfoReq) GetOpUserID() string { - if m != nil { - return m.OpUserID +func (x *SetGroupInfoReq) GetOpUserID() string { + if x != nil { + return x.OpUserID } return "" } -func (m *SetGroupInfoReq) GetOperationID() string { - if m != nil { - return m.OperationID +func (x *SetGroupInfoReq) GetOperationID() string { + if x != nil { + return x.OperationID } return "" } type SetGroupInfoResp struct { - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp" json:"CommonResp,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -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_a130b5186d308ee6, []int{7} -} -func (m *SetGroupInfoResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SetGroupInfoResp.Unmarshal(m, b) + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp,proto3" json:"CommonResp,omitempty"` } -func (m *SetGroupInfoResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SetGroupInfoResp.Marshal(b, m, deterministic) -} -func (dst *SetGroupInfoResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_SetGroupInfoResp.Merge(dst, src) + +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) XXX_Size() int { - return xxx_messageInfo_SetGroupInfoResp.Size(m) + +func (x *SetGroupInfoResp) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *SetGroupInfoResp) XXX_DiscardUnknown() { - xxx_messageInfo_SetGroupInfoResp.DiscardUnknown(m) + +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) } -var xxx_messageInfo_SetGroupInfoResp proto.InternalMessageInfo +// Deprecated: Use SetGroupInfoResp.ProtoReflect.Descriptor instead. +func (*SetGroupInfoResp) Descriptor() ([]byte, []int) { + return file_group_group_proto_rawDescGZIP(), []int{7} +} -func (m *SetGroupInfoResp) GetCommonResp() *CommonResp { - if m != nil { - return m.CommonResp +func (x *SetGroupInfoResp) GetCommonResp() *CommonResp { + if x != nil { + return x.CommonResp } return nil } type GetGroupApplicationListReq struct { - 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:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -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_a130b5186d308ee6, []int{8} + 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 } -func (m *GetGroupApplicationListReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetGroupApplicationListReq.Unmarshal(m, b) -} -func (m *GetGroupApplicationListReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetGroupApplicationListReq.Marshal(b, m, deterministic) -} -func (dst *GetGroupApplicationListReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetGroupApplicationListReq.Merge(dst, src) + +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) XXX_Size() int { - return xxx_messageInfo_GetGroupApplicationListReq.Size(m) + +func (x *GetGroupApplicationListReq) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *GetGroupApplicationListReq) XXX_DiscardUnknown() { - xxx_messageInfo_GetGroupApplicationListReq.DiscardUnknown(m) + +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) } -var xxx_messageInfo_GetGroupApplicationListReq proto.InternalMessageInfo +// Deprecated: Use GetGroupApplicationListReq.ProtoReflect.Descriptor instead. +func (*GetGroupApplicationListReq) Descriptor() ([]byte, []int) { + return file_group_group_proto_rawDescGZIP(), []int{8} +} -func (m *GetGroupApplicationListReq) GetOpUserID() string { - if m != nil { - return m.OpUserID +func (x *GetGroupApplicationListReq) GetOpUserID() string { + if x != nil { + return x.OpUserID } return "" } -func (m *GetGroupApplicationListReq) GetOperationID() string { - if m != nil { - return m.OperationID +func (x *GetGroupApplicationListReq) GetOperationID() string { + if x != nil { + return x.OperationID } return "" } -func (m *GetGroupApplicationListReq) GetFromUserID() string { - if m != nil { - return m.FromUserID +func (x *GetGroupApplicationListReq) GetFromUserID() string { + if x != nil { + return x.FromUserID } return "" } type GetGroupApplicationListResp struct { - 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:"-"` + 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"` +} + +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 (x *GetGroupApplicationListResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +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) +} + +// Deprecated: Use GetGroupApplicationListResp.ProtoReflect.Descriptor instead. func (*GetGroupApplicationListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_a130b5186d308ee6, []int{9} + return file_group_group_proto_rawDescGZIP(), []int{9} } -func (m *GetGroupApplicationListResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetGroupApplicationListResp.Unmarshal(m, b) + +func (x *GetGroupApplicationListResp) GetErrCode() int32 { + if x != nil { + return x.ErrCode + } + return 0 } -func (m *GetGroupApplicationListResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetGroupApplicationListResp.Marshal(b, m, deterministic) + +func (x *GetGroupApplicationListResp) GetErrMsg() string { + if x != nil { + return x.ErrMsg + } + return "" } -func (dst *GetGroupApplicationListResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetGroupApplicationListResp.Merge(dst, src) + +func (x *GetGroupApplicationListResp) GetGroupRequestList() []*sdk_ws.GroupRequest { + if x != nil { + return x.GroupRequestList + } + return nil } -func (m *GetGroupApplicationListResp) XXX_Size() int { - return xxx_messageInfo_GetGroupApplicationListResp.Size(m) + +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"` } -func (m *GetGroupApplicationListResp) XXX_DiscardUnknown() { - xxx_messageInfo_GetGroupApplicationListResp.DiscardUnknown(m) + +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) + } } -var xxx_messageInfo_GetGroupApplicationListResp proto.InternalMessageInfo +func (x *GetUserReqApplicationListReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetUserReqApplicationListReq) ProtoMessage() {} -func (m *GetGroupApplicationListResp) GetErrCode() int32 { - if m != nil { - return m.ErrCode +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 0 + return mi.MessageOf(x) } -func (m *GetGroupApplicationListResp) GetErrMsg() string { - if m != nil { - return m.ErrMsg +// Deprecated: Use GetUserReqApplicationListReq.ProtoReflect.Descriptor instead. +func (*GetUserReqApplicationListReq) Descriptor() ([]byte, []int) { + return file_group_group_proto_rawDescGZIP(), []int{10} +} + +func (x *GetUserReqApplicationListReq) GetUserID() string { + if x != nil { + return x.UserID } return "" } -func (m *GetGroupApplicationListResp) GetGroupRequestList() []*sdk_ws.GroupRequest { - if m != nil { - return m.GroupRequestList +func (x *GetUserReqApplicationListReq) GetOpUserID() string { + if x != nil { + return x.OpUserID } - return nil + return "" } -type TransferGroupOwnerReq struct { - 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_a130b5186d308ee6, []int{10} +func (x *GetUserReqApplicationListReq) GetOperationID() string { + if x != nil { + return x.OperationID + } + return "" } -func (m *TransferGroupOwnerReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_TransferGroupOwnerReq.Unmarshal(m, b) + +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"` } -func (m *TransferGroupOwnerReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_TransferGroupOwnerReq.Marshal(b, m, deterministic) + +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 (dst *TransferGroupOwnerReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_TransferGroupOwnerReq.Merge(dst, src) + +func (x *GetUserReqApplicationListResp) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *TransferGroupOwnerReq) XXX_Size() int { - return xxx_messageInfo_TransferGroupOwnerReq.Size(m) + +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) +} + +// Deprecated: Use GetUserReqApplicationListResp.ProtoReflect.Descriptor instead. +func (*GetUserReqApplicationListResp) Descriptor() ([]byte, []int) { + return file_group_group_proto_rawDescGZIP(), []int{11} +} + +func (x *GetUserReqApplicationListResp) GetCommonResp() *CommonResp { + if x != nil { + return x.CommonResp + } + return nil } -func (m *TransferGroupOwnerReq) XXX_DiscardUnknown() { - xxx_messageInfo_TransferGroupOwnerReq.DiscardUnknown(m) + +func (x *GetUserReqApplicationListResp) GetGroupRequestList() []*sdk_ws.GroupRequest { + if x != nil { + return x.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 +} + +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 (x *TransferGroupOwnerReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +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) } -var xxx_messageInfo_TransferGroupOwnerReq proto.InternalMessageInfo +// Deprecated: Use TransferGroupOwnerReq.ProtoReflect.Descriptor instead. +func (*TransferGroupOwnerReq) Descriptor() ([]byte, []int) { + return file_group_group_proto_rawDescGZIP(), []int{12} +} -func (m *TransferGroupOwnerReq) GetGroupID() string { - if m != nil { - return m.GroupID +func (x *TransferGroupOwnerReq) GetGroupID() string { + if x != nil { + return x.GroupID } return "" } -func (m *TransferGroupOwnerReq) GetOldOwnerUserID() string { - if m != nil { - return m.OldOwnerUserID +func (x *TransferGroupOwnerReq) GetOldOwnerUserID() string { + if x != nil { + return x.OldOwnerUserID } return "" } -func (m *TransferGroupOwnerReq) GetNewOwnerUserID() string { - if m != nil { - return m.NewOwnerUserID +func (x *TransferGroupOwnerReq) GetNewOwnerUserID() string { + if x != nil { + return x.NewOwnerUserID } return "" } -func (m *TransferGroupOwnerReq) GetOperationID() string { - if m != nil { - return m.OperationID +func (x *TransferGroupOwnerReq) GetOperationID() string { + if x != nil { + return x.OperationID } return "" } -func (m *TransferGroupOwnerReq) GetOpUserID() string { - if m != nil { - return m.OpUserID +func (x *TransferGroupOwnerReq) GetOpUserID() string { + if x != nil { + return x.OpUserID } return "" } type TransferGroupOwnerResp struct { - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp" json:"CommonResp,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -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_a130b5186d308ee6, []int{11} -} -func (m *TransferGroupOwnerResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_TransferGroupOwnerResp.Unmarshal(m, b) -} -func (m *TransferGroupOwnerResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_TransferGroupOwnerResp.Marshal(b, m, deterministic) + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp,proto3" json:"CommonResp,omitempty"` } -func (dst *TransferGroupOwnerResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_TransferGroupOwnerResp.Merge(dst, src) + +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) XXX_Size() int { - return xxx_messageInfo_TransferGroupOwnerResp.Size(m) + +func (x *TransferGroupOwnerResp) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *TransferGroupOwnerResp) XXX_DiscardUnknown() { - xxx_messageInfo_TransferGroupOwnerResp.DiscardUnknown(m) + +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) } -var xxx_messageInfo_TransferGroupOwnerResp proto.InternalMessageInfo +// Deprecated: Use TransferGroupOwnerResp.ProtoReflect.Descriptor instead. +func (*TransferGroupOwnerResp) Descriptor() ([]byte, []int) { + return file_group_group_proto_rawDescGZIP(), []int{13} +} -func (m *TransferGroupOwnerResp) GetCommonResp() *CommonResp { - if m != nil { - return m.CommonResp +func (x *TransferGroupOwnerResp) GetCommonResp() *CommonResp { + if x != nil { + return x.CommonResp } return nil } type JoinGroupReq struct { - 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"` - 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_a130b5186d308ee6, []int{12} -} -func (m *JoinGroupReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_JoinGroupReq.Unmarshal(m, b) -} -func (m *JoinGroupReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_JoinGroupReq.Marshal(b, m, deterministic) + 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"` } -func (dst *JoinGroupReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_JoinGroupReq.Merge(dst, src) + +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_Size() int { - return xxx_messageInfo_JoinGroupReq.Size(m) + +func (x *JoinGroupReq) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *JoinGroupReq) XXX_DiscardUnknown() { - xxx_messageInfo_JoinGroupReq.DiscardUnknown(m) + +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) } -var xxx_messageInfo_JoinGroupReq proto.InternalMessageInfo +// Deprecated: Use JoinGroupReq.ProtoReflect.Descriptor instead. +func (*JoinGroupReq) Descriptor() ([]byte, []int) { + return file_group_group_proto_rawDescGZIP(), []int{14} +} -func (m *JoinGroupReq) GetGroupID() string { - if m != nil { - return m.GroupID +func (x *JoinGroupReq) GetGroupID() string { + if x != nil { + return x.GroupID } return "" } -func (m *JoinGroupReq) GetReqMessage() string { - if m != nil { - return m.ReqMessage +func (x *JoinGroupReq) GetReqMessage() string { + if x != nil { + return x.ReqMessage } return "" } -func (m *JoinGroupReq) GetOpUserID() string { - if m != nil { - return m.OpUserID +func (x *JoinGroupReq) GetOpUserID() string { + if x != nil { + return x.OpUserID } return "" } -func (m *JoinGroupReq) GetOperationID() string { - if m != nil { - return m.OperationID +func (x *JoinGroupReq) GetOperationID() string { + if x != nil { + return x.OperationID } return "" } type JoinGroupResp struct { - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp" json:"CommonResp,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -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_a130b5186d308ee6, []int{13} -} -func (m *JoinGroupResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_JoinGroupResp.Unmarshal(m, b) + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp,proto3" json:"CommonResp,omitempty"` } -func (m *JoinGroupResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_JoinGroupResp.Marshal(b, m, deterministic) -} -func (dst *JoinGroupResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_JoinGroupResp.Merge(dst, src) + +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) XXX_Size() int { - return xxx_messageInfo_JoinGroupResp.Size(m) + +func (x *JoinGroupResp) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *JoinGroupResp) XXX_DiscardUnknown() { - xxx_messageInfo_JoinGroupResp.DiscardUnknown(m) + +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) } -var xxx_messageInfo_JoinGroupResp proto.InternalMessageInfo +// Deprecated: Use JoinGroupResp.ProtoReflect.Descriptor instead. +func (*JoinGroupResp) Descriptor() ([]byte, []int) { + return file_group_group_proto_rawDescGZIP(), []int{15} +} -func (m *JoinGroupResp) GetCommonResp() *CommonResp { - if m != nil { - return m.CommonResp +func (x *JoinGroupResp) GetCommonResp() *CommonResp { + if x != nil { + return x.CommonResp } return nil } type GroupApplicationResponseReq struct { - 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_a130b5186d308ee6, []int{14} -} -func (m *GroupApplicationResponseReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GroupApplicationResponseReq.Unmarshal(m, b) -} -func (m *GroupApplicationResponseReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GroupApplicationResponseReq.Marshal(b, m, deterministic) + 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"` } -func (dst *GroupApplicationResponseReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_GroupApplicationResponseReq.Merge(dst, src) + +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_Size() int { - return xxx_messageInfo_GroupApplicationResponseReq.Size(m) + +func (x *GroupApplicationResponseReq) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *GroupApplicationResponseReq) XXX_DiscardUnknown() { - xxx_messageInfo_GroupApplicationResponseReq.DiscardUnknown(m) + +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) } -var xxx_messageInfo_GroupApplicationResponseReq proto.InternalMessageInfo +// Deprecated: Use GroupApplicationResponseReq.ProtoReflect.Descriptor instead. +func (*GroupApplicationResponseReq) Descriptor() ([]byte, []int) { + return file_group_group_proto_rawDescGZIP(), []int{16} +} -func (m *GroupApplicationResponseReq) GetOperationID() string { - if m != nil { - return m.OperationID +func (x *GroupApplicationResponseReq) GetOperationID() string { + if x != nil { + return x.OperationID } return "" } -func (m *GroupApplicationResponseReq) GetOpUserID() string { - if m != nil { - return m.OpUserID +func (x *GroupApplicationResponseReq) GetOpUserID() string { + if x != nil { + return x.OpUserID } return "" } -func (m *GroupApplicationResponseReq) GetGroupID() string { - if m != nil { - return m.GroupID +func (x *GroupApplicationResponseReq) GetGroupID() string { + if x != nil { + return x.GroupID } return "" } -func (m *GroupApplicationResponseReq) GetFromUserID() string { - if m != nil { - return m.FromUserID +func (x *GroupApplicationResponseReq) GetFromUserID() string { + if x != nil { + return x.FromUserID } return "" } -func (m *GroupApplicationResponseReq) GetHandledMsg() string { - if m != nil { - return m.HandledMsg +func (x *GroupApplicationResponseReq) GetHandledMsg() string { + if x != nil { + return x.HandledMsg } return "" } -func (m *GroupApplicationResponseReq) GetHandleResult() int32 { - if m != nil { - return m.HandleResult +func (x *GroupApplicationResponseReq) GetHandleResult() int32 { + if x != nil { + return x.HandleResult } return 0 } type GroupApplicationResponseResp struct { - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp" json:"CommonResp,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -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_a130b5186d308ee6, []int{15} -} -func (m *GroupApplicationResponseResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GroupApplicationResponseResp.Unmarshal(m, b) + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp,proto3" json:"CommonResp,omitempty"` } -func (m *GroupApplicationResponseResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GroupApplicationResponseResp.Marshal(b, m, deterministic) -} -func (dst *GroupApplicationResponseResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_GroupApplicationResponseResp.Merge(dst, src) + +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) XXX_Size() int { - return xxx_messageInfo_GroupApplicationResponseResp.Size(m) + +func (x *GroupApplicationResponseResp) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *GroupApplicationResponseResp) XXX_DiscardUnknown() { - xxx_messageInfo_GroupApplicationResponseResp.DiscardUnknown(m) + +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) } -var xxx_messageInfo_GroupApplicationResponseResp proto.InternalMessageInfo +// Deprecated: Use GroupApplicationResponseResp.ProtoReflect.Descriptor instead. +func (*GroupApplicationResponseResp) Descriptor() ([]byte, []int) { + return file_group_group_proto_rawDescGZIP(), []int{17} +} -func (m *GroupApplicationResponseResp) GetCommonResp() *CommonResp { - if m != nil { - return m.CommonResp +func (x *GroupApplicationResponseResp) GetCommonResp() *CommonResp { + if x != nil { + return x.CommonResp } return nil } type QuitGroupReq struct { - 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:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -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_a130b5186d308ee6, []int{16} + 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"` } -func (m *QuitGroupReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_QuitGroupReq.Unmarshal(m, b) -} -func (m *QuitGroupReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_QuitGroupReq.Marshal(b, m, deterministic) -} -func (dst *QuitGroupReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_QuitGroupReq.Merge(dst, src) + +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) XXX_Size() int { - return xxx_messageInfo_QuitGroupReq.Size(m) + +func (x *QuitGroupReq) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *QuitGroupReq) XXX_DiscardUnknown() { - xxx_messageInfo_QuitGroupReq.DiscardUnknown(m) + +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) } -var xxx_messageInfo_QuitGroupReq proto.InternalMessageInfo +// Deprecated: Use QuitGroupReq.ProtoReflect.Descriptor instead. +func (*QuitGroupReq) Descriptor() ([]byte, []int) { + return file_group_group_proto_rawDescGZIP(), []int{18} +} -func (m *QuitGroupReq) GetGroupID() string { - if m != nil { - return m.GroupID +func (x *QuitGroupReq) GetGroupID() string { + if x != nil { + return x.GroupID } return "" } -func (m *QuitGroupReq) GetOperationID() string { - if m != nil { - return m.OperationID +func (x *QuitGroupReq) GetOperationID() string { + if x != nil { + return x.OperationID } return "" } -func (m *QuitGroupReq) GetOpUserID() string { - if m != nil { - return m.OpUserID +func (x *QuitGroupReq) GetOpUserID() string { + if x != nil { + return x.OpUserID } return "" } type QuitGroupResp struct { - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp" json:"CommonResp,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -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_a130b5186d308ee6, []int{17} -} -func (m *QuitGroupResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_QuitGroupResp.Unmarshal(m, b) -} -func (m *QuitGroupResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_QuitGroupResp.Marshal(b, m, deterministic) + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp,proto3" json:"CommonResp,omitempty"` } -func (dst *QuitGroupResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_QuitGroupResp.Merge(dst, src) + +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) XXX_Size() int { - return xxx_messageInfo_QuitGroupResp.Size(m) + +func (x *QuitGroupResp) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *QuitGroupResp) XXX_DiscardUnknown() { - xxx_messageInfo_QuitGroupResp.DiscardUnknown(m) + +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) } -var xxx_messageInfo_QuitGroupResp proto.InternalMessageInfo +// Deprecated: Use QuitGroupResp.ProtoReflect.Descriptor instead. +func (*QuitGroupResp) Descriptor() ([]byte, []int) { + return file_group_group_proto_rawDescGZIP(), []int{19} +} -func (m *QuitGroupResp) GetCommonResp() *CommonResp { - if m != nil { - return m.CommonResp +func (x *QuitGroupResp) GetCommonResp() *CommonResp { + if x != nil { + return x.CommonResp } return nil } type GetGroupMemberListReq 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"` - 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_a130b5186d308ee6, []int{18} -} -func (m *GetGroupMemberListReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetGroupMemberListReq.Unmarshal(m, b) -} -func (m *GetGroupMemberListReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetGroupMemberListReq.Marshal(b, m, deterministic) + 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"` } -func (dst *GetGroupMemberListReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetGroupMemberListReq.Merge(dst, src) + +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_Size() int { - return xxx_messageInfo_GetGroupMemberListReq.Size(m) + +func (x *GetGroupMemberListReq) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *GetGroupMemberListReq) XXX_DiscardUnknown() { - xxx_messageInfo_GetGroupMemberListReq.DiscardUnknown(m) + +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) } -var xxx_messageInfo_GetGroupMemberListReq proto.InternalMessageInfo +// Deprecated: Use GetGroupMemberListReq.ProtoReflect.Descriptor instead. +func (*GetGroupMemberListReq) Descriptor() ([]byte, []int) { + return file_group_group_proto_rawDescGZIP(), []int{20} +} -func (m *GetGroupMemberListReq) GetGroupID() string { - if m != nil { - return m.GroupID +func (x *GetGroupMemberListReq) GetGroupID() string { + if x != nil { + return x.GroupID } return "" } -func (m *GetGroupMemberListReq) GetOpUserID() string { - if m != nil { - return m.OpUserID +func (x *GetGroupMemberListReq) GetOpUserID() string { + if x != nil { + return x.OpUserID } return "" } -func (m *GetGroupMemberListReq) GetOperationID() string { - if m != nil { - return m.OperationID +func (x *GetGroupMemberListReq) GetOperationID() string { + if x != nil { + return x.OperationID } return "" } -func (m *GetGroupMemberListReq) GetFilter() int32 { - if m != nil { - return m.Filter +func (x *GetGroupMemberListReq) GetFilter() int32 { + if x != nil { + return x.Filter } return 0 } -func (m *GetGroupMemberListReq) GetNextSeq() int32 { - if m != nil { - return m.NextSeq +func (x *GetGroupMemberListReq) GetNextSeq() int32 { + if x != nil { + return x.NextSeq } return 0 } type GetGroupMemberListResp struct { - 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_a130b5186d308ee6, []int{19} -} -func (m *GetGroupMemberListResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetGroupMemberListResp.Unmarshal(m, b) -} -func (m *GetGroupMemberListResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetGroupMemberListResp.Marshal(b, m, deterministic) + 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"` } -func (dst *GetGroupMemberListResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetGroupMemberListResp.Merge(dst, src) + +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_Size() int { - return xxx_messageInfo_GetGroupMemberListResp.Size(m) + +func (x *GetGroupMemberListResp) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *GetGroupMemberListResp) XXX_DiscardUnknown() { - xxx_messageInfo_GetGroupMemberListResp.DiscardUnknown(m) + +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) } -var xxx_messageInfo_GetGroupMemberListResp proto.InternalMessageInfo +// Deprecated: Use GetGroupMemberListResp.ProtoReflect.Descriptor instead. +func (*GetGroupMemberListResp) Descriptor() ([]byte, []int) { + return file_group_group_proto_rawDescGZIP(), []int{21} +} -func (m *GetGroupMemberListResp) GetErrCode() int32 { - if m != nil { - return m.ErrCode +func (x *GetGroupMemberListResp) GetErrCode() int32 { + if x != nil { + return x.ErrCode } return 0 } -func (m *GetGroupMemberListResp) GetErrMsg() string { - if m != nil { - return m.ErrMsg +func (x *GetGroupMemberListResp) GetErrMsg() string { + if x != nil { + return x.ErrMsg } return "" } -func (m *GetGroupMemberListResp) GetMemberList() []*sdk_ws.GroupMemberFullInfo { - if m != nil { - return m.MemberList +func (x *GetGroupMemberListResp) GetMemberList() []*sdk_ws.GroupMemberFullInfo { + if x != nil { + return x.MemberList } return nil } -func (m *GetGroupMemberListResp) GetNextSeq() int32 { - if m != nil { - return m.NextSeq +func (x *GetGroupMemberListResp) GetNextSeq() int32 { + if x != nil { + return x.NextSeq } return 0 } type GetGroupMembersInfoReq struct { - 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_a130b5186d308ee6, []int{20} -} -func (m *GetGroupMembersInfoReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetGroupMembersInfoReq.Unmarshal(m, b) -} -func (m *GetGroupMembersInfoReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetGroupMembersInfoReq.Marshal(b, m, deterministic) + 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"` } -func (dst *GetGroupMembersInfoReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetGroupMembersInfoReq.Merge(dst, src) + +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_Size() int { - return xxx_messageInfo_GetGroupMembersInfoReq.Size(m) + +func (x *GetGroupMembersInfoReq) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *GetGroupMembersInfoReq) XXX_DiscardUnknown() { - xxx_messageInfo_GetGroupMembersInfoReq.DiscardUnknown(m) + +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) } -var xxx_messageInfo_GetGroupMembersInfoReq proto.InternalMessageInfo +// Deprecated: Use GetGroupMembersInfoReq.ProtoReflect.Descriptor instead. +func (*GetGroupMembersInfoReq) Descriptor() ([]byte, []int) { + return file_group_group_proto_rawDescGZIP(), []int{22} +} -func (m *GetGroupMembersInfoReq) GetGroupID() string { - if m != nil { - return m.GroupID +func (x *GetGroupMembersInfoReq) GetGroupID() string { + if x != nil { + return x.GroupID } return "" } -func (m *GetGroupMembersInfoReq) GetMemberList() []string { - if m != nil { - return m.MemberList +func (x *GetGroupMembersInfoReq) GetMemberList() []string { + if x != nil { + return x.MemberList } return nil } -func (m *GetGroupMembersInfoReq) GetOpUserID() string { - if m != nil { - return m.OpUserID +func (x *GetGroupMembersInfoReq) GetOpUserID() string { + if x != nil { + return x.OpUserID } return "" } -func (m *GetGroupMembersInfoReq) GetOperationID() string { - if m != nil { - return m.OperationID +func (x *GetGroupMembersInfoReq) GetOperationID() string { + if x != nil { + return x.OperationID } return "" } 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"` - 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:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -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_a130b5186d308ee6, []int{21} -} -func (m *GetGroupMembersInfoResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetGroupMembersInfoResp.Unmarshal(m, b) -} -func (m *GetGroupMembersInfoResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetGroupMembersInfoResp.Marshal(b, m, deterministic) + 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"` } -func (dst *GetGroupMembersInfoResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetGroupMembersInfoResp.Merge(dst, src) + +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) XXX_Size() int { - return xxx_messageInfo_GetGroupMembersInfoResp.Size(m) + +func (x *GetGroupMembersInfoResp) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *GetGroupMembersInfoResp) XXX_DiscardUnknown() { - xxx_messageInfo_GetGroupMembersInfoResp.DiscardUnknown(m) + +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) } -var xxx_messageInfo_GetGroupMembersInfoResp proto.InternalMessageInfo +// Deprecated: Use GetGroupMembersInfoResp.ProtoReflect.Descriptor instead. +func (*GetGroupMembersInfoResp) Descriptor() ([]byte, []int) { + return file_group_group_proto_rawDescGZIP(), []int{23} +} -func (m *GetGroupMembersInfoResp) GetErrCode() int32 { - if m != nil { - return m.ErrCode +func (x *GetGroupMembersInfoResp) GetErrCode() int32 { + if x != nil { + return x.ErrCode } return 0 } -func (m *GetGroupMembersInfoResp) GetErrMsg() string { - if m != nil { - return m.ErrMsg +func (x *GetGroupMembersInfoResp) GetErrMsg() string { + if x != nil { + return x.ErrMsg } return "" } -func (m *GetGroupMembersInfoResp) GetMemberList() []*sdk_ws.GroupMemberFullInfo { - if m != nil { - return m.MemberList +func (x *GetGroupMembersInfoResp) GetMemberList() []*sdk_ws.GroupMemberFullInfo { + if x != nil { + return x.MemberList } return nil } type KickGroupMemberReq struct { - 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_a130b5186d308ee6, []int{22} -} -func (m *KickGroupMemberReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_KickGroupMemberReq.Unmarshal(m, b) -} -func (m *KickGroupMemberReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_KickGroupMemberReq.Marshal(b, m, deterministic) + 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 } -func (dst *KickGroupMemberReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_KickGroupMemberReq.Merge(dst, src) + +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_Size() int { - return xxx_messageInfo_KickGroupMemberReq.Size(m) + +func (x *KickGroupMemberReq) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *KickGroupMemberReq) XXX_DiscardUnknown() { - xxx_messageInfo_KickGroupMemberReq.DiscardUnknown(m) + +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) } -var xxx_messageInfo_KickGroupMemberReq proto.InternalMessageInfo +// Deprecated: Use KickGroupMemberReq.ProtoReflect.Descriptor instead. +func (*KickGroupMemberReq) Descriptor() ([]byte, []int) { + return file_group_group_proto_rawDescGZIP(), []int{24} +} -func (m *KickGroupMemberReq) GetGroupID() string { - if m != nil { - return m.GroupID +func (x *KickGroupMemberReq) GetGroupID() string { + if x != nil { + return x.GroupID } return "" } -func (m *KickGroupMemberReq) GetKickedUserIDList() []string { - if m != nil { - return m.KickedUserIDList +func (x *KickGroupMemberReq) GetKickedUserIDList() []string { + if x != nil { + return x.KickedUserIDList } return nil } -func (m *KickGroupMemberReq) GetReason() string { - if m != nil { - return m.Reason +func (x *KickGroupMemberReq) GetReason() string { + if x != nil { + return x.Reason } return "" } -func (m *KickGroupMemberReq) GetOperationID() string { - if m != nil { - return m.OperationID +func (x *KickGroupMemberReq) GetOperationID() string { + if x != nil { + return x.OperationID } return "" } -func (m *KickGroupMemberReq) GetOpUserID() string { - if m != nil { - return m.OpUserID +func (x *KickGroupMemberReq) GetOpUserID() string { + if x != nil { + return x.OpUserID } return "" } type Id2Result struct { - 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:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -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_a130b5186d308ee6, []int{23} -} -func (m *Id2Result) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_Id2Result.Unmarshal(m, b) + 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 } -func (m *Id2Result) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_Id2Result.Marshal(b, m, deterministic) -} -func (dst *Id2Result) XXX_Merge(src proto.Message) { - xxx_messageInfo_Id2Result.Merge(dst, src) + +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) XXX_Size() int { - return xxx_messageInfo_Id2Result.Size(m) + +func (x *Id2Result) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *Id2Result) XXX_DiscardUnknown() { - xxx_messageInfo_Id2Result.DiscardUnknown(m) + +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) } -var xxx_messageInfo_Id2Result proto.InternalMessageInfo +// Deprecated: Use Id2Result.ProtoReflect.Descriptor instead. +func (*Id2Result) Descriptor() ([]byte, []int) { + return file_group_group_proto_rawDescGZIP(), []int{25} +} -func (m *Id2Result) GetUserID() string { - if m != nil { - return m.UserID +func (x *Id2Result) GetUserID() string { + if x != nil { + return x.UserID } return "" } -func (m *Id2Result) GetResult() int32 { - if m != nil { - return m.Result +func (x *Id2Result) GetResult() int32 { + if x != nil { + return x.Result } return 0 } type KickGroupMemberResp struct { - 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:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -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_a130b5186d308ee6, []int{24} -} -func (m *KickGroupMemberResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_KickGroupMemberResp.Unmarshal(m, b) -} -func (m *KickGroupMemberResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_KickGroupMemberResp.Marshal(b, m, deterministic) + 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"` } -func (dst *KickGroupMemberResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_KickGroupMemberResp.Merge(dst, src) + +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) XXX_Size() int { - return xxx_messageInfo_KickGroupMemberResp.Size(m) + +func (x *KickGroupMemberResp) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *KickGroupMemberResp) XXX_DiscardUnknown() { - xxx_messageInfo_KickGroupMemberResp.DiscardUnknown(m) + +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) } -var xxx_messageInfo_KickGroupMemberResp proto.InternalMessageInfo +// Deprecated: Use KickGroupMemberResp.ProtoReflect.Descriptor instead. +func (*KickGroupMemberResp) Descriptor() ([]byte, []int) { + return file_group_group_proto_rawDescGZIP(), []int{26} +} -func (m *KickGroupMemberResp) GetErrCode() int32 { - if m != nil { - return m.ErrCode +func (x *KickGroupMemberResp) GetErrCode() int32 { + if x != nil { + return x.ErrCode } return 0 } -func (m *KickGroupMemberResp) GetErrMsg() string { - if m != nil { - return m.ErrMsg +func (x *KickGroupMemberResp) GetErrMsg() string { + if x != nil { + return x.ErrMsg } return "" } -func (m *KickGroupMemberResp) GetId2ResultList() []*Id2Result { - if m != nil { - return m.Id2ResultList +func (x *KickGroupMemberResp) GetId2ResultList() []*Id2Result { + if x != nil { + return x.Id2ResultList } return nil } 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:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -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_a130b5186d308ee6, []int{25} + 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 (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 (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 (m *GetJoinedGroupListReq) XXX_Size() int { - return xxx_messageInfo_GetJoinedGroupListReq.Size(m) + +func (x *GetJoinedGroupListReq) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *GetJoinedGroupListReq) XXX_DiscardUnknown() { - xxx_messageInfo_GetJoinedGroupListReq.DiscardUnknown(m) + +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) } -var xxx_messageInfo_GetJoinedGroupListReq proto.InternalMessageInfo +// Deprecated: Use GetJoinedGroupListReq.ProtoReflect.Descriptor instead. +func (*GetJoinedGroupListReq) Descriptor() ([]byte, []int) { + return file_group_group_proto_rawDescGZIP(), []int{27} +} -func (m *GetJoinedGroupListReq) GetFromUserID() string { - if m != nil { - return m.FromUserID +func (x *GetJoinedGroupListReq) GetFromUserID() string { + if x != nil { + return x.FromUserID } return "" } -func (m *GetJoinedGroupListReq) GetOperationID() string { - if m != nil { - return m.OperationID +func (x *GetJoinedGroupListReq) GetOperationID() string { + if x != nil { + return x.OperationID } return "" } -func (m *GetJoinedGroupListReq) GetOpUserID() string { - if m != nil { - return m.OpUserID +func (x *GetJoinedGroupListReq) GetOpUserID() string { + if x != nil { + return x.OpUserID } return "" } type GetJoinedGroupListResp struct { - 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:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -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_a130b5186d308ee6, []int{26} + 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"` } -func (m *GetJoinedGroupListResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetJoinedGroupListResp.Unmarshal(m, b) -} -func (m *GetJoinedGroupListResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetJoinedGroupListResp.Marshal(b, m, deterministic) -} -func (dst *GetJoinedGroupListResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetJoinedGroupListResp.Merge(dst, src) + +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) XXX_Size() int { - return xxx_messageInfo_GetJoinedGroupListResp.Size(m) + +func (x *GetJoinedGroupListResp) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *GetJoinedGroupListResp) XXX_DiscardUnknown() { - xxx_messageInfo_GetJoinedGroupListResp.DiscardUnknown(m) + +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) } -var xxx_messageInfo_GetJoinedGroupListResp proto.InternalMessageInfo +// Deprecated: Use GetJoinedGroupListResp.ProtoReflect.Descriptor instead. +func (*GetJoinedGroupListResp) Descriptor() ([]byte, []int) { + return file_group_group_proto_rawDescGZIP(), []int{28} +} -func (m *GetJoinedGroupListResp) GetErrCode() int32 { - if m != nil { - return m.ErrCode +func (x *GetJoinedGroupListResp) GetErrCode() int32 { + if x != nil { + return x.ErrCode } return 0 } -func (m *GetJoinedGroupListResp) GetErrMsg() string { - if m != nil { - return m.ErrMsg +func (x *GetJoinedGroupListResp) GetErrMsg() string { + if x != nil { + return x.ErrMsg } return "" } -func (m *GetJoinedGroupListResp) GetGroupList() []*sdk_ws.GroupInfo { - if m != nil { - return m.GroupList +func (x *GetJoinedGroupListResp) GetGroupList() []*sdk_ws.GroupInfo { + if x != nil { + return x.GroupList } return nil } type InviteUserToGroupReq struct { - 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_a130b5186d308ee6, []int{27} -} -func (m *InviteUserToGroupReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_InviteUserToGroupReq.Unmarshal(m, b) -} -func (m *InviteUserToGroupReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_InviteUserToGroupReq.Marshal(b, m, deterministic) + 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 } -func (dst *InviteUserToGroupReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_InviteUserToGroupReq.Merge(dst, src) + +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_Size() int { - return xxx_messageInfo_InviteUserToGroupReq.Size(m) + +func (x *InviteUserToGroupReq) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *InviteUserToGroupReq) XXX_DiscardUnknown() { - xxx_messageInfo_InviteUserToGroupReq.DiscardUnknown(m) + +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) } -var xxx_messageInfo_InviteUserToGroupReq proto.InternalMessageInfo +// Deprecated: Use InviteUserToGroupReq.ProtoReflect.Descriptor instead. +func (*InviteUserToGroupReq) Descriptor() ([]byte, []int) { + return file_group_group_proto_rawDescGZIP(), []int{29} +} -func (m *InviteUserToGroupReq) GetOperationID() string { - if m != nil { - return m.OperationID +func (x *InviteUserToGroupReq) GetOperationID() string { + if x != nil { + return x.OperationID } return "" } -func (m *InviteUserToGroupReq) GetGroupID() string { - if m != nil { - return m.GroupID +func (x *InviteUserToGroupReq) GetGroupID() string { + if x != nil { + return x.GroupID } return "" } -func (m *InviteUserToGroupReq) GetReason() string { - if m != nil { - return m.Reason +func (x *InviteUserToGroupReq) GetReason() string { + if x != nil { + return x.Reason } return "" } -func (m *InviteUserToGroupReq) GetInvitedUserIDList() []string { - if m != nil { - return m.InvitedUserIDList +func (x *InviteUserToGroupReq) GetInvitedUserIDList() []string { + if x != nil { + return x.InvitedUserIDList } return nil } -func (m *InviteUserToGroupReq) GetOpUserID() string { - if m != nil { - return m.OpUserID +func (x *InviteUserToGroupReq) GetOpUserID() string { + if x != nil { + return x.OpUserID } return "" } type InviteUserToGroupResp struct { - 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:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -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_a130b5186d308ee6, []int{28} -} -func (m *InviteUserToGroupResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_InviteUserToGroupResp.Unmarshal(m, b) + 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 } -func (m *InviteUserToGroupResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_InviteUserToGroupResp.Marshal(b, m, deterministic) -} -func (dst *InviteUserToGroupResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_InviteUserToGroupResp.Merge(dst, src) + +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) XXX_Size() int { - return xxx_messageInfo_InviteUserToGroupResp.Size(m) + +func (x *InviteUserToGroupResp) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *InviteUserToGroupResp) XXX_DiscardUnknown() { - xxx_messageInfo_InviteUserToGroupResp.DiscardUnknown(m) + +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) } -var xxx_messageInfo_InviteUserToGroupResp proto.InternalMessageInfo +// Deprecated: Use InviteUserToGroupResp.ProtoReflect.Descriptor instead. +func (*InviteUserToGroupResp) Descriptor() ([]byte, []int) { + return file_group_group_proto_rawDescGZIP(), []int{30} +} -func (m *InviteUserToGroupResp) GetErrCode() int32 { - if m != nil { - return m.ErrCode +func (x *InviteUserToGroupResp) GetErrCode() int32 { + if x != nil { + return x.ErrCode } return 0 } -func (m *InviteUserToGroupResp) GetErrMsg() string { - if m != nil { - return m.ErrMsg +func (x *InviteUserToGroupResp) GetErrMsg() string { + if x != nil { + return x.ErrMsg } return "" } -func (m *InviteUserToGroupResp) GetId2ResultList() []*Id2Result { - if m != nil { - return m.Id2ResultList +func (x *InviteUserToGroupResp) GetId2ResultList() []*Id2Result { + if x != nil { + return x.Id2ResultList } return nil } 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"` - OperationID string `protobuf:"bytes,3,opt,name=OperationID" json:"OperationID,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -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_a130b5186d308ee6, []int{29} + 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"` } -func (m *GetGroupAllMemberReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetGroupAllMemberReq.Unmarshal(m, b) -} -func (m *GetGroupAllMemberReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetGroupAllMemberReq.Marshal(b, m, deterministic) -} -func (dst *GetGroupAllMemberReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetGroupAllMemberReq.Merge(dst, src) + +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_Size() int { - return xxx_messageInfo_GetGroupAllMemberReq.Size(m) + +func (x *GetGroupAllMemberReq) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *GetGroupAllMemberReq) XXX_DiscardUnknown() { - xxx_messageInfo_GetGroupAllMemberReq.DiscardUnknown(m) + +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) } -var xxx_messageInfo_GetGroupAllMemberReq proto.InternalMessageInfo +// Deprecated: Use GetGroupAllMemberReq.ProtoReflect.Descriptor instead. +func (*GetGroupAllMemberReq) Descriptor() ([]byte, []int) { + return file_group_group_proto_rawDescGZIP(), []int{31} +} -func (m *GetGroupAllMemberReq) GetGroupID() string { - if m != nil { - return m.GroupID +func (x *GetGroupAllMemberReq) GetGroupID() string { + if x != nil { + return x.GroupID } return "" } -func (m *GetGroupAllMemberReq) GetOpUserID() string { - if m != nil { - return m.OpUserID +func (x *GetGroupAllMemberReq) GetOpUserID() string { + if x != nil { + return x.OpUserID } return "" } -func (m *GetGroupAllMemberReq) GetOperationID() string { - if m != nil { - return m.OperationID +func (x *GetGroupAllMemberReq) GetOperationID() string { + if x != nil { + return x.OperationID } return "" } type GetGroupAllMemberResp struct { - 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:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -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_a130b5186d308ee6, []int{30} -} -func (m *GetGroupAllMemberResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetGroupAllMemberResp.Unmarshal(m, b) -} -func (m *GetGroupAllMemberResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetGroupAllMemberResp.Marshal(b, m, deterministic) + 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"` } -func (dst *GetGroupAllMemberResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetGroupAllMemberResp.Merge(dst, src) + +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) XXX_Size() int { - return xxx_messageInfo_GetGroupAllMemberResp.Size(m) + +func (x *GetGroupAllMemberResp) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *GetGroupAllMemberResp) XXX_DiscardUnknown() { - xxx_messageInfo_GetGroupAllMemberResp.DiscardUnknown(m) + +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) } -var xxx_messageInfo_GetGroupAllMemberResp proto.InternalMessageInfo +// Deprecated: Use GetGroupAllMemberResp.ProtoReflect.Descriptor instead. +func (*GetGroupAllMemberResp) Descriptor() ([]byte, []int) { + return file_group_group_proto_rawDescGZIP(), []int{32} +} -func (m *GetGroupAllMemberResp) GetErrCode() int32 { - if m != nil { - return m.ErrCode +func (x *GetGroupAllMemberResp) GetErrCode() int32 { + if x != nil { + return x.ErrCode } return 0 } -func (m *GetGroupAllMemberResp) GetErrMsg() string { - if m != nil { - return m.ErrMsg +func (x *GetGroupAllMemberResp) GetErrMsg() string { + if x != nil { + return x.ErrMsg } return "" } -func (m *GetGroupAllMemberResp) GetMemberList() []*sdk_ws.GroupMemberFullInfo { - if m != nil { - return m.MemberList +func (x *GetGroupAllMemberResp) GetMemberList() []*sdk_ws.GroupMemberFullInfo { + if x != nil { + return x.MemberList } return 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((*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") +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, 0x21, 0x4f, 0x70, 0x65, 0x6e, + 0x5f, 0x49, 0x4d, 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, 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, 0x8b, 0x01, 0x0a, + 0x0f, 0x53, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, + 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, 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, 0x86, 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, 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, 0x6e, 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, 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, 0x32, 0xa2, 0x09, 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, 0x42, 0x0f, 0x5a, 0x0d, + 0x2e, 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 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, 33) +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 + (*sdk_ws.GroupInfo)(nil), // 33: server_api_params.GroupInfo + (*sdk_ws.GroupRequest)(nil), // 34: server_api_params.GroupRequest + (*sdk_ws.GroupMemberFullInfo)(nil), // 35: server_api_params.GroupMemberFullInfo +} +var file_group_group_proto_depIdxs = []int32{ + 1, // 0: group.CreateGroupReq.InitMemberList:type_name -> group.GroupAddMemberInfo + 33, // 1: group.CreateGroupReq.GroupInfo:type_name -> server_api_params.GroupInfo + 33, // 2: group.CreateGroupResp.GroupInfo:type_name -> server_api_params.GroupInfo + 33, // 3: group.GetGroupsInfoResp.GroupInfoList:type_name -> server_api_params.GroupInfo + 33, // 4: group.SetGroupInfoReq.GroupInfo:type_name -> server_api_params.GroupInfo + 0, // 5: group.SetGroupInfoResp.CommonResp:type_name -> group.CommonResp + 34, // 6: group.GetGroupApplicationListResp.GroupRequestList:type_name -> server_api_params.GroupRequest + 0, // 7: group.GetUserReqApplicationListResp.CommonResp:type_name -> group.CommonResp + 34, // 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 + 35, // 13: group.GetGroupMemberListResp.memberList:type_name -> server_api_params.GroupMemberFullInfo + 35, // 14: group.GetGroupMembersInfoResp.memberList:type_name -> server_api_params.GroupMemberFullInfo + 25, // 15: group.KickGroupMemberResp.Id2ResultList:type_name -> group.Id2Result + 33, // 16: group.GetJoinedGroupListResp.GroupList:type_name -> server_api_params.GroupInfo + 25, // 17: group.InviteUserToGroupResp.Id2ResultList:type_name -> group.Id2Result + 35, // 18: group.GetGroupAllMemberResp.memberList:type_name -> server_api_params.GroupMemberFullInfo + 2, // 19: group.group.createGroup:input_type -> group.CreateGroupReq + 14, // 20: group.group.joinGroup:input_type -> group.JoinGroupReq + 18, // 21: group.group.quitGroup:input_type -> group.QuitGroupReq + 4, // 22: group.group.getGroupsInfo:input_type -> group.GetGroupsInfoReq + 6, // 23: group.group.setGroupInfo:input_type -> group.SetGroupInfoReq + 8, // 24: group.group.getGroupApplicationList:input_type -> group.GetGroupApplicationListReq + 10, // 25: group.group.getUserReqApplicationList:input_type -> group.GetUserReqApplicationListReq + 12, // 26: group.group.transferGroupOwner:input_type -> group.TransferGroupOwnerReq + 16, // 27: group.group.groupApplicationResponse:input_type -> group.GroupApplicationResponseReq + 20, // 28: group.group.getGroupMemberList:input_type -> group.GetGroupMemberListReq + 22, // 29: group.group.getGroupMembersInfo:input_type -> group.GetGroupMembersInfoReq + 24, // 30: group.group.kickGroupMember:input_type -> group.KickGroupMemberReq + 27, // 31: group.group.getJoinedGroupList:input_type -> group.GetJoinedGroupListReq + 29, // 32: group.group.inviteUserToGroup:input_type -> group.InviteUserToGroupReq + 31, // 33: group.group.getGroupAllMember:input_type -> group.GetGroupAllMemberReq + 3, // 34: group.group.createGroup:output_type -> group.CreateGroupResp + 15, // 35: group.group.joinGroup:output_type -> group.JoinGroupResp + 19, // 36: group.group.quitGroup:output_type -> group.QuitGroupResp + 5, // 37: group.group.getGroupsInfo:output_type -> group.GetGroupsInfoResp + 7, // 38: group.group.setGroupInfo:output_type -> group.SetGroupInfoResp + 9, // 39: group.group.getGroupApplicationList:output_type -> group.GetGroupApplicationListResp + 11, // 40: group.group.getUserReqApplicationList:output_type -> group.GetUserReqApplicationListResp + 13, // 41: group.group.transferGroupOwner:output_type -> group.TransferGroupOwnerResp + 17, // 42: group.group.groupApplicationResponse:output_type -> group.GroupApplicationResponseResp + 21, // 43: group.group.getGroupMemberList:output_type -> group.GetGroupMemberListResp + 23, // 44: group.group.getGroupMembersInfo:output_type -> group.GetGroupMembersInfoResp + 26, // 45: group.group.kickGroupMember:output_type -> group.KickGroupMemberResp + 28, // 46: group.group.getJoinedGroupList:output_type -> group.GetJoinedGroupListResp + 30, // 47: group.group.inviteUserToGroup:output_type -> group.InviteUserToGroupResp + 32, // 48: group.group.getGroupAllMember:output_type -> group.GetGroupAllMemberResp + 34, // [34:49] is the sub-list for method output_type + 19, // [19:34] is the sub-list for method input_type + 19, // [19:19] is the sub-list for extension type_name + 19, // [19:19] is the sub-list for extension extendee + 0, // [0:19] 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 + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_group_group_proto_rawDesc, + NumEnums: 0, + NumMessages: 33, + 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 } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context -var _ grpc.ClientConn +var _ grpc.ClientConnInterface // 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 Group service +const _ = grpc.SupportPackageIsVersion6 +// 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) @@ -1773,6 +3025,7 @@ type GroupClient interface { GetGroupsInfo(ctx context.Context, in *GetGroupsInfoReq, opts ...grpc.CallOption) (*GetGroupsInfoResp, error) SetGroupInfo(ctx context.Context, in *SetGroupInfoReq, opts ...grpc.CallOption) (*SetGroupInfoResp, error) GetGroupApplicationList(ctx context.Context, in *GetGroupApplicationListReq, opts ...grpc.CallOption) (*GetGroupApplicationListResp, error) + GetUserReqApplicationList(ctx context.Context, in *GetUserReqApplicationListReq, opts ...grpc.CallOption) (*GetUserReqApplicationListResp, error) TransferGroupOwner(ctx context.Context, in *TransferGroupOwnerReq, opts ...grpc.CallOption) (*TransferGroupOwnerResp, error) GroupApplicationResponse(ctx context.Context, in *GroupApplicationResponseReq, opts ...grpc.CallOption) (*GroupApplicationResponseResp, error) GetGroupMemberList(ctx context.Context, in *GetGroupMemberListReq, opts ...grpc.CallOption) (*GetGroupMemberListResp, error) @@ -1784,16 +3037,16 @@ type GroupClient interface { } type groupClient struct { - cc *grpc.ClientConn + cc grpc.ClientConnInterface } -func NewGroupClient(cc *grpc.ClientConn) GroupClient { +func NewGroupClient(cc grpc.ClientConnInterface) GroupClient { return &groupClient{cc} } func (c *groupClient) CreateGroup(ctx context.Context, in *CreateGroupReq, opts ...grpc.CallOption) (*CreateGroupResp, error) { out := new(CreateGroupResp) - err := grpc.Invoke(ctx, "/group.group/createGroup", in, out, c.cc, opts...) + err := c.cc.Invoke(ctx, "/group.group/createGroup", in, out, opts...) if err != nil { return nil, err } @@ -1802,7 +3055,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 := grpc.Invoke(ctx, "/group.group/joinGroup", in, out, c.cc, opts...) + err := c.cc.Invoke(ctx, "/group.group/joinGroup", in, out, opts...) if err != nil { return nil, err } @@ -1811,7 +3064,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 := grpc.Invoke(ctx, "/group.group/quitGroup", in, out, c.cc, opts...) + err := c.cc.Invoke(ctx, "/group.group/quitGroup", in, out, opts...) if err != nil { return nil, err } @@ -1820,7 +3073,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 := grpc.Invoke(ctx, "/group.group/getGroupsInfo", in, out, c.cc, opts...) + err := c.cc.Invoke(ctx, "/group.group/getGroupsInfo", in, out, opts...) if err != nil { return nil, err } @@ -1829,7 +3082,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 := grpc.Invoke(ctx, "/group.group/setGroupInfo", in, out, c.cc, opts...) + err := c.cc.Invoke(ctx, "/group.group/setGroupInfo", in, out, opts...) if err != nil { return nil, err } @@ -1838,7 +3091,16 @@ 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 := grpc.Invoke(ctx, "/group.group/getGroupApplicationList", in, out, c.cc, opts...) + err := c.cc.Invoke(ctx, "/group.group/getGroupApplicationList", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +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...) if err != nil { return nil, err } @@ -1847,7 +3109,7 @@ func (c *groupClient) GetGroupApplicationList(ctx context.Context, in *GetGroupA func (c *groupClient) TransferGroupOwner(ctx context.Context, in *TransferGroupOwnerReq, opts ...grpc.CallOption) (*TransferGroupOwnerResp, error) { out := new(TransferGroupOwnerResp) - err := grpc.Invoke(ctx, "/group.group/transferGroupOwner", in, out, c.cc, opts...) + err := c.cc.Invoke(ctx, "/group.group/transferGroupOwner", in, out, opts...) if err != nil { return nil, err } @@ -1856,7 +3118,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 := grpc.Invoke(ctx, "/group.group/groupApplicationResponse", in, out, c.cc, opts...) + err := c.cc.Invoke(ctx, "/group.group/groupApplicationResponse", in, out, opts...) if err != nil { return nil, err } @@ -1865,7 +3127,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 := grpc.Invoke(ctx, "/group.group/getGroupMemberList", in, out, c.cc, opts...) + err := c.cc.Invoke(ctx, "/group.group/getGroupMemberList", in, out, opts...) if err != nil { return nil, err } @@ -1874,7 +3136,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 := grpc.Invoke(ctx, "/group.group/getGroupMembersInfo", in, out, c.cc, opts...) + err := c.cc.Invoke(ctx, "/group.group/getGroupMembersInfo", in, out, opts...) if err != nil { return nil, err } @@ -1883,7 +3145,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 := grpc.Invoke(ctx, "/group.group/kickGroupMember", in, out, c.cc, opts...) + err := c.cc.Invoke(ctx, "/group.group/kickGroupMember", in, out, opts...) if err != nil { return nil, err } @@ -1892,7 +3154,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 := grpc.Invoke(ctx, "/group.group/getJoinedGroupList", in, out, c.cc, opts...) + err := c.cc.Invoke(ctx, "/group.group/getJoinedGroupList", in, out, opts...) if err != nil { return nil, err } @@ -1901,7 +3163,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 := grpc.Invoke(ctx, "/group.group/inviteUserToGroup", in, out, c.cc, opts...) + err := c.cc.Invoke(ctx, "/group.group/inviteUserToGroup", in, out, opts...) if err != nil { return nil, err } @@ -1910,15 +3172,14 @@ 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 := grpc.Invoke(ctx, "/group.group/getGroupAllMember", in, out, c.cc, opts...) + err := c.cc.Invoke(ctx, "/group.group/getGroupAllMember", in, out, opts...) if err != nil { return nil, err } return out, nil } -// Server API for Group service - +// GroupServer is the server API for Group service. type GroupServer interface { CreateGroup(context.Context, *CreateGroupReq) (*CreateGroupResp, error) JoinGroup(context.Context, *JoinGroupReq) (*JoinGroupResp, error) @@ -1926,6 +3187,7 @@ type GroupServer interface { GetGroupsInfo(context.Context, *GetGroupsInfoReq) (*GetGroupsInfoResp, error) SetGroupInfo(context.Context, *SetGroupInfoReq) (*SetGroupInfoResp, error) GetGroupApplicationList(context.Context, *GetGroupApplicationListReq) (*GetGroupApplicationListResp, error) + GetUserReqApplicationList(context.Context, *GetUserReqApplicationListReq) (*GetUserReqApplicationListResp, error) TransferGroupOwner(context.Context, *TransferGroupOwnerReq) (*TransferGroupOwnerResp, error) GroupApplicationResponse(context.Context, *GroupApplicationResponseReq) (*GroupApplicationResponseResp, error) GetGroupMemberList(context.Context, *GetGroupMemberListReq) (*GetGroupMemberListResp, error) @@ -1936,6 +3198,56 @@ type GroupServer interface { GetGroupAllMember(context.Context, *GetGroupAllMemberReq) (*GetGroupAllMemberResp, 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 RegisterGroupServer(s *grpc.Server, srv GroupServer) { s.RegisterService(&_Group_serviceDesc, srv) } @@ -2048,6 +3360,24 @@ func _Group_GetGroupApplicationList_Handler(srv interface{}, ctx context.Context return interceptor(ctx, in, info, handler) } +func _Group_GetUserReqApplicationList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetUserReqApplicationListReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GroupServer).GetUserReqApplicationList(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/group.group/GetUserReqApplicationList", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GroupServer).GetUserReqApplicationList(ctx, req.(*GetUserReqApplicationListReq)) + } + return interceptor(ctx, in, info, handler) +} + func _Group_TransferGroupOwner_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(TransferGroupOwnerReq) if err := dec(in); err != nil { @@ -2220,6 +3550,10 @@ var _Group_serviceDesc = grpc.ServiceDesc{ MethodName: "getGroupApplicationList", Handler: _Group_GetGroupApplicationList_Handler, }, + { + MethodName: "getUserReqApplicationList", + Handler: _Group_GetUserReqApplicationList_Handler, + }, { MethodName: "transferGroupOwner", Handler: _Group_TransferGroupOwner_Handler, @@ -2256,87 +3590,3 @@ var _Group_serviceDesc = grpc.ServiceDesc{ Streams: []grpc.StreamDesc{}, Metadata: "group/group.proto", } - -func init() { proto.RegisterFile("group/group.proto", fileDescriptor_group_a130b5186d308ee6) } - -var fileDescriptor_group_a130b5186d308ee6 = []byte{ - // 1246 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x58, 0x4b, 0x6f, 0x23, 0xc5, - 0x13, 0x57, 0xc7, 0x71, 0x76, 0x5d, 0x89, 0xf3, 0xe8, 0xbc, 0xfc, 0x9f, 0xf5, 0x3f, 0x64, 0x1b, - 0x69, 0x15, 0x21, 0x64, 0x8b, 0x20, 0xed, 0x81, 0x45, 0xa0, 0x38, 0x8f, 0x5d, 0x6f, 0x36, 0x89, - 0x32, 0x1b, 0x2e, 0x5c, 0x82, 0x37, 0xd3, 0x19, 0x0d, 0x19, 0xcf, 0x8c, 0xa7, 0xc7, 0x09, 0xe2, - 0xb2, 0xe2, 0xb2, 0x12, 0xe2, 0x02, 0xe2, 0xca, 0x85, 0x3b, 0x07, 0x0e, 0x9c, 0xb8, 0xf0, 0x39, - 0xf8, 0x14, 0x7c, 0x05, 0x34, 0xdd, 0x3d, 0xe3, 0x9e, 0x67, 0xb2, 0xb6, 0xc4, 0x5e, 0x2c, 0x75, - 0x55, 0xf5, 0xd4, 0xfb, 0x57, 0xd5, 0x86, 0x25, 0xd3, 0x77, 0x87, 0x5e, 0x9b, 0xff, 0xb6, 0x3c, - 0xdf, 0x0d, 0x5c, 0x5c, 0xe5, 0x07, 0xed, 0xe1, 0x89, 0x47, 0x9d, 0xf3, 0xee, 0x51, 0xdb, 0xbb, - 0x32, 0xdb, 0x9c, 0xd3, 0x66, 0xc6, 0xd5, 0xf9, 0x0d, 0x6b, 0xdf, 0x30, 0x21, 0x49, 0x3e, 0x03, - 0xd8, 0x75, 0xfb, 0x7d, 0xd7, 0xd1, 0x29, 0xf3, 0x70, 0x03, 0xee, 0xed, 0xfb, 0xfe, 0xae, 0x6b, - 0xd0, 0x06, 0xda, 0x44, 0x5b, 0x55, 0x3d, 0x3a, 0xe2, 0x35, 0x98, 0xd9, 0xf7, 0xfd, 0x23, 0x66, - 0x36, 0xa6, 0x36, 0xd1, 0x56, 0x4d, 0x97, 0x27, 0xf2, 0x1c, 0xf0, 0xd3, 0x50, 0xd7, 0x8e, 0x61, - 0x1c, 0xd1, 0xfe, 0x2b, 0xea, 0x77, 0x9d, 0x4b, 0x37, 0x94, 0xfe, 0x82, 0x51, 0xbf, 0xbb, 0xc7, - 0x3f, 0x53, 0xd3, 0xe5, 0x09, 0x37, 0xa1, 0xa6, 0xbb, 0x36, 0x7d, 0x41, 0xaf, 0xa9, 0xcd, 0x3f, - 0x54, 0xd5, 0x47, 0x04, 0xf2, 0x0f, 0x82, 0xf9, 0x5d, 0x9f, 0xf6, 0x02, 0xca, 0x3f, 0xa9, 0xd3, - 0x01, 0xde, 0x81, 0xf9, 0xae, 0x63, 0x05, 0xe2, 0xd3, 0x2f, 0x2c, 0x16, 0x34, 0xd0, 0x66, 0x65, - 0x6b, 0x76, 0xfb, 0x7f, 0x2d, 0xe1, 0x6e, 0x56, 0xb7, 0x9e, 0xba, 0x80, 0x3f, 0x81, 0x1a, 0x97, - 0x0a, 0x99, 0x5c, 0xe7, 0xec, 0x76, 0xb3, 0xc5, 0xa8, 0x7f, 0x4d, 0xfd, 0xf3, 0x9e, 0x67, 0x9d, - 0x7b, 0x3d, 0xbf, 0xd7, 0x67, 0xad, 0x58, 0x46, 0x1f, 0x89, 0xe3, 0x4d, 0x98, 0x3d, 0xf1, 0xa8, - 0xdf, 0x0b, 0x2c, 0xd7, 0xe9, 0xee, 0x35, 0x2a, 0xdc, 0x19, 0x95, 0x84, 0x35, 0xb8, 0x7f, 0xe2, - 0x49, 0x5f, 0xa7, 0x39, 0x3b, 0x3e, 0xf3, 0xdb, 0x37, 0x0e, 0xf5, 0x25, 0xbb, 0x2a, 0x6f, 0x8f, - 0x48, 0xe4, 0x35, 0x2c, 0x24, 0x1c, 0x1e, 0x27, 0x05, 0x49, 0x07, 0x2b, 0x6f, 0xe5, 0x20, 0xf1, - 0x61, 0xf1, 0x29, 0x0d, 0xf8, 0x99, 0x71, 0x1e, 0x1d, 0x84, 0x66, 0x0b, 0x81, 0xbd, 0x38, 0xe0, - 0x35, 0x5d, 0x25, 0xa5, 0xc3, 0x32, 0x55, 0x1e, 0x96, 0x4a, 0x32, 0x2c, 0xe4, 0x7b, 0x04, 0x4b, - 0x29, 0xa5, 0x63, 0xf9, 0xdd, 0x81, 0x7a, 0xec, 0x08, 0xb7, 0xb4, 0xc2, 0x4b, 0xa3, 0xdc, 0xf7, - 0xe4, 0x15, 0xf2, 0x03, 0x82, 0x85, 0x97, 0xd2, 0x96, 0xc8, 0xff, 0x44, 0x3c, 0xd1, 0xdb, 0x15, - 0x8c, 0xea, 0xf7, 0x54, 0x4e, 0x39, 0x94, 0x16, 0x13, 0xd9, 0x87, 0xc5, 0xa4, 0x31, 0xcc, 0xc3, - 0x1f, 0xa9, 0x0d, 0x2a, 0xcd, 0x59, 0x92, 0xd5, 0x3f, 0x62, 0xe8, 0x8a, 0x10, 0xf9, 0x16, 0xb4, - 0x28, 0xbe, 0x3b, 0x9e, 0x67, 0x5b, 0x17, 0xfc, 0xfb, 0xa1, 0xbf, 0xa1, 0x7b, 0xaa, 0x89, 0xa8, - 0xdc, 0xc4, 0x9c, 0xc4, 0x6e, 0x00, 0x1c, 0xf8, 0x6e, 0x3f, 0x91, 0x5a, 0x85, 0x42, 0x7e, 0x41, - 0xf0, 0xa0, 0x50, 0xf9, 0x58, 0x69, 0x3e, 0x84, 0xc5, 0x08, 0x0e, 0x86, 0x94, 0x05, 0x4a, 0xa6, - 0xdf, 0x2b, 0xca, 0x8a, 0x14, 0xd5, 0x33, 0x17, 0xc9, 0x5f, 0x08, 0x56, 0xcf, 0xfc, 0x9e, 0xc3, - 0x2e, 0xa9, 0xcf, 0x99, 0xbc, 0x1b, 0xc3, 0xb0, 0x34, 0xe0, 0x9e, 0x2c, 0x71, 0x19, 0x95, 0xe8, - 0x88, 0x1f, 0xc1, 0xfc, 0x89, 0x6d, 0xa8, 0x9d, 0x2c, 0x0c, 0x4c, 0x51, 0x43, 0xb9, 0x63, 0x7a, - 0xa3, 0xca, 0x89, 0xf0, 0xa4, 0xa8, 0xe9, 0x20, 0x4f, 0x97, 0x77, 0x4f, 0x35, 0xd5, 0x3d, 0x87, - 0xb0, 0x96, 0xe7, 0xc0, 0x78, 0x95, 0xf2, 0x06, 0xc1, 0xdc, 0x73, 0xd7, 0x72, 0x62, 0xbc, 0x2d, - 0x8e, 0xc2, 0x06, 0x80, 0x4e, 0x07, 0x47, 0x94, 0xb1, 0x9e, 0x49, 0x65, 0x04, 0x14, 0x4a, 0x59, - 0xc7, 0xdf, 0xee, 0x31, 0xe9, 0x40, 0x5d, 0xb1, 0x63, 0x3c, 0x67, 0xfe, 0x0e, 0x4b, 0x2f, 0x55, - 0x77, 0x21, 0xc3, 0x75, 0x18, 0x95, 0xb8, 0xa6, 0x5a, 0x81, 0xca, 0xe3, 0x9e, 0xee, 0x5e, 0x25, - 0x32, 0x95, 0x4c, 0x64, 0x94, 0x96, 0x98, 0x4e, 0xb7, 0x44, 0xc8, 0x7f, 0xd6, 0x73, 0x0c, 0x9b, - 0x1a, 0x61, 0x71, 0x8b, 0x7c, 0x2a, 0x14, 0x4c, 0x60, 0x4e, 0x9c, 0x74, 0xca, 0x86, 0x76, 0xd0, - 0x98, 0xe1, 0x7d, 0x91, 0xa0, 0x91, 0x53, 0x68, 0x16, 0xbb, 0x36, 0x5e, 0xb8, 0x2e, 0x61, 0xee, - 0x74, 0x68, 0x05, 0x77, 0x48, 0xfd, 0x64, 0x70, 0xdf, 0x81, 0xba, 0xa2, 0x67, 0x3c, 0x5b, 0x7f, - 0x45, 0xb0, 0x1a, 0xa1, 0xca, 0x68, 0xb4, 0x97, 0x5b, 0x3d, 0x11, 0x14, 0x87, 0x68, 0x74, 0x60, - 0xd9, 0x01, 0xf5, 0x79, 0x42, 0xab, 0xba, 0x3c, 0x85, 0xfa, 0x8e, 0xe9, 0x37, 0xc1, 0x4b, 0x3a, - 0xe0, 0x99, 0xac, 0xea, 0xd1, 0x91, 0xfc, 0x86, 0x60, 0x2d, 0xcf, 0xc6, 0xb1, 0x40, 0xef, 0x00, - 0xa0, 0x3f, 0xda, 0x79, 0x04, 0xdc, 0x3d, 0x2a, 0x82, 0x3b, 0xa1, 0xed, 0x60, 0x68, 0xdb, 0x7c, - 0x6a, 0x28, 0x37, 0x43, 0xcd, 0x8e, 0x34, 0x57, 0xf8, 0x11, 0x1d, 0xc9, 0x8f, 0x19, 0x73, 0xe3, - 0x05, 0xa0, 0x14, 0x04, 0x14, 0xb3, 0xa6, 0xf8, 0x66, 0xa0, 0xaa, 0x9b, 0x0c, 0x04, 0x7e, 0x46, - 0xb0, 0x9e, 0x6b, 0xd2, 0xbb, 0x0c, 0x21, 0xf9, 0x1d, 0x01, 0x3e, 0xb4, 0x2e, 0xae, 0x14, 0xb9, - 0xf2, 0x20, 0x7d, 0x00, 0x8b, 0xa1, 0x3c, 0x35, 0x84, 0xe3, 0x4a, 0xa8, 0x32, 0xf4, 0xd0, 0x78, - 0x9d, 0xf6, 0x98, 0xeb, 0xc8, 0x70, 0xc9, 0x53, 0x3a, 0x58, 0xd5, 0xf2, 0x96, 0x9b, 0x49, 0xb5, - 0xdc, 0x13, 0xa8, 0x75, 0x8d, 0x6d, 0x01, 0x1d, 0x85, 0xbb, 0x38, 0x57, 0xcd, 0x01, 0x47, 0x2c, - 0xe2, 0xf2, 0x44, 0x5e, 0xc3, 0x72, 0xc6, 0xdd, 0xb1, 0x12, 0xf0, 0x18, 0xea, 0xb1, 0x15, 0x4a, - 0x0e, 0x16, 0x65, 0xab, 0xc7, 0x3c, 0x3d, 0x29, 0x46, 0x86, 0xbc, 0xd7, 0xc3, 0x71, 0x40, 0x0d, - 0x6e, 0x45, 0xd4, 0xeb, 0x49, 0xa0, 0x45, 0x19, 0xa0, 0xdd, 0x84, 0x59, 0x37, 0x8b, 0x53, 0xee, - 0x1d, 0x71, 0xea, 0x8d, 0x68, 0x88, 0x8c, 0xde, 0x89, 0x76, 0xf2, 0x3b, 0xef, 0xa5, 0x23, 0x71, - 0xf2, 0x07, 0x82, 0x95, 0xae, 0x73, 0x6d, 0x05, 0x34, 0xb4, 0xec, 0xcc, 0x8d, 0x11, 0xfa, 0x76, - 0x1c, 0x2e, 0x1e, 0x52, 0xa3, 0x42, 0x9b, 0x4e, 0x14, 0xda, 0x87, 0xb0, 0x24, 0x74, 0xa9, 0xd5, - 0x5a, 0xe5, 0xd5, 0x9a, 0x65, 0x94, 0x16, 0xdd, 0x77, 0x08, 0x56, 0x73, 0xcc, 0xfe, 0x4f, 0x4b, - 0xc7, 0x81, 0x95, 0x78, 0xf9, 0xb4, 0xed, 0xbb, 0x34, 0xeb, 0x64, 0x0b, 0xfb, 0x4f, 0xca, 0x5c, - 0x52, 0x14, 0xbe, 0x4b, 0xbc, 0xda, 0xfe, 0xf3, 0x3e, 0x88, 0xe7, 0x3f, 0xfe, 0x14, 0x66, 0x2f, - 0x46, 0xaf, 0x4b, 0xbc, 0x1a, 0xcd, 0xd8, 0xc4, 0x13, 0x5b, 0x5b, 0xcb, 0x23, 0x33, 0x0f, 0x3f, - 0x86, 0xda, 0xd7, 0xd1, 0x4a, 0x86, 0x97, 0xa5, 0x90, 0xba, 0x2c, 0x6a, 0x2b, 0x59, 0xa2, 0xb8, - 0x37, 0x88, 0xe6, 0x7d, 0x7c, 0x4f, 0xdd, 0x34, 0xe2, 0x7b, 0xc9, 0xb5, 0xa0, 0x03, 0x75, 0x53, - 0x7d, 0x15, 0xe2, 0xf5, 0xe8, 0x8d, 0x9f, 0x7a, 0xa0, 0x6a, 0x8d, 0x7c, 0x06, 0xf3, 0xf0, 0xe7, - 0x30, 0xc7, 0x94, 0x07, 0x14, 0x8e, 0x7c, 0x4b, 0x3d, 0xf1, 0xb4, 0xf5, 0x5c, 0x3a, 0xf3, 0xf0, - 0x57, 0xb0, 0x6e, 0xe6, 0xbf, 0x5e, 0xf0, 0xc3, 0x94, 0xd6, 0xec, 0xd3, 0x4a, 0x23, 0xb7, 0x89, - 0x30, 0x0f, 0x9f, 0x02, 0x0e, 0x32, 0xfb, 0x3b, 0x6e, 0xca, 0x9b, 0xb9, 0x6f, 0x13, 0xed, 0xff, - 0x25, 0x5c, 0xe6, 0xe1, 0x0b, 0x68, 0x98, 0x05, 0xcb, 0x21, 0x26, 0x89, 0x3f, 0x4a, 0x72, 0x17, - 0x63, 0xed, 0xfd, 0x5b, 0x65, 0x84, 0xdd, 0x66, 0x66, 0xbb, 0x89, 0xed, 0xce, 0x5d, 0xce, 0x62, - 0xbb, 0x0b, 0xd6, 0xa2, 0x33, 0x58, 0x36, 0xb3, 0xe3, 0x1e, 0xe7, 0xdf, 0x8a, 0xb3, 0xbf, 0x51, - 0xc6, 0x66, 0x1e, 0x7e, 0x06, 0x0b, 0x57, 0xc9, 0xf9, 0x85, 0xa3, 0x7f, 0x8b, 0xb2, 0x63, 0x5c, - 0xd3, 0x8a, 0x58, 0xb1, 0xcb, 0xa9, 0x81, 0xa0, 0xba, 0x9c, 0x9d, 0x51, 0xaa, 0xcb, 0x79, 0x93, - 0xe4, 0x18, 0x96, 0xac, 0x34, 0x46, 0xe2, 0x07, 0x11, 0xac, 0xe5, 0x80, 0xbe, 0xd6, 0x2c, 0x66, - 0x8a, 0xef, 0x99, 0x69, 0xfc, 0x89, 0xbf, 0x97, 0x07, 0x85, 0x5a, 0xb3, 0x98, 0xc9, 0xbc, 0xce, - 0xc2, 0x97, 0xf5, 0x96, 0xf8, 0x27, 0xf1, 0x09, 0xff, 0x7d, 0x35, 0xc3, 0xff, 0x26, 0xfc, 0xf8, - 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xf6, 0x24, 0x19, 0x44, 0x65, 0x14, 0x00, 0x00, -} diff --git a/pkg/proto/group/group.proto b/pkg/proto/group/group.proto index 6ba7c52ba..378df2549 100644 --- a/pkg/proto/group/group.proto +++ b/pkg/proto/group/group.proto @@ -61,6 +61,17 @@ message GetGroupApplicationListResp { repeated server_api_params.GroupRequest GroupRequestList = 3; } +message GetUserReqApplicationListReq{ + string UserID = 1; + string OpUserID = 2; + string OperationID = 3; +} + +message GetUserReqApplicationListResp{ + CommonResp CommonResp = 1; + repeated server_api_params.GroupRequest GroupRequestList = 2; +} + message TransferGroupOwnerReq { string GroupID = 1; @@ -204,6 +215,7 @@ service group{ rpc getGroupsInfo(GetGroupsInfoReq) returns(GetGroupsInfoResp); rpc setGroupInfo(SetGroupInfoReq) returns(SetGroupInfoResp); rpc getGroupApplicationList(GetGroupApplicationListReq) returns(GetGroupApplicationListResp); + rpc getUserReqApplicationList(GetUserReqApplicationListReq) returns(GetUserReqApplicationListResp); rpc transferGroupOwner(TransferGroupOwnerReq) returns(TransferGroupOwnerResp); rpc groupApplicationResponse(GroupApplicationResponseReq) returns(GroupApplicationResponseResp); rpc getGroupMemberList(GetGroupMemberListReq) returns(GetGroupMemberListResp); From 17dd73834fb713c5ebe31031360cdd944def73b7 Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Wed, 9 Feb 2022 20:25:25 +0800 Subject: [PATCH 44/75] Refactor code --- internal/rpc/msg/group_notification.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/internal/rpc/msg/group_notification.go b/internal/rpc/msg/group_notification.go index 9fa9783ea..58898b6de 100644 --- a/internal/rpc/msg/group_notification.go +++ b/internal/rpc/msg/group_notification.go @@ -148,6 +148,8 @@ func groupNotification(contentType int32, m proto.Message, sendID, groupID, recv tips.DefaultTips = toNickname + " " + cn.MemberKicked.DefaultTips.Tips case constant.MemberInvitedNotification: // tips.DefaultTips = toNickname + " " + cn.MemberInvited.DefaultTips.Tips + case constant.MemberEnterNotification: + tips.DefaultTips = toNickname + " " + cn.MemberInvited.DefaultTips.Tips default: log.Error(operationID, "contentType failed ", contentType) return From e455b3ff0037c06bd97134ce4b1d2664fe62a413 Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Thu, 10 Feb 2022 09:17:48 +0800 Subject: [PATCH 45/75] Refactor code --- internal/rpc/msg/friend_notification.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/internal/rpc/msg/friend_notification.go b/internal/rpc/msg/friend_notification.go index b06f3a222..ce791967e 100644 --- a/internal/rpc/msg/friend_notification.go +++ b/internal/rpc/msg/friend_notification.go @@ -57,6 +57,8 @@ func friendNotification(commID *pbFriend.CommID, contentType int32, m proto.Mess tips.DefaultTips = cn.BlackAdded.DefaultTips.Tips case constant.BlackDeletedNotification: tips.DefaultTips = cn.BlackDeleted.DefaultTips.Tips + toUserNickname + case constant.UserInfoUpdatedNotification: + tips.DefaultTips = cn.UserInfoUpdated.DefaultTips.Tips default: log.Error(commID.OperationID, "contentType failed ", contentType) return From a3f712306e7b64a2d1c40cc6c6e5da86002012c6 Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Thu, 10 Feb 2022 09:31:50 +0800 Subject: [PATCH 46/75] Refactor code --- internal/rpc/user/user.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/internal/rpc/user/user.go b/internal/rpc/user/user.go index 147bf2d86..7494a2e51 100644 --- a/internal/rpc/user/user.go +++ b/internal/rpc/user/user.go @@ -236,8 +236,10 @@ func (s *userServer) UpdateUserInfo(ctx context.Context, req *pbUser.UpdateUserI return &pbUser.UpdateUserInfoResp{CommonResp: &pbUser.CommonResp{}}, nil } 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, req.OpUserID) + log.Info(req.OperationID, "UserInfoUpdatedNotification ", req.UserInfo.UserID, req.OpUserID) return &pbUser.UpdateUserInfoResp{CommonResp: &pbUser.CommonResp{}}, nil } From b35d5ded7704430ac4de7396919655196fceb857 Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Thu, 10 Feb 2022 09:35:24 +0800 Subject: [PATCH 47/75] Refactor code --- 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 ce791967e..231906fa8 100644 --- a/internal/rpc/msg/friend_notification.go +++ b/internal/rpc/msg/friend_notification.go @@ -151,6 +151,6 @@ func BlackDeletedNotification(req *pbFriend.RemoveBlacklistReq) { func UserInfoUpdatedNotification(operationID, userID string, needNotifiedUserID string) { selfInfoUpdatedTips := open_im_sdk.UserInfoUpdatedTips{UserID: userID} - commID := pbFriend.CommID{FromUserID: userID, ToUserID: userID, OpUserID: needNotifiedUserID, OperationID: operationID} + commID := pbFriend.CommID{FromUserID: userID, ToUserID: needNotifiedUserID, OpUserID: userID, OperationID: operationID} friendNotification(&commID, constant.UserInfoUpdatedNotification, &selfInfoUpdatedTips) } From f574017b66511f627b727196bb3d83f0a759f123 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Thu, 10 Feb 2022 11:40:16 +0800 Subject: [PATCH 48/75] db --- pkg/common/db/mysql.go | 35 +++++++++++++++++------------------ 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/pkg/common/db/mysql.go b/pkg/common/db/mysql.go index ba38f57e9..808cb8fc8 100644 --- a/pkg/common/db/mysql.go +++ b/pkg/common/db/mysql.go @@ -17,33 +17,32 @@ type mysqlDB struct { func initMysqlDB() { //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") + //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", dsn) - if err != nil { - log.NewError("0", "Open failed ", err.Error(), dsn) - } - if err != nil { - time.Sleep(time.Duration(30) * time.Second) - db, err1 = gorm.Open("mysql", dsn) - if err1 != nil { - log.NewError("0", "Open failed ", err1.Error(), dsn) - panic(err1.Error()) - } - } + //db, err := gorm.Open("mysql", dsn) + //if err != nil { + // log.NewError("0", "Open failed ", err.Error(), dsn) + //} + //if err != nil { + // time.Sleep(time.Duration(30) * time.Second) + // db, err1 = gorm.Open("mysql", dsn) + // if err1 != nil { + // log.NewError("0", "Open failed ", err1.Error(), dsn) + // panic(err1.Error()) + // } + //} //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+"test1") - err = db.Exec(sql).Error + sql := fmt.Sprintf("CREATE DATABASE IF NOT EXISTS %s default charset utf8 COLLATE utf8_general_ci;", config.Config.Mysql.DBDatabaseName) + err := db.Exec(sql).Error if err != nil { log.NewError("0", "Exec failed ", err.Error(), sql) panic(err.Error()) } db.Close() - dsn = fmt.Sprintf("%s:%s@tcp(%s)/%s?charset=utf8mb4&parseTime=true&loc=Local", + 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) db, err = gorm.Open("mysql", dsn) if err != nil { From b7a8f6c2a1beb12e7201d3ff8aaeee52c6626420 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Thu, 10 Feb 2022 11:41:34 +0800 Subject: [PATCH 49/75] db --- pkg/common/db/mysql.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkg/common/db/mysql.go b/pkg/common/db/mysql.go index 808cb8fc8..d075510b5 100644 --- a/pkg/common/db/mysql.go +++ b/pkg/common/db/mysql.go @@ -95,7 +95,10 @@ func initMysqlDB() { log.NewInfo("CreateTable Black") db.CreateTable(&Black{}) } - + if !db.HasTable(&ChatLog{}) { + log.NewInfo("CreateTable Black") + db.CreateTable(&ChatLog{}) + } return sqlTable := "CREATE TABLE IF NOT EXISTS `user` (" + From 41dd808c9a901712886359389910bcfeffc6819f Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Thu, 10 Feb 2022 11:47:44 +0800 Subject: [PATCH 50/75] db --- pkg/common/db/mysql.go | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/pkg/common/db/mysql.go b/pkg/common/db/mysql.go index d075510b5..bb5823860 100644 --- a/pkg/common/db/mysql.go +++ b/pkg/common/db/mysql.go @@ -33,23 +33,22 @@ func initMysqlDB() { // } //} + 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) + db, err := gorm.Open("mysql", dsn) + if err != nil { + log.NewError("0", "Open failed ", err.Error(), dsn) + panic(err.Error()) + } //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) - err := db.Exec(sql).Error + err = db.Exec(sql).Error if err != nil { log.NewError("0", "Exec failed ", err.Error(), sql) panic(err.Error()) } db.Close() - 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) - db, err = gorm.Open("mysql", dsn) - if err != nil { - log.NewError("0", "Open failed ", err.Error(), dsn) - panic(err.Error()) - } - log.NewInfo("open db ok ", dsn) db.AutoMigrate(&Friend{}, &FriendRequest{}, From 84a21970273384fbb62d8717a197ee8af4a80aea Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Thu, 10 Feb 2022 11:57:03 +0800 Subject: [PATCH 51/75] db --- pkg/common/db/mysql.go | 45 +++++++++++++++++++++--------------------- 1 file changed, 22 insertions(+), 23 deletions(-) diff --git a/pkg/common/db/mysql.go b/pkg/common/db/mysql.go index bb5823860..ba38f57e9 100644 --- a/pkg/common/db/mysql.go +++ b/pkg/common/db/mysql.go @@ -17,31 +17,25 @@ type mysqlDB struct { func initMysqlDB() { //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 - //db, err := gorm.Open("mysql", dsn) - //if err != nil { - // log.NewError("0", "Open failed ", err.Error(), dsn) - //} - //if err != nil { - // time.Sleep(time.Duration(30) * time.Second) - // db, err1 = gorm.Open("mysql", dsn) - // if err1 != nil { - // log.NewError("0", "Open failed ", err1.Error(), dsn) - // panic(err1.Error()) - // } - //} - 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) + 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", dsn) if err != nil { log.NewError("0", "Open failed ", err.Error(), dsn) - panic(err.Error()) } + if err != nil { + time.Sleep(time.Duration(30) * time.Second) + db, err1 = gorm.Open("mysql", dsn) + if err1 != nil { + log.NewError("0", "Open failed ", err1.Error(), dsn) + panic(err1.Error()) + } + } + //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) + sql := fmt.Sprintf("CREATE DATABASE IF NOT EXISTS %s default charset utf8 COLLATE utf8_general_ci;", config.Config.Mysql.DBDatabaseName+"test1") err = db.Exec(sql).Error if err != nil { log.NewError("0", "Exec failed ", err.Error(), sql) @@ -49,6 +43,14 @@ func initMysqlDB() { } db.Close() + 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) + db, err = gorm.Open("mysql", dsn) + if err != nil { + log.NewError("0", "Open failed ", err.Error(), dsn) + panic(err.Error()) + } + log.NewInfo("open db ok ", dsn) db.AutoMigrate(&Friend{}, &FriendRequest{}, @@ -94,10 +96,7 @@ func initMysqlDB() { log.NewInfo("CreateTable Black") db.CreateTable(&Black{}) } - if !db.HasTable(&ChatLog{}) { - log.NewInfo("CreateTable Black") - db.CreateTable(&ChatLog{}) - } + return sqlTable := "CREATE TABLE IF NOT EXISTS `user` (" + From e02ca2f7e363ee2d4f5602a59313f08306aa9eb1 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Thu, 10 Feb 2022 12:01:00 +0800 Subject: [PATCH 52/75] db --- pkg/common/db/mysql.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/common/db/mysql.go b/pkg/common/db/mysql.go index ba38f57e9..712ba5b2d 100644 --- a/pkg/common/db/mysql.go +++ b/pkg/common/db/mysql.go @@ -35,7 +35,7 @@ func initMysqlDB() { } //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+"test1") + sql := fmt.Sprintf("CREATE DATABASE IF NOT EXISTS %s default charset utf8 COLLATE utf8_general_ci;", config.Config.Mysql.DBDatabaseName) err = db.Exec(sql).Error if err != nil { log.NewError("0", "Exec failed ", err.Error(), sql) From 2c67845dd6f4ee1bfbfa49405e0b9292ac2032c8 Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Thu, 10 Feb 2022 12:28:06 +0800 Subject: [PATCH 53/75] Refactor code --- config/config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/config.yaml b/config/config.yaml index 04f14f854..be5937300 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -226,7 +226,7 @@ notification: groupApplicationAccepted: conversation: - reliabilityLevel: 3 + reliabilityLevel: 2 unreadCount: true offlinePush: switch: false From 548a27fe48a072257522e4eeecad290121b643fb Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Thu, 10 Feb 2022 16:14:18 +0800 Subject: [PATCH 54/75] Refactor code --- internal/rpc/msg/group_notification.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/rpc/msg/group_notification.go b/internal/rpc/msg/group_notification.go index 58898b6de..0b2fc80a3 100644 --- a/internal/rpc/msg/group_notification.go +++ b/internal/rpc/msg/group_notification.go @@ -403,7 +403,7 @@ func MemberEnterNotification(req *pbGroup.GroupApplicationResponseReq) { log.Error(req.OperationID, "setGroupInfo failed ", err.Error(), req.GroupID, MemberEnterTips.Group) return } - if err := setOpUserInfo(req.OpUserID, req.GroupID, MemberEnterTips.EntrantUser); err != nil { + if err := setOpUserInfo(req.FromUserID, req.GroupID, MemberEnterTips.EntrantUser); err != nil { log.Error(req.OperationID, "setOpUserInfo failed ", err.Error(), req.OpUserID, req.GroupID, MemberEnterTips.EntrantUser) return } From 3d5b8287cebe24727b999e60d618324d9044fcba Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Thu, 10 Feb 2022 16:15:57 +0800 Subject: [PATCH 55/75] Refactor code --- internal/rpc/msg/group_notification.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/rpc/msg/group_notification.go b/internal/rpc/msg/group_notification.go index 0b2fc80a3..b252c6513 100644 --- a/internal/rpc/msg/group_notification.go +++ b/internal/rpc/msg/group_notification.go @@ -403,7 +403,7 @@ func MemberEnterNotification(req *pbGroup.GroupApplicationResponseReq) { log.Error(req.OperationID, "setGroupInfo failed ", err.Error(), req.GroupID, MemberEnterTips.Group) return } - if err := setOpUserInfo(req.FromUserID, req.GroupID, MemberEnterTips.EntrantUser); err != nil { + if err := setGroupMemberInfo(req.GroupID, req.FromUserID, MemberEnterTips.EntrantUser); err != nil { log.Error(req.OperationID, "setOpUserInfo failed ", err.Error(), req.OpUserID, req.GroupID, MemberEnterTips.EntrantUser) return } From f67f2a31ee076d506eb1ef2f6b661c4eeefe502c Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Thu, 10 Feb 2022 16:44:58 +0800 Subject: [PATCH 56/75] Refactor code --- internal/api/group/group.go | 1 + pkg/base_info/group_api_struct.go | 16 ++++++++++------ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/internal/api/group/group.go b/internal/api/group/group.go index 8a5edf918..c3a228744 100644 --- a/internal/api/group/group.go +++ b/internal/api/group/group.go @@ -245,6 +245,7 @@ func CreateGroup(c *gin.Context) { c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) return } + // req := &rpc.CreateGroupReq{GroupInfo: &open_im_sdk.GroupInfo{}} utils.CopyStructFields(req.GroupInfo, ¶ms) diff --git a/pkg/base_info/group_api_struct.go b/pkg/base_info/group_api_struct.go index b6db4dcc2..6dc9668c6 100644 --- a/pkg/base_info/group_api_struct.go +++ b/pkg/base_info/group_api_struct.go @@ -81,11 +81,15 @@ type GetGroupAllMemberResp struct { } type CreateGroupReq struct { - MemberList []*GroupAddMemberInfo `json:"memberList" binding:"required"` - OwnerUserID string `json:"ownerUserID" binding:"required"` - GroupName string `json:"groupName"` - GroupType int32 `json:"groupType"` - OperationID string `json:"operationID" binding:"required"` + MemberList []*GroupAddMemberInfo `json:"memberList" binding:"required"` + OwnerUserID string `json:"ownerUserID" binding:"required"` + GroupType int32 `json:"groupType"` + GroupName string `json:"groupName"` + Notification string `json:"notification"` + Introduction string `json:"introduction"` + FaceURL string `json:"faceURL"` + Ex string `json:"ex"` + OperationID string `json:"operationID" binding:"required"` } type CreateGroupResp struct { CommResp @@ -105,7 +109,7 @@ type GetGroupApplicationListResp struct { type GetUserReqGroupApplicationListReq struct { OperationID string `json:"operationID" binding:"required"` - UserID string `json:"userID" binding:"required"` + UserID string `json:"userID" binding:"required"` } type GetUserRespGroupApplicationResp struct { From 6eb44cb9d89c624b3d8606154509560c778e4e56 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Thu, 10 Feb 2022 16:52:18 +0800 Subject: [PATCH 57/75] db --- pkg/common/db/model_struct.go | 2 +- pkg/common/db/mysql_model/im_mysql_msg_model/chat_log_model.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/common/db/model_struct.go b/pkg/common/db/model_struct.go index 25e3bf0cd..0e36add1f 100644 --- a/pkg/common/db/model_struct.go +++ b/pkg/common/db/model_struct.go @@ -181,7 +181,7 @@ type ChatLog struct { SessionType int32 `gorm:"column:session_type" json:"sessionType"` MsgFrom int32 `gorm:"column:msg_from" json:"msgFrom"` ContentType int32 `gorm:"column:content_type" json:"contentType"` - Content string `gorm:"column:content;type:varchar(1000)" json:"content"` + Content []byte `gorm:"column:content;type:varchar(1000)" json:"content"` Status int32 `gorm:"column:status" json:"status"` Seq uint32 `gorm:"column:seq;index:index_seq;default:0" json:"seq"` SendTime time.Time `gorm:"column:send_time" json:"sendTime"` diff --git a/pkg/common/db/mysql_model/im_mysql_msg_model/chat_log_model.go b/pkg/common/db/mysql_model/im_mysql_msg_model/chat_log_model.go index 96d03a7c7..cea33b1a2 100644 --- a/pkg/common/db/mysql_model/im_mysql_msg_model/chat_log_model.go +++ b/pkg/common/db/mysql_model/im_mysql_msg_model/chat_log_model.go @@ -27,7 +27,7 @@ func InsertMessageToChatLog(msg pbMsg.MsgDataToMQ) error { case constant.SingleChatType: chatLog.RecvID = msg.MsgData.RecvID } - chatLog.Content = string(msg.MsgData.Content) + chatLog.Content = msg.MsgData.Content chatLog.CreateTime = utils.UnixMillSecondToTime(msg.MsgData.CreateTime) chatLog.SendTime = utils.UnixMillSecondToTime(msg.MsgData.SendTime) return dbConn.Table("chat_logs").Create(chatLog).Error From c99cbec3dfea97624788dd1ad734ae43d4495ab6 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Thu, 10 Feb 2022 17:13:19 +0800 Subject: [PATCH 58/75] db --- pkg/common/constant/constant.go | 2 ++ pkg/common/db/model_struct.go | 2 +- .../im_mysql_msg_model/chat_log_model.go | 17 ++++++++++++++++- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/pkg/common/constant/constant.go b/pkg/common/constant/constant.go index 0e2bfe4da..81e124476 100644 --- a/pkg/common/constant/constant.go +++ b/pkg/common/constant/constant.go @@ -44,6 +44,7 @@ const ( GroupMsg = 201 //SysRelated + NotificationBegin = 1000 FriendApplicationApprovedNotification = 1201 //add_friend_response FriendApplicationRejectedNotification = 1202 //add_friend_response @@ -66,6 +67,7 @@ const ( MemberKickedNotification = 1508 MemberInvitedNotification = 1509 MemberEnterNotification = 1510 + NotificationEnd = 2000 //MsgFrom UserMsgType = 100 diff --git a/pkg/common/db/model_struct.go b/pkg/common/db/model_struct.go index 0e36add1f..25e3bf0cd 100644 --- a/pkg/common/db/model_struct.go +++ b/pkg/common/db/model_struct.go @@ -181,7 +181,7 @@ type ChatLog struct { SessionType int32 `gorm:"column:session_type" json:"sessionType"` MsgFrom int32 `gorm:"column:msg_from" json:"msgFrom"` ContentType int32 `gorm:"column:content_type" json:"contentType"` - Content []byte `gorm:"column:content;type:varchar(1000)" json:"content"` + Content string `gorm:"column:content;type:varchar(1000)" json:"content"` Status int32 `gorm:"column:status" json:"status"` Seq uint32 `gorm:"column:seq;index:index_seq;default:0" json:"seq"` SendTime time.Time `gorm:"column:send_time" json:"sendTime"` diff --git a/pkg/common/db/mysql_model/im_mysql_msg_model/chat_log_model.go b/pkg/common/db/mysql_model/im_mysql_msg_model/chat_log_model.go index cea33b1a2..fef4c1fb2 100644 --- a/pkg/common/db/mysql_model/im_mysql_msg_model/chat_log_model.go +++ b/pkg/common/db/mysql_model/im_mysql_msg_model/chat_log_model.go @@ -10,7 +10,10 @@ import ( "Open_IM/pkg/common/constant" "Open_IM/pkg/common/db" pbMsg "Open_IM/pkg/proto/chat" + "Open_IM/pkg/proto/sdk_ws" "Open_IM/pkg/utils" + "github.com/golang/protobuf/jsonpb" + "github.com/golang/protobuf/proto" "github.com/jinzhu/copier" ) @@ -27,7 +30,19 @@ func InsertMessageToChatLog(msg pbMsg.MsgDataToMQ) error { case constant.SingleChatType: chatLog.RecvID = msg.MsgData.RecvID } - chatLog.Content = msg.MsgData.Content + if msg.MsgData.ContentType >= constant.NotificationBegin && msg.MsgData.ContentType <= constant.NotificationEnd { + var tips server_api_params.TipsComm + _ = proto.Unmarshal(msg.MsgData.Content, &tips) + marshaler := jsonpb.Marshaler{ + OrigName: true, + EnumsAsInts: false, + EmitDefaults: false, + } + chatLog.Content, _ = marshaler.MarshalToString(&tips) + + } else { + chatLog.Content = string(msg.MsgData.Content) + } chatLog.CreateTime = utils.UnixMillSecondToTime(msg.MsgData.CreateTime) chatLog.SendTime = utils.UnixMillSecondToTime(msg.MsgData.SendTime) return dbConn.Table("chat_logs").Create(chatLog).Error From bf6efc3530b3a783eb44b545b871bc51c49ac0b2 Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Thu, 10 Feb 2022 18:32:02 +0800 Subject: [PATCH 59/75] Refactor code --- internal/rpc/msg/friend_notification.go | 9 ++ internal/rpc/msg/group_notification.go | 8 ++ pkg/proto/sdk_ws/ws.pb.go | 161 +++++++++++++----------- pkg/proto/sdk_ws/ws.proto | 1 + 4 files changed, 103 insertions(+), 76 deletions(-) diff --git a/internal/rpc/msg/friend_notification.go b/internal/rpc/msg/friend_notification.go index 231906fa8..91d926bf9 100644 --- a/internal/rpc/msg/friend_notification.go +++ b/internal/rpc/msg/friend_notification.go @@ -9,6 +9,7 @@ import ( pbFriend "Open_IM/pkg/proto/friend" open_im_sdk "Open_IM/pkg/proto/sdk_ws" "Open_IM/pkg/utils" + "github.com/golang/protobuf/jsonpb" "github.com/golang/protobuf/proto" ) @@ -34,6 +35,14 @@ func friendNotification(commID *pbFriend.CommID, contentType int32, m proto.Mess return } + marshaler := jsonpb.Marshaler{ + OrigName: true, + EnumsAsInts: false, + EmitDefaults: false, + } + + tips.JsonDetail, _ = marshaler.MarshalToString(m) + fromUserNickname, toUserNickname, err := getFromToUserNickname(commID.FromUserID, commID.ToUserID) if err != nil { log.Error(commID.OperationID, "getFromToUserNickname failed ", err.Error(), commID.FromUserID, commID.ToUserID) diff --git a/internal/rpc/msg/group_notification.go b/internal/rpc/msg/group_notification.go index b252c6513..16c81600a 100644 --- a/internal/rpc/msg/group_notification.go +++ b/internal/rpc/msg/group_notification.go @@ -10,6 +10,7 @@ import ( pbGroup "Open_IM/pkg/proto/group" open_im_sdk "Open_IM/pkg/proto/sdk_ws" "Open_IM/pkg/utils" + "github.com/golang/protobuf/jsonpb" "github.com/golang/protobuf/proto" ) @@ -109,6 +110,13 @@ func groupNotification(contentType int32, m proto.Message, sendID, groupID, recv log.Error(operationID, "Marshal failed ", err.Error(), m.String()) return } + marshaler := jsonpb.Marshaler{ + OrigName: true, + EnumsAsInts: false, + EmitDefaults: false, + } + + tips.JsonDetail, _ = marshaler.MarshalToString(m) from, err := imdb.GetUserByUserID(sendID) if err != nil { diff --git a/pkg/proto/sdk_ws/ws.pb.go b/pkg/proto/sdk_ws/ws.pb.go index c99165093..59c51c7f6 100644 --- a/pkg/proto/sdk_ws/ws.pb.go +++ b/pkg/proto/sdk_ws/ws.pb.go @@ -40,7 +40,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_dd0597f97f3a9074, []int{0} + return fileDescriptor_ws_36d5733e27207cb1, []int{0} } func (m *GroupInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfo.Unmarshal(m, b) @@ -164,7 +164,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_dd0597f97f3a9074, []int{1} + return fileDescriptor_ws_36d5733e27207cb1, []int{1} } func (m *GroupMemberFullInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMemberFullInfo.Unmarshal(m, b) @@ -269,7 +269,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_dd0597f97f3a9074, []int{2} + return fileDescriptor_ws_36d5733e27207cb1, []int{2} } func (m *PublicUserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PublicUserInfo.Unmarshal(m, b) @@ -344,7 +344,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_dd0597f97f3a9074, []int{3} + return fileDescriptor_ws_36d5733e27207cb1, []int{3} } func (m *UserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfo.Unmarshal(m, b) @@ -451,7 +451,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_dd0597f97f3a9074, []int{4} + return fileDescriptor_ws_36d5733e27207cb1, []int{4} } func (m *FriendInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendInfo.Unmarshal(m, b) @@ -536,7 +536,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_dd0597f97f3a9074, []int{5} + return fileDescriptor_ws_36d5733e27207cb1, []int{5} } func (m *BlackInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackInfo.Unmarshal(m, b) @@ -617,7 +617,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_dd0597f97f3a9074, []int{6} + return fileDescriptor_ws_36d5733e27207cb1, []int{6} } func (m *GroupRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupRequest.Unmarshal(m, b) @@ -725,7 +725,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_dd0597f97f3a9074, []int{7} + return fileDescriptor_ws_36d5733e27207cb1, []int{7} } func (m *FriendRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendRequest.Unmarshal(m, b) @@ -863,7 +863,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_dd0597f97f3a9074, []int{8} + return fileDescriptor_ws_36d5733e27207cb1, []int{8} } func (m *PullMessageBySeqListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListResp.Unmarshal(m, b) @@ -917,7 +917,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_dd0597f97f3a9074, []int{9} + return fileDescriptor_ws_36d5733e27207cb1, []int{9} } func (m *PullMessageBySeqListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListReq.Unmarshal(m, b) @@ -968,7 +968,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_dd0597f97f3a9074, []int{10} + return fileDescriptor_ws_36d5733e27207cb1, []int{10} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -1000,7 +1000,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_dd0597f97f3a9074, []int{11} + return fileDescriptor_ws_36d5733e27207cb1, []int{11} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -1047,7 +1047,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_dd0597f97f3a9074, []int{12} + return fileDescriptor_ws_36d5733e27207cb1, []int{12} } func (m *UserSendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserSendMsgResp.Unmarshal(m, b) @@ -1116,7 +1116,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_dd0597f97f3a9074, []int{13} + return fileDescriptor_ws_36d5733e27207cb1, []int{13} } func (m *MsgData) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgData.Unmarshal(m, b) @@ -1277,7 +1277,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_dd0597f97f3a9074, []int{14} + return fileDescriptor_ws_36d5733e27207cb1, []int{14} } func (m *OfflinePushInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OfflinePushInfo.Unmarshal(m, b) @@ -1335,6 +1335,7 @@ func (m *OfflinePushInfo) GetIOSBadgeCount() bool { 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:"-"` @@ -1344,7 +1345,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_dd0597f97f3a9074, []int{15} + return fileDescriptor_ws_36d5733e27207cb1, []int{15} } func (m *TipsComm) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TipsComm.Unmarshal(m, b) @@ -1378,6 +1379,13 @@ func (m *TipsComm) GetDefaultTips() string { 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"` @@ -1394,7 +1402,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_dd0597f97f3a9074, []int{16} + return fileDescriptor_ws_36d5733e27207cb1, []int{16} } func (m *GroupCreatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupCreatedTips.Unmarshal(m, b) @@ -1463,7 +1471,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_dd0597f97f3a9074, []int{17} + return fileDescriptor_ws_36d5733e27207cb1, []int{17} } func (m *GroupInfoSetTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfoSetTips.Unmarshal(m, b) @@ -1518,7 +1526,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_dd0597f97f3a9074, []int{18} + return fileDescriptor_ws_36d5733e27207cb1, []int{18} } func (m *JoinGroupApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_JoinGroupApplicationTips.Unmarshal(m, b) @@ -1574,7 +1582,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_dd0597f97f3a9074, []int{19} + return fileDescriptor_ws_36d5733e27207cb1, []int{19} } func (m *MemberQuitTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberQuitTips.Unmarshal(m, b) @@ -1629,7 +1637,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_dd0597f97f3a9074, []int{20} + return fileDescriptor_ws_36d5733e27207cb1, []int{20} } func (m *GroupApplicationAcceptedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationAcceptedTips.Unmarshal(m, b) @@ -1684,7 +1692,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_dd0597f97f3a9074, []int{21} + return fileDescriptor_ws_36d5733e27207cb1, []int{21} } func (m *GroupApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationRejectedTips.Unmarshal(m, b) @@ -1740,7 +1748,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_dd0597f97f3a9074, []int{22} + return fileDescriptor_ws_36d5733e27207cb1, []int{22} } func (m *GroupOwnerTransferredTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupOwnerTransferredTips.Unmarshal(m, b) @@ -1803,7 +1811,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_dd0597f97f3a9074, []int{23} + return fileDescriptor_ws_36d5733e27207cb1, []int{23} } func (m *MemberKickedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberKickedTips.Unmarshal(m, b) @@ -1866,7 +1874,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_dd0597f97f3a9074, []int{24} + return fileDescriptor_ws_36d5733e27207cb1, []int{24} } func (m *MemberInvitedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberInvitedTips.Unmarshal(m, b) @@ -1928,7 +1936,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_dd0597f97f3a9074, []int{25} + return fileDescriptor_ws_36d5733e27207cb1, []int{25} } func (m *MemberEnterTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberEnterTips.Unmarshal(m, b) @@ -1982,7 +1990,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_dd0597f97f3a9074, []int{26} + return fileDescriptor_ws_36d5733e27207cb1, []int{26} } func (m *FriendApplication) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplication.Unmarshal(m, b) @@ -2035,7 +2043,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_dd0597f97f3a9074, []int{27} + return fileDescriptor_ws_36d5733e27207cb1, []int{27} } func (m *FromToUserID) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FromToUserID.Unmarshal(m, b) @@ -2081,7 +2089,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_dd0597f97f3a9074, []int{28} + return fileDescriptor_ws_36d5733e27207cb1, []int{28} } func (m *FriendApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationTips.Unmarshal(m, b) @@ -2121,7 +2129,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_dd0597f97f3a9074, []int{29} + return fileDescriptor_ws_36d5733e27207cb1, []int{29} } func (m *FriendApplicationApprovedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationApprovedTips.Unmarshal(m, b) @@ -2168,7 +2176,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_dd0597f97f3a9074, []int{30} + return fileDescriptor_ws_36d5733e27207cb1, []int{30} } func (m *FriendApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationRejectedTips.Unmarshal(m, b) @@ -2216,7 +2224,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_dd0597f97f3a9074, []int{31} + return fileDescriptor_ws_36d5733e27207cb1, []int{31} } func (m *FriendAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendAddedTips.Unmarshal(m, b) @@ -2269,7 +2277,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_dd0597f97f3a9074, []int{32} + return fileDescriptor_ws_36d5733e27207cb1, []int{32} } func (m *FriendDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendDeletedTips.Unmarshal(m, b) @@ -2307,7 +2315,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_dd0597f97f3a9074, []int{33} + return fileDescriptor_ws_36d5733e27207cb1, []int{33} } func (m *BlackAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackAddedTips.Unmarshal(m, b) @@ -2345,7 +2353,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_dd0597f97f3a9074, []int{34} + return fileDescriptor_ws_36d5733e27207cb1, []int{34} } func (m *BlackDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackDeletedTips.Unmarshal(m, b) @@ -2383,7 +2391,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_dd0597f97f3a9074, []int{35} + return fileDescriptor_ws_36d5733e27207cb1, []int{35} } func (m *FriendInfoChangedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendInfoChangedTips.Unmarshal(m, b) @@ -2422,7 +2430,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_dd0597f97f3a9074, []int{36} + return fileDescriptor_ws_36d5733e27207cb1, []int{36} } func (m *UserInfoUpdatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfoUpdatedTips.Unmarshal(m, b) @@ -2490,10 +2498,10 @@ func init() { proto.RegisterType((*UserInfoUpdatedTips)(nil), "server_api_params.UserInfoUpdatedTips") } -func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_dd0597f97f3a9074) } +func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_36d5733e27207cb1) } -var fileDescriptor_ws_dd0597f97f3a9074 = []byte{ - // 1901 bytes of a gzipped FileDescriptorProto +var fileDescriptor_ws_36d5733e27207cb1 = []byte{ + // 1911 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x59, 0x4f, 0x6f, 0x23, 0x4b, 0x11, 0xd7, 0xd8, 0xb1, 0x63, 0x97, 0xe3, 0x38, 0x3b, 0xfb, 0x58, 0xcc, 0xb2, 0x6f, 0x09, 0xa3, 0xa7, 0xc7, 0x0a, 0x89, 0x20, 0x2d, 0x42, 0x82, 0x45, 0x80, 0xb2, 0xc9, 0x26, 0xec, 0x23, 0x4e, @@ -2577,40 +2585,41 @@ var fileDescriptor_ws_dd0597f97f3a9074 = []byte{ 0x75, 0x1a, 0xa5, 0x31, 0xd1, 0x1a, 0x14, 0xe1, 0xba, 0xb0, 0x16, 0x12, 0x31, 0xd2, 0x29, 0x8c, 0xbf, 0x75, 0x27, 0xab, 0x17, 0xe3, 0xa2, 0xbc, 0xe8, 0x9d, 0x0c, 0xa5, 0xa2, 0x21, 0xcb, 0x68, 0x58, 0x5c, 0xf4, 0x0c, 0x9e, 0x4c, 0xa1, 0xe8, 0x64, 0xf8, 0x3c, 0x08, 0x27, 0x44, 0x5d, 0xc7, - 0x1a, 0x68, 0x93, 0xcd, 0xf4, 0xf6, 0xa1, 0x75, 0x16, 0x25, 0x62, 0x8f, 0x4d, 0xa7, 0x32, 0x10, - 0x21, 0x49, 0xe5, 0xac, 0xea, 0x60, 0xbc, 0x35, 0x25, 0x53, 0x25, 0x24, 0xe3, 0x20, 0x8b, 0x53, - 0xb9, 0x34, 0x2f, 0x5c, 0x83, 0xe5, 0xfd, 0xbd, 0x06, 0x5b, 0x38, 0x18, 0xec, 0x61, 0x58, 0x43, - 0xc9, 0x74, 0x9f, 0x42, 0x03, 0xcb, 0x4c, 0x0f, 0x23, 0x37, 0x0f, 0x13, 0x6a, 0xa9, 0xfb, 0x23, - 0x68, 0xb2, 0x04, 0x47, 0x4a, 0x35, 0x81, 0x7c, 0x7c, 0x9d, 0x90, 0x7d, 0xa7, 0xf3, 0xb5, 0x94, - 0x7b, 0x00, 0xa0, 0xae, 0x9b, 0x47, 0x65, 0x6b, 0x5e, 0x56, 0x87, 0x21, 0x29, 0xc1, 0x2b, 0xda, - 0xac, 0x71, 0xb1, 0xb3, 0x99, 0xee, 0x31, 0x6c, 0xa2, 0xd9, 0x27, 0xf9, 0x54, 0x89, 0x18, 0x2f, - 0xbf, 0x63, 0x45, 0xda, 0xfb, 0xbd, 0xa3, 0x61, 0x94, 0x5f, 0x87, 0x04, 0xb1, 0x35, 0x20, 0x71, - 0x56, 0x82, 0xe4, 0x21, 0xb4, 0xa6, 0x99, 0x31, 0xe4, 0xd6, 0xfd, 0x82, 0x2e, 0x43, 0x54, 0x5f, - 0x3a, 0x44, 0xde, 0x1f, 0x1c, 0xe8, 0x7f, 0xc2, 0x22, 0x8a, 0x1f, 0x76, 0x93, 0x24, 0xd6, 0xaf, - 0x0f, 0x2b, 0xc7, 0xfc, 0xc7, 0xd0, 0x0e, 0x94, 0x1a, 0x9a, 0xea, 0xb0, 0x2f, 0x31, 0xb8, 0x96, - 0x32, 0xc6, 0x0c, 0x52, 0x37, 0x67, 0x10, 0xef, 0x4f, 0x0e, 0x6c, 0x2a, 0x50, 0x7e, 0x96, 0x45, - 0xe9, 0xca, 0xf6, 0x3d, 0x87, 0xd6, 0x2c, 0x8b, 0xd2, 0x15, 0xb2, 0xb2, 0x90, 0x9b, 0xcf, 0xa7, - 0xfa, 0x82, 0x7c, 0xf2, 0xfe, 0xec, 0xc0, 0xa3, 0x2a, 0xac, 0xbb, 0xa3, 0x11, 0x49, 0xee, 0xb2, - 0xa4, 0xac, 0x19, 0x6c, 0xad, 0x32, 0x83, 0x2d, 0x34, 0xd9, 0x27, 0x9f, 0x91, 0xd1, 0x17, 0xd7, - 0xe4, 0x5f, 0xd7, 0xe0, 0x2b, 0x87, 0x45, 0xe1, 0x9d, 0xf1, 0x80, 0x8a, 0x31, 0xe1, 0xfc, 0x0e, - 0xed, 0x3d, 0x82, 0x2e, 0x25, 0x6f, 0x4a, 0x9b, 0x74, 0x39, 0x2e, 0xab, 0xc6, 0x16, 0x5e, 0xae, - 0x77, 0x79, 0xff, 0x75, 0x60, 0x4b, 0xe9, 0xf9, 0x69, 0x34, 0xba, 0xbc, 0x43, 0xe7, 0x8f, 0x61, - 0xf3, 0x12, 0x2d, 0x90, 0xd4, 0x0a, 0x6d, 0xbb, 0x22, 0xbd, 0xa4, 0xfb, 0xff, 0x73, 0xe0, 0x9e, - 0x52, 0xf4, 0x92, 0x5e, 0x45, 0x77, 0x99, 0xac, 0xa7, 0xd0, 0x8b, 0x94, 0x09, 0x2b, 0x02, 0x50, - 0x15, 0x5f, 0x12, 0x81, 0xbf, 0x38, 0xd0, 0x53, 0x9a, 0x5e, 0xd0, 0x94, 0xf0, 0x95, 0xfd, 0xff, - 0x09, 0x74, 0x08, 0x4d, 0x79, 0x40, 0x57, 0xe9, 0x90, 0xa6, 0xe8, 0x92, 0x4d, 0xf2, 0x12, 0xee, - 0xa9, 0x2b, 0xba, 0xd1, 0x71, 0xe4, 0xac, 0x1a, 0x84, 0x6a, 0xfc, 0x74, 0x50, 0x28, 0x27, 0xed, - 0xc7, 0x17, 0xfd, 0xaa, 0x5e, 0x3e, 0xbe, 0x3c, 0x06, 0x08, 0xc2, 0xf0, 0x53, 0xc6, 0xc3, 0x88, - 0xe6, 0xc7, 0x87, 0xc1, 0xf1, 0x3e, 0x81, 0x0d, 0x39, 0x2d, 0x9f, 0x19, 0x97, 0xed, 0x1b, 0x9f, - 0x03, 0xcc, 0x8b, 0x7a, 0xcd, 0xbe, 0xa8, 0x7b, 0xbf, 0x80, 0x2f, 0xcd, 0x19, 0x8e, 0xa8, 0xef, - 0xa9, 0x37, 0x84, 0x7c, 0x13, 0x0d, 0xfe, 0xd7, 0x16, 0x40, 0x68, 0xda, 0xe2, 0x5b, 0x42, 0xde, - 0xaf, 0x1c, 0xf8, 0x70, 0x4e, 0xfd, 0x6e, 0x92, 0x70, 0x76, 0xa5, 0x93, 0xfb, 0x36, 0xb6, 0xb1, - 0x5b, 0x6b, 0xad, 0xda, 0x5a, 0x17, 0x1a, 0x61, 0x1d, 0x07, 0xef, 0xc1, 0x88, 0x3f, 0x3a, 0xd0, - 0xd3, 0x46, 0x84, 0xa1, 0xde, 0xf6, 0xbb, 0xd0, 0x54, 0xef, 0x8f, 0x7a, 0xc3, 0x0f, 0x17, 0x6e, - 0x98, 0xbf, 0x9b, 0xfa, 0x7a, 0xf1, 0x7c, 0x46, 0xd6, 0x16, 0x8d, 0x81, 0xdf, 0x2f, 0x3a, 0xc0, - 0xd2, 0x2f, 0x84, 0x5a, 0xc0, 0xfb, 0x79, 0x9e, 0xcc, 0xfb, 0x24, 0x26, 0xb7, 0x89, 0x91, 0xf7, - 0x0a, 0x36, 0xf1, 0x31, 0xb4, 0xc4, 0xe0, 0x56, 0xd4, 0x7e, 0x0a, 0x5b, 0xa8, 0xf6, 0xd6, 0xed, - 0x2d, 0xaa, 0x43, 0xe2, 0xb3, 0x77, 0x11, 0xd0, 0xc9, 0x6d, 0x6a, 0xff, 0x16, 0xdc, 0xcf, 0xb1, - 0x7f, 0x95, 0x84, 0xc5, 0x15, 0xe5, 0x9a, 0x87, 0x97, 0xf3, 0x26, 0xfe, 0x99, 0xf7, 0x9d, 0xff, - 0x07, 0x00, 0x00, 0xff, 0xff, 0x5a, 0xb7, 0x8c, 0x6a, 0xdf, 0x1b, 0x00, 0x00, + 0x1a, 0x68, 0x93, 0xcd, 0xf4, 0x42, 0x68, 0x9d, 0x45, 0x89, 0xd8, 0x63, 0xd3, 0xa9, 0x0c, 0x44, + 0x48, 0x52, 0x39, 0xab, 0x3a, 0x18, 0x6f, 0x4d, 0xc9, 0x54, 0x09, 0xc9, 0x38, 0xc8, 0xe2, 0x54, + 0x2e, 0xcd, 0x0b, 0xd7, 0x60, 0xe1, 0x45, 0x44, 0x30, 0xba, 0xaf, 0xa4, 0x95, 0x9d, 0x06, 0xc7, + 0xfb, 0x7b, 0x0d, 0xb6, 0x70, 0x70, 0xd8, 0xc3, 0xb0, 0x87, 0x28, 0xf4, 0x14, 0x1a, 0x58, 0x86, + 0x7a, 0x58, 0xb9, 0x79, 0xd8, 0x50, 0x4b, 0xdd, 0x1f, 0x41, 0x93, 0x25, 0x38, 0x72, 0xaa, 0x09, + 0xe5, 0xe3, 0xeb, 0x84, 0xec, 0x3b, 0x9f, 0xaf, 0xa5, 0xdc, 0x03, 0x00, 0x75, 0x1d, 0x3d, 0x2a, + 0x5b, 0xf7, 0xb2, 0x3a, 0x0c, 0x49, 0x09, 0x6e, 0xd1, 0x86, 0x8d, 0x8b, 0x9f, 0xcd, 0x74, 0x8f, + 0x61, 0x13, 0xcd, 0x3e, 0xc9, 0xa7, 0x4e, 0x8c, 0xc1, 0xf2, 0x3b, 0x56, 0xa4, 0xbd, 0xdf, 0x3b, + 0x1a, 0x46, 0xf9, 0x75, 0x48, 0x14, 0xf6, 0x25, 0x24, 0xce, 0x4a, 0x90, 0x3c, 0x84, 0xd6, 0x34, + 0x33, 0x86, 0xe0, 0xba, 0x5f, 0xd0, 0x65, 0x88, 0xea, 0x4b, 0x87, 0xc8, 0xfb, 0x83, 0x03, 0xfd, + 0x4f, 0x58, 0x44, 0xf1, 0xc3, 0x6e, 0x92, 0xc4, 0xfa, 0x75, 0x62, 0xe5, 0x98, 0xff, 0x18, 0xda, + 0x81, 0x52, 0x43, 0x53, 0x1d, 0xf6, 0x25, 0x06, 0xdb, 0x52, 0xc6, 0x98, 0x51, 0xea, 0xe6, 0x8c, + 0xe2, 0xfd, 0xc9, 0x81, 0x4d, 0x05, 0xca, 0xcf, 0xb2, 0x28, 0x5d, 0xd9, 0xbe, 0xe7, 0xd0, 0x9a, + 0x65, 0x51, 0xba, 0x42, 0x56, 0x16, 0x72, 0xf3, 0xf9, 0x54, 0x5f, 0x90, 0x4f, 0xde, 0x9f, 0x1d, + 0x78, 0x54, 0x85, 0x75, 0x77, 0x34, 0x22, 0xc9, 0x5d, 0x96, 0x94, 0x35, 0xa3, 0xad, 0x55, 0x66, + 0xb4, 0x85, 0x26, 0xfb, 0xe4, 0x33, 0x32, 0xfa, 0xe2, 0x9a, 0xfc, 0xeb, 0x1a, 0x7c, 0xe5, 0xb0, + 0x28, 0xbc, 0x33, 0x1e, 0x50, 0x31, 0x26, 0x9c, 0xdf, 0xa1, 0xbd, 0x47, 0xd0, 0xa5, 0xe4, 0x4d, + 0x69, 0x93, 0x2e, 0xc7, 0x65, 0xd5, 0xd8, 0xc2, 0xcb, 0xf5, 0x2e, 0xef, 0xbf, 0x0e, 0x6c, 0x29, + 0x3d, 0x3f, 0x8d, 0x46, 0x97, 0x77, 0xe8, 0xfc, 0x31, 0x6c, 0x5e, 0xa2, 0x05, 0x92, 0x5a, 0xa1, + 0x6d, 0x57, 0xa4, 0x97, 0x74, 0xff, 0x7f, 0x0e, 0xdc, 0x53, 0x8a, 0x5e, 0xd2, 0xab, 0xe8, 0x2e, + 0x93, 0xf5, 0x14, 0x7a, 0x91, 0x32, 0x61, 0x45, 0x00, 0xaa, 0xe2, 0x4b, 0x22, 0xf0, 0x17, 0x07, + 0x7a, 0x4a, 0xd3, 0x0b, 0x9a, 0x12, 0xbe, 0xb2, 0xff, 0x3f, 0x81, 0x0e, 0xa1, 0x29, 0x0f, 0xe8, + 0x2a, 0x1d, 0xd2, 0x14, 0x5d, 0xb2, 0x49, 0x5e, 0xc2, 0x3d, 0x75, 0x85, 0x37, 0x3a, 0x8e, 0x9c, + 0x65, 0x83, 0x50, 0x8d, 0xa7, 0x0e, 0x0a, 0xe5, 0xa4, 0xfd, 0x38, 0xa3, 0x5f, 0xdd, 0xcb, 0xc7, + 0x99, 0xc7, 0x00, 0x41, 0x18, 0x7e, 0xca, 0x78, 0x18, 0xd1, 0xfc, 0xf8, 0x30, 0x38, 0xde, 0x27, + 0xb0, 0x21, 0xa7, 0xe9, 0x33, 0xe3, 0x32, 0x7e, 0xe3, 0x73, 0x81, 0x79, 0x91, 0xaf, 0xd9, 0x17, + 0x79, 0xef, 0x17, 0xf0, 0xa5, 0x39, 0xc3, 0x11, 0xf5, 0x3d, 0xf5, 0xc6, 0x90, 0x6f, 0xa2, 0xc1, + 0xff, 0xda, 0x02, 0x08, 0x4d, 0x5b, 0x7c, 0x4b, 0xc8, 0xfb, 0x95, 0x03, 0x1f, 0xce, 0xa9, 0xdf, + 0x4d, 0x12, 0xce, 0xae, 0x74, 0x72, 0xdf, 0xc6, 0x36, 0x76, 0x6b, 0xad, 0x55, 0x5b, 0xeb, 0x42, + 0x23, 0xac, 0xe3, 0xe0, 0x3d, 0x18, 0xf1, 0x47, 0x07, 0x7a, 0xda, 0x88, 0x30, 0xd4, 0xdb, 0x7e, + 0x17, 0x9a, 0xea, 0x7d, 0x52, 0x6f, 0xf8, 0xe1, 0xc2, 0x0d, 0xf3, 0x77, 0x55, 0x5f, 0x2f, 0x9e, + 0xcf, 0xc8, 0xda, 0xa2, 0x31, 0xf0, 0xfb, 0x45, 0x07, 0x58, 0xfa, 0x05, 0x51, 0x0b, 0x78, 0x3f, + 0xcf, 0x93, 0x79, 0x9f, 0xc4, 0xe4, 0x36, 0x31, 0xf2, 0x5e, 0xc1, 0x26, 0x3e, 0x96, 0x96, 0x18, + 0xdc, 0x8a, 0xda, 0x4f, 0x61, 0x0b, 0xd5, 0xde, 0xba, 0xbd, 0x45, 0x75, 0x48, 0x7c, 0xf6, 0x2e, + 0x02, 0x3a, 0xb9, 0x4d, 0xed, 0xdf, 0x82, 0xfb, 0x39, 0xf6, 0xaf, 0x92, 0xb0, 0xb8, 0xa2, 0x5c, + 0xf3, 0x30, 0x73, 0xde, 0xc4, 0x3f, 0xfb, 0xbe, 0xf3, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe5, + 0xdc, 0xac, 0x39, 0xff, 0x1b, 0x00, 0x00, } diff --git a/pkg/proto/sdk_ws/ws.proto b/pkg/proto/sdk_ws/ws.proto index a3f018db3..511409227 100644 --- a/pkg/proto/sdk_ws/ws.proto +++ b/pkg/proto/sdk_ws/ws.proto @@ -170,6 +170,7 @@ message OfflinePushInfo{ message TipsComm{ bytes detail = 1; string defaultTips = 2; + string jsonDetail = 3; } //////////////////////group///////////////////// From a885d7f00335a80bc1652cfbc5a16fae68785e08 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Fri, 11 Feb 2022 16:25:28 +0800 Subject: [PATCH 60/75] demo modify --- config/config.yaml | 14 +- internal/demo/register/login.go | 90 +++-------- internal/demo/register/send_code.go | 98 +++++------- internal/demo/register/set_password.go | 143 +++++------------- internal/demo/register/verify.go | 25 ++- pkg/common/config/config.go | 9 +- pkg/common/constant/error.go | 24 ++- pkg/common/db/model_struct.go | 7 +- pkg/common/db/mysql.go | 10 +- .../mysql_model/im_mysql_model/demo_model.go | 58 ++----- pkg/common/db/redisModel.go | 14 ++ 11 files changed, 181 insertions(+), 311 deletions(-) diff --git a/config/config.yaml b/config/config.yaml index be5937300..9fca55ef2 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -433,11 +433,17 @@ demo: signName: OpenIM Corporation verificationCodeTemplateCode: SMS_2268101641 superCode: 666666 + # second + superCodeTTL: 60 mail: title: "openIM" -senderMail: "1765567899@qq.com" -senderAuthorizationCode: "1gxyausfoevlzbfag" -smtpAddr: "smtp.qq.com" -smtpPort: 25 + senderMail: "1765567899@qq.com" + senderAuthorizationCode: "1gxyausfoevlzbfag" + smtpAddr: "smtp.qq.com" + smtpPort: 25 + errMsg: + hasRegistered: "用户已经注册" + mailSendCodeErr: "邮件发送失败" + diff --git a/internal/demo/register/login.go b/internal/demo/register/login.go index b6702bbf4..944a9d039 100644 --- a/internal/demo/register/login.go +++ b/internal/demo/register/login.go @@ -1,16 +1,16 @@ package register import ( + api "Open_IM/pkg/base_info" "Open_IM/pkg/common/config" "Open_IM/pkg/common/constant" "Open_IM/pkg/common/db/mysql_model/im_mysql_model" + http2 "Open_IM/pkg/common/http" "Open_IM/pkg/common/log" "Open_IM/pkg/utils" - "bytes" "encoding/json" "fmt" "github.com/gin-gonic/gin" - "io/ioutil" "net/http" ) @@ -19,16 +19,15 @@ type ParamsLogin struct { PhoneNumber string `json:"phoneNumber"` Password string `json:"password"` Platform int32 `json:"platform"` + OperationID string `json:"operationID" binding:"required"` } func Login(c *gin.Context) { - log.NewDebug("Login api is statrting...") params := ParamsLogin{} if err := c.BindJSON(¶ms); err != nil { c.JSON(http.StatusBadRequest, gin.H{"errCode": constant.FormattingError, "errMsg": err.Error()}) return } - var account string if params.Email != "" { account = params.Email @@ -36,77 +35,36 @@ func Login(c *gin.Context) { account = params.PhoneNumber } - log.InfoByKv("api Login get params", account) - - queryParams := im_mysql_model.Register{ - Account: account, - Password: params.Password, - } - - canLogin := im_mysql_model.Login(&queryParams) - if canLogin == 1 { - log.ErrorByKv("Incorrect phone number password", account, "err", "Mobile phone number is not registered") - c.JSON(http.StatusOK, gin.H{"errCode": constant.LogicalError, "errMsg": "Mobile phone number is not registered"}) - return - } - if canLogin == 2 { - log.ErrorByKv("Incorrect phone number password", account, "err", "Incorrect password") - c.JSON(http.StatusOK, gin.H{"errCode": constant.LogicalError, "errMsg": "Incorrect password"}) - return - } - - resp, err := OpenIMToken(account, params.Platform) + r, err := im_mysql_model.GetRegister(account) if err != nil { - log.ErrorByKv("get token by phone number err", account, "err", err.Error()) - c.JSON(http.StatusOK, gin.H{"errCode": constant.HttpError, "errMsg": err.Error()}) + log.NewError(params.OperationID, "user have not register", params.Password, account) + c.JSON(http.StatusOK, gin.H{"errCode": constant.NotRegistered, "errMsg": "Mobile phone number is not registered"}) return } - response, err := ioutil.ReadAll(resp.Body) - defer resp.Body.Close() - if err != nil { - log.ErrorByKv("Failed to read file", account, "err", err.Error()) - c.JSON(http.StatusOK, gin.H{"errCode": constant.IoError, "errMsg": err.Error()}) + if r.Password != params.Password { + log.NewError(params.OperationID, "password err", params.Password, account, r.Password, r.Account) + c.JSON(http.StatusOK, gin.H{"errCode": constant.PasswordErr, "errMsg": "Mobile phone number is not registered"}) return } - imRep := IMRegisterResp{} - err = json.Unmarshal(response, &imRep) + url := fmt.Sprintf("http://%s:10000/auth/user_token", utils.ServerIP) + openIMGetUserToken := api.UserTokenReq{} + openIMGetUserToken.OperationID = params.OperationID + openIMGetUserToken.Platform = params.Platform + openIMGetUserToken.Secret = config.Config.Secret + openIMGetUserToken.UserID = account + openIMGetUserTokenResp := api.UserTokenResp{} + bMsg, err := http2.Post(url, openIMGetUserToken, config.Config.MessageCallBack.CallBackTimeOut) if err != nil { - log.ErrorByKv("json parsing failed", account, "err", err.Error()) - c.JSON(http.StatusOK, gin.H{"errCode": constant.FormattingError, "errMsg": err.Error()}) + log.NewError(params.OperationID, "request openIM get user token error", account, "err", err.Error()) + c.JSON(http.StatusOK, gin.H{"errCode": constant.GetIMTokenErr, "errMsg": err.Error()}) return } - - if imRep.ErrCode != 0 { - log.ErrorByKv("openIM Login request failed", account, "err") - c.JSON(http.StatusOK, gin.H{"errCode": constant.HttpError, "errMsg": imRep.ErrMsg}) + err = json.Unmarshal(bMsg, &openIMGetUserTokenResp) + if err != nil || openIMGetUserTokenResp.ErrCode != 0 { + log.NewError(params.OperationID, "request get user token", account, "err", "") + c.JSON(http.StatusOK, gin.H{"errCode": constant.GetIMTokenErr, "errMsg": ""}) return } + c.JSON(http.StatusOK, gin.H{"errCode": constant.NoError, "errMsg": "", "data": openIMGetUserTokenResp.UserToken}) - c.JSON(http.StatusOK, gin.H{"errCode": constant.NoError, "errMsg": "", "data": imRep.Data}) - return - -} - -func OpenIMToken(Account string, platform int32) (*http.Response, error) { - url := fmt.Sprintf("http://%s:10000/auth/user_token", utils.ServerIP) - - client := &http.Client{} - params := make(map[string]interface{}) - - params["secret"] = config.Config.Secret - params["platform"] = platform - params["uid"] = Account - con, err := json.Marshal(params) - if err != nil { - log.ErrorByKv("json parsing failed", Account, "err", err.Error()) - return nil, err - } - req, err := http.NewRequest("POST", url, bytes.NewBuffer([]byte(con))) - if err != nil { - log.ErrorByKv("request error", "/auth/user_token", "err", err.Error()) - return nil, err - } - - resp, err := client.Do(req) - return resp, err } diff --git a/internal/demo/register/send_code.go b/internal/demo/register/send_code.go index ecb22095e..2a76d2c4d 100644 --- a/internal/demo/register/send_code.go +++ b/internal/demo/register/send_code.go @@ -10,7 +10,6 @@ import ( openapi "github.com/alibabacloud-go/darabonba-openapi/client" dysmsapi20170525 "github.com/alibabacloud-go/dysmsapi-20170525/v2/client" "github.com/alibabacloud-go/tea/tea" - "github.com/garyburd/redigo/redis" "github.com/gin-gonic/gin" "gopkg.in/gomail.v2" "math/rand" @@ -21,39 +20,44 @@ import ( type paramsVerificationCode struct { Email string `json:"email"` PhoneNumber string `json:"phoneNumber"` + OperationID string `json:"operationID" binding:"required"` } func SendVerificationCode(c *gin.Context) { - log.InfoByKv("sendCode api is statrting...", "") params := paramsVerificationCode{} - if err := c.BindJSON(¶ms); err != nil { - log.ErrorByKv("request params json parsing failed", params.PhoneNumber, params.Email, "err", err.Error()) + log.NewError("", "BindJSON failed", "err:", err.Error(), "phoneNumber", params.PhoneNumber, "email", params.Email) c.JSON(http.StatusBadRequest, gin.H{"errCode": constant.FormattingError, "errMsg": err.Error()}) return } - var account string if params.Email != "" { account = params.Email } else { account = params.PhoneNumber } - - queryParams := im_mysql_model.GetRegisterParams{ - Account: account, + _, err := im_mysql_model.GetRegister(account) + if err == nil { + log.NewError(params.OperationID, "The phone number has been registered", params) + c.JSON(http.StatusOK, gin.H{"errCode": constant.HasRegistered, "errMsg": getErrMsg(constant.HasRegistered)}) + return } - _, err, rowsAffected := im_mysql_model.GetRegister(&queryParams) - - if err == nil && rowsAffected != 0 { - log.ErrorByKv("The phone number has been registered", queryParams.Account, "err") - c.JSON(http.StatusOK, gin.H{"errCode": constant.LogicalError, "errMsg": "The phone number has been registered"}) + ok, err := db.DB.JudgeAccountEXISTS(account) + if ok || err != nil { + log.NewError(params.OperationID, "The phone number has been registered", params) + c.JSON(http.StatusOK, gin.H{"errCode": constant.RepeatSendCode, "errMsg": getErrMsg(constant.RepeatSendCode)}) return } - log.InfoByKv("begin sendSms", account) rand.Seed(time.Now().UnixNano()) code := 100000 + rand.Intn(900000) + log.NewInfo(params.OperationID, "begin store redis", account) + err = db.DB.SetAccountCode(account, code, config.Config.Demo.SuperCodeTTL) + if err != nil { + log.NewError(params.OperationID, "set redis error", account, "err", err.Error()) + c.JSON(http.StatusOK, gin.H{"errCode": constant.SmsSendCodeErr, "errMsg": "Enter the superCode directly in the verification code box, SuperCode can be configured in config.xml"}) + return + } log.NewDebug("", config.Config.Demo) if params.Email != "" { m := gomail.NewMessage() @@ -63,14 +67,14 @@ func SendVerificationCode(c *gin.Context) { m.SetBody(`text/html`, fmt.Sprintf("%d", code)) if err := gomail.NewDialer(config.Config.Demo.Mail.SmtpAddr, config.Config.Demo.Mail.SmtpPort, config.Config.Demo.Mail.SenderMail, config.Config.Demo.Mail.SenderAuthorizationCode).DialAndSend(m); err != nil { log.ErrorByKv("send mail error", account, "err", err.Error()) - c.JSON(http.StatusOK, gin.H{"errCode": constant.IntentionalError, "errMsg": err.Error()}) + c.JSON(http.StatusOK, gin.H{"errCode": constant.MailSendCodeErr, "errMsg": getErrMsg(constant.MailSendCodeErr)}) return } } else { client, err := CreateClient(tea.String(config.Config.Demo.AliSMSVerify.AccessKeyID), tea.String(config.Config.Demo.AliSMSVerify.AccessKeySecret)) if err != nil { - log.ErrorByKv("create sendSms client err", "", "err", err.Error()) - c.JSON(http.StatusOK, gin.H{"errCode": constant.IntentionalError, "errMsg": "Enter the superCode directly in the verification code box, SuperCode can be configured in config.xml"}) + log.NewError(params.OperationID, "create sendSms client err", "err", err.Error()) + c.JSON(http.StatusOK, gin.H{"errCode": constant.SmsSendCodeErr, "errMsg": "Enter the superCode directly in the verification code box, SuperCode can be configured in config.xml"}) return } @@ -83,56 +87,20 @@ func SendVerificationCode(c *gin.Context) { response, err := client.SendSms(sendSmsRequest) if err != nil { - log.ErrorByKv("sendSms error", account, "err", err.Error()) - c.JSON(http.StatusOK, gin.H{"errCode": constant.IntentionalError, "errMsg": "Enter the superCode directly in the verification code box, SuperCode can be configured in config.xml"}) + log.NewError(params.OperationID, "sendSms error", account, "err", err.Error()) + c.JSON(http.StatusOK, gin.H{"errCode": constant.SmsSendCodeErr, "errMsg": "Enter the superCode directly in the verification code box, SuperCode can be configured in config.xml"}) return } if *response.Body.Code != "OK" { - log.ErrorByKv("alibabacloud sendSms error", account, "err", response.Body.Code, response.Body.Message) - c.JSON(http.StatusOK, gin.H{"errCode": constant.IntentionalError, "errMsg": "Enter the superCode directly in the verification code box, SuperCode can be configured in config.xml"}) + log.NewError(params.OperationID, "alibabacloud sendSms error", account, "err", response.Body.Code, response.Body.Message) + c.JSON(http.StatusOK, gin.H{"errCode": constant.SmsSendCodeErr, "errMsg": "Enter the superCode directly in the verification code box, SuperCode can be configured in config.xml"}) return } } - log.InfoByKv("begin store redis", account) - v, err := redis.Int(db.DB.Exec("TTL", account)) - if err != nil { - log.ErrorByKv("get account from redis error", account, "err", err.Error()) - c.JSON(http.StatusOK, gin.H{"errCode": constant.IntentionalError, "errMsg": "Enter the superCode directly in the verification code box, SuperCode can be configured in config.xml"}) - return - } - switch { - case v == -2: - _, err = db.DB.Exec("SET", account, code, "EX", 600) - if err != nil { - log.ErrorByKv("set redis error", account, "err", err.Error()) - c.JSON(http.StatusOK, gin.H{"errCode": constant.IntentionalError, "errMsg": "Enter the superCode directly in the verification code box, SuperCode can be configured in config.xml"}) - return - } - data := make(map[string]interface{}) - data["account"] = account - c.JSON(http.StatusOK, gin.H{"errCode": constant.NoError, "errMsg": "Verification code sent successfully!", "data": data}) - log.InfoByKv("send new verification code", account) - return - case v > 540: - data := make(map[string]interface{}) - data["account"] = account - c.JSON(http.StatusOK, gin.H{"errCode": constant.LogicalError, "errMsg": "Frequent operation!", "data": data}) - log.InfoByKv("frequent operation", account) - return - case v < 540: - _, err = db.DB.Exec("SET", account, code, "EX", 600) - if err != nil { - c.JSON(http.StatusOK, gin.H{"errCode": constant.IntentionalError, "errMsg": "Enterthe superCode directly in the verification code box, SuperCode can be configured in config.xml"}) - return - } - data := make(map[string]interface{}) - data["account"] = account - c.JSON(http.StatusOK, gin.H{"errCode": constant.NoError, "errMsg": "Verification code has been reset!", "data": data}) - log.InfoByKv("Reset verification code", account) - return - } - + data := make(map[string]interface{}) + data["account"] = account + c.JSON(http.StatusOK, gin.H{"errCode": constant.NoError, "errMsg": "Verification code has been set!", "data": data}) } func CreateClient(accessKeyId *string, accessKeySecret *string) (result *dysmsapi20170525.Client, err error) { @@ -149,3 +117,13 @@ func CreateClient(accessKeyId *string, accessKeySecret *string) (result *dysmsap result, err = dysmsapi20170525.NewClient(c) return result, err } +func getErrMsg(errCode int) string { + switch errCode { + case constant.HasRegistered: + return config.Config.Demo.ErrMsg.HasRegistered + case constant.MailSendCodeErr: + return config.Config.Demo.ErrMsg.MailSendCodeErr + default: + return "" + } +} diff --git a/internal/demo/register/set_password.go b/internal/demo/register/set_password.go index 9d66a09b0..b65b0c943 100644 --- a/internal/demo/register/set_password.go +++ b/internal/demo/register/set_password.go @@ -1,18 +1,18 @@ package register import ( + api "Open_IM/pkg/base_info" "Open_IM/pkg/common/config" "Open_IM/pkg/common/constant" "Open_IM/pkg/common/db" "Open_IM/pkg/common/db/mysql_model/im_mysql_model" + http2 "Open_IM/pkg/common/http" "Open_IM/pkg/common/log" "Open_IM/pkg/utils" - "bytes" "encoding/json" "fmt" "github.com/garyburd/redigo/redis" "github.com/gin-gonic/gin" - "io/ioutil" "net/http" ) @@ -21,135 +21,60 @@ type ParamsSetPassword struct { PhoneNumber string `json:"phoneNumber"` Password string `json:"password"` VerificationCode string `json:"verificationCode"` -} - -type Data struct { - ExpiredTime int64 `json:"expiredTime"` - Token string `json:"token"` - Uid string `json:"uid"` -} - -type IMRegisterResp struct { - Data Data `json:"data"` - ErrCode int32 `json:"errCode"` - ErrMsg string `json:"errMsg"` + Platform int32 `json:"platform" binding:"required,min=1,max=7"` + OperationID string `json:"operationID" binding:"required"` } func SetPassword(c *gin.Context) { - log.InfoByKv("setPassword api is statrting...", "") params := ParamsSetPassword{} if err := c.BindJSON(¶ms); err != nil { c.JSON(http.StatusBadRequest, gin.H{"errCode": constant.FormattingError, "errMsg": err.Error()}) return } - var account string if params.Email != "" { account = params.Email } else { account = params.PhoneNumber } - - log.InfoByKv("begin store redis", account) - v, err := redis.String(db.DB.Exec("GET", account)) - - if params.VerificationCode == config.Config.Demo.SuperCode { - goto openIMRegisterTab - } - - fmt.Println("Get Redis:", v, err) - if err != nil { - log.ErrorByKv("password Verification code expired", account, "err", err.Error()) - data := make(map[string]interface{}) - data["phoneNumber"] = account - c.JSON(http.StatusOK, gin.H{"errCode": constant.LogicalError, "errMsg": "Verification expired!", "data": data}) - return - } - if v != params.VerificationCode { - log.InfoByKv("password Verification code error", account, params.VerificationCode) - data := make(map[string]interface{}) - data["PhoneNumber"] = account - c.JSON(http.StatusOK, gin.H{"errCode": constant.LogicalError, "errMsg": "Verification code error!", "data": data}) - return - } - -openIMRegisterTab: - log.InfoByKv("openIM register begin", account) - resp, err := OpenIMRegister(account) - - log.InfoByKv("openIM register resp", account, resp, err) - if err != nil { - log.ErrorByKv("request openIM register error", account, "err", err.Error()) - c.JSON(http.StatusOK, gin.H{"errCode": constant.HttpError, "errMsg": err.Error()}) - return - } - response, err := ioutil.ReadAll(resp.Body) - defer resp.Body.Close() - if err != nil { - c.JSON(http.StatusOK, gin.H{"errCode": constant.IoError, "errMsg": err.Error()}) - return + if params.VerificationCode != config.Config.Demo.SuperCode { + v, err := redis.String(db.DB.Exec("GET", account)) + if err != nil || v != params.VerificationCode { + log.InfoByKv("password Verification code error", account, params.VerificationCode) + data := make(map[string]interface{}) + data["PhoneNumber"] = account + c.JSON(http.StatusOK, gin.H{"errCode": constant.CodeInvalidOrExpired, "errMsg": "Verification code error!", "data": data}) + return + } } - imrep := IMRegisterResp{} - err = json.Unmarshal(response, &imrep) + url := fmt.Sprintf("http://%s:10000/auth/user_register", utils.ServerIP) + openIMRegisterReq := api.UserRegisterReq{} + openIMRegisterReq.OperationID = params.OperationID + openIMRegisterReq.Platform = params.Platform + openIMRegisterReq.UserID = account + openIMRegisterReq.Nickname = account + openIMRegisterReq.Secret = config.Config.Secret + openIMRegisterResp := api.UserRegisterResp{} + bMsg, err := http2.Post(url, openIMRegisterReq, config.Config.MessageCallBack.CallBackTimeOut) if err != nil { - c.JSON(http.StatusOK, gin.H{"errCode": constant.FormattingError, "errMsg": err.Error()}) + log.NewError(params.OperationID, "request openIM register error", account, "err", err.Error()) + c.JSON(http.StatusOK, gin.H{"errCode": constant.RegisterFailed, "errMsg": err.Error()}) return } - if imrep.ErrCode != 0 { - c.JSON(http.StatusOK, gin.H{"errCode": constant.HttpError, "errMsg": imrep.ErrMsg}) + err = json.Unmarshal(bMsg, &openIMRegisterResp) + if err != nil || openIMRegisterResp.ErrCode != 0 { + log.NewError(params.OperationID, "request openIM register error", account, "err", "") + c.JSON(http.StatusOK, gin.H{"errCode": constant.RegisterFailed, "errMsg": ""}) return } - - queryParams := im_mysql_model.SetPasswordParams{ - Account: account, - Password: params.Password, - } - - log.InfoByKv("begin store mysql", account, params.Password) - _, err = im_mysql_model.SetPassword(&queryParams) + log.Info(params.OperationID, "begin store mysql", account, params.Password) + err = im_mysql_model.SetPassword(account, params.Password) if err != nil { - log.ErrorByKv("set phone number password error", account, "err", err.Error()) - c.JSON(http.StatusOK, gin.H{"errCode": constant.DatabaseError, "errMsg": err.Error()}) + log.NewError(params.OperationID, "set phone number password error", account, "err", err.Error()) + c.JSON(http.StatusOK, gin.H{"errCode": constant.RegisterFailed, "errMsg": err.Error()}) return } - - log.InfoByKv("end setPassword", account) - c.JSON(http.StatusOK, gin.H{"errCode": constant.NoError, "errMsg": "", "data": imrep.Data}) + log.Info(params.OperationID, "end setPassword", account, params.Password) + c.JSON(http.StatusOK, gin.H{"errCode": constant.NoError, "errMsg": "", "data": openIMRegisterResp.UserToken}) return } - -func OpenIMRegister(account string) (*http.Response, error) { - url := fmt.Sprintf("http://%s:10000/auth/user_register", utils.ServerIP) - fmt.Println("1:", config.Config.Secret) - - client := &http.Client{} - - params := make(map[string]interface{}) - - params["secret"] = config.Config.Secret - params["platform"] = 2 - params["uid"] = account - params["name"] = account - params["icon"] = "" - params["gender"] = 0 - - params["mobile"] = "" - - params["email"] = "" - params["birth"] = "" - params["ex"] = "" - con, err := json.Marshal(params) - if err != nil { - return nil, err - } - - log.InfoByKv("openIM register params", account, params) - req, err := http.NewRequest("POST", url, bytes.NewBuffer([]byte(con))) - if err != nil { - return nil, err - } - - resp, err := client.Do(req) - - return resp, err -} diff --git a/internal/demo/register/verify.go b/internal/demo/register/verify.go index b52da8216..d74ce1f66 100644 --- a/internal/demo/register/verify.go +++ b/internal/demo/register/verify.go @@ -6,7 +6,6 @@ import ( "Open_IM/pkg/common/db" "Open_IM/pkg/common/log" - "github.com/garyburd/redigo/redis" "github.com/gin-gonic/gin" "net/http" ) @@ -15,14 +14,13 @@ type paramsCertification struct { Email string `json:"email"` PhoneNumber string `json:"phoneNumber"` VerificationCode string `json:"verificationCode"` + OperationID string `json:"operationID" binding:"required"` } func Verify(c *gin.Context) { - log.InfoByKv("Verify api is statrting...", "") params := paramsCertification{} - if err := c.BindJSON(¶ms); err != nil { - log.ErrorByKv("request params json parsing failed", "", "err", err.Error()) + log.NewError("", "request params json parsing failed", "", "err", err.Error()) c.JSON(http.StatusBadRequest, gin.H{"errCode": constant.FormattingError, "errMsg": err.Error()}) return } @@ -44,27 +42,28 @@ func Verify(c *gin.Context) { return } log.NewInfo("0", " params.VerificationCode != config.Config.Demo.SuperCode", params.VerificationCode, config.Config.Demo) - log.InfoByKv("begin get form redis", account) - v, err := redis.String(db.DB.Exec("GET", account)) - log.InfoByKv("redis phone number and verificating Code", account, v) + log.NewInfo(params.OperationID, "begin get form redis", account) + + code, err := db.DB.GetAccountCode(account) + log.NewInfo(params.OperationID, "redis phone number and verificating Code", account, code) if err != nil { - log.ErrorByKv("Verification code expired", account, "err", err.Error()) + log.NewError(params.OperationID, "Verification code expired", account, "err", err.Error()) data := make(map[string]interface{}) data["account"] = account - c.JSON(http.StatusOK, gin.H{"errCode": constant.LogicalError, "errMsg": "Verification code expired!", "data": data}) + c.JSON(http.StatusOK, gin.H{"errCode": constant.CodeInvalidOrExpired, "errMsg": "Verification code expired!", "data": data}) return } - if params.VerificationCode == v { - log.InfoByKv("Verified successfully", account) + if params.VerificationCode == code { + log.Info(params.OperationID, "Verified successfully", account) data := make(map[string]interface{}) data["account"] = account data["verificationCode"] = params.VerificationCode c.JSON(http.StatusOK, gin.H{"errCode": constant.NoError, "errMsg": "Verified successfully!", "data": data}) return } else { - log.InfoByKv("Verification code error", account, params.VerificationCode) + log.Info(params.OperationID, "Verification code error", account, params.VerificationCode) data := make(map[string]interface{}) data["account"] = account - c.JSON(http.StatusOK, gin.H{"errCode": constant.LogicalError, "errMsg": "Verification code error!", "data": data}) + c.JSON(http.StatusOK, gin.H{"errCode": constant.CodeInvalidOrExpired, "errMsg": "Verification code error!", "data": data}) } } diff --git a/pkg/common/config/config.go b/pkg/common/config/config.go index 8b9c4602d..d9588788b 100644 --- a/pkg/common/config/config.go +++ b/pkg/common/config/config.go @@ -284,14 +284,19 @@ type config struct { SignName string `yaml:"signName"` VerificationCodeTemplateCode string `yaml:"verificationCodeTemplateCode"` } - SuperCode string `yaml:"superCode"` - Mail struct { + SuperCode string `yaml:"superCode"` + SuperCodeTTL int `yaml:"superCodeTTL"` + Mail struct { Title string `yaml:"title"` SenderMail string `yaml:"senderMail"` SenderAuthorizationCode string `yaml:"senderAuthorizationCode"` SmtpAddr string `yaml:"smtpAddr"` SmtpPort int `yaml:"smtpPort"` } + ErrMsg struct { + HasRegistered string `yaml:"hasRegistered"` + MailSendCodeErr string `yaml:"mailSendCodeErr"` + } } } type PConversation struct { diff --git a/pkg/common/constant/error.go b/pkg/common/constant/error.go index 6df403140..86d1359c3 100644 --- a/pkg/common/constant/error.go +++ b/pkg/common/constant/error.go @@ -68,14 +68,22 @@ var ( ) const ( - NoError = 0 - FormattingError = 10001 - DatabaseError = 10002 - LogicalError = 10003 - ServerError = 10004 - HttpError = 10005 - IoError = 10006 - IntentionalError = 10007 + NoError = 0 + FormattingError = 10001 + HasRegistered = 10002 + NotRegistered = 10003 + PasswordErr = 10004 + GetIMTokenErr = 10005 + RepeatSendCode = 10006 + MailSendCodeErr = 10007 + SmsSendCodeErr = 10008 + CodeInvalidOrExpired = 10009 + RegisterFailed = 10010 + DatabaseError = 10002 + ServerError = 10004 + HttpError = 10005 + IoError = 10006 + IntentionalError = 10007 ) func (e *ErrInfo) Error() string { diff --git a/pkg/common/db/model_struct.go b/pkg/common/db/model_struct.go index 25e3bf0cd..a1d003714 100644 --- a/pkg/common/db/model_struct.go +++ b/pkg/common/db/model_struct.go @@ -2,6 +2,12 @@ package db import "time" +type Register struct { + Account string `gorm:"column:account;primary_key;type:char(255)" json:"account"` + Password string `gorm:"column:password;type:varchar(255)" json:"password"` + Ex string `gorm:"column:ex;size:1024" json:"ex"` +} + // //message FriendInfo{ //string OwnerUserID = 1; @@ -183,7 +189,6 @@ type ChatLog struct { ContentType int32 `gorm:"column:content_type" json:"contentType"` Content string `gorm:"column:content;type:varchar(1000)" json:"content"` Status int32 `gorm:"column:status" json:"status"` - Seq uint32 `gorm:"column:seq;index:index_seq;default:0" json:"seq"` SendTime time.Time `gorm:"column:send_time" json:"sendTime"` CreateTime time.Time `gorm:"column:create_time" json:"createTime"` Ex string `gorm:"column:ex;type:varchar(1024)" json:"ex"` diff --git a/pkg/common/db/mysql.go b/pkg/common/db/mysql.go index 712ba5b2d..d41f676a0 100644 --- a/pkg/common/db/mysql.go +++ b/pkg/common/db/mysql.go @@ -58,7 +58,7 @@ func initMysqlDB() { &GroupMember{}, &GroupRequest{}, &User{}, - &Black{}, &ChatLog{}) + &Black{}, &ChatLog{}, &Register{}) db.Set("gorm:table_options", "CHARSET=utf8") db.Set("gorm:table_options", "collation=utf8_unicode_ci") @@ -96,6 +96,14 @@ func initMysqlDB() { log.NewInfo("CreateTable Black") db.CreateTable(&Black{}) } + if !db.HasTable(&ChatLog{}) { + log.NewInfo("CreateTable Black") + db.CreateTable(&ChatLog{}) + } + if !db.HasTable(&Register{}) { + log.NewInfo("CreateTable Black") + db.CreateTable(&Register{}) + } return diff --git a/pkg/common/db/mysql_model/im_mysql_model/demo_model.go b/pkg/common/db/mysql_model/im_mysql_model/demo_model.go index b0b700eb9..a36b7cdc7 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/demo_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/demo_model.go @@ -5,60 +5,24 @@ import ( _ "github.com/jinzhu/gorm" ) -type GetRegisterParams struct { - Account string `json:"account"` -} -type Register struct { - Account string `gorm:"column:account"` - Password string `gorm:"column:password"` -} - -func GetRegister(params *GetRegisterParams) (Register, error, int64) { - var r Register +func GetRegister(account string) (*db.Register, error) { dbConn, err := db.DB.MysqlDB.DefaultGormDB() if err != nil { - return r, err, 0 + return nil, err } - result := dbConn. - Where(&Register{Account: params.Account}). - Find(&r) - return r, result.Error, result.RowsAffected + var r db.Register + return &r, dbConn.Table("registers").Where("account = ?", + account).Take(&r).Error } - -type SetPasswordParams struct { - Account string `json:"account"` - Password string `json:"password"` -} - -func SetPassword(params *SetPasswordParams) (Register, error) { - r := Register{ - Account: params.Account, - Password: params.Password, +func SetPassword(account, password string) error { + r := db.Register{ + Account: account, + Password: password, } dbConn, err := db.DB.MysqlDB.DefaultGormDB() if err != nil { - return r, err + return err } + return dbConn.Table("registers").Create(&r).Error - result := dbConn.Create(&r) - - return r, result.Error -} - -func Login(params *Register) int64 { - var r Register - dbConn, err := db.DB.MysqlDB.DefaultGormDB() - if err != nil { - return 3 - } - result := dbConn. - Where(&Register{Account: params.Account}). - Find(&r) - if result.Error != nil && result.RowsAffected == 0 { - return 1 - } - if r.Password != params.Password { - return 2 - } - return 0 } diff --git a/pkg/common/db/redisModel.go b/pkg/common/db/redisModel.go index a3e2ade8e..a314090e4 100644 --- a/pkg/common/db/redisModel.go +++ b/pkg/common/db/redisModel.go @@ -7,6 +7,7 @@ import ( ) const ( + registerAccountTempCode = "REGISTER_ACCOUNT_TEMP_CODE" userIncrSeq = "REDIS_USER_INCR_SEQ:" // user incr seq appleDeviceToken = "DEVICE_TOKEN" userMinSeq = "REDIS_USER_MIN_SEQ:" @@ -33,6 +34,19 @@ func (d *DataBases) Exec(cmd string, key interface{}, args ...interface{}) (inte return con.Do(cmd, params...) } +func (d *DataBases) JudgeAccountEXISTS(account string) (bool, error) { + key := registerAccountTempCode + account + return redis.Bool(d.Exec("EXISTS", key)) +} +func (d *DataBases) SetAccountCode(account string, code, ttl int) (err error) { + key := registerAccountTempCode + account + _, err = d.Exec("Set", key, code, ttl) + return err +} +func (d *DataBases) GetAccountCode(account string) (string, error) { + key := userIncrSeq + account + return redis.String(d.Exec("GET", key)) +} //Perform seq auto-increment operation of user messages func (d *DataBases) IncrUserSeq(uid string) (uint64, error) { From 8c43b0953b663c1c8f143c6f969a4f5897ee2e2a Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Fri, 11 Feb 2022 16:36:02 +0800 Subject: [PATCH 61/75] demo modify --- internal/demo/register/set_password.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/demo/register/set_password.go b/internal/demo/register/set_password.go index b65b0c943..c8509a8bb 100644 --- a/internal/demo/register/set_password.go +++ b/internal/demo/register/set_password.go @@ -40,7 +40,7 @@ func SetPassword(c *gin.Context) { if params.VerificationCode != config.Config.Demo.SuperCode { v, err := redis.String(db.DB.Exec("GET", account)) if err != nil || v != params.VerificationCode { - log.InfoByKv("password Verification code error", account, params.VerificationCode) + log.NewError(params.OperationID, "password Verification code error", account, params.VerificationCode) data := make(map[string]interface{}) data["PhoneNumber"] = account c.JSON(http.StatusOK, gin.H{"errCode": constant.CodeInvalidOrExpired, "errMsg": "Verification code error!", "data": data}) From fd59cc622688e86235d444dc9ec12572c1ea3edd Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Fri, 11 Feb 2022 17:44:02 +0800 Subject: [PATCH 62/75] demo modify --- config/config.yaml | 3 --- internal/demo/register/send_code.go | 16 +++------------- internal/demo/register/set_password.go | 3 ++- pkg/common/config/config.go | 4 ---- .../db/mysql_model/im_mysql_model/demo_model.go | 3 ++- 5 files changed, 7 insertions(+), 22 deletions(-) diff --git a/config/config.yaml b/config/config.yaml index 9fca55ef2..9a8109a34 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -441,9 +441,6 @@ demo: senderAuthorizationCode: "1gxyausfoevlzbfag" smtpAddr: "smtp.qq.com" smtpPort: 25 - errMsg: - hasRegistered: "用户已经注册" - mailSendCodeErr: "邮件发送失败" diff --git a/internal/demo/register/send_code.go b/internal/demo/register/send_code.go index 2a76d2c4d..9089b9c78 100644 --- a/internal/demo/register/send_code.go +++ b/internal/demo/register/send_code.go @@ -39,13 +39,13 @@ func SendVerificationCode(c *gin.Context) { _, err := im_mysql_model.GetRegister(account) if err == nil { log.NewError(params.OperationID, "The phone number has been registered", params) - c.JSON(http.StatusOK, gin.H{"errCode": constant.HasRegistered, "errMsg": getErrMsg(constant.HasRegistered)}) + c.JSON(http.StatusOK, gin.H{"errCode": constant.HasRegistered, "errMsg": ""}) return } ok, err := db.DB.JudgeAccountEXISTS(account) if ok || err != nil { log.NewError(params.OperationID, "The phone number has been registered", params) - c.JSON(http.StatusOK, gin.H{"errCode": constant.RepeatSendCode, "errMsg": getErrMsg(constant.RepeatSendCode)}) + c.JSON(http.StatusOK, gin.H{"errCode": constant.RepeatSendCode, "errMsg": ""}) return } log.InfoByKv("begin sendSms", account) @@ -67,7 +67,7 @@ func SendVerificationCode(c *gin.Context) { m.SetBody(`text/html`, fmt.Sprintf("%d", code)) if err := gomail.NewDialer(config.Config.Demo.Mail.SmtpAddr, config.Config.Demo.Mail.SmtpPort, config.Config.Demo.Mail.SenderMail, config.Config.Demo.Mail.SenderAuthorizationCode).DialAndSend(m); err != nil { log.ErrorByKv("send mail error", account, "err", err.Error()) - c.JSON(http.StatusOK, gin.H{"errCode": constant.MailSendCodeErr, "errMsg": getErrMsg(constant.MailSendCodeErr)}) + c.JSON(http.StatusOK, gin.H{"errCode": constant.MailSendCodeErr, "errMsg": ""}) return } } else { @@ -117,13 +117,3 @@ func CreateClient(accessKeyId *string, accessKeySecret *string) (result *dysmsap result, err = dysmsapi20170525.NewClient(c) return result, err } -func getErrMsg(errCode int) string { - switch errCode { - case constant.HasRegistered: - return config.Config.Demo.ErrMsg.HasRegistered - case constant.MailSendCodeErr: - return config.Config.Demo.ErrMsg.MailSendCodeErr - default: - return "" - } -} diff --git a/internal/demo/register/set_password.go b/internal/demo/register/set_password.go index c8509a8bb..a0558fa5a 100644 --- a/internal/demo/register/set_password.go +++ b/internal/demo/register/set_password.go @@ -22,6 +22,7 @@ type ParamsSetPassword struct { Password string `json:"password"` VerificationCode string `json:"verificationCode"` Platform int32 `json:"platform" binding:"required,min=1,max=7"` + Ex string `json:"ex"` OperationID string `json:"operationID" binding:"required"` } @@ -68,7 +69,7 @@ func SetPassword(c *gin.Context) { return } log.Info(params.OperationID, "begin store mysql", account, params.Password) - err = im_mysql_model.SetPassword(account, params.Password) + err = im_mysql_model.SetPassword(account, params.Password, params.Ex) if err != nil { log.NewError(params.OperationID, "set phone number password error", account, "err", err.Error()) c.JSON(http.StatusOK, gin.H{"errCode": constant.RegisterFailed, "errMsg": err.Error()}) diff --git a/pkg/common/config/config.go b/pkg/common/config/config.go index d9588788b..f3a4611d5 100644 --- a/pkg/common/config/config.go +++ b/pkg/common/config/config.go @@ -293,10 +293,6 @@ type config struct { SmtpAddr string `yaml:"smtpAddr"` SmtpPort int `yaml:"smtpPort"` } - ErrMsg struct { - HasRegistered string `yaml:"hasRegistered"` - MailSendCodeErr string `yaml:"mailSendCodeErr"` - } } } type PConversation struct { diff --git a/pkg/common/db/mysql_model/im_mysql_model/demo_model.go b/pkg/common/db/mysql_model/im_mysql_model/demo_model.go index a36b7cdc7..5af615f97 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/demo_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/demo_model.go @@ -14,10 +14,11 @@ func GetRegister(account string) (*db.Register, error) { return &r, dbConn.Table("registers").Where("account = ?", account).Take(&r).Error } -func SetPassword(account, password string) error { +func SetPassword(account, password, ex string) error { r := db.Register{ Account: account, Password: password, + Ex: ex, } dbConn, err := db.DB.MysqlDB.DefaultGormDB() if err != nil { From 563d46637404c8ca8d1756da4ee9777a04804517 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Fri, 11 Feb 2022 17:51:36 +0800 Subject: [PATCH 63/75] demo modify --- config/config.yaml | 2 +- pkg/common/config/config.go | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/config/config.yaml b/config/config.yaml index 9a8109a34..ee8ec13c4 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -434,7 +434,7 @@ demo: verificationCodeTemplateCode: SMS_2268101641 superCode: 666666 # second - superCodeTTL: 60 + codeTTL: 60 mail: title: "openIM" senderMail: "1765567899@qq.com" diff --git a/pkg/common/config/config.go b/pkg/common/config/config.go index f3a4611d5..b2079acf3 100644 --- a/pkg/common/config/config.go +++ b/pkg/common/config/config.go @@ -284,9 +284,9 @@ type config struct { SignName string `yaml:"signName"` VerificationCodeTemplateCode string `yaml:"verificationCodeTemplateCode"` } - SuperCode string `yaml:"superCode"` - SuperCodeTTL int `yaml:"superCodeTTL"` - Mail struct { + SuperCode string `yaml:"superCode"` + CodeTTL int `yaml:"codeTTL"` + Mail struct { Title string `yaml:"title"` SenderMail string `yaml:"senderMail"` SenderAuthorizationCode string `yaml:"senderAuthorizationCode"` From af330d7f8a368f16fecf81af083f8113df3ed5c0 Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Fri, 11 Feb 2022 18:49:17 +0800 Subject: [PATCH 64/75] Refactor code --- pkg/grpc-etcdv3/getcdv3/register.go | 9 +- pkg/proto/group/group.proto | 2 + pkg/proto/sdk_ws/ws.pb.go | 329 ++++++++++++++-------------- pkg/proto/sdk_ws/ws.proto | 1 - 4 files changed, 166 insertions(+), 175 deletions(-) diff --git a/pkg/grpc-etcdv3/getcdv3/register.go b/pkg/grpc-etcdv3/getcdv3/register.go index 3e12486a5..40a9191af 100644 --- a/pkg/grpc-etcdv3/getcdv3/register.go +++ b/pkg/grpc-etcdv3/getcdv3/register.go @@ -37,8 +37,7 @@ func RegisterEtcd4Unique(schema, etcdAddr, myHost string, myPort int, serviceNam //etcdAddr separated by commas func RegisterEtcd(schema, etcdAddr, myHost string, myPort int, serviceName string, ttl int) error { cli, err := clientv3.New(clientv3.Config{ - Endpoints: strings.Split(etcdAddr, ","), - }) + Endpoints: strings.Split(etcdAddr, ","), DialTimeout: 5 * time.Second}) fmt.Println("RegisterEtcd") if err != nil { // return fmt.Errorf("grpclb: create clientv3 client failed: %v", err) @@ -68,13 +67,13 @@ func RegisterEtcd(schema, etcdAddr, myHost string, myPort int, serviceName strin } fmt.Println("RegisterEtcd ok") go func() { - FLOOP: for { select { - case _, ok := <-kresp: + case v, ok := <-kresp: if ok == true { + fmt.Println(" kresp ok ", v) } else { - break FLOOP + fmt.Println(" kresp failed ", v) } } } diff --git a/pkg/proto/group/group.proto b/pkg/proto/group/group.proto index 378df2549..80fe16bee 100644 --- a/pkg/proto/group/group.proto +++ b/pkg/proto/group/group.proto @@ -20,6 +20,8 @@ message CreateGroupReq{ string OperationID = 3; string OpUserID = 4; //app manager or group owner string OwnerUserID = 5; //owner + + } message CreateGroupResp{ int32 ErrCode = 1; diff --git a/pkg/proto/sdk_ws/ws.pb.go b/pkg/proto/sdk_ws/ws.pb.go index 59c51c7f6..b8bfa10ce 100644 --- a/pkg/proto/sdk_ws/ws.pb.go +++ b/pkg/proto/sdk_ws/ws.pb.go @@ -40,7 +40,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_36d5733e27207cb1, []int{0} + return fileDescriptor_ws_c0d333d3b0a04e48, []int{0} } func (m *GroupInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfo.Unmarshal(m, b) @@ -164,7 +164,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_36d5733e27207cb1, []int{1} + return fileDescriptor_ws_c0d333d3b0a04e48, []int{1} } func (m *GroupMemberFullInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMemberFullInfo.Unmarshal(m, b) @@ -259,7 +259,6 @@ type PublicUserInfo struct { 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"` - AppMangerLevel int32 `protobuf:"varint,5,opt,name=appMangerLevel" json:"appMangerLevel,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -269,7 +268,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_36d5733e27207cb1, []int{2} + return fileDescriptor_ws_c0d333d3b0a04e48, []int{2} } func (m *PublicUserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PublicUserInfo.Unmarshal(m, b) @@ -317,13 +316,6 @@ func (m *PublicUserInfo) GetGender() int32 { return 0 } -func (m *PublicUserInfo) GetAppMangerLevel() int32 { - if m != nil { - return m.AppMangerLevel - } - return 0 -} - 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"` @@ -344,7 +336,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_36d5733e27207cb1, []int{3} + return fileDescriptor_ws_c0d333d3b0a04e48, []int{3} } func (m *UserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfo.Unmarshal(m, b) @@ -451,7 +443,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_36d5733e27207cb1, []int{4} + return fileDescriptor_ws_c0d333d3b0a04e48, []int{4} } func (m *FriendInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendInfo.Unmarshal(m, b) @@ -536,7 +528,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_36d5733e27207cb1, []int{5} + return fileDescriptor_ws_c0d333d3b0a04e48, []int{5} } func (m *BlackInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackInfo.Unmarshal(m, b) @@ -617,7 +609,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_36d5733e27207cb1, []int{6} + return fileDescriptor_ws_c0d333d3b0a04e48, []int{6} } func (m *GroupRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupRequest.Unmarshal(m, b) @@ -725,7 +717,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_36d5733e27207cb1, []int{7} + return fileDescriptor_ws_c0d333d3b0a04e48, []int{7} } func (m *FriendRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendRequest.Unmarshal(m, b) @@ -863,7 +855,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_36d5733e27207cb1, []int{8} + return fileDescriptor_ws_c0d333d3b0a04e48, []int{8} } func (m *PullMessageBySeqListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListResp.Unmarshal(m, b) @@ -917,7 +909,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_36d5733e27207cb1, []int{9} + return fileDescriptor_ws_c0d333d3b0a04e48, []int{9} } func (m *PullMessageBySeqListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListReq.Unmarshal(m, b) @@ -968,7 +960,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_36d5733e27207cb1, []int{10} + return fileDescriptor_ws_c0d333d3b0a04e48, []int{10} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -1000,7 +992,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_36d5733e27207cb1, []int{11} + return fileDescriptor_ws_c0d333d3b0a04e48, []int{11} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -1047,7 +1039,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_36d5733e27207cb1, []int{12} + return fileDescriptor_ws_c0d333d3b0a04e48, []int{12} } func (m *UserSendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserSendMsgResp.Unmarshal(m, b) @@ -1116,7 +1108,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_36d5733e27207cb1, []int{13} + return fileDescriptor_ws_c0d333d3b0a04e48, []int{13} } func (m *MsgData) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgData.Unmarshal(m, b) @@ -1277,7 +1269,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_36d5733e27207cb1, []int{14} + return fileDescriptor_ws_c0d333d3b0a04e48, []int{14} } func (m *OfflinePushInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OfflinePushInfo.Unmarshal(m, b) @@ -1345,7 +1337,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_36d5733e27207cb1, []int{15} + return fileDescriptor_ws_c0d333d3b0a04e48, []int{15} } func (m *TipsComm) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TipsComm.Unmarshal(m, b) @@ -1402,7 +1394,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_36d5733e27207cb1, []int{16} + return fileDescriptor_ws_c0d333d3b0a04e48, []int{16} } func (m *GroupCreatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupCreatedTips.Unmarshal(m, b) @@ -1471,7 +1463,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_36d5733e27207cb1, []int{17} + return fileDescriptor_ws_c0d333d3b0a04e48, []int{17} } func (m *GroupInfoSetTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfoSetTips.Unmarshal(m, b) @@ -1526,7 +1518,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_36d5733e27207cb1, []int{18} + return fileDescriptor_ws_c0d333d3b0a04e48, []int{18} } func (m *JoinGroupApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_JoinGroupApplicationTips.Unmarshal(m, b) @@ -1582,7 +1574,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_36d5733e27207cb1, []int{19} + return fileDescriptor_ws_c0d333d3b0a04e48, []int{19} } func (m *MemberQuitTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberQuitTips.Unmarshal(m, b) @@ -1637,7 +1629,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_36d5733e27207cb1, []int{20} + return fileDescriptor_ws_c0d333d3b0a04e48, []int{20} } func (m *GroupApplicationAcceptedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationAcceptedTips.Unmarshal(m, b) @@ -1692,7 +1684,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_36d5733e27207cb1, []int{21} + return fileDescriptor_ws_c0d333d3b0a04e48, []int{21} } func (m *GroupApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationRejectedTips.Unmarshal(m, b) @@ -1748,7 +1740,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_36d5733e27207cb1, []int{22} + return fileDescriptor_ws_c0d333d3b0a04e48, []int{22} } func (m *GroupOwnerTransferredTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupOwnerTransferredTips.Unmarshal(m, b) @@ -1811,7 +1803,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_36d5733e27207cb1, []int{23} + return fileDescriptor_ws_c0d333d3b0a04e48, []int{23} } func (m *MemberKickedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberKickedTips.Unmarshal(m, b) @@ -1874,7 +1866,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_36d5733e27207cb1, []int{24} + return fileDescriptor_ws_c0d333d3b0a04e48, []int{24} } func (m *MemberInvitedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberInvitedTips.Unmarshal(m, b) @@ -1936,7 +1928,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_36d5733e27207cb1, []int{25} + return fileDescriptor_ws_c0d333d3b0a04e48, []int{25} } func (m *MemberEnterTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberEnterTips.Unmarshal(m, b) @@ -1990,7 +1982,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_36d5733e27207cb1, []int{26} + return fileDescriptor_ws_c0d333d3b0a04e48, []int{26} } func (m *FriendApplication) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplication.Unmarshal(m, b) @@ -2043,7 +2035,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_36d5733e27207cb1, []int{27} + return fileDescriptor_ws_c0d333d3b0a04e48, []int{27} } func (m *FromToUserID) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FromToUserID.Unmarshal(m, b) @@ -2089,7 +2081,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_36d5733e27207cb1, []int{28} + return fileDescriptor_ws_c0d333d3b0a04e48, []int{28} } func (m *FriendApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationTips.Unmarshal(m, b) @@ -2129,7 +2121,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_36d5733e27207cb1, []int{29} + return fileDescriptor_ws_c0d333d3b0a04e48, []int{29} } func (m *FriendApplicationApprovedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationApprovedTips.Unmarshal(m, b) @@ -2176,7 +2168,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_36d5733e27207cb1, []int{30} + return fileDescriptor_ws_c0d333d3b0a04e48, []int{30} } func (m *FriendApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationRejectedTips.Unmarshal(m, b) @@ -2224,7 +2216,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_36d5733e27207cb1, []int{31} + return fileDescriptor_ws_c0d333d3b0a04e48, []int{31} } func (m *FriendAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendAddedTips.Unmarshal(m, b) @@ -2277,7 +2269,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_36d5733e27207cb1, []int{32} + return fileDescriptor_ws_c0d333d3b0a04e48, []int{32} } func (m *FriendDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendDeletedTips.Unmarshal(m, b) @@ -2315,7 +2307,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_36d5733e27207cb1, []int{33} + return fileDescriptor_ws_c0d333d3b0a04e48, []int{33} } func (m *BlackAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackAddedTips.Unmarshal(m, b) @@ -2353,7 +2345,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_36d5733e27207cb1, []int{34} + return fileDescriptor_ws_c0d333d3b0a04e48, []int{34} } func (m *BlackDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackDeletedTips.Unmarshal(m, b) @@ -2391,7 +2383,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_36d5733e27207cb1, []int{35} + return fileDescriptor_ws_c0d333d3b0a04e48, []int{35} } func (m *FriendInfoChangedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendInfoChangedTips.Unmarshal(m, b) @@ -2430,7 +2422,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_36d5733e27207cb1, []int{36} + return fileDescriptor_ws_c0d333d3b0a04e48, []int{36} } func (m *UserInfoUpdatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfoUpdatedTips.Unmarshal(m, b) @@ -2498,128 +2490,127 @@ func init() { proto.RegisterType((*UserInfoUpdatedTips)(nil), "server_api_params.UserInfoUpdatedTips") } -func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_36d5733e27207cb1) } - -var fileDescriptor_ws_36d5733e27207cb1 = []byte{ - // 1911 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x59, 0x4f, 0x6f, 0x23, 0x4b, - 0x11, 0xd7, 0xd8, 0xb1, 0x63, 0x97, 0xe3, 0x38, 0x3b, 0xfb, 0x58, 0xcc, 0xb2, 0x6f, 0x09, 0xa3, - 0xa7, 0xc7, 0x0a, 0x89, 0x20, 0x2d, 0x42, 0x82, 0x45, 0x80, 0xb2, 0xc9, 0x26, 0xec, 0x23, 0x4e, - 0xc2, 0x38, 0xab, 0xc7, 0x01, 0x69, 0x35, 0xf1, 0xb4, 0x9d, 0x79, 0x19, 0x77, 0x8f, 0xbb, 0x67, - 0xb2, 0xbb, 0x12, 0x27, 0xf8, 0x0c, 0x70, 0xe4, 0xc0, 0x05, 0x71, 0x41, 0x5c, 0x10, 0x17, 0x8e, - 0x7c, 0x01, 0xce, 0x7c, 0x05, 0xae, 0x1c, 0x90, 0x90, 0x40, 0x5d, 0xdd, 0x33, 0xd3, 0x3d, 0x76, - 0xf2, 0x2c, 0x2b, 0xda, 0xbc, 0x9b, 0xab, 0xa6, 0xab, 0xba, 0xea, 0x57, 0x7f, 0xba, 0xba, 0x0d, - 0x3d, 0x11, 0x5e, 0xbe, 0x7e, 0x23, 0xbe, 0xfd, 0x46, 0xec, 0x24, 0x9c, 0xa5, 0xcc, 0xbd, 0x27, - 0x08, 0xbf, 0x22, 0xfc, 0x75, 0x90, 0x44, 0xaf, 0x93, 0x80, 0x07, 0x53, 0xe1, 0xfd, 0xbb, 0x06, - 0xed, 0x43, 0xce, 0xb2, 0xe4, 0x25, 0x1d, 0x33, 0xb7, 0x0f, 0xeb, 0x13, 0x24, 0xf6, 0xfb, 0xce, - 0xb6, 0xf3, 0xa4, 0xed, 0xe7, 0xa4, 0xfb, 0x08, 0xda, 0xf8, 0xf3, 0x38, 0x98, 0x92, 0x7e, 0x0d, - 0xbf, 0x95, 0x0c, 0xd7, 0x83, 0x0d, 0xca, 0xd2, 0x68, 0x1c, 0x8d, 0x82, 0x34, 0x62, 0xb4, 0x5f, - 0xc7, 0x05, 0x16, 0x4f, 0xae, 0x89, 0x68, 0xca, 0x59, 0x98, 0x8d, 0x70, 0xcd, 0x9a, 0x5a, 0x63, - 0xf2, 0xe4, 0xfe, 0xe3, 0x60, 0x44, 0x5e, 0xf9, 0x47, 0xfd, 0x86, 0xda, 0x5f, 0x93, 0xee, 0x36, - 0x74, 0xd8, 0x1b, 0x4a, 0xf8, 0x2b, 0x41, 0xf8, 0xcb, 0xfd, 0x7e, 0x13, 0xbf, 0x9a, 0x2c, 0xf7, - 0x31, 0xc0, 0x88, 0x93, 0x20, 0x25, 0x67, 0xd1, 0x94, 0xf4, 0xd7, 0xb7, 0x9d, 0x27, 0x5d, 0xdf, - 0xe0, 0x48, 0x0d, 0x53, 0x32, 0x3d, 0x27, 0x7c, 0x8f, 0x65, 0x34, 0xed, 0xb7, 0x70, 0x81, 0xc9, - 0x72, 0x37, 0xa1, 0x46, 0xde, 0xf6, 0xdb, 0xa8, 0xba, 0x46, 0xde, 0xba, 0x0f, 0xa0, 0x29, 0xd2, - 0x20, 0xcd, 0x44, 0x1f, 0xb6, 0x9d, 0x27, 0x0d, 0x5f, 0x53, 0xee, 0x47, 0xd0, 0x45, 0xbd, 0x2c, - 0xb7, 0xa6, 0x83, 0x22, 0x36, 0xb3, 0x40, 0xec, 0xec, 0x5d, 0x42, 0xfa, 0x1b, 0xa8, 0xa0, 0x64, - 0x78, 0x7f, 0xad, 0xc1, 0x7d, 0xc4, 0x7d, 0x80, 0x06, 0x1c, 0x64, 0x71, 0xfc, 0x39, 0x11, 0x78, - 0x00, 0xcd, 0x4c, 0x6d, 0xa7, 0xe0, 0xd7, 0x94, 0xdc, 0x87, 0xb3, 0x98, 0x1c, 0x91, 0x2b, 0x12, - 0x23, 0xf0, 0x0d, 0xbf, 0x64, 0xb8, 0x0f, 0xa1, 0xf5, 0x19, 0x8b, 0x28, 0x62, 0x22, 0x11, 0xaf, - 0xfb, 0x05, 0x2d, 0xbf, 0xd1, 0x68, 0x74, 0x49, 0x65, 0x48, 0x15, 0xdc, 0x05, 0x6d, 0x46, 0xa2, - 0x69, 0x47, 0xe2, 0x63, 0xd8, 0x0c, 0x92, 0x64, 0x10, 0xd0, 0x09, 0xe1, 0x6a, 0xd3, 0x75, 0xdc, - 0xb4, 0xc2, 0x95, 0xf1, 0x90, 0x3b, 0x0d, 0x59, 0xc6, 0x47, 0x04, 0xe1, 0x6e, 0xf8, 0x06, 0x47, - 0xea, 0x61, 0x09, 0xe1, 0x06, 0x8c, 0x0a, 0xf9, 0x0a, 0x57, 0x47, 0x05, 0xf2, 0xa8, 0x78, 0xbf, - 0x73, 0x60, 0xf3, 0x34, 0x3b, 0x8f, 0xa3, 0x11, 0x2e, 0x90, 0xa0, 0x95, 0xd0, 0x38, 0x16, 0x34, - 0xa6, 0x83, 0xb5, 0xeb, 0x1d, 0xac, 0xdb, 0x0e, 0x3e, 0x80, 0xe6, 0x84, 0xd0, 0x90, 0x70, 0x04, - 0xac, 0xe1, 0x6b, 0x6a, 0x81, 0xe3, 0x8d, 0x45, 0x8e, 0x7b, 0xbf, 0xad, 0x41, 0xeb, 0x3d, 0x9b, - 0xb6, 0x0d, 0x9d, 0xe4, 0x82, 0x51, 0x72, 0x9c, 0xc9, 0x64, 0xd2, 0xc1, 0x34, 0x59, 0xee, 0x07, - 0xd0, 0x38, 0x8f, 0x78, 0x7a, 0x81, 0xd1, 0xec, 0xfa, 0x8a, 0x90, 0x5c, 0x32, 0x0d, 0x22, 0x15, - 0xc2, 0xb6, 0xaf, 0x08, 0x8d, 0x78, 0xab, 0xa8, 0x03, 0xbb, 0xb2, 0xda, 0x73, 0x95, 0x35, 0x0f, - 0x0c, 0x2c, 0x04, 0xe6, 0x3f, 0x0e, 0xc0, 0x01, 0x8f, 0x08, 0x0d, 0x11, 0x9a, 0x4a, 0x49, 0x3b, - 0xf3, 0x25, 0xfd, 0x00, 0x9a, 0x9c, 0x4c, 0x03, 0x7e, 0x99, 0xa7, 0xbc, 0xa2, 0x2a, 0x06, 0xd5, - 0xe7, 0x0c, 0xfa, 0x01, 0xc0, 0x18, 0xf7, 0x91, 0x7a, 0x10, 0xaa, 0xce, 0xd3, 0xaf, 0xee, 0xcc, - 0x35, 0xbf, 0x9d, 0x3c, 0x4a, 0xbe, 0xb1, 0x5c, 0xd6, 0x53, 0x10, 0x86, 0x3a, 0x6d, 0x55, 0x84, - 0x4b, 0xc6, 0x82, 0xac, 0x6d, 0xde, 0x90, 0xb5, 0xeb, 0x45, 0xd6, 0xfe, 0xcb, 0x81, 0xf6, 0xf3, - 0x38, 0x18, 0x5d, 0x2e, 0xe9, 0xba, 0xed, 0x62, 0x6d, 0xce, 0xc5, 0x43, 0xe8, 0x9e, 0x4b, 0x75, - 0xb9, 0x0b, 0x88, 0x42, 0xe7, 0xe9, 0xd7, 0x17, 0x78, 0x69, 0x17, 0x8b, 0x6f, 0xcb, 0xd9, 0xee, - 0xae, 0x7d, 0xbe, 0xbb, 0x8d, 0x1b, 0xdc, 0x6d, 0x16, 0xee, 0xfe, 0xa3, 0x06, 0x1b, 0xd8, 0xde, - 0x7c, 0x32, 0xcb, 0x88, 0x48, 0xdd, 0x1f, 0x42, 0x2b, 0xcb, 0x4d, 0x75, 0x96, 0x35, 0xb5, 0x10, - 0x71, 0x9f, 0xe9, 0x66, 0x8a, 0xf2, 0x35, 0x94, 0x7f, 0xb4, 0x40, 0xbe, 0x38, 0xc9, 0xfc, 0x72, - 0xb9, 0x3c, 0x78, 0x2e, 0x02, 0x1a, 0xc6, 0xc4, 0x27, 0x22, 0x8b, 0x53, 0xdd, 0x23, 0x2d, 0x9e, - 0xca, 0xb4, 0xd9, 0x40, 0x4c, 0xf4, 0xb1, 0xa4, 0x29, 0x89, 0x8e, 0x5a, 0x27, 0x3f, 0x29, 0xd7, - 0x4b, 0x86, 0x2c, 0x54, 0x4e, 0x66, 0x18, 0x21, 0x55, 0x56, 0x39, 0x59, 0xee, 0xa9, 0x51, 0x53, - 0x89, 0x60, 0xf1, 0x64, 0x88, 0x15, 0x8d, 0x0a, 0xd4, 0x79, 0x64, 0x70, 0xaa, 0xc7, 0x91, 0xf7, - 0xcf, 0x3a, 0x74, 0x55, 0xf9, 0xe4, 0xa0, 0x3e, 0x96, 0x79, 0xce, 0xa6, 0x56, 0x16, 0x19, 0x1c, - 0x69, 0x85, 0xa4, 0x8e, 0xed, 0x46, 0x63, 0xf1, 0x64, 0x2a, 0x4a, 0xfa, 0xc0, 0x6a, 0x38, 0x26, - 0x2b, 0xdf, 0xe5, 0xd0, 0x6c, 0x3c, 0x06, 0x47, 0xb6, 0xb2, 0x94, 0x59, 0xd9, 0x51, 0xd0, 0x52, - 0x36, 0x65, 0xc5, 0xfe, 0x2a, 0x3f, 0x0c, 0x8e, 0xc4, 0x37, 0x65, 0xf9, 0xde, 0x0a, 0xa4, 0x92, - 0xa1, 0x34, 0xeb, 0x7d, 0xd5, 0x01, 0x52, 0xd0, 0x73, 0x51, 0x6d, 0xdf, 0x18, 0x55, 0xb0, 0xa2, - 0x6a, 0x17, 0x57, 0x67, 0xae, 0xb8, 0x3e, 0x82, 0xae, 0xd2, 0x93, 0x27, 0xfd, 0x86, 0x3a, 0xe0, - 0x2d, 0xa6, 0x9d, 0x1b, 0xdd, 0x6a, 0x6e, 0xd8, 0xd1, 0xdd, 0xbc, 0x26, 0xba, 0xbd, 0x22, 0xba, - 0xbf, 0x84, 0xfe, 0x69, 0x16, 0xc7, 0x03, 0x22, 0x44, 0x30, 0x21, 0xcf, 0xdf, 0x0d, 0xc9, 0xec, - 0x28, 0x12, 0xa9, 0x4f, 0x44, 0x22, 0xf3, 0x8c, 0x70, 0xbe, 0xc7, 0x42, 0x82, 0x41, 0x6e, 0xf8, - 0x39, 0x29, 0x3d, 0x24, 0x9c, 0x4b, 0x03, 0x74, 0x87, 0x54, 0x94, 0xbb, 0x03, 0x6b, 0x71, 0x24, - 0x64, 0xae, 0xd7, 0x9f, 0x74, 0x9e, 0x3e, 0x5c, 0x50, 0x2a, 0x03, 0x31, 0xd9, 0x0f, 0xd2, 0xc0, - 0xc7, 0x75, 0xde, 0x14, 0xbe, 0xbc, 0x78, 0xf7, 0xd9, 0xb5, 0x27, 0x98, 0xec, 0x61, 0xd8, 0x04, - 0x22, 0x46, 0x8b, 0xa1, 0xc4, 0x64, 0x49, 0xb3, 0x85, 0xd2, 0x83, 0x76, 0x74, 0xfd, 0x9c, 0xf4, - 0x3e, 0x00, 0xf7, 0x90, 0xa4, 0x83, 0xe0, 0xed, 0x2e, 0x0d, 0x07, 0x11, 0x1d, 0x92, 0x99, 0x4f, - 0x66, 0xde, 0x0b, 0xb8, 0x3f, 0xc7, 0x15, 0x89, 0x34, 0x60, 0x1a, 0xbc, 0x1d, 0x92, 0x19, 0x1a, - 0xd0, 0xf5, 0x35, 0x85, 0x7c, 0x5c, 0xa5, 0xdb, 0xa3, 0xa6, 0xbc, 0x19, 0xf4, 0x64, 0x84, 0x86, - 0x84, 0x86, 0x03, 0x31, 0x41, 0x15, 0xdb, 0xd0, 0x51, 0x08, 0x0c, 0xc4, 0xa4, 0xec, 0xb7, 0x06, - 0x4b, 0xae, 0x18, 0xc5, 0x11, 0xa1, 0xa9, 0x5a, 0xa1, 0xbd, 0x31, 0x58, 0x32, 0x19, 0x05, 0xa1, - 0x61, 0x71, 0xe4, 0xd4, 0xfd, 0x82, 0xf6, 0xfe, 0xd6, 0x80, 0x75, 0x0d, 0x28, 0x4e, 0x8d, 0xf2, - 0x88, 0x2b, 0xf0, 0x52, 0x94, 0x4a, 0xc6, 0xd1, 0x55, 0x39, 0xbf, 0x29, 0xca, 0x9c, 0xf8, 0xea, - 0xf6, 0xc4, 0x57, 0xb1, 0x69, 0x6d, 0xde, 0xa6, 0x8a, 0x5f, 0x8d, 0x79, 0xbf, 0xbe, 0x09, 0x5b, - 0x02, 0x0b, 0xe6, 0x34, 0x0e, 0xd2, 0x31, 0xe3, 0x53, 0x7d, 0x62, 0x35, 0xfc, 0x39, 0xbe, 0x6c, - 0xf6, 0x8a, 0x57, 0x14, 0xac, 0xaa, 0xc8, 0x0a, 0x57, 0x96, 0x87, 0xe2, 0xe4, 0x85, 0xab, 0x46, - 0x05, 0x9b, 0xa9, 0x6c, 0x13, 0x22, 0x62, 0x14, 0x27, 0x60, 0x55, 0x9f, 0x26, 0x4b, 0x7a, 0x3e, - 0x15, 0x93, 0x03, 0xce, 0xa6, 0x7a, 0x60, 0xc8, 0x49, 0xf4, 0x9c, 0xd1, 0x94, 0xd0, 0x14, 0x65, - 0x3b, 0x4a, 0xd6, 0x60, 0x49, 0x59, 0x4d, 0x62, 0x71, 0x6e, 0xf8, 0x39, 0xe9, 0x6e, 0x41, 0x5d, - 0x90, 0x99, 0xae, 0x38, 0xf9, 0xd3, 0x8a, 0x5c, 0xcf, 0x8e, 0x5c, 0xa5, 0x15, 0x6c, 0xe1, 0x57, - 0xb3, 0x15, 0x94, 0x77, 0x80, 0x7b, 0xd6, 0x1d, 0x60, 0x17, 0xd6, 0x59, 0x22, 0xf3, 0x5c, 0xf4, - 0x5d, 0xac, 0xb1, 0x6f, 0x5c, 0x5f, 0x63, 0x3b, 0x27, 0x6a, 0xe5, 0x0b, 0x9a, 0xf2, 0x77, 0x7e, - 0x2e, 0xe7, 0x1e, 0x41, 0x8f, 0x8d, 0xc7, 0x71, 0x44, 0xc9, 0x69, 0x26, 0x2e, 0xf0, 0x64, 0xbb, - 0x8f, 0x27, 0x9b, 0xb7, 0x40, 0xd5, 0x89, 0xbd, 0xd2, 0xaf, 0x8a, 0x3e, 0x7c, 0x06, 0x1b, 0xe6, - 0x36, 0x12, 0x86, 0x4b, 0xf2, 0x4e, 0xe7, 0xa0, 0xfc, 0x29, 0x87, 0xbd, 0xab, 0x20, 0xce, 0xd4, - 0x31, 0xd0, 0xf2, 0x15, 0xf1, 0xac, 0xf6, 0x3d, 0xc7, 0xfb, 0x8d, 0x03, 0xbd, 0xca, 0x06, 0x72, - 0x75, 0x1a, 0xa5, 0x31, 0xd1, 0x1a, 0x14, 0xe1, 0xba, 0xb0, 0x16, 0x12, 0x31, 0xd2, 0x29, 0x8c, - 0xbf, 0x75, 0x27, 0xab, 0x17, 0xe3, 0xa2, 0xbc, 0xe8, 0x9d, 0x0c, 0xa5, 0xa2, 0x21, 0xcb, 0x68, - 0x58, 0x5c, 0xf4, 0x0c, 0x9e, 0x4c, 0xa1, 0xe8, 0x64, 0xf8, 0x3c, 0x08, 0x27, 0x44, 0x5d, 0xc7, - 0x1a, 0x68, 0x93, 0xcd, 0xf4, 0x42, 0x68, 0x9d, 0x45, 0x89, 0xd8, 0x63, 0xd3, 0xa9, 0x0c, 0x44, - 0x48, 0x52, 0x39, 0xab, 0x3a, 0x18, 0x6f, 0x4d, 0xc9, 0x54, 0x09, 0xc9, 0x38, 0xc8, 0xe2, 0x54, - 0x2e, 0xcd, 0x0b, 0xd7, 0x60, 0xe1, 0x45, 0x44, 0x30, 0xba, 0xaf, 0xa4, 0x95, 0x9d, 0x06, 0xc7, - 0xfb, 0x7b, 0x0d, 0xb6, 0x70, 0x70, 0xd8, 0xc3, 0xb0, 0x87, 0x28, 0xf4, 0x14, 0x1a, 0x58, 0x86, - 0x7a, 0x58, 0xb9, 0x79, 0xd8, 0x50, 0x4b, 0xdd, 0x1f, 0x41, 0x93, 0x25, 0x38, 0x72, 0xaa, 0x09, - 0xe5, 0xe3, 0xeb, 0x84, 0xec, 0x3b, 0x9f, 0xaf, 0xa5, 0xdc, 0x03, 0x00, 0x75, 0x1d, 0x3d, 0x2a, - 0x5b, 0xf7, 0xb2, 0x3a, 0x0c, 0x49, 0x09, 0x6e, 0xd1, 0x86, 0x8d, 0x8b, 0x9f, 0xcd, 0x74, 0x8f, - 0x61, 0x13, 0xcd, 0x3e, 0xc9, 0xa7, 0x4e, 0x8c, 0xc1, 0xf2, 0x3b, 0x56, 0xa4, 0xbd, 0xdf, 0x3b, - 0x1a, 0x46, 0xf9, 0x75, 0x48, 0x14, 0xf6, 0x25, 0x24, 0xce, 0x4a, 0x90, 0x3c, 0x84, 0xd6, 0x34, - 0x33, 0x86, 0xe0, 0xba, 0x5f, 0xd0, 0x65, 0x88, 0xea, 0x4b, 0x87, 0xc8, 0xfb, 0x83, 0x03, 0xfd, - 0x4f, 0x58, 0x44, 0xf1, 0xc3, 0x6e, 0x92, 0xc4, 0xfa, 0x75, 0x62, 0xe5, 0x98, 0xff, 0x18, 0xda, - 0x81, 0x52, 0x43, 0x53, 0x1d, 0xf6, 0x25, 0x06, 0xdb, 0x52, 0xc6, 0x98, 0x51, 0xea, 0xe6, 0x8c, - 0xe2, 0xfd, 0xc9, 0x81, 0x4d, 0x05, 0xca, 0xcf, 0xb2, 0x28, 0x5d, 0xd9, 0xbe, 0xe7, 0xd0, 0x9a, - 0x65, 0x51, 0xba, 0x42, 0x56, 0x16, 0x72, 0xf3, 0xf9, 0x54, 0x5f, 0x90, 0x4f, 0xde, 0x9f, 0x1d, - 0x78, 0x54, 0x85, 0x75, 0x77, 0x34, 0x22, 0xc9, 0x5d, 0x96, 0x94, 0x35, 0xa3, 0xad, 0x55, 0x66, - 0xb4, 0x85, 0x26, 0xfb, 0xe4, 0x33, 0x32, 0xfa, 0xe2, 0x9a, 0xfc, 0xeb, 0x1a, 0x7c, 0xe5, 0xb0, - 0x28, 0xbc, 0x33, 0x1e, 0x50, 0x31, 0x26, 0x9c, 0xdf, 0xa1, 0xbd, 0x47, 0xd0, 0xa5, 0xe4, 0x4d, - 0x69, 0x93, 0x2e, 0xc7, 0x65, 0xd5, 0xd8, 0xc2, 0xcb, 0xf5, 0x2e, 0xef, 0xbf, 0x0e, 0x6c, 0x29, - 0x3d, 0x3f, 0x8d, 0x46, 0x97, 0x77, 0xe8, 0xfc, 0x31, 0x6c, 0x5e, 0xa2, 0x05, 0x92, 0x5a, 0xa1, - 0x6d, 0x57, 0xa4, 0x97, 0x74, 0xff, 0x7f, 0x0e, 0xdc, 0x53, 0x8a, 0x5e, 0xd2, 0xab, 0xe8, 0x2e, - 0x93, 0xf5, 0x14, 0x7a, 0x91, 0x32, 0x61, 0x45, 0x00, 0xaa, 0xe2, 0x4b, 0x22, 0xf0, 0x17, 0x07, - 0x7a, 0x4a, 0xd3, 0x0b, 0x9a, 0x12, 0xbe, 0xb2, 0xff, 0x3f, 0x81, 0x0e, 0xa1, 0x29, 0x0f, 0xe8, - 0x2a, 0x1d, 0xd2, 0x14, 0x5d, 0xb2, 0x49, 0x5e, 0xc2, 0x3d, 0x75, 0x85, 0x37, 0x3a, 0x8e, 0x9c, - 0x65, 0x83, 0x50, 0x8d, 0xa7, 0x0e, 0x0a, 0xe5, 0xa4, 0xfd, 0x38, 0xa3, 0x5f, 0xdd, 0xcb, 0xc7, - 0x99, 0xc7, 0x00, 0x41, 0x18, 0x7e, 0xca, 0x78, 0x18, 0xd1, 0xfc, 0xf8, 0x30, 0x38, 0xde, 0x27, - 0xb0, 0x21, 0xa7, 0xe9, 0x33, 0xe3, 0x32, 0x7e, 0xe3, 0x73, 0x81, 0x79, 0x91, 0xaf, 0xd9, 0x17, - 0x79, 0xef, 0x17, 0xf0, 0xa5, 0x39, 0xc3, 0x11, 0xf5, 0x3d, 0xf5, 0xc6, 0x90, 0x6f, 0xa2, 0xc1, - 0xff, 0xda, 0x02, 0x08, 0x4d, 0x5b, 0x7c, 0x4b, 0xc8, 0xfb, 0x95, 0x03, 0x1f, 0xce, 0xa9, 0xdf, - 0x4d, 0x12, 0xce, 0xae, 0x74, 0x72, 0xdf, 0xc6, 0x36, 0x76, 0x6b, 0xad, 0x55, 0x5b, 0xeb, 0x42, - 0x23, 0xac, 0xe3, 0xe0, 0x3d, 0x18, 0xf1, 0x47, 0x07, 0x7a, 0xda, 0x88, 0x30, 0xd4, 0xdb, 0x7e, - 0x17, 0x9a, 0xea, 0x7d, 0x52, 0x6f, 0xf8, 0xe1, 0xc2, 0x0d, 0xf3, 0x77, 0x55, 0x5f, 0x2f, 0x9e, - 0xcf, 0xc8, 0xda, 0xa2, 0x31, 0xf0, 0xfb, 0x45, 0x07, 0x58, 0xfa, 0x05, 0x51, 0x0b, 0x78, 0x3f, - 0xcf, 0x93, 0x79, 0x9f, 0xc4, 0xe4, 0x36, 0x31, 0xf2, 0x5e, 0xc1, 0x26, 0x3e, 0x96, 0x96, 0x18, - 0xdc, 0x8a, 0xda, 0x4f, 0x61, 0x0b, 0xd5, 0xde, 0xba, 0xbd, 0x45, 0x75, 0x48, 0x7c, 0xf6, 0x2e, - 0x02, 0x3a, 0xb9, 0x4d, 0xed, 0xdf, 0x82, 0xfb, 0x39, 0xf6, 0xaf, 0x92, 0xb0, 0xb8, 0xa2, 0x5c, - 0xf3, 0x30, 0x73, 0xde, 0xc4, 0x3f, 0xfb, 0xbe, 0xf3, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe5, - 0xdc, 0xac, 0x39, 0xff, 0x1b, 0x00, 0x00, +func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_c0d333d3b0a04e48) } + +var fileDescriptor_ws_c0d333d3b0a04e48 = []byte{ + // 1903 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x59, 0x4f, 0x6f, 0x23, 0x49, + 0x15, 0x57, 0xdb, 0xb1, 0x63, 0x3f, 0xc7, 0x71, 0xa6, 0x67, 0x19, 0xcc, 0x30, 0x3b, 0x84, 0xd6, + 0x6a, 0x19, 0x21, 0x11, 0xa4, 0x41, 0x48, 0x30, 0x08, 0x50, 0x26, 0x99, 0x84, 0x59, 0xe2, 0x24, + 0xb4, 0x33, 0x5a, 0x0e, 0x48, 0xa3, 0x8e, 0xbb, 0xec, 0xf4, 0xa6, 0x5d, 0xd5, 0xae, 0xea, 0xce, + 0xcc, 0x48, 0x9c, 0xe0, 0x33, 0xc0, 0x07, 0xe0, 0x82, 0xb8, 0x20, 0x2e, 0x88, 0x0b, 0x47, 0xbe, + 0x00, 0x67, 0xbe, 0x02, 0x57, 0x0e, 0x48, 0x48, 0xa0, 0x7a, 0x55, 0xdd, 0x5d, 0xd5, 0xed, 0x64, + 0xad, 0x28, 0xda, 0xe1, 0xe6, 0xf7, 0xeb, 0x7a, 0x7f, 0xea, 0xfd, 0xab, 0x57, 0x65, 0x18, 0x88, + 0xf0, 0xf2, 0xf5, 0x1b, 0xf1, 0xed, 0x37, 0x62, 0x27, 0xe1, 0x2c, 0x65, 0xee, 0x3d, 0x41, 0xf8, + 0x15, 0xe1, 0xaf, 0x83, 0x24, 0x7a, 0x9d, 0x04, 0x3c, 0x98, 0x0b, 0xef, 0x5f, 0x0d, 0xe8, 0x1e, + 0x72, 0x96, 0x25, 0x2f, 0xe9, 0x94, 0xb9, 0x43, 0x58, 0x9f, 0x21, 0xb1, 0x3f, 0x74, 0xb6, 0x9d, + 0x27, 0x5d, 0x3f, 0x27, 0xdd, 0x47, 0xd0, 0xc5, 0x9f, 0xc7, 0xc1, 0x9c, 0x0c, 0x1b, 0xf8, 0xad, + 0x04, 0x5c, 0x0f, 0x36, 0x28, 0x4b, 0xa3, 0x69, 0x34, 0x09, 0xd2, 0x88, 0xd1, 0x61, 0x13, 0x17, + 0x58, 0x98, 0x5c, 0x13, 0xd1, 0x94, 0xb3, 0x30, 0x9b, 0xe0, 0x9a, 0x35, 0xb5, 0xc6, 0xc4, 0xa4, + 0xfe, 0x69, 0x30, 0x21, 0xaf, 0xfc, 0xa3, 0x61, 0x4b, 0xe9, 0xd7, 0xa4, 0xbb, 0x0d, 0x3d, 0xf6, + 0x86, 0x12, 0xfe, 0x4a, 0x10, 0xfe, 0x72, 0x7f, 0xd8, 0xc6, 0xaf, 0x26, 0xe4, 0x3e, 0x06, 0x98, + 0x70, 0x12, 0xa4, 0xe4, 0x2c, 0x9a, 0x93, 0xe1, 0xfa, 0xb6, 0xf3, 0xa4, 0xef, 0x1b, 0x88, 0x94, + 0x30, 0x27, 0xf3, 0x73, 0xc2, 0xf7, 0x58, 0x46, 0xd3, 0x61, 0x07, 0x17, 0x98, 0x90, 0xbb, 0x09, + 0x0d, 0xf2, 0x76, 0xd8, 0x45, 0xd1, 0x0d, 0xf2, 0xd6, 0x7d, 0x00, 0x6d, 0x91, 0x06, 0x69, 0x26, + 0x86, 0xb0, 0xed, 0x3c, 0x69, 0xf9, 0x9a, 0x72, 0x3f, 0x82, 0x3e, 0xca, 0x65, 0xb9, 0x35, 0x3d, + 0x64, 0xb1, 0xc1, 0xc2, 0x63, 0x67, 0xef, 0x12, 0x32, 0xdc, 0x40, 0x01, 0x25, 0xe0, 0xfd, 0xa5, + 0x01, 0xf7, 0xd1, 0xef, 0x23, 0x34, 0xe0, 0x20, 0x8b, 0xe3, 0xcf, 0x89, 0xc0, 0x03, 0x68, 0x67, + 0x4a, 0x9d, 0x72, 0xbf, 0xa6, 0xa4, 0x1e, 0xce, 0x62, 0x72, 0x44, 0xae, 0x48, 0x8c, 0x8e, 0x6f, + 0xf9, 0x25, 0xe0, 0x3e, 0x84, 0xce, 0x67, 0x2c, 0xa2, 0xe8, 0x13, 0xe9, 0xf1, 0xa6, 0x5f, 0xd0, + 0xf2, 0x1b, 0x8d, 0x26, 0x97, 0x54, 0x86, 0x54, 0xb9, 0xbb, 0xa0, 0xcd, 0x48, 0xb4, 0xed, 0x48, + 0x7c, 0x0c, 0x9b, 0x41, 0x92, 0x8c, 0x02, 0x3a, 0x23, 0x5c, 0x29, 0x5d, 0x47, 0xa5, 0x15, 0x54, + 0xc6, 0x43, 0x6a, 0x1a, 0xb3, 0x8c, 0x4f, 0x08, 0xba, 0xbb, 0xe5, 0x1b, 0x88, 0x94, 0xc3, 0x12, + 0xc2, 0x0d, 0x37, 0x2a, 0xcf, 0x57, 0x50, 0x1d, 0x15, 0xc8, 0xa3, 0xe2, 0x5d, 0xc1, 0xe6, 0x69, + 0x76, 0x1e, 0x47, 0x13, 0xfc, 0x2e, 0x7d, 0x56, 0x7a, 0xc6, 0xb1, 0x3c, 0x63, 0xee, 0xaf, 0x71, + 0xfd, 0xfe, 0x9a, 0xf6, 0xfe, 0x1e, 0x40, 0x7b, 0x46, 0x68, 0x48, 0x38, 0xfa, 0xab, 0xe5, 0x6b, + 0xca, 0xfb, 0x6d, 0x03, 0x3a, 0x5f, 0xac, 0x4a, 0x99, 0xb2, 0xc9, 0x05, 0xa3, 0xe4, 0x38, 0x93, + 0x39, 0xa2, 0x63, 0x64, 0x42, 0xee, 0x07, 0xd0, 0x3a, 0x8f, 0x78, 0x7a, 0x81, 0x41, 0xea, 0xfb, + 0x8a, 0x90, 0x28, 0x99, 0x07, 0x91, 0x8a, 0x4c, 0xd7, 0x57, 0x84, 0x76, 0x64, 0xa7, 0x48, 0x6f, + 0xbb, 0x60, 0xba, 0xb5, 0x82, 0xa9, 0x07, 0x1a, 0x96, 0x05, 0xda, 0xfb, 0xb7, 0x03, 0x70, 0xc0, + 0x23, 0x42, 0x43, 0x74, 0x4d, 0xa5, 0x52, 0x9d, 0x7a, 0xa5, 0x3e, 0x80, 0x36, 0x27, 0xf3, 0x80, + 0x5f, 0xe6, 0x99, 0xac, 0xa8, 0x8a, 0x41, 0xcd, 0x9a, 0x41, 0x3f, 0x00, 0x98, 0xa2, 0x1e, 0x29, + 0x07, 0x5d, 0xd5, 0x7b, 0xfa, 0xd5, 0x9d, 0x5a, 0x4f, 0xdb, 0xc9, 0xa3, 0xe4, 0x1b, 0xcb, 0x65, + 0x99, 0x04, 0x61, 0xa8, 0xb3, 0xb1, 0xa5, 0xca, 0xa4, 0x00, 0x96, 0x24, 0x63, 0xfb, 0x86, 0x64, + 0x5c, 0x2f, 0x92, 0xf1, 0x9f, 0x0e, 0x74, 0x9f, 0xc7, 0xc1, 0xe4, 0x72, 0xc5, 0xad, 0xdb, 0x5b, + 0x6c, 0xd4, 0xb6, 0x78, 0x08, 0xfd, 0x73, 0x29, 0x2e, 0xdf, 0x02, 0x7a, 0xa1, 0xf7, 0xf4, 0xeb, + 0x4b, 0x76, 0x69, 0x17, 0x81, 0x6f, 0xf3, 0xd9, 0xdb, 0x5d, 0xfb, 0xfc, 0xed, 0xb6, 0x6e, 0xd8, + 0x6e, 0xbb, 0xd8, 0xee, 0xdf, 0x1b, 0xb0, 0x81, 0x5d, 0xcb, 0x27, 0x8b, 0x8c, 0x88, 0xd4, 0xfd, + 0x21, 0x74, 0xb2, 0xdc, 0x54, 0x67, 0x55, 0x53, 0x0b, 0x16, 0xf7, 0x99, 0xee, 0x91, 0xc8, 0xdf, + 0x40, 0xfe, 0x47, 0x4b, 0xf8, 0x8b, 0x03, 0xca, 0x2f, 0x97, 0xcb, 0xf3, 0xe4, 0x22, 0xa0, 0x61, + 0x4c, 0x7c, 0x22, 0xb2, 0x38, 0xd5, 0xad, 0xcf, 0xc2, 0x54, 0xa6, 0x2d, 0x46, 0x62, 0xa6, 0x4f, + 0x1b, 0x4d, 0x49, 0xef, 0xa8, 0x75, 0xf2, 0x93, 0xda, 0x7a, 0x09, 0xc8, 0x42, 0xe5, 0x64, 0x81, + 0x11, 0x52, 0x65, 0x95, 0x93, 0xa5, 0x4e, 0xed, 0x35, 0x95, 0x08, 0x16, 0x26, 0x43, 0xac, 0x68, + 0x14, 0xa0, 0x8e, 0x19, 0x03, 0xa9, 0x9e, 0x32, 0xde, 0x3f, 0x9a, 0xd0, 0x57, 0xe5, 0x93, 0x3b, + 0xf5, 0xb1, 0xcc, 0x73, 0x36, 0xb7, 0xb2, 0xc8, 0x40, 0xa4, 0x15, 0x92, 0x3a, 0xb6, 0x1b, 0x8d, + 0x85, 0xc9, 0x54, 0x94, 0xf4, 0x81, 0xd5, 0x70, 0x4c, 0x28, 0xd7, 0x72, 0x68, 0x36, 0x1e, 0x03, + 0x91, 0xad, 0x2c, 0x65, 0x56, 0x76, 0x14, 0xb4, 0xe4, 0x4d, 0x59, 0xa1, 0x5f, 0xe5, 0x87, 0x81, + 0x48, 0xff, 0xa6, 0x2c, 0xd7, 0xad, 0x9c, 0x54, 0x02, 0x4a, 0xb2, 0xd6, 0xab, 0xce, 0x85, 0x82, + 0xae, 0x45, 0xb5, 0x7b, 0x63, 0x54, 0xc1, 0x8a, 0xaa, 0x5d, 0x5c, 0xbd, 0x5a, 0x71, 0x7d, 0x04, + 0x7d, 0x25, 0x27, 0x4f, 0xfa, 0x0d, 0x75, 0x6e, 0x5b, 0xa0, 0x9d, 0x1b, 0xfd, 0x6a, 0x6e, 0xd8, + 0xd1, 0xdd, 0xbc, 0x26, 0xba, 0x83, 0x22, 0xba, 0xbf, 0x84, 0xe1, 0x69, 0x16, 0xc7, 0x23, 0x22, + 0x44, 0x30, 0x23, 0xcf, 0xdf, 0x8d, 0xc9, 0xe2, 0x28, 0x12, 0xa9, 0x4f, 0x44, 0x22, 0xf3, 0x8c, + 0x70, 0xbe, 0xc7, 0x42, 0x82, 0x41, 0x6e, 0xf9, 0x39, 0x29, 0x77, 0x48, 0x38, 0x97, 0x06, 0xe8, + 0x0e, 0xa9, 0x28, 0x77, 0x07, 0xd6, 0xe2, 0x48, 0xc8, 0x5c, 0x6f, 0x3e, 0xe9, 0x3d, 0x7d, 0xb8, + 0xa4, 0x54, 0x46, 0x62, 0xb6, 0x1f, 0xa4, 0x81, 0x8f, 0xeb, 0xbc, 0x39, 0x7c, 0x79, 0xb9, 0xf6, + 0xc5, 0xb5, 0x27, 0x98, 0xec, 0x61, 0xd8, 0x04, 0x22, 0x46, 0x8b, 0x59, 0xc3, 0x84, 0xa4, 0xd9, + 0x42, 0xc9, 0x41, 0x3b, 0xfa, 0x7e, 0x4e, 0x7a, 0x1f, 0x80, 0x7b, 0x48, 0xd2, 0x51, 0xf0, 0x76, + 0x97, 0x86, 0xa3, 0x88, 0x8e, 0xc9, 0xc2, 0x27, 0x0b, 0xef, 0x05, 0xdc, 0xaf, 0xa1, 0x22, 0x91, + 0x06, 0xcc, 0x83, 0xb7, 0x63, 0xb2, 0x40, 0x03, 0xfa, 0xbe, 0xa6, 0x10, 0xc7, 0x55, 0xba, 0x3d, + 0x6a, 0xca, 0x5b, 0xc0, 0x40, 0x46, 0x68, 0x4c, 0x68, 0x38, 0x12, 0x33, 0x14, 0xb1, 0x0d, 0x3d, + 0xe5, 0x81, 0x91, 0x98, 0x95, 0xfd, 0xd6, 0x80, 0xe4, 0x8a, 0x49, 0x1c, 0x11, 0x9a, 0xaa, 0x15, + 0x7a, 0x37, 0x06, 0x24, 0x93, 0x51, 0x10, 0x1a, 0x16, 0x47, 0x4e, 0xd3, 0x2f, 0x68, 0xef, 0xaf, + 0x2d, 0x58, 0xd7, 0x0e, 0xc5, 0x61, 0x50, 0x1e, 0x71, 0x85, 0xbf, 0x14, 0xa5, 0x92, 0x71, 0x72, + 0x55, 0x8e, 0x65, 0x8a, 0x32, 0x07, 0xb9, 0xa6, 0x3d, 0xc8, 0x55, 0x6c, 0x5a, 0xab, 0xdb, 0x54, + 0xd9, 0x57, 0xab, 0xbe, 0xaf, 0x6f, 0xc2, 0x96, 0xc0, 0x82, 0x39, 0x8d, 0x83, 0x74, 0xca, 0xf8, + 0x5c, 0x9f, 0x58, 0x2d, 0xbf, 0x86, 0xcb, 0x66, 0xaf, 0xb0, 0xa2, 0x60, 0x55, 0x45, 0x56, 0x50, + 0x59, 0x1e, 0x0a, 0xc9, 0x0b, 0x57, 0x8d, 0x0a, 0x36, 0xa8, 0x6c, 0x13, 0x22, 0x62, 0x14, 0x07, + 0x5b, 0x55, 0x9f, 0x26, 0x24, 0x77, 0x3e, 0x17, 0xb3, 0x03, 0xce, 0xe6, 0x7a, 0x60, 0xc8, 0x49, + 0xdc, 0x39, 0xa3, 0x29, 0xa1, 0x29, 0xf2, 0xf6, 0x14, 0xaf, 0x01, 0x49, 0x5e, 0x4d, 0x62, 0x71, + 0x6e, 0xf8, 0x39, 0xe9, 0x6e, 0x41, 0x53, 0x90, 0x85, 0xae, 0x38, 0xf9, 0xd3, 0x8a, 0xdc, 0xc0, + 0x8e, 0x5c, 0xa5, 0x15, 0x6c, 0xe1, 0x57, 0xb3, 0x15, 0x94, 0xa3, 0xfd, 0x3d, 0x6b, 0xb4, 0xdf, + 0x85, 0x75, 0x96, 0xc8, 0x3c, 0x17, 0x43, 0x17, 0x6b, 0xec, 0x1b, 0xd7, 0xd7, 0xd8, 0xce, 0x89, + 0x5a, 0xf9, 0x82, 0xa6, 0xfc, 0x9d, 0x9f, 0xf3, 0xb9, 0x47, 0x30, 0x60, 0xd3, 0x69, 0x1c, 0x51, + 0x72, 0x9a, 0x89, 0x0b, 0x3c, 0xd9, 0xee, 0xe3, 0xc9, 0xe6, 0x2d, 0x11, 0x75, 0x62, 0xaf, 0xf4, + 0xab, 0xac, 0x0f, 0x9f, 0xc1, 0x86, 0xa9, 0x46, 0xba, 0xe1, 0x92, 0xbc, 0xd3, 0x39, 0x28, 0x7f, + 0xca, 0x61, 0xef, 0x2a, 0x88, 0x33, 0x75, 0x0c, 0x74, 0x7c, 0x45, 0x3c, 0x6b, 0x7c, 0xcf, 0xf1, + 0x7e, 0xe3, 0xc0, 0xa0, 0xa2, 0x40, 0xae, 0x4e, 0xa3, 0x34, 0x26, 0x5a, 0x82, 0x22, 0x5c, 0x17, + 0xd6, 0x42, 0x22, 0x26, 0x3a, 0x85, 0xf1, 0xb7, 0xee, 0x64, 0xcd, 0x62, 0x5c, 0x94, 0xf7, 0xb7, + 0x93, 0xb1, 0x14, 0x34, 0x66, 0x19, 0x0d, 0x8b, 0xfb, 0x9b, 0x81, 0xc9, 0x14, 0x8a, 0x4e, 0xc6, + 0xcf, 0x83, 0x70, 0x46, 0xd4, 0x2d, 0xab, 0x85, 0x36, 0xd9, 0xa0, 0x17, 0x42, 0xe7, 0x2c, 0x4a, + 0xc4, 0x1e, 0x9b, 0xcf, 0x65, 0x20, 0x42, 0x92, 0xca, 0x59, 0xd5, 0xc1, 0x78, 0x6b, 0x4a, 0xa6, + 0x4a, 0x48, 0xa6, 0x41, 0x16, 0xa7, 0x72, 0x69, 0x5e, 0xb8, 0x06, 0x84, 0xf7, 0x0b, 0xc1, 0xe8, + 0xbe, 0xe2, 0x56, 0x76, 0x1a, 0x88, 0xf7, 0xb7, 0x06, 0x6c, 0xe1, 0xe0, 0xb0, 0x87, 0x61, 0x0f, + 0x91, 0xe9, 0x29, 0xb4, 0xb0, 0x0c, 0xf5, 0xb0, 0x72, 0xf3, 0xb0, 0xa1, 0x96, 0xba, 0x3f, 0x82, + 0x36, 0x4b, 0x70, 0xe4, 0x54, 0x13, 0xca, 0xc7, 0xd7, 0x31, 0xd9, 0x57, 0x39, 0x5f, 0x73, 0xb9, + 0x07, 0x00, 0xea, 0x96, 0x79, 0x54, 0xb6, 0xee, 0x55, 0x65, 0x18, 0x9c, 0xd2, 0xb9, 0x45, 0x1b, + 0x36, 0xee, 0x73, 0x36, 0xe8, 0x1e, 0xc3, 0x26, 0x9a, 0x7d, 0x92, 0x4f, 0x9d, 0x18, 0x83, 0xd5, + 0x35, 0x56, 0xb8, 0xbd, 0xdf, 0x39, 0xda, 0x8d, 0xf2, 0xeb, 0x98, 0x28, 0xdf, 0x97, 0x2e, 0x71, + 0x6e, 0xe5, 0x92, 0x87, 0xd0, 0x99, 0x67, 0xc6, 0x10, 0xdc, 0xf4, 0x0b, 0xba, 0x0c, 0x51, 0x73, + 0xe5, 0x10, 0x79, 0xbf, 0x77, 0x60, 0xf8, 0x09, 0x8b, 0x28, 0x7e, 0xd8, 0x4d, 0x92, 0x58, 0x3f, + 0x3a, 0xdc, 0x3a, 0xe6, 0x3f, 0x86, 0x6e, 0xa0, 0xc4, 0xd0, 0x54, 0x87, 0x7d, 0x85, 0xc1, 0xb6, + 0xe4, 0x31, 0x66, 0x94, 0xa6, 0x39, 0xa3, 0x78, 0x7f, 0x74, 0x60, 0x53, 0x39, 0xe5, 0x67, 0x59, + 0x94, 0xde, 0xda, 0xbe, 0xe7, 0xd0, 0x59, 0x64, 0x51, 0x7a, 0x8b, 0xac, 0x2c, 0xf8, 0xea, 0xf9, + 0xd4, 0x5c, 0x92, 0x4f, 0xde, 0x9f, 0x1c, 0x78, 0x54, 0x75, 0xeb, 0xee, 0x64, 0x42, 0x92, 0xf7, + 0x59, 0x52, 0xd6, 0x8c, 0xb6, 0x56, 0x99, 0xd1, 0x96, 0x9a, 0xec, 0x93, 0xcf, 0xc8, 0xe4, 0xff, + 0xd7, 0xe4, 0x5f, 0x37, 0xe0, 0x2b, 0x87, 0x45, 0xe1, 0x9d, 0xf1, 0x80, 0x8a, 0x29, 0xe1, 0xfc, + 0x3d, 0xda, 0x7b, 0x04, 0x7d, 0x4a, 0xde, 0x94, 0x36, 0xe9, 0x72, 0x5c, 0x55, 0x8c, 0xcd, 0xbc, + 0x5a, 0xef, 0xf2, 0xfe, 0xe3, 0xc0, 0x96, 0x92, 0xf3, 0xd3, 0x68, 0x72, 0xf9, 0x1e, 0x37, 0x7f, + 0x0c, 0x9b, 0x97, 0x68, 0x81, 0xa4, 0x6e, 0xd1, 0xb6, 0x2b, 0xdc, 0x2b, 0x6e, 0xff, 0xbf, 0x0e, + 0xdc, 0x53, 0x82, 0x5e, 0xd2, 0xab, 0xe8, 0x7d, 0x26, 0xeb, 0x29, 0x0c, 0x22, 0x65, 0xc2, 0x2d, + 0x1d, 0x50, 0x65, 0x5f, 0xd1, 0x03, 0x7f, 0x76, 0x60, 0xa0, 0x24, 0xbd, 0xa0, 0x29, 0xe1, 0xb7, + 0xde, 0xff, 0x4f, 0xa0, 0x47, 0x68, 0xca, 0x03, 0x7a, 0x9b, 0x0e, 0x69, 0xb2, 0xae, 0xd8, 0x24, + 0x2f, 0xe1, 0x9e, 0xba, 0xc2, 0x1b, 0x1d, 0x47, 0xce, 0xb2, 0x41, 0xa8, 0xc6, 0x53, 0x07, 0x99, + 0x72, 0xd2, 0x7e, 0x9c, 0xd1, 0x8f, 0xe9, 0xe5, 0xe3, 0xcc, 0x63, 0x80, 0x20, 0x0c, 0x3f, 0x65, + 0x3c, 0x8c, 0x68, 0x7e, 0x7c, 0x18, 0x88, 0xf7, 0x09, 0x6c, 0xc8, 0x69, 0xfa, 0xcc, 0xb8, 0x8c, + 0xdf, 0xf8, 0x5c, 0x60, 0x5e, 0xe4, 0x1b, 0xf6, 0x45, 0xde, 0xfb, 0x05, 0x7c, 0xa9, 0x66, 0x38, + 0x7a, 0x7d, 0x4f, 0xbd, 0x31, 0xe4, 0x4a, 0xb4, 0xf3, 0xbf, 0xb6, 0xc4, 0x85, 0xa6, 0x2d, 0xbe, + 0xc5, 0xe4, 0xfd, 0xca, 0x81, 0x0f, 0x6b, 0xe2, 0x77, 0x93, 0x84, 0xb3, 0x2b, 0x9d, 0xdc, 0x77, + 0xa1, 0xc6, 0x6e, 0xad, 0x8d, 0x6a, 0x6b, 0x5d, 0x6a, 0x84, 0x75, 0x1c, 0x7c, 0x01, 0x46, 0xfc, + 0xc1, 0x81, 0x81, 0x36, 0x22, 0x0c, 0xb5, 0xda, 0xef, 0x42, 0x5b, 0xbd, 0x4f, 0x6a, 0x85, 0x1f, + 0x2e, 0x55, 0x98, 0xbf, 0xab, 0xfa, 0x7a, 0x71, 0x3d, 0x23, 0x1b, 0xcb, 0xc6, 0xc0, 0xef, 0x17, + 0x1d, 0x60, 0xe5, 0x17, 0x44, 0xcd, 0xe0, 0xfd, 0x3c, 0x4f, 0xe6, 0x7d, 0x12, 0x93, 0xbb, 0xf4, + 0x91, 0xf7, 0x0a, 0x36, 0xf1, 0xb1, 0xb4, 0xf4, 0xc1, 0x9d, 0x88, 0xfd, 0x14, 0xb6, 0x50, 0xec, + 0x9d, 0xdb, 0x5b, 0x54, 0x87, 0xf4, 0xcf, 0xde, 0x45, 0x40, 0x67, 0x77, 0x29, 0xfd, 0x5b, 0x70, + 0x3f, 0xf7, 0xfd, 0xab, 0x24, 0x2c, 0xae, 0x28, 0xd7, 0x3c, 0xcc, 0x9c, 0xb7, 0xf1, 0x3f, 0xbc, + 0xef, 0xfc, 0x2f, 0x00, 0x00, 0xff, 0xff, 0xbe, 0xeb, 0x20, 0x25, 0xd6, 0x1b, 0x00, 0x00, } diff --git a/pkg/proto/sdk_ws/ws.proto b/pkg/proto/sdk_ws/ws.proto index 511409227..77adabbc0 100644 --- a/pkg/proto/sdk_ws/ws.proto +++ b/pkg/proto/sdk_ws/ws.proto @@ -39,7 +39,6 @@ message PublicUserInfo{ string nickname = 2; string faceURL = 3; int32 gender = 4; - int32 appMangerLevel = 5; //if >0 } message UserInfo{ From a9fa7ee26a5cbe0f351e274692909b4dda0998c5 Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Fri, 11 Feb 2022 18:52:21 +0800 Subject: [PATCH 65/75] Refactor code --- pkg/grpc-etcdv3/getcdv3/register.go | 1 + 1 file changed, 1 insertion(+) diff --git a/pkg/grpc-etcdv3/getcdv3/register.go b/pkg/grpc-etcdv3/getcdv3/register.go index 40a9191af..01ff0cb7a 100644 --- a/pkg/grpc-etcdv3/getcdv3/register.go +++ b/pkg/grpc-etcdv3/getcdv3/register.go @@ -7,6 +7,7 @@ import ( "net" "strconv" "strings" + "time" ) type RegEtcd struct { From 3103c33dda7f942388fbb6fee2b607b807a36df2 Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Fri, 11 Feb 2022 18:57:37 +0800 Subject: [PATCH 66/75] Refactor code --- internal/api/user/user.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/api/user/user.go b/internal/api/user/user.go index e42f0d1b8..1ed341bf5 100644 --- a/internal/api/user/user.go +++ b/internal/api/user/user.go @@ -45,7 +45,7 @@ func GetUsersInfo(c *gin.Context) { var publicUserInfoList []*open_im_sdk.PublicUserInfo for _, v := range RpcResp.UserInfoList { publicUserInfoList = append(publicUserInfoList, - &open_im_sdk.PublicUserInfo{UserID: v.UserID, Nickname: v.Nickname, FaceURL: v.FaceURL, Gender: v.Gender, AppMangerLevel: v.AppMangerLevel}) + &open_im_sdk.PublicUserInfo{UserID: v.UserID, Nickname: v.Nickname, FaceURL: v.FaceURL, Gender: v.Gender}) } resp := api.GetUsersInfoResp{CommResp: api.CommResp{ErrCode: RpcResp.CommonResp.ErrCode, ErrMsg: RpcResp.CommonResp.ErrMsg}, UserInfoList: publicUserInfoList} From df8970f59b244c82aea9ccee7d70f3ddeed784c6 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Fri, 11 Feb 2022 19:06:29 +0800 Subject: [PATCH 67/75] demo modify --- internal/demo/register/send_code.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/demo/register/send_code.go b/internal/demo/register/send_code.go index 9089b9c78..5d6e3e20f 100644 --- a/internal/demo/register/send_code.go +++ b/internal/demo/register/send_code.go @@ -52,7 +52,7 @@ func SendVerificationCode(c *gin.Context) { rand.Seed(time.Now().UnixNano()) code := 100000 + rand.Intn(900000) log.NewInfo(params.OperationID, "begin store redis", account) - err = db.DB.SetAccountCode(account, code, config.Config.Demo.SuperCodeTTL) + err = db.DB.SetAccountCode(account, code, config.Config.Demo.CodeTTL) if err != nil { log.NewError(params.OperationID, "set redis error", account, "err", err.Error()) c.JSON(http.StatusOK, gin.H{"errCode": constant.SmsSendCodeErr, "errMsg": "Enter the superCode directly in the verification code box, SuperCode can be configured in config.xml"}) From 18babef78b840171c2729fee53ea259286c51ca7 Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Fri, 11 Feb 2022 19:06:48 +0800 Subject: [PATCH 68/75] Refactor code --- 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 01ff0cb7a..4fd2cd5a7 100644 --- a/pkg/grpc-etcdv3/getcdv3/register.go +++ b/pkg/grpc-etcdv3/getcdv3/register.go @@ -72,7 +72,7 @@ func RegisterEtcd(schema, etcdAddr, myHost string, myPort int, serviceName strin select { case v, ok := <-kresp: if ok == true { - fmt.Println(" kresp ok ", v) + // fmt.Println(" kresp ok ", v) } else { fmt.Println(" kresp failed ", v) } From 45816fa84f615e35009e9b37be1d7cee467c090a Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Fri, 11 Feb 2022 19:34:18 +0800 Subject: [PATCH 69/75] Refactor code --- internal/rpc/friend/firend.go | 2 +- .../im_mysql_model/friend_request_model.go | 50 ++++++++++++------- 2 files changed, 32 insertions(+), 20 deletions(-) diff --git a/internal/rpc/friend/firend.go b/internal/rpc/friend/firend.go index ebd86cb05..89578ef4a 100644 --- a/internal/rpc/friend/firend.go +++ b/internal/rpc/friend/firend.go @@ -101,7 +101,7 @@ func (s *friendServer) AddFriend(ctx context.Context, req *pbFriend.AddFriendReq } //Establish a latest relationship in the friend request table - friendRequest := db.FriendRequest{ReqMsg: req.ReqMsg, HandleResult: 0} + friendRequest := db.FriendRequest{ReqMsg: req.ReqMsg, HandleResult: 0, CreateTime: time.Now()} utils.CopyStructFields(&friendRequest, req.CommID) // {openIM001 openIM002 0 test add friend 0001-01-01 00:00:00 +0000 UTC 0001-01-01 00:00:00 +0000 UTC }] log.NewDebug(req.CommID.OperationID, "UpdateFriendApplication args ", friendRequest) diff --git a/pkg/common/db/mysql_model/im_mysql_model/friend_request_model.go b/pkg/common/db/mysql_model/im_mysql_model/friend_request_model.go index bcb734281..983b55328 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/friend_request_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/friend_request_model.go @@ -3,6 +3,7 @@ package im_mysql_model import ( "Open_IM/pkg/common/db" "Open_IM/pkg/utils" + "errors" "time" ) @@ -71,32 +72,43 @@ func UpdateFriendApplication(friendRequest *db.FriendRequest) error { friendRequest.FromUserID, friendRequest.ToUserID).Update(&friendRequest).Error } -func InsertFriendApplication(friendRequest *db.FriendRequest, args map[string]interface{}) error { +func InsertFriendApplication(friendRequest *db.FriendRequest) error { dbConn, err := db.DB.MysqlDB.DefaultGormDB() if err != nil { return err } - friendRequest.CreateTime = time.Now() - args["create_time"] = friendRequest.CreateTime - u := dbConn.Model(friendRequest).Updates(args) - //u := dbConn.Table("friend_requests").Where("from_user_id=? and to_user_id=?", - // friendRequest.FromUserID, friendRequest.ToUserID).Update(&friendRequest) - //u := dbConn.Table("friend_requests").Where("from_user_id=? and to_user_id=?", - // friendRequest.FromUserID, friendRequest.ToUserID).Update(&friendRequest) - if u.RowsAffected != 0 { + if err = dbConn.Table("friend_requests").Create(friendRequest).Error; err == nil { return nil } - if friendRequest.CreateTime.Unix() < 0 { - friendRequest.CreateTime = time.Now() - } - if friendRequest.HandleTime.Unix() < 0 { - friendRequest.HandleTime = utils.UnixSecondToTime(0) - } - err = dbConn.Table("friend_requests").Create(friendRequest).Error - if err != nil { - return err + t := dbConn.Model(friendRequest).Select("*").Updates(*friendRequest) + if t.RowsAffected == 0 { + return utils.Wrap(errors.New("RowsAffected == 0"), "no update") } - return nil + return utils.Wrap(t.Error, "") + + // + //friendRequest.CreateTime = time.Now() + //args["create_time"] = friendRequest.CreateTime + //u := dbConn.Model(friendRequest).Updates(args) + ////u := dbConn.Table("friend_requests").Where("from_user_id=? and to_user_id=?", + //// friendRequest.FromUserID, friendRequest.ToUserID).Update(&friendRequest) + ////u := dbConn.Table("friend_requests").Where("from_user_id=? and to_user_id=?", + //// friendRequest.FromUserID, friendRequest.ToUserID).Update(&friendRequest) + //if u.RowsAffected != 0 { + // return nil + //} + // + //if friendRequest.CreateTime.Unix() < 0 { + // friendRequest.CreateTime = time.Now() + //} + //if friendRequest.HandleTime.Unix() < 0 { + // friendRequest.HandleTime = utils.UnixSecondToTime(0) + //} + //err = dbConn.Table("friend_requests").Create(friendRequest).Error + //if err != nil { + // return err + //} + //return nil } From 7e524779084095e775f7da97caac20c76f41e526 Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Fri, 11 Feb 2022 19:35:51 +0800 Subject: [PATCH 70/75] Refactor code --- internal/rpc/friend/firend.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/rpc/friend/firend.go b/internal/rpc/friend/firend.go index 89578ef4a..641077a1e 100644 --- a/internal/rpc/friend/firend.go +++ b/internal/rpc/friend/firend.go @@ -106,7 +106,7 @@ func (s *friendServer) AddFriend(ctx context.Context, req *pbFriend.AddFriendReq // {openIM001 openIM002 0 test add friend 0001-01-01 00:00:00 +0000 UTC 0001-01-01 00:00:00 +0000 UTC }] log.NewDebug(req.CommID.OperationID, "UpdateFriendApplication args ", friendRequest) //err := imdb.InsertFriendApplication(&friendRequest) - err := imdb.InsertFriendApplication(&friendRequest, map[string]interface{}{"handle_result": 0}) + err := imdb.InsertFriendApplication(&friendRequest) if err != nil { log.NewError(req.CommID.OperationID, "UpdateFriendApplication failed ", err.Error(), friendRequest) return &pbFriend.AddFriendResp{CommonResp: &pbFriend.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil From 77bb88ed59672cfea29ba11db151b159e28bad7d Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Fri, 11 Feb 2022 19:41:32 +0800 Subject: [PATCH 71/75] Refactor code --- .../db/mysql_model/im_mysql_model/friend_request_model.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/common/db/mysql_model/im_mysql_model/friend_request_model.go b/pkg/common/db/mysql_model/im_mysql_model/friend_request_model.go index 983b55328..160d41bb7 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/friend_request_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/friend_request_model.go @@ -82,7 +82,7 @@ func InsertFriendApplication(friendRequest *db.FriendRequest) error { return nil } - t := dbConn.Model(friendRequest).Select("*").Updates(*friendRequest) + t := dbConn.Debug().Table("friend_requests").Select("*").Updates(*friendRequest) if t.RowsAffected == 0 { return utils.Wrap(errors.New("RowsAffected == 0"), "no update") } From 109e8b53a1c9d31412d5feed23a362a7553d3b57 Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Fri, 11 Feb 2022 19:49:21 +0800 Subject: [PATCH 72/75] Refactor code --- .../db/mysql_model/im_mysql_model/friend_request_model.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/common/db/mysql_model/im_mysql_model/friend_request_model.go b/pkg/common/db/mysql_model/im_mysql_model/friend_request_model.go index 160d41bb7..7bec6f18f 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/friend_request_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/friend_request_model.go @@ -82,7 +82,7 @@ func InsertFriendApplication(friendRequest *db.FriendRequest) error { return nil } - t := dbConn.Debug().Table("friend_requests").Select("*").Updates(*friendRequest) + t := dbConn.Debug().Table("friend_requests").Where("from_user_id = ? and to_user_id = ?", friendRequest.FromUserID, friendRequest.ToUserID).Select("*").Updates(*friendRequest) if t.RowsAffected == 0 { return utils.Wrap(errors.New("RowsAffected == 0"), "no update") } From 9f6fd3ee6a08975e6229a85fdda95c864635f069 Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Fri, 11 Feb 2022 19:58:42 +0800 Subject: [PATCH 73/75] Refactor code --- internal/rpc/friend/firend.go | 37 ++++++++++++++++++----------------- 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/internal/rpc/friend/firend.go b/internal/rpc/friend/firend.go index 641077a1e..ccaf7db79 100644 --- a/internal/rpc/friend/firend.go +++ b/internal/rpc/friend/firend.go @@ -405,24 +405,25 @@ func (s *friendServer) GetFriendApplyList(ctx context.Context, req *pbFriend.Get var appleUserList []*sdkws.FriendRequest for _, applyUserInfo := range ApplyUsersInfo { var userInfo sdkws.FriendRequest - utils.CopyStructFields(&userInfo, applyUserInfo) - u, err := imdb.GetUserByUserID(userInfo.FromUserID) - if err != nil { - log.Error(req.CommID.OperationID, "GetUserByUserID", userInfo.FromUserID) - continue - } - userInfo.FromNickname = u.Nickname - userInfo.FromFaceURL = u.FaceURL - userInfo.FromGender = u.Gender - - u, err = imdb.GetUserByUserID(userInfo.ToUserID) - if err != nil { - log.Error(req.CommID.OperationID, "GetUserByUserID", userInfo.ToUserID) - continue - } - userInfo.ToNickname = u.Nickname - userInfo.ToFaceURL = u.FaceURL - userInfo.ToGender = u.Gender + cp.FriendRequestDBCopyOpenIM(&userInfo, &applyUserInfo) + // utils.CopyStructFields(&userInfo, applyUserInfo) + // u, err := imdb.GetUserByUserID(userInfo.FromUserID) + // if err != nil { + // log.Error(req.CommID.OperationID, "GetUserByUserID", userInfo.FromUserID) + // continue + // } + // userInfo.FromNickname = u.Nickname + // userInfo.FromFaceURL = u.FaceURL + // userInfo.FromGender = u.Gender + // + // u, err = imdb.GetUserByUserID(userInfo.ToUserID) + // if err != nil { + // log.Error(req.CommID.OperationID, "GetUserByUserID", userInfo.ToUserID) + // continue + // } + // userInfo.ToNickname = u.Nickname + // userInfo.ToFaceURL = u.FaceURL + // userInfo.ToGender = u.Gender appleUserList = append(appleUserList, &userInfo) } From 439605bafc7c45b5473276206f392d787f5eca8c Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Fri, 11 Feb 2022 20:31:57 +0800 Subject: [PATCH 74/75] Refactor code --- internal/rpc/friend/firend.go | 36 ++++++------ .../im_mysql_model/friend_request_model.go | 55 +++++++++---------- 2 files changed, 45 insertions(+), 46 deletions(-) diff --git a/internal/rpc/friend/firend.go b/internal/rpc/friend/firend.go index ccaf7db79..72eefe386 100644 --- a/internal/rpc/friend/firend.go +++ b/internal/rpc/friend/firend.go @@ -106,7 +106,7 @@ func (s *friendServer) AddFriend(ctx context.Context, req *pbFriend.AddFriendReq // {openIM001 openIM002 0 test add friend 0001-01-01 00:00:00 +0000 UTC 0001-01-01 00:00:00 +0000 UTC }] log.NewDebug(req.CommID.OperationID, "UpdateFriendApplication args ", friendRequest) //err := imdb.InsertFriendApplication(&friendRequest) - err := imdb.InsertFriendApplication(&friendRequest) + err := imdb.InsertFriendApplication(&friendRequest, map[string]interface{}{"handle_result": 0}) if err != nil { log.NewError(req.CommID.OperationID, "UpdateFriendApplication failed ", err.Error(), friendRequest) return &pbFriend.AddFriendResp{CommonResp: &pbFriend.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil @@ -449,23 +449,23 @@ func (s *friendServer) GetSelfApplyList(ctx context.Context, req *pbFriend.GetSe for _, selfApplyOtherUserInfo := range usersInfo { var userInfo sdkws.FriendRequest // pbFriend.ApplyUserInfo cp.FriendRequestDBCopyOpenIM(&userInfo, &selfApplyOtherUserInfo) - u, err := imdb.GetUserByUserID(userInfo.FromUserID) - if err != nil { - log.Error(req.CommID.OperationID, "GetUserByUserID", userInfo.FromUserID) - continue - } - userInfo.FromNickname = u.Nickname - userInfo.FromFaceURL = u.FaceURL - userInfo.FromGender = u.Gender - - u, err = imdb.GetUserByUserID(userInfo.ToUserID) - if err != nil { - log.Error(req.CommID.OperationID, "GetUserByUserID", userInfo.ToUserID) - continue - } - userInfo.ToNickname = u.Nickname - userInfo.ToFaceURL = u.FaceURL - userInfo.ToGender = u.Gender + //u, err := imdb.GetUserByUserID(userInfo.FromUserID) + //if err != nil { + // log.Error(req.CommID.OperationID, "GetUserByUserID", userInfo.FromUserID) + // continue + //} + //userInfo.FromNickname = u.Nickname + //userInfo.FromFaceURL = u.FaceURL + //userInfo.FromGender = u.Gender + // + //u, err = imdb.GetUserByUserID(userInfo.ToUserID) + //if err != nil { + // log.Error(req.CommID.OperationID, "GetUserByUserID", userInfo.ToUserID) + // continue + //} + //userInfo.ToNickname = u.Nickname + //userInfo.ToFaceURL = u.FaceURL + //userInfo.ToGender = u.Gender selfApplyOtherUserList = append(selfApplyOtherUserList, &userInfo) } diff --git a/pkg/common/db/mysql_model/im_mysql_model/friend_request_model.go b/pkg/common/db/mysql_model/im_mysql_model/friend_request_model.go index 7bec6f18f..d299b578f 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/friend_request_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/friend_request_model.go @@ -72,7 +72,7 @@ func UpdateFriendApplication(friendRequest *db.FriendRequest) error { friendRequest.FromUserID, friendRequest.ToUserID).Update(&friendRequest).Error } -func InsertFriendApplication(friendRequest *db.FriendRequest) error { +func InsertFriendApplication(friendRequest *db.FriendRequest, args map[string]interface{}) error { dbConn, err := db.DB.MysqlDB.DefaultGormDB() if err != nil { return err @@ -82,33 +82,32 @@ func InsertFriendApplication(friendRequest *db.FriendRequest) error { return nil } - t := dbConn.Debug().Table("friend_requests").Where("from_user_id = ? and to_user_id = ?", friendRequest.FromUserID, friendRequest.ToUserID).Select("*").Updates(*friendRequest) - if t.RowsAffected == 0 { - return utils.Wrap(errors.New("RowsAffected == 0"), "no update") + //t := dbConn.Debug().Table("friend_requests").Where("from_user_id = ? and to_user_id = ?", friendRequest.FromUserID, friendRequest.ToUserID).Select("*").Updates(*friendRequest) + //if t.RowsAffected == 0 { + // return utils.Wrap(errors.New("RowsAffected == 0"), "no update") + //} + //return utils.Wrap(t.Error, "") + + friendRequest.CreateTime = time.Now() + args["create_time"] = friendRequest.CreateTime + u := dbConn.Model(friendRequest).Updates(args) + //u := dbConn.Table("friend_requests").Where("from_user_id=? and to_user_id=?", + // friendRequest.FromUserID, friendRequest.ToUserID).Update(&friendRequest) + //u := dbConn.Table("friend_requests").Where("from_user_id=? and to_user_id=?", + // friendRequest.FromUserID, friendRequest.ToUserID).Update(&friendRequest) + if u.RowsAffected != 0 { + return nil } - return utils.Wrap(t.Error, "") - // - //friendRequest.CreateTime = time.Now() - //args["create_time"] = friendRequest.CreateTime - //u := dbConn.Model(friendRequest).Updates(args) - ////u := dbConn.Table("friend_requests").Where("from_user_id=? and to_user_id=?", - //// friendRequest.FromUserID, friendRequest.ToUserID).Update(&friendRequest) - ////u := dbConn.Table("friend_requests").Where("from_user_id=? and to_user_id=?", - //// friendRequest.FromUserID, friendRequest.ToUserID).Update(&friendRequest) - //if u.RowsAffected != 0 { - // return nil - //} - // - //if friendRequest.CreateTime.Unix() < 0 { - // friendRequest.CreateTime = time.Now() - //} - //if friendRequest.HandleTime.Unix() < 0 { - // friendRequest.HandleTime = utils.UnixSecondToTime(0) - //} - //err = dbConn.Table("friend_requests").Create(friendRequest).Error - //if err != nil { - // return err - //} - //return nil + if friendRequest.CreateTime.Unix() < 0 { + friendRequest.CreateTime = time.Now() + } + if friendRequest.HandleTime.Unix() < 0 { + friendRequest.HandleTime = utils.UnixSecondToTime(0) + } + err = dbConn.Table("friend_requests").Create(friendRequest).Error + if err != nil { + return err + } + return nil } From a5ed6d897c5bcb77d050370b90142cd0c656f64a Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Fri, 11 Feb 2022 20:32:51 +0800 Subject: [PATCH 75/75] Refactor code --- pkg/common/db/mysql_model/im_mysql_model/friend_request_model.go | 1 - 1 file changed, 1 deletion(-) diff --git a/pkg/common/db/mysql_model/im_mysql_model/friend_request_model.go b/pkg/common/db/mysql_model/im_mysql_model/friend_request_model.go index d299b578f..609be8687 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/friend_request_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/friend_request_model.go @@ -3,7 +3,6 @@ package im_mysql_model import ( "Open_IM/pkg/common/db" "Open_IM/pkg/utils" - "errors" "time" )