diff --git a/internal/rpc/friend/firend.go b/internal/rpc/friend/firend.go index 52f422083af4a096c5df77b698d2beff54b4bb57..7acd4f37a0dc50d0bc0a4ebaaad1e2371465d550 100644 --- a/internal/rpc/friend/firend.go +++ b/internal/rpc/friend/firend.go @@ -1,7 +1,7 @@ package friend import ( - "Open_IM/internal/rpc/chat" + chat "Open_IM/internal/rpc/msg" "Open_IM/pkg/common/config" "Open_IM/pkg/common/constant" imdb "Open_IM/pkg/common/db/mysql_model/im_mysql_model" @@ -124,7 +124,7 @@ func (s *friendServer) AddBlacklist(ctx context.Context, req *pbFriend.AddBlackl return &pbFriend.CommonResp{ErrCode: constant.ErrMysql.ErrCode, ErrMsg: constant.ErrMysql.ErrMsg}, nil } log.NewInfo(req.CommID.OperationID, "InsertInToUserBlackList ok ", req.CommID.FromUserID, req.CommID.ToUserID) - chat.BlackAddedNotification(req.CommID.OperationID, req.CommID.OpUserID, req.CommID.FromUserID, req.CommID.ToUserID) + chat.BlackAddedNotification(req) return &pbFriend.CommonResp{}, nil } @@ -148,7 +148,7 @@ func (s *friendServer) AddFriend(ctx context.Context, req *pbFriend.AddFriendReq return &pbFriend.CommonResp{ErrCode: constant.ErrAddFriend.ErrCode, ErrMsg: constant.ErrAddFriend.ErrMsg}, nil } - chat.FriendApplicationAddedNotification(req.CommID.OperationID, req.CommID.OpUserID, req.CommID.FromUserID, req.CommID.ToUserID, req.ReqMessage) + chat.FriendApplicationAddedNotification(req) return &pbFriend.CommonResp{}, nil } @@ -195,7 +195,10 @@ func (s *friendServer) ImportFriend(ctx context.Context, req *pbFriend.ImportFri c.ErrCode = 408 continue } - chat.FriendAddedNotification(req.OperationID, req.OpUserID, req.FromUserID, v) + for _, v := range req.FriendUserIDList { + chat.FriendAddedNotification(req.OperationID, req.OpUserID, req.FromUserID, v) + } + } } } @@ -204,10 +207,11 @@ func (s *friendServer) ImportFriend(ctx context.Context, req *pbFriend.ImportFri return &resp, nil } +//process Friend application func (s *friendServer) AddFriendResponse(ctx context.Context, req *pbFriend.AddFriendResponseReq) (*pbFriend.CommonResp, error) { log.NewInfo(req.CommID.OperationID, "AddFriendResponse args ", req.String()) - if !token_verify.CheckAccess(rreq.CommID.FromUserID, req.CommID.ToUserID) { + if !token_verify.CheckAccess(req.CommID.FromUserID, req.CommID.ToUserID) { log.NewError(req.CommID.OperationID, "CheckAccess failed ", req.CommID.FromUserID, req.CommID.ToUserID) return &pbFriend.CommonResp{ErrCode: constant.ErrAgreeToAddFriend.ErrCode, ErrMsg: constant.ErrAgreeToAddFriend.ErrMsg}, nil } @@ -253,7 +257,8 @@ func (s *friendServer) AddFriendResponse(ctx context.Context, req *pbFriend.AddF } } - chat.FriendApplicationProcessedNotification(req.CommID.OperationID, req.CommID.OpUserID, req.CommID.FromUserID, req.CommID.ToUserID, req.Flag) + chat.FriendApplicationProcessedNotification(req) + chat.FriendAddedNotification(req.CommID.OperationID, req.CommID.OpUserID, req.CommID.FromUserID, req.CommID.ToUserID) return &pbFriend.CommonResp{}, nil } @@ -271,7 +276,7 @@ func (s *friendServer) DeleteFriend(ctx context.Context, req *pbFriend.DeleteFri return &pbFriend.CommonResp{ErrCode: constant.ErrMysql.ErrCode, ErrMsg: constant.ErrMysql.ErrMsg}, nil } log.NewInfo(req.CommID.OperationID, "DeleteFriend rpc ok") - chat.FriendDeletedNotification(req.CommID.OperationID, req.CommID.OpUserID, req.CommID.FromUserID, req.CommID.ToUserID) + chat.FriendDeletedNotification(req) return &pbFriend.CommonResp{}, nil } @@ -322,7 +327,7 @@ func (s *friendServer) SetFriendComment(ctx context.Context, req *pbFriend.SetFr return &pbFriend.CommonResp{ErrCode: constant.ErrSetFriendComment.ErrCode, ErrMsg: constant.ErrSetFriendComment.ErrMsg}, nil } log.NewInfo(req.CommID.OperationID, "rpc SetFriendComment ok") - chat.FriendInfoChangedNotification(req.CommID.OperationID, req.CommID.OpUserID, req.CommID.FromUserID, req.CommID.ToUserID) + chat.FriendInfoChangedNotification(req) return &pbFriend.CommonResp{}, nil } @@ -339,7 +344,7 @@ func (s *friendServer) RemoveBlacklist(ctx context.Context, req *pbFriend.Remove return &pbFriend.CommonResp{ErrCode: constant.ErrMysql.ErrCode, ErrMsg: constant.ErrMysql.ErrMsg}, nil } log.NewInfo(req.CommID.OperationID, "rpc RemoveBlacklist ok") - chat.BlackDeletedNotification(req.CommID.OperationID, req.CommID.OpUserID, req.CommID.FromUserID, req.CommID.ToUserID) + chat.BlackDeletedNotification(req) return &pbFriend.CommonResp{}, nil } diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index 6ac49ac72017b8b79d5c398d0f738f807df2b7c4..1b3956c37e95092d5a7c95cac1b815b2f0a1d1a6 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -11,11 +11,9 @@ import ( "Open_IM/pkg/common/token_verify" "Open_IM/pkg/grpc-etcdv3/getcdv3" pbGroup "Open_IM/pkg/proto/group" - "Open_IM/pkg/proto/sdk_ws" + open_im_sdk "Open_IM/pkg/proto/sdk_ws" "Open_IM/pkg/utils" "context" - "encoding/json" - "fmt" "google.golang.org/grpc" "net" "strconv" @@ -39,6 +37,7 @@ func NewGroupServer(port int) *groupServer { etcdAddr: config.Config.Etcd.EtcdAddr, } } + func (s *groupServer) Run() { log.Info("", "", "rpc group init....") @@ -78,6 +77,7 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupR } //Time stamp + MD5 to generate group chat id groupId := utils.Md5(strconv.FormatInt(time.Now().UnixNano(), 10)) + //to group err := im_mysql_model.InsertIntoGroup(groupId, req.GroupName, req.Introduction, req.Notification, req.FaceUrl, req.Ext) if err != nil { log.NewError(req.OperationID, "InsertIntoGroup failed, ", err.Error(), groupId, req.GroupName, req.Introduction, req.Notification, req.FaceUrl, req.Ext) @@ -90,7 +90,7 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupR return &pbGroup.CreateGroupResp{ErrCode: constant.ErrCreateGroup.ErrCode, ErrMsg: constant.ErrCreateGroup.ErrMsg}, nil } - //Add the group owner to the group first, otherwise the group creation will fail + //to group member err = im_mysql_model.InsertIntoGroupMember(groupId, us.UserID, us.Nickname, us.FaceUrl, constant.GroupOwner) if err != nil { log.NewError(req.OperationID, "InsertIntoGroupMember failed ", err.Error()) @@ -103,7 +103,7 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupR // return &pbGroup.CreateGroupResp{ErrCode: constant.ErrCreateGroup.ErrCode, ErrMsg: constant.ErrCreateGroup.ErrMsg}, nil } - //Binding group id and member id + //to group member for _, user := range req.InitMemberList { us, err := im_mysql_model.FindUserByUID(user.UserID) if err != nil { @@ -123,8 +123,8 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupR log.NewError(req.OperationID, "add mongo group member failed, db.DB.AddGroupMember failed ", err.Error()) } } - resp := &pbGroup.CreateGroupResp{} + resp := &pbGroup.CreateGroupResp{} group, err := im_mysql_model.FindGroupInfoByGroupId(groupId) if err != nil { log.NewError(req.OperationID, "FindGroupInfoByGroupId failed ", err.Error(), groupId) @@ -145,6 +145,7 @@ func (s *groupServer) GetJoinedGroupList(ctx context.Context, req *pbGroup.GetJo return &pbGroup.GetJoinedGroupListResp{ErrCode: constant.ErrParseToken.ErrCode, ErrMsg: constant.ErrParseToken.ErrMsg}, nil } + //group list joinedGroupList, err := imdb.GetJoinedGroupIdListByMemberId(req.FromUserID) if err != nil { log.NewError(req.OperationID, "GetJoinedGroupIdListByMemberId failed ", err.Error(), req.FromUserID) @@ -152,7 +153,6 @@ func (s *groupServer) GetJoinedGroupList(ctx context.Context, req *pbGroup.GetJo } var resp pbGroup.GetJoinedGroupListResp - for _, v := range joinedGroupList { var groupNode open_im_sdk.GroupInfo num := imdb.GetGroupMemberNumByGroupId(v.GroupID) @@ -160,6 +160,7 @@ func (s *groupServer) GetJoinedGroupList(ctx context.Context, req *pbGroup.GetJo group, err := imdb.FindGroupInfoByGroupId(v.GroupID) if num > 0 && owner != nil && err2 == nil && group != nil && err == nil { utils.CopyStructFields(&groupNode, group) + groupNode.CreateTime = group.CreateTime utils.CopyStructFields(groupNode.Owner, owner) groupNode.MemberCount = uint32(num) resp.GroupList = append(resp.GroupList, &groupNode) @@ -177,7 +178,7 @@ func (s *groupServer) GetJoinedGroupList(ctx context.Context, req *pbGroup.GetJo func (s *groupServer) InviteUserToGroup(ctx context.Context, req *pbGroup.InviteUserToGroupReq) (*pbGroup.InviteUserToGroupResp, error) { log.NewInfo(req.OperationID, "InviteUserToGroup args ", req.String()) - if !imdb.IsExistGroupMember(req.GroupID, req.OpUserID) && !utils.IsContain(req.OpUserID, config.Config.Manager.AppManagerUid) { + if !imdb.IsExistGroupMember(req.GroupID, req.OpUserID) && !token_verify.IsMangerUserID(req.OpUserID) { log.NewError(req.OperationID, "no permission InviteUserToGroup ", req.GroupID, req.OpUserID) return &pbGroup.InviteUserToGroupResp{ErrCode: constant.ErrAccess.ErrCode, ErrMsg: constant.ErrAccess.ErrMsg}, nil } @@ -191,6 +192,7 @@ func (s *groupServer) InviteUserToGroup(ctx context.Context, req *pbGroup.Invite //from User: invite: applicant //to user: invite: invited var resp pbGroup.InviteUserToGroupResp + var okUserIDList []string for _, v := range req.InvitedUserIDList { var resultNode pbGroup.Id2Result resultNode.UserID = v @@ -217,7 +219,7 @@ func (s *groupServer) InviteUserToGroup(ctx context.Context, req *pbGroup.Invite resp.Id2ResultList = append(resp.Id2ResultList, &resultNode) continue } - chat.MemberInvitedNotification(req.OperationID, req.GroupID, req.OpUserID, v) + okUserIDList = append(okUserIDList, v) err = db.DB.AddGroupMember(req.GroupID, toUserInfo.UserID) if err != nil { log.NewError(req.OperationID, "AddGroupMember failed ", err.Error(), req.GroupID, toUserInfo.UserID) @@ -225,8 +227,9 @@ func (s *groupServer) InviteUserToGroup(ctx context.Context, req *pbGroup.Invite resp.Id2ResultList = append(resp.Id2ResultList, &resultNode) } + chat.MemberInvitedNotification(req.OperationID, req.GroupID, req.OpUserID, req.Reason, okUserIDList) resp.ErrCode = 0 - log.NewInfo(req.OperationID, "InviteUserToGroup rpc return ", resp) + log.NewInfo(req.OperationID, "InviteUserToGroup rpc return ", resp.String()) return &resp, nil } @@ -308,6 +311,7 @@ func (s *groupServer) KickGroupMember(ctx context.Context, req *pbGroup.KickGrou } } + //op is app manager if flag != 1 { if token_verify.IsMangerUserID(req.OpUserID) { flag = 1 @@ -332,6 +336,7 @@ func (s *groupServer) KickGroupMember(ctx context.Context, req *pbGroup.KickGrou } } + var okUserIDList []string //remove var resp pbGroup.KickGroupMemberResp for _, v := range req.KickedUserIDList { @@ -347,19 +352,17 @@ func (s *groupServer) KickGroupMember(ctx context.Context, req *pbGroup.KickGrou resp.Id2ResultList = append(resp.Id2ResultList, &pbGroup.Id2Result{UserID: v, Result: -1}) } else { resp.Id2ResultList = append(resp.Id2ResultList, &pbGroup.Id2Result{UserID: v, Result: 0}) + okUserIDList = append(okUserIDList, v) } + err = db.DB.DelGroupMember(req.GroupID, v) if err != nil { - log.NewError(req.OperationID, "DelGroupMember failed ", err.Error(), req.GroupID, v.UserId) + log.NewError(req.OperationID, "DelGroupMember failed ", err.Error(), req.GroupID, v) } } - - for _, v := range req.KickedUserIDList { - chat.MemberKickedNotification(req.OperationID, req.GroupID, req.OpUserID, v, req.Reason) - } - + chat.MemberKickedNotification(req, okUserIDList) resp.ErrCode = 0 - log.NewInfo(req.OperationID, "GetGroupMemberList rpc return ", resp) + log.NewInfo(req.OperationID, "GetGroupMemberList rpc return ", resp.String()) return &resp, nil } @@ -377,11 +380,12 @@ func (s *groupServer) GetGroupMembersInfo(ctx context.Context, req *pbGroup.GetG continue } else { utils.CopyStructFields(&memberNode, memberInfo) + memberNode.JoinTime = memberInfo.JoinTime resp.MemberList = append(resp.MemberList, &memberNode) } } resp.ErrCode = 0 - log.NewInfo(req.OperationID, "GetGroupMembersInfo rpc return ", resp) + log.NewInfo(req.OperationID, "GetGroupMembersInfo rpc return ", resp.String()) return &resp, nil } @@ -407,6 +411,7 @@ func (s *groupServer) GetGroupsInfo(ctx context.Context, req *pbGroup.GetGroupsI } var groupInfo open_im_sdk.GroupInfo utils.CopyStructFields(&groupInfo, groupInfoFromMysql) + groupInfo.CreateTime = groupInfoFromMysql.CreateTime groupsInfoList = append(groupsInfoList, &groupInfo) } @@ -437,24 +442,24 @@ func (s *groupServer) GroupApplicationResponse(_ context.Context, req *pbGroup.G } } if req.ToUserID == "0" { - group, err := imdb.FindGroupInfoByGroupId(req.GroupID) - if err != nil { - log.NewError(req.OperationID, "FindGroupInfoByGroupId failed ", req.GroupID) - return reply, nil - } - member, err := imdb.FindGroupMemberInfoByGroupIdAndUserId(req.GroupID, req.OpUserID) - if err != nil { - log.NewError(req.OperationID, "FindGroupMemberInfoByGroupIdAndUserId failed ", req.GroupID, req.OpUserID) - return reply, nil - } - chat.ApplicationProcessedNotification(req.OperationID, req.FromUserID, *group, *member, req.HandleResult, req.HandledMsg) + //group, err := imdb.FindGroupInfoByGroupId(req.GroupID) + //if err != nil { + // log.NewError(req.OperationID, "FindGroupInfoByGroupId failed ", req.GroupID) + // return reply, nil + //} + //member, err := imdb.FindGroupMemberInfoByGroupIdAndUserId(req.GroupID, req.OpUserID) + //if err != nil { + // log.NewError(req.OperationID, "FindGroupMemberInfoByGroupIdAndUserId failed ", req.GroupID, req.OpUserID) + // return reply, nil + //} + chat.ApplicationProcessedNotification(req) if req.HandleResult == 1 { - entrantUser, err := imdb.FindGroupMemberInfoByGroupIdAndUserId(req.GroupID, req.FromUserID) - if err != nil { - log.NewError(req.OperationID, "FindGroupMemberInfoByGroupIdAndUserId failed ", err.Error(), req.GroupID, req.FromUserID) - return reply, nil - } - chat.MemberEnterNotification(req.OperationID, req.GroupID, entrantUser) + // entrantUser, err := imdb.FindGroupMemberInfoByGroupIdAndUserId(req.GroupID, req.FromUserID) + // if err != nil { + // log.NewError(req.OperationID, "FindGroupMemberInfoByGroupIdAndUserId failed ", err.Error(), req.GroupID, req.FromUserID) + // return reply, nil + // } + chat.MemberEnterNotification(req) } } else { log.NewError(req.OperationID, "args failed ", req.String()) @@ -466,25 +471,20 @@ func (s *groupServer) GroupApplicationResponse(_ context.Context, req *pbGroup.G func (s *groupServer) JoinGroup(ctx context.Context, req *pbGroup.JoinGroupReq) (*pbGroup.CommonResp, error) { log.NewInfo(req.OperationID, "JoinGroup args ", req.String()) - //Parse token, to find current user information - //claims, err := token_verify.ParseToken(req.Token) - //if err != nil { - // log.NewError(req.OperationID, "ParseToken failed", err.Error(), req.String()) - // return &pbGroup.CommonResp{ErrCode: constant.ErrParseToken.ErrCode, ErrMsg: constant.ErrParseToken.ErrMsg}, nil - //} - applicationUserInfo, err := im_mysql_model.FindUserByUID(req.FromUserID) + + applicationUserInfo, err := im_mysql_model.FindUserByUID(req.OpUserID) if err != nil { - log.NewError(req.OperationID, "FindUserByUID failed ", err.Error(), req.FromUserID) + log.NewError(req.OperationID, "FindUserByUID failed ", err.Error(), req.OpUserID) return &pbGroup.CommonResp{ErrCode: constant.ErrSearchUserInfo.ErrCode, ErrMsg: constant.ErrSearchUserInfo.ErrMsg}, nil } - _, err = im_mysql_model.FindGroupRequestUserInfoByGroupIDAndUid(req.GroupID, req.FromUserID) + _, err = im_mysql_model.FindGroupRequestUserInfoByGroupIDAndUid(req.GroupID, req.OpUserID) if err == nil { - err = im_mysql_model.DelGroupRequest(req.GroupID, req.FromUserID, "0") + err = im_mysql_model.DelGroupRequest(req.GroupID, req.OpUserID, "0") } - if err = im_mysql_model.InsertIntoGroupRequest(req.GroupID, req.FromUserID, "0", req.ReqMessage, applicationUserInfo.Nickname, applicationUserInfo.FaceUrl); err != nil { - log.NewError(req.OperationID, "InsertIntoGroupRequest ", err.Error(), req.GroupID, req.FromUserID, "0", req.ReqMessage, applicationUserInfo.Nickname, applicationUserInfo.FaceUrl) + if err = im_mysql_model.InsertIntoGroupRequest(req.GroupID, req.OpUserID, "0", req.ReqMessage, applicationUserInfo.Nickname, applicationUserInfo.FaceUrl); err != nil { + log.NewError(req.OperationID, "InsertIntoGroupRequest ", err.Error(), req.GroupID, req.OpUserID, "0", req.ReqMessage, applicationUserInfo.Nickname, applicationUserInfo.FaceUrl) return &pbGroup.CommonResp{ErrCode: constant.ErrJoinGroupApplication.ErrCode, ErrMsg: constant.ErrJoinGroupApplication.ErrMsg}, nil } @@ -493,12 +493,8 @@ func (s *groupServer) JoinGroup(ctx context.Context, req *pbGroup.JoinGroupReq) log.NewError(req.OperationID, "FindGroupMemberListByGroupIdAndFilterInfo failed ", req.GroupID, constant.GroupOwner, err) return &pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}, nil } - group, err := im_mysql_model.FindGroupInfoByGroupId(req.GroupID) - if err != nil { - log.NewError(req.OperationID, "FindGroupInfoByGroupId failed ", req.GroupID) - return &pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}, nil - } - chat.ReceiveJoinApplicationNotification(req.OperationID, memberList[0].UserID, applicationUserInfo, group) + + chat.ReceiveJoinApplicationNotification(req) log.NewInfo(req.OperationID, "ReceiveJoinApplicationNotification rpc JoinGroup success return") return &pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}, nil @@ -525,7 +521,7 @@ func (s *groupServer) QuitGroup(ctx context.Context, req *pbGroup.QuitGroupReq) // return &pbGroup.CommonResp{ErrorCode: constant.ErrQuitGroup.ErrCode, ErrorMsg: constant.ErrQuitGroup.ErrMsg}, nil } - chat.MemberLeaveNotification(req.OperationID, req.GroupID, req.OpUserID) + chat.MemberLeaveNotification(req) log.NewInfo(req.OperationID, "rpc quit group is success return") return &pbGroup.CommonResp{}, nil } @@ -578,7 +574,7 @@ func (s *groupServer) SetGroupInfo(ctx context.Context, req *pbGroup.SetGroupInf } if changedType != 0 { - chat.GroupInfoChangedNotification(req.OperationID, changedType, req.GroupInfo.GroupID, req.OpUserID) + chat.GroupInfoChangedNotification(req) } return &pbGroup.CommonResp{}, nil diff --git a/internal/rpc/msg/send_msg.go b/internal/rpc/msg/send_msg.go index 26e49bfa817981fc3c887a2518b202987a53d818..f6162f278f21921ffd5758b58acd73ad4c507f68 100644 --- a/internal/rpc/msg/send_msg.go +++ b/internal/rpc/msg/send_msg.go @@ -10,6 +10,7 @@ import ( "Open_IM/pkg/common/token_verify" "Open_IM/pkg/grpc-etcdv3/getcdv3" pbChat "Open_IM/pkg/proto/chat" + pbFriend "Open_IM/pkg/proto/friend" pbGroup "Open_IM/pkg/proto/group" open_im_sdk "Open_IM/pkg/proto/sdk_ws" sdk_ws "Open_IM/pkg/proto/sdk_ws" @@ -308,51 +309,82 @@ func Notification(n *NotificationMsg, onlineUserOnly bool) { // repeated GroupMemberFullInfo MemberList = 3; // uint64 OperationTime = 4; //} creator->group -func GroupCreatedNotification(req *pbGroup.CreateGroupReq, groupID string) { - var n NotificationMsg - n.SendID = req.OpUserID - n.RecvID = groupID - n.ContentType = constant.CreateGroupTip - n.SessionType = constant.GroupChatType - n.MsgFrom = constant.SysMsgType - n.OperationID = req.OperationID - var groupCreated open_im_sdk.GroupCreatedTips - groupCreated.Group = &open_im_sdk.GroupInfo{} - - if token_verify.IsMangerUserID(req.OpUserID) { - u, err := imdb.FindUserByUID(req.OpUserID) - if err != nil || u == nil { +func setOpUserInfo(operationID, opUserID, groupID string, groupMemberInfo *open_im_sdk.GroupMemberFullInfo) { + if token_verify.IsMangerUserID(opUserID) { + u, err := imdb.FindUserByUID(opUserID) + if err != nil { + log.NewError(operationID, "FindUserByUID failed ", err.Error(), opUserID) return } - utils.CopyStructFields(groupCreated.Creator, u) - groupCreated.Creator.AppMangerLevel = 1 + utils.CopyStructFields(groupMemberInfo, u) + groupMemberInfo.AppMangerLevel = 1 } else { - u, err := imdb.FindGroupMemberInfoByGroupIdAndUserId(groupID, req.OpUserID) - if err != nil || u == nil { + u, err := imdb.FindGroupMemberInfoByGroupIdAndUserId(groupID, opUserID) + if err != nil { + log.NewError(operationID, "FindGroupMemberInfoByGroupIdAndUserId failed ", err.Error(), groupID, opUserID) return } - utils.CopyStructFields(groupCreated.Creator, u) + utils.CopyStructFields(groupMemberInfo, u) } +} +func setGroupInfo(operationID, groupID string, groupInfo *open_im_sdk.GroupInfo, ownerUserID string) { group, err := imdb.FindGroupInfoByGroupId(groupID) - if err != nil || group == nil { + if err != nil { + log.NewError(operationID, "FindGroupInfoByGroupId failed ", err.Error(), groupID) + return + } + utils.CopyStructFields(groupInfo, group) + + if ownerUserID != "" { + groupInfo.Owner = &open_im_sdk.PublicUserInfo{} + setGroupPublicUserInfo(operationID, groupID, ownerUserID, groupInfo.Owner) + } +} + +func setGroupMemberInfo(operationID, groupID, userID string, groupMemberInfo *open_im_sdk.GroupMemberFullInfo) { + group, err := imdb.FindGroupMemberInfoByGroupIdAndUserId(groupID, userID) + if err != nil { + log.NewError(operationID, "FindGroupMemberInfoByGroupIdAndUserId failed ", err.Error(), groupID, userID) return } - utils.CopyStructFields(groupCreated.Group, group) - groupCreated.Creator = &open_im_sdk.GroupMemberFullInfo{} + utils.CopyStructFields(groupMemberInfo, group) +} + +func setGroupPublicUserInfo(operationID, groupID, userID string, publicUserInfo *open_im_sdk.PublicUserInfo) { + group, err := imdb.FindGroupMemberInfoByGroupIdAndUserId(groupID, userID) + if err != nil { + log.NewError(operationID, "FindGroupMemberInfoByGroupIdAndUserId failed ", err.Error(), groupID, userID) + return + } + utils.CopyStructFields(publicUserInfo, group) +} - for _, v := range req.InitMemberList { +//创建群后调用 +func GroupCreatedNotification(operationID, opUserID, OwnerUserID, groupID string, initMemberList []string) { + var n NotificationMsg + n.SendID = opUserID + n.RecvID = groupID + n.ContentType = constant.GroupCreatedNotification + n.SessionType = constant.GroupChatType + n.MsgFrom = constant.SysMsgType + n.OperationID = operationID + + GroupCreatedTips := open_im_sdk.GroupCreatedTips{Group: &open_im_sdk.GroupInfo{}, + Creator: &open_im_sdk.GroupMemberFullInfo{}} + setOpUserInfo(operationID, GroupCreatedTips.Creator.UserID, groupID, GroupCreatedTips.Creator) + + setGroupInfo(operationID, groupID, GroupCreatedTips.Group, OwnerUserID) + + for _, v := range initMemberList { var groupMemberInfo open_im_sdk.GroupMemberFullInfo - member, err := imdb.GetMemberInfoById(groupID, v.UserID) - if err != nil { - utils.CopyStructFields(&groupMemberInfo, member) - } - groupCreated.MemberList = append(groupCreated.MemberList, &groupMemberInfo) + setGroupMemberInfo(operationID, groupID, v, &groupMemberInfo) + GroupCreatedTips.MemberList = append(GroupCreatedTips.MemberList, &groupMemberInfo) } var tips open_im_sdk.TipsComm - tips.Detail, _ = json.Marshal(groupCreated) + tips.Detail, _ = json.Marshal(GroupCreatedTips) tips.DefaultTips = config.Config.Notification.GroupCreated.DefaultTips.Tips n.Content, _ = json.Marshal(tips) Notification(&n, false) @@ -362,27 +394,44 @@ func GroupCreatedNotification(req *pbGroup.CreateGroupReq, groupID string) { // GroupInfo Group = 1; // PublicUserInfo Applicant = 2; // string Reason = 3; -//} -func ReceiveJoinApplicationNotification(operationID, RecvID string, applicant *immysql.User, group *immysql.Group) { +//} apply->all managers 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"` +//申请进群后调用 +func JoinApplicationNotification(req *pbGroup.JoinGroupReq) { + managerList, err := imdb.GetOwnerManagerByGroupId(req.GroupID) + if err != nil { + log.NewError(req.OperationID, "GetOwnerManagerByGroupId failed ", err.Error(), req.GroupID) + return + } + var n NotificationMsg - n.SendID = applicant.UserID - n.RecvID = RecvID - n.ContentType = constant.ApplyJoinGroupTip + n.SendID = req.OpUserID + n.ContentType = constant.JoinApplicationNotification n.SessionType = constant.SingleChatType n.MsgFrom = constant.SysMsgType - n.OperationID = operationID + n.OperationID = req.OperationID - var joniGroup open_im_sdk.ReceiveJoinApplicationTips - joniGroup.Group = &open_im_sdk.GroupInfo{} - utils.CopyStructFields(joniGroup.Group, group) - joniGroup.Applicant = &open_im_sdk.PublicUserInfo{} - utils.CopyStructFields(joniGroup.Applicant, applicant) + JoinGroupApplicationTips := open_im_sdk.JoinGroupApplicationTips{Group: &open_im_sdk.GroupInfo{}, Applicant: &open_im_sdk.PublicUserInfo{}} + setGroupInfo(req.OperationID, req.GroupID, JoinGroupApplicationTips.Group, "") + + apply, err := imdb.FindUserByUID(req.OpUserID) + if err != nil { + log.NewError(req.OperationID, "FindUserByUID failed ", err.Error(), req.OpUserID) + return + } + utils.CopyStructFields(JoinGroupApplicationTips.Applicant, apply) + JoinGroupApplicationTips.Reason = req.ReqMessage var tips open_im_sdk.TipsComm - tips.Detail, _ = json.Marshal(joniGroup) - tips.DefaultTips = config.Config.Notification.ApplyJoinGroup.DefaultTips.Tips + tips.Detail, _ = json.Marshal(JoinGroupApplicationTips) + tips.DefaultTips = "JoinGroupApplicationTips" n.Content, _ = json.Marshal(tips) - Notification(&n, false) + for _, v := range managerList { + n.RecvID = v.UserID + Notification(&n, true) + } } //message ApplicationProcessedTips{ @@ -391,8 +440,28 @@ func ReceiveJoinApplicationNotification(operationID, RecvID string, applicant *i // int32 Result = 3; // string Reason = 4; //} -func ApplicationProcessedNotification(operationID, RecvID string, group immysql.Group, opUser immysql.GroupMember, result int32, Reason string) { +//处理进群请求后调用 +func ApplicationProcessedNotification(req *pbGroup.GroupApplicationResponseReq) { + var n NotificationMsg + n.SendID = req.OpUserID + n.ContentType = constant.ApplicationProcessedNotification + n.SessionType = constant.SingleChatType + n.MsgFrom = constant.SysMsgType + n.OperationID = req.OperationID + n.RecvID = req.ToUserID + ApplicationProcessedTips := open_im_sdk.ApplicationProcessedTips{Group: &open_im_sdk.GroupInfo{}, OpUser: &open_im_sdk.GroupMemberFullInfo{}} + setGroupInfo(req.OperationID, req.GroupID, ApplicationProcessedTips.Group, "") + setOpUserInfo(req.OperationID, req.OpUserID, req.GroupID, ApplicationProcessedTips.OpUser) + ApplicationProcessedTips.Reason = req.HandledMsg + ApplicationProcessedTips.Result = req.HandleResult + + var tips open_im_sdk.TipsComm + tips.Detail, _ = json.Marshal(ApplicationProcessedTips) + tips.DefaultTips = "ApplicationProcessedNotification" + n.Content, _ = json.Marshal(tips) + + Notification(&n, true) } //message MemberInvitedTips{ @@ -401,8 +470,29 @@ func ApplicationProcessedNotification(operationID, RecvID string, group immysql. // GroupMemberFullInfo InvitedUser = 3; // uint64 OperationTime = 4; //} -func MemberInvitedNotification(operationID string, group immysql.Group, opUser immysql.User, invitedUser immysql.GroupMember) { +//被邀请进群后调用 +func MemberInvitedNotification(operationID, groupID, opUserID, reason string, invitedUserIDList []string) { + var n NotificationMsg + n.SendID = opUserID + n.ContentType = constant.MemberInvitedNotification + n.SessionType = constant.GroupChatType + n.MsgFrom = constant.SysMsgType + n.OperationID = operationID + ApplicationProcessedTips := open_im_sdk.MemberInvitedTips{Group: &open_im_sdk.GroupInfo{}, OpUser: &open_im_sdk.GroupMemberFullInfo{}} + setGroupInfo(operationID, groupID, ApplicationProcessedTips.Group, "") + setOpUserInfo(operationID, opUserID, groupID, ApplicationProcessedTips.OpUser) + for _, v := range invitedUserIDList { + var groupMemberInfo open_im_sdk.GroupMemberFullInfo + setGroupMemberInfo(operationID, groupID, v, &groupMemberInfo) + ApplicationProcessedTips.InvitedUserList = append(ApplicationProcessedTips.InvitedUserList, &groupMemberInfo) + } + var tips open_im_sdk.TipsComm + tips.Detail, _ = json.Marshal(ApplicationProcessedTips) + tips.DefaultTips = "MemberInvitedNotification" + n.Content, _ = json.Marshal(tips) + n.RecvID = groupID + Notification(&n, true) } //message MemberKickedTips{ @@ -411,12 +501,35 @@ func MemberInvitedNotification(operationID string, group immysql.Group, opUser i // GroupMemberFullInfo KickedUser = 3; // uint64 OperationTime = 4; //} +//被踢后调用 +func MemberKickedNotification(req *pbGroup.KickGroupMemberReq, kickedUserIDList []string) { + var n NotificationMsg + n.SendID = req.OpUserID + n.ContentType = constant.MemberKickedNotification + n.SessionType = constant.GroupChatType + n.MsgFrom = constant.SysMsgType + n.OperationID = req.OperationID -func MemberKickedNotificationID(operationID, GroupID, opUserID, kickedUserID, reason string) { - -} -func MemberKickedNotification(operationID string, group immysql.Group, opUser immysql.GroupMember, KickedUser immysql.GroupMember) { + MemberKickedTips := open_im_sdk.MemberKickedTips{Group: &open_im_sdk.GroupInfo{}, OpUser: &open_im_sdk.GroupMemberFullInfo{}} + setGroupInfo(req.OperationID, req.GroupID, MemberKickedTips.Group, "") + setOpUserInfo(req.OperationID, req.OpUserID, req.GroupID, MemberKickedTips.OpUser) + for _, v := range kickedUserIDList { + var groupMemberInfo open_im_sdk.GroupMemberFullInfo + setGroupMemberInfo(req.OperationID, req.GroupID, v, &groupMemberInfo) + MemberKickedTips.KickedUserList = append(MemberKickedTips.KickedUserList, &groupMemberInfo) + } + var tips open_im_sdk.TipsComm + tips.Detail, _ = json.Marshal(MemberKickedTips) + tips.DefaultTips = "MemberKickedNotification" + n.Content, _ = json.Marshal(tips) + n.RecvID = req.GroupID + Notification(&n, true) + for _, v := range kickedUserIDList { + n.SessionType = constant.SingleChatType + n.RecvID = v + Notification(&n, true) + } } //message GroupInfoChangedTips{ @@ -424,8 +537,26 @@ func MemberKickedNotification(operationID string, group immysql.Group, opUser im // GroupInfo Group = 2; // GroupMemberFullInfo OpUser = 3; //} -func GroupInfoChangedNotification(operationID string, changedType int32, groupID string, opUserID string) { +//群信息改变后掉用 +func GroupInfoChangedNotification(req *pbGroup.SetGroupInfoReq) { + var n NotificationMsg + n.SendID = req.OpUserID + n.ContentType = constant.GroupInfoChangedNotification + n.SessionType = constant.GroupChatType + n.MsgFrom = constant.SysMsgType + n.OperationID = req.OperationID + + GroupInfoChangedTips := open_im_sdk.GroupInfoChangedTips{Group: &open_im_sdk.GroupInfo{}, OpUser: &open_im_sdk.GroupMemberFullInfo{}} + setGroupInfo(req.OperationID, req.GroupInfo.GroupID, GroupInfoChangedTips.Group, "") + setOpUserInfo(req.OperationID, req.OpUserID, req.GroupInfo.GroupID, GroupInfoChangedTips.OpUser) + + var tips open_im_sdk.TipsComm + tips.Detail, _ = json.Marshal(GroupInfoChangedTips) + tips.DefaultTips = "GroupInfoChangedNotification" + n.Content, _ = json.Marshal(tips) + n.RecvID = req.GroupInfo.GroupID + Notification(&n, true) } /* @@ -458,8 +589,30 @@ func GroupInfoChangedNotification(operationID string, changedType int32, group * // GroupMemberFullInfo LeaverUser = 2; // uint64 OperationTime = 3; //} -func MemberLeaveNotification(operationID, groupID, leaverUserID string) { +//群成员退群后调用 +func MemberLeaveNotification(req *pbGroup.QuitGroupReq) { + var n NotificationMsg + n.SendID = req.OpUserID + n.ContentType = constant.MemberLeaveNotification + n.SessionType = constant.GroupChatType + n.MsgFrom = constant.SysMsgType + n.OperationID = req.OperationID + + MemberLeaveTips := open_im_sdk.MemberLeaveTips{Group: &open_im_sdk.GroupInfo{}, LeaverUser: &open_im_sdk.GroupMemberFullInfo{}} + setGroupInfo(req.OperationID, req.GroupID, MemberLeaveTips.Group, "") + setOpUserInfo(req.OperationID, req.OpUserID, req.GroupID, MemberLeaveTips.LeaverUser) + + var tips open_im_sdk.TipsComm + tips.Detail, _ = json.Marshal(MemberLeaveTips) + tips.DefaultTips = "MemberLeaveNotification" + n.Content, _ = json.Marshal(tips) + n.RecvID = req.GroupID + Notification(&n, true) + + n.SessionType = constant.SingleChatType + n.RecvID = req.OpUserID + Notification(&n, true) } //message MemberEnterTips{ @@ -467,7 +620,25 @@ func MemberLeaveNotification(operationID, groupID, leaverUserID string) { // GroupMemberFullInfo EntrantUser = 2; // uint64 OperationTime = 3; //} -func MemberEnterNotification(operationID string, group *immysql.Group, entrantUser *immysql.GroupMember) { +//群成员主动申请进群,管理员同意后调用, +func MemberEnterNotification(req *pbGroup.GroupApplicationResponseReq) { + var n NotificationMsg + n.SendID = req.OpUserID + n.ContentType = constant.MemberEnterNotification + n.SessionType = constant.GroupChatType + n.MsgFrom = constant.SysMsgType + n.OperationID = req.OperationID + + MemberLeaveTips := open_im_sdk.MemberEnterTips{Group: &open_im_sdk.GroupInfo{}, EntrantUser: &open_im_sdk.GroupMemberFullInfo{}} + setGroupInfo(req.OperationID, req.GroupID, MemberLeaveTips.Group, "") + setOpUserInfo(req.OperationID, req.OpUserID, req.GroupID, MemberLeaveTips.EntrantUser) + + var tips open_im_sdk.TipsComm + tips.Detail, _ = json.Marshal(MemberLeaveTips) + tips.DefaultTips = "MemberEnterNotification" + n.Content, _ = json.Marshal(tips) + n.RecvID = req.GroupID + Notification(&n, true) } @@ -478,47 +649,143 @@ func MemberEnterNotification(operationID string, group *immysql.Group, entrantUs // uint64 MuteTime = 4; // GroupInfo Group = 5; //} -func MemberInfoChangedNotification(operationID string, group *immysql.Group, opUser *immysql.GroupMember, userFinalInfo *immysql.GroupMember) { +//func MemberInfoChangedNotification(operationID string, group *immysql.Group, opUser *immysql.GroupMember, userFinalInfo *immysql.GroupMember) { -} +//} //message FriendApplicationAddedTips{ // PublicUserInfo OpUser = 1; //user1 // FriendApplication Application = 2; // PublicUserInfo OpedUser = 3; //user2 //} -func FriendApplicationAddedNotification(operationID string, opUser *immysql.User, opedUser *immysql.User, application *immysql.FriendRequest) { +func getFromToUserNickname(operationID, fromUserID, toUserID string) (string, string) { + from, err1 := imdb.FindUserByUID(fromUserID) + to, err2 := imdb.FindUserByUID(toUserID) + if err1 != nil || err2 != nil { + log.NewError("FindUserByUID failed ", err1, err2, fromUserID, toUserID) + } + fromNickname, toNickname := "", "" + if from != nil { + fromNickname = from.Nickname + } + if to != nil { + toNickname = to.Nickname + } + return fromNickname, toNickname } -//message FriendApplicationProcessedTips{ -// PublicUserInfo OpUser = 1; //user2 -// PublicUserInfo OpedUser = 2; //user1 -// int32 result = 3; //1: accept; -1: reject -//} -func FriendApplicationProcessedNotification(operationID string, opUser *immysql.User, OpedUser *immysql.User, result int32) { +func FriendApplicationAddedNotification(req *pbFriend.AddFriendReq) { + var n NotificationMsg + n.SendID = req.CommID.FromUserID + n.RecvID = req.CommID.ToUserID + n.ContentType = constant.FriendApplicationAddedNotification + n.SessionType = constant.SingleChatType + n.MsgFrom = constant.SysMsgType + n.OperationID = req.CommID.OperationID + var FriendApplicationAddedTips open_im_sdk.FriendApplicationAddedTips + FriendApplicationAddedTips.FromToUserID.FromUserID = req.CommID.FromUserID + FriendApplicationAddedTips.FromToUserID.ToUserID = req.CommID.ToUserID + fromUserNickname, toUserNickname := getFromToUserNickname(req.CommID.OperationID, req.CommID.FromUserID, req.CommID.ToUserID) + var tips open_im_sdk.TipsComm + tips.Detail, _ = json.Marshal(FriendApplicationAddedTips) + tips.DefaultTips = fromUserNickname + " FriendApplicationAddedNotification " + toUserNickname + n.Content, _ = json.Marshal(tips) + Notification(&n, true) } -//message FriendAddedTips{ -// FriendInfo Friend = 1; -//} -//message FriendInfo{ -// UserInfo OwnerUser = 1; -// string Remark = 2; -// uint64 CreateTime = 3; -// UserInfo FriendUser = 4; -//} +func FriendApplicationProcessedNotification(req *pbFriend.AddFriendResponseReq) { + var n NotificationMsg + n.SendID = req.CommID.FromUserID + n.RecvID = req.CommID.ToUserID + n.ContentType = constant.FriendApplicationProcessedNotification + n.SessionType = constant.SingleChatType + n.MsgFrom = constant.SysMsgType + n.OperationID = req.CommID.OperationID -func FriendAddedNotification(operationID string, opUser *immysql.User, friendUser *immysql.Friend) { + var FriendApplicationProcessedTips open_im_sdk.FriendApplicationProcessedTips + FriendApplicationProcessedTips.FromToUserID.FromUserID = req.CommID.FromUserID + FriendApplicationProcessedTips.FromToUserID.ToUserID = req.CommID.ToUserID + fromUserNickname, toUserNickname := getFromToUserNickname(req.CommID.OperationID, req.CommID.FromUserID, req.CommID.ToUserID) + var tips open_im_sdk.TipsComm + tips.Detail, _ = json.Marshal(FriendApplicationProcessedTips) + tips.DefaultTips = fromUserNickname + " FriendApplicationProcessedNotification " + toUserNickname + n.Content, _ = json.Marshal(tips) + Notification(&n, true) +} + +func FriendAddedNotification(operationID, opUserID, fromUserID, toUserID string) { + var n NotificationMsg + n.SendID = fromUserID + n.RecvID = toUserID + n.ContentType = constant.FriendAddedNotification + n.SessionType = constant.SingleChatType + n.MsgFrom = constant.SysMsgType + n.OperationID = operationID + + var FriendAddedTips open_im_sdk.FriendAddedTips + + user, err := imdb.FindUserByUID(opUserID) + if err != nil { + log.NewError(operationID, "FindUserByUID failed ", err.Error(), opUserID) + + } else { + utils.CopyStructFields(FriendAddedTips.OpUser, user) + } + friend, err := imdb.FindFriendRelationshipFromFriend(fromUserID, toUserID) + if err != nil { + log.NewError(operationID, "FindUserByUID failed ", err.Error(), fromUserID, toUserID) + } else { + FriendAddedTips.Friend.Remark = friend.Remark + } + + from, err := imdb.FindUserByUID(fromUserID) + if err != nil { + log.NewError(operationID, "FindUserByUID failed ", err.Error(), fromUserID) + + } else { + utils.CopyStructFields(FriendAddedTips.Friend.OwnerUser, from) + } + + to, err := imdb.FindUserByUID(toUserID) + if err != nil { + log.NewError(operationID, "FindUserByUID failed ", err.Error(), toUserID) + + } else { + utils.CopyStructFields(FriendAddedTips.Friend.FriendUser, to) + } + + fromUserNickname, toUserNickname := FriendAddedTips.Friend.OwnerUser.Nickname, FriendAddedTips.Friend.FriendUser.Nickname + var tips open_im_sdk.TipsComm + tips.Detail, _ = json.Marshal(FriendAddedTips) + tips.DefaultTips = fromUserNickname + " FriendAddedNotification " + toUserNickname + n.Content, _ = json.Marshal(tips) + Notification(&n, true) } //message FriendDeletedTips{ // FriendInfo Friend = 1; //} -func FriendDeletedNotification(operationID string, opUser *immysql.User, friendUser *immysql.Friend) { +func FriendDeletedNotification(req *pbFriend.DeleteFriendReq) { + var n NotificationMsg + n.SendID = req.CommID.FromUserID + n.RecvID = req.CommID.ToUserID + n.ContentType = constant.FriendDeletedNotification + n.SessionType = constant.SingleChatType + n.MsgFrom = constant.SysMsgType + n.OperationID = req.CommID.OperationID + var FriendDeletedTips open_im_sdk.FriendDeletedTips + FriendDeletedTips.FromToUserID.FromUserID = req.CommID.FromUserID + FriendDeletedTips.FromToUserID.ToUserID = req.CommID.ToUserID + fromUserNickname, toUserNickname := getFromToUserNickname(req.CommID.OperationID, req.CommID.FromUserID, req.CommID.ToUserID) + var tips open_im_sdk.TipsComm + tips.Detail, _ = json.Marshal(FriendDeletedTips) + tips.DefaultTips = fromUserNickname + " FriendDeletedNotification " + toUserNickname + n.Content, _ = json.Marshal(tips) + Notification(&n, true) } //message FriendInfoChangedTips{ @@ -526,8 +793,24 @@ func FriendDeletedNotification(operationID string, opUser *immysql.User, friendU // PublicUserInfo OpUser = 2; // uint64 OperationTime = 3; //} -func FriendInfoChangedNotification(operationID string, opUser *immysql.User, friendUser *immysql.Friend) { +func FriendInfoChangedNotification(req *pbFriend.SetFriendCommentReq) { + var n NotificationMsg + n.SendID = req.CommID.FromUserID + n.RecvID = req.CommID.ToUserID + n.ContentType = constant.FriendInfoChangedNotification + n.SessionType = constant.SingleChatType + n.MsgFrom = constant.SysMsgType + n.OperationID = req.CommID.OperationID + var FriendInfoChangedTips open_im_sdk.FriendInfoChangedTips + FriendInfoChangedTips.FromToUserID.FromUserID = req.CommID.FromUserID + FriendInfoChangedTips.FromToUserID.ToUserID = req.CommID.ToUserID + fromUserNickname, toUserNickname := getFromToUserNickname(req.CommID.OperationID, req.CommID.FromUserID, req.CommID.ToUserID) + var tips open_im_sdk.TipsComm + tips.Detail, _ = json.Marshal(FriendInfoChangedTips) + tips.DefaultTips = fromUserNickname + " FriendDeletedNotification " + toUserNickname + n.Content, _ = json.Marshal(tips) + Notification(&n, true) } //message BlackAddedTips{ @@ -539,15 +822,47 @@ func FriendInfoChangedNotification(operationID string, opUser *immysql.User, fri // uint64 CreateTime = 3; // PublicUserInfo BlackUser = 4; //} -func BlackAddedNotification(operationID string, opUser *immysql.User, blackUser *immysql.User) { +func BlackAddedNotification(req *pbFriend.AddBlacklistReq) { + var n NotificationMsg + n.SendID = req.CommID.FromUserID + n.RecvID = req.CommID.ToUserID + n.ContentType = constant.BlackAddedNotification + n.SessionType = constant.SingleChatType + n.MsgFrom = constant.SysMsgType + n.OperationID = req.CommID.OperationID + var BlackAddedTips open_im_sdk.BlackAddedTips + BlackAddedTips.FromToUserID.FromUserID = req.CommID.FromUserID + BlackAddedTips.FromToUserID.ToUserID = req.CommID.ToUserID + fromUserNickname, toUserNickname := getFromToUserNickname(req.CommID.OperationID, req.CommID.FromUserID, req.CommID.ToUserID) + var tips open_im_sdk.TipsComm + tips.Detail, _ = json.Marshal(BlackAddedTips) + tips.DefaultTips = fromUserNickname + " BlackAddedNotification " + toUserNickname + n.Content, _ = json.Marshal(tips) + Notification(&n, true) } //message BlackDeletedTips{ // BlackInfo Black = 1; //} -func BlackDeletedNotification(operationID string, opUser *immysql.User, blackUser *immysql.User) { +func BlackDeletedNotification(req *pbFriend.RemoveBlacklistReq) { + var n NotificationMsg + n.SendID = req.CommID.FromUserID + n.RecvID = req.CommID.ToUserID + n.ContentType = constant.BlackDeletedNotification + n.SessionType = constant.SingleChatType + n.MsgFrom = constant.SysMsgType + n.OperationID = req.CommID.OperationID + var BlackDeletedTips open_im_sdk.BlackDeletedTips + BlackDeletedTips.FromToUserID.FromUserID = req.CommID.FromUserID + BlackDeletedTips.FromToUserID.ToUserID = req.CommID.ToUserID + fromUserNickname, toUserNickname := getFromToUserNickname(req.CommID.OperationID, req.CommID.FromUserID, req.CommID.ToUserID) + var tips open_im_sdk.TipsComm + tips.Detail, _ = json.Marshal(BlackDeletedTips) + tips.DefaultTips = fromUserNickname + " BlackDeletedNotification " + toUserNickname + n.Content, _ = json.Marshal(tips) + Notification(&n, true) } //message SelfInfoUpdatedTips{ @@ -555,6 +870,26 @@ func BlackDeletedNotification(operationID string, opUser *immysql.User, blackUse // PublicUserInfo OpUser = 2; // uint64 OperationTime = 3; //} -func SelfInfoUpdatedNotification(operationID string, opUser *immysql.User, selfUser *immysql.User) { +func SelfInfoUpdatedNotification(operationID, userID string) { + var n NotificationMsg + n.SendID = userID + n.RecvID = userID + n.ContentType = constant.SelfInfoUpdatedNotification + n.SessionType = constant.SingleChatType + n.MsgFrom = constant.SysMsgType + n.OperationID = operationID + + var SelfInfoUpdatedTips open_im_sdk.SelfInfoUpdatedTips + SelfInfoUpdatedTips.UserID = userID + var tips open_im_sdk.TipsComm + u, err := imdb.FindUserByUID(userID) + if err != nil { + log.NewError(operationID, "FindUserByUID failed ", err.Error(), userID) + } + + tips.Detail, _ = json.Marshal(SelfInfoUpdatedTips) + tips.DefaultTips = u.Nickname + " SelfInfoUpdatedNotification " + n.Content, _ = json.Marshal(tips) + Notification(&n, true) } diff --git a/internal/rpc/user/get_user_info.go b/internal/rpc/user/get_user_info.go index 3f9cec00f8fab37a2708d6a31de21f1962935a5d..eca8afbd562e43c10fb460c8aad9c1954b284718 100644 --- a/internal/rpc/user/get_user_info.go +++ b/internal/rpc/user/get_user_info.go @@ -75,14 +75,7 @@ func (s *userServer) GetUserInfo(ctx context.Context, req *pbUser.GetUserInfoReq log.ErrorByKv("search userinfo failed", req.OperationID, "userID", userID, "err=%s", err.Error()) continue } - userInfo.Uid = user.UID - userInfo.Icon = user.Icon - userInfo.Name = user.Name - userInfo.Gender = user.Gender - userInfo.Mobile = user.Mobile - userInfo.Birth = user.Birth - userInfo.Email = user.Email - userInfo.Ex = user.Ex + utils.CopyStructFields(&userInfo, user) userInfoList = append(userInfoList, &userInfo) } } else { diff --git a/internal/rpc/user/update_user_info.go b/internal/rpc/user/update_user_info.go index 079cb1b442cb5b1942b85a6a11c573215545a174..f022542e47b67509ca3d7d111d5e38b48a61c9e4 100644 --- a/internal/rpc/user/update_user_info.go +++ b/internal/rpc/user/update_user_info.go @@ -2,6 +2,7 @@ package user import ( "Open_IM/internal/push/logic" + chat "Open_IM/internal/rpc/msg" "Open_IM/pkg/common/config" "Open_IM/pkg/common/constant" "Open_IM/pkg/common/db/mysql_model/im_mysql_model" @@ -49,7 +50,7 @@ func (s *userServer) UpdateUserInfo(ctx context.Context, req *pbUser.UpdateUserI log.ErrorByKv("get friend list rpc server failed", req.OperationID, "err", err.Error(), "req", req.String()) return &pbUser.CommonResp{}, nil } - if RpcResp.ErrorCode != 0 { + if RpcResp.ErrCode != 0 { log.ErrorByKv("get friend list rpc server failed", req.OperationID, "err", err.Error(), "req", req.String()) return &pbUser.CommonResp{}, nil } @@ -62,6 +63,8 @@ func (s *userServer) UpdateUserInfo(ctx context.Context, req *pbUser.UpdateUserI if self != nil { name, faceUrl = self.Name, self.Icon } + + chat.SelfInfoUpdatedNotification(req.OperationID, req.Uid) for _, v := range RpcResp.Data { logic.SendMsgByWS(&pbChat.WSToMsgSvrChatMsg{ SendID: ownerUid, diff --git a/pkg/common/constant/constant.go b/pkg/common/constant/constant.go index 0d2b5dae6134b9b696ad991deeb4394caa8bf306..44216d1c8369b44fa5f3f73a38cac0bbc871e69c 100644 --- a/pkg/common/constant/constant.go +++ b/pkg/common/constant/constant.go @@ -45,22 +45,38 @@ const ( GroupMsg = 201 //SysRelated - AcceptFriendApplicationTip = 201 - AddFriendTip = 202 - RefuseFriendApplicationTip = 203 - SetSelfInfoTip = 204 - - TransferGroupOwnerTip = 501 - CreateGroupTip = 502 - GroupApplicationResponseTip = 503 - ApplyJoinGroupTip = 504 - QuitGroupTip = 505 - SetGroupInfoTip = 506 - AcceptGroupApplicationTip = 507 - RefuseGroupApplicationTip = 508 - KickGroupMemberTip = 509 - InviteUserToGroupTip = 510 - ChangeGroupInfoTip = 511 + FriendApplicationAddedNotification = 201 + FriendApplicationProcessedNotification = 202 + FriendAddedNotification = 203 + FriendDeletedNotification = 204 + FriendInfoChangedNotification = 205 + BlackAddedNotification = 206 + BlackDeletedNotification = 207 + //AcceptFriendApplicationTip = 201 + //AddFriendTip = 202 + //RefuseFriendApplicationTip = 203 + + SelfInfoUpdatedNotification = 301 + + GroupCreatedNotification = 501 + JoinApplicationNotification = 502 + ApplicationProcessedNotification = 503 + MemberInvitedNotification = 504 + MemberKickedNotification = 505 + GroupInfoChangedNotification = 506 + MemberLeaveNotification = 507 + MemberEnterNotification = 508 + //TransferGroupOwnerTip = 501 + //CreateGroupTip = 502 + //GroupApplicationResponseTip = 503 + //ApplyJoinGroupTip = 504 + //QuitGroupTip = 505 + //SetGroupInfoTip = 506 + //AcceptGroupApplicationTip = 507 + //RefuseGroupApplicationTip = 508 + //KickGroupMemberTip = 509 + //InviteUserToGroupTip = 510 + //ChangeGroupInfoTip = 511 //MsgFrom UserMsgType = 100 diff --git a/pkg/common/db/mysql.go b/pkg/common/db/mysql.go index 859620e36842f5aac2d4586989338b7bd03ce861..152273f973d36f9199456dcb1964feb213a40593 100644 --- a/pkg/common/db/mysql.go +++ b/pkg/common/db/mysql.go @@ -91,18 +91,6 @@ func initMysqlDB() { panic(err.Error()) } - sqlTable = "CREATE TABLE IF NOT EXISTS `black_list` (" + - " `uid` varchar(32) NOT NULL COMMENT 'uid'," + - " `begin_disable_time` datetime DEFAULT NULL," + - " `end_disable_time` datetime DEFAULT NULL," + - " `ex` varchar(1024) DEFAULT NULL," + - " PRIMARY KEY (`uid`) USING BTREE" + - " ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;" - err = db.Exec(sqlTable).Error - if err != nil { - panic(err.Error()) - } - sqlTable = "CREATE TABLE IF NOT EXISTS `user_black_list` (" + " `owner_id` varchar(64) NOT NULL," + " `block_id` varchar(64) NOT NULL," + diff --git a/pkg/common/db/mysql_model/im_mysql_model/group_model.go b/pkg/common/db/mysql_model/im_mysql_model/group_model.go index d9c69fdc07e0cd09d511c6a547b9cd2d39df52ef..db4e7f3c0fdedb79cbbb6ed0690615300ded9ca2 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/group_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/group_model.go @@ -15,7 +15,7 @@ func InsertIntoGroup(groupId, name, introduction, notification, faceUrl, ex stri } //Default group name if name == "" { - name = "groupChat" + name = "Group Chat" } toInsertInfo := Group{GroupID: groupId, GroupName: name, Introduction: introduction, Notification: notification, FaceUrl: faceUrl, CreateTime: time.Now(), Ex: ex} err = dbConn.Table("group").Create(toInsertInfo).Error diff --git a/pkg/proto/group/group.pb.go b/pkg/proto/group/group.pb.go index caa26e0e5ba9d5500df3c7d2434f1979075a0609..cbd93fb5ead8cb60cde3b407fade31c36af3fd5d 100644 --- a/pkg/proto/group/group.pb.go +++ b/pkg/proto/group/group.pb.go @@ -36,7 +36,7 @@ func (m *CommonResp) Reset() { *m = CommonResp{} } func (m *CommonResp) String() string { return proto.CompactTextString(m) } func (*CommonResp) ProtoMessage() {} func (*CommonResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_2ff972788727c811, []int{0} + return fileDescriptor_group_95297d6a59bab850, []int{0} } func (m *CommonResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CommonResp.Unmarshal(m, b) @@ -82,7 +82,7 @@ func (m *GroupAddMemberInfo) Reset() { *m = GroupAddMemberInfo{} } func (m *GroupAddMemberInfo) String() string { return proto.CompactTextString(m) } func (*GroupAddMemberInfo) ProtoMessage() {} func (*GroupAddMemberInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_group_2ff972788727c811, []int{1} + return fileDescriptor_group_95297d6a59bab850, []int{1} } func (m *GroupAddMemberInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupAddMemberInfo.Unmarshal(m, b) @@ -135,7 +135,7 @@ func (m *CreateGroupReq) Reset() { *m = CreateGroupReq{} } func (m *CreateGroupReq) String() string { return proto.CompactTextString(m) } func (*CreateGroupReq) ProtoMessage() {} func (*CreateGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_2ff972788727c811, []int{2} + return fileDescriptor_group_95297d6a59bab850, []int{2} } func (m *CreateGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CreateGroupReq.Unmarshal(m, b) @@ -231,7 +231,7 @@ func (m *CreateGroupResp) Reset() { *m = CreateGroupResp{} } func (m *CreateGroupResp) String() string { return proto.CompactTextString(m) } func (*CreateGroupResp) ProtoMessage() {} func (*CreateGroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_2ff972788727c811, []int{3} + return fileDescriptor_group_95297d6a59bab850, []int{3} } func (m *CreateGroupResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CreateGroupResp.Unmarshal(m, b) @@ -285,7 +285,7 @@ func (m *GetGroupsInfoReq) Reset() { *m = GetGroupsInfoReq{} } func (m *GetGroupsInfoReq) String() string { return proto.CompactTextString(m) } func (*GetGroupsInfoReq) ProtoMessage() {} func (*GetGroupsInfoReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_2ff972788727c811, []int{4} + return fileDescriptor_group_95297d6a59bab850, []int{4} } func (m *GetGroupsInfoReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupsInfoReq.Unmarshal(m, b) @@ -339,7 +339,7 @@ func (m *GetGroupsInfoResp) Reset() { *m = GetGroupsInfoResp{} } func (m *GetGroupsInfoResp) String() string { return proto.CompactTextString(m) } func (*GetGroupsInfoResp) ProtoMessage() {} func (*GetGroupsInfoResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_2ff972788727c811, []int{5} + return fileDescriptor_group_95297d6a59bab850, []int{5} } func (m *GetGroupsInfoResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupsInfoResp.Unmarshal(m, b) @@ -383,8 +383,7 @@ func (m *GetGroupsInfoResp) GetGroupInfoList() []*sdk_ws.GroupInfo { 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"` - FromUserID string `protobuf:"bytes,3,opt,name=FromUserID" json:"FromUserID,omitempty"` - OperationID string `protobuf:"bytes,4,opt,name=OperationID" json:"OperationID,omitempty"` + OperationID string `protobuf:"bytes,3,opt,name=OperationID" json:"OperationID,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -394,7 +393,7 @@ func (m *SetGroupInfoReq) Reset() { *m = SetGroupInfoReq{} } func (m *SetGroupInfoReq) String() string { return proto.CompactTextString(m) } func (*SetGroupInfoReq) ProtoMessage() {} func (*SetGroupInfoReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_2ff972788727c811, []int{6} + return fileDescriptor_group_95297d6a59bab850, []int{6} } func (m *SetGroupInfoReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetGroupInfoReq.Unmarshal(m, b) @@ -428,13 +427,6 @@ func (m *SetGroupInfoReq) GetOpUserID() string { return "" } -func (m *SetGroupInfoReq) GetFromUserID() string { - if m != nil { - return m.FromUserID - } - return "" -} - func (m *SetGroupInfoReq) GetOperationID() string { if m != nil { return m.OperationID @@ -442,7 +434,6 @@ func (m *SetGroupInfoReq) GetOperationID() string { return "" } -// owner or manager 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"` @@ -456,7 +447,7 @@ func (m *GetGroupApplicationListReq) Reset() { *m = GetGroupApplicationL func (m *GetGroupApplicationListReq) String() string { return proto.CompactTextString(m) } func (*GetGroupApplicationListReq) ProtoMessage() {} func (*GetGroupApplicationListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_2ff972788727c811, []int{7} + return fileDescriptor_group_95297d6a59bab850, []int{7} } func (m *GetGroupApplicationListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupApplicationListReq.Unmarshal(m, b) @@ -523,7 +514,7 @@ func (m *GetGroupApplicationList_Data_User) Reset() { *m = GetGroupAppli func (m *GetGroupApplicationList_Data_User) String() string { return proto.CompactTextString(m) } func (*GetGroupApplicationList_Data_User) ProtoMessage() {} func (*GetGroupApplicationList_Data_User) Descriptor() ([]byte, []int) { - return fileDescriptor_group_2ff972788727c811, []int{8} + return fileDescriptor_group_95297d6a59bab850, []int{8} } func (m *GetGroupApplicationList_Data_User) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupApplicationList_Data_User.Unmarshal(m, b) @@ -667,7 +658,7 @@ func (m *GetGroupApplicationListData) Reset() { *m = GetGroupApplication func (m *GetGroupApplicationListData) String() string { return proto.CompactTextString(m) } func (*GetGroupApplicationListData) ProtoMessage() {} func (*GetGroupApplicationListData) Descriptor() ([]byte, []int) { - return fileDescriptor_group_2ff972788727c811, []int{9} + return fileDescriptor_group_95297d6a59bab850, []int{9} } func (m *GetGroupApplicationListData) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupApplicationListData.Unmarshal(m, b) @@ -714,7 +705,7 @@ func (m *GetGroupApplicationListResp) Reset() { *m = GetGroupApplication func (m *GetGroupApplicationListResp) String() string { return proto.CompactTextString(m) } func (*GetGroupApplicationListResp) ProtoMessage() {} func (*GetGroupApplicationListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_2ff972788727c811, []int{10} + return fileDescriptor_group_95297d6a59bab850, []int{10} } func (m *GetGroupApplicationListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupApplicationListResp.Unmarshal(m, b) @@ -770,7 +761,7 @@ func (m *TransferGroupOwnerReq) Reset() { *m = TransferGroupOwnerReq{} } func (m *TransferGroupOwnerReq) String() string { return proto.CompactTextString(m) } func (*TransferGroupOwnerReq) ProtoMessage() {} func (*TransferGroupOwnerReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_2ff972788727c811, []int{11} + return fileDescriptor_group_95297d6a59bab850, []int{11} } func (m *TransferGroupOwnerReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TransferGroupOwnerReq.Unmarshal(m, b) @@ -828,9 +819,8 @@ func (m *TransferGroupOwnerReq) GetOpUserID() string { 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"` - FromUserID string `protobuf:"bytes,3,opt,name=FromUserID" json:"FromUserID,omitempty"` + OpUserID string `protobuf:"bytes,3,opt,name=OpUserID" json:"OpUserID,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:"-"` @@ -840,7 +830,7 @@ func (m *JoinGroupReq) Reset() { *m = JoinGroupReq{} } func (m *JoinGroupReq) String() string { return proto.CompactTextString(m) } func (*JoinGroupReq) ProtoMessage() {} func (*JoinGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_2ff972788727c811, []int{12} + return fileDescriptor_group_95297d6a59bab850, []int{12} } func (m *JoinGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_JoinGroupReq.Unmarshal(m, b) @@ -874,9 +864,9 @@ func (m *JoinGroupReq) GetReqMessage() string { return "" } -func (m *JoinGroupReq) GetFromUserID() string { +func (m *JoinGroupReq) GetOpUserID() string { if m != nil { - return m.FromUserID + return m.OpUserID } return "" } @@ -888,24 +878,15 @@ func (m *JoinGroupReq) GetOperationID() string { return "" } -func (m *JoinGroupReq) GetOpUserID() string { - if m != nil { - return m.OpUserID - } - return "" -} - 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"` - ToUserID string `protobuf:"bytes,7,opt,name=ToUserID" json:"ToUserID,omitempty"` - AddTime int64 `protobuf:"varint,10,opt,name=AddTime" json:"AddTime,omitempty"` - HandledMsg string `protobuf:"bytes,12,opt,name=HandledMsg" json:"HandledMsg,omitempty"` - // int32 Type = 13; - // int32 HandleStatus = 14; - HandleResult int32 `protobuf:"varint,15,opt,name=HandleResult" json:"HandleResult,omitempty"` + OperationID string `protobuf:"bytes,1,opt,name=OperationID" json:"OperationID,omitempty"` + OpUserID string `protobuf:"bytes,2,opt,name=OpUserID" json:"OpUserID,omitempty"` + GroupID string `protobuf:"bytes,3,opt,name=GroupID" json:"GroupID,omitempty"` + FromUserID string `protobuf:"bytes,4,opt,name=FromUserID" json:"FromUserID,omitempty"` + ToUserID string `protobuf:"bytes,5,opt,name=ToUserID" json:"ToUserID,omitempty"` + AddTime int64 `protobuf:"varint,6,opt,name=AddTime" json:"AddTime,omitempty"` + HandledMsg string `protobuf:"bytes,7,opt,name=HandledMsg" json:"HandledMsg,omitempty"` + HandleResult int32 `protobuf:"varint,8,opt,name=HandleResult" json:"HandleResult,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -915,7 +896,7 @@ func (m *GroupApplicationResponseReq) Reset() { *m = GroupApplicationRes func (m *GroupApplicationResponseReq) String() string { return proto.CompactTextString(m) } func (*GroupApplicationResponseReq) ProtoMessage() {} func (*GroupApplicationResponseReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_2ff972788727c811, []int{13} + return fileDescriptor_group_95297d6a59bab850, []int{13} } func (m *GroupApplicationResponseReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationResponseReq.Unmarshal(m, b) @@ -1006,7 +987,7 @@ func (m *SetOwnerGroupNickNameReq) Reset() { *m = SetOwnerGroupNickNameR func (m *SetOwnerGroupNickNameReq) String() string { return proto.CompactTextString(m) } func (*SetOwnerGroupNickNameReq) ProtoMessage() {} func (*SetOwnerGroupNickNameReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_2ff972788727c811, []int{14} + return fileDescriptor_group_95297d6a59bab850, []int{14} } func (m *SetOwnerGroupNickNameReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetOwnerGroupNickNameReq.Unmarshal(m, b) @@ -1064,8 +1045,7 @@ func (m *SetOwnerGroupNickNameReq) GetOpUserID() string { 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"` - FromUserID string `protobuf:"bytes,3,opt,name=FromUserID" json:"FromUserID,omitempty"` - OpUserID string `protobuf:"bytes,4,opt,name=OpUserID" json:"OpUserID,omitempty"` + OpUserID string `protobuf:"bytes,3,opt,name=OpUserID" json:"OpUserID,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -1075,7 +1055,7 @@ func (m *QuitGroupReq) Reset() { *m = QuitGroupReq{} } func (m *QuitGroupReq) String() string { return proto.CompactTextString(m) } func (*QuitGroupReq) ProtoMessage() {} func (*QuitGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_2ff972788727c811, []int{15} + return fileDescriptor_group_95297d6a59bab850, []int{15} } func (m *QuitGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_QuitGroupReq.Unmarshal(m, b) @@ -1109,13 +1089,6 @@ func (m *QuitGroupReq) GetOperationID() string { return "" } -func (m *QuitGroupReq) GetFromUserID() string { - if m != nil { - return m.FromUserID - } - return "" -} - func (m *QuitGroupReq) GetOpUserID() string { if m != nil { return m.OpUserID @@ -1138,7 +1111,7 @@ func (m *GetGroupMemberListReq) Reset() { *m = GetGroupMemberListReq{} } func (m *GetGroupMemberListReq) String() string { return proto.CompactTextString(m) } func (*GetGroupMemberListReq) ProtoMessage() {} func (*GetGroupMemberListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_2ff972788727c811, []int{16} + return fileDescriptor_group_95297d6a59bab850, []int{16} } func (m *GetGroupMemberListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupMemberListReq.Unmarshal(m, b) @@ -1207,7 +1180,7 @@ func (m *GetGroupMemberListResp) Reset() { *m = GetGroupMemberListResp{} func (m *GetGroupMemberListResp) String() string { return proto.CompactTextString(m) } func (*GetGroupMemberListResp) ProtoMessage() {} func (*GetGroupMemberListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_2ff972788727c811, []int{17} + return fileDescriptor_group_95297d6a59bab850, []int{17} } func (m *GetGroupMemberListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupMemberListResp.Unmarshal(m, b) @@ -1269,7 +1242,7 @@ func (m *GetGroupMembersInfoReq) Reset() { *m = GetGroupMembersInfoReq{} func (m *GetGroupMembersInfoReq) String() string { return proto.CompactTextString(m) } func (*GetGroupMembersInfoReq) ProtoMessage() {} func (*GetGroupMembersInfoReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_2ff972788727c811, []int{18} + return fileDescriptor_group_95297d6a59bab850, []int{18} } func (m *GetGroupMembersInfoReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupMembersInfoReq.Unmarshal(m, b) @@ -1330,7 +1303,7 @@ func (m *GetGroupMembersInfoResp) Reset() { *m = GetGroupMembersInfoResp func (m *GetGroupMembersInfoResp) String() string { return proto.CompactTextString(m) } func (*GetGroupMembersInfoResp) ProtoMessage() {} func (*GetGroupMembersInfoResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_2ff972788727c811, []int{19} + return fileDescriptor_group_95297d6a59bab850, []int{19} } func (m *GetGroupMembersInfoResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupMembersInfoResp.Unmarshal(m, b) @@ -1386,7 +1359,7 @@ func (m *KickGroupMemberReq) Reset() { *m = KickGroupMemberReq{} } func (m *KickGroupMemberReq) String() string { return proto.CompactTextString(m) } func (*KickGroupMemberReq) ProtoMessage() {} func (*KickGroupMemberReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_2ff972788727c811, []int{20} + return fileDescriptor_group_95297d6a59bab850, []int{20} } func (m *KickGroupMemberReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_KickGroupMemberReq.Unmarshal(m, b) @@ -1453,7 +1426,7 @@ func (m *Id2Result) Reset() { *m = Id2Result{} } func (m *Id2Result) String() string { return proto.CompactTextString(m) } func (*Id2Result) ProtoMessage() {} func (*Id2Result) Descriptor() ([]byte, []int) { - return fileDescriptor_group_2ff972788727c811, []int{21} + return fileDescriptor_group_95297d6a59bab850, []int{21} } func (m *Id2Result) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Id2Result.Unmarshal(m, b) @@ -1500,7 +1473,7 @@ func (m *KickGroupMemberResp) Reset() { *m = KickGroupMemberResp{} } func (m *KickGroupMemberResp) String() string { return proto.CompactTextString(m) } func (*KickGroupMemberResp) ProtoMessage() {} func (*KickGroupMemberResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_2ff972788727c811, []int{22} + return fileDescriptor_group_95297d6a59bab850, []int{22} } func (m *KickGroupMemberResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_KickGroupMemberResp.Unmarshal(m, b) @@ -1554,7 +1527,7 @@ func (m *GetJoinedGroupListReq) Reset() { *m = GetJoinedGroupListReq{} } func (m *GetJoinedGroupListReq) String() string { return proto.CompactTextString(m) } func (*GetJoinedGroupListReq) ProtoMessage() {} func (*GetJoinedGroupListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_2ff972788727c811, []int{23} + return fileDescriptor_group_95297d6a59bab850, []int{23} } func (m *GetJoinedGroupListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetJoinedGroupListReq.Unmarshal(m, b) @@ -1608,7 +1581,7 @@ func (m *GetJoinedGroupListResp) Reset() { *m = GetJoinedGroupListResp{} func (m *GetJoinedGroupListResp) String() string { return proto.CompactTextString(m) } func (*GetJoinedGroupListResp) ProtoMessage() {} func (*GetJoinedGroupListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_2ff972788727c811, []int{24} + return fileDescriptor_group_95297d6a59bab850, []int{24} } func (m *GetJoinedGroupListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetJoinedGroupListResp.Unmarshal(m, b) @@ -1664,7 +1637,7 @@ func (m *InviteUserToGroupReq) Reset() { *m = InviteUserToGroupReq{} } func (m *InviteUserToGroupReq) String() string { return proto.CompactTextString(m) } func (*InviteUserToGroupReq) ProtoMessage() {} func (*InviteUserToGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_2ff972788727c811, []int{25} + return fileDescriptor_group_95297d6a59bab850, []int{25} } func (m *InviteUserToGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_InviteUserToGroupReq.Unmarshal(m, b) @@ -1732,7 +1705,7 @@ func (m *InviteUserToGroupResp) Reset() { *m = InviteUserToGroupResp{} } func (m *InviteUserToGroupResp) String() string { return proto.CompactTextString(m) } func (*InviteUserToGroupResp) ProtoMessage() {} func (*InviteUserToGroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_2ff972788727c811, []int{26} + return fileDescriptor_group_95297d6a59bab850, []int{26} } func (m *InviteUserToGroupResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_InviteUserToGroupResp.Unmarshal(m, b) @@ -1786,7 +1759,7 @@ func (m *GetGroupAllMemberReq) Reset() { *m = GetGroupAllMemberReq{} } func (m *GetGroupAllMemberReq) String() string { return proto.CompactTextString(m) } func (*GetGroupAllMemberReq) ProtoMessage() {} func (*GetGroupAllMemberReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_2ff972788727c811, []int{27} + return fileDescriptor_group_95297d6a59bab850, []int{27} } func (m *GetGroupAllMemberReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupAllMemberReq.Unmarshal(m, b) @@ -1840,7 +1813,7 @@ func (m *GetGroupAllMemberResp) Reset() { *m = GetGroupAllMemberResp{} } func (m *GetGroupAllMemberResp) String() string { return proto.CompactTextString(m) } func (*GetGroupAllMemberResp) ProtoMessage() {} func (*GetGroupAllMemberResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_2ff972788727c811, []int{28} + return fileDescriptor_group_95297d6a59bab850, []int{28} } func (m *GetGroupAllMemberResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupAllMemberResp.Unmarshal(m, b) @@ -2416,101 +2389,100 @@ var _Group_serviceDesc = grpc.ServiceDesc{ Metadata: "group/group.proto", } -func init() { proto.RegisterFile("group/group.proto", fileDescriptor_group_2ff972788727c811) } - -var fileDescriptor_group_2ff972788727c811 = []byte{ - // 1480 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x58, 0xcd, 0x6f, 0xdc, 0x44, - 0x14, 0x97, 0xf7, 0x23, 0xcd, 0xbe, 0x7c, 0x6c, 0x32, 0x6d, 0x52, 0xe3, 0x86, 0x2a, 0xb5, 0x50, - 0x15, 0x55, 0x28, 0x91, 0x52, 0x84, 0x84, 0x5a, 0xa1, 0xa6, 0xf9, 0x68, 0x17, 0x48, 0xa2, 0x3a, - 0xdb, 0x0b, 0x97, 0xe0, 0xae, 0xa7, 0x2b, 0xb3, 0x5e, 0xdb, 0xeb, 0xf1, 0x92, 0x96, 0x0b, 0x20, - 0x24, 0x38, 0x20, 0x44, 0xaf, 0x1c, 0x39, 0xc0, 0x11, 0x71, 0xe0, 0xce, 0x81, 0x7f, 0x0c, 0xcd, - 0x87, 0xbd, 0xe3, 0xf1, 0xc7, 0xae, 0x12, 0x89, 0x5e, 0x56, 0x3b, 0xef, 0xbd, 0x99, 0xf7, 0x31, - 0xef, 0xfd, 0xde, 0x1b, 0xc3, 0x6a, 0x3f, 0x0a, 0xc6, 0xe1, 0x0e, 0xfb, 0xdd, 0x0e, 0xa3, 0x20, - 0x0e, 0x50, 0x93, 0x2d, 0x8c, 0x3b, 0xa7, 0x21, 0xf6, 0xcf, 0x3b, 0xc7, 0x3b, 0xe1, 0xa0, 0xbf, - 0xc3, 0x38, 0x3b, 0xc4, 0x19, 0x9c, 0x5f, 0x90, 0x9d, 0x0b, 0xc2, 0x25, 0xcd, 0x8f, 0x01, 0xf6, - 0x83, 0xe1, 0x30, 0xf0, 0x2d, 0x4c, 0x42, 0xa4, 0xc3, 0xb5, 0xc3, 0x28, 0xda, 0x0f, 0x1c, 0xac, - 0x6b, 0x9b, 0xda, 0x56, 0xd3, 0x4a, 0x96, 0x68, 0x1d, 0xe6, 0x0e, 0xa3, 0xe8, 0x98, 0xf4, 0xf5, - 0xda, 0xa6, 0xb6, 0xd5, 0xb2, 0xc4, 0xca, 0x7c, 0x04, 0xe8, 0x09, 0xd5, 0xb5, 0xe7, 0x38, 0xc7, - 0x78, 0xf8, 0x02, 0x47, 0x1d, 0xff, 0x65, 0x40, 0xa5, 0x9f, 0x13, 0x1c, 0x75, 0x0e, 0xd8, 0x31, - 0x2d, 0x4b, 0xac, 0x10, 0x82, 0x86, 0x15, 0x78, 0x98, 0x9d, 0xd1, 0xb4, 0xd8, 0x7f, 0xf3, 0xdf, - 0x1a, 0x2c, 0xef, 0x47, 0xd8, 0x8e, 0x31, 0x3b, 0xc8, 0xc2, 0x23, 0xb4, 0x07, 0xcb, 0x1d, 0xdf, - 0x8d, 0xf9, 0x81, 0x9f, 0xb9, 0x24, 0xd6, 0xb5, 0xcd, 0xfa, 0xd6, 0xc2, 0xee, 0x3b, 0xdb, 0xdc, - 0xc9, 0xbc, 0x46, 0x4b, 0xd9, 0x80, 0x36, 0xa0, 0xc5, 0xa4, 0x4e, 0xec, 0x21, 0x16, 0x26, 0x4f, - 0x08, 0xc8, 0x84, 0xc5, 0x8e, 0x1f, 0x47, 0x81, 0x33, 0xee, 0xc5, 0x6e, 0xe0, 0xeb, 0x75, 0x26, - 0x90, 0xa1, 0x51, 0x99, 0x93, 0x20, 0x76, 0x5f, 0xba, 0x3d, 0x9b, 0xc9, 0x34, 0xb8, 0x8c, 0x4c, - 0xa3, 0xf1, 0x3a, 0xb2, 0x7b, 0xf8, 0x79, 0xe4, 0xe9, 0x4d, 0xc6, 0x4e, 0x96, 0x68, 0x05, 0xea, - 0x87, 0xaf, 0x62, 0x7d, 0x8e, 0x51, 0xe9, 0x5f, 0xb4, 0x09, 0x0b, 0xa7, 0x21, 0x8e, 0xd8, 0xc6, - 0xce, 0x81, 0x7e, 0x8d, 0x71, 0x64, 0x12, 0x32, 0x60, 0xfe, 0x34, 0x14, 0x71, 0x9b, 0x67, 0xec, - 0x74, 0x8d, 0x6e, 0x03, 0x1c, 0x45, 0xc1, 0x50, 0x70, 0x5b, 0x8c, 0x2b, 0x51, 0xcc, 0xd7, 0xd0, - 0xce, 0x04, 0xf1, 0x32, 0x97, 0x89, 0x3e, 0x10, 0x41, 0xa3, 0x11, 0x65, 0x31, 0x59, 0xd8, 0x5d, - 0xdf, 0x0e, 0x68, 0x0e, 0xb9, 0xc3, 0x73, 0xe2, 0x0c, 0xb6, 0x53, 0xae, 0x35, 0x11, 0x34, 0x23, - 0x58, 0x79, 0x82, 0x63, 0xb6, 0x26, 0x8c, 0x87, 0x47, 0xd4, 0x59, 0x2e, 0x70, 0x90, 0x5e, 0x5f, - 0xcb, 0x92, 0x49, 0x6a, 0x38, 0x6a, 0xd5, 0xe1, 0xa8, 0x67, 0xc3, 0x61, 0x7e, 0xaf, 0xc1, 0xaa, - 0xa2, 0xf4, 0x52, 0x1e, 0x3f, 0x84, 0xa5, 0xd4, 0x11, 0x66, 0x69, 0x9d, 0x25, 0x5a, 0x99, 0xd7, - 0x59, 0x61, 0xf3, 0x77, 0x0d, 0xda, 0x67, 0xc2, 0x8a, 0xc4, 0xf3, 0x4c, 0x0c, 0xb5, 0x19, 0x63, - 0x98, 0xf1, 0xb5, 0x56, 0x79, 0xf5, 0x75, 0xf5, 0xea, 0xd5, 0x48, 0x36, 0x72, 0x91, 0x34, 0xbf, - 0x06, 0x23, 0x09, 0xd6, 0x5e, 0x18, 0x7a, 0x22, 0x7b, 0xa9, 0x0b, 0xd4, 0x62, 0x59, 0xb7, 0xa6, - 0xe8, 0x9e, 0x7e, 0x4b, 0x53, 0xac, 0x33, 0x7f, 0x6d, 0xc0, 0x9d, 0x12, 0xe5, 0xe7, 0x07, 0x76, - 0x6c, 0x9f, 0x53, 0x39, 0xb4, 0x0c, 0xb5, 0x54, 0x7b, 0xad, 0x73, 0x40, 0x6f, 0x52, 0x24, 0x8b, - 0xd0, 0x99, 0x2c, 0xa7, 0x46, 0xc3, 0x80, 0xf9, 0x6e, 0x20, 0xb8, 0x3c, 0x14, 0xe9, 0x9a, 0xc2, - 0xcf, 0x91, 0x67, 0xf7, 0x59, 0xad, 0x36, 0x2d, 0xf6, 0x9f, 0x9e, 0x67, 0xe1, 0xd1, 0x18, 0x93, - 0x98, 0x66, 0x07, 0xaf, 0x57, 0x89, 0x42, 0xf9, 0x4f, 0x6d, 0xdf, 0xf1, 0xb0, 0x43, 0xf9, 0xbc, - 0x6a, 0x25, 0x0a, 0xb5, 0x74, 0xcf, 0x71, 0xba, 0xee, 0x10, 0xb3, 0x9a, 0xad, 0x5b, 0xc9, 0x12, - 0xdd, 0x83, 0x95, 0xc4, 0xae, 0x13, 0xb7, 0x37, 0xf0, 0x29, 0x12, 0xf1, 0xc2, 0xcd, 0xd1, 0xd1, - 0x5d, 0x58, 0xe6, 0x56, 0xa6, 0x92, 0xc0, 0x24, 0x15, 0x2a, 0xda, 0x82, 0x76, 0xb2, 0x37, 0x01, - 0x9e, 0x05, 0x26, 0xa8, 0x92, 0xd1, 0x7b, 0xb0, 0xc4, 0xf7, 0x26, 0x72, 0x8b, 0x4c, 0x2e, 0x4b, - 0xa4, 0xf7, 0x2b, 0x7c, 0xa1, 0x54, 0x7d, 0x89, 0xdf, 0xaf, 0x44, 0xa2, 0x31, 0xeb, 0xbe, 0x0e, - 0xb1, 0xbe, 0xcc, 0x63, 0x46, 0xff, 0x53, 0x68, 0xe4, 0x22, 0x67, 0xb1, 0x1d, 0x8f, 0x89, 0xde, - 0x66, 0xbc, 0x0c, 0x6d, 0x22, 0x63, 0x61, 0x32, 0xf6, 0x62, 0x7d, 0x45, 0x96, 0xe1, 0x34, 0x73, - 0x04, 0xb7, 0x4a, 0x52, 0x83, 0x66, 0x06, 0xba, 0x01, 0xcd, 0xfd, 0x60, 0xec, 0xc7, 0xa2, 0x98, - 0xf9, 0x02, 0x3d, 0x84, 0x06, 0xb3, 0xb5, 0xc6, 0x2a, 0x75, 0x2b, 0x69, 0x09, 0xd3, 0x52, 0xcc, - 0x62, 0xbb, 0xcc, 0x1f, 0xb5, 0x52, 0x9d, 0x97, 0x84, 0x90, 0x0f, 0xa1, 0x41, 0x95, 0x08, 0xbc, - 0x34, 0xab, 0xed, 0xa1, 0x92, 0x16, 0x93, 0x37, 0xff, 0xd1, 0x60, 0xad, 0x1b, 0xd9, 0x3e, 0x79, - 0x89, 0x23, 0x26, 0x7a, 0x7a, 0xe1, 0xe3, 0x88, 0x16, 0xa4, 0x94, 0xfc, 0x5a, 0x36, 0xf9, 0xef, - 0xc2, 0xf2, 0xa9, 0xe7, 0x30, 0xc1, 0x0c, 0x58, 0x28, 0x54, 0x2a, 0x77, 0x82, 0x2f, 0x64, 0x39, - 0x5e, 0x28, 0x0a, 0x75, 0x3a, 0x74, 0x64, 0xc0, 0xa1, 0xa9, 0x80, 0xf0, 0x1f, 0x1a, 0x2c, 0x7e, - 0x12, 0xb8, 0x7e, 0xda, 0xb7, 0xcb, 0x0d, 0xe7, 0x55, 0x76, 0x8c, 0x09, 0xb1, 0xfb, 0x49, 0x3f, - 0x96, 0x28, 0x57, 0xc7, 0xb8, 0x4a, 0x43, 0x7f, 0xa9, 0xc1, 0x2d, 0xf5, 0x36, 0xe8, 0x6d, 0x07, - 0x3e, 0xc1, 0xa2, 0x5b, 0xc9, 0xa7, 0x6b, 0xd5, 0xa7, 0xab, 0xf8, 0x2c, 0x79, 0x5d, 0xaf, 0xc2, - 0xaa, 0x46, 0x25, 0x56, 0x5d, 0x53, 0xb0, 0x4a, 0xc2, 0x15, 0xc8, 0xe2, 0x4a, 0x16, 0x91, 0x16, - 0x73, 0x88, 0xa4, 0x56, 0x5e, 0xbb, 0xa0, 0xf2, 0xfe, 0xd4, 0x40, 0x3f, 0xc3, 0x31, 0xcb, 0x05, - 0x3e, 0x16, 0xb9, 0xbd, 0x01, 0x1d, 0x8d, 0xaa, 0xaf, 0xd1, 0x80, 0xf9, 0x14, 0xa0, 0x44, 0x18, - 0x52, 0x68, 0x52, 0x82, 0x58, 0x9f, 0xd6, 0x2a, 0x0a, 0xc3, 0x51, 0x7a, 0x85, 0x3f, 0x68, 0xb0, - 0xf8, 0x6c, 0xec, 0xc6, 0x33, 0xe4, 0xda, 0x95, 0x7b, 0x56, 0xc6, 0x90, 0x86, 0x62, 0xc8, 0x6f, - 0x1a, 0xac, 0x25, 0xc5, 0x3d, 0x99, 0x37, 0xa7, 0x86, 0xad, 0x34, 0x7b, 0xa6, 0x87, 0x6d, 0x1d, - 0xe6, 0x8e, 0x5c, 0x2f, 0xc6, 0x11, 0xb3, 0xa5, 0x69, 0x89, 0x15, 0xd5, 0x77, 0x82, 0x5f, 0xc5, - 0x67, 0x78, 0x24, 0x1a, 0x5a, 0xb2, 0xa4, 0x85, 0xb9, 0x5e, 0x64, 0xe3, 0xa5, 0xf0, 0xed, 0x11, - 0xc0, 0x70, 0x32, 0x88, 0xf3, 0xf9, 0x68, 0x33, 0x3f, 0xd1, 0x70, 0x3d, 0x47, 0x63, 0xcf, 0x63, - 0xb3, 0x8d, 0xb4, 0x87, 0xea, 0xf4, 0x85, 0xa1, 0xdc, 0x83, 0x64, 0x69, 0xbe, 0xc9, 0x19, 0x9a, - 0x4e, 0x90, 0x95, 0x58, 0x22, 0x19, 0x54, 0x63, 0xa3, 0xa5, 0xac, 0xae, 0x62, 0x6e, 0x9c, 0x61, - 0x56, 0xfa, 0x59, 0x83, 0x9b, 0x85, 0x26, 0xbd, 0x9d, 0xe0, 0x99, 0x7f, 0x69, 0x80, 0x3e, 0x75, - 0x7b, 0x03, 0x49, 0xae, 0x3a, 0x3c, 0xf7, 0x60, 0x85, 0xca, 0xf3, 0xf6, 0x2d, 0xe6, 0x6f, 0x1e, - 0xa4, 0x1c, 0x9d, 0x9a, 0x6d, 0x61, 0x9b, 0xa4, 0x2f, 0x20, 0xb1, 0x52, 0xc3, 0xd4, 0xac, 0x06, - 0xc4, 0x39, 0xa5, 0x44, 0x1e, 0x40, 0xab, 0xe3, 0xec, 0x72, 0xa4, 0x29, 0x7d, 0x0a, 0x32, 0xd5, - 0x0c, 0x9f, 0xf8, 0x63, 0x50, 0xac, 0xcc, 0x6f, 0xe0, 0x7a, 0xce, 0xdd, 0x4b, 0xf6, 0xe5, 0xa5, - 0xd4, 0x0a, 0x29, 0xfa, 0x2b, 0xa2, 0x41, 0xa7, 0x3c, 0x2b, 0x2b, 0x66, 0x8e, 0x59, 0x7d, 0xd3, - 0xbe, 0x86, 0x1d, 0x66, 0x45, 0x52, 0xdf, 0x59, 0xd4, 0xd0, 0x8a, 0x7a, 0x54, 0x90, 0xc7, 0x9d, - 0x60, 0xc6, 0x17, 0xcd, 0xb7, 0xbc, 0x14, 0x72, 0x7a, 0xaf, 0xf4, 0x90, 0x9b, 0xe1, 0x49, 0x33, - 0x11, 0x34, 0xff, 0xd6, 0xe0, 0x46, 0xc7, 0xff, 0xca, 0x8d, 0x31, 0xb5, 0xa9, 0x1b, 0xa4, 0x58, - 0x3b, 0x1d, 0x51, 0xcb, 0x7b, 0xe0, 0x24, 0xc5, 0x1a, 0x99, 0x14, 0x7b, 0x1f, 0x56, 0xb9, 0x2e, - 0x39, 0x4f, 0x9b, 0x2c, 0x4f, 0xf3, 0x8c, 0xca, 0x74, 0xfb, 0x4e, 0x83, 0xb5, 0x02, 0xb3, 0xff, - 0xd7, 0xa4, 0xf1, 0xe1, 0x46, 0x3a, 0xf1, 0x79, 0xde, 0x2c, 0x65, 0x7a, 0xa5, 0x9e, 0x60, 0xfe, - 0x24, 0x75, 0x21, 0x49, 0xe1, 0xdb, 0xc1, 0xa8, 0xdd, 0x37, 0xf3, 0xc0, 0xbf, 0x38, 0xa1, 0x87, - 0xb0, 0xd0, 0x9b, 0x7c, 0x86, 0x40, 0x6b, 0x22, 0x6e, 0xd9, 0xef, 0x3b, 0xc6, 0x7a, 0x11, 0x99, - 0x84, 0xe8, 0x3e, 0xb4, 0xbe, 0x4c, 0xe6, 0x49, 0x74, 0x5d, 0x08, 0xc9, 0x13, 0xa6, 0xb1, 0x9a, - 0xec, 0x9c, 0x7c, 0xb3, 0xba, 0x0f, 0xad, 0x51, 0x32, 0x18, 0xa4, 0x9b, 0xe4, 0x51, 0xa1, 0x68, - 0xd3, 0x63, 0x58, 0xea, 0xcb, 0x9f, 0x0f, 0xd0, 0x4d, 0x65, 0x6e, 0x4f, 0xfa, 0x90, 0xa1, 0x17, - 0x33, 0x48, 0x88, 0x3e, 0x82, 0x45, 0x22, 0x3d, 0xfe, 0x51, 0xe2, 0x95, 0xf2, 0x45, 0xa0, 0x48, - 0xfd, 0x17, 0x70, 0xb3, 0x5f, 0xfc, 0x40, 0x40, 0x77, 0xaa, 0x1f, 0x10, 0xf4, 0x40, 0x73, 0x9a, - 0x08, 0x09, 0xd1, 0x21, 0xa0, 0x38, 0xf7, 0xb8, 0x40, 0x1b, 0x62, 0x67, 0xe1, 0xbb, 0xa3, 0xc8, - 0xd0, 0x67, 0xa0, 0xf7, 0x4b, 0x06, 0x67, 0x64, 0x66, 0xbe, 0xc6, 0x15, 0x4e, 0xd6, 0xc5, 0x47, - 0xa2, 0x7e, 0x6e, 0x36, 0x49, 0x2d, 0x2b, 0x1c, 0xad, 0x8c, 0x77, 0x2b, 0xb8, 0x24, 0x44, 0x5d, - 0xb8, 0xde, 0xcf, 0xb7, 0x6c, 0x54, 0xbc, 0x2b, 0xbd, 0xd9, 0xdb, 0x55, 0x6c, 0x12, 0xa2, 0xa7, - 0xd0, 0x1e, 0x64, 0x3b, 0x11, 0x4a, 0x3e, 0x40, 0xe6, 0x1b, 0xb2, 0x61, 0x94, 0xb1, 0x52, 0x97, - 0x15, 0x68, 0x97, 0x5d, 0xce, 0x77, 0x1b, 0xd9, 0xe5, 0xa2, 0x9e, 0x70, 0x02, 0xab, 0xae, 0x8a, - 0x79, 0xe8, 0x56, 0x02, 0x53, 0x05, 0x20, 0x6e, 0x6c, 0x94, 0x33, 0xf9, 0x79, 0x7d, 0x15, 0x4f, - 0xd2, 0xf3, 0x8a, 0xa0, 0xcd, 0xd8, 0x28, 0x67, 0x92, 0xf0, 0x71, 0xfb, 0xf3, 0xa5, 0x6d, 0xfe, - 0x49, 0xfa, 0x01, 0xfb, 0x7d, 0x31, 0xc7, 0xbe, 0x37, 0xdf, 0xff, 0x2f, 0x00, 0x00, 0xff, 0xff, - 0x77, 0xc5, 0xd1, 0xfe, 0xae, 0x16, 0x00, 0x00, +func init() { proto.RegisterFile("group/group.proto", fileDescriptor_group_95297d6a59bab850) } + +var fileDescriptor_group_95297d6a59bab850 = []byte{ + // 1464 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x58, 0xcd, 0x6f, 0x1b, 0x45, + 0x14, 0xd7, 0xfa, 0x23, 0x8d, 0x5f, 0xbe, 0x9c, 0x69, 0x93, 0x2e, 0xdb, 0x50, 0xb9, 0x2b, 0x54, + 0x45, 0x15, 0x4a, 0xa4, 0x14, 0x21, 0xa1, 0x46, 0xa8, 0x69, 0x3e, 0x5a, 0x03, 0x71, 0xd4, 0x8d, + 0x7b, 0xe1, 0x12, 0xb6, 0xde, 0x89, 0xb5, 0x78, 0xbd, 0xbb, 0xde, 0x59, 0x93, 0x96, 0x0b, 0x20, + 0x04, 0x1c, 0x10, 0xa2, 0x57, 0x8e, 0x5c, 0x38, 0x22, 0x0e, 0xdc, 0x39, 0xf0, 0x8f, 0xa1, 0xf9, + 0xd8, 0xf5, 0xec, 0xa7, 0x2d, 0x47, 0xa2, 0x17, 0xcb, 0xf3, 0xde, 0x9b, 0x79, 0x1f, 0xf3, 0xde, + 0xef, 0xbd, 0x59, 0x58, 0xef, 0x07, 0xde, 0xd8, 0xdf, 0x65, 0xbf, 0x3b, 0x7e, 0xe0, 0x85, 0x1e, + 0xaa, 0xb3, 0x85, 0x76, 0xef, 0xcc, 0xc7, 0xee, 0x45, 0xfb, 0x74, 0xd7, 0x1f, 0xf4, 0x77, 0x19, + 0x67, 0x97, 0x58, 0x83, 0x8b, 0x2b, 0xb2, 0x7b, 0x45, 0xb8, 0xa4, 0xfe, 0x31, 0xc0, 0xa1, 0x37, + 0x1c, 0x7a, 0xae, 0x81, 0x89, 0x8f, 0x54, 0xb8, 0x71, 0x1c, 0x04, 0x87, 0x9e, 0x85, 0x55, 0xa5, + 0xa5, 0x6c, 0xd7, 0x8d, 0x68, 0x89, 0x36, 0x61, 0xe1, 0x38, 0x08, 0x4e, 0x49, 0x5f, 0xad, 0xb4, + 0x94, 0xed, 0x86, 0x21, 0x56, 0xfa, 0x63, 0x40, 0x4f, 0xa9, 0xae, 0x03, 0xcb, 0x3a, 0xc5, 0xc3, + 0x97, 0x38, 0x68, 0xbb, 0x97, 0x1e, 0x95, 0x7e, 0x41, 0x70, 0xd0, 0x3e, 0x62, 0xc7, 0x34, 0x0c, + 0xb1, 0x42, 0x08, 0x6a, 0x86, 0xe7, 0x60, 0x76, 0x46, 0xdd, 0x60, 0xff, 0xf5, 0x7f, 0x2b, 0xb0, + 0x7a, 0x18, 0x60, 0x33, 0xc4, 0xec, 0x20, 0x03, 0x8f, 0xd0, 0x01, 0xac, 0xb6, 0x5d, 0x3b, 0xe4, + 0x07, 0x7e, 0x66, 0x93, 0x50, 0x55, 0x5a, 0xd5, 0xed, 0xa5, 0xbd, 0x77, 0x76, 0xb8, 0x93, 0x59, + 0x8d, 0x46, 0x6a, 0x03, 0xda, 0x82, 0x06, 0x93, 0xea, 0x98, 0x43, 0x2c, 0x4c, 0x9e, 0x10, 0x90, + 0x0e, 0xcb, 0x6d, 0x37, 0x0c, 0x3c, 0x6b, 0xdc, 0x0b, 0x6d, 0xcf, 0x55, 0xab, 0x4c, 0x20, 0x41, + 0xa3, 0x32, 0x1d, 0x2f, 0xb4, 0x2f, 0xed, 0x9e, 0xc9, 0x64, 0x6a, 0x5c, 0x46, 0xa6, 0xd1, 0x78, + 0x9d, 0x98, 0x3d, 0xfc, 0x22, 0x70, 0xd4, 0x3a, 0x63, 0x47, 0x4b, 0xd4, 0x84, 0xea, 0xf1, 0xab, + 0x50, 0x5d, 0x60, 0x54, 0xfa, 0x17, 0xb5, 0x60, 0xe9, 0xcc, 0xc7, 0x01, 0xdb, 0xd8, 0x3e, 0x52, + 0x6f, 0x30, 0x8e, 0x4c, 0x42, 0x1a, 0x2c, 0x9e, 0xf9, 0x22, 0x6e, 0x8b, 0x8c, 0x1d, 0xaf, 0xd1, + 0x5d, 0x80, 0x93, 0xc0, 0x1b, 0x0a, 0x6e, 0x83, 0x71, 0x25, 0x8a, 0xfe, 0x1a, 0xd6, 0x12, 0x41, + 0x9c, 0xe7, 0x32, 0xd1, 0x07, 0x22, 0x68, 0x34, 0xa2, 0x2c, 0x26, 0x4b, 0x7b, 0x9b, 0x3b, 0x1e, + 0xcd, 0x21, 0x7b, 0x78, 0x41, 0xac, 0xc1, 0x4e, 0xcc, 0x35, 0x26, 0x82, 0x7a, 0x00, 0xcd, 0xa7, + 0x38, 0x64, 0x6b, 0xc2, 0x78, 0x78, 0x44, 0x9d, 0xe5, 0x02, 0x47, 0xf1, 0xf5, 0x35, 0x0c, 0x99, + 0x94, 0x0e, 0x47, 0xa5, 0x3c, 0x1c, 0xd5, 0x64, 0x38, 0xf4, 0xef, 0x15, 0x58, 0x4f, 0x29, 0x9d, + 0xcb, 0xe3, 0x7d, 0x58, 0x89, 0x1d, 0x61, 0x96, 0x56, 0x59, 0xa2, 0x15, 0x79, 0x9d, 0x14, 0xd6, + 0x7f, 0x50, 0x60, 0xed, 0x5c, 0x58, 0x11, 0x79, 0x9e, 0x88, 0xa1, 0x32, 0x63, 0x0c, 0x13, 0xbe, + 0x56, 0x52, 0x57, 0x9f, 0x8a, 0x54, 0x35, 0x13, 0x29, 0xfd, 0x6b, 0xd0, 0xa2, 0x60, 0x1c, 0xf8, + 0xbe, 0x23, 0xb2, 0x93, 0x9a, 0x48, 0x2d, 0x92, 0xcf, 0x56, 0xca, 0xcf, 0xce, 0xb9, 0x85, 0x64, + 0xe2, 0x55, 0x33, 0x89, 0xf7, 0x5b, 0x0d, 0xee, 0x15, 0x28, 0xbf, 0x38, 0x32, 0x43, 0xf3, 0x82, + 0xca, 0xa1, 0x55, 0xa8, 0xc4, 0xda, 0x2b, 0xed, 0x23, 0x7a, 0x53, 0x22, 0x19, 0x84, 0xce, 0x68, + 0x39, 0x4d, 0x1f, 0xf5, 0xa6, 0xeb, 0x09, 0x2e, 0x2f, 0xc9, 0x78, 0x4d, 0xe1, 0xe5, 0xc4, 0x31, + 0xfb, 0xac, 0x16, 0xeb, 0x06, 0xfb, 0x4f, 0xcf, 0x33, 0xf0, 0x68, 0x8c, 0x49, 0x48, 0x6f, 0x9f, + 0xd7, 0xa3, 0x44, 0xa1, 0xfc, 0x67, 0xa6, 0x6b, 0x39, 0xd8, 0xa2, 0x7c, 0x5e, 0x95, 0x12, 0x85, + 0x5a, 0x7a, 0x60, 0x59, 0x5d, 0x7b, 0x88, 0x59, 0x4d, 0x56, 0x8d, 0x68, 0x89, 0x1e, 0x40, 0x33, + 0xb2, 0xab, 0x63, 0xf7, 0x06, 0x2e, 0x45, 0x1a, 0x5e, 0x98, 0x19, 0x3a, 0xba, 0x0f, 0xab, 0xdc, + 0xca, 0x58, 0x12, 0x98, 0x64, 0x8a, 0x8a, 0xb6, 0x61, 0x2d, 0xda, 0x1b, 0x01, 0xcb, 0x12, 0x13, + 0x4c, 0x93, 0xd1, 0x7b, 0xb0, 0xc2, 0xf7, 0x46, 0x72, 0xcb, 0x4c, 0x2e, 0x49, 0xa4, 0xf7, 0x2b, + 0x7c, 0xa1, 0x54, 0x75, 0x85, 0xdf, 0xaf, 0x44, 0xa2, 0x31, 0xeb, 0xbe, 0xf6, 0xb1, 0xba, 0xca, + 0x63, 0x46, 0xff, 0x53, 0xe8, 0xe3, 0x22, 0xe7, 0xa1, 0x19, 0x8e, 0x89, 0xba, 0xc6, 0x78, 0x09, + 0xda, 0x44, 0xc6, 0xc0, 0x64, 0xec, 0x84, 0x6a, 0x53, 0x96, 0xe1, 0x34, 0x7d, 0x04, 0x77, 0x0a, + 0x52, 0x83, 0x66, 0x06, 0xba, 0x05, 0xf5, 0x43, 0x6f, 0xec, 0x86, 0xa2, 0x58, 0xf9, 0x02, 0xed, + 0x43, 0x8d, 0xd9, 0x5a, 0x61, 0x95, 0xb8, 0x1d, 0x41, 0xfe, 0xb4, 0x14, 0x33, 0xd8, 0x2e, 0xfd, + 0x27, 0xa5, 0x50, 0xe7, 0x9c, 0x10, 0xf1, 0x21, 0xd4, 0xa8, 0x12, 0x81, 0x87, 0x7a, 0xb9, 0x3d, + 0x54, 0xd2, 0x60, 0xf2, 0xfa, 0x3f, 0x0a, 0x6c, 0x74, 0x03, 0xd3, 0x25, 0x97, 0x38, 0x60, 0xa2, + 0x67, 0x57, 0x2e, 0x0e, 0x68, 0x41, 0x4a, 0xc9, 0xaf, 0x24, 0x93, 0xff, 0x3e, 0xac, 0x9e, 0x39, + 0x16, 0x13, 0x4c, 0x80, 0x41, 0x8a, 0x4a, 0xe5, 0x3a, 0xf8, 0x4a, 0x96, 0xe3, 0x85, 0x92, 0xa2, + 0xa6, 0xcb, 0xbb, 0x56, 0x0e, 0xb2, 0xf5, 0x14, 0xc8, 0xfe, 0xa8, 0xc0, 0xf2, 0x27, 0x9e, 0xed, + 0xc6, 0x7d, 0xb9, 0xd8, 0x70, 0x5e, 0x65, 0xa7, 0x98, 0x10, 0xb3, 0x1f, 0xf5, 0x5b, 0x89, 0x52, + 0x86, 0xe5, 0xd3, 0x8d, 0xd4, 0x7f, 0xad, 0xc0, 0x9d, 0x74, 0xb4, 0xe9, 0x6d, 0x7a, 0x2e, 0xc1, + 0xa2, 0xdb, 0xc8, 0x27, 0x28, 0xe5, 0x6e, 0xa6, 0xf1, 0x55, 0xf2, 0xaa, 0x5a, 0x86, 0x45, 0xb5, + 0x52, 0x2c, 0xaa, 0xa7, 0xb0, 0x48, 0xc2, 0x8d, 0x85, 0x24, 0x6e, 0x4c, 0x43, 0x9c, 0x74, 0x65, + 0x2d, 0xe6, 0x54, 0xd6, 0x9f, 0x0a, 0xa8, 0xe7, 0x38, 0x64, 0x77, 0xcd, 0xc7, 0x1a, 0xbb, 0x37, + 0xa0, 0xa3, 0x4d, 0xf9, 0x35, 0x69, 0xb0, 0x18, 0x03, 0x90, 0x08, 0x43, 0x0c, 0x3d, 0x53, 0xdb, + 0xcc, 0x2c, 0xe1, 0x28, 0xcc, 0xa5, 0x4b, 0x58, 0x7e, 0x3e, 0xb6, 0xc3, 0x19, 0x52, 0xe9, 0x7a, + 0x83, 0xc1, 0xef, 0x0a, 0x6c, 0x44, 0xb5, 0x39, 0x19, 0x07, 0xa7, 0x46, 0x65, 0xfe, 0xe6, 0x4b, + 0x71, 0xe3, 0xc4, 0x76, 0x42, 0x1c, 0xb0, 0x88, 0xd4, 0x0d, 0xb1, 0xa2, 0xfa, 0x3a, 0xf8, 0x55, + 0x78, 0x8e, 0x47, 0xa2, 0x1f, 0x45, 0x4b, 0xfd, 0x0f, 0x05, 0x36, 0xf3, 0x6c, 0x9c, 0x0b, 0x9e, + 0x1e, 0x03, 0x0c, 0x27, 0x73, 0x32, 0x1f, 0x5f, 0x5a, 0xd9, 0x81, 0x83, 0xeb, 0x39, 0x19, 0x3b, + 0x0e, 0x1b, 0x3d, 0xa4, 0x3d, 0x54, 0xa7, 0x2b, 0x0c, 0xe5, 0x1e, 0x44, 0x4b, 0xfd, 0x4d, 0xc6, + 0xd0, 0x78, 0xc0, 0x2b, 0x85, 0x02, 0xc9, 0xa0, 0x0a, 0x9b, 0xfc, 0x64, 0x75, 0xd7, 0x83, 0x82, + 0x5f, 0x14, 0xb8, 0x9d, 0x6b, 0xd2, 0xdb, 0x09, 0x9e, 0xfe, 0x97, 0x02, 0xe8, 0x53, 0xbb, 0x37, + 0x90, 0xe4, 0xca, 0xc3, 0xf3, 0x00, 0x9a, 0x54, 0x9e, 0x77, 0x5f, 0x31, 0x1e, 0xf3, 0x20, 0x65, + 0xe8, 0xd4, 0x6c, 0x03, 0x9b, 0x24, 0x7e, 0xa0, 0x88, 0x55, 0x3a, 0x4c, 0xf5, 0xf2, 0x12, 0x59, + 0x48, 0x95, 0xc8, 0x23, 0x68, 0xb4, 0xad, 0x3d, 0x0e, 0x24, 0x85, 0x2f, 0x35, 0xa6, 0x9a, 0xc1, + 0x0f, 0x7f, 0xab, 0x89, 0x95, 0xfe, 0x0d, 0xdc, 0xcc, 0xb8, 0x3b, 0x67, 0x5b, 0x5d, 0x89, 0xad, + 0x90, 0xa2, 0xdf, 0x14, 0xfd, 0x35, 0xe6, 0x19, 0x49, 0x31, 0x7d, 0xcc, 0xea, 0x9b, 0xb6, 0x25, + 0x6c, 0x31, 0x2b, 0xa2, 0xfa, 0x4e, 0xa2, 0x93, 0x92, 0x41, 0xa7, 0x16, 0x2c, 0x79, 0x59, 0x5c, + 0xf1, 0x66, 0xc4, 0x95, 0x6f, 0x79, 0x29, 0x64, 0xf4, 0x5e, 0xeb, 0x9d, 0x35, 0xc3, 0x8b, 0x63, + 0x22, 0xa8, 0xff, 0xad, 0xc0, 0xad, 0xb6, 0xfb, 0x95, 0x1d, 0x62, 0x6a, 0x53, 0xd7, 0x8b, 0xb1, + 0x74, 0x3a, 0x62, 0x16, 0xb7, 0xb8, 0x49, 0x8a, 0xd5, 0x12, 0x29, 0xf6, 0x3e, 0xac, 0x73, 0x5d, + 0x72, 0x9e, 0xd6, 0x59, 0x9e, 0x66, 0x19, 0xa5, 0xe9, 0xf6, 0x9d, 0x02, 0x1b, 0x39, 0x66, 0xff, + 0xaf, 0x49, 0xe3, 0xc2, 0xad, 0x78, 0x60, 0x73, 0x9c, 0x59, 0xca, 0xf4, 0x7a, 0x0f, 0xb2, 0x9f, + 0xa5, 0x2e, 0x24, 0x29, 0x7c, 0x3b, 0x18, 0xb5, 0xf7, 0x66, 0x11, 0xf8, 0x07, 0x21, 0xb4, 0x0f, + 0x4b, 0xbd, 0xc9, 0x57, 0x02, 0xb4, 0x21, 0xe2, 0x96, 0xfc, 0xfc, 0xa2, 0x6d, 0xe6, 0x91, 0x89, + 0x8f, 0x1e, 0x42, 0xe3, 0xcb, 0x68, 0x1c, 0x44, 0x37, 0x85, 0x90, 0x3c, 0x20, 0x6a, 0xeb, 0xd1, + 0xce, 0xc9, 0x27, 0xa5, 0x87, 0xd0, 0x18, 0x45, 0x8d, 0x3f, 0xde, 0x24, 0x8f, 0x02, 0x79, 0x9b, + 0x9e, 0xc0, 0x4a, 0x5f, 0x7e, 0xdd, 0xa3, 0xdb, 0xa9, 0xb1, 0x3b, 0xea, 0x43, 0x9a, 0x9a, 0xcf, + 0x20, 0x3e, 0xfa, 0x08, 0x96, 0x89, 0xf4, 0x36, 0x47, 0x91, 0x57, 0xa9, 0x07, 0x7b, 0x9e, 0xfa, + 0x2f, 0xe0, 0x76, 0x3f, 0x7f, 0xbe, 0x47, 0xf7, 0xca, 0xe7, 0x7f, 0x7a, 0xa0, 0x3e, 0x4d, 0x84, + 0xf8, 0xe8, 0x18, 0x50, 0x98, 0x79, 0x1b, 0xa0, 0x2d, 0xb1, 0x33, 0xf7, 0xd9, 0x90, 0x67, 0xe8, + 0x73, 0x50, 0xfb, 0x05, 0x73, 0x31, 0xd2, 0x13, 0x1f, 0xcb, 0x72, 0x07, 0xe7, 0xfc, 0x23, 0x51, + 0x3f, 0x33, 0x9b, 0xc4, 0x96, 0xe5, 0x8e, 0x56, 0xda, 0xbb, 0x25, 0x5c, 0xe2, 0xa3, 0x2e, 0xdc, + 0xec, 0x67, 0x5b, 0x36, 0xca, 0xdf, 0x15, 0xdf, 0xec, 0xdd, 0x32, 0x36, 0xf1, 0xd1, 0x33, 0x58, + 0x1b, 0x24, 0x3b, 0x11, 0x8a, 0xbe, 0x0f, 0x66, 0x1b, 0xb2, 0xa6, 0x15, 0xb1, 0x62, 0x97, 0x53, + 0xd0, 0x2e, 0xbb, 0x9c, 0xed, 0x36, 0xb2, 0xcb, 0x79, 0x3d, 0xa1, 0x03, 0xeb, 0x76, 0x1a, 0xf3, + 0xd0, 0x9d, 0x08, 0xa6, 0x72, 0x40, 0x5c, 0xdb, 0x2a, 0x66, 0xf2, 0xf3, 0xfa, 0x69, 0x3c, 0x89, + 0xcf, 0xcb, 0x83, 0x36, 0x6d, 0xab, 0x98, 0x49, 0xfc, 0x27, 0x6b, 0x9f, 0xaf, 0xec, 0xf0, 0x2f, + 0xc6, 0x8f, 0xd8, 0xef, 0xcb, 0x05, 0xf6, 0x39, 0xf8, 0xe1, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, + 0x22, 0xaf, 0xfb, 0xc7, 0x4d, 0x16, 0x00, 0x00, } diff --git a/pkg/proto/sdk_ws/ws.pb.go b/pkg/proto/sdk_ws/ws.pb.go index 6809ce3989d47c305d44b9bd6cd1c99505c10d40..979e0388845715e78d658006969f78ad5696cfbc 100644 --- a/pkg/proto/sdk_ws/ws.pb.go +++ b/pkg/proto/sdk_ws/ws.pb.go @@ -34,7 +34,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_3380b8a9bc5ee255, []int{0} + return fileDescriptor_ws_1ed69884ac12b8b9, []int{0} } func (m *PullMessageBySeqListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListResp.Unmarshal(m, b) @@ -109,7 +109,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_3380b8a9bc5ee255, []int{1} + return fileDescriptor_ws_1ed69884ac12b8b9, []int{1} } func (m *PullMessageBySeqListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListReq.Unmarshal(m, b) @@ -164,7 +164,7 @@ func (m *PullMessageReq) Reset() { *m = PullMessageReq{} } func (m *PullMessageReq) String() string { return proto.CompactTextString(m) } func (*PullMessageReq) ProtoMessage() {} func (*PullMessageReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_3380b8a9bc5ee255, []int{2} + return fileDescriptor_ws_1ed69884ac12b8b9, []int{2} } func (m *PullMessageReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageReq.Unmarshal(m, b) @@ -228,7 +228,7 @@ func (m *PullMessageResp) Reset() { *m = PullMessageResp{} } func (m *PullMessageResp) String() string { return proto.CompactTextString(m) } func (*PullMessageResp) ProtoMessage() {} func (*PullMessageResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_3380b8a9bc5ee255, []int{3} + return fileDescriptor_ws_1ed69884ac12b8b9, []int{3} } func (m *PullMessageResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageResp.Unmarshal(m, b) @@ -300,7 +300,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_3380b8a9bc5ee255, []int{4} + return fileDescriptor_ws_1ed69884ac12b8b9, []int{4} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -332,7 +332,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_3380b8a9bc5ee255, []int{5} + return fileDescriptor_ws_1ed69884ac12b8b9, []int{5} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -380,7 +380,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_3380b8a9bc5ee255, []int{6} + return fileDescriptor_ws_1ed69884ac12b8b9, []int{6} } func (m *GatherFormat) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GatherFormat.Unmarshal(m, b) @@ -427,7 +427,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_3380b8a9bc5ee255, []int{7} + return fileDescriptor_ws_1ed69884ac12b8b9, []int{7} } func (m *UserSendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserSendMsgResp.Unmarshal(m, b) @@ -496,7 +496,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_3380b8a9bc5ee255, []int{8} + return fileDescriptor_ws_1ed69884ac12b8b9, []int{8} } func (m *MsgData) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgData.Unmarshal(m, b) @@ -657,7 +657,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_3380b8a9bc5ee255, []int{9} + return fileDescriptor_ws_1ed69884ac12b8b9, []int{9} } func (m *OfflinePushInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OfflinePushInfo.Unmarshal(m, b) @@ -732,7 +732,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_3380b8a9bc5ee255, []int{10} + return fileDescriptor_ws_1ed69884ac12b8b9, []int{10} } func (m *GroupInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfo.Unmarshal(m, b) @@ -834,7 +834,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_3380b8a9bc5ee255, []int{11} + return fileDescriptor_ws_1ed69884ac12b8b9, []int{11} } func (m *GroupMemberFullInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMemberFullInfo.Unmarshal(m, b) @@ -929,7 +929,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_3380b8a9bc5ee255, []int{12} + return fileDescriptor_ws_1ed69884ac12b8b9, []int{12} } func (m *UserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfo.Unmarshal(m, b) @@ -1020,7 +1020,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_3380b8a9bc5ee255, []int{13} + return fileDescriptor_ws_1ed69884ac12b8b9, []int{13} } func (m *PublicUserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PublicUserInfo.Unmarshal(m, b) @@ -1080,7 +1080,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_3380b8a9bc5ee255, []int{14} + return fileDescriptor_ws_1ed69884ac12b8b9, []int{14} } func (m *TipsComm) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TipsComm.Unmarshal(m, b) @@ -1129,7 +1129,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_3380b8a9bc5ee255, []int{15} + return fileDescriptor_ws_1ed69884ac12b8b9, []int{15} } func (m *MemberEnterTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberEnterTips.Unmarshal(m, b) @@ -1184,7 +1184,7 @@ 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_3380b8a9bc5ee255, []int{16} + return fileDescriptor_ws_1ed69884ac12b8b9, []int{16} } func (m *MemberLeaveTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberLeaveTips.Unmarshal(m, b) @@ -1226,20 +1226,20 @@ func (m *MemberLeaveTips) GetOperationTime() uint64 { } 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"` - InvitedUser *GroupMemberFullInfo `protobuf:"bytes,3,opt,name=InvitedUser" json:"InvitedUser,omitempty"` - OperationTime uint64 `protobuf:"varint,4,opt,name=OperationTime" json:"OperationTime,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Group *GroupInfo `protobuf:"bytes,1,opt,name=Group" json:"Group,omitempty"` + OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=OpUser" json:"OpUser,omitempty"` + InvitedUserList []*GroupMemberFullInfo `protobuf:"bytes,3,rep,name=InvitedUserList" json:"InvitedUserList,omitempty"` + OperationTime 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_3380b8a9bc5ee255, []int{17} + return fileDescriptor_ws_1ed69884ac12b8b9, []int{17} } func (m *MemberInvitedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberInvitedTips.Unmarshal(m, b) @@ -1273,9 +1273,9 @@ func (m *MemberInvitedTips) GetOpUser() *GroupMemberFullInfo { return nil } -func (m *MemberInvitedTips) GetInvitedUser() *GroupMemberFullInfo { +func (m *MemberInvitedTips) GetInvitedUserList() []*GroupMemberFullInfo { if m != nil { - return m.InvitedUser + return m.InvitedUserList } return nil } @@ -1288,20 +1288,20 @@ func (m *MemberInvitedTips) GetOperationTime() uint64 { } 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"` - KickedUser *GroupMemberFullInfo `protobuf:"bytes,3,opt,name=KickedUser" json:"KickedUser,omitempty"` - OperationTime uint64 `protobuf:"varint,4,opt,name=OperationTime" json:"OperationTime,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Group *GroupInfo `protobuf:"bytes,1,opt,name=Group" json:"Group,omitempty"` + OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=OpUser" json:"OpUser,omitempty"` + KickedUserList []*GroupMemberFullInfo `protobuf:"bytes,3,rep,name=KickedUserList" json:"KickedUserList,omitempty"` + OperationTime 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_3380b8a9bc5ee255, []int{18} + return fileDescriptor_ws_1ed69884ac12b8b9, []int{18} } func (m *MemberKickedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberKickedTips.Unmarshal(m, b) @@ -1335,9 +1335,9 @@ func (m *MemberKickedTips) GetOpUser() *GroupMemberFullInfo { return nil } -func (m *MemberKickedTips) GetKickedUser() *GroupMemberFullInfo { +func (m *MemberKickedTips) GetKickedUserList() []*GroupMemberFullInfo { if m != nil { - return m.KickedUser + return m.KickedUserList } return nil } @@ -1364,7 +1364,7 @@ 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_3380b8a9bc5ee255, []int{19} + return fileDescriptor_ws_1ed69884ac12b8b9, []int{19} } func (m *MemberInfoChangedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberInfoChangedTips.Unmarshal(m, b) @@ -1433,7 +1433,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_3380b8a9bc5ee255, []int{20} + return fileDescriptor_ws_1ed69884ac12b8b9, []int{20} } func (m *GroupCreatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupCreatedTips.Unmarshal(m, b) @@ -1494,7 +1494,7 @@ 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_3380b8a9bc5ee255, []int{21} + return fileDescriptor_ws_1ed69884ac12b8b9, []int{21} } func (m *GroupInfoChangedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfoChangedTips.Unmarshal(m, b) @@ -1535,7 +1535,7 @@ func (m *GroupInfoChangedTips) GetOpUser() *GroupMemberFullInfo { return nil } -type ReceiveJoinApplicationTips struct { +type JoinGroupApplicationTips struct { Group *GroupInfo `protobuf:"bytes,1,opt,name=Group" json:"Group,omitempty"` Applicant *PublicUserInfo `protobuf:"bytes,2,opt,name=Applicant" json:"Applicant,omitempty"` Reason string `protobuf:"bytes,3,opt,name=Reason" json:"Reason,omitempty"` @@ -1544,45 +1544,45 @@ type ReceiveJoinApplicationTips struct { 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_3380b8a9bc5ee255, []int{22} +func (m *JoinGroupApplicationTips) Reset() { *m = JoinGroupApplicationTips{} } +func (m *JoinGroupApplicationTips) String() string { return proto.CompactTextString(m) } +func (*JoinGroupApplicationTips) ProtoMessage() {} +func (*JoinGroupApplicationTips) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_1ed69884ac12b8b9, []int{22} } -func (m *ReceiveJoinApplicationTips) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ReceiveJoinApplicationTips.Unmarshal(m, b) +func (m *JoinGroupApplicationTips) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_JoinGroupApplicationTips.Unmarshal(m, b) } -func (m *ReceiveJoinApplicationTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ReceiveJoinApplicationTips.Marshal(b, m, deterministic) +func (m *JoinGroupApplicationTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_JoinGroupApplicationTips.Marshal(b, m, deterministic) } -func (dst *ReceiveJoinApplicationTips) XXX_Merge(src proto.Message) { - xxx_messageInfo_ReceiveJoinApplicationTips.Merge(dst, src) +func (dst *JoinGroupApplicationTips) XXX_Merge(src proto.Message) { + xxx_messageInfo_JoinGroupApplicationTips.Merge(dst, src) } -func (m *ReceiveJoinApplicationTips) XXX_Size() int { - return xxx_messageInfo_ReceiveJoinApplicationTips.Size(m) +func (m *JoinGroupApplicationTips) XXX_Size() int { + return xxx_messageInfo_JoinGroupApplicationTips.Size(m) } -func (m *ReceiveJoinApplicationTips) XXX_DiscardUnknown() { - xxx_messageInfo_ReceiveJoinApplicationTips.DiscardUnknown(m) +func (m *JoinGroupApplicationTips) XXX_DiscardUnknown() { + xxx_messageInfo_JoinGroupApplicationTips.DiscardUnknown(m) } -var xxx_messageInfo_ReceiveJoinApplicationTips proto.InternalMessageInfo +var xxx_messageInfo_JoinGroupApplicationTips proto.InternalMessageInfo -func (m *ReceiveJoinApplicationTips) GetGroup() *GroupInfo { +func (m *JoinGroupApplicationTips) GetGroup() *GroupInfo { if m != nil { return m.Group } return nil } -func (m *ReceiveJoinApplicationTips) GetApplicant() *PublicUserInfo { +func (m *JoinGroupApplicationTips) GetApplicant() *PublicUserInfo { if m != nil { return m.Applicant } return nil } -func (m *ReceiveJoinApplicationTips) GetReason() string { +func (m *JoinGroupApplicationTips) GetReason() string { if m != nil { return m.Reason } @@ -1603,7 +1603,7 @@ func (m *ApplicationProcessedTips) Reset() { *m = ApplicationProcessedTi func (m *ApplicationProcessedTips) String() string { return proto.CompactTextString(m) } func (*ApplicationProcessedTips) ProtoMessage() {} func (*ApplicationProcessedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_3380b8a9bc5ee255, []int{23} + return fileDescriptor_ws_1ed69884ac12b8b9, []int{23} } func (m *ApplicationProcessedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ApplicationProcessedTips.Unmarshal(m, b) @@ -1666,7 +1666,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_3380b8a9bc5ee255, []int{24} + return fileDescriptor_ws_1ed69884ac12b8b9, []int{24} } func (m *FriendInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendInfo.Unmarshal(m, b) @@ -1727,7 +1727,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_3380b8a9bc5ee255, []int{25} + return fileDescriptor_ws_1ed69884ac12b8b9, []int{25} } func (m *FriendApplication) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplication.Unmarshal(m, b) @@ -1768,22 +1768,65 @@ func (m *FriendApplication) GetAddWording() string { return "" } -// user1 add user2 +type FromToUserID struct { + FromUserID string `protobuf:"bytes,1,opt,name=FromUserID" json:"FromUserID,omitempty"` + ToUserID string `protobuf:"bytes,2,opt,name=ToUserID" json:"ToUserID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FromToUserID) Reset() { *m = FromToUserID{} } +func (m *FromToUserID) String() string { return proto.CompactTextString(m) } +func (*FromToUserID) ProtoMessage() {} +func (*FromToUserID) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_1ed69884ac12b8b9, []int{26} +} +func (m *FromToUserID) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FromToUserID.Unmarshal(m, b) +} +func (m *FromToUserID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FromToUserID.Marshal(b, m, deterministic) +} +func (dst *FromToUserID) XXX_Merge(src proto.Message) { + xxx_messageInfo_FromToUserID.Merge(dst, src) +} +func (m *FromToUserID) XXX_Size() int { + return xxx_messageInfo_FromToUserID.Size(m) +} +func (m *FromToUserID) XXX_DiscardUnknown() { + xxx_messageInfo_FromToUserID.DiscardUnknown(m) +} + +var xxx_messageInfo_FromToUserID proto.InternalMessageInfo + +func (m *FromToUserID) GetFromUserID() string { + if m != nil { + return m.FromUserID + } + return "" +} + +func (m *FromToUserID) GetToUserID() string { + if m != nil { + return m.ToUserID + } + return "" +} + +// FromUserID apply to add ToUserID type FriendApplicationAddedTips 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"` - OperationTime uint64 `protobuf:"varint,4,opt,name=OperationTime" json:"OperationTime,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + FromToUserID *FromToUserID `protobuf:"bytes,1,opt,name=FromToUserID" json:"FromToUserID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *FriendApplicationAddedTips) Reset() { *m = FriendApplicationAddedTips{} } func (m *FriendApplicationAddedTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationAddedTips) ProtoMessage() {} func (*FriendApplicationAddedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_3380b8a9bc5ee255, []int{26} + return fileDescriptor_ws_1ed69884ac12b8b9, []int{27} } func (m *FriendApplicationAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationAddedTips.Unmarshal(m, b) @@ -1803,50 +1846,26 @@ func (m *FriendApplicationAddedTips) XXX_DiscardUnknown() { var xxx_messageInfo_FriendApplicationAddedTips proto.InternalMessageInfo -func (m *FriendApplicationAddedTips) GetOpUser() *PublicUserInfo { +func (m *FriendApplicationAddedTips) GetFromToUserID() *FromToUserID { if m != nil { - return m.OpUser + return m.FromToUserID } return nil } -func (m *FriendApplicationAddedTips) GetApplication() *FriendApplication { - if m != nil { - return m.Application - } - return nil -} - -func (m *FriendApplicationAddedTips) GetOpedUser() *PublicUserInfo { - if m != nil { - return m.OpedUser - } - return nil -} - -func (m *FriendApplicationAddedTips) GetOperationTime() uint64 { - if m != nil { - return m.OperationTime - } - return 0 -} - -// user2 accept or reject +// FromUserID accept or reject ToUserID type FriendApplicationProcessedTips struct { - OpUser *PublicUserInfo `protobuf:"bytes,1,opt,name=OpUser" json:"OpUser,omitempty"` - OpedUser *PublicUserInfo `protobuf:"bytes,2,opt,name=OpedUser" json:"OpedUser,omitempty"` - Result int32 `protobuf:"varint,3,opt,name=result" json:"result,omitempty"` - OperationTime uint64 `protobuf:"varint,4,opt,name=OperationTime" json:"OperationTime,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + FromToUserID *FromToUserID `protobuf:"bytes,1,opt,name=FromToUserID" json:"FromToUserID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *FriendApplicationProcessedTips) Reset() { *m = FriendApplicationProcessedTips{} } func (m *FriendApplicationProcessedTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationProcessedTips) ProtoMessage() {} func (*FriendApplicationProcessedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_3380b8a9bc5ee255, []int{27} + return fileDescriptor_ws_1ed69884ac12b8b9, []int{28} } func (m *FriendApplicationProcessedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationProcessedTips.Unmarshal(m, b) @@ -1866,47 +1885,28 @@ func (m *FriendApplicationProcessedTips) XXX_DiscardUnknown() { var xxx_messageInfo_FriendApplicationProcessedTips proto.InternalMessageInfo -func (m *FriendApplicationProcessedTips) GetOpUser() *PublicUserInfo { +func (m *FriendApplicationProcessedTips) GetFromToUserID() *FromToUserID { if m != nil { - return m.OpUser + return m.FromToUserID } return nil } -func (m *FriendApplicationProcessedTips) GetOpedUser() *PublicUserInfo { - if m != nil { - return m.OpedUser - } - return nil -} - -func (m *FriendApplicationProcessedTips) GetResult() int32 { - if m != nil { - return m.Result - } - return 0 -} - -func (m *FriendApplicationProcessedTips) GetOperationTime() uint64 { - if m != nil { - return m.OperationTime - } - return 0 -} - +// FromUserID Added a friend ToUserID type FriendAddedTips struct { - Friend *FriendInfo `protobuf:"bytes,1,opt,name=Friend" json:"Friend,omitempty"` - OperationTime uint64 `protobuf:"varint,2,opt,name=OperationTime" json:"OperationTime,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Friend *FriendInfo `protobuf:"bytes,1,opt,name=Friend" json:"Friend,omitempty"` + OperationTime uint64 `protobuf:"varint,2,opt,name=OperationTime" json:"OperationTime,omitempty"` + OpUser *PublicUserInfo `protobuf:"bytes,3,opt,name=OpUser" json:"OpUser,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *FriendAddedTips) Reset() { *m = FriendAddedTips{} } func (m *FriendAddedTips) String() string { return proto.CompactTextString(m) } func (*FriendAddedTips) ProtoMessage() {} func (*FriendAddedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_3380b8a9bc5ee255, []int{28} + return fileDescriptor_ws_1ed69884ac12b8b9, []int{29} } func (m *FriendAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendAddedTips.Unmarshal(m, b) @@ -1940,19 +1940,26 @@ func (m *FriendAddedTips) GetOperationTime() uint64 { return 0 } +func (m *FriendAddedTips) GetOpUser() *PublicUserInfo { + if m != nil { + return m.OpUser + } + return nil +} + +// FromUserID deleted a friend ToUserID type FriendDeletedTips struct { - Friend *FriendInfo `protobuf:"bytes,1,opt,name=Friend" json:"Friend,omitempty"` - OperationTime uint64 `protobuf:"varint,2,opt,name=OperationTime" json:"OperationTime,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + FromToUserID *FromToUserID `protobuf:"bytes,1,opt,name=FromToUserID" json:"FromToUserID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *FriendDeletedTips) Reset() { *m = FriendDeletedTips{} } func (m *FriendDeletedTips) String() string { return proto.CompactTextString(m) } func (*FriendDeletedTips) ProtoMessage() {} func (*FriendDeletedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_3380b8a9bc5ee255, []int{29} + return fileDescriptor_ws_1ed69884ac12b8b9, []int{30} } func (m *FriendDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendDeletedTips.Unmarshal(m, b) @@ -1972,87 +1979,25 @@ func (m *FriendDeletedTips) XXX_DiscardUnknown() { var xxx_messageInfo_FriendDeletedTips proto.InternalMessageInfo -func (m *FriendDeletedTips) GetFriend() *FriendInfo { +func (m *FriendDeletedTips) GetFromToUserID() *FromToUserID { if m != nil { - return m.Friend - } - return nil -} - -func (m *FriendDeletedTips) GetOperationTime() uint64 { - if m != nil { - return m.OperationTime - } - return 0 -} - -type BlackInfo struct { - OwnerUser *PublicUserInfo `protobuf:"bytes,1,opt,name=OwnerUser" json:"OwnerUser,omitempty"` - CreateTime uint64 `protobuf:"varint,3,opt,name=CreateTime" json:"CreateTime,omitempty"` - BlackUser *PublicUserInfo `protobuf:"bytes,4,opt,name=BlackUser" json:"BlackUser,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *BlackInfo) Reset() { *m = BlackInfo{} } -func (m *BlackInfo) String() string { return proto.CompactTextString(m) } -func (*BlackInfo) ProtoMessage() {} -func (*BlackInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_3380b8a9bc5ee255, []int{30} -} -func (m *BlackInfo) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_BlackInfo.Unmarshal(m, b) -} -func (m *BlackInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_BlackInfo.Marshal(b, m, deterministic) -} -func (dst *BlackInfo) XXX_Merge(src proto.Message) { - xxx_messageInfo_BlackInfo.Merge(dst, src) -} -func (m *BlackInfo) XXX_Size() int { - return xxx_messageInfo_BlackInfo.Size(m) -} -func (m *BlackInfo) XXX_DiscardUnknown() { - xxx_messageInfo_BlackInfo.DiscardUnknown(m) -} - -var xxx_messageInfo_BlackInfo proto.InternalMessageInfo - -func (m *BlackInfo) GetOwnerUser() *PublicUserInfo { - if m != nil { - return m.OwnerUser - } - return nil -} - -func (m *BlackInfo) GetCreateTime() uint64 { - if m != nil { - return m.CreateTime - } - return 0 -} - -func (m *BlackInfo) GetBlackUser() *PublicUserInfo { - if m != nil { - return m.BlackUser + return m.FromToUserID } return nil } type BlackAddedTips struct { - Black *BlackInfo `protobuf:"bytes,1,opt,name=Black" json:"Black,omitempty"` - OperationTime uint64 `protobuf:"varint,2,opt,name=OperationTime" json:"OperationTime,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + FromToUserID *FromToUserID `protobuf:"bytes,1,opt,name=FromToUserID" json:"FromToUserID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *BlackAddedTips) Reset() { *m = BlackAddedTips{} } func (m *BlackAddedTips) String() string { return proto.CompactTextString(m) } func (*BlackAddedTips) ProtoMessage() {} func (*BlackAddedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_3380b8a9bc5ee255, []int{31} + return fileDescriptor_ws_1ed69884ac12b8b9, []int{31} } func (m *BlackAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackAddedTips.Unmarshal(m, b) @@ -2072,33 +2017,25 @@ func (m *BlackAddedTips) XXX_DiscardUnknown() { var xxx_messageInfo_BlackAddedTips proto.InternalMessageInfo -func (m *BlackAddedTips) GetBlack() *BlackInfo { +func (m *BlackAddedTips) GetFromToUserID() *FromToUserID { if m != nil { - return m.Black + return m.FromToUserID } return nil } -func (m *BlackAddedTips) GetOperationTime() uint64 { - if m != nil { - return m.OperationTime - } - return 0 -} - type BlackDeletedTips struct { - Black *BlackInfo `protobuf:"bytes,1,opt,name=Black" json:"Black,omitempty"` - OperationTime uint64 `protobuf:"varint,2,opt,name=OperationTime" json:"OperationTime,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + FromToUserID *FromToUserID `protobuf:"bytes,1,opt,name=FromToUserID" json:"FromToUserID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *BlackDeletedTips) Reset() { *m = BlackDeletedTips{} } func (m *BlackDeletedTips) String() string { return proto.CompactTextString(m) } func (*BlackDeletedTips) ProtoMessage() {} func (*BlackDeletedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_3380b8a9bc5ee255, []int{32} + return fileDescriptor_ws_1ed69884ac12b8b9, []int{32} } func (m *BlackDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackDeletedTips.Unmarshal(m, b) @@ -2118,34 +2055,25 @@ func (m *BlackDeletedTips) XXX_DiscardUnknown() { var xxx_messageInfo_BlackDeletedTips proto.InternalMessageInfo -func (m *BlackDeletedTips) GetBlack() *BlackInfo { +func (m *BlackDeletedTips) GetFromToUserID() *FromToUserID { if m != nil { - return m.Black + return m.FromToUserID } return nil } -func (m *BlackDeletedTips) GetOperationTime() uint64 { - if m != nil { - return m.OperationTime - } - return 0 -} - type FriendInfoChangedTips struct { - Friend *FriendInfo `protobuf:"bytes,1,opt,name=Friend" json:"Friend,omitempty"` - OpUser *PublicUserInfo `protobuf:"bytes,2,opt,name=OpUser" json:"OpUser,omitempty"` - OperationTime uint64 `protobuf:"varint,3,opt,name=OperationTime" json:"OperationTime,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + FromToUserID *FromToUserID `protobuf:"bytes,1,opt,name=FromToUserID" json:"FromToUserID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *FriendInfoChangedTips) Reset() { *m = FriendInfoChangedTips{} } func (m *FriendInfoChangedTips) String() string { return proto.CompactTextString(m) } func (*FriendInfoChangedTips) ProtoMessage() {} func (*FriendInfoChangedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_3380b8a9bc5ee255, []int{33} + return fileDescriptor_ws_1ed69884ac12b8b9, []int{33} } func (m *FriendInfoChangedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendInfoChangedTips.Unmarshal(m, b) @@ -2165,42 +2093,26 @@ func (m *FriendInfoChangedTips) XXX_DiscardUnknown() { var xxx_messageInfo_FriendInfoChangedTips proto.InternalMessageInfo -func (m *FriendInfoChangedTips) GetFriend() *FriendInfo { +func (m *FriendInfoChangedTips) GetFromToUserID() *FromToUserID { if m != nil { - return m.Friend + return m.FromToUserID } return nil } -func (m *FriendInfoChangedTips) GetOpUser() *PublicUserInfo { - if m != nil { - return m.OpUser - } - return nil -} - -func (m *FriendInfoChangedTips) GetOperationTime() uint64 { - if m != nil { - return m.OperationTime - } - return 0 -} - // ////////////////////user///////////////////// type SelfInfoUpdatedTips struct { - SelfUserInfo *UserInfo `protobuf:"bytes,1,opt,name=SelfUserInfo" json:"SelfUserInfo,omitempty"` - OpUser *PublicUserInfo `protobuf:"bytes,2,opt,name=OpUser" json:"OpUser,omitempty"` - OperationTime uint64 `protobuf:"varint,3,opt,name=OperationTime" json:"OperationTime,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + UserID string `protobuf:"bytes,1,opt,name=UserID" json:"UserID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *SelfInfoUpdatedTips) Reset() { *m = SelfInfoUpdatedTips{} } func (m *SelfInfoUpdatedTips) String() string { return proto.CompactTextString(m) } func (*SelfInfoUpdatedTips) ProtoMessage() {} func (*SelfInfoUpdatedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_3380b8a9bc5ee255, []int{34} + return fileDescriptor_ws_1ed69884ac12b8b9, []int{34} } func (m *SelfInfoUpdatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SelfInfoUpdatedTips.Unmarshal(m, b) @@ -2220,25 +2132,11 @@ func (m *SelfInfoUpdatedTips) XXX_DiscardUnknown() { var xxx_messageInfo_SelfInfoUpdatedTips proto.InternalMessageInfo -func (m *SelfInfoUpdatedTips) GetSelfUserInfo() *UserInfo { +func (m *SelfInfoUpdatedTips) GetUserID() string { if m != nil { - return m.SelfUserInfo - } - return nil -} - -func (m *SelfInfoUpdatedTips) GetOpUser() *PublicUserInfo { - if m != nil { - return m.OpUser - } - return nil -} - -func (m *SelfInfoUpdatedTips) GetOperationTime() uint64 { - if m != nil { - return m.OperationTime + return m.UserID } - return 0 + return "" } func init() { @@ -2265,134 +2163,130 @@ func init() { 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((*JoinGroupApplicationTips)(nil), "open_im_sdk.JoinGroupApplicationTips") 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((*FromToUserID)(nil), "open_im_sdk.FromToUserID") proto.RegisterType((*FriendApplicationAddedTips)(nil), "open_im_sdk.FriendApplicationAddedTips") proto.RegisterType((*FriendApplicationProcessedTips)(nil), "open_im_sdk.FriendApplicationProcessedTips") proto.RegisterType((*FriendAddedTips)(nil), "open_im_sdk.FriendAddedTips") proto.RegisterType((*FriendDeletedTips)(nil), "open_im_sdk.FriendDeletedTips") - proto.RegisterType((*BlackInfo)(nil), "open_im_sdk.BlackInfo") proto.RegisterType((*BlackAddedTips)(nil), "open_im_sdk.BlackAddedTips") proto.RegisterType((*BlackDeletedTips)(nil), "open_im_sdk.BlackDeletedTips") 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_3380b8a9bc5ee255) } - -var fileDescriptor_ws_3380b8a9bc5ee255 = []byte{ - // 1769 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x59, 0x4f, 0x6f, 0x23, 0x4b, - 0x11, 0xd7, 0xf8, 0x5f, 0xec, 0xb2, 0x37, 0xce, 0xce, 0xfe, 0x79, 0xc3, 0xf2, 0xb4, 0x32, 0x23, - 0x84, 0x2c, 0xf4, 0x94, 0x27, 0x12, 0x21, 0x5e, 0x16, 0x01, 0xeb, 0xc4, 0x49, 0x08, 0xc4, 0xeb, - 0x68, 0x9c, 0x88, 0xe3, 0x6a, 0xe2, 0x69, 0x3b, 0x8d, 0xc7, 0x3d, 0x4e, 0xf7, 0xd8, 0xbb, 0xb9, - 0xf0, 0x2d, 0x10, 0x27, 0x24, 0x10, 0x07, 0x84, 0xe0, 0x80, 0x38, 0xf0, 0x11, 0x38, 0xf1, 0x29, - 0x10, 0x7c, 0x01, 0x38, 0xc2, 0x01, 0x75, 0x75, 0xcf, 0x4c, 0x4f, 0x1c, 0x12, 0x27, 0x68, 0xf7, - 0xf2, 0x6e, 0x53, 0x3f, 0x57, 0x75, 0xfd, 0xea, 0x4f, 0xd7, 0xd4, 0x24, 0xd0, 0x14, 0xc1, 0xe4, - 0xed, 0x3b, 0xf1, 0xf9, 0x3b, 0xb1, 0x39, 0xe3, 0x51, 0x1c, 0xd9, 0xf5, 0x68, 0x46, 0xd8, 0x5b, - 0x3a, 0x7d, 0x2b, 0x82, 0x89, 0xfb, 0x1f, 0x0b, 0x9c, 0x93, 0x79, 0x18, 0xf6, 0x88, 0x10, 0xfe, - 0x98, 0xec, 0x5e, 0x0d, 0xc8, 0xe5, 0x31, 0x15, 0xb1, 0x47, 0xc4, 0xcc, 0x76, 0x60, 0x8d, 0x70, - 0xbe, 0x17, 0x05, 0xc4, 0xb1, 0x5a, 0x56, 0xbb, 0xec, 0x25, 0xa2, 0xfd, 0x1c, 0x2a, 0x84, 0xf3, - 0x9e, 0x18, 0x3b, 0x85, 0x96, 0xd5, 0xae, 0x79, 0x5a, 0x92, 0xf8, 0xd4, 0x7f, 0x3f, 0x20, 0x97, - 0x4e, 0xb1, 0x65, 0xb5, 0x8b, 0x9e, 0x96, 0x10, 0xa7, 0x4c, 0xe2, 0x25, 0x8d, 0xa3, 0x64, 0xff, - 0x00, 0x1e, 0x09, 0xca, 0xc6, 0x21, 0x39, 0x13, 0x04, 0x8f, 0x2b, 0xb7, 0x8a, 0xed, 0xfa, 0xd6, - 0x57, 0x36, 0x0d, 0x8e, 0x9b, 0x87, 0x7e, 0x7c, 0x41, 0xf8, 0x41, 0xc4, 0xa7, 0x7e, 0xec, 0xe5, - 0xf5, 0xed, 0xef, 0x41, 0x63, 0xcc, 0xa3, 0xf9, 0x2c, 0xb1, 0xaf, 0xdc, 0x65, 0x9f, 0x53, 0x77, - 0xa7, 0xf0, 0xc9, 0xcd, 0xd1, 0x23, 0xe5, 0xb9, 0x20, 0xfc, 0xa8, 0x8b, 0xb1, 0xd7, 0x3c, 0x2d, - 0xd9, 0x2d, 0x90, 0x09, 0xe4, 0x7e, 0x4c, 0x23, 0x76, 0xd4, 0xd5, 0xf1, 0x9b, 0x90, 0x4c, 0x9b, - 0x50, 0xe7, 0x38, 0xc5, 0x56, 0xb1, 0x5d, 0xf4, 0x12, 0xd1, 0xfd, 0x19, 0xac, 0x1b, 0xee, 0x6e, - 0xf3, 0xf2, 0x02, 0xaa, 0x82, 0x5c, 0xee, 0x92, 0x31, 0x65, 0xe8, 0xa2, 0xe8, 0xa5, 0xb2, 0xb4, - 0x11, 0xe4, 0x72, 0x9f, 0x05, 0x49, 0x92, 0x95, 0x74, 0x9d, 0x59, 0x69, 0x89, 0x99, 0xfb, 0x2f, - 0x0b, 0x9a, 0x39, 0x02, 0x5f, 0x8a, 0x22, 0x3f, 0x05, 0xfb, 0x90, 0xc4, 0x3d, 0xff, 0x7d, 0x87, - 0x05, 0x3d, 0xa4, 0xe4, 0x91, 0x4b, 0x77, 0x1f, 0x9e, 0x2c, 0xa1, 0x62, 0x66, 0x04, 0x67, 0xfd, - 0x8f, 0xe0, 0x0a, 0x66, 0x70, 0xee, 0x0f, 0xa1, 0x61, 0xba, 0xb6, 0xd7, 0xa1, 0x40, 0x03, 0x5d, - 0xcc, 0x02, 0x0d, 0xec, 0x36, 0x94, 0x42, 0xd9, 0x09, 0x05, 0xe4, 0xfc, 0x34, 0xc7, 0xb9, 0x27, - 0xc6, 0x5d, 0x3f, 0xf6, 0x3d, 0xd4, 0x70, 0x2f, 0xa1, 0x29, 0x19, 0x0f, 0x08, 0x0b, 0x7a, 0x62, - 0x8c, 0x64, 0x5a, 0x50, 0x1f, 0x10, 0xbe, 0xc0, 0x30, 0xd2, 0x16, 0x31, 0x21, 0xa9, 0xb1, 0x17, - 0x52, 0xc2, 0x62, 0xa5, 0xa1, 0xbb, 0xd1, 0x80, 0x54, 0x27, 0xb1, 0xe0, 0x94, 0x4e, 0x89, 0xae, - 0x57, 0x2a, 0xbb, 0x7f, 0x2e, 0xc3, 0x9a, 0x26, 0xa1, 0xba, 0x8a, 0x05, 0x59, 0x27, 0x2a, 0x49, - 0xe2, 0x9c, 0x0c, 0x17, 0xe9, 0xe1, 0x5a, 0x92, 0x7d, 0x83, 0x59, 0x3e, 0xea, 0xe2, 0xb1, 0x35, - 0x2f, 0x11, 0x25, 0xa7, 0xa1, 0xc1, 0x49, 0xf7, 0xa1, 0x01, 0x49, 0x0d, 0x61, 0xc4, 0x55, 0x56, - 0x1a, 0x06, 0x64, 0x7f, 0x13, 0x36, 0xa4, 0x7f, 0xc2, 0x4f, 0x42, 0x3f, 0x1e, 0x45, 0x7c, 0x7a, - 0xd4, 0x75, 0x2a, 0xd8, 0x9e, 0x4b, 0xb8, 0xfd, 0x0d, 0x58, 0x57, 0xd8, 0x1b, 0x3a, 0x9c, 0xbc, - 0xf1, 0xa7, 0xc4, 0x59, 0xc3, 0x03, 0xaf, 0xa1, 0xf6, 0xd7, 0xe1, 0x91, 0x42, 0x0e, 0xfc, 0x21, - 0x39, 0xf3, 0x8e, 0x9d, 0x2a, 0xaa, 0xe5, 0x41, 0xc5, 0x4d, 0x08, 0x1a, 0xb1, 0xd3, 0xab, 0x19, - 0x71, 0x6a, 0xe8, 0xd4, 0x84, 0x64, 0xe4, 0x53, 0x31, 0x3e, 0xe0, 0xd1, 0xd4, 0x01, 0x75, 0x63, - 0xb4, 0x88, 0x91, 0x47, 0x2c, 0x26, 0x2c, 0x46, 0xdb, 0xba, 0xb2, 0x35, 0x20, 0x69, 0xab, 0x45, - 0xa7, 0xd1, 0xb2, 0xda, 0x0d, 0x2f, 0x11, 0xed, 0x4f, 0xa1, 0x36, 0x8a, 0xf8, 0x90, 0xe0, 0xdc, - 0x78, 0xd4, 0x2a, 0xb6, 0x6b, 0x5e, 0x06, 0xd8, 0x1b, 0x50, 0x14, 0xe4, 0xd2, 0x59, 0xc7, 0x02, - 0xca, 0xc7, 0x5c, 0x5d, 0x9b, 0xf9, 0xba, 0xda, 0x2f, 0x01, 0x86, 0x9c, 0xf8, 0x31, 0xc1, 0x5f, - 0x37, 0xf0, 0x57, 0x03, 0xb1, 0xbf, 0x0b, 0x6b, 0xfd, 0x99, 0x9c, 0x09, 0xc2, 0x79, 0x8c, 0x7d, - 0xf9, 0xb5, 0x9b, 0xfa, 0x72, 0x53, 0xeb, 0xec, 0xb3, 0x98, 0x5f, 0x79, 0x89, 0x85, 0x7d, 0x00, - 0xcd, 0x68, 0x34, 0x0a, 0x29, 0x23, 0x27, 0x73, 0x71, 0x71, 0xc4, 0x46, 0x91, 0x63, 0xb7, 0xac, - 0x76, 0x7d, 0xeb, 0xd3, 0xdc, 0x21, 0xfd, 0xbc, 0x8e, 0x77, 0xdd, 0xe8, 0xc5, 0x2b, 0x68, 0x98, - 0x0e, 0x64, 0x88, 0x13, 0x72, 0xa5, 0xbb, 0x4f, 0x3e, 0xda, 0x4f, 0xa1, 0xbc, 0xf0, 0xc3, 0x39, - 0xc1, 0xce, 0xab, 0x7a, 0x4a, 0x78, 0x55, 0xf8, 0xc2, 0x72, 0x7f, 0x61, 0x41, 0xf3, 0x9a, 0x03, - 0xa9, 0x7d, 0x4a, 0xe3, 0x90, 0xe8, 0x13, 0x94, 0x60, 0xdb, 0x50, 0xea, 0x12, 0x31, 0xd4, 0xcd, - 0x8b, 0xcf, 0xd2, 0xd3, 0xfe, 0xfb, 0x58, 0xb7, 0xad, 0x7c, 0xb4, 0x5d, 0x68, 0xd0, 0xfe, 0x40, - 0x1e, 0x35, 0x88, 0xe6, 0x2c, 0xd0, 0x3d, 0x9b, 0xc3, 0x64, 0xfb, 0xd0, 0xfe, 0x60, 0xd7, 0x0f, - 0xc6, 0x64, 0x2f, 0x9a, 0xb3, 0x18, 0xdb, 0xb6, 0xea, 0xe5, 0x41, 0xf7, 0x0f, 0x05, 0xa8, 0x1d, - 0xe2, 0x45, 0x90, 0x9c, 0x1c, 0x58, 0x3b, 0xd4, 0x97, 0x44, 0xb1, 0x4a, 0x44, 0x59, 0x6e, 0x7c, - 0xc4, 0x7e, 0x55, 0xe4, 0x32, 0x40, 0xf2, 0x79, 0x13, 0xc5, 0x74, 0x44, 0x87, 0x38, 0xba, 0x35, - 0xd5, 0x1c, 0x26, 0x75, 0x8e, 0x58, 0xcc, 0xa3, 0x60, 0x3e, 0x44, 0x1d, 0xcd, 0xd9, 0xc4, 0xa4, - 0x7f, 0xec, 0x6b, 0x1e, 0xea, 0x4b, 0x96, 0x88, 0xf6, 0xb7, 0xa0, 0xdc, 0x7f, 0xc7, 0x08, 0xc7, - 0x5b, 0x55, 0xdf, 0xfa, 0x6a, 0xae, 0x76, 0x27, 0xf3, 0xf3, 0x90, 0x0e, 0xe5, 0x34, 0xc2, 0xd2, - 0x29, 0x4d, 0xd9, 0x55, 0x7b, 0x59, 0x57, 0xc9, 0x3b, 0x56, 0xf2, 0x0c, 0x44, 0x76, 0x7f, 0x8f, - 0x4c, 0xcf, 0x09, 0x57, 0xe9, 0x91, 0xb7, 0xeb, 0x91, 0x67, 0x42, 0x49, 0xe2, 0x6b, 0x69, 0xe2, - 0xdd, 0x9f, 0x17, 0xe0, 0x09, 0x86, 0xad, 0xd4, 0x0e, 0xe6, 0x61, 0x78, 0x47, 0xe2, 0x9e, 0x43, - 0xe5, 0x4c, 0xbd, 0x31, 0xf5, 0x3c, 0x52, 0x92, 0xbd, 0x09, 0x76, 0x27, 0x98, 0x52, 0x46, 0x45, - 0xcc, 0xfd, 0x38, 0xe2, 0xc7, 0x64, 0x41, 0x42, 0x4c, 0x5c, 0xd9, 0xbb, 0xe1, 0x17, 0x79, 0x7f, - 0x7e, 0x14, 0x51, 0x86, 0xb1, 0x94, 0x30, 0x96, 0x54, 0x96, 0xbf, 0xa5, 0xb3, 0x44, 0xe5, 0x2d, - 0x95, 0xcd, 0x94, 0x56, 0xf2, 0x29, 0x75, 0xa1, 0x71, 0xc0, 0x29, 0x61, 0x81, 0x47, 0xa6, 0x3e, - 0x9f, 0xe8, 0x29, 0x94, 0xc3, 0xe4, 0xac, 0xea, 0xcc, 0x66, 0x3d, 0x9f, 0x8d, 0x89, 0x66, 0x58, - 0x45, 0x86, 0xd7, 0x50, 0xf7, 0x2f, 0x16, 0x54, 0x93, 0xfc, 0x1b, 0x21, 0x5b, 0xb9, 0x90, 0x35, - 0x4d, 0x96, 0xb5, 0x50, 0x2a, 0x9b, 0x34, 0x8b, 0x79, 0x9a, 0xcf, 0xa1, 0x72, 0x88, 0x13, 0x0f, - 0xc3, 0x2e, 0x7b, 0x5a, 0x92, 0x78, 0x2f, 0x3a, 0xa7, 0x61, 0x12, 0xb2, 0x96, 0xe4, 0xbd, 0xda, - 0xa5, 0x3c, 0xbe, 0xd0, 0xe1, 0x2a, 0x41, 0xa2, 0xfb, 0x53, 0x9f, 0x86, 0x3a, 0x4a, 0x25, 0x24, - 0x05, 0xae, 0x66, 0x05, 0x5e, 0xc8, 0x95, 0xc7, 0xec, 0xa6, 0x8f, 0x13, 0x8d, 0xdb, 0x85, 0xea, - 0x29, 0x9d, 0x89, 0xbd, 0x68, 0x3a, 0x95, 0x3a, 0x5d, 0x12, 0x4b, 0xb2, 0x16, 0xce, 0x5c, 0x2d, - 0xc9, 0x86, 0xed, 0x92, 0x91, 0x3f, 0x0f, 0x63, 0xa9, 0x9a, 0xbc, 0x3c, 0x0d, 0xc8, 0xfd, 0x9d, - 0x05, 0x4d, 0xd5, 0x99, 0xfb, 0x2c, 0x26, 0x5c, 0x62, 0xf6, 0x67, 0x50, 0xc6, 0x5e, 0xc4, 0xc3, - 0xea, 0x5b, 0xcf, 0xf3, 0x6b, 0x48, 0x72, 0xf5, 0x3d, 0xa5, 0x64, 0xef, 0x42, 0x5d, 0x8e, 0x37, - 0x9f, 0xc5, 0x32, 0x4c, 0xf4, 0x51, 0xdf, 0x6a, 0x2d, 0xdb, 0xe4, 0xfb, 0xdf, 0x33, 0x8d, 0xe4, - 0xe4, 0xe9, 0x27, 0x5b, 0x5c, 0xfa, 0x1e, 0x2f, 0x79, 0x79, 0xd0, 0xfd, 0x6d, 0xca, 0xf5, 0x98, - 0xf8, 0x0b, 0xf2, 0x00, 0xae, 0xaf, 0x01, 0xd0, 0x94, 0xdf, 0x8b, 0xaa, 0x61, 0xb3, 0x22, 0xd3, - 0x7f, 0x58, 0xf0, 0x58, 0x1d, 0x72, 0xc4, 0x16, 0x34, 0x26, 0xc1, 0x03, 0xb8, 0x7e, 0x01, 0x95, - 0xfe, 0xec, 0x5e, 0x3c, 0xb5, 0xbe, 0xac, 0x88, 0x76, 0x8b, 0xe6, 0xc5, 0x55, 0x2b, 0x62, 0x18, - 0x2d, 0xc7, 0x59, 0xba, 0x29, 0xce, 0xbf, 0x59, 0xb0, 0xa1, 0x4e, 0xf9, 0x31, 0x1d, 0x4e, 0x3e, - 0x72, 0x98, 0xaf, 0x01, 0x94, 0xd7, 0x7b, 0x45, 0x69, 0xd8, 0xac, 0x18, 0xe4, 0xbf, 0x2d, 0x78, - 0x96, 0x14, 0x73, 0x14, 0xed, 0x5d, 0xc8, 0x21, 0xa6, 0x22, 0x95, 0xef, 0x0b, 0x14, 0x71, 0x19, - 0x52, 0x1f, 0x17, 0x06, 0xf2, 0x7f, 0xc4, 0xf6, 0x7d, 0xa8, 0x1d, 0x50, 0xe6, 0x23, 0xb8, 0x72, - 0x68, 0x99, 0x89, 0x1c, 0x35, 0xbd, 0xb9, 0x7e, 0x8f, 0xe9, 0xd9, 0x9f, 0xc8, 0x59, 0x7d, 0xca, - 0x2b, 0xd4, 0xc7, 0xfd, 0xbb, 0x05, 0x1b, 0xf8, 0xa4, 0xde, 0x83, 0x0f, 0x29, 0xf1, 0x2b, 0x58, - 0x43, 0xe3, 0x68, 0xf5, 0x3c, 0x24, 0x06, 0xb2, 0xc8, 0xfa, 0xca, 0x27, 0x5f, 0x9b, 0x2b, 0x15, - 0x39, 0xb3, 0x59, 0xb1, 0xc8, 0xbf, 0xb2, 0xe0, 0x69, 0x4a, 0xdc, 0xac, 0xb1, 0xfc, 0xfe, 0xd0, - 0x62, 0x56, 0x64, 0x13, 0xca, 0x92, 0x51, 0xb8, 0x5f, 0xbf, 0x17, 0xef, 0xd7, 0x13, 0xee, 0x2f, - 0x2d, 0x78, 0xe1, 0x91, 0x21, 0xa1, 0x0b, 0x22, 0xdf, 0xe3, 0x9d, 0xd9, 0x2c, 0xd4, 0x9b, 0xd2, - 0x03, 0x6a, 0xb2, 0x03, 0x35, 0x7d, 0x00, 0x8b, 0x35, 0xf1, 0x5b, 0x37, 0xa4, 0x4c, 0x5b, 0xbe, - 0x6c, 0x3c, 0xe2, 0x8b, 0x74, 0x69, 0xd3, 0x92, 0xfb, 0x27, 0x0b, 0x1c, 0x83, 0xd4, 0x09, 0x8f, - 0x86, 0x44, 0x88, 0x8f, 0x3c, 0x14, 0x90, 0x9c, 0x98, 0x87, 0xb1, 0x5e, 0x8c, 0xb4, 0x64, 0x90, - 0x2e, 0xe5, 0x48, 0xff, 0xd1, 0x02, 0x50, 0xfb, 0x0b, 0xde, 0x9b, 0x6d, 0xa8, 0xe1, 0x2a, 0x88, - 0xbe, 0x15, 0xd5, 0x67, 0x39, 0xdf, 0x59, 0x42, 0x52, 0x3d, 0x75, 0x36, 0x2e, 0x44, 0x85, 0xe4, - 0x6c, 0x5c, 0x85, 0xf2, 0xeb, 0x64, 0x71, 0x69, 0x9d, 0xfc, 0x76, 0xe2, 0x1a, 0xbd, 0x95, 0x6e, - 0xf3, 0x66, 0x28, 0xba, 0x13, 0x78, 0xac, 0x24, 0x23, 0xd9, 0x72, 0x7f, 0xe8, 0x04, 0xea, 0x5b, - 0xc9, 0x42, 0x47, 0x89, 0x28, 0xf7, 0xf0, 0x4e, 0x10, 0x0c, 0xa2, 0x39, 0x1f, 0xa6, 0x7b, 0x78, - 0x0a, 0x48, 0x8e, 0x9d, 0x20, 0xf8, 0x49, 0xc4, 0x03, 0xca, 0xc6, 0xba, 0xa0, 0x06, 0xe2, 0xfe, - 0xd3, 0x82, 0x17, 0x4b, 0xde, 0x3a, 0x41, 0xa0, 0xcb, 0xba, 0x9d, 0x16, 0xca, 0xba, 0xbb, 0x87, - 0xb2, 0xc1, 0x5d, 0x37, 0x0e, 0xd3, 0x25, 0x7e, 0x99, 0xb3, 0x5c, 0x72, 0xe9, 0x99, 0x26, 0xf6, - 0x77, 0xa0, 0xda, 0x9f, 0xe5, 0x06, 0xff, 0xad, 0x8e, 0x53, 0xe5, 0x15, 0x87, 0xc1, 0x5f, 0x2d, - 0x78, 0xb9, 0xc4, 0x20, 0xdf, 0xcf, 0x0f, 0x0a, 0xdc, 0xa4, 0x5d, 0xb8, 0x0f, 0x6d, 0xfc, 0x13, - 0x85, 0xd9, 0xd5, 0x4a, 0x5a, 0x31, 0x9c, 0x0b, 0x68, 0xea, 0x68, 0xd2, 0xba, 0x7d, 0x0e, 0x15, - 0x05, 0x69, 0xfa, 0x9f, 0xdc, 0x90, 0x7d, 0x45, 0x5d, 0x3d, 0x2f, 0x7b, 0x2a, 0xdc, 0xe4, 0xe9, - 0xa7, 0x49, 0x6b, 0x76, 0x49, 0x48, 0xe2, 0x0f, 0xeb, 0xeb, 0xd7, 0x16, 0xd4, 0x76, 0x43, 0x7f, - 0x38, 0xc1, 0x8b, 0xbb, 0xb3, 0x7c, 0x71, 0x6f, 0x9f, 0x67, 0xd9, 0xf5, 0xbd, 0xeb, 0x9a, 0xee, - 0x68, 0x3f, 0xc6, 0x2d, 0xbd, 0xfd, 0xe8, 0x54, 0xdb, 0x0d, 0x60, 0x1d, 0x85, 0x2c, 0xf1, 0x9f, - 0x41, 0x19, 0x91, 0x1b, 0xe7, 0x60, 0x1a, 0x8e, 0xa7, 0x94, 0x56, 0xcc, 0xc4, 0x08, 0x36, 0x50, - 0xdd, 0x4c, 0xfa, 0x87, 0xf0, 0xf3, 0x1b, 0x0b, 0x9e, 0x65, 0xe5, 0x32, 0x5f, 0x92, 0xf7, 0x2e, - 0xf1, 0xf6, 0xb5, 0x01, 0xbf, 0xd2, 0xf5, 0x59, 0x6d, 0xf7, 0xfe, 0xbd, 0x05, 0x4f, 0x06, 0x24, - 0x1c, 0x49, 0xd3, 0xb3, 0x59, 0x90, 0xee, 0x2c, 0x3b, 0xd0, 0x90, 0x70, 0x72, 0xea, 0xed, 0xd3, - 0x3d, 0xa7, 0xfa, 0x01, 0xd9, 0x9e, 0x57, 0xf0, 0x5f, 0x16, 0xdb, 0xff, 0x0d, 0x00, 0x00, 0xff, - 0xff, 0x73, 0x31, 0x8b, 0x68, 0xc5, 0x18, 0x00, 0x00, +func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_1ed69884ac12b8b9) } + +var fileDescriptor_ws_1ed69884ac12b8b9 = []byte{ + // 1703 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x58, 0x4f, 0x6f, 0x23, 0x4b, + 0x11, 0xd7, 0xf8, 0x5f, 0xec, 0x72, 0x36, 0xce, 0xce, 0xfe, 0x79, 0xc3, 0xf2, 0xb4, 0x32, 0x23, + 0x84, 0x2c, 0x04, 0x79, 0x22, 0x2b, 0xa4, 0xc7, 0xa2, 0x07, 0x38, 0x71, 0x92, 0x97, 0x65, 0xbd, + 0x0e, 0xe3, 0x2c, 0x1c, 0x38, 0x44, 0x13, 0x4f, 0xdb, 0x19, 0x79, 0xa6, 0xc7, 0xe9, 0x1e, 0x67, + 0x37, 0x17, 0xbe, 0x05, 0xe2, 0x80, 0x90, 0xb8, 0x21, 0x24, 0x0e, 0x88, 0x03, 0x1f, 0x81, 0x4f, + 0xc2, 0x09, 0x89, 0x13, 0x47, 0x38, 0xa0, 0xaa, 0xee, 0x19, 0xf7, 0xd8, 0x79, 0xd9, 0x24, 0xbb, + 0xda, 0xcb, 0xbb, 0x4d, 0xfd, 0x5c, 0x5d, 0xf5, 0xab, 0x3f, 0x5d, 0x5d, 0x09, 0xb4, 0x64, 0x30, + 0x3d, 0x79, 0x23, 0x3f, 0x7b, 0x23, 0xb7, 0x66, 0x22, 0x49, 0x13, 0xbb, 0x99, 0xcc, 0x18, 0x3f, + 0x09, 0xe3, 0x13, 0x19, 0x4c, 0xdd, 0xff, 0x59, 0xe0, 0x1c, 0xcd, 0xa3, 0xa8, 0xcf, 0xa4, 0xf4, + 0x27, 0x6c, 0xe7, 0x72, 0xc8, 0xce, 0x5f, 0x86, 0x32, 0xf5, 0x98, 0x9c, 0xd9, 0x0e, 0xac, 0x31, + 0x21, 0x76, 0x93, 0x80, 0x39, 0x56, 0xdb, 0xea, 0x54, 0xbd, 0x4c, 0xb4, 0x1f, 0x43, 0x8d, 0x09, + 0xd1, 0x97, 0x13, 0xa7, 0xd4, 0xb6, 0x3a, 0x0d, 0x4f, 0x4b, 0x88, 0xc7, 0xfe, 0xdb, 0x21, 0x3b, + 0x77, 0xca, 0x6d, 0xab, 0x53, 0xf6, 0xb4, 0x44, 0x78, 0xc8, 0x11, 0xaf, 0x68, 0x9c, 0x24, 0xfb, + 0xa7, 0x70, 0x4f, 0x86, 0x7c, 0x12, 0xb1, 0xd7, 0x92, 0x91, 0xb9, 0x6a, 0xbb, 0xdc, 0x69, 0x6e, + 0x7f, 0x63, 0xcb, 0xe0, 0xb8, 0x75, 0xe0, 0xa7, 0x67, 0x4c, 0xec, 0x27, 0x22, 0xf6, 0x53, 0xaf, + 0xa8, 0x6f, 0x7f, 0x01, 0xeb, 0x13, 0x91, 0xcc, 0x67, 0xd9, 0xf9, 0xda, 0xbb, 0xce, 0x17, 0xd4, + 0xdd, 0x18, 0x3e, 0xb9, 0x3a, 0x7a, 0xa2, 0x3c, 0x97, 0x4c, 0x1c, 0xf6, 0x28, 0xf6, 0x86, 0xa7, + 0x25, 0xbb, 0x0d, 0x98, 0x40, 0xe1, 0xa7, 0x61, 0xc2, 0x0f, 0x7b, 0x3a, 0x7e, 0x13, 0xc2, 0xb4, + 0x49, 0x65, 0xc7, 0x29, 0xb7, 0xcb, 0x9d, 0xb2, 0x97, 0x89, 0xee, 0x6f, 0x60, 0xc3, 0x70, 0x77, + 0x9d, 0x97, 0x27, 0x50, 0x97, 0xec, 0x7c, 0x87, 0x4d, 0x42, 0x4e, 0x2e, 0xca, 0x5e, 0x2e, 0xe3, + 0x19, 0xc9, 0xce, 0xf7, 0x78, 0x90, 0x25, 0x59, 0x49, 0xcb, 0xcc, 0x2a, 0x2b, 0xcc, 0xdc, 0xff, + 0x58, 0xd0, 0x2a, 0x10, 0xf8, 0x5a, 0x14, 0xf9, 0x21, 0xd8, 0x07, 0x2c, 0xed, 0xfb, 0x6f, 0xbb, + 0x3c, 0xe8, 0x13, 0x25, 0x8f, 0x9d, 0xbb, 0x7b, 0xf0, 0x60, 0x05, 0x95, 0x33, 0x23, 0x38, 0xeb, + 0x2b, 0x82, 0x2b, 0x99, 0xc1, 0xb9, 0x5f, 0xc2, 0xba, 0xe9, 0xda, 0xde, 0x80, 0x52, 0x18, 0xe8, + 0x62, 0x96, 0xc2, 0xc0, 0xee, 0x40, 0x25, 0xc2, 0x4e, 0x28, 0x11, 0xe7, 0x87, 0x05, 0xce, 0x7d, + 0x39, 0xe9, 0xf9, 0xa9, 0xef, 0x91, 0x86, 0x7b, 0x0e, 0x2d, 0x64, 0x3c, 0x64, 0x3c, 0xe8, 0xcb, + 0x09, 0x91, 0x69, 0x43, 0x73, 0xc8, 0xc4, 0x05, 0x85, 0x91, 0xb7, 0x88, 0x09, 0xa1, 0xc6, 0x6e, + 0x14, 0x32, 0x9e, 0x2a, 0x0d, 0xdd, 0x8d, 0x06, 0xa4, 0x3a, 0x89, 0x07, 0xc7, 0x61, 0xcc, 0x74, + 0xbd, 0x72, 0xd9, 0xfd, 0x7b, 0x15, 0xd6, 0x34, 0x09, 0xd5, 0x55, 0x3c, 0x58, 0x74, 0xa2, 0x92, + 0x10, 0x17, 0x6c, 0x74, 0x91, 0x1b, 0xd7, 0x12, 0xf6, 0x0d, 0x65, 0xf9, 0xb0, 0x47, 0x66, 0x1b, + 0x5e, 0x26, 0x22, 0xa7, 0x91, 0xc1, 0x49, 0xf7, 0xa1, 0x01, 0xa1, 0x86, 0x34, 0xe2, 0xaa, 0x2a, + 0x0d, 0x03, 0xb2, 0xbf, 0x0b, 0x9b, 0xe8, 0x9f, 0x89, 0xa3, 0xc8, 0x4f, 0xc7, 0x89, 0x88, 0x0f, + 0x7b, 0x4e, 0x8d, 0xda, 0x73, 0x05, 0xb7, 0xbf, 0x03, 0x1b, 0x0a, 0x7b, 0x15, 0x8e, 0xa6, 0xaf, + 0xfc, 0x98, 0x39, 0x6b, 0x64, 0x70, 0x09, 0xb5, 0xbf, 0x0d, 0xf7, 0x14, 0xb2, 0xef, 0x8f, 0xd8, + 0x6b, 0xef, 0xa5, 0x53, 0x27, 0xb5, 0x22, 0xa8, 0xb8, 0x49, 0x19, 0x26, 0xfc, 0xf8, 0x72, 0xc6, + 0x9c, 0x06, 0x39, 0x35, 0x21, 0x8c, 0x3c, 0x96, 0x93, 0x7d, 0x91, 0xc4, 0x0e, 0xa8, 0x1b, 0xa3, + 0x45, 0x8a, 0x3c, 0xe1, 0x29, 0xe3, 0x29, 0x9d, 0x6d, 0xaa, 0xb3, 0x06, 0x84, 0x67, 0xb5, 0xe8, + 0xac, 0xb7, 0xad, 0xce, 0xba, 0x97, 0x89, 0xf6, 0xa7, 0xd0, 0x18, 0x27, 0x62, 0xc4, 0x68, 0x6e, + 0xdc, 0x6b, 0x97, 0x3b, 0x0d, 0x6f, 0x01, 0xd8, 0x9b, 0x50, 0x96, 0xec, 0xdc, 0xd9, 0xa0, 0x02, + 0xe2, 0x67, 0xa1, 0xae, 0xad, 0x62, 0x5d, 0xed, 0xa7, 0x00, 0x23, 0xc1, 0xfc, 0x94, 0xd1, 0xaf, + 0x9b, 0xf4, 0xab, 0x81, 0xd8, 0x3f, 0x86, 0xb5, 0xc1, 0x0c, 0x67, 0x82, 0x74, 0xee, 0x53, 0x5f, + 0x7e, 0xeb, 0xaa, 0xbe, 0xdc, 0xd2, 0x3a, 0x7b, 0x3c, 0x15, 0x97, 0x5e, 0x76, 0xc2, 0xde, 0x87, + 0x56, 0x32, 0x1e, 0x47, 0x21, 0x67, 0x47, 0x73, 0x79, 0x76, 0xc8, 0xc7, 0x89, 0x63, 0xb7, 0xad, + 0x4e, 0x73, 0xfb, 0xd3, 0x82, 0x91, 0x41, 0x51, 0xc7, 0x5b, 0x3e, 0xf4, 0xe4, 0x39, 0xac, 0x9b, + 0x0e, 0x30, 0xc4, 0x29, 0xbb, 0xd4, 0xdd, 0x87, 0x9f, 0xf6, 0x43, 0xa8, 0x5e, 0xf8, 0xd1, 0x9c, + 0x51, 0xe7, 0xd5, 0x3d, 0x25, 0x3c, 0x2f, 0x7d, 0x6e, 0xb9, 0xbf, 0xb3, 0xa0, 0xb5, 0xe4, 0x00, + 0xb5, 0x8f, 0xc3, 0x34, 0x62, 0xda, 0x82, 0x12, 0x6c, 0x1b, 0x2a, 0x3d, 0x26, 0x47, 0xba, 0x79, + 0xe9, 0x1b, 0x3d, 0xed, 0xbd, 0x4d, 0x75, 0xdb, 0xe2, 0xa7, 0xed, 0xc2, 0x7a, 0x38, 0x18, 0xa2, + 0xa9, 0x61, 0x32, 0xe7, 0x81, 0xee, 0xd9, 0x02, 0x86, 0xed, 0x13, 0x0e, 0x86, 0x3b, 0x7e, 0x30, + 0x61, 0xbb, 0xc9, 0x9c, 0xa7, 0xd4, 0xb6, 0x75, 0xaf, 0x08, 0xba, 0x7f, 0x29, 0x41, 0xe3, 0x80, + 0x2e, 0x02, 0x72, 0x72, 0x60, 0xed, 0x40, 0x5f, 0x12, 0xc5, 0x2a, 0x13, 0xb1, 0xdc, 0xf4, 0x49, + 0xfd, 0xaa, 0xc8, 0x2d, 0x00, 0xe4, 0xf3, 0x2a, 0x49, 0xc3, 0x71, 0x38, 0xa2, 0xd1, 0xad, 0xa9, + 0x16, 0x30, 0xd4, 0x39, 0xe4, 0xa9, 0x48, 0x82, 0xf9, 0x88, 0x74, 0x34, 0x67, 0x13, 0x43, 0xff, + 0xd4, 0xd7, 0x22, 0xd2, 0x97, 0x2c, 0x13, 0xed, 0x1f, 0x40, 0x75, 0xf0, 0x86, 0x33, 0x41, 0xb7, + 0xaa, 0xb9, 0xfd, 0xcd, 0x42, 0xed, 0x8e, 0xe6, 0xa7, 0x51, 0x38, 0xc2, 0x69, 0x44, 0xa5, 0x53, + 0x9a, 0xd8, 0x55, 0xbb, 0x8b, 0xae, 0xc2, 0x3b, 0x56, 0xf1, 0x0c, 0x04, 0xbb, 0xbf, 0xcf, 0xe2, + 0x53, 0x26, 0x54, 0x7a, 0xf0, 0x76, 0xdd, 0xf3, 0x4c, 0x28, 0x4b, 0x7c, 0x23, 0x4f, 0xbc, 0xfb, + 0xdb, 0x12, 0x3c, 0xa0, 0xb0, 0x95, 0xda, 0xfe, 0x3c, 0x8a, 0xde, 0x91, 0xb8, 0xc7, 0x50, 0x7b, + 0xad, 0x5e, 0x4c, 0x3d, 0x8f, 0x94, 0x64, 0x6f, 0x81, 0xdd, 0x0d, 0xe2, 0x90, 0x87, 0x32, 0x15, + 0x7e, 0x9a, 0x88, 0x97, 0xec, 0x82, 0x45, 0x94, 0xb8, 0xaa, 0x77, 0xc5, 0x2f, 0x78, 0x7f, 0x5e, + 0x24, 0x21, 0xa7, 0x58, 0x2a, 0x14, 0x4b, 0x2e, 0xe3, 0x6f, 0xf9, 0x2c, 0x51, 0x79, 0xcb, 0x65, + 0x33, 0xa5, 0xb5, 0x62, 0x4a, 0x5d, 0x58, 0xdf, 0x17, 0x21, 0xe3, 0x81, 0xc7, 0x62, 0x5f, 0x4c, + 0xf5, 0x14, 0x2a, 0x60, 0x38, 0xab, 0xba, 0xb3, 0x59, 0xdf, 0xe7, 0x13, 0xa6, 0x19, 0xd6, 0x89, + 0xe1, 0x12, 0xea, 0xfe, 0xc3, 0x82, 0x7a, 0x96, 0x7f, 0x23, 0x64, 0xab, 0x10, 0xb2, 0xa6, 0xc9, + 0x17, 0x2d, 0x94, 0xcb, 0x26, 0xcd, 0x72, 0x91, 0xe6, 0x63, 0xa8, 0x1d, 0xd0, 0xc4, 0xa3, 0xb0, + 0xab, 0x9e, 0x96, 0x10, 0xef, 0x27, 0xa7, 0x61, 0x94, 0x85, 0xac, 0x25, 0xbc, 0x57, 0x3b, 0xa1, + 0x48, 0xcf, 0x74, 0xb8, 0x4a, 0x40, 0x74, 0x2f, 0xf6, 0xc3, 0x48, 0x47, 0xa9, 0x84, 0xac, 0xc0, + 0xf5, 0x45, 0x81, 0x2f, 0x70, 0xe5, 0x31, 0xbb, 0xe9, 0xe3, 0x44, 0xe3, 0xf6, 0xa0, 0x7e, 0x1c, + 0xce, 0xe4, 0x6e, 0x12, 0xc7, 0xa8, 0xd3, 0x63, 0x29, 0x92, 0xb5, 0x68, 0xe6, 0x6a, 0x09, 0x1b, + 0xb6, 0xc7, 0xc6, 0xfe, 0x3c, 0x4a, 0x51, 0x35, 0x7b, 0x3c, 0x0d, 0xc8, 0xfd, 0xb3, 0x05, 0x2d, + 0xd5, 0x99, 0x7b, 0x3c, 0x65, 0x02, 0x31, 0xfb, 0x7b, 0x50, 0xa5, 0x5e, 0x24, 0x63, 0xcd, 0xed, + 0xc7, 0xc5, 0x35, 0x24, 0xbb, 0xfa, 0x9e, 0x52, 0xb2, 0x77, 0xa0, 0x89, 0xe3, 0xcd, 0xe7, 0x29, + 0x86, 0x49, 0x3e, 0x9a, 0xdb, 0xed, 0xd5, 0x33, 0xc5, 0xfe, 0xf7, 0xcc, 0x43, 0x38, 0x79, 0x06, + 0xd9, 0x16, 0x97, 0xbf, 0xe3, 0x15, 0xaf, 0x08, 0xba, 0x7f, 0xca, 0xb9, 0xbe, 0x64, 0xfe, 0x05, + 0xbb, 0x03, 0xd7, 0x9f, 0x01, 0xd0, 0x51, 0x71, 0x2b, 0xaa, 0xc6, 0x99, 0x1b, 0x32, 0xfd, 0xb7, + 0x05, 0xf7, 0x95, 0x91, 0x43, 0x7e, 0x11, 0xa6, 0x2c, 0xb8, 0x03, 0xd7, 0xcf, 0xa1, 0x36, 0x98, + 0xdd, 0x8a, 0xa7, 0xd6, 0xb7, 0x5f, 0x40, 0x4b, 0xbb, 0x45, 0x31, 0x5f, 0xd3, 0x6f, 0x62, 0x62, + 0xf9, 0xe0, 0x6a, 0xbc, 0x95, 0xab, 0xe2, 0xfd, 0x97, 0x05, 0x9b, 0xca, 0xd2, 0xcf, 0xc3, 0xd1, + 0xf4, 0x23, 0x87, 0xfb, 0x25, 0x6c, 0x28, 0xaf, 0xb7, 0x8e, 0x76, 0xe9, 0xdc, 0x0d, 0x83, 0xfd, + 0xaf, 0x05, 0x8f, 0xb2, 0xe2, 0x8e, 0x93, 0xdd, 0x33, 0x1c, 0x6a, 0x2a, 0x62, 0x7c, 0x3f, 0x48, + 0xa4, 0xe5, 0x48, 0xfd, 0xb1, 0x61, 0x20, 0xef, 0x11, 0xe3, 0x4f, 0xa0, 0xb1, 0x1f, 0x72, 0x9f, + 0x40, 0x6a, 0xb9, 0x9b, 0x1c, 0x5e, 0x1c, 0xc1, 0xd1, 0xd3, 0x9f, 0xeb, 0x77, 0x4d, 0xbf, 0x05, + 0x99, 0xbc, 0xa8, 0x53, 0xf5, 0x06, 0x75, 0x72, 0xff, 0x69, 0xc1, 0x26, 0x7d, 0xa9, 0x77, 0xf1, + 0x2e, 0xa5, 0x7e, 0x0e, 0x6b, 0x74, 0x38, 0xb9, 0x79, 0x1e, 0xb2, 0x03, 0x78, 0x83, 0xf5, 0x08, + 0xb8, 0x4d, 0xa1, 0x8d, 0x33, 0x37, 0x2c, 0xf2, 0x1f, 0x2d, 0x78, 0x98, 0x13, 0x37, 0x6b, 0x8c, + 0x7f, 0x8f, 0x68, 0x71, 0x51, 0x64, 0x13, 0x5a, 0x24, 0xa3, 0x74, 0xbb, 0xbe, 0x2f, 0xdf, 0xae, + 0x27, 0xdc, 0xdf, 0x5b, 0xe0, 0xe0, 0x83, 0x4e, 0x3a, 0xdd, 0xd9, 0x2c, 0xd2, 0x7b, 0xd3, 0x1d, + 0x2a, 0xf2, 0x23, 0x68, 0x68, 0x03, 0x3c, 0xd5, 0xb4, 0xaf, 0xdd, 0x97, 0x16, 0xda, 0xf8, 0xf4, + 0x78, 0xcc, 0x97, 0xf9, 0x0a, 0xa7, 0x25, 0xf7, 0x6f, 0x16, 0x38, 0x06, 0xa9, 0x23, 0x91, 0x8c, + 0x98, 0x94, 0x1f, 0x79, 0x34, 0x10, 0x39, 0x39, 0x8f, 0x52, 0xbd, 0x26, 0x69, 0xc9, 0x20, 0x5d, + 0x29, 0x90, 0xfe, 0xab, 0x05, 0xa0, 0xb6, 0x19, 0xba, 0x35, 0xcf, 0xa0, 0x41, 0x8b, 0x21, 0xf9, + 0x56, 0x54, 0x1f, 0x15, 0x7c, 0x2f, 0x12, 0x92, 0xeb, 0x29, 0xdb, 0xb4, 0x1e, 0x95, 0x32, 0xdb, + 0xb4, 0x18, 0x15, 0x97, 0xcb, 0xf2, 0xca, 0x72, 0xf9, 0xc3, 0xcc, 0x35, 0x79, 0xab, 0x5c, 0xe7, + 0xcd, 0x50, 0x74, 0xa7, 0x70, 0x5f, 0x49, 0x46, 0xb2, 0x71, 0x9b, 0xe8, 0x06, 0xea, 0x2f, 0x27, + 0x8b, 0x1c, 0x65, 0x22, 0x6e, 0xe5, 0xdd, 0x20, 0x18, 0x26, 0x73, 0x31, 0xca, 0xb7, 0xf2, 0x1c, + 0x40, 0x8e, 0xdd, 0x20, 0xf8, 0x55, 0x22, 0x82, 0x90, 0x4f, 0x74, 0x41, 0x0d, 0xc4, 0x7d, 0x81, + 0x0b, 0x60, 0x12, 0x1f, 0x27, 0x7a, 0xa3, 0x79, 0x8a, 0x9c, 0x93, 0xb8, 0xb0, 0xed, 0x18, 0x08, + 0x8e, 0x9d, 0x4c, 0x37, 0xdb, 0x78, 0x32, 0xd9, 0xfd, 0x35, 0x3c, 0x59, 0x21, 0xde, 0x0d, 0x02, + 0xdd, 0x21, 0x5f, 0x14, 0x3d, 0xe9, 0xec, 0x17, 0xff, 0x23, 0x62, 0x2a, 0x78, 0x05, 0x75, 0xf7, + 0x04, 0x9e, 0xae, 0x18, 0x2f, 0xb6, 0xe0, 0x7b, 0x3a, 0xf8, 0x83, 0x05, 0x2d, 0xed, 0x21, 0xe7, + 0xfc, 0x19, 0xd4, 0x14, 0xa4, 0x8d, 0x7d, 0xb2, 0x64, 0x2c, 0xeb, 0x2b, 0x4f, 0xab, 0xad, 0x8e, + 0xa2, 0xd2, 0x15, 0xa3, 0xc8, 0x7e, 0xb6, 0x34, 0x21, 0xae, 0xbd, 0x99, 0xd9, 0x70, 0xf0, 0xb2, + 0xb6, 0xe8, 0xb1, 0x88, 0xa5, 0x1f, 0x26, 0xe6, 0x01, 0x6c, 0xec, 0x44, 0xfe, 0x68, 0xfa, 0xc1, + 0xaa, 0xf4, 0x0b, 0xd8, 0x24, 0x83, 0x1f, 0x90, 0xe3, 0x2f, 0xe1, 0xd1, 0x22, 0xd1, 0xe6, 0xdc, + 0x7e, 0x4f, 0xbb, 0xdf, 0x87, 0x07, 0x43, 0x16, 0x8d, 0xd1, 0xea, 0xeb, 0x59, 0x90, 0x3f, 0x7c, + 0x5f, 0xb1, 0xea, 0x9f, 0xd6, 0xe8, 0x3f, 0xd1, 0xcf, 0xfe, 0x1f, 0x00, 0x00, 0xff, 0xff, 0x45, + 0x62, 0x8c, 0xef, 0x9c, 0x16, 0x00, 0x00, } diff --git a/pkg/proto/sdk_ws/ws.proto b/pkg/proto/sdk_ws/ws.proto index 3a20f1fcbff046a9c6b7884e550adb3bdfda4fb6..7ef3d4d229d94ccd76b269372693f5fc5065925e 100644 --- a/pkg/proto/sdk_ws/ws.proto +++ b/pkg/proto/sdk_ws/ws.proto @@ -164,7 +164,6 @@ message MemberEnterTips{ uint64 OperationTime = 3; } - //Actively leave the group message MemberLeaveTips{ GroupInfo Group = 1; @@ -175,20 +174,19 @@ message MemberLeaveTips{ message MemberInvitedTips{ GroupInfo Group = 1; GroupMemberFullInfo OpUser = 2; - GroupMemberFullInfo InvitedUser = 3; + repeated GroupMemberFullInfo InvitedUserList = 3; uint64 OperationTime = 4; } message MemberKickedTips{ GroupInfo Group = 1; GroupMemberFullInfo OpUser = 2; - GroupMemberFullInfo KickedUser = 3; + repeated GroupMemberFullInfo KickedUserList = 3; uint64 OperationTime = 4; } - message MemberInfoChangedTips{ - int32 ChangeType = 1; //1:info changed; 2:mute + int32 ChangeType = 1; ///bitwise operators 0001:member info changed; 0010:mute ; GroupMemberFullInfo OpUser = 2; //who do this GroupMemberFullInfo FinalInfo = 3; // uint64 MuteTime = 4; @@ -203,12 +201,12 @@ message GroupCreatedTips{ } message GroupInfoChangedTips{ - int32 ChangedType = 1; //bitwise operators: 1:groupName; 10:Notification 100:Introduction; 1000:FaceUrl + int32 ChangedType = 1; //bitwise operators: 0001:groupName; 0010:Notification 0100:Introduction; 1000:FaceUrl GroupInfo Group = 2; GroupMemberFullInfo OpUser = 3; } -message ReceiveJoinApplicationTips{ +message JoinGroupApplicationTips{ GroupInfo Group = 1; PublicUserInfo Applicant = 2; string Reason = 3; @@ -235,56 +233,52 @@ message FriendApplication{ string AddWording = 3; } -//user1 add user2 +message FromToUserID{ + string FromUserID = 1; + string ToUserID = 2; +} + +//FromUserID apply to add ToUserID message FriendApplicationAddedTips{ - PublicUserInfo OpUser = 1; //user1 - FriendApplication Application = 2; - PublicUserInfo OpedUser = 3; //user2 - uint64 OperationTime = 4; + FromToUserID FromToUserID = 1; } -// user2 accept or reject +//FromUserID accept or reject ToUserID message FriendApplicationProcessedTips{ - PublicUserInfo OpUser = 1; //user2 - PublicUserInfo OpedUser = 2; //user1 - int32 result = 3; //1: accept; -1: reject - uint64 OperationTime = 4; + FromToUserID FromToUserID = 1; } +// FromUserID Added a friend ToUserID message FriendAddedTips{ FriendInfo Friend = 1; uint64 OperationTime = 2; + PublicUserInfo OpUser = 3; //who do this + } +// FromUserID deleted a friend ToUserID message FriendDeletedTips{ - FriendInfo Friend = 1; - uint64 OperationTime = 2; + FromToUserID FromToUserID = 1; } -message BlackInfo{ - PublicUserInfo OwnerUser = 1; - uint64 CreateTime = 3; - PublicUserInfo BlackUser = 4; -} +//message BlackInfo{ +// PublicUserInfo OwnerUser = 1; +// uint64 CreateTime = 3; +// PublicUserInfo BlackUser = 4; +//} message BlackAddedTips{ - BlackInfo Black = 1; - uint64 OperationTime = 2; + FromToUserID FromToUserID = 1; } message BlackDeletedTips{ - BlackInfo Black = 1; - uint64 OperationTime = 2; + FromToUserID FromToUserID = 1; } message FriendInfoChangedTips{ - FriendInfo Friend = 1; - PublicUserInfo OpUser = 2; - uint64 OperationTime = 3; + FromToUserID FromToUserID = 1; } //////////////////////user///////////////////// message SelfInfoUpdatedTips{ - UserInfo SelfUserInfo = 1; - PublicUserInfo OpUser = 2; - uint64 OperationTime = 3; + string UserID = 1; }